Recently, an acquaintance was complaining of a project they were working on that involved reading a mountain of “incidentally complex” code — code that wasn’t doing anything particularly interesting algorithmically, but that was nevertheless so hairy that it was difficult to understand the implications of adding even the small feature they wanted to add. After reading code non-stop for a week, they were tearing their hair out in frustration.
We’re gearing up for the 2016 Off the Beaten Track workshop, co-located with POPL in St. Petersburg, Florida next month. If you’ve never been to OBT, it’s a fun and informal workshop that provides a forum for discussion of programming languages research topics that don’t get much play in mainstream PL venues like POPL.
Last month, I headed to Pittsburgh for SPLASH 2015. Sadly, the trip was brief, since I had to leave the conference early to make it to a friend’s wedding, but aside from my own talk at SPLASH-I, I managed to catch several other SPLASH-I talks, chair a session at Onward!, participate in a lively panel discussion, and throw a practice talk party in my hotel room. A few themes emerged from the smattering of talks I saw at SPLASH: domain-specific languages, “end-user programming”, a blurring of the distinction between dynamic and static languages, distributed programming, and program synthesis — all topics of interest to my group at Intel Labs.
To improve readability, I like to put a number label at the top of each bar that gives the quantity that that bar represents. When I realized I wanted to add these labels to my charts, the first thing I did was look at this example from the matplotlib documentation, which seemed to be doing something a lot like what I wanted: