CIA paranoia
Being paranoid does not mean they are not behind you.
For all those out there still thinking they can commit in silence: you can't. CIA is also behind you as it is behind me. So if you find out your friend will not react to your mails anymore just check out if he is not in a hacking session ;)
Quer gelegt
Ich mag einkaufen gehen nicht. Alleine der Anblick der ganzen Trottel in der Schlange an der Kasse ist schon schlimm genug. Immer wieder interessant ist es zu sehen wie Leute ihre Flaschen auf das Band räumen und anschließend mit Konservendosen, Handtaschen oder Chipstüten eine Barriere aufbauen damit die Flaschen nicht von einem Ende des Bandes zum Anderen rollen. Warum so kompliziert? An der Seite kann die Flasche in keiner Richtung herunterrollen, da an beiden Seiten der Rand hochgezogen ist. Also die Flasche um 90° gedreht und Schicht im Schacht.
Zwischen den einzelnen Kassen ist ja meist etwa ein Meter Platz, zumindest auf der einen Seite. Irgendwo müssen die Kassiererinnen ja auch sitzen und die Sargnägel wollen ja schließlich auch präsentiert werden. Aber einmal quer entlang der Reihe der Kassen gehen ist schlicht unmöglich, dazu sind die Schlangen ja viel zu lang. Warum kommt eigentlich keiner auf den Trichter den Einkaufswagen in der Schlange quer vor sich zu stellen? Damit würde sich die Schlange (räumlich) verkürzen ohne das irgendjemandem etwas verloren geht.
Das nächste Mal erzähle ich euch dann etwas über Frankreich, Autofahrer und was das alles mit Einkaufen zu tun hat.
Geändert: 25. 11. 2007, 15:09
Upcoming feature
Those of you that regularly read the award winning KDE Commit-digest might have seen me mentioned there some times. Sometimes I was mentioned there as bug killer (like September 2nd, 2007, September 16th, 2007 and September 23th, 2007), many times for my commits (like for example October 28th, 2007 where the removal of shredder was mentioned) and one time even in the introduction.
What I'm very proud of now: today Danny asked me to write a feature about KGpg. So stay tuned!
Geändert: 1. 12. 2007, 19:35
Bug des Tages: irgendwie doch nicht
Gerade spuckte emerge beim Bauen von dev-perl/GD-2.35-r1 folgendes Schmuckstück aus:
** WARNING: found gd.h header file in /usr/include/gd.h, but it is expected at /usr/include/gd.h. This may cause compile errors! **
Gestört hat es ihn dann doch nicht.
Geändert: 6. 2. 2008, 22:45
Erwachen der Massenmedien?
Von Heise und ähnlichen Medien ist man eine kritische Haltung zu Onlinebespitzelungen ja schon länger gewohnt. Bisher sind die durch die Fernsehsteuer finanzierten Medien noch nicht dadurch aufgefallen das sie der Bevölkerung umfassende und ausgewogene Informationen über das Treiben unserer Politiker liefern.
Nischenmagazine wie Frontal21 ringen sich da manchmal zu durch, greifen dafür an anderer Stelle aber tief ins Klo. Von der Tagesschau, die ja laut gefühlter Wertung das seriöseste Nachrichtenmagazin Deutschlands ist, kam in letzter Zeit leider erschreckend wenig konkretes, statt dessen immer mal wieder grenzwertige Meldungen wie die damalige Berichterstattung über die Abschaltung von RCTV in Venezuela (interessanterweise sind die Artikel, die derzeit im Archiv verfügbar sind, deutlich ausgewogener als die damalige Berichterstattung).
Egal, warum ich hier eigentlich rumschwafel: die Tagesschau berichtet kritisch über Schäuble und die Onlinedurchsuchung. Mehr davon! Vielleicht fängt die Bevölkerung endlich mal Fragen zu stellen.
Geändert: 24. 10. 2007, 17:23
Bug des Tages: int64
Seit Wochen beschäftige ich mich auf der Arbeit mit der Realtime-Seuche. Irgendwie wollte eine Funktion nicht so wie sie sollte. Schließlich stellte sich raus das der Compiler an einigen Stellen etwas seltsam optimiert:
void func(uint64_t); void a(unsigned int i) { func(i); } void b(unsigned int i) { uint64_t j = i; func(j); }
Variante b tut genau was man von ihr erwartet, in Variante a hingegen löscht der Compiler offensichtlich nicht die nächstfolgende Stelle auf dem Stack. Das ganze ist im konkreten Fall mit einem gcc 3.3.5 aufgetreten, allerdings habe ich ähnliches Verhalten auch schon mit M$ Visual Studio 6 erlebt. Keine Ahnung ob das konform zu irgendwelchen Standards ist oder nicht, auf jeden Fall ist sowas reichlich schwer zu debuggen.
Geändert: 6. 4. 2008, 08:47
Kickin' Shredder
Today KGpg lost one of it's features. With r728051 I kicked the shredder out of the game. Since this might have been a features some people used I think it's a good idea to explain why I did this.
Shredding is not a feature that is related in any way to GPG. Shredding uses a special call into kdelibs that does the actual work. Using this call was always a bit risky. Shredding done by a user can only overwrite that parts of a file the user has directly under it's control. Since everyone uses a journalling file systems these days the data might be not only be where it belongs but also somewhere in the journal. When you shred the file whatever is in your journal is beyond your control. To securely delete this data you need superuser permissions and some deeper knowledge of your filesystem.
Now kdelibs does not have the shredding call anymore. When we want to keep the feature we have to reimplement it at all from the beginning. Since KGpg is not a filesystem tool but a GPG interface there is no real reason to keep it. When we would decide to keep it we need to have a look on the security of this call. As I explained shredding is hard to do without deep filesystem knowledge and so it's unlikely to do it right for all filesystems. The worst thing we can do is telling the user we do something secure and afterwards doing crap. Faking security I want not be associated with, this is something that should be left to Personal Firewalls. That's it, that's why the shredder is gone. Cowabunga!
Trolltech Dev Days 2007
I'm back from Munich. I was scheduled for the SubConf on Wednesday and Thursday. Since the DevDays were in town I took the chance to be not at work on Tuesday, too ;)
It was a really cool experience. The trolls did hard work to make it a good time for all visitors. That meant not only they had organized really nice food but also really interesing talks. I was a bit short on time so I didn't get the agenda before. It was a nice surprise to see Aaron Seigo holding the second keynote and talking about KDE4. Of course I couldn't resist and joined his BoF session. Another KDE developer, Till Adam, left his booth and also joined us.
On the next break I found another KDE guy out in the lobby and we both joined an excellent talk about using Model/View in Qt held by Marius Bugge Monsen. It was like a build plan for the KGpg2 user interface. It was a double session at the end of the day but it really kept me awake. Expect to see some changes of the keys manager to model view soon. The tree view examples are really the puzzle pieces I needed to start the game.
This was the end of the official program, followed by drinks, small talk and a good dinner. We had Marius and a Texan troll at our table (sorry guy, I'm bad at remembering peoples names) and it was real fun. And then there was the "Geeks vs. Nerds" game. I wont tell much, but Pi, 21th of June and "going to Alpha Centauri or killing all other civilisations" were some of the correct answers. And the winner was a geek. By the way: the hardest part was not answering the questions, but understanding them. What an accent, I always thought my English was bad.
KGpg hijacked
Three weeks ago on #kde4-devel... (shortened to the relevant parts, fixed some wording in my last statement)
<Dakon> | where to I have to mail to to take over maintainership of KGpg? |
<Sho_> | Dakon: KGpg is actively maintained |
<Dakon> | Sho_: by whom? |
<Sho_> | Dakon: One /whois later ... by you ;) |
<Dakon> | ehm, hm |
<Dakon> | where is that written down? |
<Dakon> | currently we only hijacked it *gg* |
<Sho_> | Dakon: We don't really write that down anywhere, it's rather meritocratic |
<Dakon> | so I became maintainer by the number of commits *g* |
<Sho_> | Dakon: Let's put it that way: Since you've clearly been the most active developer on it for a fairly long stretch of time now, probably no one would object if you call yourself its maintainer |
<Sho_> | I don't see many other contenders anyway ;) |
<Dakon> | ok, then I'll do so *g* |
<Dakon> | and the second most committer (jimmy) has already agreed on that |
<Sho_> | :) |
<Dakon> | and together we've probably done over 95% of commits in the last 6 month or so *g* |
<winterz> | I, for one, welcome our new KGpg overlord :) |
At this point I would like to thank again bj for inventing this little tool that many people out there like very much.
Onlinedurchsuchungen vs. Recht
Der Hype auf weitere Erosion der Grundrechte ist ja insbesondere im schwarz-braunen Spektrum ungebrochen. Man sollte sich aber mal vor Augen führen was man da eigentlich vorhat. Insbesondere muss man einen Vergleich zu den forensischen Ansprüchen der bisherigen Untersuchungsverfahren ziehen.
Wenn z. B. bei einer Hausdurchsuchung eine Festplatte beschlagnahmt wird dann wird diese zunächst geklont und anschließend werden nur mit der Kopie gearbeitet. Manchmal wird auch dabei geschlampt und die zu findenden Daten kommen erst nach der Beschlagnahme auf die Platte (ich finde den Link zu dem Artikel gerade nicht mehr). Auf jeden Fall ist der Plan zumindest, das das Original unverändert bleibt und im Zweifelsfall alles von neutraler Seite nochmal nachgeprüft werden kann. Bei der Onlinedurchsuchung ist das ganze aus offensichtlichen Gründen nicht gegeben.
Die Argumentation für die Onlinedurchsuchung war ja ursprünglich auch das damit auf Daten zugegriffen werden kann die auf verschlüsselten Datenträgern liegen. Sollte dieses unsägliche Instrument des Überwachungsstaats tatsächlich Gesetzeskraft erlangen gibt es nur eine Möglichkeit damit umzugehen. Sämtliche Informationen, die während einer Onlinedurchsuchung gewonnen werden, sind grundsätzlich vor Gericht nicht zugelassen. Das führt dann dazu das die Informationen nur für zwei Dinge verwendet werden können: die Lokalisierung von "Webfestplatten" um dafür einen Durchsuchungsbefehl erhalten zu können oder die Gewinnung von Passwörtern mit denen verschlüsselte Datenträger, die im Rahmen "normaler" Durchsuchungen sichergestellt worden sind, nach den bekannten forensischen Methoden untersucht werden können.