Category Archives: linux

Faster zsh and git integration

There are quite a few zsh init scripts available out there which implement git integration. Unfortunately, they also slow down the shell workflow. I have found myself continuously frustrated by the fact, how much they make switching between directories slower. In the end, I have tried implementing something on my own and result is reasonably faster than `oh-my-zsh` or other solutions.

You can get the code from:

git clone git://

Be warned that, it may or may not work with old version of zsh or git.

Screencasting from Linux/Ubuntu

Sorry for yet another do this – do that, crap of screencasting in Linux. Well, most of the tools out there simply doesn’t work (yeah, I have tried plenty of them).

Finally, I have settled down on ffmpeg, which works perfectly well for screencasts with both audio and video.

Here are step by step instructions on How to make Screencasts in Linux(Ubuntu 8.04 in my case, but you get the idea) using ffmpeg.

  • Get ffmpeg dependencis :
    sudo aptitude install build-essential subversion zlib1g-dev \
      checkinstall libgpac-dev libfaad-dev libfaac-dev liblame-dev \
      libtheora-dev libvorbis-dev gpac
  • Get X11 dependencies :
    sudo aptitude install libx11-dev xlibs-static-dev \
  • Get ffmpeg code from svn, compile and install:
    svn checkout svn:// ffmpeg
    cd ffmpeg
    ./configure --prefix=/opt/ffmpeg --enable-gpl --enable-postproc \
      --enable-libvorbis --enable-libtheora --disable-debug \
      --enable-libmp3lame --enable-libfaad --enable-libfaac \
      --enable-pthreads --enable-x11grab
    sudo make install
  • Record high quality screencasts with:
    ffmpeg -f oss -i /dev/dsp -f x11grab -s 1024x768 -r ntsc \
      -sameq -i :0.0 foo.avi