Left Arrow Back to Homepage of KG

My Contributions to free software

I really enjoy using free software, especially Linux, which I started to work with in late 1994. It's been more stable and reliable than these boot-sector viruses called OS from Redmond ever since. With today's software, it's even getting user-friendly (KDE, GNOME), so MS feels threatened by it. Read the "Halloween document", which was written by an MS employee.

For more insight into the reasons why Open Source Software has such a high quality and outperforms many commercial products, read "The cathedral and the bazaar" from Eric S. Raymond and have a look at the Free Software Foundation who promote the GNU project, part of which is the famous GNU compiler gcc. Apllying the Bazaar approach to its development leaded to the egcs Compiler, which has boosted development and been merged again into gcc for gcc-2.95, recently. Please also have a look at the GNU General Public License (GPL). There is also an unauthorized German translation available.

For more info on Linux, see my Linux page.
You can find a (german) article about the philosophy and the design of Un*x and Linux and some aspects and thoughts about Free Software in an article I wrote.


Promoting free software

In a Redmondish world, most people believe that it's the only possibility to do anything useful with normal desktop computers is to use M$ Operating Systems and commercial software. They are very astonished it's not true.

Apart from my home box, I managed to install Linux and Free Software on a couple of boxes at the University where I graduated. I used some Linux systems at the chair, where I was working on my diploma thesis, to do numerical simulations (C++ programming with egcs Compiler, CVS and calculations with Mathematica) as well as the normal stuff, such as writing the thesis (LaTeX), making presentations (Applix / StarOffice), ...

More importantly, the physics department could be convinced to provide the hardware and a room for a Linux pool for students, consisting of a powerful machine running Linux, other free software and some commercial Linux apps, and a lot of old diskless 486 type machines, being used as X-Terminals. The convincement and the setting up of the pool was mainly done by me.

Linux

My linux patches are collected on my Linux page.

Miscellaneous

A lot of minor contributions such as bug reports are small patches have been made to modify existing software packages, such as mingetty, mount, viewfax, egcs, ...
Some are collected below, and I plan to collect more of them, here. Work in Progress

cheap-call

I often use the cheap-call program from www.billiger.telefonieren.de to find out what the cheapest rates are for my phone calls in Germany. There is one shortcoming in the version from this site: The program is not able to print or export the calculated rates. I added a print/export function.
Thimo Salmon, the author of cheap-call, integrated it into the latest version of the program, so you don't need to download it any more.

KDE config files

Here are two nice KDE config files. They each provide a button for your kpanel. There are two files, one for Mail and one for the System Load. Look at the screenshot: Panel Screenshot

The Mail config file displays a button in the panel showing you whether you have mail or not using the program xbiff, alternatively you could change it to coolmail or similar. If you click on it, an xterm will be openend and mutt will be called, which is my preferd Mail User Agent (MUA).

 The System Load config file displays an xload graph on the kpanel and calls xosview when being clicked on.

Unresolved symbol: __(de)register_frame_info

Seen these? Then you have the same problem I encountered some time ago, being the result of many packages and libraries being compiled by myself with different versions of the egcs Compiler. Obviously, there are incompatibilities for the binaries which would have to be fixed by recompiling a lot of them.
I chose another escape: I finally got rid of the problems by creating a shared object containing the two as weak symbols. Now, this shared object is preloaded. If the symbol is needed and not provided by the libraries, the shared object's routines get called and print a warning to the syslog.
Here's how to use it: Get frame.c and compile it by typing gcc -O2 -fpic -c frame.c; gcc -shared -nostdlib -nostartfiles -o frame.so frame.o (or download the binary for ix86-linuxglibc2) and place it into the /lib/ directory. Then set the LD_PRELOAD environment variable to /lib/frame.so to tell your dynamic linker (ld.so) to preload this shared object. (bash: export LD_PRELOAD=/lib/frame.so, csh: setenv LD_PRELOAD /lib/frame.so)

xemacs customization

New! I use xemacs and jed as my favourite editors. For xemacs, I have a site-start.el to do some nice things when xemacs starts: To install it, put it into /usr/X11/lib/xemacs/site-lisp/ or wherever your site-start.el belongs.
This file is for use with XEmacs-20.x. For older versions you have to uncapitalize some names in the file, notably LaTeX -> latex. Probably the same applies to plain FSF emacs, though I did not test it. Here's a site-start.el for these versions.
Browse directory


(w) by KG, last changed 99/08/26