Over the last few weeks, I've found myself having to copy and paste
large chunks of text into emacs running in a terminal. This leads to
some annoyance, as each character pasted triggers a keystroke. In
particular, every newline triggers indentation via
newline-and-indent. This is very annoying, as the indentation
usually gets a bit messy and turns into an ugly staircase of text.
Vim has a solution to this problem via a command :set paste, which
turns off indentation while pasting. More gene…
I recently found myself looking at Linux instant messaging clients
again. Sometimes I feel like some kind of Luddite for still using a
desktop instant messaging client, but I just cannot bring myself to
use a web application. I have used pidgin for as long as I can
remember, but I have been looking for an alternative with better
support for primarily keyboard interaction. My biggest complaints
about pidgin center around odd focus issues that sometimes seem to
require a mouse to fix.
I periodically try to use TAGS to navigate round my code in emacs.
When it works, it is very convenient. I have not been using them
lately, partly because generating the tags and keeping them up-to-date
has always been a bit fiddly. In the past, I have tried to get emacs
to automatically regenerate my tags when I save changes to a file. I
have had solutions that work to a greater or lesser extent, but they
are always a bit unsatisfying. Inevitably, I end up having to write
an extra shell scr…
Today I ended up reading one of many articles decrying the current state of OpenGL. I don't remember which one. I will be interested to see where OpenGL does from here given its competition. The whole topic got me curious to see what version of OpenGL my video drivers actually supported, so of course I checked with glxinfo. Much to my surprise, I was running the open source nouveau driver. I never thought about it while I was installing Ubuntu, and I guess this was the default.
I have to sa…
I have been running Debian unstable on my machines for years reasonably happy. Living on the bleeding edge is slightly exciting. Having maximally up-to-date versions of programs is also useful. The cost of running Debian unstable is implied by the name: sometimes things break. I have been fine with that over the years - I knew what I was getting in to. So the occasional update messes up a symlink for glibc. No big deal. At least, that is how I used to feel.
I feel like I might be getting …
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. …
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 …
Don't tell anyone, but I decided to try to use vim as my primary editor for a
week. I have actually used both vim and emacs for years, but I usually only
used vim for viewing files and emacs for editing them. This week is vim full
time. I like emacs, but it has been doing something annoying that I haven't
quite been able to track down. There is some keystroke that is very much like
"save file" that I keep hitting that seems to just lock up my emacs window.
To recover, I inevitably …
Lately, I have been making my presentation slides with LaTeX beamer.
I use SVGs created with inkscape (and my handy wacom tablet) for most
diagrams and the minted package
(which eventually calls pygments) for syntax
highlighted source code listings. This combination works well and
produces very nice PDFs that I can present with evince.
Unfortunately, the compile time for a large presentation is excessive
and makes incremental updates a bit of a pain. It is also wasteful
since I am not using ma…
I enabled IPv6 on the machine hosting this blog a few months ago, but
I hadn't actually tested it. In fact, I don't have any other hosts
with IPv6 support so I can't really test it myself. Since
World IPv6 Day is coming soon, I decided it was
time to get things working.
Looking around, I found an
IPv6 website validator, which
actually let me figure out if things were working out. There were
just two problems:
My AAAA DNS record didn't transfer automatically when I switched from GoDaddy
I have a set of scripts
(available on github)
that I use to generate whole-program LLVM bitcode files. They are
used as drop-in replacements for gcc that compile code twice: once to
a normal object file and once to a bitcode file. Ideally, these
scripts can be substituted in via environment variables in the typical
CC=wllvm CFLAGS="-O0 -g" ./configure
Until now, this worked for many libraries, but often ran into trouble
with some libraries that used libtoo…
First, I finally went back and added support for clang in my
Usage is easy: just set LLVM_COMPILER=clang and it should Just Work.
In the process of implementing this clang support I ended up feeling
pretty bad about some of the old code. I ended up refactoring out
quite a bit and it is definitely cleaner now. I'm still not sold on
this whole "object-oriented programming" thing, but it worked
tolerably for a small chunk of Python code. The resulting object…
I've been an XMonad user for a while now. The window manager doesn't
include any status bar-type functionality, instead relying on external
programs. The two most common bars in use seem to be dzen and xmobar.
I didn't like the methods for feeding data into dzen, so I went with
xmobar. It was tolerable. I added a freedesktop.org notification
widget a few months ago and it got a little better. Unfortunately,
the text-only interface bothered me a little bit, and there was no
easy way to get a …
I have been making my presentation slides in LaTeX Beamer for a few
years now and it is a pretty pleasant process for the various reasons
I mentioned in the previous post. More recently I decided that I
needed to depend less heavily on the staple of a staple of Beamer
presentations: the bullet point. You can generally spot a Beamer
presentation from a few miles away, and I did not really want to be
that guy any more. Without bullet points, though, what is really
left for presentation slides? …
I keep forgetting to update this blog. I feel bad about that; I
thought that I would have more free time after I finished taking
classes. I am going to try to force myself to update more frequently.
I won't force myself to make the content insightful, though.
Anyway, I have been writing code in Haskell lately, and the
haskell-mode for emacs is very good. This mode has support for
replacing common multi-character operators and identifiers with their
Unicode equivalents. For example, -> bec…
I am not really a huge fan of browser extensions. Most seem kind of
excessive or silly and can easily make the browser seem slower than it
really is. That said, I do appreciate the extensions that let me
browse more easily without using a mouse.
The most important feature that I want from a browser is to be able to
easily select links to follow using the keyboard. The typical user
interface for this feature is to label each link with hints after
some keystroke is hit; you follow a link by typ…
I am an XMonad user. There, I said it. I don't use any components of
the typical desktop environments except for one: notification-daemon.
Notifications from various applications are useful, even in a minimal
Unfortunately, the normal notification daemon is rather unpleasant to
look at. The popups are intrusive and tend to appear wherever I am
looking. I've tried to configure them to appear in every corner of
both monitors at various times, and it seems that I just l…
This came up for the second time in five months yesterday, so I
thought I would record it so that I can remember what the deal is next
time it happens. If you have a binary that loads just fine and seems
to be normal according to tools like ldd, but GDB refuses to load it
stating that some shared library is missing, this post may be of
interest to you.
In certain environments (particularly those based on Red-Hat
Enterprise Linux), system libraries can be pretty out-of-date. If you
have more re…
I bounce around between media players fairly often -- maybe two or
three times a year. Lately I have been using Banshee, which works
reasonably well. Unfortunately, the Last.fm support has been broken
for a while. Worse, judging by
bug 612929, there
don't seem to be any plans on fixing it (or even any ideas on what
might be wrong). For the curious, the problem is that Banshee will
start to play a stream perfectly well, but stop after the second song.
This is slightly functional bu…