Wednesday, December 24, 2008

happy 30th, star wars holiday special!

[edit: sad, the Google video version is gone]

To think 30 years ago I begged to stay up and watch this. Thanks to the MST3K/Rifftrax for doing their best to improve it.

Monday, December 22, 2008

because everyone should have a wunder boner

Had to post this because a) found over at WWdN, b) it sounds like Mike Rowe doing the voiceover, and c) posting about Rick Warner just made me angry, so some levity was in order.


Science good, bigotry bad. Science has certainly been misused, misunderstood, and misapplied over human history, but it is the engine of understanding and change that drives us toward a clearer and clearer picture of the universe and our place within it. Understanding helps us be less afraid of what we don't know and make better decisions.

So it bittersweet to see this. Science. In the White House. A pathetic sum up of the Bush presidency that this is somehow new and exciting.

Ironic to juxtapose this with bigotry and superstition, the safe havens of the lazy and incurious. I'm speaking, of course, about Rick Warren.

More than ironic, it's sad. Sad, because I will now treat the regular emails from David Plouffe the same way I treat books by Orson Scott Card. 4 years ago, Card wrote this and I decided to stop buying his books.

He has a right to his opinion. I have a right to disagree and not give him money.

So, David, I'll still be thrilled that science is going to return to our government and proud of the dozen or so friends helping with the transition, but I won't pay to support bigotry like Warren's.

Monday, December 15, 2008

babbage linden

I met Jim Purbrick, aka Babbage Linden, in 2005. Initially, we were both Terra Nova authors. Then I read his PhD thesis. We met in person at the 2004 Austin Game Conference, including a memorable dinner paid for by none other than Brock Pierce and IGE (even though, Jim, [redacted], [redacted], and I sat at a different table and didn't talk to them). I was thrilled that we were able to hire Jim and thoroughly enjoyed every minute of working with him.

Thus, I am not at all surprised to learn from New World Notes that Jim showed up at the Linden holiday party as his avatar, complete with steam punk accoutrements exported from Second Life via OGLE and built out of cardboard. Read the whole story on Jim's blog and look at the pictures on Flickr.

Friday, December 12, 2008

something to wash away the swoopo aftertaste

I remember seeing the first screen shots of Love earlier this year, but Rock, Paper, Shotgun just posted a movie.  Eskil Steenberg is one talented dude.  Beautiful visuals, a commitment to user expression and creativity, and totally old school software rendering.  What's not to like?

Eskil's blog is pretty interesting as well, especially the many posts that read almost exactly like Linden discussions from 2000 or 2001.

stupidity tax

The always wonderful Coding Horror has a post up about Swoopo, maybe the most perfect storm of variable reward gambling I have ever seen. Get this:

  • Items come up for auction at $0.15!
  • You place bids for $0.75, which raises the price by 0.15 cents and extends the auction by as much as 20 seconds.
  • You have to prepurchase your bids in blocks of 30 or more.
You see the brilliance of this business plan, right?

Let's do the math.  

Bids cost $0.75 for $0.15 move, so for every dollar in the selling price, Swoopo makes five dollars minus the cost of the item.

5 x (auction price) - (retail price) = profit

We'd like profit to be a function of the retail price, so let's build a nice, simple, model of generating profit equal to the retail price.  That gives us:

5 x (auction price) - (retail price) = (retail price)
So, a little algebra:
5 x (auction price) = 2 x (retail price)
(auction price)/(retail price) = discount % = 2/5 = 40%

See that?  At 40% of retail (assuming Swoopo pays retail, which they wouldn't need to) they make profit equal to the retail prices.  If the average is 80% of retail -- which is still enough of a discount for Swoopo to brag about -- they make three times the retail price on every sale!  Their front page currently has $8,000 in retail.  By time those auctions close, they'll generate $16,000 - $24,000 in profit.

Did I mention that you can use a "Bid Buttler" to automate your bids?

I wonder what percentage of their users buy more than one pack of bids, what the dwell time is, etc?  Google trends shows traffic to their site exploding, but still low in absolute numbers.

Sadly, this post will probably increase their traffic in some trivial way.

Tuesday, December 09, 2008

congratulations, cryptic!

Looks like my friends at Cryptic Studios are now working for Atari (again, for some of them). Given the projects Cryptic has in the pipe, this seems like a pretty good deal on all sides. We may all be in a recession, but great tech and great teams seem to always be in demand!

Monday, December 08, 2008

feedback and the appearance of intelligence

One of my undergrad degrees is "Weapons and Systems Engineering," which sounds scarier than it is. Weapons and Systems is basically controls track electrical engineering, but at USNA it's taught within the Weapons and Systems Engineering department. I took the major because it collided nicely with my love of video games and control systems -- plus, where else could you build robots that tried to destroy other robots?

The underlying fun -- both of writing games and building feedback-driven control systems -- is that reacting to the inputs and the world around you is what makes something seem to be alive. Whether a simple Eliza-style chatbot, an enemy AI rider who seeks you out cause you hit them, or a stepper motor tied to a camera that makes a water pistol face track, reacting is what makes things feel smart. Feel intelligent.

Nobody who's worked in that space can fail to love this movie:

It sure feels like our robot overlords are close to arriving.

Saturday, December 06, 2008

some media learnings

I have a lot of computers and media floating around at home and last weekend it was once again time to build some tools to better manage them. Wrote some Ruby and used rb-appscript to bend iTunes to my will. Along the way learned a few lessons:

First, ASTranslate is teh shizznitz.  It takes a pile of AppleScript and spits out working rb-appscript.  Since I really wanted to minimize the amount of AppleScript I needed to learn -- and wanted to be able to work my magic on headless machines, this worked quite well.  Let's say you want to take a Quicktime reference movie, insert it into iTunes, and then trick iTunes into managing it like a TV show:

episode = app('iTunes').add(MacTypes::Alias.path("#{path}/#{name}"))
if episode

Want to search TV shows?

app('iTunes').user_playlists["TV Shows"]. \

Easy peasy. ASTranslate running next to Apple's Apple Script editor and Doug's amazing repository of Apple Scripts made it easy to dig through this stuff.

Second, reference movies. If you use Perian (you do have Perian installed, right?), Quicktime and Front Row will play all kinds of movie types. However, iTunes won't load them. Reference movies are snippets of XML that allow you to work around this:

def create_reference_movie(dir, name, season, destdir)
  def raw_urlencode(str) # need to escape reference name
    str.gsub(/[^a-zA-Z0-9_\.\-\/]/n) {|s| sprintf('%%%02x', s[0]) }
  end"#{destdir}/#{refname}", "w") do |file|
    file.puts("<?xml version=\"1.0\"?>")
    file.puts("<?quicktime type=\"application/x-quicktime-media-link\"?>")
    file.puts("<embed src=\"file:#{raw_urlencode("#{dir}/#{name}")}\" />")

That's right, three lines of XML that you can create -- by hand, even -- to let you drag drop odd formats into iTunes.

Third, a gotcha which makes all of this less cool. Even though iTunes can share and stream video, it turns out that it will not do this for reference movies. Boo!

Fourth, this is well known within the Ruby community, but multibyte string support in 1.8 is weak. Lost a few hours this afternoon to a bug that was obvious once the "oh, strings aren't UTF-8 yet!" thought hit me.

Thanksgiving was mostly about cooking but it was fun to get a bit of coding time in!

Thursday, December 04, 2008


And the combination of economic, foreign policy, and education issues jumped out at me and reminded me of one of my white papers. I went back and found the section that applied:

Certainly, outside experts and people of renown can bring attention and business to a country. Perhaps a single speech or several days of meetings can generate a few new ideas or inspire a local entrepreneur. Unfortunately, the time and costs required to physically transport senior advisors around the world ensure only a very small number of advisors will be asked to participate. This a priori determination of fitness is contrary to virtually everything understood about innovation, where broad approaches are needed. Worse, the nature of an advisory role only focuses brainpower on the nation-state's interests for very short periods of time around specific visits or events. This is reminiscent of the "Eureka!" myth that innovation resides in brief moments of brilliance rather than deep, engaging collaboration. But the real loss is that no matter how brilliant or valuable the strategic advisors are, there is the missed opportunity because the advisors rarely have time to work together. Rather than enabling a collection of great minds to collaborate, cross pollinate, and spend significant time on the problems facing a nation-state, advisory board meetings tend to be whirlwinds of speeches and posturing. It is only the rarest of events that are designed to build the kind oflasting connections so critical to collaboration and innovation.

We need approaches and technologies to help us be smarter, connect across distances, and share knowledge trapped in different networks while emitting less carbon and creating new opportunities. With Lively shutting down and Wonderland unlikely to survive Sun's massive layoffs, how will this affect Second Life during 2009?

Of course, this need goes way beyond Second Life, but that will have to wait for a later post.