This clip speaks for itself! Money quote from Jon Stewart: "This book blew my fucking mind..."
Go get Wired. Currently #15 on Amazon's hot new releases list!
Not one House Republican voted for the stimulus package. Not one. Seriously, this is how you want to welcome a new era for America as we slide towards a second great depression? In further news, most Republicans also voted against the Lilly Ledbetter Fair Pay Act.
Two friends have released books worth taking a look at.
First, Peter Singer, a senior fellow at the Brookings Institution, has written "Wired for War." I was lucky enough to read an early copy and found it an insightful and occasionally disturbing read. Robots intersect with virtual worlds in many different ways, so Pete's book raises a host of issues that also will eventually apply to virtual worlds. You can hear Pete talk about his book with Terry Gross on "Fresh Air."
Second, Ian Bogost, author, game developer, and professor at Georgia Tech has written a new book, "Racing the Beam: The Atari Video Computer System (Platform Studies)." Racing looks at how the VCS hardware, and the ecosystem around VCS development, shaped the games that were created for it and, ultimately, game development as a whole.
One more thing. Ian has just released an iPhone version of Jetset: a Game for Airports. Boing Boing already picked it up, so you probably already heard about it. In case you haven't, Jetset is a delightful parody of airport security and a pretty solid casual iPhone game. I've been beta testing it while Jetset managed to pass the tortuous meta-game of Apple iPhone App approval, so it's great that it is out. It's a cheap thrill, check it out!
Just as on election day, I was on an airplane over Greenland as the world changed, so I had the inauguration on a DVR. Absolutely amazing to see and I am as thrilled as everyone by what the future holds. A few nits did pop out while watching:
First, apparently, on top of his other challenges, Rick Warren would also be a lousy programmer:
Now today we rejoice not only in America's peaceful transfer of power for the 44th time.
Forty-four Americans have now taken the presidential oath
I do solemnly swear (or affirm) that I will faithfully execute the office of President of the United States, and will to the best of my ability, preserve, protect and defend the Constitution of the United States.
Blogger seems uninterested in dealing with comment spam or offering tools to make it easier to fight -- would it be so bloody difficult to give me a page of recent comments with multi-select and delete? Oh, wait, it would be since the Blogger team and GMail team probably don't talk to each other or share underlying technology.
Right now I'm leaning toward either going uber geek and using Jekyll on GitHub pages or installing Wordpress over on Dreamhost, but suggestions are welcome.
At the geek formal of the year, we made several visits to Cory's favorite Toronto sci-fi bookstore, Bakkaphoenix. On our second trip, we discovered an amazing graphic novel: Rapunzel's Revenge
We grabbed it, read it when we got home, and decided to give it our 5 1/2 year-old daughter Meridian for Christmas.
Christmas morning, Meridian came down and had a moment of inspired honesty.
"Mom, I'm kind of disappointed."
"There are a lot of really flat presents, so I think a lot of them are books."
The second present she unwrapped was Rapunzel. She opened it up and started paging through it. And kept paging. And kept paging. 45 minutes of obliviousness-to-the-world later -- we were talking to her, getting coffee, and wondering aloud when she'd want to return to her pile of still unopened presents and she just kept reading -- she closed the book and looked up.
"I didn't like that."
Trying hard not to burst out laughing we asked why not.
"More of the faces seemed angry or scared than happy."
"Would you like us to read it you so you can see what happens? It has a happy ending."
Several sessions later -- it's a long story -- Meridian decided that she liked it after all. It has since become a regular fixture of her reading schedule, both reading it alone or with other kids and having adults read it to her. It's a great retelling of the fairy tale and lots of fun. Good to know there will be a sequel!
So, kudos, congratulations, and thank yous to Shannon and Dean Hale, and Nathan Hale (no relation). You can read all about how the book came to be on their website.
Some very astute thoughts on the current war in Gaza by Reza Aslan over at the Daily Beast:
"Mission Accomplished: He was Right"
"Which One's the Terrorist?"
You've probably heard of Reza through his book "No god but God" -- which you should read! -- or his always brilliant appearances on the Daily Show. I met Reza in 2007 at the US-Islamic Forum in Doha, Qatar, where we proceeded to get into a 3 day debate about faith and belief. While that debate continues, I think Reza has remarkably insight on the geopolitics and history of the Middle East and these articles are well worth the read.
The Washington Post is reporting that Julius Genachowski is going to run the FCC. I think this is fantastic news. When one considers the future of American infrastructure and competitiveness, the FCC is going to be at the center. National broadband policy, network neutrality, spectrum allocation, smart radio. The list goes on and on.
I met Julius in April of 2007, early in the campaign process. What struck me after we had lunch was a) how incredibly smart he was, b) how quickly he synthesized new information, and c) that if this was the kind of person Obama was attracting, then he would get my vote! The Obama team continued to pull in amazing people and the rest is, as they say, history. It is all the more amazing given the many voices and directions percolating within the campaign at that time. Julius was a clearly a huge part of the process of pulling things together. I am certain he will be up to the challenges at FCC.
Maybe a FCC with Julius as chairman will even report complaints correctly!
At Linden Lab, we took a brief look at Ruby in 2006. Some Rails code had snuck into deployment and as we were digging into refactoring back end communications, Ruby and Rails came up as an option. At the time, I remember thinking that Ruby had a comfortable syntax and was as easy as Perl for whipping out quick-and-dirty tasks. Early performance testing was not encouraging and that first production piece of Rails code had issues, however, so Ruby and Rails got lumped together in the collective Linden hive mind as Bad Technology(tm).
Thus, when Peter decided we were going to build on Ruby and Rails, it gave me pause. Of course, since Peter was going to run engineering, it was his call. Plus, James Currier and his team at Ooga Labs were happy building on it.
So, Ruby it was.
The last six months at EMI have been a blur of learning the music business, adapting to working within a large company, and building a technology team. In making initial hires, I realized that my lack of Ruby expertise was hurting my ability to interview candidates. I had been through the pickaxe book, and various bits of data analysis code had moved from Perl to Ruby, but I hadn't built anything of substance. So, over the holidays I took on a chunkier side project. Details to come in a later post, but in building it a bunch of useful Ruby lessons emerged.
First, if you know other programming languages and want to bump your brain into Ruby context, read "Design Patterns in Ruby." Best Ruby book I've yet read and its intro to Ruby chapter is a superb intro to the language.
Second, embrace behavior driven development, rspec, and rcov. BDD takes things a step up from unit testing. If you're an old time C coder, you probably are used to whipping your design out in broad comments and then coding the elements in. BDD changes this from writing comments to writing user stories and then your unit tests as you go. Hard to describe how addictive this style of coding is until you've done it, but it explains the evangelical nature of its adopters because it's fun! At a mental impasse? Write a few more stories. Haven't had your first cup of coffee yet? Sketch in the class structure to pass early tests and add a few more stories. A few minutes before the end of the day? Bump your code coverage to 100% on a file that currently is at 70%. Note that none of this applies universally to Ruby, nor did Ruby invent any of this. What Ruby does give you is a fairly easy to install and use framework of tools.
Third, if you're on a Mac, use Growl and ZenTest and then configure reporting. What this does is to automatically rerun your tests every time you change a file and then report the results via growl. You can even have the Doom marine tell you how you're doing! It's all about reducing the development process to small, bite-sized chunks, with the added hook of continuous feedback.
Fourth, I've already talked about git and github for source code control. Having lived in the CVS/Subversion world for so long, git continues to impress. Super fast, flexible, and integrates well with TextMate.
Finally, we've started having movie time at lunch and watching the Pragmatic Programmers series on Metaprogramming. Very useful, without the "look how clever my code is" aspect that seems to permeate a lot of the online discussions.
I've been using Agile Web Solution's 1Password for over a month now and really, really like it. 1Password is a Mac application that manages all of your passwords, automatically fills in web forms, and generates ridiculously strong passwords on demand. Like, well, everyone, I had been using a few tiers of password. My ludicrously long pass phrase for rsa private keys, strong password for work machines, weaker passwords for silly websites, etc. 1Password lets you choose passwords like
Congrats to Trevor Blackwell and the rest of the Anybots team on the launch of QA at CES. QA is a telepresence robot that gives you a way to have human like interactions at a distance. Sort of the inverse of Second Life. Rather than meeting in a virtual space, QA gives you a robot to control in the real world. Wonderful stuff. Philip had suggested doing a robot like this several years ago, although I don't know if he's continued thinking about it. I got to see QA at the Y Combinator demo day last spring and am thrilled to see it released.
For those who haven't thought about telepresence, consider for a moment what it gives a remote employee compared to tele- or video conferencing. The remote employee suddenly signals attention and presence -- who are you talking to, what are you working on -- and gains the ability to physically participate with those who are onsite. You start knowing what conversations the distance participant is a part of, what they are focused on, and have a natural way to gain their attention -- you just walk up to them. In much the same way that Second Life avatars in meetings rapidly map onto real people, I am sure that after a few minutes of interaction with QA you forget that you're talking to someone at a distance. Huge implications for collaboration, education, medicine, and communication. Much like Second Life, I expect that we haven't begun to scratch the surface of interesting uses for telepresence.
Even more fun, think about what happens when telepresence and virtual worlds meet. When you have a continuous mix of real-world and virtual participation, linked by the kind of work MIT is doing with mixed reality buildings.
Or at least the remaining 97.5% of it. Meant to get these posted a few days ago, but better late than never. So after last year's 0.600, onward to the 6th round of fearless predictions for the year ahead:
Happy 2009, everyone! Sorry for the lack of posts lately, but moving into our new SF offices, actually writing code again -- more on that in a later post -- and the holidays have pushed blogging down the stack a bit. However, for the fifth year in a row it's time to grade my predictions from the previous year. Without further ado: