Skip to main content

Vienna

On the evening of the 23rd February 1995, Mary and I went on a date.

It was wonderful.

We were having so much fun that I caught the London Underground with Mary to escort her back to her university halls of residence. Not that she needed escorting, mind you. It was just a ruse in which we both tacitly played along so the date wouldn't end.

As we exited Ravenscourt Park station I realised I only had a few hundred metres until Mary's front door (and thus, the end of our wonderful date). I had to tell her how I felt about her. Ahead was a corner turning onto the road on which she lived, and so I gave myself until the corner to speak up.

Of course, I blundered around trying to get the conversation to the right place (to no avail), and I think we both knew what sort of a shy, tentative and embarrassing conversation was coming up. As I recall, I stopped at the corner, faced her and just blurted out how I felt about her. It felt like an incoherent tumble of words. But it must have made sense because I remember her grinning widely, laughing and saying that she felt the same way. Then I asked if I could kiss her.

We ended up holding hands and walking (and kissing!), for a couple more hours as we meandered around Hammersmith in joyful conversation. In the end I had to catch the night bus home and we agreed to meet the next day at a concerto competition in which she was performing (she was playing Haydn's first cello concerto with Steven Isserlis adjudicating). Little did I know her family would be there... but I'll leave the story of that hilarious first encounter for another day.

Two and a half years later, we were married and have been an "us" ever since. Our life together has been the most important, wonderful and fulfilling thing I have ever experienced.

To celebrate 30 years since that first kiss (when we both feel we became "an item") we decided to visit Vienna ~ the city of musicians. Both of us had never visited Vienna, and with its wealth of history, music, art, philosophy, food and drink, we knew we would have lots of fun exploring this amazing city.

We were not disappointed.

Embedded below is an album of the photographs I took. Upon reflection, I realise my focus was mostly on the faces I encountered... the many faces of Vienna.

Vienna 2025

Thursday, the first day was full of travel, long and tiring. It didn't help that Stansted airport and Ryanair share a common flaw: a business strategy that aims to blind people with knock-down prices, only to sneakily charge folks for basic needs (like baggage space, sustenance and comfort) all the while entrapping people in a prison of relentless advertising. It meant we were relieved to arrive in Vienna, catch the clean, efficient and cheap train into the city centre, and then find our hotel.

After a rest we explored on foot - our usual way to soak up the atmosphere of a place. Happily, our hotel was in the centre of Vienna and so it took all of five minutes to find the well known monument to Mozart in one of the local parks, visit St.Stephen's cathedral and to soak up the evening energy. Our wandering brought on thoughts of food and we looked for a restaurant. Local cuisine is part of the adventure of a new place, and we were not disappointed to find Beisl in der Sigmundsgasse in a quiet side-street close to our hotel. It's a small, traditional family-run restaurant, and the food was excellent (I had Tafelspitz mit Apfelkren, Spinat und Kartoffel with Mary plumping for the vegetarian Geröstete Knödel mit Ei und Salat). We also met the owner's dog, Cosmo... a bundle of canine energy and fun. Such succulent sustenance and canine company was a wonderful close to a tiring day.

Friday was our day of art galleries.

We spent the morning exploring the Leopold Museum, a five minute walk from the coffee shop in which we had breakfast.

It was here that my fascination with the faces of Vienna emerged. Among the extensive catalogue of pieces are a large number of striking portraits or sculptures. I never take photos in galleries, but found myself doing so in reaction to the pieces, how they were placed together in the rooms, and because there was a compelling narrative unfolding as we wandered through the different galleries. It brought the objects to life, gave them context and the morning felt like a wonderful journey of discovery. I also enjoyed the architecture of the gallery: the windows looking out to Vienna framed the city, as if it were itself a work of art on display.

Some pieces engaged both Mary and I more than others.

Spring, Koloman Moser.
Spring, by Koloman Moser. Image Source © BY-NC-SA.

The room containing portraits by Koloman Moser made a big impression - not only because of the quality of the art, but because of the connection it made with us both. The "Spring" picture (shown above) of a young man "springing", or full of the "joys of spring", or even in "springtime" (?) reminded us both of Mary's late uncle David. David was well known for innocently disrobing at the earliest possible opportunity - although he didn't explicitly describe himself as a nudist - and the unselfconscious joie de vivre of the painting reminded us of David. It also led to jokes about the amount of Viennese sausage on display, and it being "not the Wurst painting in the gallery".

We spent the afternoon exploring the fascinating archaeological exhibits in the Museum of Ephesus. Ephesus is in modern day Turkey and was the home of Heraclitus, an ancient Greek pre-Socratic philosopher who resonates deeply with me. I have a long standing interest in archaeology - as a child I was passionate about history and archaeology and visited many archaeological sites, digs and ancient monuments here in the UK. Why? Simply because I was fascinated to learn who these people were, what they were up to, and why they might have been doing what they were doing. Engaging with and exploring the remains from such time-distant cultures helps us to understand ourselves. I have an abiding childhood memory of feeling that these people are so much like ourselves while also being completely different - a rather wonderful opportunity to see the familiar in an unfamiliar manner. The fragments from Ephesus didn't disappoint in this respect.

In the evening we took another improvised stroll around the city as we found our way to the Musikverein - the concert hall that is the home of the world class Vienna Philharmonic Orchestra. If ever you've watch the Vienna New Year's Concert you're watching that orchestra performing in that place.

The programme was:

I love some of the music of Arnold Schoenberg - Verklärte Nacht being especially important to me. Yet the Ode to Napoleon (and its well known hexachord) was a difficult listen because I wasn't in the right frame of mind to engage. It was striking that the performers segued directly into the piano concerto without pause, so the atonal dissonance of the Schoenberg suddenly became a striking Eb major orchestral tutti followed by the well known cascade of virtuosic arpeggios from the pianist. The audience suddenly sat up in a moment of musical recognition and cheeky yet surprising programming of the music.

The interval proved music is a universal language.

As I wandered the corridors to find the wash-room I did a spot of people watching. I don't speak German, so I had no idea what folks were specifically talking about, but the snatches of musical jargon, composers' names, tone of voice and gesticulations from participants gave me the general character of what was being discussed and why: a shared deep love of music. I felt connected and among friends, despite my anonymity and the language barriers.

After the interval the orchestra gave an excellent sprightly performance of Beethoven's Eroica symphony. Here's a live recording of the orchestra, in the Musikverein, performing the same work in a different concert. It'll give you a good impression of the location, mood and music of our evening.

The Eroica is an old friend of mine. While a student at the Royal College of Music I participated in a Schenkerian analysis of the work, which ended up with a I-V-I cadence in Eb major (the so-called Ursatz). This is very much like doing a colour analysis of Whistler's Nocturne: Blue and Gold, only to conclude that it's mostly blue, but with a bit of gold. The important aspect of this process is the journey from detail to big-picture (and back again) and what this reveals about the specific work under examination.

In any case, the Vienna Phil were in fine form and I particularly enjoyed the robust horn playing in the third movement, and the humour in the finale as Beethoven starts a theme and variations with the theme gone missing. The orchestra spends the opening minutes trying to find it, but once found, have a great time playing around with it. Beethoven at his best.

That we were among music lovers became evident during the finale as I became more aware of the others in our box. The couple at the back had clearly fallen out and were whispering angrily to each other. But then a wonderful elderly lady of slight build stopped them in their tracks with the most pointed yet well placed and subtle shush I've ever witnessed in my life. It would have got nods of approval from even the most battle hardened of school librarians. Once noticed I couldn't help but pay closer attention to the elderly lady, for she was lost in the music, gently conducting with one hand and with a beautific look on her face. Yet as the applause started, with the last note echoing away, she was off like a rocket to avoid the mayhem of the crowds trying to retrieve their coats and scarves from the cloakrooms. She was an old hand at this. I hope she gets to hear many more concerts, because she embodied a music lover totally present and invested in the performance. Virtuoso listening. Bravo!

A post concert dinner and night-time stroll capped off a culturally rich and stimulating day.

Saturday was more of the same, yet very different!

We had tickets for a visit to the Kunst Historisches Museum in the morning, and a booking for the Seigmund Freud Museum in the afternoon.

The art history museum is itself an architectural work of art from a certain imperious, confident and ostentatious time in Vienna's history. It's a bling place for Vienna's artistic and historical bling. And it was a lot of fun.

We started in the Egyptian rooms, where we encountered some very expressive sarcophagi based faces, along with a beautiful stylised statuette of a hippo. That it was 4000 years old, yet looked like it could have been made only decades ago, was staggering (to me). In the case next to it was 4500 year old jewellery of exquisite craftsmanship that wouldn't look out of place in a contemporary New-Age or alternative ethnic clothing boutique. Recalling my childhood passion for archaeology, I couldn't help but feel these folks were so like us, yet so different. Who sculpted the hippo with such skill, and on what occasion was the jewellery to be worn (and by whom)..? Yet these thoughts work in reverse: how might folks 4500 years hence view the artefacts surviving from our world? I've written about this before and it helps me retain a sense of perspective about the work I do today. The computers and code I use to build things are really quite insignificant in the grand scheme of things. Furthermore, our perspectives and ways of paying attention to our computing work (arising from our current culture), are only fleeting, temporary and will appear strange to future generations in much the same way Egyptian art appears to us. We've not been coding for 100 years, so I dare you to wonder what computing will be like in 5000 years. What will be the same? What will be different?

Clearly the museum was working its magic and I was in a thoughtful mood.

The next rooms were full of classical sculpture and I recognised old friends (busts of Aristotle, Alexander, Caesar) and enjoyed more anonymous sculptures and paintings of our ancestors from only 2000 years ago. Highlights included Roman "selfies" painted onto the mummies of Egyptian citizens of the Roman empire, and striking busts of rich-yet-anonymous Roman movers and shakers trying to impress their neighbours. It turns out that keeping up with the Joneses was alive and well in the Roman world.

And, of course, there were examples of civic and ceremonial bronze sculptures of gods, emperors and representations of virtues and vices. Mary was especially taken by one in particular.

A nice bum.
Me: "Nice bum?" Mary: "Yes, they must have modelled it on yours, my love."

Moving forward in time as we walked through the museum, we eventually found ourselves in a more traditional art gallery: rooms hung with paintings. It was here that I found some wonderfully odd portraits. Often the subjects were in their glad rags, sporting the latest hair-dos or facial topiary and posing to project their status, wisdom or success. This clearly brought home the folly of such vanity. These folk are long dead and gone, and their names are only remembered because they hired a really great artist to paint their portrait. I imagine future generations will similarly have a good laugh at our collective expense as they explore our pouting selfies, oh so perfect performative lives and projections of success via shallow social media posts. It turns out pretentiousness, posturing and narcissism is a recurring theme in history: it's at least as old as those Egyptian sarcophagi from 5000 years ago.

Some of the portraits were very striking. Arcimboldo's portraits of the four seasons and the four elements were fun to see in person. I also enjoyed the "where's Wally" explorations of Bruegel the Elder's paintings, containing portraits and character studies of people in crowded scenes. The bagpipe player was particularly enjoyable.

After lunch we took a tram to visit a very different museum.

What's on a man's mind?
When I first met Mary, she had this Freudian image as a postcard, stuck up on the wall of her room. It certainly captured how I felt at the time.

Freud fled the Nazis and so took most of his stuff to London. If you're ever in London, go see the famous couch. Sadly, it means that his Vienna home, where we visited, is mostly empty of his possessions. You get to see his doctor's bag, some things in the patient's waiting room, and the mirror in his office (in which I sneakily took a selfie - I was reflecting upon myself in Freud's study), but the rooms are mostly bare and contain cases displaying inconsequent objects and commentary that tells the story of Freud's life and work.

Sometimes a place feels significant, and Freud's treatment room where the practice of psychoanalysis was honed is a good example. I can't over-state the influence of Freud's ideas on artists, writers, musicians and many others creating and working at the start of the twentieth century. Freud's client list, all of whom would have visited his treatment room, is a who's-who of significant Viennese figures. As a musician, it's quite something to imagine Gustav Mahler sitting on the couch, exploring his relationship with Alma through conversations with Freud.

Upon leaving, I was amused to notice that the small stickers you're supposed to wear to show you have paid for a ticket in the Freud museum had been used by previous visitors to decorate the street furniture outside.

In the end, the Freud museum was stimulating but didn't speak to me like the art galleries and concert I'd thus far experienced.

The next day, Sunday, was a special day. It was our anniversary.

We spent most of the day walking Vienna, deep in a conversational journey looking back on our life together. Mary and I have never found it hard to talk - from the moment we first met we've been sharing our thoughts - and Sunday was no exception. It was full of all the emotions one would expect as we reflected on our bond: both the light and the shadows, the joy and distress, the easy and the difficult. It was the sort of conversation only long term lovers, who have grown together like two adjacent trees in a forest (roots entwined), can have. I'll leave it at that. Such conversations are special because they are private and unique to the participants. Yet such conversations are also the most important conversations that lovers can have, and that Sunday was one of those occasions for Mary and I to connect in the deepest and broadest manner - surrounding each other in love.

Exhausted by our walking, we found a traditional Viennese coffee shop, the Café Schwarzenberg. I have to admit it was a bit of a tourist trap, with the elderly waiters dressed in formal attire and a Sunday afternoon jazz trio entertaining the patrons. But the place had a (touristy) buzz about it and the food and drink wasn't bad.

Just around the corner from the cafe was our final cultural visit: to the Haus der Musik - a sort of interactive music display and museum.

It was entertaining enough but, like the Freud museum, not a place that really spoke to me. I was interested to explore how they engaged folks in the science of sound and music, but the rest of the museum felt like it contained "holy relics" relating to Vienna's rich musical history: Schubert's glasses, copies of Beethoven's death mask, a Brahms sketch, Mahler's piano, some paintings by Schoenberg and so on.

A self-portrait by Schoenberg
A self-portrait by Arnold Schoenberg. He was a real barrel of laughs. Source.

The displays were intriguing in a "well, would you look at that" sort of a way, but not something that engaged deeply.

Our final meal was at a Turkish restaurant named after Ephesus. Once again Mary and I talked and talked and talked over excellent food and ended the evening toasting each other with glasses of Baileys Irish Cream (of all things!).

Monday morning led us back to the airport, and then our return to the hell that is Stansted airport, and finally our home in Towcester.

Vienna was a wonderful, rich, deep and stimulating trip for us both. Mary and I certainly had an adventure in terms of exploring a place, exploring culture, exploring food and exploring our life together so far.

We'd welcome suggestions for where to visit in a decade, when we celebrate 40 years of being together..!

Long may such shared adventures last!

My friend Michael

My dear friend Michael passed away this weekend.

I want to begin by expressing my deepest sorrow and condolences to his family.

Michael and I shared many adventures together, often with our families in tow, and I find consolation by writing these words of celebration and remembrance.

Michael, 2014.
Michael Foord, 1974-2025

We last saw each other only days ago: he came over and we spent a couple of joyful hours deep in conversation over lunch. He was his usual larger-than-life self, full of energy and enthusiasm about his work and animated about where his next steps in life may take him. He was busy saving up for a new house, planning new training for clients, enthusing about his current job, and explaining how rewarding he found the Python coding he was doing at that moment. Later I told a mutual friend how positive and "together" he seemed, that it felt like his ship was pointing in the right direction and that he had a clear sense of the course he wanted to take.

Michael, 2015... having fun together.
Michael, 2015... having fun together.
Michael, 2015... having fun together.
Michael, 2015... having fun together.
Michael, mostly being Michael. Shine on dude.

It was wonderful to see him like that, because he was also a deep and complex man who, of his own admission, led a life full of challenges, paradoxes and delightful eccentricities.

He met the challenges with honesty and bravery: we spent many hours walking together in the woods at Everdon Stubbs talking through whatever was on his mind. I learned of pain, struggles and shadows as he found the courage to meet, work out and then work through his internal demons.

He was a walking paradox: both completely certain of himself, and yet always questioning everything. He didn't shy away from fiercely independent thinking, often about the oddest of subjects or through the most extraordinarily original (and, dare I say, weird) lines of argument. Yet his exceptional intelligence and capacity for creative thinking meant he was always several steps ahead, laughing as everyone else tried to catch up, only to find he'd already moved onwards by the time we'd figured out what he was on about.

And this originality expressed itself in other, perhaps eccentric, ways. Michael's unique sartorial "approach" was, literally, a thing to behold. Only he could pull off a fedora, eye wateringly loud tie-dye t-shirt, woolly cardigan and leather biker's jacket AT THE SAME TIME (see above). "Colourful" is a word that doesn't even come close. His exploration of perfume and vaping meant you often smelled him coming long before actually seeing him. And that voice! I find it hard to hear speech when there's a lot of ambient noise. Yet Michael's pitch and timbre meant he cut through no matter the volume. I may have been speaking to someone at the bar, but could only hear Michael (on the other side of the pub) expounding the intricacies of Python's mock library (his contributions to the Python programming language are legendary), holding forth in an exposition of the history of Persian perfume, or complaining about the latest Hollywood trash we'd recently seen together at the cinema.

Later, when I found myself in a dark place he was unable to be there for me, for he was also struggling at that moment in his life. Yet - and here's one of the most important and admirable aspects of Michael - he bravely reconnected with honesty, humbleness, and what I can only describe as a trusting and vulnerable loving friendship. This was Michael's deep humanity on display: born of difficulty and distress, overcome through heroic and down-to-earth self-awareness, distilled with compassion.

I'm so glad we reconciled... because some of our best times were the most recent ones: going to see god-awful movies together at the local cinema (Michael always talked [actually, he boomed!] through the films with a hilarious commentary on the action), stimulating, thoughtful and joyously silly conversation shared over a pint or a meal, and then there was our way of greeting each other: a large hug to the words, "you sexy beast".

Adventures
On one of our many adventures with our kids.

As I write these final words, with tears rolling down my cheeks, I want you to know what a privilege it was to have Michael in my life. His capacity for joy, love and mischief shone forth brightly: he blazed through technical challenges, ignited conversations and dazzled with nimble repartee.

I will miss him terribly.

Rest in peace, you sexy beast.

From a recovering former Python community member

I really don't want to write this blog post. So, it's offered in a spirit of polite resignation.

A couple of days ago a friend and current board member of the Python Software Foundation (PSF) reached out asking, "Hey, we want to feature some CSA awardee's pictures in the PSF blog post, do you want to give me a picture of you to use?" CSA is the PSF's Community Service Award, of which I was a recipient millions of years ago.

The short answer is, respectfully, "no, and please don't feature me".

The longer answer, which I'm sharing here so I don't have to keep repeating myself, is more complicated.

It is a privilege that many remarkable folks in the Python community are my friends. They are a diverse and international bunch who bring to life a multitude of experiences, cultures and outlooks. To say they are very different (despite sharing common cause in Python) is an understatement. Their unique and multifarious gifts are something special to cherish and, just like a symphony orchestra, when taken together their whole is vastly greater than the sum of their parts. My world is enlarged by my fulfilling encounters with these folks and I am thankful that I am able to learn, grow and flourish through our interactions together.

Yet, there is a dark side to the Python community.

As I have extensively explored elsewhere in this blog (here, here and here), I no longer participate in the UK Python community. I do not feel safe or welcome, nor do I trust the UKPA's presence in that community. Through conversations with many of my Python friends, I can say with certainty that my experience in the Python community is NOT unique.

A case in point...

In a triggering turn of events, over the past two months I have watched with increasing horror as important parts of the Python community have unravelled into what can only be described as a cesspit of hurt and dysfunction. Factionalism is rife, heels have been dug in and the positions of others have been misrepresented.

It saddens me deeply that the PSF are at the centre of (although not the only participants in) this unfortunate and destructive turn of events.

Stepping up and volunteering in an open source community is hard work. Often things go wrong and complicated situations arise so nuance, self reflection and compassion are key to affirmative growth and collaboration.

Herein is the nub of our sorry situation.

The PSF appears unable to acknowledge both the plurality of dispositions in our community nor that the Python community is often a deeply unpleasant place. I believe the first step to effectively engage with such unpleasantness is to acknowledge that it exists and then, in a deeply uncomfortable and tricky process, explore it together via mutual respect, compassion and honesty. Eventually, perhaps, reconciliation and trust can flourish. Rather than corporate platitudes, shallow musings and tragic exclusions, I hope the PSF take a long hard look at themselves and honestly re-evaluate their presence and the behaviour they embody within the community. The alternative is the disintegration of Python into something akin to the "People's front of Judea" segment of Monty Python's "Life of Brian".

I sincerely hope the PSF find ways to listen, show leadership and engage with compassion. Only then can hurt be healed, collaboration re-established and trust regained. I'm not so much trying to call out the PSF as to call them in ~ into a more enlarged and empathetic approach than has hitherto been apparent to me.

If you doubt my words are true, read those problematic discussions and ask yourself... does the Python community feel healthy and happy at this moment in time?

This is difficult work. We can only do this work TOGETHER. We can only work together if problems are acknowledged, differences respected and mutual trust encouraged. Currently, alas, I see no such hoped-for engagement from the PSF. For no amount of PR gobble-de-gook, high handed pronouncements or a witch hunt will fix such a deeply broken situation.

Until things change to a more compassionate and less performative approach, I'd rather not be involved (thank you very much).

Peace.


Addendum (2024-09-18)

I want to publicly acknowledge and thank my PSF board member friend. They graciously responded, "I am sorry you feel so bad about the situation. I understand your decision, no hard feelings." This embodies the best of the Python community. Bravo.

I want to add that I don't feel bad.

I feel disappointed.

The unravelling in the Python community has caused me to pause and wonder how the actions taken by the PSF represent the sort of community we want to be. My hope has always been for a tolerant appreciation of the subtleties of context, a focus on open minded mutual care and understanding, along with a large dollop of big hearted compassion and a sense of fun.

Alas, recent PSF activity is hard to reconcile with such a hope.

There appears to be confusion between things that should be celebrated (like passion, humour, honesty, differences of culture and diversity of experience) and things that are genuinely problematic (like deliberate bad-faith activity or intentionally diminishing, dehumanizing, harming or harassing others).

The PSF tragically excluded folks acting in good faith. The PSF doubled down on the "welcoming community" narrative at the exclusion of acknowledging things are awry (and that the PSF has some part in this unfortunate situation). Frustratingly to my eyes, the PSF's corporate "PR" diminishes the carefully cultivated good standing and authenticity of the organisation. Remember when Python was fun? Me neither... :-/

Open source is hard work. Everyone involved wants Python to flourish. I have no doubt we all mean well. My disappointment is that the PSF promote ideals in a way that appears to embody their polar opposite. Furthermore, their actions appear to suggest the PSF no longer stands for the community... the PSF stands for the PSF.

I hope my words stimulate a more reflective, humble and heartfelt outlook; otherwise I fear we'll continue to decline into yet more fractious schisms.

Reconciliation is something we can only do together, and it won't be easy.

Peace.

On Paying Attention

PyCon US 2024 has been and gone. It was mostly lovely, and huge thanks to the team of volunteers who made it happen.

I was privileged to help plan the web assembly summit with my buddies Brett and Fabio. We paid close attention to cultivating a space where folks could meet, learn and build the connections needed to grow our nascent WASM community. I enjoyed paying attention to the three excellent talks about PyScript given by my friends, Jeff Glass, Valerio Maggio and Łukasz Langa. Their conference contributions (and many ad hoc conversations in the corridor) proved PyScript retains its buzz in the community. It was wonderful to pay close attention to the many dear friends I only ever see at PyCon US... a diverse circle of coders, kindred spirits and collaborators from all over the world.

Clearly, paying attention was my primary pastime at PyCon.

To what we pay attention is important. How we pay attention is equally consequential but often unconscious. Considering why we pay attention is perhaps most significant ~ an engaging, poignant and sadly neglected opportunity for self-examination.

Paying attention to paying attention is worthy of paying attention.

PyCon US 2024 banner.
Pay attention! What does the conference brand design express about PyCon?

I must admit to mixed feelings when I consider the way some of my programming peers pay attention to the world. Put another way, there have always been aspects of the Python community that I have found deeply uncomfortable. Without wishing to tarnish the good stuff at PyCon, here's what makes me pause for thought...

Despite welcome community representation, the exhibitor's hall at PyCon is mostly full of companies vying for attention with banal booths hosting transactional "brand engagement" via bland talking points. Tired marketing slogans bore attendees with infantile newspeak ordering us to "grow", "unleash" or "innovate" with over-inflated (yet soon forgotten) products. The exhibitors' scanning of conference badges is a QR-based game of cat and mouse. The prize? Yet more email spam. Unsurprisingly, attendees have to be lured into this space with the promise of lunch.

Happily, most conversations at PyCon are friendly and nourishing, but some turn into a sort of performative alpha-geek / silverback coding-gorilla display of programming buzzword bingo for the tech bro / brogrammer crowd. A less performative but equally problematic sort of conversation involves a trite and blinkered obsession with quantitative measurement of often-suspect or dull metrics to prove a qualitative point (and thus attention is misdirected).

Alas, the predominant mythology at PyCon US is (unsurprisingly) US centric and dominated by Silicon Valley, Big Tech and Hacker News startup culture with a surveillance capitalist bent. In this culture euphemisms and doublespeak, such as "get to know your users" or "deliver value faster", misdirect attention from often sinister and manipulative uses of technology: the intention behind the examples I've just given being a more efficient pollution of our world with insidious adverts. (Remember folks, always use an ad blocker with your browser).

My discomfort comes from the unquestioning and uncritical attention towards, and tacit normalisation of such exploitative and banal aspects of coding culture. The emperor has no clothes: this is not "progress" and "growth" into a "brave new world", but a one dimensional, thoughtlessly performative and (small C) conservative and conformist outlook that places technology over humanity for the dumb sake of profit. The vapid products this cultural cesspit spews into the world suck all the creativity, depth and joy from life.

Woe betide criticism of such a culture, or you'll be labelled a neo-Luddite.

To be clear, I'm not against technology (no shit Sherlock, it's actually fucking useful!). Rather, I'm against shallow, stupid and stunted ways of paying attention to tech and coding. I believe we can (and must!) do better than this sorry state of affairs. As programmers we can shine a light on such things in the hope we explore and encourage alternative ways to pay attention, express ourselves, empower folks and carefully enlarge the world through creative, evocative and joyful technology.

All this probably explains why, for me, the most interesting and stimulating aspects of PyCon were the opportunities to be away from PyCon. They jarringly contrasted with the conference in the way they emphasised how to pay attention to the world.

The first of such contrasts was a trip to the Andy Warhol museum with my friend Naomi.

Silver Clouds.
Silver Clouds, by Andy Warhol. Source © Rachel Cobcroft. Some rights reserved: Creative Commons by-nc-sa.

Prior to my visit, I had only limited encounters with the work of Warhol: the "15 minutes of fame" quote, garish quartets of Marilyn Monroe prints, Campbell's soup cans, and 80s-era photos of a vacant looking eccentric with blonde hair and glasses. Yet the Warhol museum captured and stimulated my attention. I especially enjoyed sharing this time with Naomi, who is always such a playful presence with a large dollop of thoughtfulness thrown in for good measure (more on this soon).

My impression of Warhol is of a man who found himself in an adverse world, then dared to make a space for himself by subverting the familiar. His subversions are funny, ironic, goading, engaging and assertive in a way that also feels (to me) disconnected and slightly bored with our manufactured world. Thus, he directs our freshly subverted attention to the familiar and we experience a dislocated "huh?!" moment of reflection or revelation.

For instance, he called his studio The Factory - presumably because it was an assembly line for his art as well as a conveyor belt of visiting celebrities. He published a book, The Philosophy of Andy Warhol (from A to B and back again), ghostwritten by someone else using recordings of Warhol as source material. Explicit homoerotic portraits drawn with a black ballpoint pen announce his overt homosexuality... drawn at a time of discrimination and prejudice against the LGBT+ community. The film Taylor Mead's Ass is a glorious 76 minutes of actor Taylor Mead's naked backside capriciously capering around as a celluloid riposte to a film critic who complained he was bored of films containing Mead's ass (it's a silent film, and I wondered out loud to Naomi about the possibility of adding comedy sound effects). The playfully manufactured and entirely unnatural Silver Clouds (shown above) are plastic silver "pillows" filled with a careful mix of helium and air - just like kids' party balloons. Naomi and I spent an entertaining time bopping and booping them about the room and I, as a tuba player, couldn't resist vigorously blowing underneath one of the pillows in a respiratory busting and ultimately futile game of keepie-uppie. We were told by one of the staff that the pillows regularly escape, especially in the presence of children (young or old). Of course, the museum also contained versions of the iconic Warhol pieces, yet did so with sympathy to the unfolding story as one explored the space. There was no "oh look, gotta catch a photo of the Mona Lisa" or "lemme take a selfie with these Van Gough Sunflowers" moment during our tour... although I suspect Warhol would have sabotaged such contemporary theatrics, given half a chance.

Naomi and I discussed how we couldn't really imagine such provocative playfulness at PyCon, nor any pointed subversions during the conference talks. I was left in a thoughtful (i.e. grumpy) mood about our contemporary culture contaminated by social media. Thanks to such exploitative technology, folks don't have 15 minutes of fame, but an eternity of prompted performative obscurity. If everyone is doing "famous", then nobody is famous and we're all just sacrificing ourselves to assessment by algorithms.

Of course, Warhol has an angle on this.

One of the floors of the museum contains installations playing some of the many screen tests he shot in the mid-60's. I found myself asking "who's looking at who?" and then I wondered about how individuals choose (or perhaps have no choice over) how to present themselves. The personal branding, self obsessed "influencers", and manipulative gaze of social media in contemporary culture came to mind. Are you famous if you're on film or filmed if you're already famous? Warhol was playing with the notion of "famous" long before coders thoughtlessly brought YouTube, Twitter and Facebook into the world as an exercise in exploiting our collective narcissism for the sake of shareholder value.

And then we saw it: a create your own screen test room just off the main gallery space.

"I will if you will", I said to Naomi. She gamely took a seat and kicked off the immortalization of four minutes of awkward "so now what do I do?" exasperated looks into a fake film camera making faux whirring noises. As I sat during my session, I counted in my head, listened to Colonel Bogey with my inner ear, and tried very hard to ignore the various passers-by (to varying degrees of success). Ultimately, for four minutes I'd become another exhibit... a delightful subversion of what it is to visit a museum. Bravo to the curators for such an ironic trick. At the end, you're emailed a link to your screen test... and I've embedded mine below. I bagsy this as a four minute quota from my promised fifteen minutes of fame. I hope to make better use of my remaining eleven minutes.

Here's the thing, I appear to be paying attention to you, as you pay attention to me, but I'm not actually there! Perhaps Warhol would have appreciated adding such a non-attentive video to an article about attention.

Another joyful contrast to PyCon was dinner with my buddy Andrew Smith and his partner Jan, along with Naomi, Guido and Eric... all of whom (like me) encountered Andrew as he was writing his latest book, The Devil in the Stack. The distinct lack of technical conversation was a breath of fresh air, and Andrew and Jan were energetic and entertaining hosts.

In the week before PyCon and during PyCon itself I found myself reacting to the conference with poetry (or, more accurately, doggerel). Feeling motivated by the playfulness of the Warhol museum visit, and because an opportunity arose during the meal, I was able to share some of these verses of varying quality with such literary friends(!). I'm re-sharing them here so I can feel they've somehow "escaped" into the world, and can take on a life of their own... or simply pass into bewildered obscurity.

The first is a limerick about Guido. I've changed it from the version I read out at the meal, since he explained that some Dutch I'd originally included didn't quite make sense in the way I had hoped.

I was prompted by chatting with Guido at 2023's PyCon. I noticed he had covered his name on his conference badge with a post-it note saying, "no selfies". Guido is, of course, the inventor of Python.

No Selfies

Said Guido, a programmer Dutch,
“I really hate selfies. As such:
  I might be your hero,
  But to me it means zero.
Please leave me in peace, thanks so much”.

“But Guido you're really a saint,
When meeting you I feel quite faint.
  I want to shake hands,
  Rise above all the fans,
Be your best buddy without restraint”.

“Oh God! Please just make it stop!
These programmers really must drop,
  The deluge of thanks,
  Autographs and cranks,
'Else PyCon, for me, is a flop”.

I'm proud to say, everyone at dinner was politely bemused!

I didn't share this next poem at the dinner because it was still relatively incomplete at the time.

Ode to a Data Scientist

This has 97 words, 12 lines and 3 verses,
Rhymes A-A-B-B in a scheme that traverses,
Through four lines per stanza, in compound time,
A measurable quantity expressed as a rhyme.

No doubt such patterns and figures reveal,
Aspects of things that stats un-conceal.
Yet these numeric collisions of aggregate stuff,
Are a diminished perspective that is not enough.

The observable facts such as these do not show,
Or reveal the subjective world that we know.
For beyond such detachment and detail we wend,
Through a universe to live in, embrace and transcend.

This is my plea for a more nuanced, expressive and felt view of the world.

Truth be told, I don't see myself as a programmer. In my mind's eye I'm a musician who just happens to use code as their medium (reflect on Charles Ives's famous question, "my god, what has sound got to do with music?"). If you were to cut me open, only my little toe would contain code, my uncoordinated left foot would perhaps encompass my interest in philosophy, and my sprained ankle would be my educational efforts. The rest would just be music.

I was in a puckish and annoyed mood when I wrote this final poem. I simply wanted to poke fun at the barren world view of the tech bros.

The Plural Noun for Tech Bros

A herd of tech bros circle together,
  bleating about the Pythonic weather.

Don't be the sheep cut off from the mass,
  unable to pass,
  as someone,
  with something,
  interesting
  to
  say...

Their mental masturbation ejaculates
  ever-fruitless discourse:

Repackaged reportage from Hacker News,
  Performative patronising technical reviews,
Name dropping semi-famous nerds,
  An infinite garbage of computer-y words.
Detached and empty with no spark of life.
  The real world ignored, to cut off its strife.
So clever they lack the intelligence to know,
  We are vital and luminous souls who grow
Through connections and feelings and deep self revealings,
  But their work fills the world with VC funded dealings.
Squeezing huge profits through inhumane code,
  We're exploitable data points, with privacy to erode.

What do we call such a desperate crew?
A wank of tech bros, that'll do.

It felt good... nope... it felt great to read out such silliness to friends ~ paying attention to coding culture with my creative, playful and expressive side while gleefully ignoring the performative moralising and tone policing that often goes on in the (Victorian) Python community. We desperately need writers, poets, artists, dancers, sculptors, actors, architects, comedians and musicians in the world of coding, if only to save us from the currently brain dead coding culture. Programming is an art, so please come join in... we're not all thoughtlessly tone deaf like Elon, charismatically challenged like Zuck or so easily forgettable like those dudes, whose names escape me, that run Google.

The final contrast with PyCon was a trip out of town with my friends Dave, Katrina, Martin and Josh. We went to see Frank Lloyd Wright's architectural masterpiece, Falling Water.

The photographs I took while on the excellent guided tour should, I hope, speak for themselves. Take your time browsing through them.

Best of Falling Water

Thanks to the visit I'm reading a recent biography of Frank Lloyd Wright called Plagued by Fire by Paul Hendrickson. It's a quirky book about a deeply complicated man.

Frank Lloyd Wright was a surly, manipulative narcissist and his life was full of dramatic twists and turns. He founded an influential studio and school for architects, was a major figure in the Prairie School of architectural design, and (perhaps thanks to the way Falling Water captured the public's imagination) had more than 400 commissions in the final three decades of his life (he passed away at the age of 91).

Most paradoxically, given his arrogant, self-mythologising and dissonant nature, he promoted an architectural philosophy called organic architecture that aimed to bring about harmony between human habitation and the natural world. In his view, buildings should be at home in nature and grow "out of the ground and into the light". Not only did organic architecture work with the natural conditions of a site, but the process of design, construction, living and maintaining was integral to the outlook, like stages in the life of a living organism. Because of this dynamic outlook, Lloyd Wright believed that "no organic building can ever be 'finished'" since it should respond to its changing environment and needs of its occupants. He also emphasised the importance of integrity - that a building should be "integral to site, integral to environment and integral to the life of the inhabitants". Falling Water is often cited as a classic example of this philosophy, articulated in his book The Natural House.

My response to Falling Water was reflective: attentively being in the place to assimilate and appreciate its presence, along with my own presence within it. In the same way a live performance of music may create a time and place for encountering certain feelings or attitudes, so this building had a psychological impact on those who explored its rooms, transitions and placement within nature.

As Joe, our mature yet sprightly guide, showed us around the property he brought our attention to hidden details while telling the story of the life of the house. He skilfully illustrated aspects of Lloyd Wright's philosophy. For example, the notion of "destruction of the box" was mentioned several times: the rooms were varying in shape, often open and flowed into each other. Joe brought our attention to details relating to the fixtures, furniture, windows, bathrooms, materials, lighting, the aural experience of the waterfall and accessibility to the stream, sun and trees in the surrounding area. Everything about this building was done consciously, with care and through a process of attending to the way the parts "organically" cohered and emerged into a whole.

While chatting with the ever-thoughtful Martin, we both commented on how this attitude to building structures was very different to the usual way we build software. We agreed (to paraphrase our conversation) that coders, "thoughtlessly bung features together and then A/B test the hell out of it". To me this attitude feels closer to Le Corbusier's famous claim that, "a house is a machine for living in". It's a contrasting outlook to Frank Lloyd Wright, and pays attention to design for functionality, optimization and efficiency. But I want to ask: who decides function, what needs optimising and how optimisation takes place? I suspect most would point to the god-like architect. Sadly, like the disempowerment of using products created in the current coding culture, folks who inhabit such buildings don't get much of a say, nor are they encouraged to change such "efficient" buildings to their actual needs.

I quite like the sound of "organic software", although I'm unsure what it might be. Right now it's a rough sketch in my head of an attitude or way of paying attention to the creative act of writing code. Perhaps that's the nub of it: organic software empowers folks to pay attention, change and control the code in their digital life so it reflects their unique and precious presence in the world.

I can't help but wonder that a whole is never the same as the sum of its parts, be that a building, a piece of music or even software. Rather, there are simply different ways to pay attention to the world, and by focusing on the whole or parts thereof, each illuminates the other depending on the sort of attention we pay to it. The world is independent of us, yet how we pay attention to the world reveals the world to us in a certain sort of way. Such creative attention, as I have mentioned before, is a potent and fluid process of encountering, understanding and expressing. We discern the universe and also change the universe through our discerning and reacting. How we choose to pay attention (for it is certainly a choice), is a significant creative and moral act: it both makes and enlarges the world.

An inevitable musical metaphor illustrates what I mean. As a performer I could just play in a mechanical-yet-very-accurate manner, only paying attention to the formal and technical aspects of a piece. Yet this is clearly a diminished performance because of the absence of attention to expression, feeling or "ensemble" (the connection with other performers and the audience), those aspects of performance that fall under the realm of musicianship. The former attention to musical technique is only worthwhile if the latter attention to musicianship is present. To be a good musician you need to bring to bear many different ways of paying attention, each of which contributes to a new unique entity containing and combining all these integrated aspects.

We pay attention in this creative manner because it gives us an enlarged, affirmative and stimulating way to participate in and transform the universe. Put bluntly, it brings meaning to life.

As I said at the beginning...

To what we pay attention is important. How we pay attention is equally consequential but often unconscious. Considering why we pay attention is perhaps most significant ~ an engaging, poignant and sadly neglected opportunity for self-examination.

I sincerely hope we all find a way to pay attention in a more compassionate, creative and magnified manner.

Especially if you're a programmer. ;-)

The Victorian Python Community (an Allegory)

Allegory (noun) : the expression, by means of symbolic fictional figures and actions, of truths or generalizations about human existence.


Everyone knows the Python programming language was invented by Charles Darwin and first revealed to the world in his 1859 magnum opus, On the Origin of Programming by Means of Natural Indentation, or the Preservation of Favoured Algorithms in the Struggle for Resources.

As has been copiously documented elsewhere, while Darwin suffered ridicule and hostility from the Victorian establishment, a community of supporters emerged to help Python reform its reputation as a programming language, achieve widespread acceptance, and eventually become a core part of our modern computing stack.

A group shot of some of the Victorian Python community.
A group shot of some of the early Victorian Python community. (Source)

This group of unnamed community organisers were responsible for some of the first Python programming conventions and exhibitions. They eventually instigated the Royal Society of Python (RSP) whose first patron was the Prince of Wales. Even today, the post-nominals FRSP (fellow of the Royal Society of Python) are widely established as a much sought after recognition of professional success.

Of course, the earliest Python programmers were exclusively gentleman amateurs ~ men with the education and financial means to pursue an interest in computing, for the love of it rather than for financial gain. They often met to informally discuss their work in the coffee houses and gentlemen's clubs of London. Such activity soon led to the formation of The Pythian Club in 1863 (the forerunner of the Royal Society of Python) and the publication of technical papers, written by club members and published in its journal, The Pythian Exposition Pamphlet (PEP).

Much innovative and creative energy was shared in those early years. While some of this activity addressed uniquely Victorian technology and cultural norms, we still use a remarkable amount of code from this era. Furthermore, a recognisably Pythonic approach and aesthetic, familiar to programmers of today, emerged at this time.

Because of cultural norms rather than by design, the early Pythian Club was an exclusively male space. However, as Python became more widely known, women ventured into this traditionally male world. The Pythians, as they came to be called, hoped to promote the widespread popularity and adoption of Python, so eventually welcomed women. By 1879 up to 5% of their members were female. Unfortunately, women often found themselves on the receiving end of the tacit mysogyny, sexism and male chauvinism of the time. Similarly, ingrained institutional racism and cultural prejudices also meant those from a non-European background were often excluded, patronised or subjected to onerous membership requirements.

In response, and because measuring things always reveals the right answer, concerned Pythians collected data and published tables and charts to show how their ranks were growing according to the sex, age, social background or nationality of the participants.

A chart about female coders.
The Pythians produced statistics about female coders (this example is from the 1890s). (Source)

Complementary to such data led practices, and born of a desire to improve the moral fibre, deportment and behaviour of Pythians, the first of innumerable versions of a code of conduct was published.

The code of conduct.
One of many versions of the Victorian Python community's code of conduct.

Finally, a group of teachers, school inspectors and orphanage directors worked together with the Pythians to tackle the problems of dangerous child labour practices, youth delinquency and sub-normal computing literacy in the general population. An act of parliament, championed by Lord Russell in 1876, forced all children to learn about computation with the aid of an abacus, slide rule and clockwork calculating machine called a micro:contraption:for:computing:splendid:results. Patronage of the Prince of Wales and a royal charter soon followed and the Pythian Club became the Royal Society of Python, whose offices one can still find on John Adam street, adjacent to the Adelphi, just off the Strand in London.

Enthused with successes, the Royal Society of Python organised schools for the fortification of logical, algorithmic, inquiry and learning (the origin of the phrase, "to flail around"), and organised a curriculum of rote learning and regular examinations to ensure young people were equipped for, and knew their place in the growth of the British Empire.

Education track.
Instructions from an early Victorian Python education summit.

Such practices, codes of conduct and educational efforts were widely adopted.

Yet there were dark clouds on the horizon and such developments caused consternation among two groups:

  1. Artistic free spirits, those of a melancholic disposition, anarchists, and trade unionists, who inevitably railed against the formal rules, regulations and processes imposed from on high.
  2. Traditionalists, progressives and everyone in between, who simply disagreed with whatever was the current code of conduct (until it was replaced with their own version).

Into this mix came further considerations: a desire that financial endowments from the Royal Society of Python be made to the deserving poor with the right sort of upstanding constitution, rather than to the afore mentioned artistic types, the morally corrupt, and bothersome foreigners barging in on the society's coding crusade for the spread of civilized indentation.

Some senior members of the Royal Society of Python, the very people who organised such selective grant giving efforts, preached the virtues of kindness and charity to assemblies of the Python community. Thus, they ensured their political manoeuvers appeared ostensibly benign.

The situation became ugly as such members vied for power and resources within the Royal Society of Python. Manipulative machinations, plots, gossip, self promotion and factionalism ran rife. The Royal Society of Python was no longer a friendly society of shared fellowship in the craft of coding. Those suspected of straying from the conventional straight and narrow path were swiftly condemned in the letters page of the London Times and subtly ostracised.

Senior members.
Senior members of the Royal Society of Python.

Furthermore, industrialists from the north of England, seeing how lucrative Python based produce could be, sponsored or employed senior members of the society to advance their interests and ensure profits remained secure. They even exerted shadowy influence within the Royal Society of Python so competitors were excluded or disadvantaged (most notoriously, a director of a Python-using pie making company from Cambridgeshire undermined the award of the society's annual medal to a competitor and ensured yet another was excluded from fully participating in society activities).

The fun, adventure and imaginative spark of Python's early days disappeared and was replaced by the puritanical promotion of stifling, trite and standardised frameworks and processes for many aspects of Python coding (from type hinting and source control to the writing of documentation). With the encouragement of their paymaster industrialists, some members of the society used their influence and control to deliberately spread (insipid yet so-called) exemplary standards of upstanding engineering practice that benefited the business interests of their sponsor or employer. Alas, Python was widely used to create mass market, derivative, lifeless and banal software in a race to the bottom of the coding barrel.

(Urban myth tells us that a bug-ridden Python script driving a lace making loom got into an infinite loop, and thus the Nottingham lace industry was born with a (literal) stack overflow of frilly collars, doilies, curtains, knickers and drapes.)

Such sharp practices, political posturing and vapid design inevitably caused a backlash.

Famously Oscar Wilde quipped, "Python's not the serpent that tempted Eve", in a text penned while incarcerated at Reading Gaol. William Morris lamented the poor quality and blandness of Pythonic creations in his famous lecture of 1884, "How We Might Code" (further explored in his later novel, "Code from Nowhere"). A certain Mohandas Ghandi, an Indian student studying Python at University College London in the late 1880s, went on to found the swadeshi movement: a reaction to the reliance on products produced by industrialised coding, and whose aim was self-sufficient hand-made khodi (code). Meanwhile huge offence was caused by Emmeline Pankhurst who dared to suggest women were as equally skilled as men at writing Python code. Outside Britain and her dominions, the use of generative AI written in Python was pioneered by Austro-Germanic composers such as Anton Bruckner ("how else was he able to create so many hour-long symphonies that all sound the same, with such regularity and in such a short space of time?" asked George Bernard Shaw).

Inevitably, at the dawn of the 20th century, disgruntled Python coders broke away from the troubled Royal Society of Python and formed small coding cooperatives, guilds and workshops under the auspices of the emerging Code and Crafts movement founded by Morris.

The influence of these reformers is still felt today: our more enlightened and expressive approach to writing software, with its focus on human beings over computers, authentic expression in the digital realm over simulated emulation of the real world, and empowering creativity through code over data driven automation, is thanks largely to the radical, risky and revolutionary (for the time) work of such rebels.

Python therefore became both part of the British establishment and a haven for unbound creative expression.

This dichotomy is best illustrated by Queen Victoria's reaction to learning of the release of Python 3 support for the SDL library (she was able to return to the development of her Bram Stoker inspired vampire slaying game, an entry for PyWeek (1898) written with PyGame).

We are mildly amused.
Queen Victoria, on hearing of SDL support in Python 3, "we are mildly amused". (Source)

:-)

As they say in the movies, this blog post was "inspired" by real events.

However, any resemblance to persons living or dead is coincidental, and any implication that members of the Python community have a sense of humour, creative spark or moral conscience about the influence of technology on society should not be inferred.