Some weeks ago I started a new side project called: Big Boy, Small World, my personal (german speaking) motorbike blog.
In 2010 I started riding bikes and getting my license and so this year I got me my first bike, a BMW F650GS. After a season start in March and some day trips around Berlin and my hometown Potsdam, I've been to Croatia and some other Balkan countries shortly. All this are thing did and will write about in this blog.
So I hope you enjoy reading my thoughts and journals on Big Boy, Small World.
View Comments
While playing with some javascript and think about how o create a simple OR mapper for JS client databases, I was in need for defining functions dynamically in in JS.
As far as I know there is no common build in function to do something like this. From Ruby you might know the define_method-method. I tried to build something similar in JS. So this is what I got:
Feel free to tell me if this is crap or hot,
Cheers
Today I had some issues with GitHub and the university's network. We run a Hudson continuous integration server behind a HTTP proxy that has to fetch revisions from a github repository.
But the problem was that the GitHub HTTP cloning is kind of broken at the moment. So I set up a little mirror script on my root server to mirror the GitHub repo to Gitorious.
Now the Hudson server can fetch from the Gitorious repo that is always in sync.
I know I could host all the stuff on my own server but I was to lazy to look up and setup all this server stuff. This solution took me about 10 minutes.
My conclusion: distributed version control is the shit!
Want to insert an encoding comment into your ruby code?
Do it TextMate style and create a snippet:
I know this is very static but I had not much time and decided for the simplest solution.
I tried to read the actual encoding of the file you are inserting in, but always got "US-ASCII" insted of "UTF-8". So if you know better tweet me.
Last week I got some time to try out Phusion's new Nginx-module. So I decided to try out it's Ruby 1.9 compatibilty, to test my own projects wether they are Ruby 1.9.1 compliant or not.
I installed it on a fresh Ubuntu 9.04 RC1 Image into my virtual Box, and everything seems to work good yet.
Da neulich mal wieder der Varnish-Cache abgerotzt ist und es dadurch wieder eine unerwartete Server-Downtime gab, dachte ich mir es wäre doch mal ganz nett über so etwas benachrichtigt zu werden. Und zwar am besten über mein Liebling-"Protokoll" Twitter.
Erst vor kurzem lief mir folgender Artikel zu Twibot, einem Ruby-Framework für die Twitter-API über den Weg. Also gesagt - getan, folgendes Script habe ich mir mal zusammen gehackt.
Das ist bestimmt nicht schön programmiert, aber es funktioniert. Konfiguriert wird es über die Datei ./config/bot.yml, aber am besten ist, ihr checkt es euch einfach auf Github aus: http://github.com/Santino/monbot/tree/master
Man kann den Bot einfach in einem bestimmten Intervall per Cron aufrufen und fertig ist die Karre.
Hiermit ist jeder herzlich eigeladen das Teil zu pimpen und noch andere Monitoring-Fälle einzubauen.
Ich saß heute in der Vorlesung ‘Grundlagen der Wissensverarbeitung’, als mir ganz plötzlich eine sehr schöne Definition für Intelligenz entgegen sprang.
Um ganz genau zu sein, beschreibt sie eigentlich den Prozess der Informationsverarbeitung. Ich fand darin aber eigentlich die fünf wichtigsten Stufen menschlichen Handelns wieder.
Erkennen
Wenn es eine Aufgabe gibt, auf die das menschliche Gehirn richtig gut trainiert ist, dann auf die Erkennung von Mustern. Ob diese sich nun in Form von geometrischen Formen, Klangschemata oder wiederkehrenden Handlungsweisen auftreten ist dabei eher zweitrangig. Der erste Schritt zu intelligentem Handeln ist die Feststellung von Sachverhalten.
Schlussfolgern
Auch der zweite Schritt scheint noch recht einfach. Haben wir erst einmal ein Muster erkannt, können wir daraus Thesen oder Regeln aufstellen um Voraussagen zu treffen. Diese Regeln sind meist nur vages Wissen, sie sind also mit Wahrscheinlichkeiten belastet und lassen noch Spielraum für Interpretation.
Entscheiden
Auf Grund dieser vagen Regelbasis fällt es oft schwer Entscheidungen zu fällen. Das Fällen von Entscheidungen ist also abhängig davon wie ausgeprägt und differenziert die Wissens- und Regelbasis ist. Es ist also nichts anderes als das Aufaddieren der Wahrscheinlichkeiten aller möglichen Wege – man nehme den Weg mit der größten Aussicht (Wahrscheinlichkeit) auf Erfolg.
Planen
Scheint eigentlich nichts weiter zu sein als ein Entscheiden auf Vorrat. Also quasi der Voraussage von Ereignissen auf Grund der Regelbasis. Dies ist nur durch eine umfassende und gefestigte Wissensbasis möglich da sich sonst die Möglichkeiten des Ausgangs sehr weit streuen und es eher ein Raten wird.
Lernen
Die Königsdisziplin. Aus den Ergebnissen der ersten vier Schritte kann man nun wieder neue Muster erkennen und neue Schlussfolgerungen ziehen. Dieser ganze Intelligenzprozess ist also auch noch iterativ und selbstjustierend, da ich die Ergebnisse meines Handelns immer wieder als Grundlage für neue Handlungen nehme.
Das alles erscheint mir eigentlich ganz logisch, und ist für mich eine gute Erklärung für einige ganz selbstverständliche Prozesse. Ich hoffe meine Ausführung enthält keine allzu groben Fehler. Wer mehr weis möge mich korrigieren.
Wer mich kennt weis ich bin ein überzeugter Macianer. Doch als Web- und Softwareentwickler habe ich trotzdem eine Meinung zu Windows 7.
Ich hoffe es wird erfolgreich. Warum? Hier kommen meine Argumente.
Der wichtigste aber auch naheliegenste Punkt ist der IE8. Microsoft verspricht uns endlich Standardkonformität, was wohl einige Probleme in der Entwicklung von HTML/CSS-Layouts beseitigen dürfte. Doch was nützt ein toller Browser wenn ihn niemand installiert. Es ist wohl davon auszugehen, das der IE8 standardmäßig mit Windows 7 ausgeliefert wird, so wie das auch mit IE7 und Vista war.
Meine Theorie: Weil niemand Microsoft vertraut. Die Hemmschwelle sein System zu updaten scheint für viele Windowsuser unüberwindbar zu sein. Während in der Macwelt jedem neuen Mac OS Release entgegengefiebert wird, scheint man sich auf dem PC gegen jede Art der Verschlimmbesserung zu wehren.
Uhh, aber nein wir wollen unser gutes altes XP wieder haben und zwar ohne Service Pack 1, 2 oder 3, denn das macht alles soo langsam.
Ich habe manchmal das Gefühl man hat den Glauben an den Fortschritt verloren im Windows-Lager. Aber es wird munter weiter gejammert, das die Computer ja soo böse und schlimm sind, und früher ging das ja auch, ohne dieses, dieses – Internet.
Mal ganz ernst, ich wünsche mir ein ganz wunderbares Windows 7 mit vielen großartigen Features und einem ordentlich verschlankten Kernel, aufgeräumten APIs und allem Schnickschnack. Damit man im Windows-Lager wieder das Gefühl hat ein gutes Stück Fortschritt für sein Geld geboten zu kommen. Denn eine aktuelle installed base dient nicht nur dem Nutzer, sondern auch den Programmierern die für die Plattform Software entwickeln.