open source

All posts tagged open source

One of my favorite pieces of open source software is the vector graphics editor called Inkscape. While traditional graphics editing programs such as Photoshop or The Gimp are merely manipulating a rectangular grid of colored pixels, vector graphics tools use complicated mathematical descriptions of the lines, points, and objects in an image, which allows for perfect scaling of the images to any zoom level (among other awesome features). Inkscape is pretty great, and is freely available for Windows, OSX, and Linux. I’ve given an “Introduction to Inkscape” presentation a few times, and thought I would post the “slides” here to the blog.

These aren’t like traditional powerpoint slides, be forewarned. Since the best way to learn how to use a program is, well, just to use it, I prepared a handful of Inkscape SVG documents, and just opened each one in Inkscape on the projector during the presentation. This allowed me to demonstrate each new feature introduced, which worked pretty well. The link below is a ZIP archive of 11 SVG files.

Download SVG slides (ZIP 118KB)


GNU Screen is a really fantastic piece of software. Screen is a “terminal multiplexer”, that allows you to run and manage several terminal instances from a single terminal window. It’s sort of like how a graphical user interface lets you have multiple graphical application windows running at the same time, allowing you to switch between them at will. Screen is really great when working on a remote server over wifi or any unreliable network connection, as a dropped connection won’t kill off your jobs or close all your shells, you can simply reconnect to the screen instance when you reconnect.

Screen allows you to add a “caption” bar at the bottom of the screen, that sort of acts like a taskbar in a graphical interface. The behavior of the caption bar is controlled by the .screenrc file, and here is what my .screenrc file looks like:
defshell $SHELL
caption always '%{= dg} %H %{G}| %{B}%l %{G}|%=%?%{d}%-w%?%{r}(%{d}%n %t%? {%u} %?%{r})%{d}%?%+w%?%=%{G}| %{B}%M %d %c:%s '

Here is a screenshot of what it looks like:

Basically, the bottom bar displays a bunch of information that you can remove from your prompt. On the left is the hostname (in case you are logged into multiple machines, you won’t get confused this way), then the system load values, and on the far right is the current date and time. The center of the bar is a “task bar” that shows the numbers and configurable names of all the sub-terminals you have in this screen session. (FYI, you can rename your screen session with Control-a A (capital A!), then backspace to remove the default name (usually the name of your shell) and it will update in the “task bar”.)

I used to have an ffmpeg command line that I used to video record a window on my linux desktop, but it stopped working a while ago and I didn’t want to dig into the man pages to figure it out all over again. So, I went looking online to try and see what other people had done.

The best solution I found is a little shell script with a tiny bit of GUI added via zenity. It is called Capture Me, and you can download it at that link. I haven’t ever tried it with capturing audio as well as video, but it will probably work too.