My new blog is active at http://ondrejka.net.
Sunday, March 29, 2009
Friday, March 20, 2009
If any of you are still reading, apologies for going dark. Too much work, too much travel. Sitting in the United Club at Heathrow with T-Mobile's WiFi barely working. Just finished a book worth reading, Fooled by Randomness. Jonathan Seelig, of Akamai and Globespan fame, recommended it. Enjoyable, topical, and provides a delightful framework for thinking about how to measure performance against underlying trends -- particularly when the underlying trends change dramatically.
Tuesday, March 10, 2009
Sunday, March 08, 2009
Via Google, estimates on total number of US homes current foreclosed or being foreclosed vary between 1M and 2M. Let us assume an upper bound of 2M homes.
Median US home prices are freefall, currently around $175,000, down from a peak of over $300,000 in 2006. Of course, in foreclosed areas like Cleveland, the real value is basically $0.
So, let's try to determine the sum total of wealth lost by these "toxic assets", assuming 50% of foreclosed home are worth effectively $0 and half are worth the current median.
(1M homes) x ($300,000 lost) + (1M homes) x ($300,000 - $175,000 lost) = $425 billion
So, $425 billion to keep 2 million families in their homes, make it easier for those families to hold on to jobs and to keep working, to prop up the all the credit default swaps, etc, that are collapsing because these mortgages aren't being repaid, and to ensure that banks don't collapse due to unpaid loans.
Why are we pouring the money into the banks directly rather than protecting tax payers? Oh, because doing this would reward a bunch of predatory lenders?
First, which is more important: keeping people in homes as we enter a second great depression or punish those who took advantage of lax regulations to cause it?
Second, and more importantly, the act of repaying these loans would enable a process of identifying the top 20% of most egregious loans, allowing those who broke the law to be prosecuted.
OK, I'm not an expert, but given the astronomical sums we're talking about, keeping a sizable percentage of the workforce in homes plus propping up the umpteen trillions of dollars leveraged against those mortgages, $425 billion is starting to look pretty reasonable.
Wednesday, March 04, 2009
While not quite the technology convergence of a Roomba getting run over by a Segway, being able to read Kindle books on iPhone is pretty darn close. Amazon just released a new app for iPhone that let's you do just this and it is very slick. You connect it to your Kindle account and all your Amazon book purchases are available, with the last page you're on more-or-less properly synced up.
The reading experience is very good for such a small device, the interface is slick, and downloads quick on even a 1G iPhone.
Downsides? Really the only big problem is that there doesn't appear to be a way to send mobipocket, pdf, or other text files to iPhone the way you can for Kindle. This is a real bummer, as currently 23 out of the 135 books on Kindle are Amazon e-books. The rest are mostly from the Baen library. I hope they decide to fix this, as it makes both devices more valuable to me.
Still, combined with Amazon's new digital publishing platform, Amazon is working hard to create a strong ecosystem around e-books. Great opportunity for authors who can move early, I suspect.
Friday, February 27, 2009
I've posted a fair amount -- and quite positively -- about my current Kindle, so it should come as no surprise that I was quick to order Kindle 2. It arrived Wednesday and I broke it in with Daemon, Daniel Suarez's impressive debut novel (more on that in a moment).
If you've seen a picture you know that the Kindle 2 is much thinner and sleeker than the original. This translates to a much more solid feel out of the box, although I've found it to be slightly less comfortable to hold, perhaps due to Kindle 1 muscle memory. To first order, it operates the same as Kindle 1. The boot time is much faster, the inward clicking buttons superior and less prone to accidental clicks, and the page flips enough quicker to be noticeable. The new screen's 16-gray levels make photos look surprisingly good, and being able to charge via USB helps me on the road. Finally, while I miss the sparkle, the multi-way stick does make highlighting a lot easier.
Downsides? Moving content over from my first Kindle was a pain, mostly because Whispernet and/or Amazon were clearly slammed Wednesday night. The leather binder doesn't have the original's elastic to hold it closed.
All-in-all, a great set of incremental improvements and an even better device for my needs.
As for Daemon, I really enjoyed it. It has all of the trappings of a first book -- uneven pacing, limited character development, some typos -- but, wow! I've never seen a book that mixes action; this level of understanding of the god complex all game developers have; the technology around robotics, virtual worlds, and the net; and, wraps it all up in book that is speculative while only leveraging real tech. Very cool and quite recommended.
Wednesday, February 25, 2009
I've previously written about the password anti-pattern, so it is distressing to see it becoming the standard in virtual worlds as well. James just posted about what would otherwise be a w00t-worthy event from the bright folks at realXtend, direct teleportation between Second Life-compatible virtual wrolds!
Very cool stuff, except for:
When you click the link, the viewer brings up a log-in window; enter in the avatar name and password associated with the other world you're going to, and the teleport process begins. [emphasis mine]
What makes this all the more distressing is that two years ago, Mark Lentczner, Ian Wilkes, and I designed the solution to this on a whiteboard. We had recognized that between OpenSim and whatever came next, that there would be a critical need to enable interoperation through communication/shared presence. It also provided a nice model for scalability, not to mention allowing for deeper interconnections between Second Life and the rest of the web. It has influenced internal design discussions, as well as the standards efforts, but hasn't moved fast enough to be available to projects like realXtend, which is too bad.
Friday, February 20, 2009
I am a huge fan of Juan Enriquez, who I was fortunate enough to meet him while giving a Second Life talk to AMD a few years ago. His book "Untied States of America" is one of the most thought provoking books I've read and a huge influence on my "Collapsing Geography" article.
Thus, it should come as no surprise that his TED talk is brilliant:
It is really two talks in one. The first is a fairly succinct analysis of the current econopocolypse. The second, a believable, gentle transition from humanity as we see ourselves today to our inevitable bio-engineered, cyborg future.
Inevitable because the techniques and technologies that create therapies to grant the disabled human-normal abilities won't stop at human-normal. Like all other technology processes, the overlapping s-curves of therapeutics are accelerating forward. As they claw forward along the flat, early part of the curve, progress is painfully slow, but wait a while. Like all exponentials, beware of forward predictions.
The long term will be far more transformational than we expect.
Friday, February 13, 2009
Go watch this video about Siftables over at the TED website. It beautifully demonstrates why place and physicality matter in information processing and experiences. Plus it's a great tutorial for how to think about programming in Second Life using LSL2. Place, interaction, and relative-positioning -- and then using those to change how your primitive looks -- were some of the most basic building blocks of LSL2. I don't know if David has used Second Life, but there are ton of groups near him at the Media Lab deeply immersed in these ideas. Very cool and congratulations on a talk perfectly tuned for TED.
Tuesday, February 10, 2009
So, this research into TDD made for interesting reading. Synopsis for fans of short attention span theater:
* 15% increase in development time
* 40-90% drop in defect rate
* Most useful if integrated into project early
* Continuous testing key
Monday, February 09, 2009
Saturday, February 07, 2009
You go, Rachel.
The Republicans are playing to win big or lose big. As Americans, are we comfortable with that?
Monday, February 02, 2009
To Secretary Clinton,
While I was a bit harsh on you during the campaign, I think you are a brilliant selection as Secretary of State. Especially after seeing this:
This was brilliant and made me smile on an evening I didn't expect to.
Friday, January 30, 2009
Thursday, January 29, 2009
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.
Monday, January 26, 2009
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!
Wednesday, January 21, 2009
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.
Obama is the 44th President, so we had 44 transfers, right?
Well, no. We've had 43 transfers between Presidents. This kind of "off-by-one" error is called a "fence post" error in computer science and is sadly common in software projects. Of course, maybe Rick was including the transfer of power from the British to George Washington in his list of "peaceful transfers."
Second, alas, President Obama decided to make a similar mistake:
Forty-four Americans have now taken the presidential oath
Unless SkyNet sent a rotund T-1000 back in time and replaced Grover Cleveland between 1889 and 1893, Forty-three Americans have taken the Oath. Cleveland was both our 22nd and 24th President, but he was the same person. There have been 44 Presidencies but only 43 Presidents.
Third, it really instills me with a sense of confidence that the Chief Justice of the Supreme Court couldn't bother to learn the Presidential Oath of Office:
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.
Not too long, is it. Note the absence of "So help me God" in the Constitutional instructions.
Well, they probably called Chief Justice Roberts Tuesday morning and said "Hey, John, if you aren't, you know, busy today, would you mind attending Barack's inauguration? It would be so cool if you could give him the Oath of Office."
Maybe he's irked that Obama voted against his confirmation?
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.
Thursday, January 15, 2009
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.
Wednesday, January 14, 2009
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.
Tuesday, January 13, 2009
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!
Monday, January 12, 2009
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.
Friday, January 09, 2009
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
for every site.
Even better, 1Password synchronizes between your Macs, so you have all your passwords everywhere. It uses browser plugins to detect when you enter a password and stores the form so you can easily get back into sites later. Great stuff.
A few minor quirks. First, many people -- including me -- find that Mac keychain syncing is flakey for 1Password and corrupts the saved passwords -- bad with such random sequences -- so I use their Dropbox option. Second, there is a failure mode where you update a password in 1Password but somehow the website doesn't accept it -- say your drop your web connection mid update. Suddenly 1Password has your new, random password but the site still knows your old one. Fortunately, 1Password keeps a log that you can recover the old password from. Finally, entering random 20 character passwords on iPhone for Gmail is a pain. (There is an iPhone app that allows you visit websites, but no way to easily move the password to, say, the Facebook app.)
For me those problems are offset by the convenience and additional security. Cool product, superbly executed.
Thursday, January 08, 2009
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:
Thursday, January 01, 2009
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: