Brad Frost plays drums to the albums he knows intimately, but has never drummed to before. Cover to cover. No warm-up. No prep. Totally cold. What could possibly go wrong?
I got a kick out of watching him play along to Radiohead’s In Rainbows and The Decemberist’s The Crane Wife.
But I kind of stopped paying attention to them after they released The Hazards Of Love. Not because I didn’t like that album. Quite the opposite. I love that album. I think in my mind I kind of thought “That’s it, they’ve done it, they can go home now.”
It’s exactly the kind of album I should not like. It’s a concept album. A folk-rock opera.
When I was growing up, concept albums were the antithesis of cool. Prog rock was like an insult.
You have to remember just how tribal music was back in the ’70s and ’80s. In my school, I remember the divide between the kind of people who listened to The Cure and The Smiths versus the kind of people who listened to Prince or Queen. Before that you had the the mods and the rockers, which in hindsight makes no sense—how are The Who and The Jam not rockers?
Looking back now, it’s ridiculous. I get the impression that for most people growing up in the last few decades, those kind of distinctions have been erased. People’s musical intake is smeared across all types and time periods. That is a good thing.
Anyway, a folky prog-rock opera like The Hazards Of Love is exactly the kind of thing that past me would’ve hated. Present me adores it. Maybe it’s because it’s got that folky angle. I suspect Colin Meloy listened to a lot of Horslips—heck, The Decemberists even did their own mini version of The Táin.
Speaking of mythic Irish language epics, I really like John Spillane’s Fíorusice:
Fíoruisce - The Legend of the Lough is a three-act Gaelic folk opera composed by Irish artist John Spillane. It is a macaronic or bilingual work. The work is an imagined re-Gaelicization of the Victorian Cork fairytale Fior-usga collected by Thomas Crofton Croker in the 1800’s and published in his book Fairy Legends and Traditions of the South of Ireland (1828). The story is a surreal tale culminating in a drowned kingdom, which as lore tells us, becomes The Lough in Cork city as we know it today. They say, you can see the tops of the underworld towers on a clear day and hear the music of their big party on Midsummer’s night.
Yup, it’s another concept album. And funnily enough, past me was not a fan of John Spillane either.
I first heard him when he was part of a trad band called Nomos in Cork in the early ’90s (the bódhran player’s mother was friends with my mother). I really liked their tunes but I thought the songs were kind of twee.
Over the years, the more of his songs I heard, the more I understood that John Spillane was just being completely open and honest. Past me thought that was twee. Present me really respects it. In fact, I genuinely love his songs like Johnny Don’t Go To Ballincollig and All The Ways You Wander.
And then there’s Passage West. It’s a masterpiece. I might be biased because Passage West is the next town over from Cobh, where I grew up.
So yeah, Fíorusice is something that past me would’ve disdained:
The show itself was an unbelievable outpouring of energy and love. I couldn’t help but imagine if anyone in the audience had decided to go on a lark, not knowing anything about it. I would think they would have been pretty damn impressed. This wasn’t just a couple of nerds poking around at instruments (except me), these were some serious musicians giving it their all.
It all started back in July of last year when I got an email from Brad:
Next summer I’m turning 40, and I’m going to use that milestone as an excuse to play a big concert with and for all of my friends and family. It’ll sorta be like The Last Waltz, but with way more web nerds involved.
Originally it was slated for July of 2024, which was kind of awkward for me because it would clash with Belfast Trad Fest but I said to mark me down as interested. Then when the date got moved to August of 2024, it became more doable. I knew that Jessica and I would be making a transatlantic trip at some point anyway to see her parents, so we could try to combine the two.
In fact, the tentative plans we had to travel to the States in April of 2024 for the total solar eclipse ended up getting scrapped in favour of Brad’s shindig. That’s right—we chose rock’n’roll over the cosmic ballet.
Over the course of the last year, things began to shape up. There were playlists. There were spreadsheets. Dot voting was involved.
Anyone with any experience of playing live music was getting nervous. It’s hard enough to rehearse and soundcheck for a four piece, but Brad was planning to have over 40 musicians taking part!
We did what we could from afar, choosing which songs to play on, recording our parts and sending them onto Brad. Meanwhile Brad was practicing like hell with the core band. With Brad on bass and his brother Ian on drums for the whole night, we knew that the rhythm section would be tight.
A few months ago we booked our flights. We’d fly into to Boston first to hang out with Ethan and Liz (it had been too long!), then head down to Pittsburgh for Frostapalooza before heading on to Florida to meet up with Jessica’s parents.
When we got to Pittsburgh, we immediately met up with Chris and together we headed over to Brad’s for a rehearsal. We’d end up spending a lot of time playing music with Chris over the next couple of days. I loved every minute of it.
The evening before Frostapalooza, Brad threw a party at his place. It was great to meet so many of the other musicians he’d roped into this.
Then it was time for the big day. We had a whole afternoon to soundcheck, but we needed it. Drums, a percussion station, a horn section …not to mention all the people coming and going on different songs. Fortunately the tech folks at the venue were fantastic and handled it all with aplomb.
We finished soundchecking around 5:30pm. Doors were at 7pm. Time to change into our rock’n’roll outfits and hang out backstage getting nervous and excited.
I wasn’t playing on the first few songs so I got to watch the audience’s reaction as they realised what was in store. Maybe they thought this would be a cute gathering of Brad and his buddies jamming through some stuff. What they got was an incredibly tight powerhouse of energy from a seriously awesome collection of musicians.
I had the honour of playing on five songs over the course of the night. I had an absolute blast! But to be honest, I had just as much fun being in the audience dancing my ass off.
Oh, I was playing mandolin. I probably should’ve mentioned that.
The first song I played on was The Weight by The Band. There was a real Last Waltz vibe as Brad’s extended family joined him on stage, along with me and and Chris.
Later I hopped on stage as one excellent song segued into another—Maps by Yeah Yeah Yeahs.
I’ve loved this song since the first time I heard it. In the dot-voting rounds to figure out the set list, this was my super vote.
You know the way it starts with that single note tremelo on the guitar? I figured that would work on the mandolin. And I know how to tremelo.
Jessica was on bass. Jessi Hall was on vocals. It. Rocked.
I stayed on stage for Radiohead’s The National Anthem complete with horns, musical saw, and two basses played by Brad and Jessica absolutely killing it. I added a little texture over the singing with some picked notes on the mandolin.
Then it got truly epic. We played Wake Up by Arcade Fire. So. Much. Fun! Again, I laid down some tremelo over the rousing chorus. I’m sure no one could hear it but it didn’t matter. Everyone was just lifted along by the sheer scale of the thing.
That was supposed to be it for me. But during the rehearsal the day before, I played a little bit on Fleetwood Mac’s The Chain and Brad said, “You should do that!”
So I did. I think it worked. I certainly enjoyed it!
With that, my musical duties were done and I just danced and danced, singing along to everything.
At the end of the night, everyone got back on stage. It was a tight fit. We then attempted to sing Bohemian Rhapsody together. It was a recipe for disaster …but amazingly, it worked!
That could describe the whole evening. It shouldn’t have worked. It was far too ambitious. But not only did it work, it absolutely rocked!
What really stood out for me was how nice and kind everyone was. There was nary an ego to be found. I had never met most of these people before but we all came together and bonded over this shared creation. It was genuinely special.
Days later I’m still buzzing from it all. I’m so, so grateful to Brad and Melissa for pulling off this incredible feat, and for allowing me to be a part of it.
And then in the middle of this traumatic medical emergency, our mentally-unstable neighbor across the street began accosting my family, flipping off our toddler and nanny, racially harassing my wife, and making violent threats. We fled our home for fear of our safety because he was out in the street exposing himself, shouting belligerence, and threatening violence.
After that, Brad started working with Project Healthy Minds. In fact, all the proceeds from Frostapalooza go to that organisation along with NextStep Pittsburgh.
Just think about that. Confronted with intimidation and racism, Brad and Melissa still managed to see the underlying systemic inequality, and work towards making things better for the person who drove them out of their home.
Good people, man. Good people.
I sincererly hope they got some catharsis from Frostapalooza. I can tell you that I felt frickin’ great after being part of an incredible event filled with joy and love and some of the best music I’ve ever heard.
I remember the break-up of Yugoslavia, but I was quite out of touch with the news for a while back in 1991. That’s because I was hitch-hiking and busking around Europe with my musical partner Polly from Cornwall. I had my mandolin, she had her fiddle.
We went from Ireland to England to France to Germany to Czechoslovakia (still a single country back then), to Austria to Italy, back to France, and back to England. A loop around Europe.
We set off on August 21st, 1991. The only reason I know the date is because I remember we had been to a gig in Cork the night before.
Sonic Youth were playing in Sir Henry’s (a great venue that no longer exists). The support band was a group from Seattle called Nirvana. I remember that some of my friends decided to skip the support band to stay in the pub next door until Sonic Youth came on because the pints were cheaper there.
By the time Polly and I got back from our travels, Nirvana were the biggest band on the planet. It all happened very quickly.
The same could be said for the situation in Yugoslavia.
I remember when we were stuck for a day at a petrol station in the alps trying to get from Austria to Italy. There was a bureau de change listing currency exchange rates. This was before the euro came in so there were lots of different currencies; pounds, francs, lira, deutsche marks. Then there was the listing for the Yugoslav dinar. It read:
We buy: 00.00
We sell: 00.00
That really struck me, seeing the situation summarised so clinically.
But what really got to me was an encounter in Vienna.
Polly and I did well in that city. On our first evening of busking, not only did we make some good money, but we also met a local folk singer. This young man very generously took us in and put us up in his flat.
At some point during our stay, we were on one of the city’s trams. That’s when we met another young couple who were on the road. Somehow there was always a connection between fellow travellers. I can’t remember who spoke to who first, but we bonded straight away.
It soon became clear that our situations were only superfically similar. This was a young couple deeply in love. One of them was Serbian. The other was Croatian. It wasn’t safe for either of them back where they used to call home.
I could return home at any point. I always knew that when I was sleeping rough, or struggling to make enough money to eat.
They couldn’t return. All they wanted was to be together somewhere safe. They started asking us about Ireland and England. “Do you think they’d give us asylum?” they asked with so much hope. It broke my heart to see their desperation, the pleading look in their eyes.
I felt so useless. I wished there was something I could’ve done for them.
I first met Jamie as a fellow web-nerd way back in the early 2000s when I was freelancing here in Brighton. I did a lot of work with him and his design studio, Message. Andy was working there too. It’s kind of where the seeds of Clearleft were planted.
I remember one day telling them about a development with Salter Cane. Our drummer, Catherine, was moving to Australia so we were going to have to start searching for someone new.
“I play drums”, said Jamie.
I remember thinking, “No, you don’t; you play guitar.” But I thought “What the heck”, and invited him along to a band practice.
Well, it turns that not only could he play drums, he was really good! Jamie was in the band.
It’s funny, I kept referring to Jamie as “our new drummer”, but he actually ended up being the drummer that was with Salter Cane the longest.
Band practices. Concerts. Studio recordings. We were a team for years. You can hear Jamie’s excellent drumming on our album Sorrow. You can also his drumming (and brilliant backing vocals) on an album of covers we recorded. He was such a solid drummer—he made the whole band sound tighter.
But as brilliant as Jamie was behind a drumkit, his heart was at the front of the stage. He left Salter Cane to front The Jamie Freeman Agreement full-time. I loved going to see that band and watching them get better and better. Jonathan has written lovingly about his time with the band.
After that, Jamie continued to follow his dreams as a solo performer, travelling to Nashville, and collaborating with loads of other talented people. Everyone loved Jamie.
This year started with the shocking news that he had inoperable cancer—a brain tumor. Everyone sent him all their love (we recorded a little video from the Salter Cane practice room—as his condition worsened, video worked better than writing). But somehow I didn’t quite believe that this day would come when Jamie was no longer with us. I mean, the thought was ridiculous: Jamie, the vegetarian tea-totaller …with cancer? Nah.
I think I’m still in denial.
The last time I had the joy of playing music with Jamie was also the last time that Salter Cane played a gig. Jamie came back for a one-off gig at the start of 2020 (before the world shut down). It was joyous. It felt so good to rock out with him.
Jamie was always so full of enthusiasm for other people, whether that was his fellow musicians or his family members. He had great stories from his time on tour with his brother Tim’s band, Frazier Chorus. And he was so, so proud of everything his brother Martin has done. It was so horrible when their sister died. I can’t imagine what they must be going through now, losing another sibling.
Like I said, I still can’t quite believe that Jamie has gone. I know that I’m really going to miss him.
I’m sending all my love and my deepest sympathies to Jamie’s family.
Another follow-on to my post about design systems and automation. Here, Matthew invokes the spirit of the much-misunderstood Luddite martyrs. It’s good stuff.
Design systems are used by greedy software companies to fatten their bottom line. UI kits replace skilled designers with cheap commoditized labor.
Agile practices pressure teams to deliver more and faster. Scrum underscores soulless feature factories that suck the joy from the craft of software development.
This is a great piece! It starts with a look back at some of the great minds of the nineteenth century: Herschel, Darwin, Babbage and Lovelace. Then it brings us, via JCR Licklider, to the present state of the web before looking ahead to what the future might bring.
So what will the life of an interface designer be like in the year 2120? or 2121 even? A nice round 300 years after Babbage first had the idea of calculations being executed by steam.
I think there are some missteps along the way (I certainly don’t think that inline styles—AKA CSS in JS—are necessarily a move forwards) but I love the idea of applying chaos engineering to web design:
Think of every characteristic of an interface you depend on to not ‘fail’ for your design to ‘work.’ Now imagine if these services were randomly ‘failing’ constantly during your design process. How might we design differently? How would our workflows and priorities change?
2005 feels like a pivotal year in my memory. That’s the year that Rich, Andy and I formed Clearleft. It was also the year that the three of us went to South by Southwest for the first time. That was amazing. Not because of the event itself, but because of the people. I met, hung out with, and formed firm friendships with people whose blogs I had been reading for years—it really was like my RSS reader had come to life. It’s also where I met Cindy for the first time.
We ended up hanging out a lot there, and afterwards. She came to England. We met up in Florida (her family is in Jacksonville, not far from St. Augustine, where Jessica’s family is from—in fact, we may well have been in the same St. Augustine pastry shop at the same time before we even met). And of course we’d see each other at conferences …like that one time in San Diego, when she joined me in my first ever karaoke experience (little did I know that she was in on the rick-rolling). Wherever geeks gathered, Cindy was there. Cindy could outgeek all of us, whether it was nerding out about good food or Star Wars. That was until she met her match at the Web Directions North conference in Vanouver in early 2007.
Matt came all the way from England for that conference. I distinctly remember sitting with him on the bus back from the post-conference snowboarding trip to Whistler after the conference. He was able to point out all the filming locations from The X Files, Battlestar Galactica, and every other sci-fi TV show. He met Cindy the next day and, of course, they clicked.
Cindy ended up moving to San Francisco, and I’d visit her den of nerdery whenever I was in town. Meanwhile, Matt was crossing the Atlantic at every available opportunity to spend time with Cindy. On one of those trips, they went down to the courthouse and tied the knot.
Given the short notice for the wedding, they decided that they’d have a bigger marriage celebration further down the line. At that year’s South by Southwest, Cindy and Matt took me aside and asked if I’d officiate at their wedding. “But I can’t officiate a wedding!”, I said. “I’ve got no qualifications!” “A-ha!”, they pointed out, “It’s technically not an official marriage ceremony—we’re already married.”
That’s how I came to give the most important public speaking engagement of my life. It was nerve-wracking and wonderful.
I’ll never forget when Cindy and Matt came to Boston for An Event Apart a few years later. I was so happy to see Cindy that I didn’t even notice the most striking thing about her; after we hugged, she just stared at me and pointed at her belly until the lightbulb went off over my head. Cindy was pregnant!
They managed to match that awesomeness with the naming of their second boy, Orion. Apollo and Orion!
When Cindy was pregnant with Orion, she didn’t have the opportunity to surprise me with the news in person, like she had done with Apollo. She Facetimed me and Jessica to tell us the news. But she had other news to share with us that she didn’t want to be widely known. She had just been diagnosed with cancer.
I don’t really want to talk about that, but just consider what it must have been like to be going through treatment and being pregnant at the same time! Orion is a miracle, and Cindy was the miracle worker.
(The reason I don’t want to talk about Cindy’s cancer is, well, for one, she didn’t want it to be known so I’m still thinking of it as a private matter, but also Cindy could never be defined by how she died, but rather how she lived.)
By this time Cindy and Matt had moved to Pittsburgh. Myself and Jessica visited when we could. I was there for my birthday last year, and together we recreacted delicacies from that pastry shop in Saint Augustine.
A lot of my memories of Cindy involve amazing food. Like that time we all went to The French Laundry. This year we made plans to go to Alinea in October. Cindy got reservations. Jessica and I booked our plane tickets. But it wasn’t to be. It became clear that Cindy wasn’t able to travel and that there wasn’t much time left. Instead of a trip to Chicago, we made a trip to Pittsburgh. We were hoping to see Cindy one last time. But she died just a few days before we showed up.
But remember what I said about Cindy being defined by her life, not her death? It’s so, so true. Literally everyone who knew her was a better person for it. Her energy. Her indominatable spirit. She really was truly inspiring. She still inspires me. I know it sounds like a cliché to say that only her body has gone, while her spirit lives on, but in this case, it’s really true. Her spirit is alive in every single person who knew her. And if that isn’t enough of a cliché, I’m going to come right out and say it: I’m a better person for having known Cindy.
What happened to Cindy was so horribly, horribly unfair (did I mention that she didn’t smoke, or drink, or even use bad language?). But there’s one thing that I’m so very grateful for: I’m so, so glad that she had Matt. I always knew that Cindy was amazing—she’s Wonder Woman—but I’ve come to realise that she really did find her match. Matt is Superman. I am in awe of his strength. I cannot imagine what he is going through right now. Like Cindy, he is an inspiration to me.
Cindy is gone, but that love between Cindy and Matt …that’s forever.
The world exploded into a whirling network of kinships, where everything pointed to everything else, everything explained everything else.
— Umberto Eco, Foucault’s Pendulum
A is for Apophenia
Apophenia is the name for that tendency in humans to see patterns where none exist, to draw connections, to make links.
Every conspiracy theory is an example of apophenia. But you don’t have to be a conspiracy theorist to experience it. We do it all the time. We see shapes in the constellations in the night sky. We see faces in just about everything.
Today, I would like to engage the apopheniac in you.
A is for Anchor
An anchor is an odd device to represent a link. I can even remember seeing anchor symbols used in the interfaces of rich text editors. If it wasn’t an anchor, it was a chain. I suppose that was meant to represent a link …because chains have links.
This looks pretty familiar to us today. There’s an A Element with opening and closing tags, some text in between, and an HREF attribute for the destination. But there’s also a NAME attribute. This has since been deprecated—now we can just use an ID attribute on any element. The idea was that A elements could be used to create destinations for inbound links. They were, if you like, anchors within a page that other pages could tether themselves to. Each anchor is given a unique identifier (unique within the page, that is). Here, the identifier is simply the number zero, because this page was created by a programmer and in the mind of a programmer, counting begins with zero.
This use of the A element—using NAME attributes to create in-page anchors—never really took off. But the other attribute, the HREF attribute, that spread like wildfire. It’s short for hypertext reference, and in this particular instance, the reference is to another page in the same directory on the same server. It’s a page about hypertext.
Hypertext is text which is not constrained to be linear.
The term was first coined by Ted Nelson. He didn’t just talk about text either. He also coined the term hypermedia. He coined lots of interesting words. He talked about things being deeply intertwingled. He also coined the term teledildonics, but that is not directly relevant to hypertext or hypermedia.
If hypertext is text which is not constrained to be linear, how did we ever manage with good old-fashioned non-hyper text and non-hyper media? We used archives.
A is for Archive
In 1965, JCR Licklider was commissioned to write a report on Libraries Of The Future. He—and his company Bolt, Beranek and Newman—would prove to be instrumental in creating our modern interconnected hypermedia world. More on that later. For now, let’s look at this report. It has two parts:
Concepts and Problems of Man’s Interaction with the Body of Recorded Knowledge
Explorations in the Use of Computers in Information Storage, Organization, and Retrieval.
I love the scope of that first part, looking at the body of recorded knowledge.
It’s interesting that he talks about knowledge, not information, not data, but knowledge. How does data become information? How does information become knowledge?
The Library Of Babel is a short story by Jorge Luis Borges, who I think of as the poet laureate of hypertext . He imagines a vast library that is filled with data, but frustratingly short on knowledge …because this library contains not only all the books ever written, but all the books that could ever possibly be written, with every possible permutation.
Here’s how it works:
The universe (which others call the Library) is composed of an indefinite, perhaps infinite number of hexagonal galleries… The arrangement of the galleries is always the same: Twenty bookshelves, five to each side, line four of the hexagon’s six sides… each bookshelf holds thirty-two books identical in format; each book contains four hundred ten pages; each page, forty lines; each line, approximately eighty black letters.
Let’s figure out how many books are in the Library of Babel. First, we need to know how much data each book holds.
There are eighty symbols (or letters) per line, and
40 lines per page.
There are 410 pages in each book.
Multiplying 80 by 40 gives us 3200, the number of symbols on each page. Multiply that by 410 and we get a total number of 1,312,000 symbols in each book.
We have two other pieces of information to work with. Borges tells us:
The orthographic symbols are twenty-five in number.
That’s 22 letters, the comma, the period, and the space.
Here’s the crucial bit of information that ensures that the library has boundaries:
In the vast library there are no two identical books.
Knowing that, we can calculate the number of books in the library. It’s the number of symbols (25) raised to the power of the number of symbols in each book (1,312,000).
25 to the power of 1,312,000 expressed in base ten is 10 to the power of 1,834,097. Remember that’s just the number of books: a figure that’s over 1,834,097 digits long. That number wouldn’t fit inside one book in the library (which, if you remember only holds 1,312,000 symbols).
So the number of books in the Library of Babel is not infinite …but it is really, really, really big. To give you some idea of just how big 10 to the power of 1,834,097 is, it has been calculated that the observable universe contains approximately 10 to the power of 80 atoms. There are more books in the Library of Babel than there are atoms in the universe.
And yet, thanks to the World Wide Web, you can theoretically peruse every single one of them.
Jonathan Basile has created libraryofbabel.info—an online representation of Borges’s creation. It contains all possible text. You can browse by hexagon, then shelf, then row, then book, then page. Or you can search for a specific piece of text, because—of course—that text must be in there somewhere.
The very words I am speaking now must be somewhere in the library.
There’s also a plug-in for Chrome so you can highlight any piece of text on the web, and then find its corresponding page in the Library of Babel.
This library has every possible piece of data …but it’s sorely lacking in information (although the online version helps).
A is for All
Having all the data isn’t enough. It needs to be organised—turned into information—for us to make use of it (and hopefully further transform that information into knowledge).
There have been many attempts to organise information. When those attempts are limited to a subset of data—instead of trying to create a Library of Babel—then they can be quite successful.
Carl Linnaeus organised the natural world using a naming convention for describing species—binomial nomenclature.
Melvil Dewey created the Dewey Decimal System to help librarians organise their collections. But this was a proprietary system, not an open standard. So the Belgian librarian Paul Otlet devised a Universal Decimal Classification system. I think it’s fair to think of him as the father of information architecture.
The crazy old uncle of information architecture would be bishop John Wilkins, who in 1668 wrote An Essay towards a Real Character and a Philosophical Language. Centuries later, this would pique the interest of Borges who described Wilkins’s madcap idea in an essay called The Analytical Language of John Wilkins. The idea was that the world could be classified into sounds.
He divided the universe in forty categories or classes, these being further subdivided into differences, which was then subdivided into species. He assigned to each class a monosyllable of two letters; to each difference, a consonant; to each species, a vowel. For example: de, which means an element; deb, the first of the elements, fire; deba, a part of the element fire, a flame.
It didn’t scale well.
Gottfried Wilhelm Leibniz—inventor of calculus and nemesis to Newton—had a similar idea to Wilkins, but whereas Wilkins was trying to classify information using sounds, Leibniz wanted to use symbols: characteristica universalis. His leap of genius was to realise that if you could do this—represent the world with symbols—then you could perform calculations on those symbols. He described the conceptual framework for performing such operations as a Calculus ratiocinator. Centuries later, Norbert Wiener, the creator of cybernetics would say:
The general idea of a computing machine is nothing but a mechanization of Leibniz’s calculus ratiocinator.
A is for Ada
Leibniz’s calculus ratiocinator was an idea, rather than a real machine. Charles Babbage was a Victorian inventor and entrepreneur who was given seed funding by the British government to create his Difference Engine: a machine for computing logarithmic tables …a computer, if you will.
The Wozniak to Babbage’s Jobs was Ada Lovelace, the daughter of the notorious Lord Byron. Ada’s mother did everything in her power to steer her daughter away from following in her father’s footsteps of becoming a poet. Instead Ada immersed herself in the world of mathematics. It was through mathematics that Ada hit upon the same insight as Leibniz—if we can perform calculations upon symbols, and those symbols don’t have to just represent numbers, then we can perform calculations on anything …maybe even poetry.
In enabling mechanism to combine together general symbols in successions of unlimited variety and extent, a uniting link is established between the operations of matter and the abstract mental processes of the most abstract branch of mathematical science.
The Difference Engine was abandoned in favour of an even more ambitious project: The Analytical Engine. Finally, the world would get a mechanical machine capable of performing calculations on symbols that could represent concepts or thoughts—a thinking machine!
As with so many start-ups, Lovelace and Babbage never quite managed to make it to market. But at least they did genuinely have an incredible journey before going broke.
A is for Alan
The Analytical Engine, like the calculus ratiocinator, remained an idea. It would be another century before we’d get a real nuts’n’bolts computing machine, thanks to the brilliant Alan Turing.
But as well as having a hand in creating the world’s first physical computer, he also presented us with an imaginary machine. This theoretical machine was described as having:
…an infinite tape marked out into squares, on each of which a symbol could be printed.
Like Leibniz’s calculus ratiocinator, a Turing machine would operate on symbols. How many symbols are we talking about here? Remember the Library Of Babel had twenty five symbols to work with.
Two. Two symbols. One and zero. On and off. True and false. With an infinitely long piece of tape and infinite amount of time, two symbols are enough to calculate literally anything.
This reduction of the world into its smallest pieces was the brainchild of Claude Shannon. He coined the term "bit" to describe this indivisible unit of information.
By the way, Turing himself referred to his theoretical machine as an automatic machine, or a-machine. A is for A-machine.
A is for Atlantic
There’s another imaginary machine that serves as a wonderful conceptual prototype for working with hypertext and hypermedia. In 1945 Vannevar Bush published an article in the Atlantic Monthly called As We May Think. In this article, Bush describes a machine called the Memex, a contraction of Memory Index.
The Memex is built into a desk. Screens and switches on the surface of the desk allow the user to interact with huge amounts of information stored within the desk on microfilm. This would provide an "enlarged intimate supplement to one’s memory."
Because everyone’s mind is different, no two people would use the Memex in quite the same way. Bush described these individualistic approaches to linking concepts together as associative trails:
Wholly new forms of encyclopedias will appear, ready made with a mesh of associative trails running through them, ready to be dropped into the memex and there amplified.
The information stored in the Memex is the same for everyone, but the associative trails created by the user in navigating this information are unique. Bush also proposed that these associative trails could be shared. Users of the Memex could follow the breadcrumbs left by others.
This is hypertext.
A is for Augmentation
So many ideas about hypertext confined to the imagination! When do we get a working demo?
Ladies and gentlemen, on December 9th, 1968, we get the mother of all demos, courtesy of Douglas Engelbart. Six years previously, he had set out his goals for human-computer interaction in a work entitled Augmenting Human Intellect: A Conceptual Framework. To achieve this aim of augmenting humanity, he created a working demo of his oNLine System, abbreviated to NLS.
Oh, and for this demo he just happened to invent video conferencing, the graphical user interface, and the mouse. He also implemented hypertext.
With Bush’s Memex and Engelbart’s NLS, concepts could be linked together, turning them from text storage devices to hypertext storage devices. But for hypertext to reveal its true power, we need a network greater than anything seen up to this point. Towards the end of the mother of all demos, we hear the first rumblings of just such a network.
A is for Arpa
ARPA stands for the Advanced Research Projects Agency.
This government agency turned to our old friend JCR Licklider, author of Libraries Of The Future. His company—Bolt, Beranek and Newman—set about designing a communications system that used this new-fangled packet switching that Leonard Kleinrock was so excited about. With packet switching, information was broken down into discrete chunks, routed around a network independent of each other, and then re-assembled at the destination.
At the same time, this idea of packet switching was independently discovered by Paul Baran at the Rand Corporation, who was trying to find a resilient network architecture capable of surviving nuclear attack.
The packet-switching idea was put to the test with the creation of a new network called the ARPANET. The very first message sent over the ARPANET was at 10:30pm on October, 29th, 1969. It was the command: LOG IN.
The message was sent and… the system crashed after the first two characters. Fittingly, then, the real first message sent over this proto-internet was "LO".
But they fixed the bugs and they kept working on making the system better as it grew bigger. It morphed from being a single network, the ARPANET, into being a network of networks, or an Inter-network, soon shortened to simply Internet.
For this internet to work, it was essential that all the individual networks connecting to it were using the same protocols to communicate. That’s what really makes the internet the internet—regardless of what kind of hardware is being used, there’s an agreement on how to switch those packets around. That’s really all a protocol is: an agreement. They’re more like treaties than code.
Bob Kahn and Vint Cerf were the statesmen crafting the internet’s protocols, and Jon Postel was the diplomat ensuring adoption went smoothly. They wanted a robust network, resilient not to nuclear attack, but to any kind of top-down control. They set out to create a protocol that would work for a network with no centre.
Together they crafted TCP/IP: the Transmission Control Protocol and Internet Protocol. TCP/IP is a deliberately dumb set of protocols. The protocols care not a whit for the contents of the packets being switched around the network. It’s a simple low-level agreement. They used to joke that you should be able to implement TCP/IP using two tin cans and a piece of string.
You can then create more complex protocols on top of this simple, low-level, dumb foundation. You can create protocols for sending and receiving email, protocols for telnet, gopher, file transfer protocols that sit atop TCP/IP. Best of all, you don’t need to ask anyone for permission. If you want to create a new protocol today, you can just go ahead and do it. All you need is rough consensus and running code. It turns out that running code isn’t the hard part. The hard part is convincing people to use your protocol. Otherwise you don’t benefit from Metcalfe’s Law:
The value of a network is proportional to the square of the number of connected users of the system.
Think about it. The first person to own a telephone had a completely useless object. As soon as one other person had a telephone, it suddenly become exponentially more useful. That was the challenge facing the creator of a new protocol at the start of the 90s: that protocol was HTTP—the HyperText Transfer Protocol.
HTTP is one part of a three-part stack: HTTP is the protocol, URLs are the identifiers, and HTML is the format. Together they form the World Wide Web project.
The project was the brainchild of a young computer scientist named Tim Berners-Lee. This wasn’t his first attempt at creating a hypertext system.
In the 1980s, he created a system called ENQUIRE. It was named after a Victorian book of manners called Enquire Within Upon Everything, which I always thought would be a great name for the web.
Enquire didn’t work out in the end, but it would influence the design of the World Wide Web project.
Another influence on the design of the system was the place where Tim Berners-Lee was working. CERN—the European Centre for Nuclear Research. It’s an amazing place. The greatest experiment in the history of our species is being conducted beneath the border between Switzerland and France. In the 16-mile wide ring of the Large Hadron Collider at CERN, human beings are recreating the conditions from the start of our universe. Protons are smashed together at velocities approaching the speed of light. It’s a truly awe-inspiring endeavour.
When I visited CERN, I expected to be blown away by the science, and I was. I also expected to be blown away by simply being at the birthplace of the web, and I was. But what I wasn’t expecting was to be blown away by how things get done at CERN. There is very little hierarchy. People from all kinds of backgrounds—from Nobel prize winning physicists to students on a Summer internship—collaborate on experiments for pure scientific research.
Trying to manage the flow of information in this collaborative but chaotic place was the challenge that Tim Berners-Lee was trying to solve. You can’t just mandate a particular operating system or piece of software—people at CERN can and will use whatever they want. In the same way that the internet is a network of networks, what CERN needed was some way of allowing all these different computers with different operating systems to share information with each other.
Tim Berners-Lee submitted a paper to his supervisor, Mike Sendall. It had the uninspiring title Information Management: A Proposal. Well, Mike Sendall must have seen some potential, because he scrawled across the top:
Vague, but exciting.
The proposal described:
…a solution based on a distributed hypertext system.
Tim Berners-Lee was very familiar with previous hypertext systems. All of these fed into his project:
Vannevar Bush’s Memex,
Douglas Engelbart’s oNline System,
Ted Nelson’s Xanadu, although it was still vapourware at this point,
Apple’s Hypercard system for the Mac,
and his own Enquire project.
But just creating the code wasn’t enough. He—and his colleague and collaborator, Robert Cailliau—needed to convince the scientists at CERN to use this technology. To start with, they needed a catchy name.
For a while, they floated the idea of calling it the Mesh.
Then they kick around the idea of calling it The Information Mine. But Tim Berners-Lee wasn’t keen on this one. He knew that, whatever name they chose, it would end up getting abbreviated, and he was worried it would look a bit egotistical.
And so they settled on World Wide Web. You have to admire the chutzpah of calling it World Wide Web when, at that point, it only existed on one person’s computer.
Sure enough, it did end up getting abbreviated. Except in this case, there are actually more syllables in the so-called abbreviation—WWW—than there are in the full name.
They even made a logo. Graphic designers they are not. But there is a reason for the green colour of the Ws. Robert Cailliau is a synesthesiac—he “hears” the W sound as the colour green.
And so the web was born. Good job!
Learning from the lessons of TCP/IP, Tim Berners-Lee made sure to keep the individual parts of the system as simple as possible (but no simpler). The World Wide Web didn’t succeed because the technology was the best; far from it. It succeeded because the technology was just simple enough—but also powerful enough—for people to get started with straight away.
Take HTML, for example. There was no official Version 1 specification for this hypertext markup language.
Instead there was a document called simply HTML Tags, presumably written by Tim Berners-Lee. This document listed the entirety of HTML, which was a grand total of 21 elements.
Most of those elements weren’t even invented by Tim Berners-Lee. Instead, he borrowed the vocabulary already being used by scientists at CERN. They were used to writing documents in GML, which is supposed to stand for Generalised Markup Language, but was coincidentally created by three people whose last names were Goldfarb, Mosher, and Lorie: G, M, and L.
There was one element that was completely new to HTML:
A
This one single element is what enables the HT part of HTML. With this element, and its href attribute, anyone could link to anything on the web. It is brilliant in its simplicity.
Pleased with the way their project was progressing, Tim Berners-Lee and Robert Cailliau submitted a proposal to present their World Wide Web at a hypertext conference.
They were rejected. Hypertext experts thought the World Wide Web was stupid.
As Ted Nelson put it:
Today’s one-way hypertext—the World Wide Web—is far too shallow. The Xanadu project foresaw world-wide hypertext decades ago, and endeavored to create a much deeper system. The Web, however, took over with a very shallow structure.
He’s not wrong. Hypertext on the web is shallow. It is stupid. Like TCP/IP, it is not smart.
The thing is, if you’re hoping to get mass adoption, being smart is a bug. Being stupid is a feature.
Just about every other hypertext system embodied the idea of two-way linking. There was an awareness at both ends of the link. If the resource being linked to were to move or change, the link could be updated. It’s robust, but it’s complicated.
On the World Wide Web, by contrast, links only work in one direction. If the resource being linked to ends up moving or changing, well, tough luck. The result is link rot. That’s the price we pay for a very simple hypertext system.
But, now that the web has been around a couple of decades, there is a sort-of, kind-of implementation of two-way linking.
It uses the humble rel attribute.
Rel is short for relationship. The value inside the rel attribute describes the relationship of the linked resource to the current document.
<a href="…" rel="…">
Some rel values were officially canonised in HTML.
rel="prev" means that the linked resource has the relationship of being the previous document to the current document.
<a href="…" rel="prev">
rel="next" means that the linked resource has the relationship of being the next document after the current document.
<a href="…" rel="next">
rel="author" means that the linked resource has the relationship of representing the author of the current document.
<a href="…" rel="author">
You get the idea.
Incidentally, there was once a corresponding rev attribute that described the reverse relationship. In other words, the relationship of the current document to the linked resource.
<a href="…" rev="…">
So you could simultaneously say the current document has a relationship of being the previous document to the linked resource and that the linked resource has a relationship of being the next document to the current document.
<a href="…" rev="prev" rel="next">
Confused? Well, that’s why the rev attribute was eventually dropped from HTML. It was just too complicated.
There was an attempt to use the rev attribute in an early microformat called vote-links. This was proposed way back in 2004. Blogs were hot. Political blogs were very hot indeed: Bush Jr.—no relation to Vannevar—was running for re-election in the States, and John Kerry was the challenger. There was much blogging and gnashing of teeth.
The problem was the rise of PageRank, the algorithm that drove Google’s search engine. The fundamental premise of PageRank was that linking to something counts as an endorsement. But there were many bloggers linking to articles that they disagreed with very strongly.
By using a rev value of “vote-for”, authors could explicitly say that this document is a vote for the resource being linked to.
Or by using a rev value of “vote-against” they could make it clear that this document is a vote against the linked resource.
It never really took off because, as I said, the rev attribute was just too hard to grok.
And that’s okay. The whole point of microformats is that they are the very embodiment of the motto of the Internet Engineering Task Force: rough consensus and running code. There just wasn’t enough take-up of vote-links for it to thrive.
Another early idea—that actually preceded the official creation of microformats—was XFN, which stood for XHTML Friends Network: the most Web 1.0 format name ever.
XFN built on existing behaviour. Bloggers would often have a list of links in their sidebar pointing to other bloggers they had some kind of relationship with. If you assume that a URL can represent a person, then the rel attribute is perfect for encoding that relationship information.
I can link to a friend’s website and say that the person represented by the linked resource has a relationship of being a friend to the person represented by the current document: me!
<a href="…" rel="friend">
Or I can link to a colleague’s website and say that they have a relationship of being a colleague to me.
<a href="…" rel="colleague">
And because rel values—like class values—can be space-separated, I can combine rel values into one attribute. I can link to someone and say that they are both a friend and a colleague.
<a href="…" rel="friend colleague">
I still have XFN values in the sidebar of my blog, but again, it never really took off.
Except for one value, that seems at first glance to be completely pointless:
A rel value of "me": the linked resource has a relationship of being …me?
<a href="…" rel="me">
A is for Adactio
My website is adactio.com. I love my website. Even though it isn’t a physical thing, I think it might be my most prized possession.
It’s a place for me to think and a place for me to link.
Nothing unusual there. These are regular one-way hyperlinks.
What’s interesting is that many of those profiles on other websites provide a URL field where I can enter my own website. These third-party profiles then link back to my website also using a rel value of "me".
<a rel="me nofollow" href="https://adactio.com">
(They also use a rel value of "nofollow" to discourage spammers. The phrase "nofollow" makes absolutely no sense as a rel value—you can’t have a relationship of "nofollow" to anything—but it was invented by Google. We don’t get to argue with the 900 pound Google gorilla.)
Anyway, the result of having these reciprocal links, both using rel="me" means that we’ve kinda, sorta got two-way linking on the World Wide Web.
But …so what?
A is for Authentication
Some of those third-party profiles I’m linking to—Twitter, Github, Flickr—have something in common. They allow third-party authentication using OAuth.
If I can log into my Twitter, or Github, or Flickr profile using OAuth, and those profiles have two-way links with my website, then I can “borrow” that authentication flow for my own site.
That’s the idea behind IndieAuth. I enter the URL of my own website. It finds the links from there to my other profiles using rel="me". Then I can choose which one of those profiles I want to authenticate against. Once I’ve authenticated with that service, I’ve also authenticated my own website.
Just by adding a short rel value to some links, I can use my website as a log-in.
My website also has a small write API. The API is called micropub. By combining IndieAuth and micropub, I can log into somebody else’s posting interface using my website, and then use that interface to post to my own website.
These building blocks—microformats, IndieAuth, micropub—have emerged from a small but dedicated group of people.
We gather together at fun little events called Indie Web Camps.
An Indie Web Camp takes place over two days. The first day is split into discussions of technology and design. The second is all about implementing what we’ve discussed on the first day. I’m always amazed by how much gets done when you’re in the same space as like-minded people.
Still, the technologies being discussed and implemented aren’t the real focus of Indie Web Camp. The core tenet of Indie Web Camp is an idea. It’s a very simple idea, that at one point would have been uncontroversial. That idea is that you should have your own website.
But who’s got time for that? Especially when it’s so much easier to write and share and link using platforms like Twitter, Facebook, and Medium. That’s a good point. A lot of the time at an Indie Web Camp is spent reverse-engineering what those services are doing so well, and applying them to personal websites.
Also, we don’t necessarily want to stop using those services. After all, that’s where the people are (for now). Instead we want to figure out ways of making use of these services, while still keeping the canonical versions of what we create under our own control.
There’s a fantastic little Indie Web service called Brid.gy that allows you to not only post from your own site out to third party networks, but also receive replies, and likes, and retweets back at your own site, using another Indie Web building block called webmention.
In a way, webmentions allow a kind of two-way linking. I can cross-post something from adactio.com to Twitter, or Instagram, or Facebook. Then when someone replies on Twitter, or Instagram, or Facebook, I get notified with a ping back to my own site.
All of this is possible because I’ve verified the identity of those third-party profiles using nothing more than a simple rel attribute on a hyperlink.
The Indie Web uses a grab-bag of deliberately simple technologies that combine to create something so much more powerful than the sum of its parts …just like the web itself.
We often talk about places like Facebook, or Instagram, or Medium as walled gardens. Walled gardens are as old as the web itself. AOL was a well-cultivated walled garden back in the day.
There’s nothing wrong with walled gardens. They’re safe spaces. They take care of your enjoyment and entertainment, so you don’t have to.
But there also a bit boring. I certainly don’t relish the idea of spending my days within the boundaries of someone else’s vision.
The Garden of Forking Paths. It is uncontrolled. It is full of possibilities. It’s a bit scary. It takes more dedication to explore. You might get lost. But is that so bad? When was the last time you were truly lost on the World Wide Web, when you clicked through link after link—no cheating by opening new tabs, now—until you ended up somewhere, blinking and asking yourself “what I was looking for?”
I would like us all to spend more time in the garden of forking paths. I would like us all to continue to grow this garden of forking paths. Add your own website to this garden of forking paths. Use it to make more links.
On your website, you can link to this thing over here and that thing over there, and in doing so create an entirely new forking path.
Remember, the web, like the internet, has no centre. In theory I could start from any single A element, and by following all the forking paths, traverse the entire World Wide Web.
That opening hyperlink could be on your own website. One single A element can be the portal to an entire universe of knowledge.
A detailed history of Babbage and Lovelace through the lens of Wolfram’s work today:
Ada seems to have understood with some clarity the traditional view of programming: that we engineer programs to do things we know how to do. But she also notes that in actually putting âthe truths and the formulae of analysisâ into a form amenable to the engine, âthe nature of many subjects in that science are necessarily thrown into new lights, and more profoundly investigated.â In other wordsâas I often point outâactually programming something inevitably lets one do more exploration of it.
If this piques your interest, I highly recommend the Babbage biography The Cogwheel Brain by Doron Swade.
One hundred years ago today, Alan Turing was born.
I could claim that without him, we wouldn’t have computers; that without him, World War Two would have lasted another two years at least.
But the truth is that the history of innovation and invention is rarely as linear as that, and that if one genius hadn’t made the great leap forward, some other genius would have. The pieces were there, waiting in the adjacent possible.
And yet, in our timeline, history played out the way it did. So I can say that thanks to Alan Turing, we have computers; thanks to Alan Turing, World War Two was shortened by at least two years.
And I can, with absolute certainty, say that the way Alan Turing was treated after the war was absolutely shameful.
We can learn a lot from the life of Alan Turing. We can learn about computation, universal machines, and artificial intelligence. We can also learn about tolerance, compassion …and love.