Tech

    Young people, a tech tip for you. Listen up!

    Save a piece of cool tech you use today, so you can show it off and bore people in 30 years with how tough you head it when YOU were getting started.

    Apple + NeXT, 25 years ago today.

    Remembering the merger of Apple and NeXT and how anxious we all were and how well it worked out. Also with a new baby.

    Remembering NeXT's Black Monday. Or possibly Sunday.

    NeXT Logo

    NeXT's Black Monday

    Today’s the 28th anniversary of the day in 1993 that NeXT decided to

    1. stop making its iconic black computers
    2. abandon work on a PowerPC-based workstation
    3. try selling its hardware business and factory to Canon
    4. focus on software
    5. rename the company "NeXT Software"
    6. and not insignificantly

    7. lay off 300 of its 540 employees.

    Including me, Systems Engineer for NeXT Canada.

    (Later on, of course, Apple purchased NeXT and its software became the core of iOS, macOS, watchOS and tvOS, all running on hardware that was inconceivable to any of us in 1993.)

    or possibly Sunday

    Looking back at my calendar I see that February 7, 1993 was actually a Sunday, so I might be off by one in my reminiscing. But still. It was kind of a big deal, personally.

    vague reminiscences, previously tweeted

    I remember we all got an urgent voice mail and the entire NeXT Canada office - all 3 of us - were instructed to fly to Chicago immediately for some news.

    That was an interesting trip as Phil, Paul and myself debated exactly what was going on and who was going to be left standing. We knew that the regional manager was out.

    And we all got let go, effective immediately, and - I still can’t believe we felt we needed to do this - we went to visit our big customers back in Toronto in person the following day to let them know what was going on.

    You know those tables where they assign numerical values to various stress factors? Getting laid off was one thing but we had also (2) just bought a house and (3) were expecting child #1. I needed a bigger chart.

    I remain, however, eternally grateful to Trimark Investment Management, one of our biggest NeXT customers, because when we visited them to tell them all of NeXT Canada had been let go, they said “Huh. That’s unfortunate …. Steve do you want to do some consulting for us?”

    Thus began the historic short life of the consulting firm of Steve Hayman and Associates *

    • there were no associates

    One thing I remember from the layoff meeting in Chicago, where somebody I had never met before told me I no longer had a job. “I want to keep my computer.”

    — OK … what computer do you have?

    (Changed the subject quickly. I think I actually had two computers.)

    One other thing I remember. Consulting for Trimark, they had a fleet of NeXT computers, I had one at home, so I bought a portable SCSI hard drive to carry my work back and forth because how else were you supposed to do it in 1993

    a ONE GIGABYTE SCSI hard drive. Massive! And it was only $1000!

    Today for $1000, you’d get, what, 50 terabytes? 50,000 times as much? Storage is 1/50,000 th of what it was? How many other things are 50,000 times cheaper? That’s basically FREE now.

    I know this will come as a surprise to nobody but Steve Hayman and Associates was not exactly a huge success. (I blame the associates, of course.)

    18 months later, as NeXT pivoted to software, the regional team - from Michigan - came to Toronto to present to, I forget who exactly, some bank or something. They kindly invited the entire Steve Hayman and Associates team to attend.

    Before the session started, the NeXT team said in a kind of off-hand way, “Hey Steve, how about you do the presentation?”

    I guess in retrospect it was kind of an audition.

    And, whaddya know, I guess NeXT saw (one of) the error(s) of its ways, and offered me a job again.

    note: it is possible I am still telling the same jokes in presentations, because, you know, Object Oriented programming encourages re-use

    So, miraculously, even though this day in February 1993 was a very stressful low point for me and hundreds of others, I was lucky enough to get drafted by NeXT a second time.

    For a while, NeXT Canada was me in Toronto, and a guy in Vancouver (hi Scott.) We’d phone each other on Memorial Day, or July 4, or US Thanksgiving just to verify the other guy was actually in the office.

    I still have a surprising quantity of NeXT business cards. I keep those with my SCSI cables. Hey, you never know.

    Pi Day

    It’s Pi Day. March 14. 14th day of the third month. And if - for some reason - you insist on writing the date as “3/14”, it kind of looks like π, except that 3/14 = 0.2142857….

    We might all be better off celebrating Pi Approximation Day - July 22, which some would write as 22/7, which is 3.142857… That is much closer to the true value, which is, of course

    3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679....

    I typed that from memory. Trust me.

    So anyway, math lovers will temporarily put aside their advocacy for the one true ISO8601 style of writing the date, which is

    DO NOT ARGUE WITH ME ON THIS
    WRITE THE DATE THIS WAY
    ALWAYS
    2019-03-14

    for one day, in the interests of the greater good of society. We will write the date wrong, just this once.

    Sidebar: The 2000 version of the ISO8601 standard allowed for writing dates with "reduced accuracy", and allowed you to use the notation "--MM-DD" for a date without a year, so you COULD write "--03-14" and be within the standard. But for reasons I don't know, mainly because it costs money to download a copy of the standard, the 2004 version of ISO8601 apparently disallows writing the month without also writing the year.

    Every –03-14 I always wind up thinking about Pi. I can’t help it. Everybody at work is sending me pi jokes and links to pi T-shirts and this is what happens when you make the mistake of standing up in a large team meeting 20 years ago and reciting Pi to 100 decimal places in order to make some point about Applescript programming; you are now “the pi guy” and every year, it never stops.

    do you know a lot of random facts about pi?

    yes

    are they interesting to lots of other people?

    no

    are you going to write a blog post about them anyway?

    eventually

    ok just for now, why do you know π to 100 places?

    well I memorized it to 200 places in grade 10, but I’m getting older.

    why did you memorize it to 200 places in grade 10?

    Because I thought it would impress girls

    did it?

    It took a while. Cathy married me several decades later. It was worth it.

    New shirts for the Moon Shot 1969 50th Anniversary

    fifty years ago

    July 16, 1969. Mom and Dad took my brother and me to Florida to see the Apollo XI launch. I will be grateful to them forever for taking us to see the greatest scientific thing ever.

    I took this picture with my Kodak Instamatic 100. It’s still my favourite picture I’ve ever taken. See that white dot above the two puffs of smoke? That’s Neil Armstrong, Buzz Aldrin and Michael Collins heading to the moon.

    Blurry photo of Apollo XI launch

    We watched this from what is now Parrish Park in Titusville, on the SR 402 causeway heading to the Kennedy Space Center. Dad rented a camper van and we patiently waited it out, along with a million other people…

    Waiting for launch

    and we checked out the same spot in 2015 (this time with a slightly better camera).

    2015

    Oh, and we got souvenir shirts. Here we are, having just returned from Florida in this spacious camper van - me, Mom (who, sadly, didn’t get a shirt), Dad and my brother. Our family in our MOON SHOT 1969 shirts

    Check out the cool shirts with a beautiful late 1960s aesthetic. “MOON SHOT 1969 - I was there.” They weren’t quite bold enough to put the actual launch date on the shirt. Just in case.

    Steve in his shirt

    My sister was a baby at the time and didn’t come along, and I’m sure she has been very tired of hearing for almost 50 years of what an amazing thing this was. And she didn’t get a shirt either.

    I don’t know where my original shirt is. Of course it most likely wouldn’t fit, seeing as how it was probably a boy’s medium, and I’m now an adult extra-medium. Dad still has his - and my brother even wore it to the final Space Shuttle launch.

    christmas 2018

    But with the 50th Anniversary coming up, I thought of a fun Christmas present. How about getting those shirts re-made in the correct sizes? Michael sent me a snapshot of his carefully preserved shirt, and I touched it up (in Pixelmator) and submitted it to Entripy, a great local producer of T-shirts who seem willing to do really small orders when they’re not cranking out 25,000 at once for the Raptors or Leafs.

    I ordered 4 reproductions for me, my parents, and my brother. And then thinking of everyone else we’d see at Christmas, who have all kindly listened to our stories of the Apollo XI launch without complaining, I ordered a few more of a slightly different design. See if you can spot the difference.

    Many thanks to Entripy for doing a great job on these. I hope everyone in my family wears the right one next July 16.

    the designs

    I Was There

    Moon Shot 1969 - I Was There

    I Wasn't There

    Moon Shot 1969 - I Wasn’t There, But I Know Somebody Who Was

    the end result

    The family in our new shirts

    (I’m holding a reproduction of the July 21, 1969 New York Times, headline “MEN WALK ON MOON.” Thanks for that, Michael!)

    a Twitter CFL experiment

    So this is kind of interesting, isn’t it?

    twitter.com/CFLPredic…

    Wow, isn’t that wild. A twitter account called @CFLPredictor that posted exactly one tweet, on June 13, before the season started, correctly calling the outcome of the 106th Grey Cup, played in November! What are the chances of that?

    Well … I gotta come clean; as it happens, I have a pretty good idea what the chances of that are, because I …

    • created the CFLPredictor account on June 10, as a private account not visible to anybody.
    • <li>wrote a script (using a nifty <a href="https://github.com/sferik/t">command line twitter tool</a>) that posted hundreds of variations of the above tweet - essentially, every possible combination of <em>Team A</em> over <em>Team B</em>  
      
      • in a close one
      • in overtime
      • by a touchdown
      • by more than a touchdown
      • in a blowout

      Essentially it did this ..

      #!/bin/sh
      for t1 in BC Edmonton Calgary Saskatchewan Winnipeg Toronto Hamilton Ottawa Montreal; do
          for t2 in BC Edmonton Calgary Saskatchewan Winnipeg Toronto Hamilton Ottawa Montreal; do
      
              if [[ $t1 != $t2 ]]; then
                      tweet "My Grey Cup 2018 Prediction: $t1 over $t2 in overtime."
                      tweet "My Grey Cup 2018 Prediction: $t1 over $t2 in a close one."
                      tweet "My Grey Cup 2018 Prediction: $t1 over $t2 by a touchdown"
                      tweet "My Grey Cup 2018 Prediction: $t1 over $t2 by more than a touchdown."
                      tweet "My Grey Cup 2018 Prediction: $t1 over $t2 in a blowout."
              fi
      
          done
      done
      
      

      To be safe, my script had to include various extremely unlikely options like “Toronto over Hamilton”, because with the CFL’s crossover playoff format, any team can potentially beat any other team.

      (It didn’t post “Toronto over Toronto”. I have my integrity here.)

    • admired the 9 * 8 * 5 = 360 different tweets, none of which were visible to anybody other than me.
    • waited until November 25, Grey Cup day
    • PANICKED because in looking over my script, it had encountered an error months earlier and had neglected to tweet two possible Ottawa-over-Calgary outcomes.
    • on November 25th, watched the game carefully, hoping desperately for anything BUT "Ottawa over Calgary in overtime" and "Ottawa over Calgary in a blowout".
    • watched with relief as when Calgary beat Ottawa 27-16
    • deleted all but one of the tweets
    • made the account public so anybody could see it
    • retweeted the now-visible one remaining tweet [twitter.com/shayman/s...](https://twitter.com/shayman/status/1067155775980736527)
    • sat back and waited for the flood of people to comment WOW, that CFLPredictor account must be either a football genius or some sort of amazing artificial intelligence to have correctly called the outcome of the Grey Cup months before it happened.

    I’m not sure what my plan was going to be if anybody else actually picked up on this but naturally I was hoping it’d get mentioned in the media somewhere.

    To my slight disappointment but ultimate relief, everybody on the Internet must be smarter than me because nobody fell for this fake news ruse.

    So anyway, next time you see an amazing Internet prediction, consider the possible source.

    My name's on your iPhone

    Really. Go find it. I’ll wait.

    Couldn’t find it? Settings > General > About > Legal > Legal Notices. Scroll waaaaaaaay down. Eventually you’ll hit this -

    update - in 2022 it’s in Settings > General > Legal and Regulatory > Legal Notices Legal Notices

    That’s right, Steve Hayman of the Indiana University Computer Science Department.

    What’s all that about?

    In 1989 or so I was working at Indiana University as a network manager in the computer science department. We had a fleet of Apollo and Sun workstations, and one or two of these weird NeXT cube things, which I wound up getting to know pretty well but that’s another story.

    University of California, Berkeley had a popular variant of the UNIX system, which we used at IU on our Suns, including the Sun 3/60 on my desk, that happened to be based extensively on AT&T’s System V.

    Berkeley wanted to get rid of the AT&T parts so that they could make it truly open-source and unencumbered by the AT&T license restrictions, so they put out a call for volunteers to rewrite certain AT&T programs from scratch. (The rules were: you were allowed to study and run the original, and look at the man page, but you couldn’t look at the original AT&T source code.)

    Along with many other people who were much better programmers than me, I volunteered, and they asked me to take a stab at rewriting /usr/games/bcd, which was a silly little program that took text and drew a fake punch card around it.

    BCD output sample

    BCD stands for Binary Coded Decimal, which was the text encoding standard that evolved into EBCDIC (Extended Binary Coded Decimal Interchange Code), as used on punch cards, which I actually used in my first year Waterloo computing course on Fortran, and you would perhaps have liked the conference talk I gave at MacSysAdmin on the history of text encodings from Morse Code to Emoji - but more importantly - this bcd program qualified as high concept computer geek humor back in the day. Also it was in /usr/games! What exciting computer games we had in those days!

    AT&T Unix came with this utility, and I volunteered to rewrite it, and submitted the code to Berkeley. They seemed happy with it and asked me to do another so I also rewrote /usr/bin/join, which is a sort of command line version of the database join function. (That one was way more useful but way less fun to demo.)

    Weirdly, the AT&T version only created 48-column cards instead of the standard 80-column card, but I was intent on copying the AT&T version, so if you ever look at the source you should change this line int columns = 48;

    So anyway I kind of forgot about it, but here we are, decades later. Berkeley UNIX has continued to evolve, and a lot of the Berkeley code found its way into Linux, and MacOS, and even iOS. Needless to say, iOS doesn’t actually include either the bcd or join programs, but it does include a lot of other Berkeley Unix code.

    Apple lists the license agreement and credits for a ton of open source code in its Legal Notices section, and Berkeley, god bless them, has chosen to include the names of all these contributors from long ago. The Berkeley section says This code is derived from software contributed to Berkeley by …. and lists dozens of people, virtually all of whom did something way more important than I did.

    But there it is. I’m sure hardly anybody reads the Legal Notices but it’s the first thing I check when there’s a new iOS release. Just making sure things are still there.

    postscript

    Berkeley unix mutated into OpenBSD and FreeBSD and NetBSD and Linux and MacOS and iOS and watchOS and tvOS and I can’t keep track of it all - but you can see the OpenBSD version of the BCD source here.

    I am really amused that in my efforts to copy the AT&T version exactly, I inadvertently copied a bug from the original! Four years later, Dyane Bruce noticed (and fixed) that Q and R were being punched the same way! ooops.

    old experiments

    The other day my son informed me that the basement family room light turned on at the exact moment someone rang the doorbell. Now, we have some HomeKit automation in our house - light switches, thermostat, etc - but I know our doorbell is not a homekit-enabled doorbell, so that couldn’t possibly be it.

    It must have been just one of those weird coincidences.

    Maybe an electrical glitch.

    Maybe he’s imagining things….

    Today I got thinking about another kind of automation. Is there something I can do so that I can post something once and then it gets automatically submitted to Twitter, Mastodon, Facebook and this blog? Hmm. I know a lot of people like IFTTT, a web based tool where you can make actions happen when something else happens ….I remember looking at that once … I should log in there and see if there’s something.

    So I log in to ifttt for the first time in a long time. And discover this, which has been quietly running away for the past two years:

    IFTTT workflow

    Um.

    Oh.

    Oh THAT. I remember now.

    That explains it. That long forgotten experiment has been turning our basement lights on whenever the doorbell rings for almost three years, completely unnoticed by everybody.

    Well, unnoticed by me.

    Thanks for the tip, Nick.

    (I’ve deleted it. Thank you for your service, my little forgotten ifttt workflow.)

← Newer Posts Older Posts →