Blog
dvtm - dynamic virtual terminal manager released
So this weekend i released a first version of dvtm a dynamic tiling window manager for the console.
Hope it will be useful for a few people out there.
Marc
Starting Java programs as windows services
Last week at work we needed to run a Java server application in background as a windows service. Turns out that the Java Service Wrapper works pretty well, it takes care of launching the jvm with the appropriate options in the context of a windows service.
Marc
Using debtags to get all debian packages which are implemented in C
Ok for some time i have thought about creating a real world test and regression suite for tinycc. It would be nice if i could use the existing debian infrastructure for this purpose. For obvious reasons i am only interested in packages which are implemented in C, so i searched for a way to filter them out. It seems like debtag could do the trick, the following command returns 1160 packges on an etch system.
debtags grep implemented-in::c | cut -d: -f1
Let's see what i can do with it.
Marc
Documenting kernel configuration files and using the miniconfig format
I was recently compiling a customized 2.6.23 kernel, to get a better overview what i really selected i used the miniconfig format. It only contains the config options which a user would have to select from within menuconfig if he started from an allnoconfig setup.
Rob Landley has written miniconfig.sh, a script which takes a normal kernel config file and removes all redundant symbols which are indirectly selected. This has the advantage that the resulting config file is bloat free and gives a good overview of the selected features.
First do a make menuconfig select your config options as needed, copy the .config file to a temporary location and then run the miniconfig.sh script with the temporary file name as argument. This will generated a corresponding mini.config file. Make sure that you set the ARCH variable as appropriate. Below is an example:
make ARCH=i386 menuconfig
mv .config tempfile
ARCH=i386 miniconfig.sh tempfile
cat mini.configTo expand a mini.config back into a full .config file (to build a kernel by hand, or for further editing with menuconfig), you can go:
make ARCH=i386 allnoconfig KCONFIG_ALLCONFIG=mini.config
So far so good, i now had a resonable small config file, but i still wasn't sure what each config options actually does. Furthermore i was to lazy to actually look up each symbol in the make menuconfig help system, as a consequence i wrote an explain-config.sh script. It takes a kernel config file and documents each option with the help text as found in the various Kconfig files in the kernel source tree. So i finally had a short and documented config file which i could further fine tune.
Hope you find it useful.
Marc
Printing all the pre defined gcc macros
Another thing which is quite useful when dealing with preprocessor issues is a list of all compiler defined macros. So here you go.
gcc -dM -E - < /dev/nullMarc
