I finally got round to attending the Strange Loop conference for the first and last time (since the organizers won’t do another one) .

What’s in a name?

From an old write-up on UIUC’s website) - this being the alma mater of organizer Alex Miller: the conference has been described as a “who’s - who of interesting people doing applied computer science”. The current website describes its goal as “to make connections with the creators and users of the languages, libraries, tools, and techniques at the forefront of the industry”.

The first conference was held in 2009 at Tivoli Theater - in the Loop neighborhood of St Louis, and the second conference was also held in the same neighborhood (courtesy of the Internet Archive). The other, better known, reason behind the name is that Alex happened to have a copy of the Hofstadter book “I Am a Strange Loop”.

Venue and logistics

Downtown St Louis is surprisingly nice - though a bit on the warm side (with a temperature delta of over 10 F from northern Illinois). The city itself is typically car oriented - 20 mins by car from the airport to the conference venue vs over 90 mins by public transportation (slower than cycling!). And the conference party was held at the City Museum which is indeed “weirdly wonderful” as its website proclaims.

Flying turns out to be an issue for some people - there are tales of delays, some people apparently missed the conference entirely - I live close enough to drive there, which does have its drawbacks as well - around 5.5 hours of driving time plus rest and charging breaks basically eat up the day before and after the conference! It does let me see some historic monuments on the way back though.

And Electrify America sucks. Don’t let me get started on that…


The keynotes are amazing

  • Spotify’s Taylor Poindexter and MS’ Scott Hanselman kicked the conference off with How to Build a Meaningful Career - you really can’t tell it was Scott’s third talk of the morning - is a fun tale of two careers in the software industry. I want to share some of the anecdotes but I’ll ruin it, so you should watch the talk yourself

  • AnnMarie Thomas from University of St. Thomas’ Playful Learning Lab on Playing with Engineering - this one is amazing on many levels. The least of it is that she was a below average student and still end up a professor! But mostly that we can make everything fun - she co-founded OK Go Sandbox (yes, the band with that Rube Goldberg music video!), which did an amazing worldwide project during the pandemic lockdowns, got deaf people to participate in music, and… again, just watch it yourself!

The closing keynotes are equally great

  • Julia Evans (Wizard Zines)’s How to Make Hard Things Easy on investigating weird bugs - picking Bash and DNS as examples! Video

  • Randall Munroe (xkcd) - Drawing Comics at Work. Do I even have to explain this one? The video is not up yet, I’ll edit when it does get uploaded. It’s a tall order, but listening to Randall speak (and talk through some XKCD strips and What If questions) is even funnier than reading XKCD

This leaves the bulk of the talks - there are five parallel tracks, and unfortunately it’s impossible to be in five places at once - so I’m still awaiting some talks’ videos so I can finally see them. I’ll just provide some quick impressions of the ones I did manage to attend, and list some I want to watch.

Day 1

  • Why Programming Languages Matter by Andrew Black, from the PWLConf track: the presenter posits a weak form of Sapir-Whorf hypothesis, in which the constructs available to you shape the way you both solve problems and build other languages on top. Drawing from his long personal career – I certainly have not heard of most of the languages he mentioned.

  • Turning GraalVM from Research to Product by Oracle’s Thomas Wuerthinger. I’ve been away from the JVM world for a long time, but this is super interesting - both to learn more about GraalVM itself (TL;DR you can AOT-compile Java apps for much improved startup performance, and actually higher throughput and better resource utilization as well. Apparently JIT’s benefits do not really outweigh the costs since you don’t recompile that often), as well as how he justified investment in it to Oracle management

  • Babashka: a meta-circular Clojure interpreter for the command line by Michiel Borkent. I am a Lisp head at heart, and Strange Loop historically has a strong Lisp presence, so how can I miss this when it’s held in the same room right after the GraalVM talk? Babashka uses GraalVM, of course, which means not only does it run fast, but you can deploy it just by copying a single binary, like with Golang and Rust. Recommended to anyone who has ever written a Lisp interpreter before in their CS 101 class.

  • Software & The Game of Go by another Clojurist, David Nolen. Not that much about software and more about Go, though still interesting

  • Comedy Writing With Small Generative Models by Jamie Brew, previously with The Onion. Only caught the end of the talk as was switching rooms for the next talk below, which meant I landed right in an audience participation karaoke session singing popular songs with lyrics replaced (with matching cadence) using his small generative models (Beatles’ Yesterday with text from Craigslist car ads, anyone?). There is AI fun to be had outside of LLMs folks.

  • The level of human involvement behind Remote Desktop Protocol brute-force attacks by Andréanne Bergeron). Interesting talk about using a honeypot and analyzing the resulting attack patterns.

Onwards to day 2…

  • Playable Quotes for Game Boy Games by Joël Franušić and Adam Smith - video. In a testament to the hallway track of conferences - or in this case, should I say the party track - I got convinced to attend this session after bumping into the presenters over whiskey and beer at the conference party the night before!

The idea is fascinating - and actually works - you can easily make a playable quote (a.k.a. a demo) of a game by analyzing what memory regions are used during a recorded session, and mask out the rest. It’s easier for 8-bit platforms, of course, but they have this working for older x86 games as well these days, which can be emulated thanks to WASM.

Try for yourself: Playable Quotes for Game Boy

  • The Economics of Programming Languages by Elm creator Evan Czaplicki. This one is both hilarious and … a bit depressing. TL;DR only very few kind of organizations can grow and sustain successful programming languages, and a lot of it is simply the economics (there’s a lot of fascinating details into Google paying Apple and Mozilla for becoming the default search engine provided, which of course help fund the development of Swift and Rust).

I’ve been thinking a lot these days about software supply chain risks, and so this talk is very timely. How do we better align the incentives between those who write software and those who consume them? There have certainly been incidents when a critical software get belatedly funded only after a major vulnerability is found.

  • Can a Programming Language Reason About Systems? by Marianne Bellotti (author of Kill It With Fire) - interesting talk about a more practical formal logic. It’s especially fun watching her use it to find exceptions in government regulations!

  • Birdsong as code by Chris Ford - interesting talk about how birdsong is indeed music, and that you can actually generate reasonable approximations with computer code. In Clojure, of course. Lisp is great for these sort of things

That’s the end of the tracks - after that we have Alex Miller’s closing A Long Strange Loop - video - it’s a lot of effort to run a conference, and the pandemic hit them hard (they managed to shift the 2020 reservation to 2023, so it’s natural to end now. Apparently venues have to be booked up to 3 years in advance, yikes). There’s a tribute to people from Strange Loop who has unfortunately passed away - including, surprisingly, Bob Lee, the Square CTO (who gave the Java Puzzlers talk with Josh Bloch in 2013) followed by the two closing keynotes

Talks I want to catch up on

and there’s probably many more… but they have not been uploaded (apologies to Tom Lehrer)

This post is day 25 of my #100DaysToOffload challenge. Visit https://100daystooffload.com to get more info, or to get involved.

Have a comment on one of my posts? Start a discussion in my public inbox by sending an email to ~michel-slm/public-inbox@lists.sr.ht [mailing list etiquette]

Posts are also tooted to @michelin@hachyderm.io or @michel_slm@social.coop