14 Feb 2002 bneely   » (Journeyer)

Work has been going better recently. The stuff I'm working on is eons away from being shippable, but that should lead to some thoroughly enjoyable chaos in the upcoming months. I think I wasted too many weekends in the office last year, so I won't make the same mistake again this year. Weekends will still be worked, but they will also be played.

For the past few weeks I've been working a lot with Cocoa. I like Cocoa and objective-c. I like single inheritance, reference counting, and general object-y goodness. I *hate* Interface Builder. There are too many things about Interface Builder that aren't intuitive enough for first-time users. Nearly everything in IB is designed around the "after you do it once, you know how to do it" idea. Project Builder is a useful tool that is easy to figure out, given that you have at least some idea of what should be happening. But PB has a very busy user interface, and it can be annoying to get enough screen space for an edit window because of the need to move all the split panes out of the way. I've also been using gdb quite a lot (because the shit I churn out is unreliable enough :).

I think my biggest problem with working at Apple is that there's not enough insubordination. :D

My mp3 stream has been receiving a lot of my attention recently. I found new music for the playlist, and I'm building my own playlist randomizer. My playlist script (written in perl) parses the master playlist, splits the songs out into a hash of arrays (with artist names as the hash key, and the artist's songs stored in the array), then does some intelligencia to schedule the next song. It's currently a playlist-spitter-outer, although I'm intending it to operate dynamically (probably to be called through the perl module interface in IceS). I'm done with the very basic functionality and the design of features I want to add, but I haven't had much time and/or motivation to work on it recently. Anyway, I'm trying to solve the problem where the playlist randomizer in IceS will play the same artist twice in a row, or three times within 10 songs. Barf.

Latest blog entries     Older blog entries

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!