Mittwoch, 31. März 2010

Montag, 29. März 2010

Einsichten in die Internetüberwachung

Ein IT-Berater berichtet über seine Mitarbeit an einer Überwachungsarchitektur für das Internet: Mein Job beim Big Brother
Einerseits ein höchst spannendes Thema, die Überwachung der digitalen Kommunikation im Maßstab eines ganzen Landes. Andererseits ethisch äußerst fragwürdig. Leider sind die gegebenen Einsichten in das System vermutlich längst überholt, lesenswert ist es dennoch.

Donnerstag, 25. März 2010

Impressionen einer Fahrradtour

Warum ist der Charme zerfallener leer stehender Häuser nur so unwiderstehlich?
- Webalbum
[Update] Peter hat die Bilder ein wenig überarbeitet und so dass die Magie des Ortes aus einer etwas anderen Perspektive ersichtlich wird.
Bild - Stiller Ort
Bild - Bunte Ruinen
Bild - Bunte Ruinen II
[/Update]

Mittwoch, 24. März 2010

Wikipedia-Komödie

Nach dem Wikipedia-Drama zu Beginn des Jahres nun die Komödie um den Wikipedia-Eintrag des Tages vom 21.03.2010.

"Vorsicht, Freund hört mit!" - Überwachung sozialer Netzwerke

Der Artikel Vorsicht, Freund hört mit berichtet über eine besondere Schattenseite sozialer Netze. Für die westliche Welt (oder zumindest geht es mir so) ist die Vernetzung nicht nur ein Segen für demokratische Beteiligung und freien Informationsaustausch, insbesondere hinsichtlich totalitärer Regimes wird in den Nachrichten gerne gezeigt wie Bürger solcher Länder die Vernetzung nutzen um sich in Protestbewegungen zu organisieren. Sicherlich sind auch Fälle der Zensur (am deutlichstern zur Zeit in China) oder Repressialien gegen Blogger bekannt, aber häufiger kommt im Kern an, dass die Menschen nun verbesserte Möglichkeiten haben sich gegen die unterdrückende Autorität zu wehren. Evgeny Morozov zeigt ein düstereres Bild. ein klares "LesenDuMusst".

Eclipse 4

Für Entwickler von Rich Client Applications oder Plugins unter Eclipse liest sich der Artikel
"Eclipse 4 - die nächste Generation der freien IDE" auf heise developer wie ein Genuss:

Seite 1: Dependency Injection und der Message Bus hält Einzug für eine verbesserte Modularisierung und vereinfachte Programmierung von Anwendungen oder Plugins.
Seite 2: Deklarative Oberflächen unter Nutzung spezieller XML-Syntax (XWT) oder direkte Modellierung auf Basis von EMF zur Laufzeit (!). Ich hoffe beide Techniken werden Einzug halten in e4.
Seite 3: Cascading Stylesheets um vom Look & Feel des zugrunde liegenden Betriebssystems wegzukommen. Dadurch werden dann vll Touch-freundliche Oberflächen mit "Grabbel"-Buttons einfacher möglich.
Seite 4: Kompatibilität zu e3 und Fazit.

Also unbedingt mal lesen.

Virgin Galactic - VSS Enterprise's first 'captive carry' flight!

rockt:

Virgin Galactic announced today that VSS Enterprise has completed her inaugural captive carry flight from Mojave Air and Spaceport.


- Virgin Galactic - heise - mehr Bilder - YouTube Channel

- Video

Dienstag, 16. März 2010

ServiceLoader für einfache Plugins

Das dynamische nachträgliche Laden von Klassen mittels Javas Reflection ist ziemlich hacky. Der ServiceLoader nimmt einem da glücklicherweise Arbeit ab:

package serviceloader;
public class ServiceProcessor {
public void printServiceImplementations(){
ServiceLoader sl = ServiceLoader.load(Service.class);
int cnt = 0;
System.out.println("found Services:");
for(Service s : sl){
System.out.println("\t* "+s.getMessage());
cnt++;
}
System.out.println(cnt+" Service(s) found");
}

public static void main(String[] args) {
new ServiceProcessor().printServiceImplementations();
}
}

Dieses Beispiel lädt Klassen, die folgendes Interface implementieren:

package serviceloader;
public interface Service {
String getMessage();
}

Die Implementation könnte so aussehen:

package serviceloader;

public class ServiceImplementationOne implements Service{
public String getMessage() {
return this.getClass().getName();
}
}

Die Klassen, die dieses Interface wiederrum implementieren, müssen in einer Datei im Verzeichnis "META-INF/services/" eingetragen werden. Der Dateiname muss dem vollständig qualifizierenden Namen des Interface entsprechen, hier also "Service" (falls das Interface Bestandteil eines Packages ist entsprechend ".Service"). Darin befindet sich zeilenweise eingetragen die vollständigen Klassennamen:

serviceloader.ServiceImplementationOne # default Service
moreServices.ServiceImplementationTwo
moreServices.ServiceImplementationThree

Liegt alles zusammen als Jar-Files in einem Ordner sollten der jvm über die Option "-classpath" die Position der Jar-Files mitgeteilt werden:

java -classpath moreservices.jar:serviceloader.jar serviceloader.ServiceProcessor

Naja, und die Ausgabe sieht dann so aus:

found Services:
* serviceloader.ServiceImplementationOne
* moreservices.ServiceImplementationTwo
* moreservices.ServiceImplementationThree
4 Service(s) found

Ungünstig ist sicherlich, dass neue oder andere Klassen dem ServiceLoader nur über das Textfile im Jar mitgeteilt werden können. Noch flexibler sind die Plugin-Mechanismen von Netbeans oder Eclipse die dann auch Hot-Deployment und Überwachung bieten. Dafür sind diese Mechanismen aber auch ungleich komplexer. Für schnell mal ein bisschen Plugin-Fähigkeit-Gehäcke ist der ServiceLoader eigentlich eine angenehme schlanke Lösung.

Hot Wheels - Custom Motor Cups Challenge

Ok, ich bin kein Freund von viralem Marketing. Aber diese Werbung is iwie cool gestaltet. Das lass ich demnächst auch mal meine Tochter ausprobieren.

Samstag, 13. März 2010

Montag, 8. März 2010

Finde den Fehler

Neulich im StudiVz

gratis, kostenlos, frei, kostenlos
Hmmm... *grübel... Ob ich für die was bezahlen muss?

Indovision - Final Departure

Ein neuer relaxter D&B-Track
- youtube

Aus: "Griechen und die Bild-Zeitung"

"So geht es weiter mit jedem Fakt, der da in die Welt geblasen wird, als neu oder sensationell verkauft, als Grund für die Misere. Es wird das Bild gemalt von einer Nation, die in fauler Gier anstatt zu arbeiten lieber die EU ausgenommen hat und jetzt überversorgt und fett am Strand liegt, während in Deutschland hart gearbeitet wird, um ihnen das Geld hinterher zu werfen."

"Ich kann die Verachtung nicht in Worte fassen, die ich für die Kollegen mit ihren offenen Briefen empfinde, die sich ohne jede Recherche einen demütigenden Witz nach dem anderen aus den Fingern gesaugt haben, die sehenden Auges Vorurteile bis hin zum rassistischen Hass geschürt haben und die dabei nichts erreicht haben als den Zockern in den entsprechenden Investmentbanken noch ein bisschen in die Hände zu spielen."

"Aber ich bin auch Deutscher und Journalist. Und ich schäme mich. Weil ich weiß, wie einfach es gewesen wäre, ein einziges Mal anzurufen." - Original-Artikel

*hng... Hoffentlich kommt mir nmd mehr mit dem Argument, dass es ja soooo lustig sei die Bild mit ihren provozierenden Schlagzeilen zu lesen und man nur deswegen sich als Leser dieses peinlichen Blattes bekennt.

Freitag, 5. März 2010

Massive Attack - splitting the atom

Hey! Warum hat mir niemand gesagt, dass Massive Attack was neues raus gebracht hat:
- youtube

Dienstag, 2. März 2010

denyhosts

  
Mar 2 04:03:54 vlbalabqser sshd[26733]: Invalid user condor from 195.34.107.23
Mar 2 04:03:55 vlbalabqser sshd[26738]: Invalid user globus from 195.34.107.23
Mar 2 04:03:55 vlbalabqser sshd[26743]: Invalid user testing from 195.34.107.23
Mar 2 04:03:57 vlbalabqser sshd[26758]: Invalid user jboss from 195.34.107.23
Mar 2 04:03:58 vlbalabqser sshd[26768]: Invalid user prueba from 195.34.107.23
Mar 2 04:03:58 vlbalabqser sshd[26773]: Invalid user mailtest from 195.34.107.23

So sieht also ein Dictionary Attack auf den ssh-port aus. Bisher erfolglos (hoffe ich). Zukünftig noch schwieriger mit DenyHosts:
  
wget http://ovh.dl.sourceforge.net/project/denyhosts/denyhosts/2.6/DenyHosts-2.6-python2.5.rpm
rpm -i DenyHosts-2.6-python2.5.rpm

etc. (Preventing SSH Dictionary Attacks With DenyHosts). Der Test aus dem internen Netz verlief vielversprechend:

test@192.168.2.200
The authenticity of host '192.168.2.200 (192.168.2.200)' can't be established.
RSA key fingerprint is 57:33:87:d4:6a:e2:7f:c7:14:00:c1:ac:17:a4:71:c6.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.2.200' (RSA) to the list of known hosts.
Password:
Password:
Password:
Permission denied (publickey,keyboard-interactive).
ssh test1@192.168.2.200
Password:
Password:
Password:
Permission denied (publickey,keyboard-interactive).
ssh test2@192.168.2.200
ssh_exchange_identification: Connection closed by remote host

Und auf dem Server war zu lesen:

cat /etc/hosts.deny

# DenyHosts: Tue Mar 2 19:28:25 2010 | sshd: 192.168.2.49
sshd: 192.168.2.49


Works like magic...

Montag, 1. März 2010

bop - nothing makes any sense (Blu Mar Ten Remix)

Endlich draussen, auf diesen Track warte ich schon seit Dezember. Mein erster D&B-Favorit dieses Jahr. Der hat irgendetwas oldstyle-artiges was ich irgendwie absolut großartig finde.
- Youtube