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.
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:
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
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:
- default papersize is set to A4
- 8bit font encoding for european languages (ISO-8859-1) enabled
- line-number-mode is enabled by default
- .h files are highlighted as C++ headers
- Linux C-Mode autodetected for /usr/src/linux* with Linux style
indenting
- blinking parens are enabled
- syntax highlighting is on its maximum setting
- focus follows mouse
- X key symbols and ISO-8859-1 (-15) encoded characters are translated
into LaTeX commands when in LaTeX mode. You need to
\usepackage{textcomp} for some characters and marvosym
for the Euro symbol. The Umlaute (diaeresises) are encoded for use with the
german package.
- Additional german-LaTeX-mode which loads iso-cvt and uses german
style double-quotes.
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