• 0

Met Joey Hess this week at debconf14 and revisited git-annex again. <3 these special remote options. There is nothing else like them.

Screenshot of git-annex special remotes

Managing Programs in Unix Userland

This article, written for arc-docs, is what I wished I had read when first learning to use Unix/Linux systems.

Installing and Managing Built-From-Source programs in your Home Directory

You can use a simple program called GNU stow to manage built-from-source applications in your home directory.

First, create a stow and src folder in your home directory:

> cd ~
> mkdir stow
> mkdir src

Next download the program you wish to build form source to the src folder:

> cd ~/src
> wget http://example.com/program-1.0.0.tar.gz
> tar -xvzf program-1.0.0.tar.gz
> cd program-1.0.0

Create a folder in the stow folder where you want your program installed:

> mkdir ~/stow/program-1.0.0

Read about available build options and decide if you need to change any default options:

> cd ~/src/program-1.0.0
> ./configure --help
#Lots of options

Configure the program to install to the stow prefix that we just created and set any other options or flags that you need. This step may vary from program to program. You may encounter errors or warnings at this step so watch out and research any that come up:

> cd ~/src/program-1.0.0
> ./configure --prefix=~/stow/program-1.0.0
# Lots of output

Next make the program from source. Watch for errors on this step and research them as the come up:

# in ~/src/program-1.0.0
> make
# lots of output

Once your program builds successfully, install it to the prefix directory that we set in the configure step. Watch for errors on this step:

# in ~/src/program-1.0.0
> make install

If the install is successful, navigate to the program folder in the stow folder and inspect what was installed:

> cd ~/stow/program-1.0.0
> ls -a
bin  lib
# etc...

If you see files/folders not conforming to the standard Unix folder structure:


you should consider cleaning up the install as the install did not follow standard convention and may make a huge mess. If the program installed cleanly, you can stow the program:

> cd ~/stow
> stow -S program-1.0.0

Running this stow command with the -S flag (for save/stow?) symlinks the contents of ~/stow/program-1.0.0 into the directory above the ~/stow folder. In this case this is your home folder ~/. bash is configured to use the default Unix directories in the home folder by default, so now binaries from program-1.0.0 should be in your $PATH.

Lets say we want to un-stow a program to remove it from our environment or to stow a new version. We can simply run:

> cd ~/stow
> stow -D program-1.0.0

Running stow with the -D flag (for delete?) deletes the symlinks created by stow from the step above.

stow is intelligent enough to not overwrite files and keeps track of everything it installs. Its simple, but effective.

  • 0

Happy to see the LaTeX Font Settings bundle now officially installable through the TextMate 2 bundle menu :)

Screenshot of LaTeX Font Settings Bundle in the TextMate2 Bundle Menu

Running Trinity RNA-SEQ with Slurm

At PSU-ARC we were having some issues running Trinity RNA-SEQ on our Hydra Cluster running the Rocks Cluster Distributionn with the Slurm Workload Manager roll. Trinity works in two phases, first it does a lot of memory intensive computation on a single node (server), then begins queuing many smaller Slrum jobs that can be distributed across multiple nodes.

In order to allow Trinity to launch new and separate Slurm jobs, one must ensure that the compute node the primary Trinity job is launched on is allowed to launch new jobs.

The parameter that determines if nodes can launch new jobs is the node list specified in AllocNodes for a given Slurm partition. You can check this setting with the following command:

$ sconrol show partition

By far the simplest thing to do is to allow all nodes to launch new jobs:


  • 0


  • Cjs2014
  • Location: Jupiter Hotel

  • 0


  • Srtc
  • Location:

  • 0


  • Scream
  • Location: Pix Pâtisserie

  • 0


  • Sticker
  • Location:

  • 0

  • 0

  • Location: