jump to navigation

Migrating from WordPress August 6, 2013

Posted by Rich in Uncategorized.
add a comment

This is an announcement this should be the final post for this blog. I am moving it here: https://dranek.com/blog

I’m not sure yet if I will copy my old posts to the new location or not, but for the time being I’ll keep them here (they’re surprisingly high on google’s results).

Please update your links, feed reader, etc if I’m still interesting enough to follow. I’m still setting things up, so if there are any issues, feel free to comment on this post.


Using rsync remotes with git annex December 17, 2012

Posted by Rich in Uncategorized.
add a comment

I’m a big fan of git and I really like using git annex to keep track of my large binary files (for my research, this usually means pdfs and other image files).

One shortcoming of git annex is that it doesn’t work very well on a git repository if you don’t have git annex installed. This is a non-trivial matter due to all of the Haskell dependencies if you want to compile it, but at least some pre-compiled binaries have been available of late.

However, this doesn’t help me, since my problem is that although my personal computers are up-to-date with Linux, my work computer uses a Linux distribution from about 2005. The dependencies for git annex are too new for this relic–even the version of glibc is too old! I was able to get git installed on my work filesystem but not git annex. This poses a problem when I update my git repository at work because all of the links to the git annex content are broken.

I thought I found a solution by adding an “rsync remote” on my personal computers. I set up a work remote by using (the line continuations are put in for clarity):

git annex initremote work type=rsync \
rsyncurl=work.com:~/research/project/.git/annex \

Now I can copy my annex contents to my work directory and it’s available to use there, right? Not quite.

For some reason, the way the annex contents are stored differs when you use a local git repository and when you use an rsync or “directory” special remote. For a local repo, they’re stored like this:


Whereas for an rsync/directory special remote as I’ve set it up above:


The way ab, cd, abc, and def are computed is based on the MD5 sum of the key, but the computation for ab/cd differs from abc/def. So even though I can copy all the annex contents to my work git repo, none of the files in the repo are pointing to the annex content correctly.

This behavior has bothered me for a long while, so tonight I finally did something about it. I found some helpful information here which gave me enough information to create a script to fix these symlinks.

I’ve put the script in my github repo under the MIT license. This has already been quite useful for my work, and if someone else can benefit from it too, then great! Suggestions and improvements welcome. 🙂

Revival August 30, 2010

Posted by Rich in Uncategorized.
add a comment

This blog is sadly under-utilized, probably because it doesn’t have much of a purpose. I recently saw a shirt offered by the ECEn department (http://ee.byu.edu/department/tshirts) that says, “Electrical Engineers Void Warranties”. In the spirit of voiding warranties, I’ve decided to put up some posts in the future of some of the projects I’ve been working on:

  • Installing an SD card into my wireless router (WRT54GL) — definitely warranty-voiding
  • Setting up software and configuration for said router
  • Getting the hardware together for a small server (it’s been quite an experience)
  • Setting up the server software (SMTP, FTP/SMB, WordPress hosting, picture hosting, backup software, etc)

Okay, so only the first item really voided any warranties, but the rest is related.

Midwives help people out February 5, 2009

Posted by Rich in Uncategorized.
add a comment

And so is birthed a new blog today!  I like the philosophy behind WordPress (free software) and had an old blog here that I never used so I’m starting fresh with this one.  We’ll see how it goes.

(Thanks to my wife for the title, which is taken from a bumper sticker spotted somewhere.)