Tim O’Reilly likes to quote William Gibson when he describes his approach to predicting the future: “The future is here. It’s just not evenly distributed yet.” In other words, if you can just find the people (O’Reilly calls them alpha geeks) who are leading the way, you can serve yourself a tasty slice of future pie before the crowds show up. I completely agree with this philosophy. One of the things I love about the current blogging culture is that I can keep up with the latest thoughts of the people, the alpha geeks, that I think are on the leading edge.
When Tim O’Reilly talks about people who can see the future before it’s very evenly distributed, he’s talking about Jon Udell. I have been a fan of Udell’s writing since his days as a columnist at Infoworld. Now he works at Microsoft. The reason for his departure is also the reason his writing is so prescient: he holds fast to his own compass, and when that compass was at variance with Infoworld’s mission, he knew it was time to move on. Few people are doing more to distribute the future than Udell. He is intensely focused on bringing the fruits of social computing and information technology in general to the broadest possible audience, whether it’s through screencasting, easy-to-use scripting languages, or underused federal databases. I know when he’s excited about something, I should learn more about it as fast as possible.
So I was especially happy that I got a chance to meet him at a recent symposium on social computing at Microsoft. I was even happier to learn that he wanted to interview me for a podcast on the programming contest that I’ve been running at The MathWorks for the past several years.
Want to listen? Tune in here: A conversation with Ned Gulley about the MATLAB Programming Contest Â« Jon Udell.
And if you stumbled across this post and want to learn more about the contest, you might want to read a paper that I wrote about it: In Praise of Tweaking: A Wiki-like Programming Contest.
Steve Eddins runs a blog at work called Steve on Image Processing. He’s allowed to do that since he’s a professional image processor. His blog is essentially written in MATLAB and then published to blog format. He has added the new and improved bookmarklet to the bottom of each post so that you can now reconstitute the working code that he started with. Scroll down until you find a link that read “Get the MATLAB code.” It’s a nice way to peek behind the scenes and see a great mind at work.
We had another MATLAB Programming Contest, and in terms of participation it was our biggest so far. We like contest themes that fit somehow into the zeitgeist, so the puzzle this time around was a generalized version of the notorious Sudoku puzzle genre.
Aside: if you are ever in a Sudoku-solving pickle, I’ve got just the salve for your itch here: Sudoku Satori – The Sudoku Solving Assistant.
We had 3061 total entries. You can see all the sudoku > Statistics” href=”http://www.mathworks.com/contest/sudoku/statistics.html”>gory statistics here if you like. One fun thing we did this time around was create a map (using the Frappr service) where people could show us where they live. Take a look. Only thirty or so brave souls (of the 168 who played) put themselves on the map, but even so you see how global the distribution is.
As usual, Matt did an excellent job summing up the activity in a contest evolution report. The distinctive zig-zag pattern in the accuracy-vs-speed plots was particularly pronounced in this contest.
I get excited about the MATLAB Programming Contest that we run at The MathWorks because it’s such a cool and compelling window on how groups of humans work together to build complicate things. As such, it’s a sort of greenhouse model for some important trends in the modern infosphere, including open source programming and wikis. I keep telling people about this contest and I keep hoping they’ll get as excited as me. A few years ago I wrote a paper about the contest, which I’ve mentioned here before, but I’m happy to report that the paper recently caught the eye of a gentleman named Ben Hyde, and he was kind enough to say some nice words about it. What’s particularly gratifying about this is that Ben is a key contributor to one of the most successful open source projects around, the Apache HTTP Server project. So when he talks about Open Source, he knows whereof he speaks. He closes his comments with the words “There must be hundreds of places around the edges of open source projects were these techniques could be tried.” Hey, that sounds like fun!
Roughly every six months we run a MATLAB programming contest in which contestants are encouraged to steal the code that other people are submitting. Naturally, most people steal code from whoever’s leading, which makes the code churn and improve very quickly. This version of the contest, number ten, involves giving instructions to ants so they can maximize the amount of sugar they bring home. The contest ends on Wednesday; stroll over and check out our ants > Mid-Contest Analysis” href=”http://www.mathworks.com/contest/ants/midcontest.html”>mid-contest analysis.
Last spring I wrote an article for interactions magazine, the official magazine of SIGCHI, the ACM’s Special Interest Group on Computer-Human Interaction. My paper was about the MATLAB Online Programming Contest, which I’ve mentioned in this space a few times. You can’t get the article from the interactions website without an ACM membership, but my copyright release form allows me to put a copy here, which I’ve finally gotten around to doing. So here you go. As seen in the May/June 2004 issue of interactions, In Praise of Tweaking: A Wiki-like Programming Contest (PDF).
On first hearing how the Wikipedia site works, people are often scornful, incredulous, or simply dismissive. It can’t possibly work. How could it? Similarly, the MATLAB online programming contest is built upon an almost paradoxical premise: that a contest can be collaborative. Against all expectation, the back and forth drama of leaps and tweaks turns MATLAB programming into an entertaining spectator sport…
Suppose you wanted to build your own sundial. Where would you start? If you know how to use MATLAB, I can tell you exactly what to do. As part of my day job, I work on an online community called MATLAB Central. Recently we’ve added the ability to upload web pages there that have been published from MATLAB files, thereby allowing a nice mixture of prose and algorithm. Here is a document I created called Building Sundials. All the code demonstrated was derived from code I found on De Zonnewijzerkring, a real treasure trove of material on sundials.
Sundials have historically shown an appealing blend of art and science. Computation shows you where the sun will go, but the form presented can be quite beautiful. Sundials dating back to antiquity are often adorned with mottoes, exhorting the viewer to carpe the diem or reflect on the passage of time. One of my favorites is also one of the briefest:
HEU QUAERIMUS UMBRAM
We pursue a shadow.
Our latest MATLAB Programming Contest is nearing completion. Since this is an election year, the puzzle this time (“Gerrymander”) is to divide a state into electoral districts of equal population. If you want to see real gerrymandering in action, look at this: 107th Congressional Districts. Dallas/Ft. Worth is particularly interesting.
Matt has done almost all the heavy lifting for the contest this time. Way to go, Matt! Check out the cool statistics page he’s put together. Be sure and tune in for the exciting 5 PM finale tomorrow afternoon.
Matt and I gave a presentation about the contest at IBM Watson Research Center in Cambridge last January. Based on that talk, there was enough interest to get me invited to write an article about the contest for CHI interactions magazine. Here’s the link, but you need an ACM membership to read the whole thing: In praise of tweaking: a wiki-like programming contest.
Since this is my baby, I can’t possibly not link to it: We’re running another online MATLAB programming contest this week. It started last Wednesday and will end this Wednesday. There are a zillion programming contests out there, but this one is special because your answer is evaluated and posted in real time. It’s sort of like competitive open-source coding on steroids. I wrote a paper about it for a conference a while back, but we’ve also got a few short pieces out about this contest even while it’s running: a mid-contest analysis, and a short contest story by Matt that shows in a nutshell the dynamic that makes the contest so interesting.