Not much to say today, I guess. Unless it's "Let the flaming begin"....
Well. The Grand Merge happened, and the bitstream format froze. It is a good thing. The libs are at 1.0. The missing features now are just that; missing features. Some moderately important (proper short packet handling, error return codes instead of just '-1', and so on) but still just.... missing features.
Oh, and tuning. There's more tuning to do. But we beat mp3 across the board now. That's what it's all about, eh? I can worry about other things for a little while before I try the Next 5 Month Plan To Improve Residue Vector Classification.
Oh, and another day without doing anything mildly embarrassing on the motorcycle. I must be improving.
Good lord is it late.
Not late today. Or this week. Not particularly late this month either. I'm nearly halfway through 2000 and no Vorbis 1.0 yet. September last year, Jack asked me about how far off 1.0 was, and I replied a month till demo, another to production.
Sometimes my deadpan sense of humor just kills me. Much more often it just conspires to keep me from sleeping.
That I'm posting my first diary entry in about a month is a good sign though. Things are finally in better shape than they were three weeks ago. Everything's reassembled. A little tuning, and hopefully some codebooks...
This morning I solved a small algorithm hassle that had been bugging me the past three days. I realized that I'd had a variant of the exact same problem in Grad Skool as an optional part of a final project, and that at the time I'd failed to solve in linear time (as was required for credit). Having come up with a solution this time makes me feel better.
So much has happened since last entry. I've finished my motorcycle training and now am the proud ownder of a Honda Shadow ACE1100cc cruiser. Mmm. Nice, reliable, vaguely unhip bike that's damned fun to ride. I'm still working up to regularly having days without any minor embarrassing mishaps.
Ever forgot to turn your fuel valve on? I did that day 3. Hit the horn instead of the turn signal cancel? Repeatedly? Day 4.
...or duckwalk the bike backward into the garage, tip just a little too far (it weighs 700 lbs) and nearly drop it while looking over your shoulder? Yeah, day 12.
Almost every day I manage to shift into neutral instead of first at least once.
Today I was in the parking lot, stopped in first gear (and knew it) and before starting off developed an itch on my nose. I reached up to scratch it... with my left hand. Thank god a V-twin has no idle torque!
So many ways to look like an idiot on a motorcycle, so little time ;-)
Funny how these things get named after a while; yesterday I fixed the 'blorp' bug in the new Vorbis psychoacoustics, today I fixed a 'gravel' bug. (I hope) Two damn near impossible to find things.... introduced during code cleanups.
And now that we got slashdotted (motherfish stayed up! Woo hoo! Stayed more responsive than Slashdot itself, after I added 8M ;-) I'm realizing how time consuming writing intelligent replies to email really is (again). D'oh.
Thought for today, just to sum it all up:
"Life is about the balance between stopping to smell the roses and flat out 24/7 caffeine poisoning."
I think I'll go shake some more. That automatic espresso maker in my kitchen is the best/worst thing to ever happen to me...
Hangups always happen in the smallest details. It took no time at all to build an entire new psychoacoustic engine from scratch (once I managed to track down the appropriate research papers), but something simple like mapping the new log scales onto the existing codebook abstraction turns out to suck time because I hadn't stopped to think about it long enough...
(How do you add a number to -Inf? You don't; you find a way to avoid doing so. There went wednesday night through Saturday)
The hard part is never getting something to work. The hard part is building an abstraction you won't be ashamed of two weeks later.... especially vital in the case where the abstraction could well last 20 years. Bad way to lose alot of time when chasing an unreasonable deadline....
Anyway, the major hangups are past I hope; decode is certainly clean and I can live with well documented hacks that are encoder only. Integration of the New Stuff (tm) with libvorbis is first-pass coding complete, but totally untested. I'll do that after sleep. After making sure it works, time to build codebooks--- after adding log quantization code to the trainer. Gaah.
At least the end rush will just be for the website.
The "Long March" toward Vorbis's first real release continues. Tonight I finish integrating the new psychoacoustic engine and hopefully build codebooks. Once that's done, the new work goes on the CVS main branch.
Over the weekend, libvorbis and vorbisfile should be at First Cut. The goal is to have the libs at release, at least one player plugin (probably XMMS and maybe Winamp) at release grade and the command line 'it just works' encoder running. A website update has to happen beginning of next week. Then we start screaming for attention :-)
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!