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…
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
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…
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 …
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…
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. …
Right after my hoopl
February, I meant to write more about
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…
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…
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.
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 …