« May 2007 | Main | July 2007 »

June 2007

June 26, 2007

When is 12 mpg better than 100 mpg?

Ian Wright changed the way that I thought about fuel efficiency in motor vehicles. And I suspect that he changed the minds of a few other folks at Foo camp as well.

The math is pretty simple (but totally not obvious if you don't do it). Consider that the average driver travels 12,000 miles per year. If that driver were in a 10 mpg car, they would consume 1,200 gallons of gas. If we could improve the fuel efficiency of his car to 12 mpg, he would consume 1,000 gallons of gas, for a net savings of 200 gallons.

Contrast that to a driver of a modern hybrid. If they were running 50 mpg, they would consume 240 gallons of gas. Improving that number to a lofty 100 mpg would net a savings of only 120 gallons.

The bottom line is that there's not a lot more you can do when you're at 50 mpg, but there's an awful lot that you can do when you're at 10 mpg.

Ian Wright

And there are a lot of vehicles right now that come in at near those levels:

Top-selling vehicles in the US in 2006:

  1. Ford F-Series pickup (545,963)
  2. Chevy Silverado pickup (434,937)
  3. Toyota Camry (302,636)
  4. Toyota Corolla (274,074)
  5. Honda Accord (250,663)
  6. Dodge Ram pickup (250,144)
  7. Honda Civic (225,212)
  8. Chevy Impala (197,304)
  9. Chevy cobalt (163,343)
  10. Nissan Altima (154,909)

If the goal is to reduce the total number of gallons of gasoline consumed, we need to focus on the problem areas (low mpg vehicles). That's what Ian is trying to do with his startup company: prove that his electric technology is viable in low mpg vehicles where people are willing to pay for performance (aka supercars - his X1 prototype has better performance than any other production car short of a Bugatti Veyron).

Once his technology is proven, then we can see if electric powered pickup trucks would be a viable market.

That's one of the great things about Foo camp: how a serendipitous encounter with someone can change the way you look at the world.

June 24, 2007

Steve Yegge ported Rails to JavaScript

Board

One of the first talks that I went to at Foo Camp was called "Google Rails Clone" by Steve Yegge. With a title like that, how could I resist?

Google uses four different programming languages: C++, Java, Python, and JavaScript. Apparently, nobody likes writing web front ends in Java, not even Google who has a lot of web front end code in Java.

In an effort to increase developer productivity at Google, Steve tried to convince the company to adopt Rails (and consequently Ruby) as a programming language. When that fell on deaf ears (Google really does not want to increase the number of languages that must be supported by their infrastructure), Steve decided to do what any other frustrated programmer would do: he ported Rails to JavaScript. Line by line. In 6 months. Working 2000 hours. Steve is a coding stud.

Steve Yegge

It runs on top of the Rhino JavaScript engine that runs on the JVM. He also fixed some bugs along the way, and tightened up security considerably (lesson: working with your security organization in the early stages of a framework, even a port, saves you tons of time and pain later). You can see how Steve became rather enamored with JavaScript, when he proclaimed that it would become the Next Big Language.

Maybe it will be. The forthcoming optional static typing in EcmaScript 4 will also give his Rails implementation a big performance boost.

This is seriously cool. Thanks for sharing the story!

Foo Camp + electric car == fun

One of the highlights of Foo camp was a ride in Ian Wright's X1:

X1

The electric motor in this supercar puts out 1500 ft-lbs of torque at the rear wheels. We pulled 0.83g on acceleration, 1.30g on the right hand turn into the O'Reilly parking lot, and 1.20g at max breaking in the parking lot.

Wow.

June 19, 2007

Foo Camp can influence you before you go

Sample Foo Camp Schedule Board

It should be a fun weekend at Foo Camp. I attended one of the first Bar Camps in Toronto in January of 2006, and I really liked the un-conference style. I even sponsored it through ObjectSharp, the company I was a partner at before I came to Microsoft to build IronRuby. I met a ton of folks in the Toronto start-up scene there, and remain in contact with a lot of those folks today.

One thing that Foo Camp made me do was to take a closer look at social networks. Folks who are at Foo Camp are part of a social network created by the folks over at CrowdVine. Shortly after I got my invitation, the Foo Camp CrowdVine network was created, and I started playing around with the software. At roughly the same time, a friend at Microsoft 'friended me' on my largely dormant Facebook account. I responded, looked through his friend list, added some friends in common and got hooked on the idea.

Most folks my age (39) aren't in Facebook. I found exactly two people from my high school, and two more from college (although strangely enough, my Ph.D. thesis supervisor is there ...). However, I found an awful lot of folks from the Ruby community and the startup community. I also found lots of younger folks at Microsoft, and some older folks who are trying to figure out this new medium.

What strikes me is how there is a winner-take-all networking effect happening with Facebook. I doubt that I'll keep my CrowdVine network around; instead I'll try to convince folks that I meet at Foo Camp who aren't already on FaceBook to join that instead. And with all of the recent buzz around Facebook, that's hardly surprising.

Give it a try, you'll never know who you'll run into.

June 15, 2007

Vibrant Ink, Visual Studio and Vim settings

VS and Vim Settings

I'm a big fan of the Vibrant Ink theme for Textmate. I spent some time last year porting the color scheme to both vim and Visual Studio - that's what you can see in the screenshot. I'm releasing my _vimrc and vssettings files if you want to experiment with this stuff in your local configuration.

I also use ViEmu in Visual Studio so that I can use the same keybindings everywhere. This is especially important if you're doing Windows development on a Macbook Pro since there are missing keys - and the key chords that you have to use daily on a MBP to achieve equivalent functionality to a standard PC keyboard are annoying at best, or will lead to RSI at worst.

You may notice an inconsistency between my vim and VS settings. I was a two-space indent guy before coming to the company, but everyone else around here has a thing for four-space (not tab- yay!) ident, so I caved.

Update: I'm an even bigger fan of Fusion now, since the crazy race condition problem for grabbing a wireless network connection here on corpnet seems to be gone. This problem manifests itself when I suspend my MBP by closing its lid. When I open the lid, both the Mac OS and Windows machines try to grab their own wireless connection on corpnet (I cannot use NAT). Under Parallels, this would result in my laptop getting booted off corpnet (maybe 50% of the time) until I shut down Parallels, waited until my host OS got a connection to corpnet, and then restarted Parallels. This wasted a ton of time, and resulted in me walking around a lot with the lid open ...

June 13, 2007

VMWare Fusion Rocks

VMWare Fusion Beta 4

I've been a loyal Parallels User for their first two versions. However, there are two things that drive me crazy with Parallels:

1) Too many keystrokes are passed back to Mac OS while running in full screen mode. For example I use Shift-F11 in Visual Studio a lot and I had to remap it to Ctrl-Shift-F11 to avoid the slow motion reveal desktop.

2) Idle mode performance is abysmal. When XP is sitting idle, I regularly see CPU utilization > 25% over both cores. Needless to say that this kills battery life while working in Windows.

So far, VMWare Fusion Beta 4 is very usable. The annoying keystroke passthrough behavior is not there (yay!) and the idle time performance is much, much better - I'm seeing < 20% across a single core right now.

Looks like a keeper.

June 09, 2007

JRuby Goes 1.0!

Pooh!

Congratulations to Charlie, Tom, Ola, Nick and the rest of the JRuby dev team for getting to 1.0! I hope you guys are gathering together somewhere nice to celebrate the accomplishment!

June 08, 2007

Microsoft Surface

It's one thing to see one of these things on YouTube, it's another thing entirely to see one running in front of you. This morning, I went over to Building 33 to see a demonstration of a Surface computer. Wow. It's definitely real, and the possibilities are quite remarkable.

The core OS is Vista, with WPF as the rendering engine. It really is quite remarkable how far managed code has come. It would be a lot of fun to imagine what a Ruby-based shell programming environment for a surface computer would look like ...

From the it's a really small world department, I discovered that the dev manager for Surface is the same dev manager that brought me in to Visio back in 1998(?) to teach a COM class.

June 06, 2007

Buck Compton at Microsoft

Buck Compton

Today was the 63rd anniversary of D-Day. Microsoft arranged for LT Lynn "Buck" Compton to come speak on campus. I had the honor to meet him during the autograph signing before his talk. The picture above is one that I took today. This is what he looked like while he was in the service:

Buck Compton

Buck became famous because his unit, Easy Company, 2nd Battalion, 506th Parachute Infantry Regiment, 101st Airborne Division was featured in Stephen Ambrose's famous book, Band of Brothers, which was later made into an HBO mini-series by Steven Spielberg and Tom Hanks. Buck was played by Neal McDonough.

The actual talk was mixed. He opened up with a very humble speech about how his unit was like so many other units over there, but the only reason why he was here at Microsoft was because one of the guys in his unit was friends with Stephen Ambrose. He took offense to his being called a 'hero' because he felt that the real heros were the guys who didn't come back, or those who came back home but not quite in one piece.

Then it turned into a bit of a rant about a few things that I guess he felt that he had to get off of his chest. But when things were focused back on his experiences in WWII during the Q&A session, his charm and wit came across clear as day.

A few random tidbits for folks who watched the mini-series:

  • Buck didn't smoke or drink until after his service, unlike his character in Band of Brothers
  • Yes, he did get shot in the butt
  • He lost his leg pack on his jump into Normandy because the pilots were 'in a hurry' - the plane was going too fast and the prop wash ripped his leg pack from him

June 05, 2007

Getting Started with the DLR: ToyScript

House

At the Compiler DevLab that we hosted a couple of weeks ago, we threw together a quick starter kit for folks interested in building languages on top of the DLR. You can grab a copy of ToyScript here.

The DLR experiences presentation that I gave at the DevLab is probably the best source of docs (outside of the IronPython 2.0 Alpha sources) for folks interested in building a compiler using the DLR.

Update: fixed the link to the DLR Experiences talk.

Photos

  • www.flickr.com
    This is a Flickr badge showing public photos from John Lam. Make your own badge here.

April 2008

Sun Mon Tue Wed Thu Fri Sat
    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30      
Blog powered by TypePad