Thursday, June 18, 2009

Mechanismen der Macht

Orwells 1984 hatte einen nachhaltigen Einfluss auf mich. Nicht nur zeigte es für mich den Überwachungsstaat und dessen schreckliche Auswirkungen auf den Menschen, sondern auch zeigte mir dieses Buch die Mechanismen der Macht. Kombiniert mit dem Lesen von Baudrillards >>La Société de consommation<< zeigt es mir, dass eine Schnittmenge in jeder modernen Gesellschaft existiert, welche die verheerenden negativen Symptome einer gesellschaftlichen Krankheit erklärt. >>Der Eindimensionale Mensch<< von Marcuse zeigt eine Rhetorik der Macht auf, die Widersprüche allein durch ihre reine Artikulation verbirgt oder unmöglich macht. Der Homo-Oeconomicus ist ein Modell der Wirtschaftswissenschaften, welches die Realität nicht widerspiegelt, und dies ist auch nicht die Intention dieses Modells. Das Fragen dieser Art in der Zeit der Krise aktuell sind, ist klar. Wie viel Staat ist nötig? Wie frei können Märkte sein? Wie funktioniert der Transformationsprozess einer Unternehmung, wenn keine Forderungen von außen bestehen, und somit der interne Restrukturierungsprozess keine Motivatoren am Ansatz der Unternehmenswertsteigerung durch Gewinnmaximierung besteht. Durch Eingreifen des Staates, wie Subventionen von Automobilkonzernen oder eine Anhebung des Preises für Arbeitskraft durch Mindestlöhne entsteht ein Marktungleichgewicht. Die Preisfindung lässt sich nun nicht mehr durch äußere Faktoren bestreiten. Funktionssignatur Angebot(Menge: Stück): Preis; Funktionssignatur Nachfrage(Menge: Stück): Preis; Im Beispiel ist das Marktgleichtgewicht bei 2,5 Arbeitsstunden gegeben, da dies dem Schnittpunkt beider Achsen entspricht. Wird nun der Preis für Arbeit künstlich angehoben, dann entspricht dies einer Veränderung der Funktion. Der neue Schnittpunkt liegt dann bei 2 Arbeitsstunden. Durch die künstliche Anhebung wurde also Arbeit vernichtet. Dies ist ein Aspekt, ein sehr simples Modell, welches man am Anfang des Studiums oder auch schon im Schulunterricht kennen lernt. Die Erwähnung ist, trotz der eindeutigen Vereinfachung, nötig, da es die Grundlage der Begründung gegen die Einführung eines Mindestlohns in Deutschland ist. Und das schlagende Argument hierbei ist schwer zu negieren. Die Hauptaussage ist, dass bei steigenden Preisen, die sich bei der künstlichen Erhöhung einstellen, mit einer sinkenden Nachfrage zu rechnen ist. Dies trifft vor allem für Menschen zu, welche im Niedriglohnsegment liegen. Das heißt konkret, dass die Menschen die Preise für viele Produkte erhöhen. Dies führt einerseits zu einer Verteilung der Vermögensverhältnisse, aber auch zu einer Belastung der Haushalte. Wenn der Sinn eines Mindestlohnes also die Überzeugung ist, dass die Machtverteilung gerechter gestaltet ist, durch mehr Geld in den Kassen der ärmeren Bevölkerungsschicht, welche zu wenig zum Überleben hat, dann ist das Mittel des Mindestlohnes ineffektiv, da es gleichermaßen alle Bevölkerungsschichten betrifft. Wenn wir zum Beispiel eine Arbeit mit niedrigem Lohn, wie der Frisör, betrachten, dann wird klar, dass ein Mindestlohn jeden Frisörbesuch steigert, nicht nur der reicheren Bevölkerung. Jedoch würde das Argument der sinkenden Nachfrage nicht bei Aufgaben des Staates funktionieren. Wenn durch Steuern finanzierte Arbeitsplätze geschaffen werden, die ein gewisses Qualifizierungsniveau fördern, dann kann so ein viel passenderes Mittel gefunden werden. Gleichzeitig würde sich das Angebot gering qualifizierter Kräfte auf dem Arbeitsmarkt verringern und somit ein höherer Lohn für dieses Segment Resultat sein. Ein Gegenargument hierzu ist die ungleichmäßige Förderung von Geringqualifizierten. Dies muss aber nicht sein. So kann die Ressource Arbeit gezielt genutzt werden, um höhere Qualifikation aufzubauen und somit kann eine Politik der Ordnung hergestellt werden, die eine Richtung für die freiheitlichen Kräfte vorgibt.

Design patterns

Wow, one week without real Internet-access and straight thinking returned back to me. Sometimes I have the feeling, that the internet produces a real short concentration-time. I can't stay concentrated on one subject for a long time if I have Internet-access. I am in the wake of searching a place to live. After all my new job is in a different city. And driving the whole day long with the subway, I could observe myself to fall back into this state of deep thinking that is normally the result of long learning sessions in the library -- a state of meditation. I think most people forget, that there is not just the Zazen, the sitting meditation, but also Kinhin, the walking -- and searching for a new flat share is truely is. So I was thinking lately a lot about automata and computational models. This is a subject of great interest for me, because the depth of methods provided at university is not that great for modelling complex systems. There are subsubjects in here, like do I accept UML as the lingua franca of modelling. The obnoxious EPCs, ERDs are stuck into my head. But the real subject of this blog-entry is not the shameful being of the Internet, but design patterns. Design patterns are well-known in the developer community, but there is a certain argument, that they are just poor hacks for a less powerful language than say LISP.
Many patterns form a language
This is the answer. The problem here is that many people see this from a too technical perspective. But CA was thinking about something else. The pattern is a means for formulating an idea. And after you have collected a lot of patterns it is natural that they are implemented as generic algorithms and such. I am very interested in travelling so this comes out naturally for me. Imagine the following situation: You visit a new country, say France. And you don't know the language, yet. So you use patterns. A pattern is the triumphirat of a problem, the context and the solution. Given the problem of starvation, you want to eat something i.e. the solution. The context is that you are a stranger with no money but good looking. I now will introduce the pattern Fancy someone for a meal. And now you can go on and describe an algorithm, a step-by-step instruction how to seduce someone in this special case. The next thing could be that you want to sleep in this country. Now it is possible to define the Fancy someone for a place to sleep. This could be a whole language for your state machine:
-- S = { hungry+tired, full+tired, hungry+awake, full+awake }
-- E = { Fancy_someone_for_a_meal,
         Fancy_someone_for_a_place_to_sleep }
-- T = { (hungry+tired X Fancy_someone_for_a_meal -> full+tired),
         (hungry+tired X Fancy_someone_for_a_meal -> hungry+tired),
         (full+tired X Fancy_someone_for_a_place_to_sleep
          -> hungry+tired),
         (full+tired X Fancy_someone_for_a_place_to_sleep
          -> hungry+awake),
         (full+tired X Fancy_someone_for_a_place_to_sleep
          -> hungry+tired), 
         ...
         handwaving
         ... }
A pattern is a relation putting a new dimension to algorithms and helps building a language. Quicksort for example is not the fastest algorithm for every case in every circumstance. To document this you can use patterns. Now my coffee is finished. Back to work.

Sunday, May 31, 2009

LOOP

At the moment I try to practice my skills in PL/SQL. Like these old Chinese monks I believe that you can only be a master, if you really practice steadily. And while learning I discovered that the LOOP statement in PL/SQL is something really cool, because it would substitute the always famous
while(true):
  if expr:
    break
  do_smth
for implementing the sentinel. For the sake of this blog I implemented this thing :)
class List:
    def __init__(self, node, next): self.node, self.next = node, next

class Block:
    def __init__(self, xs): self.xs = xs

    def body(self):
        print("%d" % self.xs.node)
        self.xs = self.xs.next

    def cond(self):
        return False if self.xs == None else True

class Loop:
    def __init__(self, block):
        if block.cond():
            block.body()
            Loop(block)

Loop(Block(List(23, List(42, List(5, None)))))

Saturday, May 30, 2009

C♯ or Implement That Stack

A friend of mine reminded me of the importance to implement the stack ADT for the sake of learning a new programming language. CS really feels strange to me, so I implemented the stack. To test the program, I implemented a small postfix-notation parser -- like 1 1 + 2 * = 4, too.
using System;
using System.Collections;

public class Stack 
{
  ArrayList xs;
  
  public Stack()
  {
    xs = null;
  }
  
  bool empty()
  {
    return (xs == null);
  }

  void push(int x)
  {
    if (empty() == true) {
      xs = new ArrayList();
    }
    xs.Add(x);
    Console.WriteLine("PUSH " + x);
  }
  
  int pop()
  {
    Console.WriteLine("POP " + (int) xs[xs.Count - 1]);
    return (int) xs[xs.Count - 1];
  }

  private static int ctoi(char c)
  {
    return int.Parse(c.ToString());
  }

  private static bool number(char c)
  {
    try {
      ctoi(c);
      return true;
    } catch (FormatException f) {
      return false;
    }
  }

  public static void Main(string[] args)
  {
    string cs = args[0];
    Stack s = new Stack();

    for (int i = 0; i < cs.Length; i++) {
      switch (cs[i]) {
      case '+':
        s.push(s.pop() + s.pop());
        break;
      case '*':
        s.push(s.pop() * s.pop());
        break;
      case ' ':
        break;
      default:
        s.push(ctoi(cs[i]));
        i++;
        while (number(cs[i])) {
          s.push(10 * s.pop() + ctoi(cs[i]));
          i++;
        }
        break;
      }
    }
    Console.WriteLine(s.pop());
  }
}

Friday, May 8, 2009

la und vancouver

nach dem schoenen hostel mit meerblick in LA, ist es einfach schrecklich schon wieder in so ein tolles abzusteigen. backpackerurlaub, anyone? morgen geht es raus into the wild nach clearwater, bc. canoefahren ... sunset in LA war mal ganz anders im vergleich zu mexiko. die staaten gefallen mir schon sehr. vor allem, weil man da kulinarisch nichts erklaeren braucht. an jeder ecke schoene restaurants mit vegan stuff. natuerlich die sehr netten leute gibt es nur in mexiko. der taxifahrer hat uns ein abschiedsgeschenk uebereicht. aber in LA gibt es eben die ganze filmgeschichte und so viele dinge, die ich kulturell liebe.

Sunday, May 3, 2009

Mexiko -- Noch drei Tage

... sind es bis zum naechsten Meilenstein in LA. Heute war der Tag gepraegt von unmotivierten Nachtfahrten und gelegentlichen Zwischenstopps in der Wueste. Acapulco hatte sich nicht als so traumhaft schoen herausgestellt, besonders in Anbetracht der letzen Erlebnisse am Strand von Zipolite. Bier trinken, benommen von der Feuchtigkeit und Hitze durch das Meer watend, durch den Nebel aus der gespeicherter Waerme blickend.

Thursday, April 23, 2009

Mexiko Tage 1--2

Gegen Abend sind wir in Cancun angekommen. Der Flug stellte sich als furchtbar lang dar, wurde aber durch die Vielzahl an koestlich portionierten Speisen verfeinert. Es gab sogar immer mal wieder Tee, aber zum Earl Grey natuerlich keine Zitrone. Nur durch solche Zeiten kommt man dazu die komplette aktuelle Ausgabe der FAZ zu lesen und dieses Yelle-Album endlich entnervt durchzuhoeren. Die Schreckenseiten des Sitzens sind natuerlich ein entspannter Ruecken, der es erst einmal durch eine Vielzahl von Massagen, auf einen ordentliche Stand zu bringen ist. Das Wetter war schon am ersten Tag so klischeehaft schoen, dass meine Bekanntschaft mit dem mexikanischen Verkehr nur ebenso aufallen konnte. Es ist so viel mehr mein Fahrstil -- chaotisch, ohne Organisation und leicht verrueckt. Die Nacht haben wir dann am Strand verbracht, mit einem schoenen Sonnenaufgang am Morgen. Der Jet-Lag hat es wirklich geschafft mich dazu zu bringen gegen vier Uhr aufzuwachen, so dass wir gegen acht Uhr an zwei verschiedenen Straenden waren. Kaese in Form eines Stueckes Kots rundete die morgendliche Erfahrung ab. Das Brot war, wie es sich fuer solch frueh aufstehende Menschen gehoert, gehoerig suess. Oh und heute Mittag gab es ein Brot mit Nuessen in der Mitte. Dazu die, wie bekannt, extraordinairen Chilis. Diese regten in mir auch den Verdacht des Hamsterns der Bewohner. Im Supermarkt begegneten uns Menschen mit mehreren Tonnen Kohl, oder eben Chilis. Sonderbar dieses kleine Volk, denn genauso verhielt es sich mit kleinen T-Shirts, die auch in Unmengen gekauft wurden. Mit dem Automobil ging es weiter Richtung Merida, mit Zwischenstopp an der Suedkueste. Dabei hatten wir uns tuechtig verfahren. Schoen anzusehen sind die Bauten der Ureinwohner direkt an der wunderbaren Landstrasse. Waelder werden in wilder Landschaft einfach gerodet. Alles, was zwei Jahre besetzt wird gehoert den Menschen. Und jetzt Fiesta am Strand.