Showing posts from January, 2006

CVS: Encoding mixup

Having completed the migration of our CVS server I am now slowly coming around to get loose ends tied up. One very unnerving thing was the now mixed encoding of log messages in the CVS histories. Comments that were saved before the migration now show up with little squares instead of the German umlaut characters whereas only the new ones are displayed correctly (UTF-8). This would not be too much of a problem, one might say, because the older the comments the less they are needed anymore as development goes on. That's what I thought, too, until I tried to get the MySQL based commit database of ViewVC running. Setting up the schema was no problem, however I had to make several columns wider than the default, because they were too small for our needs. While fixing that I upgraded from MySQL 4.0 to 4.1, not expecting too much trouble. Already anticipating something like older libraries and/or python bindings I disabled to password for the user updating the database. So far it worked

Migrating CVS from Debian to RedHat

A busy week behind me, moving our CVS repository from Debian to RedHat Enterprise 4 on Wednesday and Thursday. Ready Three years ago we began development of a new (Java) software solution for our main customer. To handle the several teams and the code they produced, we introduced our very first CVS server. Because many people in our company have a thorough liking for Windows we used a Windows 2000 Server installation with CVSNT. Nobody really cared about the warnings on the net using Eclipse (2.1 at the time) with CVSNT. However it did not take too long until (almost) everybody realised that a Linux server should be the way to go. We went for a RedHat Enterprise Linux 2 but installed a VMware GSX server on it. Inside that VMware we created two virtual servers with Debian Woody. The one was to be a "dedicated" CVS server, the other one a build and test machine. For almost three years now this has been a (mostly) reliable setup. Sometimes the VMware would crash and take bot

Translucent Windows with Swing

y chance I stumbled across a solution to problem long unnerving me: translucent windows with Swing. We are developing a Java application for till systems with a touchscreen GUI. Part of the applications styleguides includes dialogs and popups with rounded edges, somewhat like the windows in Mac OS X. While we managed to get the rounded edges and a tiled background right with images arranged precisely through a custom border, they were never really rounded in a technical sense. There were always small rectangular remains at the edges, because the JPanel itself was rectangular of course. All we could do was set the color of the dialogs background pane to something very closely matching the overall background color scheme to have these remains as unobtrusive as possible. Every person I asked told me about using JNI and some native code, as long as the underlying platform supported alpha channels and things like that. As the application must run correctly on both Windows (2000/XP) and X11/

MySQL Indices

I did not get around to go after the sound problem with my new Fedora installation. However I did write a little program I had had in my mind for some time now: A MySQL duplicate index detection tool. Where I work we use a Java application framework that generates database schemas from UML class models. Unfortunately no one took care to deactivate a feature that creates an extra index on every table, that is the same as the primary key. This is obviuosly a waste of space and takes longer to update. From what I understand from the MySQL manual the optimizer will never use it, because it would be slower than accessing the primary key (which is the clustered index in InnoDB). So instead of finding all those superfluous indices' (generated) names manually, I decided to write a little tool to help me. While I was working at it I sized it up a little to find any index B that is a complete prefix of a longer index A. Unless A is substantially longer than B I guess it will be faster to u

Fedora Core 4

For quite some time I wanted to install FC4 next to my XP at home, however I never found the time. Last week I thought about it again and was on the edge of leaving it be another few weeks, because I was not in the mood to change my hard drives' partitioning. To my surprise I found 60GB of unpartitioned space lying around. Obviously I had left them free when I installed the new hard disk almost a year ago, probably for a Linux installation :) I downloaded the FC4 DVD image, verified the checksum and burnt it onto a DVD-R. Then I booted from the DVD, seeing the initial screen of Fedora asking for boot parameters (skip hardware detection, rescue mode etc.) Wanting a "regular" install I just hit return. As a good start, a few seconds later, right after loading the kernel and initializing the initrd, I got a kernel panic. I cannot say that I was particularly amused, not even getting anywhere near the actual setup sequence. Trying for about half an our modifying the kernel par

Microsoft Natural Ergonomic Keyboard 4000

For a very long time one of the first Microsoft Natural Keyboards has served me dutifully, however when I read about the new 4000 I decided to retire the old one and replace it with its modern successor. I especially appreciate the "sane" layout of the Home, PageUp, PageDn etc. and cursor keys, one of the reasons I did never buy any of the other variants of MS's keyboards, that had them shuffled around for no reason immediately apparent to me. So I ordered a 4000 from for 43€ and was very pleased with its look, when it finally arrived. However reality soon had me back when I found out that the volume control keys did not work at all. The mute key and all of the other special keys worked perfectly, however. So I tried the usual procedure of uninstalling and reinstalling the IntelliType driver software, numerous reboots and unplug/replug cycles. Bottom line: Nothing made the volume keys work. I even began to suspect a hardware malfunction, but several people on t

Subversion vs CVS

Yesterday I trieb to setup subversion for the first time. At work we are currently managing a large project with a lot of subcomponents with CVS and Eclipse. For almost three years now everything has gone alright, however the server is getting problems now, handling the steadily growing repository. As a first step we are going to install new, more powerful hardware, but I have been wondering for some time, if subversion would not be better for our needs. We do lots of labelling and some branches are not so uncommon, too. Considering the size of our repository (some 16GB and lots and lots of sourcecode, documentation and library files) some operations just tage ages to complete. But what I hate most is the non-atomic commits CVS has and that you cannot see, which files were affected by a particular checkin. It very hard to get people to repeat the names of everything they touched for a commit in the checkin comment. Some developers don't even try to commit everything at once, they d


Daniel Schneller Kamper Str. 14 42699 Solingen Deutschland /Germany Dies ist eine private Internetpräsenz. Internet: / Haftungshinweis: Trotz sorgfältiger inhaltlicher Kontrolle übernehmen wir keine Haftung für die Inhalte externer Links. Für den Inhalt der verlinkten Seiten sind ausschließlich deren Betreiber verantwortlich. Layout und Gestaltung dieser Website sowie die enthaltenen Informationen sind gemäß dem Urheberrechtsgesetz geschützt. Das ist auch zu beachten, wenn auf diesen Internetseiten erscheinende Materialien Dritter zur Informationsgewinnung verwendet oder kopiert werden. Alle Angaben erfolgen ohne Gewähr. Eine Haftung für Schäden, die sich aus der Verwendung der veröffentlichten Inhalte ergeben, ist ausgeschlossen. Sollte der Inhalt oder die Aufmachung dieser Seiten Rechte Dritter oder gesetzliche Bestimmungen verletzen, bitten wir um eine entsprechende Nachricht ohne Kostennote. Wir greifen auf Drittanbieter zur