…a multi-disciplinary conference that brings together the developers and thinkers building tomorrow’s technology in fields such as emerging languages, alternative databases, concurrency, distributed systems, security, and the web.
Through consistent excellence over the years Strange Loop has become one of the most successful extant software conferences. It’s the favorite conference of some of our engineers, a few of whom have attended Strange Loop as often as they could going back to its second year in 2010.
This year we sent a fairly sizable contingent to the conference, and they were generally pleased with their experiences and agreed that this was yet another successful year for Strange Loop.
I asked the engineers who attended if any of them would be interested in sharing the talks that they’d recommend to their peers… and I got one volunteer. 😬 Ah well. I’ll go first.
I started my Strange Loop experience this year on the pre-conference day with the Software with a Mission (SWAM) mini-conference organized by Bridget Hillyer and Sean Marcia. I found the event inspiring and greatly encouraging. My two favorite talks were From Coder to Bureaucrat: How We Implemented the First Open Data Law by Becky Sweger and Kaitlin Devine, and Finding Happiness in Open Source by Sean Marcia. Both were inspiring and informative. My overall takeaway from SWAM was that I’m not alone in my idealism and that it really is possible to work towards aligning one’s idealism and career. Being in that packed room was truly, deeply encouraging, and I hope this becomes the first SWAM event of many.
As for the main event, the talks that made the strongest impressions on me were:
The Hard Parts of Open Source by Evan Czaplicki was a fascinating analytical and historical breakdown of the communication patterns that tend to recur in FLOSS project communities, wherein Czaplicki compellingly traced and constructed two major literary-intellectual threads from the past to the present. That alone would have made for a satisfying and thought-provoking talk, but then he also shared some fascinating forward-looking ideas of his own on how we might make communication in these communities more constructive and effective.
Changing the World by Erica Joy Baker was one of those big-picture, take a step back and (re-)frame Everything kind of talks — I just love this sort of thing. Her talk was all about inspiring, energizing, and exhorting the audience to be both ambitious and diligent, and to be more conscious of whether, when, and how much to compromise on our ideals. I fear I won’t do it justice by a quick summary, but I’ll do my best: Baker pointed out that “changing the world” has become a staple of Silicon Valley rhetoric, a rallying cry used to get people excited and psyched to do Big Things. But, said Baker, in our excitement — and greed — we forgot to “finish the sentence” — we forgot to be sure that we’re changing the world for the better, for everyone. So let’s stop forgetting that — let’s stand up for what’s right; let’s each and everyone one of us insist, however we can manage in our individual circumstances, to ensure that we are changing the world for the better, for everyone. I really needed this talk, and I’m wholeheartedly +1 on every bit of it.
Understanding TypeScript’s Structural Type System by Drew Colthorp was the biggest surprise for me this year. I’ve had a positive impression of TypeScript for years, despite never having worked with it — any project that furthers the cause of gradual typing has my (moral) support. That’s what led me to take a look at the talk’s description, despite my assumption that the talk wouldn’t interest me — I’m generally disinterested in type systems. But the excellent description piqued my interest and propelled me to give the talk a try — still mostly a lark, but I make it a point to take some chances at every conference. So I was surprised and delighted when this turned out to be an exciting, cogent, impressive, and informative talk. Not only did I learn a whole lot about how TypeScript’s type system works, with grounded, realistic examples — I also intriguingly observed many similarities between that system and Clojure’s Spec library. Finally, I thoroughly enjoyed the presentation of this presentation. It was fast-paced and information-dense, but meticulously crafted with many, many examples that helped me ingest a lot of information quickly and successfully. I think I’ll be re-watching this one at least a few times in the hopes that maybe I can integrate some of these techniques into my own talks.
Two quick honorable mentions: first to Freeing the Software That Runs Our Elections by Roan Kattouw for giving me a glimmer of hope that we might be able to wrest our democracy in the United States from the corrosive grasp of the greedy, corrupt elections technology industry. Second: Algorithms for DNA Data Storage by Ruthie Nachmany for just plain old blowing my mind.
A few talks I wanted to see but missed, and will be catching via video: Zero Downtime Migrations of Stateful Systems by Sangeeta Handa, Towards Language Support for Distributed Systems by Heather Miller, and Justice for Sale by Brittany Wald.
Finally, I did have one minor disappointment with this year’s Strange Loop: there was a dearth of talks on documentation. This is something I’d like to see fixed… maybe I’ll even try to do something about it next year 😅.
I chose the Day of Datomic Cloud pre-conference event.
I’ve always been drawn to the Datomic architecture and its “too good to be true” features. I’ve played around with Datomic for a few years now. I’ve mostly used it for toy projects, mostly as a vessel to learn Datalog. My main problem with Datomic is that even with the “free” offering it was weird and cumbersome to use. I am surprised to hear there is a lot of actual Production use. It seems to require so much buy-in from all stakeholders. I don’t want to dwell too much into the reasons to pick Datomic or not.
What certainly impressed me way more than I had expected is the Cloud offering that Cognitect has concocted. Being able to just press a button to get a fully managed and scalable storage system is quite cool but there is so much more under the hood.
The main thing I’d like to focus on is Ions. Ions enables you to run Clojure services within your Datomic cluster and seamlessly integrate them through AWS Lambda functions. It provides a full programming model and workflow to develop, deploy and integrate with Clojure-friendly tooling. I believe that Datomic Cloud + Ions delivers a really compelling development environment for new full-stack Clojure apps or even internal systems.
Chasing the Stream Processing Utopia by Kartik Paramasivam was a talk that I found very relevant to my work at Funding Circle. My team is building next generation apps for a better financial world and naturally stream processing is something we do. Not only do we use it as part of our stack but it’s quite central to our new architecture, allowing us to use Apache Kafka as our system of record.
This talk gave me a great overview of the challenges around stream processing centered around the Apache Samza framework. Paramasivam outlined the various streaming application patterns supported by Samza as well as challenges related to running these topologies in production and at scale. My main take-away was that stream processing is still very much the “wild west” of application programming paradigms. I see this reflected in our use of Kafka Streams and the Confluent Platform wherein we experience the same challenges outlined in this talk sans the massive scale LinkedIn operates at.
I’m excited for the future of stream processing and am happy to work in this field with fresh challenges and boundaries that need pushing. Whether you’re just curious about stream processing or are already “knee deep” this is a good talk for you!