Tuesday, August 9. 2005
...or "why wasting several thousand euros a day on external developers and consultants is ok, but spending money on soft, triple- or quadruple-layered toilet paper does not seem to be ok."
I really hate using toilet paper that is at most double-layered, it makes me feel uncomfortable, and it definitely reduces my productivity because of that. Dear managers, next time you pay EUR 2000 per day for an external project manager, think about buying some high-quality toilet paper to make your dump-taking developer crowd happy. It shouldn't cost a fortune.
Wednesday, July 6. 2005
We just experienced a classic situation that shows why Windows' overcomplicated ACL and permission system is hardly usable in real life situation.
Windows apologists always complain that Linux's simple user/group and rwx permission system is too simple to match the complex situations you will find in real life. Well, sometimes it is problematic to project complex real life relationships of project teams, people and objects that need access control to Linux. But the clue is: Windows isn't able to do that, either. Why? Simply because it doesn't work reliably.
Now back to the "classic" example that I mentioned above: a colleague opened an SMB share to let me copy a few files from him. I was able to access that share, but when I clicked through the folders to get to that file, I was stuck at that point. "Hey, that folder doesn't even exist!", I told him, but for him, they were visible. He checked and double-checked everything, he even had permissions set to "allow everything for everybody" (0777 in Linux jargon) on one of the root folders including the "children inherit permissions from parent" option. Well, it worked for all files, except for the one damn folder that I needed to access! I even logged in as "Administrator", so Windows just behaves mysteriously.
My guess is that the folder's name ("docu") is a registered keyword such special situations, but that sounds too weird to be true. Anyway, I managed to get the file by simply trying to enter the folder name in the Windows Explorer's address bar, and that worked! Crazy. Really crazy. I'm already looking forward to the times where I can again use any other OS than Windows at work.
Wednesday, June 15. 2005
Willkommen bei Vodafone in Deutschland. Wie zu Hause erreichen Sie Ihre Mailbox über die 30699 Ihre Kundenbetreuung über die 70699. Schönen Aufenthalt!
Achja: jetzt bin ich bei T-Mobile Deutschland eingeloggt. Toll. Mal "manual network selection" auswählen... gna "no network found", nach Auswahl meines Providers. Das ist wirklich zum verrückt werden.
Sunday, June 12. 2005
Yesterday, I spent some time testing Eclipse with Ruby Development Tools (an Eclipse plugin that makes Eclipse a Ruby IDE). My advise: don't use it. RDT crippled the 39 kB source code of TPP down to about 25 kB. It couldn't correctly parse several classes in the source code, and so, they were simply deleted, it seems. Although Eclipse with RDT looks very nice to use, its (buggy) automatisms bear some real danger, like the loss of source code. I then switched back to good old vim, did the refactoring that I wanted to do within a few minutes, and was happy again. Probably tool-driven development isn't ready for Ruby yet.
As a side note, I released TPP 1.3 today. Download, extract and enjoy the new text and LaTeX output modes.
Update: If that all didn't quite make sense to you before, that's probably because I totally messed up the link to vim (thanks to Nico for pointing that out).
Monday, June 6. 2005
I just discovered on slashdot that Fedora released the Fedora Directory Server (FDS), an open-sourced Netscape Directory Server. Of course, the first thing was looking at how to build it by myself, just to test its compatibility. I often do that with large-scale software, just trying to compile it, not only with standard glibc, but also with dietlibc. In the past, software that compiles and links with dietlibc has been shown to be more portable than software that doesn't (I'd call that the "all the world is glibc"-syndrome). And so I started looking at the external dependencies, i.e. additional libraries that are required in order to build FDS. And what was one of the first things that I discovered in this list? Yes, the infamous Berkeley DB. Thanks, good bye. Berkeley DB caused a lot of issues with OpenLDAP already, so why would I want to use it with FDS?!
In this article, Andreas Bogk warned about "Berzerkeley DB", as he called it, and hoped (in the comments) that NDS would become an alternative to OpenLDAP. Well, no, unfortunately. I had hoped for a good, free and complete implementation of an LDAP server, too, but it doesn't look that will happen any time soon.
Thursday, June 2. 2005
Ich war ja mal Mitglied bei Amnesty International, bis zu einem gewissen Vorfall. Tja, und jetzt krieg ich immer noch Schreiben von ihnen, was ich eigentlich nicht will, da ich mit dem Thema AI abgeschlossen habe. Und um mir irgendwas zustellen zu können, müssen die meinen Namen und meine Adresse auf den Umschlag drucken, damit sind Amnesty International Verarbeiter von personenbezogenen Daten. Und natürlich hat man da als " Betroffener" jede Menge Ansprüche gegenüber dem Datenverarbeiter, wie z.B. Recht auf Auskunft und Recht auf Löschung. Tja, und eigentlich sollte AI eine DVR-Nummer haben. Allerdings ist der nirgendwo aufgedruckt, auf den Sachen, welche die mir geschickt haben. Nicht so toll.
Kennt sich irgendjemand aus der werten Leserschaft genauer mit dem Thema aus, was man in der Richtung machen könnte? Natürlich will ich AI gerne "eins aufbrennen", damit die einfach merken, dass der status quo nicht sein kann, aber am liebsten ohne eigene Kosten oder Gang zum Anwalt etc. pp.
Wednesday, June 1. 2005
Whoever had the crazy idea of automatically locking files when opening them in Win32 which then makes copy operations fail which then cannot be rolled back, the person must pay for this. It makes even the most basic operations like moving your home directory (yes, that's possible on Windows XP) impossible when you have an open file, e.g. you listen to an MP3 file that is located somewhere in your home directory. This splits one directory hierarchy into two, which then cannot be properly merged again. This is again on of the annoyances where I have to keep up my sanity by saying the mantra "I love Unix-like operating systems" over and over again.
Tuesday, May 3. 2005
Heute stand ich vor dem interessanten Problem, eine Datei zu recovern, die Kollegen von einem alten Rechner von mir gebackuped hatten. Und zwar war dieses Backup in Form einer .tar.bz2-Datei abgelegt. Grundsätzlich keine blöde Idee, denkt man sich, weil man alle Dateien schön komprimiert zusammengepackt hat. Nicht so in meinem Fall: es macht absolut keinen Spaß, ein tar tjf <archiv> laufen zu lassen, wobei die gesamte Datei dekomprimiert wird, und ein Listing des gesamten Archivs erstellt wird, und dann in einem zweiten Durchgang die betroffene Datei zu extrahieren, wobei die gesamte Datei noch einmal dekomprimiert wird. Das kann ja wohl nicht Sinn der Sache sein. Wohlgemerkt: das .tar.bz2-File hat eine Größe von etwa 10 GB.
Wenn man schon komprimierte Archive will, dann sollte man das doch lieber folgendermaßen gestalten: man packt alle Dateien zusammen, quasi die Umkehrung eines .tar.bz2: zuerst die Dateien komprimieren, und dann zu einem Archiv zusammenfassen. Und zur weiteren Beschleunigung stellt man ganz vorne an die Datei einen Header mit den wichtigsten Infos zu den enthaltenen Dateien (möglicherweise inklusive Dateinamen). Und um das ganze "verlängerbar" zu machen, packt man in diesen Header auch noch einen Offset zum nächsten Header dieser Art hinein.
Eine Alternative zu dieser verketteten Liste an Headern wäre auch noch folgendes: wenn lt. Header das Ende der Datei erreicht sein müsste, aber noch nicht EOF gefunden wurde, dann findet sich dort der nächste Header (natürlich muss der Header die Länge der dazugepackten Daten wissen, was das Format als Ausgabeformat nicht streambar macht). Durch die nicht mögliche "Streambarkeit" verliert die Konstruktion ihren "unixigen" Charakter, der allerdings durch eines wieder wettgemacht wird: wenn man den Weg der in diesem Absatz beschriebenen Alternative wählt, so genügt ein cat <archiv1> <archiv2> > <archiv3>, um mehrere derartige Archive zu einem zusammenzufügen.
Als Kompressionsalgorithmus innerhalb des Archivs würden sich mehrere Optionen anbieten, wie etwa die weit verbreiteten gzip oder bzip2 oder aber eine Integration der zlib. Eine weitere Alternative wäre einer der Kompressionsalgorithmen von oberhumer.com.
Wer meine Ausführung für wirr hält, dem kann ich teilweise recht geben, und wie meistens wird dies wahrscheinlich auch nur ein Hirngespinst bleiben, wer sowas jedoch implementieren will, den kann ich dabei nur (moralisch) unterstützen. Eventuell künftig existierende Implementierungen werden auf jeden Fall hier announced werden.
Friday, January 28. 2005
OK, it's time again for a rant about Symbian OS. First of all, I would like to point to an article about Symbian OS design faults. If you know about Symbian OS programming, you will know about most of the things mentioned in the article. If you like your job as developer for Symbian OS (which I cannot image), you will deny that these are issues, and that it's all intended. If you don't like Symbian OS (like me), you will most likely say, "Oh, how true" (like me). In case you don't know about Symbian OS, I can still recommend reading the article, as it tells you about the daily horrors of development on this crude platform.
Then, a colleague found another "nice" piece (see here). The last two paragraphs of the CCoeControl::PrepareForFocusLossL() method are contradicting each other, and the best thing is that the last but one paragraph is actually not true - at least not for any of the CCoeControl-derived classes where he would require that method. gna
And last, but not least, I'm currently trying to locate a bug that leads to interesting symptoms like the debugger sometimes stopping the program on more or less random position like the DLL of the ethernet driver or the drag'n'drop support for the Symbian OS emulator. This operating system, and especially its version for the Series60 type of mobiles, is one of the worst pieces of software I've ever seen, both in complexity, easy debugability (does this word even exist), and quality of documentation. Oh, yeah, the documentation: all Series60-specific things in the documentation are either header files, reformatted in nice HTML (and hyperlinked!), or if there is "additional" information text, a mere rewording of the class and/or method name.
Wednesday, January 5. 2005
You fucking US-American trackback spammer asshole, I'm gonna cut off your balls if I ever meet you IRL! Your IP address is being blocked, and trackbacking is disabled.
Update: deactivation of trackbacking was broken. exit(0) on the top of the file helps. Thank you, you fucking spammers, for destroying useful communication infrastructure!!
Wednesday, December 22. 2004
I just sent an email to Amnesty International, where I told them that they are fucking hypocrites (and they ARE indeed hypocritical, just read here), and that I quit my membership. Anyway, here's the email:
From: Andreas Krennmair <ak@synflood.at>
To: info@amnesty.at
Subject: Kuendigung der Mitgliedschaft
Hiermit teile ich ihnen mit, dass ich unverzueglich meine Mitgliedschaft bei Amnesty International kuendige. Als Grund kann ich die Erklaerung zum Urteil des Falls Wolfgang Daschner nennen, zu finden bei ihren deutschen Kollegen unter http://www2.amnesty.de/internet/deall.nsf/windexde/PR2004099
Einerseits schreibt sich Amnesty International den Kampf gegen Folter an die Fahnen, andererseits wird begruesst, dass Folter in Deutschland lediglich mit einer laecherlichen Geldstrafe auf Bewaehrung (!! d.h. wenn Herr Daschner ein Jahr keine weiteren Folterungen anweist, muss er nicht einmal diese zahlen!) "bestraft" wird, und voraussichtlich ohne weiteren disziplinaeren Konsequenzen bleiben wird! Entweder ist Amnesty zu verpeilt, um die wahre Problematik des Falls zu erkennen, oder AI betreibt pure HEUCHELEI! Mit diesem Urteil wurde ein Praezedenzfall geschaffen, der Folter unter eine praktisch zu vernachlaessigende Strafe stellt, der fuer die Exekutive einen Anreiz darstellen koennte, auch in weiteren Faellen zu aehnlichen Foltermethoden zu greifen.
Sollten sie diese Kuendigung in schriftlicher oder telefonischer Form benoetigen, so teilen sie mir dieses bitte mit, sodass ich das so schnell als moeglich nachholen kann.
Andreas Krennmair
--
Die so genannte Ohnmacht des einzelnen ist vielleicht die gefährlichste Illusion, die ein Mensch überhaupt haben kann.
-- Joseph Weizenbaum
Update: AI officially confirmed that I'm not a member anymore. But yesterday, they called and tried to get some additional money from me, for their next year's actions. I told the guy on the phone that I'm not a member anymore, and explained to him why.
Tuesday, December 14. 2004
All I want is to upload a drupal directory structure onto a server where I have FTP-only access. First client I tried: NcFTP. Problem: doesn't want to upload complete directories. Fails at "mput -r *", hangs or fails at "mput -r ." (depends on NcFTP's current mood). The next client I tried: Finder.app of OSX. OK, selected "Go -> Connect to server" from the menu, entered the FTP URL, logged in without problems. But it (falsely) recognizes the mounted FTP share (that's how access to an FTP server is represented by OSX, pretty nifty actually, if it only worked correctly) as read-only. gna Why can't both clients Just Work(tm)?!
Update: ncftpput now does the trick, with some trial-and-error.
Update 2: ncftpput was only a partial solution, here comes a better one:
for d in `find . -type d` ; do
files=`find $d -type f -maxdepth 1`
if [ -n "$files" ] ; then
ncftpput -u $user -p $password -m $host /$d $files
else
echo "XXX $d is empty and was probably not created!"
fi
done
Saturday, December 11. 2004
And the currently advertised "BigChicken" is the proof. It's a combination of the good, old BigMac layers, without the little cucumber slices, and with the chicken thingies (that you probably know from the McChicken) insead of the normal meat. When I opened the box yesterday, it smelled very tasty, but when I actually ate it, it tasted like... well, almost nothing. That was so disappointing. These guys you see in the TV commercial must either have a lapse in taste or be on some drug that made them have an "eat flash". I bet they all smoked some bad weed, and the guy in the middle who destroys the table was taking some metamphetamine before. Does McDonalds really want to have junkies as target group and advertise that?
Friday, November 26. 2004
Why the heck does MySQL have a bigint data type, which then only supports value ranges like an integral 32bit data type (it does here) although it should support more? That's on MySQL 4.0.17-nt, at least (yes, MySQL on Windows...). And that sucks big times.
Saturday, November 20. 2004
In a little bit more than a month, Christmas is coming (that's why the next few weeks are called "Advent", which is derived from Latin "ad venire" - to come). And this year, the Americanization of our continental-european Christmas is taking over even more than the years before:
|