I just got out of my OS final. Overall, it wasn’t bad. By the end, I was at the point of just not caring anymore (perhaps not the best place to be, but meh). I mean, I have a job, and it’s not like getting a B or C in OS is going to make them retract their offer. I kinda BS’d the last problem (worth 1/5 of the final, but meh).
So yeah, with that, my undergrad is over. At this point, I don’t think there’s any possible way for me to fail, since I only had to pass one of my two classes this semester to graduate and I’ve basically already passed the other one (Pen-based computing, which doesn’t have a final).
I am strangely sad right now, seeing the parts of my life over the past 3.5 years scattered around the room in various boxes or suitcases.
I really don’t want to leave CMU.
I leave for home on Sunday.
I wish Sunday would never come.
Today was my last day of work at Viz. It was good… got the testing infrastructure started. Did as much as I could given I only had 8 hours to work on it. Managed to get it done after 5.5 (Wednesday plus some of today) and did some final bug fixing and integrating afterwards. Bid farewell to everyone.
Today was our P3 interview, which marked the end of our kernel project. His main criticism was that we used 5 locking primitives in our kernel (mutex, cond [condition variable], icond [internal condition variable], ENTER_CRIT/EXIT_CRIT, and disable_interrupts/enable_interrupts). He said this was indicative of “running away” from problems by creating more locking primitives than figuring out those problems. Yeah, sounds about right. He also found a potential deadlock in our kernel (that, at least, is very very unlikely) and a few problems with the scheduler. Also, one part of our kernel (a function that either copies to/from userspace/kernel space or vice versa depending on where the pointer you pass to it is) was called a 1337 hax and we were told that 1337 hax should be very well documented (whereas ours was lacking any documentation… oops). Also, we generally had bad quality/missing documentation in our kernel. Not surprising, given how we mostly did the documentation in the last 2 days.
Today was our pen-based computing presentation, which marks the end of the pen-based class and also of our adventure game mapping tool project. That went pretty well… we managed to implement all desired features and Carl and Edmund got saving/scrolling working at the last minute. Woo.
Also, today was our P4 late day. We went into it rather confused on why free was causing page faults left and right and wondering if it was a kernel issue. After about 5 hours of debugging (in addition to the debugging yesterday), as I read through the code because I was completely stumped, I discovered the lines:
fd_struct = (file_desc*)malloc(sizeof(fd_struct));
So yeah, the end of OS projects (and our ~7 hour debug issue) and of the semester of workdeath was a stupid typo bug. Whee.
Overall, it’s been a good semester. I think I’ve decided on a job (the one I kinda decided I wanted since the beginning), and I’ll send out the acceptance letter tomorrow (along side my last rejection letter).
I suppose I should update this, since I haven’t in a while and stuff has happened since Thanksgiving.
An Endeca interview happened. No offer, as expected. I suppose that’s just as well. Boston was mostly uneventful.
Some rejection letters happened… rejected three of the five offers I had. Two left to ponder over.
A P4 happened. I wrote the entire lab in about an hour. We’ve just now started debugging it, but it really shouldn’t take too long.
A work happened. I have a huge project for my final 3 days of work. I’m not going to get it anywhere near complete. I swear, my coworkers have way too much faith in me.
No one’s been available for portraits, and I haven’t shot any portraits in a semester… starting to feel this intense urge to shoot potraits again. People always seem to be too busy for me. I’m more torn than I thought I would be on my job offers, and one of them has an absolutely-final already-pushed-back-2-weeks-despite-corporate-policy deadline of tomorrow. I haven’t been doing well at ITG. I haven’t been fulfilling my commitments in Pen-based Computing (my group probably thinks I’m the world’s biggest slacker). Went out to try and shoot landscapes of the fresh snow, and that didn’t really work out either. The scroll wheel on my mouse is starting to go… I’m going to have to get used to using scrollbars again. Feeling incredibly inferior at photography after seeing some of the stuff submitted to the yearbook this year by people far more talented than I. No one is ever interested in my card games or anything.
On top of everything, I’m almost certainly leaving Pittsburgh forever in under 2 weeks, and that’s really starting to sink in. I’m not ready to go out on my own.
Snow piccar, because why the hell not:
Kernel was due Friday at midnight, and there was a floppy disk seminar (pizza!) immediately afterwards.
I felt really good about our kernel. We passed all the tests, including one of our own (cho_foo) that simultaneously ran the other 3 cho tests and (I believe) slaughtered some other tests as well.
8 wants to do a scheduler rewrite, so we took a late day, then another last night. I think I’m personally at the point where I don’t want to touch kernel code anymore until P4… as a result, I’m not being much help in the rewrite, but meh.
Next week is Thanksgiving and, for the first time since school has started, I have a place to go. It should be awesome and fun.
I find myself bored and wondering what I used to do with my free time now that the kernel is over.
I also find myself realizing that there is about a month left before I am done with college and have to go out and get a job. This scares me more than it should. Meh.
Also, friends are amazing.
Today was the bi-annual game of Capture the Flag with Stuff made more fun by the addition of a certain author of a certain webcomic.
So yeah, I guess it would be more accurate to say there was Capture the Flag with Randall Munroe.
Basically, he came to campus to give a talk and was invited to CtFwS, and stopped by and sat in the judges’ room and talked with people.
I got a photo of myself with him and also got him to sign a t-shirt for me. Awesome. The guy is absolutely brilliant.
I hope I didn’t annoy him too incredibly much with photos.
On the jobs front, in addition to the 5 offers, I completed a Google Pittsburgh interview today, am doing another second round phone interview with Apple sometime next week, and am flying out to Yahoo! for their final round after Thanksgiving. This is generally awesome and amazing. I dunno, I guess it’s still too early to think about jobs, since I need to get unstressed after kernel first, but I can say I’m definitely leaning certain ways.
On the kernel front, I’m feeling much better about things since my last entry. A bit after I wrote that entry, we managed to get wait and exit working, and started running tests… we pass enough basic tests to pass the kernel project, and we only need to pass one more solidity test (out of three unpassed) and one of the two cho tests to pass the kernel. This makes me feel much, much better about the entire thing, because the end is now in sight. Granted, there’s a ton of work to do between now and then (a scheduler rewrite, a shit-ton of race condition bugs to debug, and code to clean up and document), but at least I have some concrete way of showing that we’ve made progress, and that’s awesome.
So yeah, if anyone missed the links above…
Randall Munroe photos (from his talk and CtFwS afterwards)
Capture the Flag with Stuff photos from this semester’s game