Little Conferences
I've mentioned before that one of the very small perks of this pandemic twilight world that we live in is the number of events that are now online and either cheap or free to attend. Several weekends ago I attended PyCascades, a regional Python conference normally held in the Pacific Northwest. This turned out to be a fantastic event, with interesting talks and a great atmosphere.
It's pretty incredibly what this entirely volunteer group managed to put together. The whole event managed to feel very interactive and lively. They had several social hours, Slack and in-conference chat, live booths and Q&A sessions, and mentored sprints after the conference. That's a very very tough thing to pull off.
With the heavy-hitting companies that are in that area, you'd expect them to have some great speakers and topics, and they did. But what I most appreciated was the focus they had on civics and tech for good. My favorite presentation was probably the one by Isaac Na about the Council Data project. This is an open source project that allows volunteers to build and launch a website that compiles, indexes and provides a search interface for information about a city council, county council, school board, or other government entity. From their website:
We wondered why it was so hard to find out what was happening in our local city council and why we couldn't just search for council meetings and legislation based on a topic.
So, we set out to solve that.
From Isaac's example, you could see how you could search through transcripts of council meetings, jump to recordings for given topics, and see nice summaries of voting records and such. I know from personal experience how difficult that can be on standard government websites. Sometimes meeting minutes are only available via downloadable PDFs, and I'm still not entirely sure (outside of manually tabulating votes from those PDFs) whether there's an easy way to see voting records for our county board.
Not only is this a cool project from a practical standpoint, it also has a lot of very cool tech behind it. In order to ingest all of this data, build indexes, and host videos and other media, they need to have a lot of cloud infrastructure, job schedulers, scrapers and that sort of thing. They knew that it wouldn't be practical for most volunteers to set up and manage such a project, so they built it in such a way that most of the infrastructure is automated and constructed from config files. Basically the ideas is that you can fill in their template file (the project name, what host name you're using, where the site to scrape is located etc.) and run a program called cookiecutter to automate building the project on your computer.
DemocaracyLab, of which Council Data is a part, is full of great projcects like this. It's always very impressive to me when people like Isaac, who work at places like Amazon and could be doing anything with their time, decide to dedicate their time to addressing needs like this. And this wasn't the only project like this highlighted at PyCascades. Honestly, I can't think of a commercial product that was talked about at all, with the possible exception of a talk about Python in architecture.
Asside from Council Data, I learned about several projects that I plan on checking out further:
- Intake which provides a general way for ingesting data from multiple sources into your program, versioning it, and cataloging it
- Bokeh, a plotting library that looks great, but I haven't had the chance to try yet
- The Prefect job scheduler. This was described as being like Apache Airflow but perhaps simpler. I'd like to check both of those projects out because I tend to rely too heavily on cron for scheduled jobs when that can be very limiting in terms of visibility and dependency management (scheduled task A has to happen before task B)
- Bandit is something I've heard about many times but just need to implement it. It's an easy way to scan your builds to make sure you don't have any vulnerabilities
All in all this was a great conference and I'm glad I went. I was hesitant to dedicate a good chunk of a weekend to a conference but came away feeling like it was less like work and more like a fun, techie, meetup-type of gathering. People say that Python has a great community but almost every community says that. I do think there's something to it though. You normally don't see much positivity in chat for an online gathering of any size, but it was certainly there for PyCascades.