fetching all git branches from remote
When you clone a new git repository, using a recent git release, by default git will create a .git/remotes/origin with all remote branches. This file lists all remote branches that are to be updated on a fetch. Over time the remote may get more branches, and it may be necessary to update the remote branch list. The way to find out what is available at a remote is to call git-ls-remote origin, then pick out the branches of interest, and add them to the .git/remotes/origin file.
local caching for git repos
I try to minimize the amount of data I pull from git repositories. To do this I have a directory on my file server that has a bunch of clones of git (and hg and previously bk) repositories. All of these are exported and mounted on my other machines in /site/scm/. I will refer to this as cache :) Next, I have a cron job that regularly updates those trees from the their upstream counterparts. All my working copies are cloned from those repositories using the --local --shared mode, or using --reference if I think I will be committing upstream any time soon.
automatic version creation with git
openswan is going through a process of redefining what their versions numbers will mean… what’s stable, what’s testing, what’s devel, etc. I participated in the discovery of how to do this automagically from git release tags. Patrick was so happy with the results that the conversation ended with … 14:49 <patlap> C'mon bart, blog it :-) … and how can I tell the CEO of Xelerance “no” :)
wmii w/ ruby wmiirc
My window managers have changed a few times over the years. I started off with OpenSTEP at Carleton, used that for a year. Then switched to Afterstep, which I used for about 3 years. Next I switched to sawfish/sawmill, and used it for about 4 years. Recently I went through a crisis as sawfish stopped working for me in testing on amd64. I found [ion3]{tag/ion3} to be a nice replacement. I was a happy ion3 user for almost a year and then someone suggested that I try [wmii-3]{tag/wmii}.
small fonts
I don’t use a lot of X applications. The one that I use most often is xterm. I like small fonts, and I find that I have no problem reading a small font on an LCD monitor. Recently someone mentioned the Terminus font. I tried it and it quickly became my favored xterm font… it’s so tiny and clean! Here are the important bits of my .Xdefaults file… XTerm*renderFont: false XTerm*font: -xos4-terminus-medium-r-normal-*-12-*-*-*-*-*-*-* I also grabbed a few tiny fonts from Proggy Fonts and my new wmii font is ProggyTiny. Here is the bit from my .wmii-3/wmiirc-config.rb file… font '-windows-proggytiny-medium-r-normal--10-80-96-96-c-60-iso8859-1' The above font site also taught me how to import fonts into X font server w/o a restart and how to keep fonts in my home directory. Check out this short HOWTO.
google-codesearch from vim
I just saw vim hint 1354 pop up in my RSS feed. It’s a neat idea… but it’s hard to decide what documentation should be looked up. Simply using the file type is insufficient. It turns out that it’s a lot more awesome to do google codesearch lookup on it.
shell commands
I saw this blog post by Debian’s Florian Ragwitz, and ran my own list of most commonly used shell commands. Here they are… history |awk '{print $2}'|awk 'BEGIN {FS="|"} {print $1}' | sort | uniq -c | sort -r | head -15 627 git 266 vim 98 cd 76 grep 69 ls 63 gitk 60 ssh 51 sudo 47 vv 47 apt-cache 40 cat 34 make 33 patch 30 rm 25 man
letting screen apps use the ssh-agent
I have been wondering for a while how to do this… How to pass the ssh-agent variables to screen clients. After doing a google search on it I found a couple of solutions: grabssh/fixssh - two scripts that save the ssh agent environment variables and restore them; screen_agent - this just executes an ssh-agent that is used by the screen session; fixx - ok, this actually fixes X forwarding not ssh-agent and is a variation on the first; Then I came across Alexander Neumann’s blog entry which is the perfect solution. He simply redefines the SSH_AUTH_SOCK variable and makes it point to a symlink that he creates when he logs in. This means that this method works when you’re sshing into a machine running screen. I will just have to overwrite this symlink when screen is being launched.
mpdscribble stream support
I am using gnump3d to get my tracks to my laptop, which is using mpd to play tracks. I noticed that none of the streamed tracks were getting to last.fm. I investigated and discovered that mpdscribble was not getting told of the track length by mpd – understandably so – and was not reporting it to last.fm. I patched the mpdscribble utility and posted about it. Updated…
glGo on ubuntu/dapper amd64
I started playing go. I tried cgoban and gtkgo. Both crashed a lot. Then I tried glGo… it’s much better.