Moving Up

Tomorrow (OK, today, by the time I actually end up posting this) is my first day of class as a grad student.

Time will tell how heavy my courseload turns out to be. It’s only nine credit hours, but Operating Systems is known to be pretty project-intensive, and I suspect that Insider Threats, despite being a 590, will have a lot of work to go along with it too. Algorithms shouldn’t be too bad, hopefully.

(For those not intimate with Purdue course numbering, course numbers of the form n90c, where n is a number from 1 to 6 and c is a letter, are typically some form of seminar course offered at the whim of the professor teaching it, as opposed to a regular, established course.)

The semester’s schedule is quite nice. My earliest class is at noon, and my latest class ends before 3:30. I get to sleep in, and I can leave anytime after 1:30 on Friday if I feel like heading home, which it looks like I’ll be doing Labor Day weekend. Unless improv throws a wrench into that, since we meet Friday nights for that. Hmm.

And since I have a heavy distrust of the campus bookstores, I’m waiting until I’ve attended each of my classes to find out which books I really need, as opposed to which ones the bookstores want me to buy. I can’t recall a semester where the bookstores didn’t have the wrong listing for at least one of my classes. Naturally, I’ll also see about just buying the books online so I don’t have to funnel any more money into the evil bookstore duopoly.

Since classes are starting, Friday was the last day of my working on MBA. Even though Vitek and I had claimed Mission AccomplishedTM on the exhaustive search a couple of weeks ago, I still kept finding new tweaks to help it go a little faster (or, at the very least, fix some straggling bugs). It runs quite nicely nowadays, and Vitek’s pretty impressed with my work. I spent a couple of hours typing up a HACKING file explaining various design decisions and implementation issues I had run into; fittingly, it also ended up serving as a summary of everything I’ve done over the past three months on it.

Goodbye, regular paychecks; hello, regular stipend checks!

On the coding front, I spent several hours this weekend on the GLib bindings for D-BUS. Most of the work was on a code generator that converts an interface description to a bunch of marshalling functions and a few metadata structures; just #include the output and plug it in. It’s very close to working now. The main thing left before I post my progress to the D-BUS mailing list is to figure out how to distinguish between returned strings that the marshallers need to free and returned strings that the marshallers mustn’t free. It’s uglier if you allow strings that need to be freed with something other than g_free, though I think just assuming we want to use g_free will work. The generator will need to treat statically-allocated strings and dynamically-allocated strings as two different data types, and letting the free function be specified by the user makes that even messier. Joy.

One Response

  1. It occured to me five minutes after shutting down my computer for the night that you could just pass in the resource-freeing function as a parameter to the marshallers instead of hard-coding which function to use. That sounds a lot less crack-induced than what I wrote above.

Comments are closed.