Older blog entries for bcully (starting at number 2)

I've decided to take the plunge and move the libimap API into a driver model (aka a structure with a bunch of function pointers). I hope this will reduce the rampant #ifdef USE_IMAPs in the code and generally make things less incestuous. The dirty relationship between all the functions makes it hard to work on robustness - too many side effects. Anyway I've gotten just enough code done now that nothing compiles :)

Took an online pretest for a job in Toronto - about twenty really basic questions on C and java. and there I was getting nervous about it.

I couldn't seem to get into hack mode today, so I contented myself with closing twenty-odd old bugs. I'm tempted to start moving at least the imap code into a driver model, in which I embed a set of well-defined function pointers into each mailbox context, but I keep flip-flopping between doing incremental improvements and really thinking out what interfaces I need. I'll probably take the incremental route, because I really believe in avoiding overengineering. I've found my instincts are paradoxically more correct when I don't think too far ahead. That is, when I have a specific problem and I make a slightly general solution for it, I usually get great code reuse and find later problems easy to solve. But when I have no problem and just guess at things I might like to do later I usually guess wrong and have to chuck my framework.

On a different tack, I'm going to be living elsewhere by September (earlier if possible). I finally graduated and have just recently gotten back from a great two month trip to Mexico - now it's time to join the Real World. I'm looking lazily for work in the Toronto area (right now I'm in the New York area). If anyone knows something interesting around there (and happens to read this - thanks katzj, jonkare, and jarod) feel free to drop me a line.

Finally, I see I can <wiki>use the wiki tag</wiki>. Sounds pretty cool. If only I knew what it did.

oh, and does anyone know whether I've eagerly certified rms or a decoy? I'm pretty sure I got suckered...

I just got attachment deletion working over IMAP in mutt. After mucking around writing my own code to fetch a message and reupload it, I had a revelation and got it working in about 5 lines of code. This happens more and more often with the IMAP code base, which indicates to me it's coming together (although I still hate large parts of it, none more than the browser). Incremental improvements are probably better since they help you avoid making new mistakes while fixing the old ones, but I still get the urge to chuck entire source files sometimes. I'm mostly held in check by the fact that most rewrites I'd like to do would involve significant changes in mutt core (which isn't really designed with modules in mind).

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!