Other articles

  1. Quick Tip #5: Navigating in Source Trees

    I often move around in checked out Subversion or Git source trees on a Bash command line. Directory structures tend to get quite deep (especially in Java projects), so one problem keeps coming up frequently: Changing back to the base directory of the source tree. Typing "cd .." ten times is …

    read more
  2. Quick Tip #4: Sorting Large Files

    With traditional Unix sort(1), the size of the files you can sort is limited by the amount of available main memory. As soon as the file gets larger and your system has to swap, performance degrades significantly. Even GNU sort which uses temporary files to get around this limitation …

    read more
  3. Quick Tip #3: Creating Histograms in Python

    Since Python 2.5, creating histograms has become easier. Instead of dict, we can now use defaultdict which is similar in behavior to awk's associative arrays. Instead of raising a KeyError for undefined keys, defaultdict adds a user-defined item and returns it.

    I'll demonstrate this with a simple program that …

    read more
  4. Quick Tip #2: Set Operations Using Shell Tools

    Everybody knows that Unix shell utilities are powerful. Even though they're text-based, you can build a lot of useful things outside of the text domain. Today I'll show you how to implement set operations. All we need are sorted files as input, with each file representing a set.

    Let's create …

    read more
  5. Quick Tip #1: Implicit FIFOs in Bash

    One could assume that I have run out of material and retreat to safer ground, but far from it. From now on I'll just throw in a few quick shell hacks hoping some of you don't know them yet. So, here it goes ...

    Unix pipes are cool, but it's quite …

    read more