Saturday, April 18, 2009

Nord-Amerika

Das scheint eine gute Idee für die Reise zu sein: -- Cancún: 22.04–24.04 -- Mérida: 25.04–26.04 -- Oaxaca: 27.04 -- Acapulco: 28.04–01.05 -- Mexico City: 02.05–04.05 -- LA: 04.05 -- Vancouver-Area: 07.05–16.05

Monday, April 13, 2009

Kinetik als Widerstand

Nachdem du einmal angefangen hast, die Processing-Kunstwerke zu bestaunen, ist es schwer nicht mehr in Mustern, Animationen – der Bewegung – zu denken. So denke ich nicht, dass es möglich ist, wieder in eine Zeit der Statik, der Bewegungslosigkeit, zurückzukehren. In meinem Studium viel mir auf, dass fortwährend ein Trend zur Begegnung mit der Dynamik in jedem mir bekannten Zweig der Wissenschaft stattfindet. In der Programmierung werden zumeist vorerst Konstanten festgelegt, diese werden mit Fortschreiten des Entwicklungszykluses zu Variablen. Das Selbe gilt für die Märkte in den makroökonomischen Modellen. Bei einfachen Simulationen werden approximative Konstanten gesetzt, die nicht die komplette Wirklichkeit widerspiegeln, welche aber ein Modell ermöglichen, mit dem sich Simulationen ermöglichen lassen. Und so behaupte ich, dass jede Zeichnung ein Modell ist. Unsere Wirklichkeit, abgebildet in einer zwei-dimensionalen Darstellung, beliebig parallelisiert in Dimensionen, die das Sichtbare verlassen. Dadurch, dass Bewegung immer mehr Bestandteil unseres Denkens wird, entgegen von Marx glaube ich nicht an eine Entfremdung der Arbeit des Menschen, wird auch die geheime, im mystischen Sinne, Reflexion zu einem bewegten Werk. Im Film herrscht teilweise die Stimmung der Statik vor. Storyboards zwingen das Bild in eine unnatürliche Starre. Shoots werden »photographiert«. Es ist, als würde der Film Probleme haben, sich als selbständiges Medium durchsetzen zu können. Gerade um die Dynamik in jedem Aspekt einfangen zu können, muss dieser Wandel geschehen. Auch Präsentationen werden in der Manier von Storyboards geplant. Doch findet diese in einem bewegten Kontext statt. Eine Anpassung der Präsentationsmittel an die reale Situation würde, wie beim Free Jazz, eine Freiheit in der Gestaltung ermöglichen. Allerdings sehe ich hier die Schranken der Umsetzung. Wie in der Programmierung stellt es ein großes Problem dar, Dynamismus darstellen zu können. Nicht, dass wir nicht in bewegten Bildern denken können, aber es fehlen schlichtweg die einfachen Mittel zur Erlangung eines Produktes, welches einfach zu verwalten ist. Flash und verschiedene Zooming-Werkzeuge existieren, aber sie sind einfach zu primitiv. Können einfach Mechanismen der Abstraktion geschaffen werden, die uns helfen, stärker in eine Richtung der puren Bewegung vorzudringen?

Saturday, February 28, 2009

JavaScript: My hello world

Today I want to add more content to this blog that relates to the programming languages that are written down on my CV. Many programmers write down everything they had contact with, and claim expertise. So I want to build up some petite portfolio, which is fun to do anyways. I want to start with a small application written in JavaScript (from now on I will refer to it with JS). The application should show a square and a little button should be at the ground. After pushing the button the color will change randomly. The development actually took me just half an hour. And every file was validated. The first time I used JSLint. Which shows some real shortcomings in JS. Why are there global objects? No import Math or a declaration of a module. And functions have to be defined with a var statement. This is pretty ugly. Hm, the program is not so interesting after all. But better, than a simple hello world. For the font I have used Georgia, because the numbers align so nicely. The font changes after the algorithm
if ((rgb[0] + rgb[1] + rgb[2]) / 3 < 128) {
  colorname.style.color = 'white';
} else {
  colorname.style.color = 'black';
}
The only thing that is a bit interesting here. The use-case? You need a color quickly and click until you find a nice one. You can download the program under package. Unzip and open index.html.

Monday, February 23, 2009

Alternative Energien

Zusammenfassung: Dieser Text soll die unsicheren Prämissen untersuchen, welche sich bei der Untersuchung von alternativen Energien nach diesem Artikel ergeben. Keineswegs ist dies vollständig oder umfassend. Aber es werden Ansätze aufgezeigt. Senkung des Energieverbrauchs um 11% Dies ist möglich, wenn Energie genauso teuer wird, wie sie nachhaltig kostet (Risiko, Entsorgung). Bei entsprechender Erhöhung der Preise wird die Nachfrage sinken. Andere Technologien werden wirtschaftlicher werden. Ein Beispiel hierfür ist das Passivhaus. Kritik der Effizienzsteigerung … fraglich, da formuliert vom Vertreter der RWE AG. Muss geprüft werden. Außerdem kann als Alternative auch einfach die Effektivität hinterfragt werden. Die richtigen Dinge tun. Kein Fernsehen, keine Tiere essen, … Außerdem formuliert es Stefan Schurig vom World Future Council so: »the best law of its kind worldwide.« Leitungen reichen nicht aus Fehlende Angaben der Quelle, die das Gegenteil darstellt. Eine Quelle ist vorhanden – die kritisierte. Repowering unwirtschaftlich Dies ist abhängig vom Preis des Stroms. Fehlende Investoren heute, heisst nicht, dass es wirklich für immer unwirtschaftlich ist. Resume Niemand sagt, dass die Ziele nicht hoch gesteckt sind. Aber Wandel ist wichtig und machbar. Literatur Alle Links wurden das letzte Mal am 23.02.2009 abgerufen. Eine fachlichere Gesamtanalyse Moderne Turbinen brauchen zwei bis drei Monate, bis sie sich lohnen – die Turbinen von 1980 sechs Monate. Artikel Typische Return on Investment ist ein Jahr. Der Wikipedia-Artikel hierzu. Erklärung der allgemeinen Mythen.

Friday, January 9, 2009

This will be a shorter note, because I ain't got my coffee yet. But let me note one thing about our daily conversations: They are not science. A lot of people confront their normal conversation with the conversations they are doing then they are working or do precious stuff. Let me give you one example: In a scientific conversation -- may it be a thesis, or a presentation or even a talk, you have a clear distinctions between the words. Everything is bound to be defined and there shouldn't be any double meaning. This is why we have to write down so many stuff to make things clear, have to build upon a great fundament that is safe. Safe to talk about the things in the right way. But then there is the normal conversation, the real jazz. A meta-language of its like. I don't bother to define everything right. In fact it's just talking. Isn't it sometimes we are thinking about the map of words like, you got me a map. With clear borders and nothing is something like a doubled thing, meaning something else. I think it is all about our more and more complex life leading to expertise in many areas where we are not, well experts. The enlightenment, or the thought of the enlightenment brought us to a thought most liberals and capitalists advocate nowadays: The thought that the individual knows best what's right in exactly this situation. This thought is just plain wrong. It is not. Because there are many situations where you can't be an expert at. So democracy is bound to fail? Well no. Not exactly. I don't think that the double meanings get in our ways all of the times. Actually it's very handy not to define every meaning every time. Most of the time we just get the point. Our intuition leads the way to understand each other. And democracy at its roots, well is something about the individual thought. But all the leafs are just plain syndicated thoughts. We have a discussion and there the definitions come out of the stone carving itself into our mind and we can make an informed decision. So if you are "correcting" your friend about the right meaning, well it is wrong if you are not having a scientific talk or something. In day to day life the source of scientific knowledge things are changing. And if a word changes its meaning, well than you can inform yourself about the difference. Your thought is important, too. But I personally don't use omnibus for the bus. And bus is just plain wrong. We are just exchanging messages in our conversations. There is no rule of the imperative. And then there are syntax and semantics. Everything you do has a syntax. Everything you intended is just semantics. The black jeans, the red dress, there is always an intention, you can just communicate. If you use words in a certain way, you tell me something about yourself. And this is what all this correction is about. You are talking at another level the meta-level to identify yourself as one of the creatures -- the writers of our language. Or if you correct because of the origin you are a preserver. It is all about your role in society and not the imperative of some theory. If at all there is no theory for the jazz, because then it wouldn't be the jazz. O. K., I go and crap my coffee.

Thursday, November 27, 2008

Derivation

This is some post showing off work I have done for my thesis. Well, actually I will try to skip that and just publish it here, because there will be no real need to publish it in a scientific way. It is kind of a stupid step by step transformation. Hope you can follow along. I know you will. Can you show me the 'Hello World'-Program in Python once more. Sure it's:
fib = lambda n: 1 if n == 0 or n == 1 else return fib(n -
2) + fib(n - 1)
This is great, but isn't it a huge waste to recalculate fib over and over again? Yes it is. And there is this thing memoization that saves the values. Okay let's copy some pre. No, we will not. For reasons described later we will try to implement the turtles all the way down. What does that mean? Well, with Python we are writing in a very high level language. Nothing special about this. But this post will describe the way down what I compiler could do and grasps the notion towards the machine. I don't understand what you mean. Act don't talk. Let's implement a stack where we push the values of functions unto. The first to values are already known by definition.
cash = {}
cash[0] = 1
cash[1] = 1
So first thing to do is to look if the values are already in the dict.
try:
  return cash[n]
except KeyError:
The recursive rest:
  return cash[n] = fib(n - 2) + fib(n - 1)
This is the boring version. But you know, that there are more turtles to run with. We are going deeper down. So what is it doing this function-call? Well nothing but pushing a new environment unto a stack. So let's do this. First we create the stack:
xs = []
And push a function there:
f = lambda d, e: d[e[1]] + d[e[2]]
> This is tricky! No it is not. Judge by the actions:
cash[x[0]] = f(cash, x)
What we are doing is pushing the value of a function on the stack. 'cash' is the cash, of all calculated values, so we don't have to recalculate anything twice. 'x' is something I have hidden from you. So what is x? It is a list!
(n - i, n - i - 1, n - i - 2)
Recognize that pattern? It is inside the Fibonacci function. Why don't we pass just the arguments along, why do we have to save this? Now I have to show you the full source:
        i = 0
        xs = []
        while True:
            try:
                x = (n - i, n - i - 1, n - i - 2)
                f = lambda d, e: d[e[1]] + d[e[2]]
                cash[x[0]] = f(cash, x)
                for x in xs:
                    cash[x[0]] = f(cash, x)
                break
            except KeyError:
                xs.insert(0, x)
                i += 1
Do you notice there this hole thing has it's goto? Yes, right before the for-loop. Because there is the point there you have to go back in time and have all the results precomputed. But before you have to insert the result into xs. We have 'i' which controls we arguments all the way down. The complete program is:
cash = {}
cash[0] = 1
cash[1] = 1
def fib(n):
    try:
        return cash[n]
    except KeyError:
        i = 0
        xs = []
        while True:
            try:
                x = (n - i, n - i - 1, n - i - 2)
                f = lambda d, e: d[e[1]] + d[e[2]]
                cash[x[0]] = f(cash, x)
                for x in xs:
                    cash[x[0]] = f(cash, x)
                break
            except KeyError:
                xs.insert(0, x)
                i += 1
    return cash[n]

import sys

print fib(int(sys.argv[1]))
Should we write programs like that? No! We can derive to such programs. But just if there is a need for such optimizations. Also think of the algorithm twice. I, myself found it easy to derive an algorithm straight forward from the books, by reversing the process in the end. The cool thing about such derivation is, that the programm is correct in the end. If you do it correctly with assertions. The hard part about programming is, to define the problem correctly in a mathematical way. That is challenging. Afterwards where should be nothing but a derivation to a form a machine could do as fast as possible. In research this is a hot topic to derive there automatically. And me myself feel somehow being code-monkeyed to derive to the actual program. But it could also be a stimulating feeling like a painter to step back and proof that the algorithm is still right. For my project I did a mathematical analyse first, and then implemented the program in Python because it is such an easy thing to do. Most programs in controlling are just a bit set theory and statistics. Hope you enjoy this post. P.S.: Here is the Java-Version:
import java.util.ArrayList;

public class Fib {
    static ArrayList cash;

    static Integer fib(int n) {
        try {
            return cash.get(n);
        } catch (IndexOutOfBoundsException idx1) {
            int i = 0;
            ArrayList xs = new ArrayList();
            while (true) {
                Integer[] x = null;
                try {
                    x = new Integer[] { n - i, n - i - 1, n - i - 2 };
                    cash.add(cash.get(x[0]), cash.get(x[1]) + cash.get(x[2]));
                    for (Integer[] xx : xs) {
                        cash.add(cash.get(x[0]),
                                 cash.get(xx[1]) + cash.get(xx[2]));
                    }
                    break;
                } catch (IndexOutOfBoundsException idx2) {
                    xs.add(0, x);
                    i++;
                }
            }
        }
        return cash.get(n);
    }

    public static void main(String[] args) {
        cash = new ArrayList();
        cash.add(1);
        cash.add(1);
        System.out.println(">>" + fib(2) + "<<");
    }
}

The La in Lala

This is an attempt to clear out my head, full of all those thoughts that might destroy my thesis I am heavily writing on at the moment. Charged with all of those ideals I am not ought to suffer at the moment because they are so deeply nested inside of the structure of my body, I can not do anything at all but thinking away the thoughts that might have a chance to stand against some professor or something maybe just a slight tick more scientific. But I am bound to be philosophic by nature after reading way too much Nietzsche and therefor suffer the great thought of emptiness and egoism that I will not discover in my soul lately but certainly: this is a lie. It is said that the most intelligent people are not made out of this grateful arrogance you will discover chatting with the fouls. So this is an attempt I try to accomplish over just one session of writing fully aware of my drunkenness over one glass of beer finishing off from a stressful day full of reading. Lately I have been rethinking my ideals. I have been influenced deeply by the thoughts of writers of the Enlightenment. So after hearing all this blame into the direction of the so-called managers I just can not get away with it without claiming, that there is certainly a thing called: Enlightenment is to get away with your own stupidity (or so). If you really want to be illiterate in some financial sense: Good for you. Me, I am investing my money in things I am personally attached to in a sense, that I am an expert in. So do not fool yourself and invest blindly with your friends the bankers. Well that's capitalism is all about. You have to get away with it. Same goes for the lobbying: If you are complaining, and it is real that money buys opinions, than try to influence with your money. I think it is better for an organisation that is willing to help poor countries to do real lobbying. Well, this will help in a way, you can not imagine. That is capitalism. And it is democratic. You just have to raise the money and organise this thing. The left-wing is mostly sorted out by their disbelieve in money. It is not that the homo oeconomicus is existing, but it is a fact, that money buy it's way. All this charity for the third world is senseless, if you don't change our duty. This is not some hidden science or something. This is the European way to go. By supporting and therefor favouring European countries, poorer countries are right away opted out. This is economic reality. And it is cruel and it is unfair. Yes there are unjust systems in Africa, that help to prevent a good way of living. But let us make a difference by supporting the economy of these countries. Economy should be free. Don't understand me wrong. I am all against capitalism in its pure form. But freedom does not mean to be cruel. Link back to the popping way the philosophers of the Enlightenment showed us a path away from the elitism of former times. Everybody has to think. Cause therefor we exist. By just complaining, well you ain't changing anything. There are a lot of problems out there and in the end if you are concentrating on these problems you ain't going nowhere. It is just the solution that will make you happy. And if there is anyone against that principle of maximum happiness please stand up. No there will be no one, cause happiness is one of those things that is better shared. Oh this awful movie had really nice ending. There is this wrong form of anti-elitism, that I hated so much when I was younger. Even at those times I hated the whole corpus that inhibits our schools. That ones that kill the mindset generation after generation. You probably guest it, I talk about teachers. Several times I was reminded that sentences should be as short as possible and nobody should use any word that is a bit out of these famous 5000 words that the common pupils know. Okay, at this age I was really dump. But also very arrogant. This makes the big mixture you will find every there. I have not changed. If you would read this in German, it would be full of mind-gabbling sentences spawning several lines of your screen. But I am writing this in lovely English. The language I cannot write in, but keep practicing. The big question that remains: Are we getting any smarter with the time? My answer is: I don't know. Maybe. Maybe the opposite. If I go back in time my political views have changed in a drastic manner. All this happening over the influence of economics that I majored in. But how should I believe in my thoughts? I was so sure about everything when I was younger. How can one believe to be right? There is no answer. But I think the good/the proofed to be good mindset is to let everything open about yourself. And stop even thinking about it. Ways to improve yourself are way too simple sometimes. Why not just stopping to smoke? Why not just getting away without being lazy? Or why not trying to make sport? Or why not learning how to write? The list goes on and on. And yet it seems to be so simple. Why are we heading in directions, we don't want to be heading? Is it that hard to make a plan and then following it? There is this guy Piaget, which identified two processes that occur if you are learning anything: It is accumulation and assimilation. The first one is what is likely to happen if you discover new things. Okay, maybe you are beginning to ask yourself, why am I reading all this horseshit? You know, psychology is really not that boring. And we are on a way to a real enlightened society which is just learning all day out. Learning is the essential thing that we do in our lives every day. And if you are in a corporate environment or school or something, you have to believe in two skills: teaching and learning. Are you reminded of my teacher-bashing. This was all made up. I lied to you very heavily. Teachers are so important, that you have to be one, too. Not as a profession in the traditional sense, thought. But identifying yourself by being a teacher in your company is somewhat mind gabbling. Every time you propose something the first of the two processes of Piaget will start working/will get fired up in the neutrons of your coworkers. Accumulation, anyone? They will not like anything you make that let's them struggle with their old mindset. They will hate it, if it's revolutionary. Just because it is such a petty work for you brain to get used to new structure. That is accumulation. And you will hate it, too. But how do you cope with it, when you are fully aware that it exists? First of all: After you heard this, you will struggle and say no. I am special. I am open for new things, and so on. But no you are not. QED I just told you one process. What is the second? You can guess it is fairly simple: You will assimilate it, that means you will integrate it into your old structure, renew the system, that is not working anymore. So we are learning. But are we getting better with the learning? Do I have changed after all? Are my thoughts just altered by some kind of weird system. We don't talk about water learning. If you watched closely inside of your bath tube, you saw the struggling water produces, when the flow was being stopped by someone. But after just a fraction of a second, water will seek its way through. Why are we different from water? Are we? If someone is dying, we will cry. It is a somewhat complex process in our brain, I know nothing about. Is this making us any special? I read an article about mind and machines, a rather popular one. And as it happens the author was strongly against the metaphor of thinking machines. As if calculators can not think. But I find it really hard to define thinking. And I know, I am not alone. Moreover I am an engineer of some kind. So wishful thinking is one of our core-competencies. I will just assume a definition and close this blog-entry. Wired told us blogging is out, twitter is in. It may be so. But who the hell reads Wired?