Archive for April, 2007

Upgrade

Sunday, April 29th, 2007

[jLanguage default="german" flags="true"]
[german]
So. Geschafft, wiedermal, wordpress zu aktualisieren und gleich ein paar andere Dinge mit zu erledigen:

  • Eigentlich wollte ich wiedermal “richtig” am Layout schrauben, aber irgendwie hat sich beizeiten gezeigt, daß für das, was ich will und mag, die gegenwärtige Struktur gar nicht so schlecht ist. Also nur Kleinigkeiten neu, die vorrangig darauf zielen, [z428] besser lesbar sein zu lassen.
  • Größere Änderung: Übersetzungen. Die Idee, geschriebene Artikel in zwei Sprachen “parallel” vorhalten zu können, geistert durch meinen Kopf nicht erst seit Markus über die Polyglot-Erweiterung geschrieben hat, mit der sich genau solches erreichen läßt. Nachdem ich mich mit diesem Plugin nicht wirklich anfreunden konnte, bin ich mittlerweile bei jLanguage gelandet, was meinen Wünschen hier eher entspricht (leicht in Betrieb zu nehmen, leicht zu nutzen, kann Verwendung finden, ohne Hand an das Template legen zu müssen).

Mal sehen, was sich so alles machen läßt. Jetzt heißt es wohl erst einmal “aufräumen” und die Dinge zu richten, die nach dem Update erstmal nicht gehen, wie etwa das Plugin für del.icio.us. Naja. Man kann wohl nicht alles auf einmal haben, schätze ich… :)

Nachtrag, hätte ich fast vergessen: Jetzt gibt’s auch ein Bildchen in der Adreßleiste, falls doch jemand die Site in seine Lesezeichen werfen mag… :)
[/german]
[english]
So. Finally done that, once again. Getting wordpress updated, I also managed to get some other things done along the way:

  • Initially I thought about completely remodeling the visual appearance of [z428], just to quickly figure out that I always sort of come back to where I already am so I guess both structure, layout and colors aren’t all that bad. So, there are just minor visual enhancements mainly intended to make reading this site a little easier.
  • More major change: Translations. Not just by reading Markus write about the polyglot extension I thought about keeping translated versions of my posts here as well, but so far I couldn’t really get used to polyglot. By now, I took a dive into jLanguage which seems to be right what I need – easy to get started, easy to use, and doesn’t require messing with the page templates to actually display anything. So far, so good. :)

Now, only thing left to do is some cleaning-up, especially getting that dreaded del.icio.us plugin to work again. But I guess you can’t have everything instantly… :)

PS: I almost forgot that now there also is an icon in the address bar for all those who want to bookmark this site (or read the feeds… :) ).
[/english]

search before you code?

Friday, April 27th, 2007

Probably it’s not really worth mentioning, but somehow I just once again got aware how incredibly important, in the age of open-source software and (talking about Java) a certain set of standard technologies, it is to, before getting any coding work done, it is to check what’s already around, to see whether there is a good solution that doesn’t require reinventing the wheel. In a current situation, I was thinking about how to make a Java based backend application (used by a web frontend system) faster by limiting access to our SQL database as well as the server filesystem to a bare minimum. One doesn’t need to think twice to come up with the omnipresent idea of caching

… and, second idea probably is rather straightforward: Throw some Map implementation somewhere (possibly being a Singleton class) to house objects of a certain class identified by some good key. Make your data access objects look into that Map before querying an object from the SQL database and make them deliver the “cached” instance instead if there is one. Possibly add a few other information to the caching map in some way, like caching duration / expiry time… Possibly, this even will work out initially, given time and experience to merge this structure with your code. But sooner or later, you’re likely to stumble across a bunch of things maybe you initially forgot about:

  • How to correctly handle expiration of cached objects as well as “refreshing” of those that have been modified and need to be persisted and then possibly cached again?
  • How to easily make this concept work for a whole bunch of different objects (come on, you don’t just use one DAO and one sort of entities, do you?) without having to rebuild all of the data access code in question?
  • How to completely test the whole mess to be sure your caching doesn’t do undesirable things to your data?
  • How to possibly get this extended and/or changed once you see that, in example, one or two of your entities are accessed in a way that makes caching not really useful?

Maybe there’s a whole lot of other questions like this. If you’re the system administrator kind of guy (like I am, in some respects), you might want to go right the way you’d usually go using your everyday best friends in order to quickly hack up a heap of code to do the job. However, at least after getting deeper into Java, more than once I figured out that quite an amount of work can be saved looking closer at what is around before getting some work done. In case of Java and said caching issue, I came across a bunch of useful things:

  • There is JSR 107 describing a mechanism fitting my very caching needs. This is good, given that the JSRs usually are agreed-upon by a more or less huge developer community so one can be sure to find good implementations as well as, if needed, help on these things.
  • Likewise, there is ehcache which implements JSR-107 and provides a stable, usable general-purpose Java object cache which, oh joy ( :) ), might be easily included into the environment our applications is built upon (tomcat, spring).
  • And, finally, making use of Spring and AOP allows for adding caching functionality to the data access layer of the application in question just by configuration, without having to actually touch the DAO code (which, in our application sometimes is really messed-up and hard to debug, given we’re building atop a legacy database system).

Bottom line: Maybe I would have been out faster just implementing a set of self-made caching classes making use of Maps and adding them to my DAO layer. But this way surely I would have ended up with a lot more maintaineance work (getting the DAOs to do what they’re supposed to, again), and I would have left our system with another “proprietary”, possibly undocumented solution. The idea of making use of (standardized) components that are available, tested, stable and well-known however made me end up with a solution which, once put in place, just does its job without having to think twice about it. I’m not sure how soon the amount of time saved in maintaineance and testing might exceed the higher amount of time needed to get all this work together nicely… but I think that not to reinvent the wheel has been a good decision about that, so far. It wouldn’t have been a “really good” wheel in the end, after all… :)

technology and angels

Monday, April 23rd, 2007

“…
And I still believe in angels
And footsteps in the snow
And I still believe in the goodness of Man
Despite the evil in my world
And I still believe in love
Though I’m happy to be free of the pain
But please just give me one last breath
Before I pass from this place

One last breath for the wicked
One last breath for the sin
One last breath for the lost, the nameless
And those that I’ve forgotten…”

The soundtrack of this morning I listened to while on my way to work, taken from Sophia’s “Technology Won’t Save Us”, one of the very few indie-rock albums that have made it to my collection. In some ways, both the record title and the lyrics somehow seem to fit. Melancholy at its best, and I adore this album maybe just for its title. Indeed, technology won’t save us…

Innenminister vs. freiheitlich-demokratische Grundordnung

Friday, April 20th, 2007

Eigentlich will ich gar nicht mehr viel darüber schreiben, hab mich eh’ schon zu viel sinnlos aufgeregt über die Tatsache, daß Teile der gegenwärtigen Regierung dieses Landes jeglichen objektiven Blick auf Themen wie “innere Sicherheit” und “Totalitarismus” verloren zu haben scheinen, in einem kaum mehr zu erfassenden Tempo den Aufbau eines Polizeistaates fordern, ohne auch nur ansatzweise darüber nachzudenken, ob die Konzepte und Ideen, die vorgestellt werden, wirklich in irgendeiner Art und Weise angetan sind, verbesserte Sicherheit zu schaffen (von den vielen rechtlichen und gesellschaftlichen Bedenken reden wir gar nicht mehr). Aktuell dazu dies hier:


Der Fraktionsvize der CDU/CSU-Fraktion im Bundestag, Wolfgang Bosbach, hat Bundesinnenminister Wolfgang Schäuble (CDU) rückhaltlose Unterstützung für dessen Vorhaben zum Ausbau des Überwachungsnetzes und zur Neuausrichtung der Sicherheitsarchitektur mit weiteren präventiven Befugnissen für Strafverfolger und Geheimdienste zugesichert.

Wundert mich nicht wirklich, insbesondere wenn ich mich an die Antwort des Herrn Bosbach auf eine Mail vor einigen Monaten erinnere – dort wurde ich in harschen Worten darauf hingewiesen, daß sich ein Vergleich der jetzigen Sicherheitsmaßnahmen mit Strukturen der Stasi von vornherein verbieten würden, da letztere nur darauf aus waren, die eigene Bevölkerung zu bespitzeln und zu unterdrücken, während die derzeit proklamierten Maßnahmen erklärt den Sinn des Schutzes der Bevölkerung vor realen Gefahren haben. Aha. Realitätsverlust? Geschichtsschreibung durch Gewinner? Oder die völlige Unfähigkeit, eigene Maßnahmen auch vor einem historischen Hintergrund bewerten und gegebenenfalls zweimal über Dinge nachdenken zu können / wollen? Was in der CDU momentan in dieser Hinsicht passiert, ist einer der berühmt-berüchtigten FDGO politisch voll und ganz unwürdig. Aber vermutlich ist ja bald wieder Wahlkampf, und solang man jenseits fachlicher Aspekte mit Populismus und dem Schüren der Angst vor Fremdem Staat machen kann, ist dieses Mittel wohl offensichtlich nur recht und billig:


Laut dem Fraktionsvize will sich die Union mit dem Thema Innere Sicherheit gegenüber dem Koalitionspartner SPD klar absetzen. “Die Union muss gegenüber der SPD ein unterscheidbares Profil behalten, und Wolfgang Schäubles Initiativen tragen dazu bei. Wir müssen begreifen: Koalition heißt nicht Fusion”, machte Bosbach klar.

Nein, verdammt! Wir müssen endlich begreifen, daß es auch im ausgeklügelten, perfiden, gut organisierten und funktionierenden System der Stasi Menschen gegeben hat, die trotz der Überwachung gegen den Staat gekämpft und diesen auch letztlich zu Fall gebracht haben! Das wird sich vermutlich wiederholen, wenn wir auch diesmal wieder so naiv sind zu glauben, daß wir das gesellschaftliche Problem von Terrorismus und Gewalt durch stupid-technisierte Sicherheitsmaßnahmen einzudämmen oder gar zu bekämpfen vermögen würden.

Nebenbei, ganz gleich, wie repräsentativ diese Umfrage auch sein mag, nehme man dies hier zur Kenntnis: 96% von > 50.000 Menschen, die der Meinung sind, daß Herr Schäuble in seinem gegenwärtigen Ansätzen eine Gefahr für die Verfassung darstellt. Das ist nicht ohne Aussage…

Ubuntu and Java

Friday, April 20th, 2007

Some of you might have noticed that Ubuntu 7.04, code-named “Feisty Fawn”, has officially been released yesterday, providing quite a set of visual and technical changes compared to the “last stable” 6.10 version. I switched my notebook to use 7.04 pre-builds quite a while ago and am rather pleased with its overall working and performance (even though from an end-users point of view, changes are not _that_ big if you decide “just” to use your old desktop / environment configuration with the new distribution).

However, one thing notable about it is that, by now, Ubuntu package repository comes with a full set of up-to-date Java development tools, including the Java 6 runtime and development packages, the NetBeans and the Eclipse IDEs, the apache tomcat – servlet container and the glassfish JEE server. By now, this already is quite nice given that you can get up and running using Ubuntu and Java out of the box in almost no time.

And, looking a bit further (or, should I say, “dreaming” a bit): Given that sooner or later there will be a completely GPL’ed JDK available and this maybe make its way into the Ubuntu-main repository, building and distributing applications tailored to run on a Linux (desktop) machine would become incredibly easier as everything needed for that might just come “batteries included” with the distribution base installation. Maybe even better one day, looking at Nexenta GNU/Solaris, even users who care about Free Software could have the best of todays technologies in terms of operating system (OpenSolaris), development environment (Java) and system administration / package management (Debian/Ubuntu) in a single, easily accessible package. I’m watching and waiting… :)

Angstminister und Stasi 2.0

Monday, April 16th, 2007

Kurz und knapp, da der Artikel selbst auch nicht allzu lang ist, der Verweis auf einen Kommentar der taz zu den gegenwärtigen “Tendenzen”, Sicherheit im Lande durch massive Überwachung und, bedarfsweise, auch die Einschränkungen elementarer, per Verfassung zugesicherter Grundrechte schaffen zu wollen: “Rechtswidrige Zwangsvorstellung – Der Angstminister des Innersten will absolute Sicherheit des Staates vor seinen Bürgern” – deutlich formuliert, aber nicht unbedingt von der Hand zu weisen… :) (Dank an mayo für den Link…)

Nachtrag: Wenn man denkt, es könnte eigentlich nicht sehr viel weiter nach unten gehen, dann macht so etwas wie der jüngste Stern-Artikel seine Runde durch die Medien. Die Bezeichnung “Stasi 2.0″ scheint mittlerweile mehr als angebracht… Vielleicht hilft es ja doch, dem guten Herrn etwas zu lesen zu schicken….

Nachtrag 2: Das demokratische System scheint wieder auf Linie zu kommen, zumindest was die große Koalition betrifft:


Ausdrücklich stellte Zypries sich nun hinter Schäuble: “Die Unschuldsvermutung kann bei der Gefahrenabwehr nicht gelten, weil da soll ja Gefahr, der Eintritt eines Ereignisses, verhindert werden. Deshalb gilt die Unschuldsvermutung immer nur dann, wenn jemand vor Gericht steht, wenn der Staat ihn also anklagt und sagt: Du hast eine Tat begangen und jetzt muss ich, Staat, dir nachweisen, dass du es warst. Soweit ich das nicht kann, gilt die Unschuldsvermutung, also nur bei der Strafverfolgung.”

Das ist Zynismus in seiner besten Form. Diesem Weg folgend, sollte sich prima ein Szenario konstruieren lassen, in dem “Gefahrenabwehr” ein rechtsfreier Raum ist, in dem notfalls auch keine Verfassung greift.

GNU/Solaris and easier partitioning

Friday, April 13th, 2007

If you’re about to deal with the Nexenta GNU/Solaris distribution, you might want to check out the latest installer ISO image (elatte_install_a7test2-b61_i386.iso, to be found in /unstable-iso/, which has seen quite a bunch of improvements compared to the “official” alpha6 image. But, aside the fact that a7test2 features the OpenSolaris / NWS build 61 and a bunch of updated software packages, to me the most notable improvement is that there finally is a tool for guided partition creation during installation, which is at least on par with what most of the recent text-based Linux installers provide. So finally, I can give GNU/Solaris a “bare metal” try again (as right now I am just running it inside VMWare server). Also have been playing around with Solaris Express Community Release, as suggested earlier by some of my honoured readers, but despite the fact that it seems to be a rock-solid, well-working environment, I still am in favor of Nexenta GNU/Solaris somehow because in many respects (including software / package management) it just feels as comfortable as Debian. And my server-sided testbed system (housing our internal documentation wiki as well as a subversion repository) has been just running the last few months without requiring too much attention. Good thing. :)

Freiheit statt Angst

Friday, April 13th, 2007

Am Wochenende (genauer: dem 14.04.2007) werden Menschen in Frankfurt auf die Straße gehen, um für Bürgerrechte und gegen einen um sich greifenden Überwachungswahn in unserer Gesellschaft zu demonstieren, der mittlerweile kaum mehr vor Werten oder Idealen dessen Halt zu machen scheint, was unseren (Rechts-)Staat eigentlich ausmachen sollte. Und da ich keine Chance habe, am Wochenende gen Frankfurt zu fahren, bleibt mir nur, darüber zu schreiben…

Was man vielleicht noch hinzufügen könnte: Im Rahmen der Terrorismus-Debatte wäre vielleicht auch das Motto “Wissen statt Angst” nicht ganz verkehrt. Was momentan passiert, ist im Wesentlichen eine allgegenwärtige, pauschale Verurteilung von Andersdenkenden oder -gläubigen als Gewalttäter und potentielle Terroristen, und selbst die vermeintlich etablierte und “seriöse” Presse wird dort nicht nennenswert aktiv, wenn es eigentlich darum gehen sollte, objektive Betrachtungen und etwas differenzierteres Gedankengut ins Volk zu bringen. Angst, Unwissenheit, Pauschalisierungen und Politiker, die dies als Argumentation zu Einschränkungen und Demontage der demokratisch-freiheitlichen Grundordnung in großem Stile ausnutzen? Die Entwicklung ist einfach nur noch beängstigend…