composition.al

Join us at the Programming Languages Mentoring Workshop at ICFP next month

The Programming Languages Mentoring Workshop is a fun and free event for people who want to learn about careers in programming languages (PL) research. These days, there are four PLMWs a year, held in conjunction with the Big Four SIGPLAN-sponsored conferences (POPL, PLDI, OOPSLA, and ICFP), and the next one is going to be held on August 22, in conjunction with ICFP ‘21. If you think you might like to attend, please apply by August 8th!

Like ICFP itself, this edition of PLMW will be held online. In the Before Times, PLMW paid (at least a significant chunk of) attendees’ expenses for the rest of conference attendance, including funds toward travel, lodging, and registration. For the last year and a half, though, with conferences being online, travel and lodging fees have been nonexistent and registration fees have been much lower. Of course, online conferences have lots of disadvantages compared to in-person ones, but one silver lining is that it’s been possible for us to expand access to PLMW. For example, I helped organize last year’s PLMW @ ICFP in August 2020, and it was, as far as we’re aware, the biggest PLMW ever, with 275 registered attendees hailing from 32 countries on 6 continents.1 This year, I’m once again (along with my friend José Calderón) helping organize PLMW @ ICFP 2021, and we’re hoping for another great turnout. We would love for you to join us this year!

How to create an .srt caption file for a video

Let’s say you’re giving a talk, and you’ve been asked to provide a caption file in .srt format along with a pre-recorded video of your talk. How should you create the caption file? You could do it manually in a text editor, but there are also many software tools to help, ranging from those aimed at professional captioners to those developed by and for the anime fansub community. For a lot of folks, a simple and effective approach is to use YouTube Studio, taking advantage of YouTube’s automatically generated captions. Of course, the automatic captions are going to be wrong a lot — that’s where you, the human expert, come in!

So, here are instructions for creating an .srt caption file using a combination of YouTube and your brain. I’m writing them with ICFP 2021 (for which I’m serving as accessibility co-chair) in mind, but my hope is that they’ll be useful for other events, too.

These instructions assume that you’ve already created your talk video, that the audio recording is of good quality with a minimum of background noise, and that you have access to YouTube and have a YouTube account. Parts of this post are based on a guide written by Sumon Biswas for OOPSLA 2020.

!!Con 2021 starts today!

!!Con (pronounced “bang bang con”) is a radically eclectic, radically affordable conference of ten-minute talks about the joy, excitement, and surprise of computing. I co-founded it with a group of friends back in 2014, and we’ve been running it every May since then; in 2019 we started a second event, !!Con West. !!Con features ten-minute talks about any computing topic imaginable, as long as there’s at least one exclamation point in the title of the talk!

Until this year, every !!Con and !!Con West conference has been packed into a single weekend: a focused, intense barrage of thirty or so talks in two days. It’s a lot of fun, and when we went online for the first time last May, we stuck with that format. But this year, we’re trying something new: spreading our event out over a whole week, with a few talks per day — starting today! Our live stream launches in less than an hour (!), with our opening remarks and our first keynote talk going live at noon Pacific time. Anyone can tune in to the live stream; you don’t need to have a ticket! Check out this year’s amazing speaker lineup.

CSE138 returns to Twitch today!

TL;DR: Starting today, March 30, 2021, I’m live-streaming my undergraduate distributed systems course on Twitch every Tuesday and Thursday for the next ten weeks, starting at 3:20pm Pacific!

A year ago, covid-19 had taken hold in the US, and I was teaching my undergrad distributed systems course, CSE138, remotely for the first time. I decided that as long as I had to teach the course remotely, I might as well try to make it widely available. Live-streaming my lectures on Twitch sounded like a lot of fun, so I did! I posted all the resulting videos on YouTube, where they ended up being quite popular, especially right before the midterm and final exams.

How not to email prospective grad school advisors

It’s grad school application season1, which means that prospective students have been emailing potential faculty advisors. In my field, computer science, this isn’t something that you necessarily have to do in order to find an advisor, but it can really help if you do it right. Unfortunately, it can also hurt if you do it wrong. I get my share of these emails — some better than others — and I want to give some advice on what makes an effective email from a prospective student.

Course retrospective: SMT Solving and Solver-Aided Systems

Last fall, at the start of my second year at UC Santa Cruz, I taught a graduate seminar on SMT solving and solver-aided systems!

I was lucky I had the chance to offer this course at all. I had originally been scheduled to teach something more typical and boring, but in spring 2019, as my first year at UCSC was ending, my department chair asked me if I wanted to instead teach a special topics grad seminar in the fall, on anything I wanted. Hell yeah! Sign me up! I couldn’t believe my good fortune, since I’d already gotten to teach one such course in my first year. The topic I’d chosen that first time, Languages and Abstractions for Distributed Programming, had been really fun, but pretty squarely in my comfort zone as a researcher. For this one, I decided I would venture outside of my comfort zone and learn something new.