If only I knew it was so simple.

"This is the first web browser. The rudimentary one CERN built to view and edit research. I wrote it up here for you to see how simple it is. It takes up one white board."

It's the "{ NULL, NULL }" part that is where the magic happens.

Halt and Catch Fire is... not good. It's pretty much this:

Tags: , , , , ,

18 Responses:

  1. yacu says:

    man I tried to watch HCF then I always got bored and did something else instead. Do you guys like it or am I the weirdo here?

    • jwz says:

      I enjoyed it for the set dressing and props for a while but it's just a dumb soap opera about this group of people who suffer the curse of having invented absolutely everything two years before it happened, having understood with perfect clarity the implications that what they were doing would have decades later, and then blowing it anyway.

      I think they're actually in hell. Just like Lost.

      Seriously though, do not recommend.

      • anon says:

        That they're in Hell seems plausible. Might explain how they had a color NeXT Cube. Oh sure, the NeXT Dimension color video card for the cube had come out that year, but that was a MegaPixel 17" monitor -- look at the distinctive foot -- and those were only ever grayscale.

      • gryazi says:

        So, Commodore.

  2. Chas. Owens says:

    Isn't that { NULL, NULL } just the end of a list of widgets (the same way \0 is used to end a string)?

    • Chas. Owens says:

      Not widgets (the screenshot was blurry), default printer info:

          static NXDefaultsVector myDefaults = {
              { "PaperType", "Letter"},                // Non-USA users will have to override
              { "LeftMargin", "72"},                   // (72) Space for ring binding
              { "RightMargin", "36"},                  // (72) Note printers need some margin
              { "TopMargin", "36"},                    // (108) All margins in points
              { "BottomMargin", "36"},                 // (108) PrintInfo defaults in brackets
              { NULL, NULL}                            // Terminate list.

      I was willing to give the benefit of the doubt (maybe an early version of WorldWideWeb was very simple), but they just put the contents of WorldWideWeb_main.m (72 lines of, effectively, boilerplate) on the whiteboard. The whole app was around 9905 lines of code (counting comments and blank lines, but not including the nib which holds most of the user interface).

      Interesting side note: it looks like Tim Berners-Lee couldn't make up his mind on the tab vs space debate. Tabs (8 character) are mixed freely with spaces for indentation and tabs are used for alignment, not just indentation. Looks like mostly K&R style with four space indent.

      Speaking of K&R, it looks like he also wrote it to work with pre-ANSI compilers:

      #ifdef __STDC__
      char * HTParse(const char * aName, const char * relatedName, int wanted)
      char * HTParse(aName, relatedName, wanted)
          char * aName;
          char * relatedName;
          int wanted;

      • Jeremy Leader says:

        Not just boilerplate, machine-generated boilerplate.

        It amuses me that someone copied the "TBL" comments on the import statements to the whiteboard, and decided that the forward slashes of the comment delimiters should be diagonally aligned.

        Now I'm curious what "TBL" stands for (the history comment "27 Feb 91 Modified TBL to initialise NXArgv early on" suggest that it might not be "Tim Berners-Lee" as I originally assumed, unless he left out "by" after "Modified").

        • Chas. Owens says:

          TBL is Tim Berners-Lee, in the days before source control it was common to leave your initials next to modifications to let people know who to ask/blame.

          • Nick says:

            I worked at IBM 7 years ago and the old timers still insisted on this fucking convention.

        • jwz says:

          Maybe Fake Don Draper / Steve Jobs didn't understand that there was more than one file. But I guess he wrote the second half of that file on the other side of the whiteboard.

          Also, One Dimensional Boyfriend had a little rant about how he "has a problem with Open Source", which was very prescient of him in 1990... since that term was invented in 1998.

          • Josh says:

            On the show, fake Don Draper is explicitly not a coder. So maybe this was intentional

  3. Jon Konrath says:

    Why do you even need a web browser when you can just build on top of the fully-animated high-res graphical MMO client you have running on a stock Commodore 64?

  4. MattyJ says:

    Using two different commenting styles in the code. What an asshole.

  5. winston says:

    Despite all that, I kind of enjoyed it for the memories it triggered. Although I'm still puzzled by the edition of K&R C that Gordon was using in series 2 - the cover had red text on a blue background, as opposed to the regulation blue text on a white background.

  6. My mom keeps asking me what I thought of the latest HCF episode and can't process that I don't watch it.

  7. Patrick Star says:

    Is it just me that noticed the off-by-one when reading the actual code?
    Turns out TBL isn't (or wasn't at that time) such a great programmer :-).