Log in

No account? Create an account
swapcontext(&bloomington, &ithaca); - Lindsey Kuper [entries|archive|friends|userinfo]
Lindsey Kuper

[ website | composition.al ]
[ userinfo | livejournal userinfo ]
[ archive | journal archive ]

swapcontext(&bloomington, &ithaca); [Jun. 13th, 2010|12:32 am]
Lindsey Kuper
[Tags|, ]

Three weeks ago, I did a potentially insane thing. I moved to an apartment I'd rented sight unseen in a town where I'd never been and where the closest person I knew was a four-hour drive away. Then I immediately started a demanding new job, and at the same time began taking an accelerated, semester's-worth-of-material-packed-into-six-weeks course that I didn't feel particularly prepared to take. Alex oniugnip feared for my sanity, and I did, too. I'm tough, but I'm not indestructible, and this particular combination of actions had every right to lead to disaster.

It hasn't. In fact, it's been great. It's been kicking my ass, but in a good way; I can't believe how much I'm learning. Yesterday I turned in the second assignment for the course, which was to implement a user-level cooperative thread library using the POSIX context functions. I'm not going to say my implementation is particularly good, but it seems to work! And I made it myself!

Before this, the last time I took an OS course or wrote C was eight years ago as a terrified and clueless undergrad. Back then, I didn't ask questions much, because I was afraid of being found out as an impostor who didn't know anything. For some reason, it didn't occur to me that it was fine to not know anything because, after all, I was there to learn, not to prove my knowledge. So I didn't ask questions and, as one might expect, didn't really learn a goddamn thing. I barely knew what my own code did.

Alex and I often talk about how if only we could go back and do our undergrad degrees again, we would totally destroy them. That was a large part of my motivation in wanting to take an undergrad OS course this summer and paying no small amount for it out of pocket. I wanted to see if that was really true. Well, I wouldn't say I'm wreaking total destruction! on CS 4410, but I'm more than keeping up. If I don't understand something, I actively address my lack of understanding by asking a buttload of questions, and I never, ever, ever, ever, ever write a line of code I don't understand. I can't believe I ever thought that was acceptable.


[User Picture]From: lindseykuper
2010-06-15 04:37 am (UTC)
My point was closer to "screwing things up when you're young has the incidental side-effect of building character". :-)

Ah! Yeah, no doubt. But I'd suggest that it's not necessarily that we're screw-ups -- sometimes it might just be that we're the first in our families to be computer geeks, or the first in our families to be academics, or both of those things, and so we're used to stumbling through and figuring it all out for ourselves as we go along, unlike folks who have a parent or two who do this and brought them up in a culture of it.

I have to chuckle just a little, though, at the suggestion that I "can get in and hack at things until [I'm] able to understand everything". Man, I wish! That almost never happens. Understanding other people's code is hard. At my job, today (the beginning of my fourth week there) was the first day that I actually got through review and committed some code that was part of a larger system. I had been committing some things before, but until today, everything I'd committed had basically been code that wouldn't affect anyone else. I absolutely don't understand everything about the larger system that my stuff is a part of, and one of the most difficult things is figuring out which parts it's important to understand and which parts I can just not worry about.

I wonder if at IU, we sometimes have Ph.D. students who are more self-reliant and flexible than students at other schools because they're back at grad school after having spent some time working. They may not have any research experience when they come in (raises hand), and perhaps they don't know how the research process works (raises hand again), but maybe at some point they read To Mock a Mockingbird or The Little Schemer or Gödel, Escher, Bach and thought, "Dang, this stuff is way more fun than my job. I'm going to go hang out with the people who do the fun stuff." That path to grad school is very different from that of the people who are at prestigious schools because they've been planning things that way their entire lives.
(Reply) (Parent) (Thread)