Every year, the developers at Yext are given the opportunity to attend a workshop, class, or conference related to computer technology through our Learning is Good program. This year, superstar coworker Avneesh Sarwate and I headed to St. Louis for Strange Loop, a “multi-disciplinary conference that brings together … fields such as emerging languages, alternative databases, concurrency, distributed systems, security, and the web.”
Strange Loop is two-day conference with an optional one-day pre-conference. At its heart, it’s a conference for the curious—for the people who love learning and aren’t bound to a single paradigm or area of interest. I learned something from basically every session I attended, and everyone I chatted with was kind and interesting.
In addition to the talks, the conference offers several other fun opportunities to learn, play, and network. This year, the pre-conference included mini-conferences on Elm and Papers We Love, workshops (we attended a fascinating one about functional programming with ES6), and a chance to new programming languages at the Coding Dojo. Moreover, a series of Unsessions were planned and run by attendees, and we got to party at the City Museum, a giant playground/maze/museum made out of reclaimed materials.
Beyond the main content, Strange Loop successfully creates a safe, diverse, and inclusive community. Its code of conduct enforces a harassment-free experience and its photo policy ensures that photos of attendees are published consensually. They provide opportunity grants for underrepresented groups in programming, had a Diversity in Tech Happy Hour, and an LGBTQ dinner.
Luckily for the English-speaking world, this year’s Strange Loop sessions (as well as those from the previous two years) were all recorded and made available to the public via the Strange Loop YouTube channel. Listed below are my favorites talks from those I attended, ranging from 30 to 45 minutes (which can be halved by watching in 2x speed).
“Humanities x Technology” by Ashley Nelson-Hornstein is a compelling keynote about the importance of the humanities in technology. It reminds us to create technology for people instead of for technology’s own sake. In it, Nelson-Hornstein goes over many examples of the times technology succeeded or failed in consider their usage and users. I highly recommend this for all technologists. [50:35]
“Building Secure Cultures” by Leigh Honeywell teaches us ways to ensure our code is secure before it’s shipped by creating a culture of security. She outlines the importance of creating a culture where developers feel safe reporting and admitting bugs, developing processes to preventing security holes throughout the development lifecycle, and improving intuition about vulnerable code. [26:16]
“Diocletian, Constantine, Bedouin Sayings, and Network Defense” by Adam Wick successfully explains proper network defence through Roman history. Rather than attempting the impossible feat of blocking all attackers, we must pair our firewalls with subnetwork defences, detect intrusions quickly, and hold off attacks as long as possible until support arrives. [41:18]
“Idealized Commit Logs: Code Simplification via Program Slicing” by Alan Shreve introduces program slicing as a way to create tool to help us read and comprehend code more easily. It’s a fascinating technique that creates a slice of a program that contains the minimum code required to complete a specified action. [41:16]
“Systems programming as a swiss army knife”
by Julia Evans outlines system-level tools you can use to debug your computer,
ngrep to explore an unexpected network response. At a high level,
she explains the kind of mindset you can adopt to solve any bug. [36:35]
“Reproducibility” by Gary Bernhardt isn’t available as a video per his request, but the talk explains that reproducibility leads to accurate mental models that produce powerful tools that we love to use—tools like Git, React, and Bundler. Unfortunately, the designs of these tools is not initially obvious, but we can utilize things like pure functions to encourage reproducible results.
“GraphQL: Designing a Data Language” by Lee Byron demonstrates the features of the GraphQL language, but more notably, shares the lessons learned over the four years it took to develop the language. These include solving actual problems over theoretical ones, minimizing complexity and feature count, and establishing a design editor and an initial user you trust. [39:55]
“A Frontend Server, Front to Back” by Zach Tellman dives into the role of a frontend server to route, validate, and shape traffic. He explains routing using useful analogies and presents an overview of the ways Fitbit implements their frontend servers, including a fascinating ‘passport’ that travels with requests. [46:50]
“Lies, Damn Lies, and Metrics” by André Arko explains the importance of metrics and the many ways that we lose meaningful interpretation of our data. We may rely on unrepresentative averages (“lie-candy for your brain”), fail to properly visualize data, or make incorrect assumptions about what data is being recorded. [36:38]
See You Next Year?
I hope you’re as excited about Strange Loop as I am. However, as the conference grows, note that tickets may become increasingly difficult to obtain. This year, the registration servers overloaded in the first few seconds, and I think the tickets sold out in a few minutes. Sign up for the mailing list on their website if you’re interested in keeping updated on all the news. Remember to put the date on your calendar when it’s released. On the bright side, the talks are all available online, so you can at least meet up with your friends on a Saturday and host your own mini Strange Loop. Hope to see you next year!