Back after a Break

I didn’t write anything for quite a while. But now I am back ­čÖé

My break had two reasons. The really good one is that I became father of a little daughter named Thalea in the mid of July. Naturally I hope for the next talent in computer science but who knows. If she is only a little bit like her mother she will absolutely have her own head and push her own ideas!

If you hope that I will publish family pictures regularly now I have to disappoint you. Family business stays private. The next public pictures of Thalea you can see perhaps in her own blog one day. ­čśë

The second reason for not publishing articles was the deceasing of my beloved IBM Thinkpad Tablet. I think the heat and moisture of Hainan have been too much for it and when the fan finally gave up …

As a more suitable solution for the Hainan weather conditions I bought a desktop computer with many fans ­čśë and installed Linux in form of the Fedora 11 distro on it. Perhaps installed is said too much. After over a week of installation I am still struggling to get all components supported and fully up and running. Hope that one day I manage to have installed this cool machine as it should be, including accelerated graphics and dolby surround sound.

Nevertheless I will try to revive the laptop. The tablet functionality is simply cool to manipulate images.

All Ruby

Ruby Objects, Class-Objects and MetaClass-Objects

After a while of evaluation I started over programming mainly in Ruby about two month ago.

Long time ago I learned for a short while object orientation programming in Smalltalk-80 but soon started to use C++, first with the AT&T preprocessor and later with the gcc. Since 1998 I am programming Java. All these years have left me with a certain idea of practical object orientation which was not really what I learned from Smalltalk-80.

But Ruby changed things a lot as I have to admit. In Ruby everything is an object and Ruby is interpreted like Smalltalk! What are the consequences. This is what my post will try to figure out.

From Ruby Core – Class documentation:

Classes in Ruby are first-class objectsÔÇöeach is an instance of class Class.

A big help for understanding Ruby Objects has been the Pickaxe Book.

In Ruby everything is an object. This includes as well Integers as Classes. So what happens if you write something like:

  a = "test1"
  b = "test2"

You get references a and b to your Objects a and b of class String which is an object too and has the class object Object as superclass. So far the only difference is that the Classes are realized as objects themselves.

But you can do things in Ruby which you cannot do in C++ or Java. For example you can add a method only to one object like:

  c = 'test'
  class < < c
    def double
      self + self

This piece of code generates a virtual class exclusively for the object c.

What happens if you try the same for integers? If you try the same for integers it should look like object b in this graph:

The code for this would be:

  b = 7
  class < < b
    def double
      self + self
  TypeError: no virtual class for Fixnum

So what is this? I thought that all objects can have virtual (or singleton) classes which hold the methods specially attached to this object?

The solution is quite simple. There are special classes like Fixnum which are called eigenclasses. Instead of a reference to an object these classes return the class object itself (for example as parameter for a method call). Eigenclass objects only have one single Object for example for each Fixnum value. This is why it is not possible to create singleton classes for eigenclass objects.

But what you can do is to extend an eigenclass with your own attributes like:

  class Fixnum
    attr_accessor :name
  b = 5
  => Fixnum 'five'
  => "five"

The next thing I want to do is to define a class variable. I found a nice article about class variables in Ruby on John Nunemakers blog. At first I was really astonished about this:

  class Polygon
    @@sides = 10
    def self.sides
  puts Polygon.sides # => 10

This is a Polygon class with a class variable which holds the number of sides of the Polygon and a getter class method. Now we create a subclass which inherits from Polygon and holds its own number of sides:

  class Triangle < Polygon
    @@sides = 3
  puts Triangle.sides # => 3
  puts Polygon.sides # => 3

What happens here? The Polygon sides have been set to 10 originally.

To understand this behavior you must have an understanding about the Ruby Meta-class and look-up mechanism for methods and variables. When you create a class variable or method Ruby actually creates the following Meta-Class for you:

The Meta-Class hold the Class level extensions of your class. If you subclass Polygon now you have the following image:

In Ruby everything, including class definitions, are executable code. The assignment to the class variable @@sides in the class Triangle leads the Ruby interpreter to search for an existing class variable @@sides which he finds in the Meta-Class of the superclass Polygon first and makes an assignment to this variable instead of creating a new meta-Class with the same variable for Triangle.

So what can we do if we want to have a variable for the sides of our class which is unique to the according class? As the class itself is an object you can assign a variable to the class object

You can do this with the following code:

  class Polygon
    class < < self
      attr_accessor :sides

for the Class Polygon and the same for class Triangle. Be aware that you have to assign the accessors to the class object and not to the object itself.

I hope that my explanations are correct and can help other newbies in Ruby to understand the Class handling a little bit.

Around the World China

Tropical Thunderstorms

When I arrived in Haikou a year ago my only experience with a tropical region has been 6 month on Martinique between my studies in physics and the start of my computer science studies. On Martinique the rainy season is about 3 month and the rest of the year there is more or less sunshine.

The September in Haikou last year has been nice even though it was quite warm with around 38┬░C. In October the Taifun season began and I can tell you that we got drown in our apartment in the fourth floor. The wind pressed the gigantic amount of water which has been carried along with the Taifun directly through the windows into the apartment. This rainy period continued more or less until mid December. The rest of December and January have been dry but unusual cold, specially because there is no heating in the apartment.

In February it started to rain again. First only sometimes and after a while more and more. Since two month now we have temperatures above 30┬░C and about one thunderstorm every day. The record has been three thunderstorms in a row during one afternoon. When you are outside in such a storm, there is no protection. When you wear a slicker you are wet from your own sweat, otherwise from the rain. The water in the road can easily raise to a torrent of more than 10cm depth. There is no sewer which can take that much water in such a short time even though the city of Haikou is cleaning them all the time. A gaze through the window shows me grey in grey during such a storm and I can hardly see the neighbour building which is only about 30m away.

I never imagined that on a tropical island like Hainan it could be more rainy than in northern Germany where I come from and which I once left because of the “bad weather”. I think life is really funny and we should enjoy this fact much more ! ­čśë

Around the World China Misc Politics

Joke about EU request to stop internet filtering in China

This can only be a political joke!

I was pointed by the german and Die Neuen Menschen blogs to an article you can read in the news at N24 or Deutschlandradio about a statement from Viviane Reding, commissioner for media of the European Union, about the chinese internet filters.

“Das Blockieren oder Filtern bestimmter Internet-Inhalte ist f├╝r die Europ├Ąische Union v├Âllig inakzeptabel.”

or in english translation:

“The blocking or filtering of certain internet content is completely inacceptable for the European Union.”

I mean the enforced distribution of the “Green Dam – Youth Escort” software is discussed in China as well and the installation is not mandatory any more as stated by the chinese government.

But I would suggest the European Union to first stop all internet filtering within the Union before pointing out that they think that internet filtering is inacceptable !!!

The internet citizens in Europe are laughing about this sentence. ­čśÇ

Germany Politics

Politik der verbrannten Erde

Was sich derzeit in der deutschen Politik so abspielt l├Ą├čt sich nur noch schwer mit einem Generationenkonflikt erkl├Ąren. Ich m├Âchte hier nicht noch einmal auf die Argumente gegen eine Vorratsdatenspeicherung oder eine Netzzensur eingehen wie sie in der letzten Zeit beschlossen wurden.

Was mich erschreckt hat ist wie die regierenden Politiker mit den jungen Mitb├╝rgern in Deutschland umgehen. Wahrscheinlich mit Blick auf die Demographie, die best├Ątigt, da├č das Gros der W├Ąhler bereits genauso ├╝beraltert ist wie die Kader der regierenden Politiker, wurden die Mitglieder der oppositionellen Bewegung als Sympatisanten wenn nicht gar selbst als Kindersch├Ąnder dargestellt. Die jungen Menschen die mehr als berechtigte Einwende gegen die Zensurgesetze haben und diese auch n├╝chtern argumentativ untermauert konnten, wurden wie kleine Kindern abgekanzelt und mit leeren Verbalien abgespeist. In der ganzen Debatte um das neue Internet-Zensur-Gesetz habe ich von keinem der bef├╝rwortenden Politiker geh├Ârt das er einmal direkt auf die Argumente der Gesetzesgegner eingegangen ist oder diese gar wiederlegen konnte.

Die gr├Â├čte Frechheit habe ich dann heute in einem Interview in der Zeit-Online mit Frau von der Laien und Franziska Heine gelesen.

Heine: … Die Unterzeichner der Petition haben gesehen, wie Entscheidungen in der Politik getroffen werden – und das wird sie nachhaltig pr├Ągen.

von der Leyen: Das ist doch etwas Tolles

Heine: F├╝r uns war das nicht so toll.

von der Leyen: Das ist lebendige Demokratie.
… Nat├╝rlich kann Frustration entstehen, wenn man merkt, dass da auch andere demokratische Prozesse laufen, zum Beispiel Ausschussberatungen, in denen gew├Ąhlte Vertreter Entscheidungen f├Ąllen, …

Ich m├Âchte einmal fragen, was soll daran toll sein wenn einem auf den Kopf gekackt wird? Denn nichts anderes haben die Politiker gerade mit den meist j├╝ngeren Gegnern des Zensurgesetzes gemacht. Gibt den Politikern der Fakt das sie einmal gew├Ąhlt wurden tats├Ąchlich f├╝r die gesamte Legislaturperiode das Recht die Bev├Âlkerung bei den Entscheidungen die sie treffen total zu ignorieren? Na, da haben die jungen Leute ja wirklich den politischen Umgang in einer Demokratie gelernt.

Und dann wird da auch noch ganz frech gelogen:

von der Leyen: … Diese Daten werden jetzt sofort gel├Âscht. So steht es im Gesetz.

Hat Frau von der Laien das Gesetz zur Vorratsdatenspeicherung wieder abgeschafft? Also stehen die Daten ohnehin bereits gespeichert zur Verf├╝gung und m├╝ssen “bei Bedarf” nur noch angefordert werden.

Ich w├╝rde diese Art Politik zu betreiben als Politik der verbrannten Erde bezeichnen. Die Kontrollmechanismen werden heute unter Beteuerung sie nie zu missbrauchen eingef├╝hrt, populistisch ausgeschlachtet und gepusht mit dem Killer-Argument gegen Kindesmissbrauch zu k├Ąmpfen und wir alle haben dann in Zukunft damit zu leben. Diese Zukunft kann f├╝r einen jungen Menschen noch ziehmlich lange dauern! Aber was interessiert das schon einen Politiker der bereits an der Grenze des Rentenalters ist (oder bereits dar├╝ber hinaus) und noch ein letztes Mal in den Bundestag gew├Ąhlt werden m├Âchte!

Ein guter Artikel ├╝ber die Situation auf Spiegel-Online. Ich denke die Politiker, die die ganze Zeit f├Ąlschlicher Weise behaupteten das Internet w├Ąre ein Rechtsfreier Raum, werden in Zukunft feststellen m├╝ssen das die Proteste gegen ihre Politik nicht nur auf das Internet beschr├Ąnkt sind sondern direkte Auswirkungen auf ihre Wiederwahl haben werden weil dort wirklich Menschen im richtigen Leben dahinter stehen!

Hier noch ein sehr interessanter Artikel auf Heise-Online ├╝ber den Umfang der Informationen die bei der Vorratsdatenspeicherung gesammelt werden. Im Internet sind die B├╝rger l├Ąngst transparent! Wann kommt die Forderung das sie dies im Leben ausserhalb des Internet ebenfalls werden m├╝ssen?

Germany Politics

SPD und CDU wenden sich gegen ihre jungen W├Ąhler

Eigentlich hatte ich meinen Blog begonnen weil ich meine Freunde und Verwandte in der ganzen Welt ein wenig auf dem Laufenden halten wollte wie es mir in China so ergeht und sie mit Bildern und Geschichten vom anderen Ende der Welt versorgen wollte.

Leider haben die aktuellen politischen Ereignisse aus Deutschland mich eingeholt und ich bin fast Sprachlos was die grosse Koalition da gerade anrichtet. Ich hatte diese Koalition sogar einmal bef├╝rwortet da sie in meinen Augen damals die einzige reelle Chance darstellte in dieser sich gegenseitig blockierenden politischen Landschaft noch einen Schritt nach vorne zu tun und gemeinsam die wirklich notwendigen Reformen anzustossen. Stattdessen ist der Kleinkrieg hinter dem Vorhang weitergegangen und die Ergebnisse dieser Politik sind eher erschreckend als positiv.

Es war in meinen Augen schon immer etwas zweifelhaft wenn Menschen pl├Âtzlich Ressorts regieren von denen sie ├╝berhaupt nichts verstehen. Da gab es Verkehrminister die nicht einmal einen F├╝hrerschein besa├čen, Lehrer die pl├Âtzlich Finanzminister wurden und ├Ąhnliche Dinge. Trotzdem haben sich diese Politiker in meinen Augen noch wacker geschlagen da sie auf ihre, auf diesem Gebiet spezialisierten, Berater geh├Ârt haben.

Diese Legislaturperiode ist allerdings gekennzeichnet von einer absoluten Sinnfreiheit, besonders der Massnahmen um das Internet. Da brockt uns eine Justizministerin die Vorratsdatenspeicherung ein die nicht einmal wei├č was ein Browser ist und die Familienministerin besiegelt dieses Tun dann durch die Einrichtung einer Zensur Infrastruktur f├╝r das Internet. Dem Wirtschaftsminister, dem eigentlich bei diesem Tun die Haare zu Berge stehen m├╝ssten, begreift scheinbar die langfristigen Folgen dieser Ma├čnahmen ebensowenig wie die meinsten Mitglieder des Bundestages und unterst├╝tzt diesen Unsinn auch noch.

Die Politiker scheinen zu glauben das eine Zensur des Internet zu Stabilit├Ąt f├╝hrt, wobei sie sich wahrscheinlich die pl├Âtzliche Einf├╝hrung von Recht und Ordnung im Internet darunter vorstellen. Die Geschichte sollte ihnen allerdings gezeigt habe das solche Ma├čnahmen im besten Fall zur Stagnation f├╝hren. Wenn sie dies als Stabilit├Ąt definieren haben sie nat├╝rlich Recht. In einer sich rasch vorw├Ąrts bewegenden Welt bedeutet Stagnation allerdings stetiger R├╝ckschritt!

Wer glaubt das eine Zensur des Internet keinen Einfluss auf die Wirtschaft haben wird, der glaubt wahrscheinlich auch noch an den Weihnachtsmann. Zumindest auf die Software Industrie wird diese Ma├čnahme einen Einflu├č haben, wie mir ein Jahr in China deutlich gemacht habt. Die vorderste Front in Technologien wird heutzutage in Blogs und Foren diskutiert und allenfalls noch in Wiki’s festgehalten. Von China aus habe ich t├Ąglich mit dem Kollateralschaden der Internetzensur zu k├Ąmpfen. Ungef├Ąhr jeder zweite Blog und Forum sind gesperrt und wenn ich an die Informationen heran kommen m├Âchte muss ich erst einige technische Tricks nutzen. Geht man nach den Politikern hier in China suche ich anscheinend permanent nach Porno Inhalten oder extremistischen politischen Ansichten! Wie die praktischen Auswirkungen sind kann jeder sehen der die Analysen der “Green Dam” Filter Software der Firma Jinhui gelesen hat! Die Programmierer dieser Firma sind in die typischen Fallen geraten die schon seit Jahren in Foren und Blogs diskutiert werden und inzwischen als nicht nur ├╝berholte sondern sogar gef├Ąhrliche Programmiertechniken angesehen werden.

Und der Unsinn geht sogar noch weiter! Nat├╝rlich sind die n├Ąchsten Schritte bereits Forderungen nach Zensur von Gewaltspielen oder das die Netzsperren Europaweit eingef├╝hrt werden. Gleichzeitig stellen einige Politiker einmal deutlich klar das sie unf├Ąhig zu seinen scheinen logisch zu denken und von sich ausgehend dies scheinbar auch bei ihren W├Ąhlern vermuten.

Besonders geschockt hat mich allerdings das Verhalten der SPD die ich seit ├╝ber 20 Jahren w├Ąhle. Ich habe mich schon gefragt wie es mit dem rechtstaatlichen Verst├Ąndnis innerhalb der SPD aussieht als die Anzeige gegen Herrn Tauss erhoben wurde. Eigentlich gilt in unserem Rechtstaat die Unschuldsvermutung. Davon war allerdings bei den Genossen des Herrn Tauss in der SPD wenig zu sehen. Und dann diese Katastrophe mit der Vorratsdatenspeicherung und der Internetzensur.

Ich muss gestehen, auch wenn ich nach wie vor nicht weiss wem ich im September noch guten Gewissens meine Stimme geben kann, f├╝r die SPD werde ich nach ├╝ber 20 Jahren diesmal nicht stimmen.

Bewundernswert ist f├╝r mich die junge Generation von Demokraten die jetzt die Konsequenzen zieht und der SPD den R├╝cken kehrt wie Torben Friedrich und Julia Reda. Aber auch eingefleischten Demokraten wie J├Ârg Kantel kehren der SPD gerade den R├╝cken. Da verbleibt eigentlich kaum technischer Sachverstand in dieser Partei das diese noch zukunftsorientierte Politik betreiben kann.

Wie eigentlich mit dem Thema Kinderpornographie umgegangen werden sollte kann sich Frau von der Laien vielleicht einmal in Italien beispielhaft anschauen. Dort wird etwas dagegen getan anstatt den Mantel des Schweigens ├╝ber diese absheulichen Verbrechen zu h├Ąngen. Bezeichnender Weise scheint ein nicht unerheblicher Teil des strafbaren Materials von einem deutschen Server herunter geladen worden zu sein. Wo waren Frau Zypries und Frau von der Laien denn da wieder? Im Wahlkampf?

Hier noch ein kleiner Ausblick drauf was als n├Ąchstes aus dem Internet gefiltert wird.

Der n├Ąchste Austritt aus der SPD, Manuela Schauerhammer.

Solange es Menschen gibt die erkennen das die Politik der gro├čen Parteien mit einem demokratischen Verst├Ąndnis l├Ąngst nicht mehr vereinbar ist und daraus die Konsequenzen ziehen gebe ich die Hoffnung nicht auf! Die Politiker in Deutschland, die auf so einem hohen moralischen Ross gegen├╝ber den politischen Systemen hier in Asien sitzen, sind gerade dabei diese System auf der ├Ąu├čerst rechten Spur zu ├╝berholen.

Around the World USA

Verdict in Capitol Records v. Thomas-Rasset

In the second trial against Jammie Thomas-Rasset, mother of four children, the jury awarded the recording companies $1.92 million, $80,000 per uploaded song for 24 songs.

Naturally the representative of the recording industry from the RIAA was happy about the hight of the penalty and took this as a sign that the court took the violation of copyrights as serious as the recording industry.

If they would have punished her for all 1,700 songs found on her harddrive the penalty would have been $136,000,000 ­čśë

I had to think a little bit about this verdict and started to calculate my expenses into music and film during the last 25 years. I could only make an estimation but I had around 150 music discs before I started to collect my about 1,200 CDs and around 200 VHS films and several hundered DVDs. Lets say a total value of around $28,000 in 25 years, not counting about 30 to 40 films I watch in a cinema every year or at least over 100 concerts I have seen.

I always thought that a penalty has to be spoken according to the commensurability of the delict but in this case I cannot find any proportions which makes me believe that behind the curtains there might be more agreement between the plaintiffs, the jury and the judge than obvious.

I think that this verdict is a slap into the face of everybody who supported the recording industry during the last 20-30 years by legally buying records so that they could become that powerful.

My reaction to this will be that I have to think about my collecting habits.

Misc Politics

Practical Experience with Internet Censorship

As stated before I am a german computer scientist living in China at the moment. Therefore I am especially ashamed about the current ruling parties in germany who just agreed to establish internet censorship against all expert knowledge brought into the discussion and against a huge part of the internet citizens which stood up against this bill and filed an e-petition with the biggest attendance ever for a german e-petition.

I would like to invite the german politicians to come to China to practically see how internet censorship is working. They can go to the chinese government if they want to see what it costs to maintain the Chinese Firewall and then they can come to me when they want to see how much it costs to dig a hole into it because that’s my daily business. As collateral damage of the aggressive censorship many pure development sites which I need for my programming are blocked, like, …

I have a proxy Addon installed in my Firefox and it takes me exactly 2 seconds to view the blocked site through the proxy. Every now and then I have to search for a new proxy because the government found and blocked the one I am using but there are so many proxy lists in the internet that you can easily google for them, test for 2 minutes and have a new running proxy.

From my side it is annoying to see so many programming blogs and websites blocked but the total additional costs in a month may come up to be around 1 hour.

What does your internet censorship cost during a month? Can you really tell your electors that they have to pay millions of Euros every month for an infrastructure which can be bypassed within seconds and they will reelect you? Specially in times of a global financial crisis ???

Misc Politics

Serious Security Holes in Green Dam Software discovered

The University of Michigan has analysed the Green Dam – Youth Escort Software which will be istalled on every chinese Computer due to an policy from the Chinese Government.

It is very doubtful that this is in the intentions of the Chinese Government to expose chinese computers security in this way. This can happen only because of the secrecy in which such projects are accomplished in China where no additional control from independant organisations is possible.

If you read the article of the University of Michigan carefully you have to stumble over the following:

We examined the Green Dam software and found that it contains serious security vulnerabilities due to programming errors.

Green Dam makes frequent use of unsafe and outdated programming practices that likely introduce numerous other vulnerabilities.

In my eyes this shows one of the pricipal problems in the chinese software industry. The newest and most up-to-date programming information nowadays is communicated in blogs and wiki’s and spread by services like twitter and RSS Feeds. But these are the most controlled and blocked services and websites in China. For me as computer scientist it is an unsustainable situation when you want to do programming work in China and have to fight for each bit of up-to-date information because programming blogs and websites are blocked and you always have to find a way around to get to the important content. There must be a measurable collateral damage in the software industry in China from this blocking politics.

Misc Politics

The Green Dam – Youth Escort

As you can read on Rebecca MacKinnon’s blog the chinese Government published a new directive according to which all PC’s sold in China have to come with the pre-installed internet filtering software “Green Dam – Youth Escort” from Jinhui Corp.. The original document can be downloaded at here.

Whereas the Chinese Government insists that the software is only for blocking porn web content and first tests seemed to confirm this statement, detailed analysis uncovered that the Green Dam software also blocks dangerous political content. Additionally it seems that the software sends reports back to Jinhui Corp. which leaves the question open that if the software’s intention is only to secure the youth from unintentional surfing to porn websites, why do they need to send reports about this back to the government? Do they really want to criminalize youth which wants to see sexual content? Or is the intention more to control who wants to inform himself about dangerous political content?

When you listen to our politician all they do seem to be for our best. Why does it always turn out that what they say is completely different from what they intend to do which you find out once you make a detailed analysis about what they are really doing?