Tuesday, February 1, 2011

And final exams are over… for good

About a week ago I had my final final exam (that sounds weird). This is it now. For the entire spring semester I have only my Master’s thesis to write, and it’s all finally over. While my friends will spend the next several months writing code for their thesis project, I’m basically free of this chore. Why? Well I’ve been working on Sigil for the last two years, and while it will never technically be finished, it is as far as the university is concerned. My internal thesis goals for it have been reached many moons ago (back in the 0.2.0 rewrite). That’s not to say I plan to stop working on it, but that I have no deadline pressures. Yippee.

I’ll be working on it (hopefully) pretty much the same way I’ve been working on it until now, and that’s “when I find the time and the inclination”. Seeing how I don’t have any immediate obligations (I can write the ~50 pages for my thesis in a week or so, and the deadline is in June), the “time” part has gone up immensely and the “inclination” part is still holding strong. So hopefully I’ll be getting some serious work done.

Actually there’s a mix of things I want to do in this fairly large block of free time. Here’s a list in approximate order in which I plan on doing them:

  1. REST! I spent the last week basically just sleeping and breathing. The obligations, pressures and sleep-deprivation of the last several months have taken their toll. This R&R goal is fairly short-term. On a related note, it’s been a while since I spent a whole 24 hour period with my girlfriend. It’s strange how I almost forgot that those make life worth living.
  2. Read some fucking novels. I make a goddamn e-book editor, it’s about time I get the chance to read a few of the e-books I’ve made for myself. I used to devour novel after novel, and while I still read voraciously, the books I read don’t exactly qualify as literature. If I see just one more textbook on machine learning, cryptography, project management, numerical analysis or discreet math in general, I’ll claw my eyes out.
  3. Read some technical books. I enjoy learning new things and deepening my understanding of the things I think I already know; besides, in this industry one needs to be constantly sharpening their skills. For instance, I’m currently going through Jon Skeet’s C# in Depth, Second Edition[1]. After that, it’s Chris Smith’s Programming F#. I know a bit of F# (and I really mean a bit), but it’s time to get serious. It’s a truly wonderful language, and I’ve been enamored with the functional paradigm since my brush with Haskell two years ago, but F# strikes me as more practical than Haskell. Also, a book on advanced Python wouldn’t kill me, but I’ve yet to find an appropriate one[2].
  4. Start looking for a job, I guess. I hate this last part…

Anyway, this change of pace will do me good. A lot of it, I expect.


[1] I’ve literally been waiting for the second edition to come out for years. It came out in November, and I’ve been waiting for some free time to read it ever since. Now, I’ve written tens of thousands of lines of C# code and I’d like to think I’m more than just proficient with the language, but Skeet can teach anyone something new. That includes me.

[2] I really mean “advanced” Python. I know Python fairly well; I’ve read Dive Into Python 2 many years ago and I’ve used the language on many projects since then, but I’m looking for a book from a true expert in the field that goes into the nitty-gritty. Something like Skeet’s C# in Depth, but for Python. The official Python docs only go so far. They’re also a bit… let’s say conceptually scattered.