Spring has sprung. So! This week, I have been going through old notebooks and getting rid of them. Yesterday, I came across a page with the heading: A good website is not necessarily a pretty one, which was the title of a short talk I was asked to give about a decade ago. Underneath, I have written points to make: 1. The function of a website. 2. Separation of content and design to ensure accessibility and usability, and so on.
Little did I know but, this brief talk would become my web design series. Although the first blog, which became 0 in the reshuffle, came two years earlier as I was pulling together some ideas about web design and the science of communication as a play on words from communicating about science after a journalist had written a scientific article about how we could now print kidneys and transplants would soon be a thing of the past. What can I say? Hollywood has a lot to answer for.
Two years later, I added in structure as I was teaching web technologies. Then, I began thinking about designing my online human-computer interaction (HCI) course, I began by looking at the web design series. I wanted to combine the practical design skills of user experience (UX) with other HCI considerations such as, how technology changes society and yet fundamentally, HCI is about designing dialogue.
It sounds like I had a plan. Perhaps my subconscious did, of which I wasn’t aware.
Down the side of the page, I have written two things: Websites are becoming like apps – contextual data, personalised UX, and user behaviours. I guess I was thinking cross-platform maintenance for web apps, mobile apps, and websites, as well as breaking down large code bases into smaller maintainable units. This is a timeless idea, after the 1970s and the idea of designing massive IT systems to support whole companies (particularly the government) through Structured Systems Analysis and Design method (SSADM), when it became more apparent that designing small software applications to do small tasks was more efficient and maintainable than one big monolith. This is an idea people are revisiting now with AI agents, instead of one big know-it-all AI.
Weaving the tapestry of life and seeing structure
The other thing I wrote, I want to say in the margin, but I don’t like lines or margins so the page doesn’t have any, is the acronym HAIL: Honesty, Authenticity, Integrity and Love. I thought it was about meditation or something yogic I had read, but a quick google tells me that comes from a TED talk by Julian Treasure about how to speak so that people listen. I was very enthusiastic about TED talks at that time and Masterclass, as in another corner I have written something about James Patterson, and how he works on an outline of a novel for at least three months. Structure is important.
My most favourite Masterclass course to this day – I did a lot of them – is Will Wright’s Game design, the designer of Sims 4 amongst others and oh great joy, I even found the notes yesterday that I had scribbled during the course which I thought I had lost forever, though I distinctly remember the day itself.
It was my last couple of days of a year long subscription that I had been gifted by Masterclass, and I didn’t have long to learn everything. My eldest had just had a kidney biopsy, on a kidney that had not been printed by a machine, so I spent the whole course taking care of her, fretting about her, feeding the cats, cooking dinner, chatting to her and her sister, intertwined with snippets of Game Design, and prepping lectures.
Wright loves to study real life and complex adaptive systems, something I wrote about in my last blog – how AI is heavy with promise. I think Will Wright should study women and see in practice complexity look performatively easy as it has done since patriarchy began. When I read about Mary Somerville, the woman for whom the word scientist was invented, looking after her kids, doing mathematics, and writing letters advising Ada Lovelace to do the same, well complex and adaptive don’t begin to cover it. Something I think about a lot and was pondering last year, as I was asked to prepare a mini-lecture video on loops in programming.
Ada Lovelace and the Jaquard Loom
As chance would have it, this came shortly after I had just transcribed my: When women were computers talk, to put it in My little book of talks.
My first thought was Ada Lovelace, the world’s first programmer and inventor of loops, inspired as she was by the French Jacquard weaving loom, which had been invented in 1725, in the notes she wrote about Babbage’s proposed design of an Analytical Engine.
Ada has a special place in my heart as I first heard about her in my final year undergraduate computing degree when she was casually mentioned because the language ADA was named for her. I sat up straighter and was all ears. It only took a few facts of her life to make me feel excited, included and inspired by technology. I think about that moment a lot. Because, I believe that part of my role as a teacher is to present the materials in a way which intrigues and inspires students so that not only are they are excited about what I am teaching, but wish fervently to go beyond what I present so that they can see where it came from and where it could lead, and stay up all night to learn something new.
One of my most popular blogs was written in response to some students saying that databases bored them. I understood where they were coming from but, when I put the database into context with storytelling and big data, well then, they too sat up and realised the importance of organising our data because it cannot organise itself.
Ada predicts AI
And, that was my initial aim with this video. I wanted to begin with Ada’s observations, and in passing, the Jacquard Loom which had a guide made of card with holes to direct how the loom sews, which inspired those piano players in saloons in the wild west, and the input/output method for calculating machines and then computers. I would have quoted her saying: The Analytical Engine weaves algebraic patterns, just as the Jacquard-loom weaves flowers and leaves. And, then referred everyone to how Ada anticipated generative AI writing music:
Again, it might act upon other things besides number… Supposing, for instance, that the fundamental relations of musical composition were susceptible of such expression and adaptations, the engine might compose … music of any degree of complexity or extent.
Ada Augusta, Countess of Lovelace, Note A, (1843)
She was a musician as well as a mathematician so it was obvious to her. Music is shaped by physics – frequency, vibration, ratios – which is described by maths. And, whether that key change happens in Mozart or Coltrane, there’s a predictable structure holding it together, quietly doing its work, which for me, is why neither one of these composers ever get old. As there’s enough surprise within the predictability of the constraints to make it feel fresh and new, even if I have heard them a million times.
Ada knew this.
And, she knew that whether you were improvising on the piano or playing the famous cadenza of Weber’s Clarinet Concerto No. 1 in F minor, Op. 73, oh my days, I think my parents went slightly bonkers as I practiced that over and over, these runs sound fresh and beautiful as the day they were first conceived, even as they follow a tight structure and relations. This is because, even the most expressive, improvised-sounding moments are grounded in something precise and ordered. It’s not restrictive — if anything, it’s what allows the music to make sense, to resonate, to endure. Ada was ahead of the game, she knew that it was this understanding and ability to program, is what makes AI tick. It’s what makes Will Wright get out of bed on a morning to design games to see the emergent behaviour. It is what makes technology so exciting. And, it is what makes students sit up in lectures, and for me to make pictures of Ada, like the one above with AI, to marvel at its incredible ability whilst knowing exactly and predictably how it works.
Alas! For this one mini-lecture, no one had time to hear any of that, I didn’t get the impression either that they cared, but mine is not to reason why, so, undaunted! I looked at their existing syllabus along with the recommended book about ninja coding in JavaScript (eye roll), which I flicked through and it all seemed standard enough.
Why are we still teaching while loops?
However, when the while loop was introduced, it said ninjas use break; and return;. This upset me quite a bit as my first response was no one does that, and then I thought, in fact no one uses while loops. Do they?
I did a bit of a survey around friends – the serious coder ones from my undergraduate days – who have been coding away for decades, including one mate, whom I mentioned in my first year of blogging just to check that I wasn’t just talking about myself. And, my belief was confirmed. No one uses while loops, it’s not just me. So then I was wondering why do we still teach them?
But teach them I had to, otherwise I might have looked like I didn’t know what I was talking about. But, the reason why break; and return; are terrible non-ninja coding approaches is that, we want our while loop, and its better organised relative the for loop to enter and exit logically within the same line of code. We don’t want it jumping all over the place, in the same way we don’t want self-modifying code or replicating systems. We want dependable, explicable and understandable code, well written and clear.
My end resulting mini-video of five-minutes precisely can be found below, with Ada completely dropped, only adorning the first page, complete with the punch card inspiration of the Jacquard Loom guide. Like I’m back as an undergraduate not being educated about the women who made the field of computing.
The accompanying handout can be found here: https://ruthstalkerfirth.com/wp-content/upLoads/LoopsForJavaScript.pdf
Five more minutes of context and ahhh, those students would have remembered forever what excellent logic looping looks like and all the whys and wherefores, which make a story compelling.
In the very last page of the notebook of that year, when I launched myself into blogging about web design, I have written at the bottom:
I am grateful for my blogging and for making sense of my subject and new ones and for the sense of possibility.
Me on blogging, (2015)
A sentiment which still echoes strongly today. And, for me that is the thread that quietly ties the strands of this blog together.
From Mary Somerville and Ada Lovelace, to loops, structure, and the invisible human labour which bolsters complexity. Blogging, in its own way, is a loop for me. It has been a space to return, to iterate, to refine ideas that resisted being tidied, as I realised that I have a place in that space, in that infinite loop of learning, loving, and expressing, which fills me with so much joy.
And, the best bit! I can completely understand what I have written – literally, because my handwriting is terrible – and, because I am a connector, I join the dots, like all those women before me, in the name of making complexity look easy to humanise computers and make them better for everyone.