Thoughts on CodeCon presentations - Journal of Omnifarious
Apr. 21st, 2009
12:43 am - Thoughts on CodeCon presentations
- All the DIY BIO (Do It Yourself BIOlogy (synthetic biology in particular))
Wow! This stuff was really impressive. The basic idea being that biology is in the same place now as computing was not long before the MITS Altair came out. Sadly, the demonstrations of working code are a little hard to do when your experiment takes a few hours to run.
- BitTorrent DNA
Commercial website thingy. Not interesting or relevant to me. Sadly, I paid attention to a good portion of the talk before realizing this.
- Distributed Transaction Layer for Google App Engine
Well, this is mighty interesting. I sort of thought Amazon needed something like this a few years ago when I worked for them. Very relevant to anybody who wants to build reliable applications in a service oriented architecture.
- Helios Voting
Secure electronic voting, for real. Probably more secure than paper ballot voting even. Really! The question I meant to ask, but forgot, was how it handles write-in candidates because right now it doesn't seem to have a really good way to do it.
You know, I really ought to connect up StreamModule to use this. It would save me a whole lot of work. I didn't remember to ask if they had a good way of treating the release of a mutex as an event.
I was expecting to see tools for changing class names and all kinds of things. What I saw was a tool that had been painstakingly crafted to automate one change to Firefox's huge code base. Not that that isn't special, but I don't want to make that change, I want to make a different one.
All the people in the audience seemed to care about was how you could possibly trust the code the tool generated. And that's an interesting question, but not half so interesting as asking how easy it is to transform things in ways other than the particular fixup done to the Firefox code base.
It is clear that there is some pretty useful general infrastructure here. Something that can reliably keep track of the lexical structure of code before and after C/C++ macro expansion is pretty impressive.
I wasn't so interested in what this particular tool did. I'm more interested in their overall research into the topology of Bittorrent networks and their effects on anonymity, performance and ISP friendliness. The tool itself is neat, it uses a few trusted friends to effectively hide your bittorrent downloads from prying eyes, of which there appear to be many right now.
- Parallel Web Browser
Fine-grained parallelism in a web browser. And a really good source of ideas for how to accomplish fine-grained parallelism in a lot of other places too. A really interesting talk about how to put multiple cores to good use.
They started by asking what sorts of evil things your ISP is doing to your Internet traffic. They discovered that a possibly more interesting question is what kinds of evil things is your NAT or 'firewall' (note that a firewall's job most emphatically does not typically involve altering traffic, it's just a filtering device) is doing to your Internet traffic. I do not want to be randomly sending out an
X-Cool-Jobsheader with every web request, thank you very much.
I really wish they would do a survey of consumer NAT hardware and tell people how evil any given piece is.
Anyway, it's a pretty darned interesting research tool that I may have to run on my own network to help them out.
- Tahoe, the Least-Authority Filesystem
Oh no! He's got an axe! And he's attacking the computer! Really!
An excellent demonstration of a distributed encrypted filesystem that can handle the random removal of nodes for reasons ranging from the node purposefully reporting invalid results to the node being randomly physically destroyed by someone with an axe.
A lot of interesting analysis of the Tor network to help identify misbehaving and/or malicious nodes as well as make the network a lot more efficient.
I should've asked questions as to whether or not using the data it generates to help you build more efficient circuits would compromise your anonymity. I was feeling very tired that day. :-(
- Trend Profiler / trend-prof
A really interesting tool for identifying superlinearities in your code. This is a big help for taking performance profiles for small data sets and making good, educated guesses as to what they will look like for larger data sets. Also a good way to identify where someone used a bubble sort for something they most definitely shouldn't have.
- Typhon / Scream
Unfortunately, I almost completely ignored this presentation. Nothing in the name or writeup of the presentation gave me a clue as to why I'd care. The demonstration of Quake 3 running on an Android G1 was pretty eye catching though. If I ever want to do that kind of thing I'll have to come back and look this project up.