Tuesday, September 27, 2011

About Me

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 and had some adventures. 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.

16 comments:

  1. This is quite educational arrange. It has famous breeding about what I rarity to vouch. Colossal proverb.
    This trumpet is a famous tone to nab to troths. Congratulations on a career well achieved. This arrange is synchronous s informative impolites festivity to pity. I appreciated what you ok extremely here 


    Selenium training in bangalore
    Selenium training in Chennai
    Selenium training in Bangalore
    Selenium training in Pune
    Selenium Online training

    ReplyDelete
  2. 360DigiTMG, Indore is a leading solutions provider of Training and Consulting to assist students, professionals by delivering top-notch, world-class classroom and online training. It offers AI course in indore.

    ReplyDelete
  3. Keep share such valuable Content. Very helpful and knowledgeable, After Seeing this article it was awesome and very valuable.

    Tableau Online Training

    ReplyDelete
  4. Hello, Great. I really like your blog. You did assemble and managed teams of developers and delivered products that millions of people use every day. And I see your programs. If any of you need help with assembled and managed teams of developers, Best Assignment Help can get help from the service. And I have read about your program. I am so impressed by your work.

    ReplyDelete
  5. fantastic article. Very tempting to droop. I in fact adulation to entre this kind of plausible article. thank you! keep rocking. Clash Of Clans Hacks 2022

    ReplyDelete
  6. pleasant to right of proper of admission your article! i'm looking speak to to sharing your adventures and studies. thank you! keep rocking. Wirecast Pro Torrent

    ReplyDelete
  7. Its a cozy delight reading your claim.Its full of aspire i am looking for and i lionize to claim a comment that "The content material of your proclaim is incredible" extremely good accomplish..... Happy Memorial Day 2022

    ReplyDelete
  8. The Importance of Time Management in Assignment Writing is essential when it comes to co-founding startups and delivering products. This also holds true for assignment writing. By managing one's time properly, assignment writing can be completed in a timely and efficient manner. Even when working on a tight deadline, taking the time to plan out each step and allot specific amounts of time to complete certain tasks can help to ensure the assignment is completed properly and on time.

    ReplyDelete
  9. I want to express my gratitude for taking the time and effort to write this post. I'm hoping you'll keep producing your very finest work in the future as well.
    Web Designing course in Hyderabad

    ReplyDelete
  10. Excellent article. This was a very interesting essay to read.I'd want to thank you for the time and attention you put into creating this excellent post. This was a very interesting essay to read.I'd want to thank you for the time and attention you put into creating this excellent post.
    selenium training in hyderabad

    ReplyDelete
  11. "Informative article! It's crucial to stay updated on Twiddling the Bits, appreciate the effort you put into your content Thanks for keeping us in the loop."
    Azure DevOps training institute in KPHB

    ReplyDelete
  12. I read full essay your post is very intresting and informative i want to thanks by the way any one find the best assignments service so we are provide cheap asignments service uk nursing dissertation examples i guess enough my side.

    ReplyDelete