ghedo's log /dev/random

Indie Game: The Movie

Just a reminder to myself to watch Indie Game: The Movie sooner or later.

Minimal volume management daemon

Since I was a XFCE user I have been using the xfce4-volumed app, a daemon which makes the volume up/down and mute keys work automatically and also shows nice notifications.

Long story short, I stopped using XFCE and I wanted to get rid of some stuff from my system (e.g. xfconf and gstreamer) with xfce4-volumed being the only thing left using them. Not finding any better alternative, I have decided to write my own version:

Differently from xfce4-volumed, my version uses the ALSA (asound) and X11 APIs directly and does not require xfconf (or anything else really). You can find it on GitHub.

Raspberry Pi


A couple of weeks ago I finally got my Raspberry Pi after about a month of waiting (crappy photo above brought to you by my phone).

First thing done was installing Raspbian (actually cross-debootstrapping it, thanks to anyone wrote that page) and of course running Quake III Arena (of which I own the full version).

If you were wondering, it runs great! 1080p playback (using both XBMC and its OMXPlayer standalone player) included.

Demoscene - The Art of the Algorithms

Although existing art media have been transformed in the digital age, the advent of computers has brought new art forms into being. In the past, visual arts and music required both intellectual and physical skills, but in the present, computer programming permits people to make art just by using their minds. Moleman 2 presents a subculture of digital artists working with both new and old computing technology who push their machines to their limits.

Kernel module to disable ptrace()

I don’t really know why I ended writing this, but it all started as a way to do some Linux module coding.

Anyway, all this module does is overwriting the Linux syscall table, and replacing the ptrace() syscall with a custom one (which does nothing but printing a message).

Now, I’m quite sure there are better ways of doing this, so take the whole code just as a humble example of Linux module development.

The code as usual, is also on GitHub where you can also find a Makefile to compile the code.

Before compiling, you have to modify the sys_call_table_addr value, to point at your syscall table address:


$ grep sys_call_table /boot/System.map-`uname -r` 
ffffffff8143b1a0 R sys_call_table

Update: thanks to Mike Perry this step is no longer necessary.

Then, when built, load the module with:


# insmod noptrace.ko
# insmod noptrace2.ko

Update: the module name is now noptrace2.

And look at the output of dmesg:

$ dmesg | tail -1
[25374.003588] [noptrace] ptrace syscall disabled
[25374.003588] [noptrace2] ptrace syscall disabled

Which means everything went as expected.

Page 1 of 4