Splitting a git repository into two repos

A git project frequently arrives to a point where it is beneficial to split it into two repositories. You may have developed a library and an application and want to release them separately, or perhaps some of the documentation grows to become a book, to be maintained by a different set of individuals. How does […]

Creating presentations programatically

One can convey quite complex ideas in presentations using the right diagrams, however composing diagrams using software like PowerPoint of OpenOffice Impress can be time consuming since elements are created and manipulated individually. This becomes even more problematic when showing an evolution of an idea through several slides: changing some aspect (e.g., color) in the […]

Debugging the Linux kernel with Qemu and Eclipse

First, it is useful to have Eclipse index all kernel symbols, and an excellent tutorial can be found here. Older tutorials on setting up kernel debugging with QEMU and Eclipse were extremely useful in getting the setup working, however more recent changes to QEMU requires some effort to bypass limitations in gdb, and Eclipse dialogs […]

Increasing thread priority in Linux

It is sometimes useful to get semi-realtime behavior from some of an application’s thread. This is common when I/O latency needs to be kept low, a good example being Software Defined Radio. The software component of the radio would like to read and write samples from the radio as soon as possible, keeping buffers small […]

Compiling glibc

In a mixed computing environment, it’s sometimes useful to have heterogeneous machines use the same library collection. For example, when running on a cluster (e.g., managed by condor), software should run regardless of the underlying operating system distribution. My environment required glibc (version 2.15); it took a bit of fiddling to get it to work, […]

Installing ns-2 on Ubuntu 12.04

Recent Ubuntu releases contain many of the prerequisites for ns-2, which can relieve much of ns-2’s installation burden. This post works out the details of such an installation, compiling ns “from all the pieces”, as specified in the ns-2 documentation. The TclCL crunch Whereas it may seem that all important dependencies can be fetched from […]

Quick ns-3 installation on Ubuntu 12.04

ns-3 is a discrete-event network simulator, commonly used to gain insight into dynamics of complex networks. Descriptions here are short, to get you running ns-3 quickly, but further information can be found in the official documentation. Instructions are based the ns-3 installation wiki and the ns-3 tutorial. Installation and build {codecitation style=”brush:bash”} # Install prerequisites for […]