Profile

Cover photo
David Stafford
Works at Lab126
Lives in Cupertino, CA
2,980 followers|53,141 views
AboutPostsPhotosVideos
People
Have him in circles
2,980 people
Charlie Kindel's profile photo
Robert Dobelina's profile photo
Joel Natividad's profile photo
Cute Baby Animals's profile photo
Camilla Nira's profile photo
Joshua O'Connor's profile photo
Jim Greer's profile photo
Kuhan Perampaladas's profile photo
Uli Oreggia's profile photo
Work
Occupation
Sr. Manager, Emerging Technologies
Employment
  • Lab126
    present
  • metadata labs
    CEO, 2012
  • Microsoft
  • Eclipse Entertainment
  • Cinematronics
  • Borland
  • IBM
  • Electronic Data Systems
Basic Information
Gender
Male
Story
Tagline
Twiddling the bits.
Introduction
I am a computer programmer and I love building things.

I have co-founded four startups, assembled and managed teams of developers and delivered products that millions of people use every day.

Some bits of trivia:

Remember that pinball game that shipped with Windows from Windows95 through XP? That was made by me and my co-founders at my first startup, Cinematronics. We were later acquired by Maxis.

My second startup, Eclipse Entertainment, created the first browser-based 3D graphics engine. It was acquired by WildTangent.

I built a compressor called Quantum and for a few years in the 90s it was the best-performing lossless data compressor. It was the first compressor with a workable solution to the optimal parsing problem and typically outperformed PkZip by 20%-30%. Borland, Microsoft and Novell licensed it. Microsoft used it for their .CAB files (it knocked two diskettes off the size of Windows) and almost all of their products were compressed with Quantum.

I created World Class Chess which was the first commercial chess program which offered a user-configurable opening book library. I made it configurable so my chess-playing friends would populate the opening book for me. That plan back-fired in an amusing way: They tended to enter whatever obscure openings they were studying at the time. As a result the program liked to play openings it couldn't understand and when it exhausted its book it proceeded to waste time rearranging its pieces to match its own ideas about pawn structure, mobility and king safety. (If you're a programmer you might enjoy thinking about how to represent a chess opening book library in just 8 bits per move. It used to be important to fit it in as little space as possible.)

I created Launch, a Windows shell that replaced the dreaded Program Manager. It sold well for a few years and had a community of enthusiastic users.

I created Savant, the first Scrabble game that was fast enough to do a tree search in the end-game. Its middle-game was weaker than the best program at the time but it made up for it with near-perfect end-game play. Computers are faster now and the best Scrabble games today do Monte-Carlo simulations at all stages of the game.

I built and shipped (in Encarta) a natural-language search engine at Microsoft. Its accuracy outperformed our best keyword-based search engine at the time.

Optimizing for performance is one of my passions. You can read about a couple of my programs at the following links:

There Ain't No Such Thing As The Fastest Code
http://downloads.gamedev.net/pdf/gpbb/gpbb16.pdf

It's a Wonderful Life
http://downloads.gamedev.net/pdf/gpbb/gpbb18.pdf

I wrote much of Borland's Turbo C run-time library. I often think back to what a great experience it was to be a part of that team. The stars were aligned for Borland in those days. It was magical and, in many ways, you could say that I've spent much of my career attempting to recreate that magic. I've come close but have never been totally successful. Such things are rare. I was too young to appreciate it at the time.

My interests are focused around machine learning, natural language processing, information theory, high-performance computing and scalability.

I lived and worked in Japan for two years though I've pretty much forgotten what little Japanese I once knew.

I enjoy games and puzzles: Go (Weiqi/Weichi/Baduk), Chess and Scrabble.

In 2002 I took a year off and rode a motorcycle around the world.

I was interrogated by the Russian secret police and told them everything I knew in great detail. They grew bored and let me go.

Some things I believe: Working with good people is soul-enriching. Mentoring younger people is a way of repaying those who mentored me. Shipping is hard but real artists ship. Nothing can replace perseverance.
Bragging rights
Took me two tries but I'm now married to the perfect woman and have three wonderful step-children.
Places
Map of the places this user has livedMap of the places this user has livedMap of the places this user has lived
Currently
Cupertino, CA
Links

Stream

David Stafford

Shared publicly  - 
 
A great story. Even something as simple as a connector for geodesic domes takes years of trial and error to evolve.
How it took two degrees in design and six years of development for me to create a rubber hexagon with holes in it.
5
3
Jeroen Wiert Pluimers's profile photoRyan Derrick's profile photo
Add a comment...

David Stafford

Shared publicly  - 
 
Here's a little backstory from my old friend, Alex St. John. Alex, you are far too generous!
4
Simon Stuart's profile photoChang Yuan's profile photo
2 comments
 
Fascinating story with nice pictures. I didn't know you and Mike are connected so long ago. It was great pleasure working with you guys.
Add a comment...

David Stafford

Shared publicly  - 
 
It appears as if I am keeping a close eye on Jeff. Actually, it was the other way around!
4
Guenael Strutt's profile photo
 
Ah, the sexy LED frames!
Add a comment...

David Stafford

Shared publicly  - 
 
The best essay I've read all week. Don't worry about looking foolish for asking questions. Worry about being foolish for not asking questions.
Going to Harvard means I have the very unique opportunity to be around a lot of smart people. Now, when I say “smart people,” I don't mean that guy who always wins trivia night. I mean, blazingly ...
5
2
Buddy Sutter's profile photoDavid Peet's profile photo
Add a comment...

David Stafford

Shared publicly  - 
 
Handy tip for programmers: The IEEE floating point format was designed so incrementing a float as an integer will, in most cases, move the float to the next representable real number.
Type Punning is Not a JokeI left the last post with a promise to share an interesting property of the IEEE float format. There are several equivalent ways of stating this property, and here are two of...
3
Terje Mathisen's profile photo
2 comments
 
Another useful property follows: You can round up by incrementing, with no need to check if this caused the mantissa to overflow!
Add a comment...

David Stafford

Shared publicly  - 
3
Victor Henderson's profile photo
 
Very nice David!
Add a comment...
Have him in circles
2,980 people
Charlie Kindel's profile photo
Robert Dobelina's profile photo
Joel Natividad's profile photo
Cute Baby Animals's profile photo
Camilla Nira's profile photo
Joshua O'Connor's profile photo
Jim Greer's profile photo
Kuhan Perampaladas's profile photo
Uli Oreggia's profile photo

David Stafford

Shared publicly  - 
 
If you're near Santa Clara tomorrow evening come and watch startups in the robotics field pitch to investors. I have the honor of judging these promising startups. It's going to be a fun event!
1
Add a comment...

David Stafford

Shared publicly  - 
 
Here is the video of today's introduction of the Amazon Fire Phone.
6
1
Simon Stuart's profile photoJessica Quinlan's profile photo
 
Congratulations :)
Add a comment...

David Stafford

Shared publicly  - 
 
The secret project is finally out in the open. My team built the head tracker behind Dynamic Perspective and the gesture recognizer behind the Tilt panels. I am bursting with pride at what we have accomplished! Amazon Fire Phone!
Fire, the first smartphone designed by Amazon and the only smartphone with Dynamic Perspective, Firefly, Mayday, and more. Shop Now.
11
1
David Stafford's profile photoEric Deily's profile photoTerje Mathisen's profile photoScott Greiff's profile photo
11 comments
 
So this is the ultra secret project where it would have been impossible to contribute from far away in Norway!

Congratulations!
Add a comment...

David Stafford

Shared publicly  - 
 
Farewell and Godspeed, Neil Armstrong.
5
Add a comment...

David Stafford

Shared publicly  - 
 
Replacing body parts by printing them. Incredible!
3
1
Jason Robar's profile photo
Add a comment...

David Stafford

Shared publicly  - 
 
Gary Bernhardt points out some absurdities in programming languages. Guaranteed to make you laugh.
Wat. A lightning talk by Gary Bernhardt from CodeMash 2012. The sarcasm in this talk does not represent anyone's actual opinion. For a more serious take on software, try Destroy All Software Scree...
7
5
Todd Sprang's profile photoAndreas Mueller's profile photo
Add a comment...