Thu, 28 May 2009 16:51:26 +0200 java disassembler
Markus Bröker <mbroeker@largo.dyndns.tv> [Thu, 28 May 2009 16:51:26 +0200] rev 95
java disassembler jdisa disassembles a given java class file and shows the bytecode instructions. it does not currently output the same as javap -c <file>... committer: Markus Bröker <mbroeker@largo.homelinux.org>
Sat, 23 May 2009 03:27:24 +0200 cppdatabase: removed the useless status message
Markus Bröker <mbroeker@largo.dyndns.tv> [Sat, 23 May 2009 03:27:24 +0200] rev 94
cppdatabase: removed the useless status message seekg returns an ifstream&, not an integer value committer: Markus Bröker <mbroeker@largo.homelinux.org>
Tue, 19 May 2009 02:58:59 +0200 make cross_getch invisible
Markus Bröker <mbroeker@largo.dyndns.tv> [Tue, 19 May 2009 02:58:59 +0200] rev 93
make cross_getch invisible the cross_getch function will be called from the JNI Wrapper and must not be visible to others committer: Markus Bröker <mbroeker@largo.homelinux.org>
Thu, 14 May 2009 17:31:45 +0200 RMI Hello Example from Sun Microsystems
Markus Bröker <mbroeker@largo.dyndns.tv> [Thu, 14 May 2009 17:31:45 +0200] rev 92
RMI Hello Example from Sun Microsystems This is a distributed Hello World Program and fully rmi powered committer: Markus Bröker <mbroeker@largo.homelinux.org>
Tue, 12 May 2009 12:06:26 +0200 fixed a typo in mem2swap.c
Markus Bröker <mbroeker@largo.dyndns.tv> [Tue, 12 May 2009 12:06:26 +0200] rev 91
fixed a typo in mem2swap.c committer: Markus Bröker <mbroeker@largo.homelinux.org>
Sun, 10 May 2009 18:44:50 +0200 cppdatabase added
Markus Bröker <mbroeker@largo.dyndns.tv> [Sun, 10 May 2009 18:44:50 +0200] rev 90
cppdatabase added cppdatabase stores data in a file and retrieves it back committer: Markus Bröker <mbroeker@largo.homelinux.org>
Fri, 01 May 2009 18:27:06 +0200 nearest: more templates fun
Markus Bröker <mbroeker@largo.dyndns.tv> [Fri, 01 May 2009 18:27:06 +0200] rev 89
nearest: more templates fun small improvements and a new template function committer: Markus Bröker <mbroeker@largo.homelinux.org>
Thu, 30 Apr 2009 23:38:48 +0200 how to use templates
Markus Bröker <mbroeker@largo.dyndns.tv> [Thu, 30 Apr 2009 23:38:48 +0200] rev 88
how to use templates We read 10 numbers from stdin and print the nearest values of a query. committer: Markus Bröker <mbroeker@largo.homelinux.org>
Thu, 16 Apr 2009 13:57:47 +0200 [alpha_beta] Fix memory leaks
Markus Bröker <mbroeker@largo.dyndns.tv> [Thu, 16 Apr 2009 13:57:47 +0200] rev 87
[alpha_beta] Fix memory leaks I have used many mallocs and have not freed it. But there is still a read error which indicates another problem. committer: Markus Bröker <mbroeker@largo.homelinux.org>
Thu, 16 Apr 2009 12:51:16 +0200 numbering game: guess a value
Markus Bröker <mbroeker@largo.dyndns.tv> [Thu, 16 Apr 2009 12:51:16 +0200] rev 86
numbering game: guess a value It was a short contest in IRC. Write a numbering game. Anyway, i have lost: The winner realized it in 12 lines. committer: Markus Bröker <mbroeker@largo.homelinux.org>
Thu, 16 Apr 2009 12:51:15 +0200 [getopt]: support for long options
Markus Bröker <mbroeker@largo.dyndns.tv> [Thu, 16 Apr 2009 12:51:15 +0200] rev 85
[getopt]: support for long options Long options are quite useful, too committer: Markus Bröker <mbroeker@largo.homelinux.org>
Thu, 16 Apr 2009 12:51:15 +0200 struct hostent has no longer a member h_addr
Markus Bröker <mbroeker@largo.dyndns.tv> [Thu, 16 Apr 2009 12:51:15 +0200] rev 84
struct hostent has no longer a member h_addr Current netdb.h lacks support for the old h_addr pointer without special USE_GNU defines... committer: Markus Bröker <mbroeker@largo.homelinux.org>
Thu, 16 Apr 2009 12:51:15 +0200 Platform Independend Newlines
Markus Bröker <mbroeker@largo.dyndns.tv> [Thu, 16 Apr 2009 12:51:15 +0200] rev 83
Platform Independend Newlines Java uses %n for platform independend newlines \r\n on windows, \n on linux and so on... committer: Markus Bröker <mbroeker@largo.homelinux.org>
Thu, 16 Apr 2009 12:51:15 +0200 Useless braces removed
Markus Bröker <mbroeker@largo.dyndns.tv> [Thu, 16 Apr 2009 12:51:15 +0200] rev 82
Useless braces removed Single-line commands do not need braces committer: Markus Bröker <mbroeker@largo.homelinux.org>
Thu, 16 Apr 2009 12:51:15 +0200 A simple QT Demo
Markus Bröker <mbroeker@largo.dyndns.tv> [Thu, 16 Apr 2009 12:51:15 +0200] rev 81
A simple QT Demo I needed a playground to become familiar with the teamgit ui committer: Markus Bröker <mbroeker@largo.homelinux.org>
Thu, 16 Apr 2009 12:51:15 +0200 fak.c: proper values
Markus Bröker <mbroeker@largo.dyndns.tv> [Thu, 16 Apr 2009 12:51:15 +0200] rev 80
fak.c: proper values The normal fak function prints proper values from 0-20 and the bigfak function "guesses" up to 170! committer: Markus Bröker <mbroeker@largo.homelinux.org>
Thu, 16 Apr 2009 12:51:15 +0200 Little Typo in daemon.c
Markus Bröker <mbroeker@largo.dyndns.tv> [Thu, 16 Apr 2009 12:51:15 +0200] rev 79
Little Typo in daemon.c committer: Markus Bröker <mbroeker@largo.homelinux.org>
Thu, 16 Apr 2009 12:51:15 +0200 clplaner: Avoid a segfault on Wed May 27 20:00 CET 2009
Markus Bröker <mbroeker@largo.dyndns.tv> [Thu, 16 Apr 2009 12:51:15 +0200] rev 78
clplaner: Avoid a segfault on Wed May 27 20:00 CET 2009 * The IndexShaker would crash on the last two teams - fixed committer: Markus Bröker <mbroeker@largo.homelinux.org>
Thu, 16 Apr 2009 12:50:53 +0200 HEADER TAGS
Markus Bröker <mbroeker@largo.dyndns.tv> [Thu, 16 Apr 2009 12:50:53 +0200] rev 77
HEADER TAGS The std header tags are now subdir/file.ext committer: Markus Bröker <mbroeker@largo.homelinux.org>
Thu, 16 Apr 2009 12:50:39 +0200 A nice system daemon...
Markus Bröker <mbroeker@largo.dyndns.tv> [Thu, 16 Apr 2009 12:50:39 +0200] rev 76
A nice system daemon... Daemon monitors /proc/meminfo every 60 seconds... committer: Markus Bröker <mbroeker@largo.homelinux.org>
Thu, 16 Apr 2009 12:50:39 +0200 clplaner added
Markus Bröker <mbroeker@largo.dyndns.tv> [Thu, 16 Apr 2009 12:50:39 +0200] rev 75
clplaner added clplaner reads a file and draws the knockout stage FILE FORMAT: * One team per line, seperated by newline * team n is the group winner, team n+1 the runners up committer: Markus Bröker <mbroeker@largo.homelinux.org>
Thu, 16 Apr 2009 12:50:39 +0200 getrandom macro fixed
Markus Bröker <mbroeker@largo.dyndns.tv> [Thu, 16 Apr 2009 12:50:39 +0200] rev 74
getrandom macro fixed the getrandom expanded to the wrong value when dealing with expressions. committer: Markus Bröker <mbroeker@largo.homelinux.org>
Thu, 16 Apr 2009 12:50:39 +0200 Changelog: Makefile and sort.c
Markus Bröker <mbroeker@largo.dyndns.tv> [Thu, 16 Apr 2009 12:50:39 +0200] rev 73
Changelog: Makefile and sort.c Makefile: * Environment Variable Profiler=<target> sort.c: * Quick Sort Algorithm implemented committer: Markus Bröker <mbroeker@largo.homelinux.org>
Thu, 16 Apr 2009 12:50:39 +0200 sort.c: bubblesort fixed
Markus Bröker <mbroeker@largo.dyndns.tv> [Thu, 16 Apr 2009 12:50:39 +0200] rev 72
sort.c: bubblesort fixed * the bubblesort algorithm has an abort-condition * the linearsort algorithm has not an abort-condition committer: Markus Bröker <mbroeker@largo.homelinux.org>
Thu, 16 Apr 2009 12:50:39 +0200 Makefile: Little Improvements
Markus Bröker <mbroeker@largo.dyndns.tv> [Thu, 16 Apr 2009 12:50:39 +0200] rev 71
Makefile: Little Improvements * not all platforms have gnu find * not all platforms have rm The user may adjust the settings in the header of the makefile committer: Markus Bröker <mbroeker@largo.homelinux.org>
Thu, 16 Apr 2009 12:50:39 +0200 Profiling support added
Markus Bröker <mbroeker@largo.dyndns.tv> [Thu, 16 Apr 2009 12:50:39 +0200] rev 70
Profiling support added * To use the benefits of profiling, set PROFILING=<target> * eg: mbroeker@localhost $ make -e PROFILING=linux * mbroeker@localhost $ export PROFILING=linux && make committer: Markus Bröker <mbroeker@largo.homelinux.org>
Thu, 16 Apr 2009 12:50:39 +0200 Useless cross_getch hack removed
Markus Bröker <mbroeker@largo.dyndns.tv> [Thu, 16 Apr 2009 12:50:39 +0200] rev 69
Useless cross_getch hack removed cross_getch provides a version of getch for every os. The Windows Part does not work under wine, but it works on the target platform. committer: Markus Bröker <mbroeker@largo.homelinux.org>
Thu, 16 Apr 2009 12:50:39 +0200 Trivial Changes
Markus Bröker <mbroeker@largo.dyndns.tv> [Thu, 16 Apr 2009 12:50:39 +0200] rev 68
Trivial Changes I have made trivial changes to the fts component and renamed the set_limit function to set_proc_limit. It makes it clear that we are dealing with LIMIT_NPROC and not LIMIT_AS settings. committer: Markus Bröker <mbroeker@largo.homelinux.org>
Thu, 16 Apr 2009 12:50:39 +0200 file traversal demo && minor changes
Markus Bröker <mbroeker@largo.dyndns.tv> [Thu, 16 Apr 2009 12:50:39 +0200] rev 67
file traversal demo && minor changes Traversal through a filesystem hierarchy made easy committer: Markus Bröker <mbroeker@largo.homelinux.org>
Thu, 16 Apr 2009 12:50:28 +0200 Common Makefile Style NAME += OBJECT
Markus Bröker <mbroeker@largo.dyndns.tv> [Thu, 16 Apr 2009 12:50:28 +0200] rev 66
Common Makefile Style NAME += OBJECT committer: Markus Bröker <mbroeker@largo.homelinux.org>
Thu, 16 Apr 2009 12:49:13 +0200 GNU Indent cannot handle C++ Source Files...
Markus Bröker <mbroeker@largo.dyndns.tv> [Thu, 16 Apr 2009 12:49:13 +0200] rev 65
GNU Indent cannot handle C++ Source Files... I like GNU indent. I like it so much that i use it for all my projects. But it doesn't work with C++ sources. To avoid further problems, all C++ Headers will be renamed from *.h to their *.hpp counterparts. mbroeker committer: Markus Bröker <mbroeker@largo.homelinux.org>
Thu, 16 Apr 2009 12:49:13 +0200 FORK ERROR in prog_limit and mem2swap:
Markus Bröker <mbroeker@largo.dyndns.tv> [Thu, 16 Apr 2009 12:49:13 +0200] rev 64
FORK ERROR in prog_limit and mem2swap: execve overrides the current PID committer: Markus Bröker <mbroeker@largo.homelinux.org>
Thu, 16 Apr 2009 12:49:13 +0200 uint vs size_t and two bugfixes in fak and unicode
Markus Bröker <mbroeker@largo.dyndns.tv> [Thu, 16 Apr 2009 12:49:13 +0200] rev 63
uint vs size_t and two bugfixes in fak and unicode * Better Description of copy.cc * mem2swap throws a perror on failure committer: Markus Bröker <mbroeker@largo.homelinux.org>
Thu, 16 Apr 2009 12:49:13 +0200 unicode.c added and myprintf improved
Markus Bröker <mbroeker@largo.dyndns.tv> [Thu, 16 Apr 2009 12:49:13 +0200] rev 62
unicode.c added and myprintf improved * unicode.c: handle unicode input * myprintf.c: we need the printf family... committer: Markus Bröker <mbroeker@largo.homelinux.org>
Thu, 16 Apr 2009 12:49:13 +0200 Lazy BNF / EBNF Help Messages
Markus Bröker <mbroeker@largo.dyndns.tv> [Thu, 16 Apr 2009 12:49:13 +0200] rev 61
Lazy BNF / EBNF Help Messages committer: Markus Bröker <mbroeker@largo.homelinux.org>
Thu, 16 Apr 2009 12:49:13 +0200 Memory Management
Markus Bröker <mbroeker@largo.dyndns.tv> [Thu, 16 Apr 2009 12:49:13 +0200] rev 60
Memory Management * myprintf.c: Dynamic Memory allocation added * prog_limit: fixed a segfault committer: Markus Bröker <mbroeker@largo.homelinux.org>
Thu, 16 Apr 2009 12:49:13 +0200 getpwnam_error.c:
Markus Bröker <mbroeker@largo.dyndns.tv> [Thu, 16 Apr 2009 12:49:13 +0200] rev 59
getpwnam_error.c: * The memory hole can be fixed with two different approaches 1) Change /etc/nsswitch.conf: passwd: compat to passwd: files 2) LD_PRELOAD=/lib/libnss_compat.so.2 valgrind ./getpwnam_error GLIBC loads libnss_compat on the fly and unloads it. Thanks to telexicon for reporting this... committer: Markus Bröker <mbroeker@largo.homelinux.org>
Thu, 16 Apr 2009 12:49:13 +0200 myprintf.c added - replaces varargs.c
Markus Bröker <mbroeker@largo.dyndns.tv> [Thu, 16 Apr 2009 12:49:13 +0200] rev 58
myprintf.c added - replaces varargs.c committer: Markus Bröker <mbroeker@largo.homelinux.org>
Thu, 16 Apr 2009 12:49:13 +0200 duff.c:
Markus Bröker <mbroeker@largo.dyndns.tv> [Thu, 16 Apr 2009 12:49:13 +0200] rev 57
duff.c: * Large String support added * parameter num renamed to len committer: Markus Bröker <mbroeker@largo.homelinux.org>
Thu, 16 Apr 2009 12:49:13 +0200 Short Description
Markus Bröker <mbroeker@largo.dyndns.tv> [Thu, 16 Apr 2009 12:49:13 +0200] rev 56
Short Description * duff.c Duffs Device, a fast copy algorithm * crypt.c the Salt was to short. * files.c massive directory creation * fork.c a small fork demo committer: Markus Bröker <mbroeker@largo.homelinux.org>
Thu, 16 Apr 2009 12:49:13 +0200 Console aborts with return code -1 on error
Markus Bröker <mbroeker@largo.dyndns.tv> [Thu, 16 Apr 2009 12:49:13 +0200] rev 55
Console aborts with return code -1 on error committer: Markus Bröker <mbroeker@largo.homelinux.org>
Thu, 16 Apr 2009 12:49:13 +0200 Vector and PMC ChangeLog
Markus Bröker <mbroeker@largo.dyndns.tv> [Thu, 16 Apr 2009 12:49:13 +0200] rev 54
Vector and PMC ChangeLog * global var refCounter counts the objects * Copy Constructor implemented -> Surface cannot be copied ==> CC disabled -> Vector can be copied -> shows a warning committer: Markus Bröker <mbroeker@largo.homelinux.org>
Thu, 16 Apr 2009 12:49:12 +0200 getch.c renamed to cross_getch.c
Markus Bröker <mbroeker@largo.dyndns.tv> [Thu, 16 Apr 2009 12:49:12 +0200] rev 53
getch.c renamed to cross_getch.c committer: Markus Bröker <mbroeker@largo.homelinux.org>
Thu, 16 Apr 2009 12:49:12 +0200 getch name conflict on windows platform
Markus Bröker <mbroeker@largo.dyndns.tv> [Thu, 16 Apr 2009 12:49:12 +0200] rev 52
getch name conflict on windows platform * ::getch works for c++ in db_bridge, not here. committer: Markus Bröker <mbroeker@largo.homelinux.org>
Thu, 16 Apr 2009 12:49:12 +0200 base10.c added and set_limit changed
Markus Bröker <mbroeker@largo.dyndns.tv> [Thu, 16 Apr 2009 12:49:12 +0200] rev 51
base10.c added and set_limit changed * base10: Divides a value into a power of 10 * set_limit: parameter changed to MB Values. committer: Markus Bröker <mbroeker@largo.homelinux.org>
Thu, 16 Apr 2009 12:49:12 +0200 khello: a nice kernel module
Markus Bröker <mbroeker@largo.dyndns.tv> [Thu, 16 Apr 2009 12:49:12 +0200] rev 50
khello: a nice kernel module committer: Markus Bröker <mbroeker@largo.homelinux.org>
Thu, 16 Apr 2009 12:49:12 +0200 libConsole: a java native interface example
Markus Bröker <mbroeker@largo.dyndns.tv> [Thu, 16 Apr 2009 12:49:12 +0200] rev 49
libConsole: a java native interface example * getch: unbuffered character input committer: Markus Bröker <mbroeker@largo.homelinux.org>
Thu, 16 Apr 2009 12:49:12 +0200 Policy Inonsistency on many files
Markus Bröker <mbroeker@largo.dyndns.tv> [Thu, 16 Apr 2009 12:49:12 +0200] rev 48
Policy Inonsistency on many files * Whenever a piece of software terminates unexpected, * catched or not, with a help screen or not, * it indicates an ERROR and the software ==> return(s) EXIT_FAILURE committer: Markus Bröker <mbroeker@largo.homelinux.org>
Thu, 16 Apr 2009 12:49:12 +0200 tree is a list :P
Markus Bröker <mbroeker@largo.dyndns.tv> [Thu, 16 Apr 2009 12:49:12 +0200] rev 47
tree is a list :P * anyway, some changes here -> a struct T consumes sizeof(struct T) of memory -> actual wasn't really needed here. thrown away. committer: Markus Bröker <mbroeker@largo.homelinux.org>
Thu, 16 Apr 2009 12:49:12 +0200 pmc: Screen Depth Fix: Paint on 8, 16 and 32 bpp
Markus Bröker <mbroeker@largo.dyndns.tv> [Thu, 16 Apr 2009 12:49:12 +0200] rev 46
pmc: Screen Depth Fix: Paint on 8, 16 and 32 bpp * a crocked rectangle and cube * new color settings and better oow protection committer: Markus Bröker <mbroeker@largo.homelinux.org>
Thu, 16 Apr 2009 12:49:12 +0200 pmc: namespace algebra for vector
Emilio Largo <largo@largo.homelinux.org> [Thu, 16 Apr 2009 12:49:12 +0200] rev 45
pmc: namespace algebra for vector -> the namespace prevents clashes with std::vector -> std::vector and algebra::Vector with capital V. md5: a md5 replacement ncurses: keypad function added committer: Markus Bröker <mbroeker@largo.homelinux.org>
Thu, 16 Apr 2009 12:49:12 +0200 md5.c renamed to md5rec.c
Emilio Largo <largo@largo.homelinux.org> [Thu, 16 Apr 2009 12:49:12 +0200] rev 44
md5.c renamed to md5rec.c committer: Markus Bröker <mbroeker@largo.homelinux.org>
Thu, 16 Apr 2009 12:49:12 +0200 vector.cc Testcase
Markus Bröker <mbroeker@largo.dyndns.tv> [Thu, 16 Apr 2009 12:49:12 +0200] rev 43
vector.cc Testcase -> Eine Referenz ist günstiger bei Vektoren -> move ist ohne Referenz flexibler -> Es werden weniger Objekte erzeugt und dementsprechend auch wieder zerstört. committer: Markus Bröker <mbroeker@largo.homelinux.org>
Thu, 16 Apr 2009 12:49:12 +0200 Klassenhierarchie erneuert, Codebase erneuert
Markus Bröker <mbroeker@largo.dyndns.tv> [Thu, 16 Apr 2009 12:49:12 +0200] rev 42
Klassenhierarchie erneuert, Codebase erneuert * Object -> Drawable -> ... * Surface stellt eine SDL Schnittstelle bereit * namespace pmc wurde aufgegeben * DEBUG Option im Makefile Bekannte Fehler: * Jedes Drawable muss wissen und checken, ob es gezeichnet werden kann oder nicht * Diese *P[i] = *P[i] + location Konstrukte machen mich irgendwie nervös... -> operator* entfernt... committer: Markus Bröker <mbroeker@largo.homelinux.org>
Thu, 16 Apr 2009 12:49:12 +0200 xml parsing demo
Markus Bröker <mbroeker@largo.dyndns.tv> [Thu, 16 Apr 2009 12:49:12 +0200] rev 41
xml parsing demo committer: Markus Bröker <mbroeker@largo.homelinux.org>
Thu, 16 Apr 2009 12:49:11 +0200 db_bridge:
Markus Bröker <mbroeker@largo.dyndns.tv> [Thu, 16 Apr 2009 12:49:11 +0200] rev 40
db_bridge: * libstdc++ for g++-4.3: * cstdlib for getenv and friends... committer: Markus Bröker <mbroeker@largo.homelinux.org>
Thu, 16 Apr 2009 12:49:11 +0200 Project Parser
Markus Bröker <mbroeker@largo.dyndns.tv> [Thu, 16 Apr 2009 12:49:11 +0200] rev 39
Project Parser * c_compiler from http://www.csd.uwo.ca/courses/CS447a/parts/ansi-c-grammar/ * calc from the bison documentation committer: Markus Bröker <mbroeker@largo.homelinux.org>
Thu, 16 Apr 2009 12:49:11 +0200 Project Split finished
Markus Bröker <mbroeker@largo.localnet> [Thu, 16 Apr 2009 12:49:11 +0200] rev 38
Project Split finished committer: Markus Bröker <mbroeker@largo.homelinux.org>
Thu, 16 Apr 2009 12:49:11 +0200 demos/parser
Markus Bröker <mbroeker@largo.localnet> [Thu, 16 Apr 2009 12:49:11 +0200] rev 37
demos/parser * calc * c_compiler I want to rescue the history of the calc files... committer: Markus Bröker <mbroeker@largo.homelinux.org>
Thu, 16 Apr 2009 12:49:11 +0200 cube.cc:
Markus Bröker <mbroeker@largo.dyndns.tv> [Thu, 16 Apr 2009 12:49:11 +0200] rev 36
cube.cc: * Create an object, move this object. * don't try to re-create an object of a fixed size... committer: Markus Bröker <mbroeker@largo.homelinux.org>
Thu, 16 Apr 2009 12:49:11 +0200 Here is the spoon...
Markus Bröker <mbroeker@largo.dyndns.tv> [Thu, 16 Apr 2009 12:49:11 +0200] rev 35
Here is the spoon... committer: Markus Bröker <mbroeker@largo.homelinux.org>
Thu, 16 Apr 2009 12:49:11 +0200 the good, old programming error:
Markus Bröker <mbroeker@largo.dyndns.tv> [Thu, 16 Apr 2009 12:49:11 +0200] rev 34
the good, old programming error: * spoon= alloc(data, spoon); * free(spoon); -> there is a spoon (missing) Code indent with my buggy GNU Indent * -> PLEASE GUYS, FIX IT!! committer: Markus Bröker <mbroeker@largo.homelinux.org>
Thu, 16 Apr 2009 12:49:11 +0200 getpwnam_error:
Markus Bröker <mbroeker@largo.dyndns.tv> [Thu, 16 Apr 2009 12:49:11 +0200] rev 33
getpwnam_error: * getpwnam allocates memory for the struct and there is no way to free it. * it seems to be a bug in the library function. committer: Markus Bröker <mbroeker@largo.homelinux.org>
Thu, 16 Apr 2009 12:49:11 +0200 crypt extended
Markus Bröker <mbroeker@largo.dyndns.tv> [Thu, 16 Apr 2009 12:49:11 +0200] rev 32
crypt extended committer: Markus Bröker <mbroeker@largo.homelinux.org>
(0) -64 +64 tip