Wow. You know how you have days that seem quite ordinary until you’re sitting in the shower the next day looking back and thing “that was amazing”… Well, today was like that…
Got a sleep in, did some work at home, and then went into the office… We had to have a meeting about how we are going to manage our code base into the future. The problem is that at about 600,000 lines of code, it is non trivial to allow people to implement features on the releasable code tree — we need to be able to release bug fixes almost instantly, and can’t wait for someone’s new feature to be stable. Plus, every time we make a change to the releasable code, we increase the risk that we will introduce bugs somewhere else in the product.
The solution? All features will be implemented in sand boxes. When the feature is complete, then the sand box will be rolled into the releasable code tree… There is also some funky scripting happening to keep your sandbox as up to date compared with the releasable code as possible. A very neat solution which will work well (I hope).
University in the afternoon. The speech recognition lecture was nothing special — unlike we got onto LBG vector quantization… I love it when people introduce an algorithm that is so obvious and elegant that you wish you had thought of it… It also just works. And it has so many applications — I spent the rest of the day walking around looking for excuses to qantize vectors.
I was so keen I went home and started implementing the LBG VQ codebook speech recogition assignment which is due in a few weeks… I can’t release it under the GPL until the assignment is over, so you’ll just have to hold your breath to see what I am up to. It is cool that you can do speech recognition (with some pre processing), in under 1,000 lines of code.