About natbro

This is a blog of my rants and ruminations about the past, present, and future.

I’m Nat Brown, aka natbro, aka n@, natbro@gmail.com. I grew up in Fairbanks, Alaska and Palo Alto, California. I went to college at Harvard and graduated with a degree in Computer Science in 1992. I started working at Microsoft in 1990 as a summer intern, working as a developer on Microsoft Publisher, an entry-level desktop publishing application for the newest version of Windows at that time – 3.1. I wrote 16-bit and then 32-bit code, specializing in Object Linking and Embedding (OLE) and Component Object Model (COM) technologies. In 1995 I shifted over to the System Group and worked on OLE and COM as a technical program manager, then as an architect in the Systems Division working on long-term planning. In 1997 I co-designed COM+, a next-generation object model and set of language extensions which unfortunately turned into .NET, the CLR, and eventually C#. In 1999 while working on long-term systems strategy, I joined a small group of crazies and helped sell the idea of XBox throughout the organization and get it funded to the tune of $1B by BillG and SteveB.

I left Microsoft in late 1999 to spend all my time and energy on being present as a dad. Parenting is cooler and harder than Microsoft and any startup I’ve ever done.

I have joined and/or started a few startups since 2004. Some successful, like iLike.com, which was the #1 Facebook app in the early days, where I was CTO, sold to MySpace in 2009, and rel8tion, a mobile brand-advertising network & technology sold to Facebook in 2011. Others, less successful and lost to history 🙂

I currently write apps for iOS, do local angel investing, and consult with startups and sometimes larger companies about their mobile strategy.

I live in Seattle, Washington with my two cats, my two great kids, and my amazing wife, Tina, formerly a techie, now a talented midwife who owns and operates Center for Birth.

8 Responses to “About natbro”

  1. SomeDude February 13, 2013 at 5:35 am #

    “…unfortunately turned into .NET, the CLR, and eventually C#…”

    What would you personally prefer to have happened?

    • natbro February 13, 2013 at 7:01 am #

      The original next stage for COM, 1997’s COM+, was not a shift to a virtual-machine/byte-code system, it was an extension to the original COM ABI (http://en.wikipedia.org/wiki/Application_binary_interface) or binary calling convention as well as language features to make programming easier. The easiest way to think about it is is that it was to be like current Objective-C with ARC, but without some of Objective-C’s quirkiness (Objective-C was even quirkier back in 1997). For example,
      someObj->QueryInterface(some_iid, &castObj)
      castObj = (some_interface *)someObj
      and someObj->AddRef and ->Release were done by the compiler (as happens with ARC).
      COM+ was intended to be low-overhead enough to be utilized as deep into the operating system as needed, even to the kernel.
      We had a big architectural fight lasting about 6mo. Microsoft was looking for some way to compete more directly with Sun/Java and also for some place to put a fairly good-sized JavaVM team which had scuttled it’s own Java VM.
      I lost this battle, and Microsoft has lost a lot of ground, which is fodder for some future post.

      • SomeDude February 13, 2013 at 8:35 am #

        That would be a nice post! It feels that .NET vs Java, CLR vs COM+ and C# vs Objective C are kind of separate questions with possibly different answers. I would not mind having C# that spits out native code directly :).

  2. Gerald Hinson February 13, 2013 at 9:45 am #

    @SomeDude Your statement above is reasonable, but M$FT’s culture at the time was akin to Highlander (“There can be only one.”), especially as related to (cue Jaws theme) “The Programming Model.” Many reasonable and complimentary projects were killed so that one could control it all.

    • natbro February 13, 2013 at 12:46 pm #

      Gerald is right, it was quite a long sword-fight. The fact that the VM team had some truly exceptional 10x engineers and their lead Mike Toutonghi made some threats about all of them and him quiting if we didn’t take the VM route, along with David Vaskevitch having a deranged long-term vision that a VM would give him cool stored procedures inside MS SQL Server made this an impossible to win fight. I had some pull with BillG, but DavidV always had a lot more pull.

      • Ted Hase February 14, 2013 at 11:41 am #

        It sure is nice to see one of the old “warriors” still fighting the good fight!

      • natbro February 14, 2013 at 12:03 pm #

        ted! i miss you!

      • Ted Hase February 14, 2013 at 3:02 pm #

        Likewise, my good friend, likewise.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: