One semester down, one more to go; how far am I into my Marathon timing project? This post will give an overview of what my system aims to accomplish, and how much is likely to be done.
Update on my Marathon Project
Looks like I'll be Running for RFID in 2008
No, I'm not running for office or any such... Zhiyi asked me to complete a project left-over by a student that was supposed to be done for the Dunedin Harriers club. The project is basically using RFID to record finish times for a marathon. An interesting project. The feasibility has already be shown I think, so its going to be generating a working prototype. I'll be able to put my embedded skiils to the test... perhaps I'll even to able to create a production-grade system for them, who knows.
This does change my plans for 2008 though, what with a major work project due in April, my teaching load, helping to organise PDCAT'08, and my planned study of a rather interesting 400-level paper with a large degree of concurrency about it, it seems I shall have to abandon the paper, and instead do by 400-level project next year instead... The good news is that I may be able to get a scholarship... the extra money would be useful.
Don't Fear the Monads
A video (with criminally poor resolution) of a useful discussion about monads. From Channel 9 MSDN.
Dr. Brian Beckman, a Channel 9 celebrity, astrophysicist and senior software engineer thought it would be a very good idea to address the complexity of monads in an easy to understand way: a technical conversation at the whiteboard with yours truly for Channel 9.
Tangible Functional Programming [video]
I saw this video posted on programming.reddit.com, and really liked what I saw. There is also a paper that covers the mechanism more. I have always had something of a disgust at what I see as the accidental complexities of GUI programming (although I think Cocoa and Interface Builder do a good job) and that Unix has failed to evolve its best construct (the pipe) to what it ought to be. This failure probably has to do with the "text-streams as universal interface" mantra that, while useful for a good many things, cripples it as a more useful mechanism outside of the shell.
Unix Haters Handbook
Unix has a lot of useful things, but historically, the single greatest force driving it onto different hardware platforms is its evolutionary superiority (note that this is quite different to technical superiority). There are a number of flaws in Unix, both historically and today, that do not deserve to be emulated. Unix is very simple, which is its greatest advantage, and also its greatest weakness.
I have finished (in itself an unusual event) reading the Unix Haters Handbook, which anyone with a vested interest in operating environment design (so basically, any user, programmer or administrator) should really read it. Linux weenies will probably be enraged by some of it, but considering that some of it talks about historical implementation faults, many of which have been fixed, there is still good material in here to consider.
Because its useful to hear both sides of the argument, you should also look at The Art of Unix Programming by Eric S. Raymond.