(Programming) Language Interoperability

My advisor recently pointed me to an article in the ACM Queue about a familiar topic: interoperability between programming languages. My research for my thesis was very much in this area, and I am happy to see others thinking about the topic. I have not been able to find a whole lot of related work. Broadly speaking, I agree with the sentiment of the article and differ on a few minor points. For example, I don't think that mutability is a significant barrier to language interoperability. Cer…

PLDI 2013 Trip Report

As you can see, this post is late. Very late. PLDI was in June. At least I posted this in the right year. I had some trip notes but never got around to turning them into a post. I was presenting a paper about a static analysis to infer memory ownership properties for C libraries at ISMM this year, co-located with PLDI. Overall, I enjoyed the conference. Presenting is always fun, as is putting faces to all of the names you read about. I just want to cover a few papers that stood out for me …

Blog Software Update

This blog is built on hakyll, a static site generator written in Haskell. I have been running on Hakyll 3.x for quite some time now, but Hakyll 4 was released in January. I kept telling myself that I would update - I even had the port mostly working a few months ago. I never got around to finishing it, though. Until today, that is. There should be no visible changes if I did everything right, but the code is much cleaner. It was essentially a rewrite, so it was a good opportunity to make so…

A Student No More

After 22 (or was it 23?) years of formal education, I am no longer a student. I defended my dissertation on August 9 and deposited it on August 20. I will post a copy of my dissertation online shortly. It feels good to finally be done. I start work at Galois shortly. Until then, I am just learning how to get around Portland and hopefully riding some bicycles. I am also going to spend some time catching up on some of my open source projects. There are several outstanding bugs that I ignored …

Project Management in Emacs

Over the years, I have tried many different "project management" libraries for emacs -- enough that I do not even remember which ones. I do not really remember finding one that did what I wanted (or could be coaxed into it within any reasonable amount of time). Sometime last year I stitched together something rudimentary that serves my workflow very well. With my recent emacs configuration rewrite, I took the opportunity to refine my solution into something slightly nicer. I am docu…

Back to Emacs

Notes on vim It seems that my extended vim experiment has come to an end. I did not mind modal editing and I appreciated the rich language of "text objects" that vim editing is based on. On the other hand, I really disliked most of the editing modes available. Syntax highlighting in vim is fast and, for the most part, reasonable. However, none of the indent scripts impressed me. It is easy enough to write a basic indentation script, but any script like that can be easily fooled. …

GADTs in API Design

Right after my hoopl experience in February, I meant to write more about GADTs and how I have found them to fit into API design. Obviously, I got a bit distracted. Broadly speaking, before I get into too many details, GADTs are very powerful, but seem most useful within a module and not exposed to clients of an API. I will try to detail a few reasons why I came to feel that way, though obviously I might change my mind one day. Introduction to GADTs Before I start, I will introduce the basic i…

A New RSS Reader

Luckily, I did not write an RSS reader - I just started using a new one. I had been using newsbeuter (the mutt of new readers). It is actually pretty nice and I do not have any serious complaints about it. It has some speed issues when I compile it myself versus using debian packages, but presumably that is my fault somehow. The recent Google Reader kerfuffle got me interested in reviewing the other available options. One of my big complaints about most applications is that they do not have u…

Terminal Fonts and Vim

It looks like my problem with bold terminal fonts was a false alarm. The vim theme I was testing with (Tomorrow) seems to only use bold keywords in gvim. Zenburn properly uses bold in the terminal.

Font Problems

I've been using Adobe Source Code Pro as my primary font for a while. The other day I tried to update from 1.013 to 1.017 for no particular reason; this caused some Problems. As soon as I switched, the font looked awful in my terminals (no matter how many times I rebuilt the font cache). It still looked fine in GUI programs (e.g., gvim). I am not a font expert, but it seems like a new weight was added in this release: medium. Somehow this became the default weight, while the regular weight …