On Getting By

I got in my car quite happily today, thinking about how it wasn’t really that hot today. It wasn’t until I glanced at the thermometer reading 104 degrees that I realized how incredibly numb I must be to not register a day like today as hot. It’s not that I didn’t feel warm walking out my chilly office, no, I certainly felt my nicely pressed shirt sticking to my back as I readjusted by sunglasses, and I think everyone heard me swearing after I burned my hand on the shit-interlock trying to back out of my space. No, it’s just that it’s been worse, and that numbs today’s pain, and that’s a nice sort of feeling. Despite the fact that it’s still bleeding hot outside, it doesn’t much bother me.

This is my last week here at Intel as an engineering intern, at least for this summer, and there’s a similar feeling. I still have sit all day long in gray cubicle running on 7-8 hours of sleep, fighting boredom first, and challenging technical problems second. I still make pretty penny, and I still won’t see half of it having been moved tax brackets. I still eat lunch here, alone, waiting for someone to be able to go out with me. I’m still leaving an hour late, and charging an hour less. I don’t mean to be unappreciative; this has been a phenomenal opportunity. I could be working at some deli now, shoving around large boxes of furniture and televisions I couldn’t afford, or working at Kid’s Club, but having been granted access to the adult version of elementary school, I’m thankfully critical. In many ways, I’m struck by how cyclic life is: it was only last summer I was getting trays of food for five year-olds in their cafeteria, and now I’m carrying my own yellow tray. It’s not what I want to do, but I want to do it so that I can be who I want to be. It’s been worse. I think I can manage just another week.

Or few decades. I suppose I’ll have to see how my college carrier pans out, but I’ve got a feeling that my backup of computer science will play a considerable role in providing for my future happiness. Beside that, I have wants that aren’t necessarily included in my future, like the BMW M3 that I so like to day-dream over. I think it was Mondrian who, when frustrated by having to paint trees, berated his teacher, demanding to create something else, something unique. In response, his teacher provided only more hoops, through which his student jumped, leaving a better artist his wake. At least, I think that’s how it went. It might have been the other way around, but it’s certainly more interesting to think that he might have been perturbed painting a tree, instead yearning to paint squares, and other rectangles to match.

Friday is my last day, but it was also supposed to be the day I would finally go on my very first road trip. Needless to say, I’m not going. For about two months, all I thought about at work was the tremendously amazing trip I had planned, how happy we would be, and how much more completed I would feel after this seemingly trivial adolescent fantasy. I’m not going, and I’m still upset, but there’s also been worse: the expectation that I simply allow this to happen, get over it quickly and quietly, and delude myself into thinking it will be different next time, on your honor. You see, you’re full of shit, and that is worse, so today, the fact that I’m not going on my trip doesn’t bother me as much. Maybe I should pretend it never happened, and everything would be that much happier. The trouble is, I can’t forget that doing something like this was permissible to you; do I want to do anything with anyone who thinks that’s an okay thing to do? The real trouble is that I’m drowning in assholes.

Let’s shift gears. For the first part of my internship, I worked with C to produce hand-built XML parsers. While not the most invigorating work, I learned enough to make it worth it. XML parsing, I think, belongs in somewhere much higher up, like Java, for example. Unfortunately, I’m stuck here in the land of where low-level X86 machine-code is paramount, and where we have compilers to make that actually feasible. These people I work with like bare-metal, whereas me, I’m somewhere stuck between the instant-results oriented scripter and the Big-Iron loving Java and .Net. I look to human history for my lead for this moral dilemma (it really is that crucially important to some people): we achieve my building on others work, using what exists to fashion something new or improve something that exists. It’s why we have C compilers, for example. As a result, I chose the JVM, specifically Sun’s Hotspot JVM. I spent a lot of time researching various paradigms of development, different technique and all different tools, and I’ve settled here. You should understand that this JVM is one of the most heavily optimized pieces of software in the world, and it’s huge. It has at least two interpreters and three different pipelines for JIT compiling “hotspot” code blocks, and after warm-up, can easily compete with C++ and often outperform it. I inherit the design of the JVM in Java as object orientation, but also strong typing, and powerful reflection features. My applications are sandboxed and are largely safe from and toward the host OS. Where Hotspot doesn’t exist, I am still pampered by the existence of JVMs for any device I’d ever hope for, from cell phones around the world to the world’s smallest microcontrollers (in fact, I am starting a new hardware project with the JVM on a 180 MHz ARM- stay tuned). By far the biggest advantage, though, is the standard library written for Java and the mountain of code and libraries that exist, freely available. It makes no sense to rewrite my own GUI presentation foundation, or my own XML streaming parser when quality products already exist cooperatively together-brilliant! If you can’t tell, I’m quite sold on the JVM as a platform, meaning execution environment as well as supporting tools. Generally, I’m just as happy with Java as a language, even with its quirks. When I find Java too verbose, though, I switch to something else running on the JVM, say Groovy or JRuby. It’s a beautiful, beautiful thing.

Nope, I’m not quite done geeking out. I’ve done quite a bit of research on personal time of the JVM, its implementations and architecture, but also compiler design and emitting usable JVM bytecode from those compilers. It’s been a real blast, so much so, that I’ve created my own functional language, which I’ve named Casper. There are plenty of real languages out there, that I doubt I’ll ever release it, but I’ve learned too much from Casper not to mention it. Thinking about the compiler has naturally made me curious about the runtime. While I can never hope to rival the performance of Hotspot on my own in this decade, I am still fascinated by its design. And since Java and its supporting technologies are open source, I’m free to pursue my passions. Yes, I’m done.

This Friday, I have a party planned at Organ Stop Pizza. I’m hoping for a fun time, but over the 50ish people I invited, I don’t really expect a big showing. I’m amazed at how flaky some people can be. But even that doesn’t bother me that much, because this weekend, I’m driving to Las Vegas for what may very well be the end of my dangerous love affair with dazzling lights, alcohol and buffets, beautiful people, and Star Trek: The Experience. That’s another discussion altogether though, for now, I’m spent.

This entry was posted in General. Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>