Mathematics, philosophy, programming, in-line skating, and everything in between. More about me…

My Blog

My Latest Tweets

Follow me on Twitter…
English | Czech
Choose your language. I write in English, but I translate most of my articles to Czech as well. Zvolte si jazyk. Píšu anglicky, ale většinu svých článků překládám i do češtiny.

Linux

seex: Self-expanding Archive Creator

As a part of school assignment, I wrote a self-expanding archive creator in the form of a UNIX shell script. The script should be POSIX-compatible, it’s very well documented, and features some interesting processing of its own source code.

October 10, MMXI 7.00 AM — Linux, Programming and bash.

significātiō: keyboard layout indication done differently

I am used to the US keyboard layout. It’s very convenient for normal work (programming…), but from time to time I write something in Czech and have to switch to the Czech layout. And disasters start happening. With the Czech layout, I am able to produce typos and other mistakes at enviable rate. Most of them happen when I forget which layout is active at the moment. The small text indicator on the GNOME panel can be overlooked too easily.

April 17, MMX 4.00 PM — Linux and Projects.

tcviz 1.2

I’ve released a new version of my tcviz script. Apart from making a few improvements under the hood, I’ve fixed a bug – never again will tcviz choke on hexadecimal major/minor numbers :-)

December 28, MMIX 1.00 PM — Linux, Programming, Projects and Python.

Liferea Tray Icon Patch

I use Liferea (Linux Feed Reader) to read well over 40 RSS and Atom feeds. It starts automatically after I log in to GNOME and sits in the system tray all day. When any of my feeds are updated, Liferea shows the number of new items directly in the tray icon. So far so good. Trouble is, Liferea has a strange notion of what “new items” are…

November 29, MMIX 4.20 AM — Linux. 1 comment.

Back to the Stone Age

Although the date is something like 21st century, Windows still enforce ridiculous restrictions on file and directory names. Namely, they cannot contain the following characters: \ / : * ? " < > |. Now, imagine you have a large directory tree containing 3200+ files which are “badly named” according to these rules. The tree was created in Linux but now you need to use it in Windows as well.

September 27, MMIX 4.45 AM — Linux and bash.

dæmonēs: Easy Daemon Management

Since I develop and test various web applications, I usually need to run a web server and one or two database servers. To avoid wasting resources, I start the necessary server daemons only when I need them. Unfortunately, this method is rather uncomfortable. Or, it used to be. Until I wrote a script called daemones.

September 14, MMIX 11.25 AM — Linux, Programming, Projects and Python.

tcviz 1.1

A new version of my little tcviz script is out. I’ve fixed a few ugly bugs. tcviz can now also load the TC specs from files instead of reading live TC setup. This is mostly useful for debugging.

July 30, MMIX 1.15 PM — Linux, Programming, Projects and Python. 1 comment.

abacus 1.1

I’ve just released a bug-fixing version of the abacus daemon. Two compilation-time errors have been fixed.

July 21, MMIX 2.50 PM — C++, Linux, Programming and Projects.

abacus: a Key-Counting Daemon

abacus is a simple daemon that counts every key that you press. Its only use is to generate interesting charts that show how much you type every day :-)

July 14, MMIX 11.00 AM — C++, Linux, Programming, Projects and Python.

My Recent Software Discoveries

First an editor that makes LaTeX really rock, then a drawing program that makes flowcharts fun again (not an oxymoron).

July 4, MMIX 5.15 AM — Linux.

autoEQ: The Taming of the Amarok Equalizer

Are you tired of manual enabling, disabling, and reconfiguring the Amarok equalizer? I used to be… until I developed a nice Amarok script to do the work for me. Meet autoEQ, a program that monitors what tracks you listen to and automatically selects equalizer presets according to your own rules.

June 28, MMIX 7.00 AM — Linux, Programming, Projects and Python.

Visualizing Linux Traffic Control Setup

In the past six months I had to deal with Linux traffic control (TC) a lot. I was literally blown away by the advanced features of the system. Of course, the versatility comes for the usual price: complexity. I definitely do not regret the time spent on understanding the principles of classes, qdiscs, filters, major and minor numbers, etc. However, I think I have found a way to work with them more easily.

April 5, MMIX 12.00 PM — Linux, Programming, Projects and Python. 11 comments.

Graphing Subversion Commit Activity II.

Long time ago I published my little commitChart script. Since then, I have reworked it several times. The current version is exactly three times better than the old one :-)

April 2, MMIX 9.20 AM — Linux and Programming.

Handy Bandwidth Monitor & a Small Patch For It

bwm-ng is my favorite bandwidth monitor. It can display transfer rates on network interfaces, it doesn’t require superuser privileges, and it can produce output in various formats. So far I have been using its interactive output for live monitoring and CSV output for parsing in scripts. The other week I found a use for its HTML output as well. Unfortunately, the produced code turned out to be rather invalid.

March 28, MMIX 8.00 AM — Linux.

Kiosk Mode in Linux

This week I needed to set up a limited Linux account which could be used for web browsing only. No window management, no desktop, no menus, no other applications, just Firefox in full-screen mode. There are quite a few kiosk HOWTOs on the web, but they mostly cover setting up a kiosk-only computer. Limiting the restrictions to a single user account was a little bit different.

March 1, MMIX 10.45 AM — Linux.

Disabling iptables Console Logging

This has been driving me nuts ever since I started to work with iptables: every single log message gets printed directly to the console. Even when I am using it at that moment to write or read something. Few things are more annoying than this.

January 17, MMIX 11.00 AM — Linux. 2 comments.

Graphing Subversion Commit Activity

I like graphs. Writing little scripts that somehow utilize the gnuplot program is my favorite pastime. Today I am going to share one such script that might be actually useful :-).

September 30, MMVIII 11.00 AM — Linux and Programming. 1 comment.

When RSS and Atom Are Missing

Feeds are perfect to watch interesting web sites for changes. But what if you want to watch a site that does not offer any feeds? Manual checking is inconvenient and unreliable. One of the easiest solutions is my primitive script, webWatch.

September 8, MMVIII 11.40 AM — Linux and bash.

Easier Subversion Operation – Subversion Shell

Subversion version control system is one of the tools I use every day. Over the time I realized that many Subversion tasks are more or less repetitive – checking the logs of the last few revisions, adding or removing files, comparing changes, committing to the repository, updating the working copy… in the end I created Lazy Programmer’s Best Friend™. Meet SVNshell, a script simplifying everyday Subversion tasks.

July 22, MMVIII 6.52 AM — Linux, Programming and bash.

Setting Data on Fire

It’s not a secret that files are not really deleted when you tell the operating system to remove them. References to the files are removed but the data stays and can be sometimes retrieved. This can save your life when you delete something you shouldn’t have. Sometimes, however, you need to deal with data that must not see the light of the day ever again.

July 16, MMVIII 3.05 AM — Linux and bash.