Two Videos

Emily has been after me to set up a stop-motion rig for a while. I finally got around to it yesterday and turned her loose, with impressive results:

 

I had also been thinking some about what I could organize over the holiday weekend to get the whole family involved. (Finding something that both a 16 year old and a 7 year old can enjoyable participate in is a notorious challenge.) I finally hit upon the idea of that old summer camp standby, a shaving cream war. I stopped by the grocery on Friday afternoon to pick up the cheapest cans of shaving cream I could find ($1.07 each), and turned everyone loose in the front yard around 5:00pm yesterday. Chaos ensued:

 

Theists and Atheists, Sitting in a Tree

Matt wrote up a really good article on the hostility in public discourse between theists and atheists, calling special attention to the “new atheists” such as Dawkins, Hitchens and Harris. His premise is that one can and should engage the other side respectfully and without the use of straw men and ad hominem attacks, recognizing that brilliant people exist on both sides of the philosophical divide and that we should have the humility to be ready to learn from them.

Thanks for the good food for thought, Matt. I appreciate your clarity of thought, your respectfulness and humility.

XO Laptop 2.0

Nicholas Negroponte announced the next revision of the XO Laptop, the low-cost laptop designed by the One Laptop Per Child initiative for developing countries. The upcoming version eschews the typical laptop form factor, instead taking cues from the iPhone and the Nintendo DS to create a unit that opens like a book, has touch screens that can serve as keyboards, and work either in a laptop configuration or wide open as a big display. Here are a couple prototype images:

 

Laptop Configuration

Book Configuration

More information is available at the BBC and on YouTube.

IT Staff Appreciation Breakfast

Just back from the IT Staff Appreciation Breakfast. A few notable awards:

All that, and breakfast too. (No burritos, but one can’t hope for perfection on this earth.)

Some Reading For The Summer

Here are a couple of books I’ve quite enjoyed recently:

  • Irresistible Revolution: Living as an Ordinary Radical: Shane Claiborne, the author of this book, is an interesting cat. He’s passionately devoted to the idea of living according to Jesus’ teachings in the New Testament, especially with regard to the poor and disenfranchised. I particularly enjoyed his accounts of time serving alongside Mother Teresa and as a peace emissary in Iraq. He also is engaged in some of the intentional community stuff that I get worked up about from time to time, and so found a particularly receptive audience in me. Stimulating and well worth the time, even if you don’t agree with Shane’s conclusions.
  • Little Brother: Cory Doctorow’s latest, in which a teenage boy runs afoul of the Department of Homeland Security and, after being released from a secret detention facility, decides to try to take the DHS down using a variety of interesting technology and tricks and teaching the reader about them along the way. A very-near-future dystopian novel in the vein of 1984 or Brave New World, I found it very compelling reading. One of the great things about Doctorow’s work is that he makes it available under a Creative Commons license, which means you can download and read his book for free! [Exercise for the reader: compare Doctorow’s insistence here that privacy is vital to a free society with David Brin’s insistence that privacy is a lost cause and visibility should be embraced instead in The Transparent Society.]

Do you have any recent favorites? Post them in comments! I’d love some good summer reading.

Archimedes: A Big Enough Lever

This morning on the way to work, I was thinking about the critics of the One Laptop per Child program. Lots of people maintain that, rather than sending a $100 laptop to kids in third-world countries, we would do far better to send them $100 in food. And to a degree, I think they’re right — laptops are of no use to a child who is starving. However, there’s a crucial difference in the sort of help these two options provide: food is finite, and will be used up, past which it provides no ongoing benefits (except perhaps a bit of fertilizer). A laptop has ongoing utility and can ideally open up altogether new opportunities for the person who is connected to the global community through it.

In The End of Poverty, Jeffrey Sachs demonstrates that people can climb the ladder out of poverty once they’re on it, but often need help to reach that first rung. (Reading this book is what made me a big fan of microlending in general, and later Kiva in particular: it’s an excellent way to help people to get their foot on the first rung of the economic ladder and to pull themselves out of the morass.) So how could the availability of the Internet and initiatives like OLPC help to achieve that end? Or, put another way, how can the XO laptop be worth more than $100 to the people who receive it?

It can turn them into programmers who can be paid for their work.

The idea would be a central service — let’s call it Archimedes — which would consolidate requests for discrete bits of code and allow programmers to complete those requests for a cash reward. The requests would include standards for completion and what the client is willing to pay for it. The system would be designed to make the transaction as friction-free, lightweight, and unambiguous as possible so that doing small-scale contracts would be easy.

Here’s what it might look like from the client’s side:

  • Let’s say I’m working on Bibliofile, my application for tracking what books I’ve read. I decide that I want to add a new statistics page that shows monthly trends in my reading, but that writing SQL queries has never been my thing. I could do the research, learn how to do what I want, and write it up myself, but that’s for chumps! I’m an Archimedes client!
  • Because I know what I want this section of code to do, I write the necessary unit tests using the standard testing frameworks. I also add a specially-formatted comment in my code that indicates that I’m putting it out for contract, how much I’m willing to pay for the work, and any other special directives (such as “only make this available to programmers who have completed 5 or more jobs already” or “If nobody has completed this contract within a day, increase the price by $5 every 24 hours until it’s finished.”). Then I check it in to my source code repository.
  • I’ve already configured Archimedes to keep an eye on my repository, so it notices my special comment and automatically creates a new request for work on the site which can be seen by any programmers on the site looking for work. They can look at the language, the task, and the amount being offered, and decide whether they want to work on it. If they do, they can check out the change from the DMZ — a special source code repository that duplicates information from my repository.
  • If the programmer has completed the task and has all the unit tests passing, he checks his code into the DMZ. Archimedes then builds it and verifies that the unit tests are passing. If so, it sends me an email with a link to the code diffs in the DMZ. I can look at the code and verify that it’s not just feeding the tests the values they expect or adding a back door to my program. If it passes muster, I click the “Accept” button.
  • When the submission is accepted, several things happen: the programmer is paid the amount that I offered; the submission is merged from the DMZ into my code base; both the programmer and I receive a reputation point to show that we’ve completed a transaction in an agreeable manner.

I think the use of automated acceptance tests and the ability to generate requests for work without leaving one’s usual development environment would help to make this an attractive prospect for developers who want to extend their reach. (This seems very much in line with the Four Hour Work Week way of doing things.) And the ability to take on programming tasks with little ramp-up or commitment for pay would make this an attractive prospect for programmers, especially those who are time-rich but cash-poor.

There are lots of details and refinements possible, but I think the basic idea has some good potential. What do you think, sirs?