Thoughts and Ramblings

General things I find of interest.

Branchless Code

Apologies if this is technical, but since I learned something in this experiment, I thought I would write it up:

I remember going to a seminar a few weeks ago delivered by a faculty candidate which discussed the idea of how to get around the branch mis-prediction problem present in microprocessors. Anyway, her idea was to use predicated statements to make the instructions conditional on a comparison which may not have been completed yet. Essentially, when faced with a decision between two routes, the processor starts computation on both before it is even sure which it should take. Then, when the decision is known, it can proceed to throw out the results from the task it should not have started and only keep the results from the other. Her research mentioned using the processor’s internal register renaming system to prevent the results from the two colliding. There is a problem of both processor support as well as compiler support, as well as the fact that the active power in the processor is now increased. From the first two issues, I doubt we will ever see this come to light, especially when such things are already possible:


Fire's Death

Gee, a bunch happened at once. Maybe it is just that I have a little bit of time. Anyway, I have finally made the announcement on Fire’s death. This was a long time coming, but I had to wait for Adium 1.0 to come out since it contained the upgrade path from Fire. As is the case with many open source projects, there was developer turnover, but lately I had become the primary developer and most of the other devs moved on to other things. I didn’t want to go at it alone, so it was time to let go. Anyway, it is a bit sad to see it end. I have use the program since sometime in 2000, so it had become a part of my life, just don’t want it to become my life.


Perian released

Well, a project I have been working on for a few months saw some action. Perian was released today, but not before the site was linked by digg. Essentially the server (which is the same as this one) was pounded by at least 10-20 people every second. I had to reconfigure some of the server’s options, but once I did so, it withstood the load rather well.

Now to fix all the bugs reports which will start to flow in :)


Slow Summer

Been a while since I have posted here. I expect most of the reason is due to the fact that the summer is progressing slowly. I did take off last weekend and spent time with the parents. We spent a fair amount of time watching the nine Doctor Who episodes I brought with me.

In the mean time, I started hosting the repository for perian, a project to bring ffmpeg codecs to QuickTime. Assuming that cross-compiling issues with ffmpeg can be dealt with, then it should work out well.


AC3 Codec released

Well, I am sure I am getting a lot more traffic on this site recently because I released the AC3 codec yesterday. Essentially I got tired of the fact that the two that I found didn’t work well on Intel Macs, so I took one and fixed it.

I already have one minor bug to fix (not worth releasing a new version though since it is just a version number). The next step is to figure out how to do AC3 passthrough. I am thinking I need to bug the Apple Engineers on the mailing lists in order to figure this one out.