Tag: linux

Emacs and Terminal Pasting

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…

Linux Messaging Clients

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. Unfortuna…

TAGS for Haskell

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…

Linux Video Drivers

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…

A Change of OS

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 …

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. …

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 …

Heresy

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 …

Presentation Software

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…

IPv6 Support

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 My we…

Libtool Annoyances

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 fashion: CC=wllvm CFLAGS="-O0 -g" ./configure make make install Until now, this worked for many libraries, but often ran into trouble with some libraries that used libtoo…

Recent Bug Fixes

First, I finally went back and added support for clang in my whole-program-llvm wrapper. 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…

Taffybar: An Xmobar Alternative

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 …

Wacom Tablets and RHEL5

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? …

Emacs Fonts

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…

Browser Extensions

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…

Freedesktop.org Notifications for Xmobar

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 environment. The Problem 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…

GDB and Non-standard Library Paths

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…

Linux Media Players

Background 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…