Blog

  • Vom City Running in die freie Natur

    Nach zwei Wochen City Running endlich wieder mal ein bisschen Dreck und Gras unter den Schuhen. Licht und Strassen war während dieser Zeit definitiv nicht das Problem, umso erstaunter war ich als ich heute um 20 Uhr loslaufen wollte. Das nächste Haus ist 500 Meter entfernt, die nächste Stadt mit mehr als 10'000 Einwohner mehr als 20 Kilometer, kein Mond am Himmel, Resultat es ist stockdunkel. Eingestellt, lediglich in der Stadt zu laufen habe ich zwar eine Leuchtweste dabei, jedoch keine Stirnlampe. Die Trampelpfade der Küste entlang haben keine Beleuchtung und so musste ich zur Notlösung greifen, um doch noch ein paar Kilometer zurückzulegen: Smartphone. Für die kleine 5 km Runde (dafür aber 300 Meter Steigung) ausreichend.

    Wunderbare Runde in einer milden März Nacht. Die perfekte Einstimmung auf die Nacht der Nächte in Biel in ein paar Wochen. Biel ich komme!

  • Die Virtuelle Gadget Konsolidierung

    Ein Tweet von Jurgen hat heute meine Aufmerksamkeit auf sich gezogen.

    https://twitter.com/jurgenappelo/status/307160732087238656

    Ein Einzelfall? Ein Geek? Letzteres sicher, erstes ich weiss nicht. Dann habe ich überlegt mit wievielen Gadgets ich aktuell auf Reisen bin. Erstaunlicherweise bin ich auch auf vier Gadgets gekommen: 2x Notebook, 1 Smartphone und ein Tablet. Ein Geek? Ja sicher. Und meine Frau, mit wie vielen Gadets reist sie? Nein nicht eins, nicht zwei und nicht keins, sondern drei. Ein Netbook, en Smartphone und ein Kindle. Ein Geek? Definitiv nicht.

    Die grosse Gadget Konsolidierung

    Das Smartphone hätte das sein sollen/sein wollen. Ich kann mich gut erinnern, wie begeistert ich war und was ich alles damit machen kann:

    • Surfen
    • Chatten
    • Telefonieren
    • Termine verwalten
    • Video schneiden
    • Fotos machen editieren
    • Navigieren
    • TV bedienen
    • You name it

    Es geht noch weiter. Android verdrängt den klassischen klobigen Kasten. Einfach das Handy an den Monitor koppeln und schon gehts los. Die Rechenleistung nimmt ständig zu, von daher gut vorstellbar, dass in ein paar Jahren beim Normalouser das Handy die Aufgabe des Desktop PCs übernimmt

    Walkman

    Weiteres Beispiel der Walkman, Disc-Man, Mini-Disc, MP3 Player (iPod) Smartphone. Aus zwei Gadgets (Music und Telefon) ist eines geworden, das Smartphone. Daher müsste die Summe der Anzahl Gadgets sich um eines verringern.

    Schauen wir uns weiter die Satelliten Navigation im Auto an. In den 90er Jahren kamen die ersten Geräte auf den Markt, welche die Autos im Sturm erobert haben. Nachts auf der Autobahn gibt es kaum ein Auto, welches nicht das typische LCD Licht vorne hat. Mittlerweile kämpfen die Hersteller jedoch mit massiven Problemen. Google Maps erfüllt Pflichtbewusst die Aufgabe: Die Summe reduziert sich um ein weiteres Gadget.

    remote control

    Dann wäre da noch der Smarttv. Vorbei sind die Zeiten wo eine einfach Fernbedienung mit on/off, Ziffern und Volumen Knöpfen reichen würde. Aber halt, eine Fernbedienung ist eigentlich auch alt: Dafür gibts ja diverse Apps. Eine Fernbedienung kommt selten allein, da ist ja eine für den TV, eine für den Blueray Player und eine für den Digital Receiver. Daher, aus 4 Gadgets (3 Fernbedienungen und 1 Telfon) wird ein Smartphone: Die Summe an Gadgets reduziert sich um 3 Geräte.

    Also eigentlich müssten wir definitiv mit 2 Gadgets auskommen: Ein Portables z.B. das Smartphone zum Konsumieren und eines zum Arbeiten (z.B. Tablet oder Ultrabook)

    Die Gadget Explosion

    In der Vergangenheit haben wir immer danach gestrebt alles in ein Gadget zu verbannen, die eierlegende Wollmilchsau sozusagen. Und die aktuelle Entwicklung von Asus zeigt, dass es auch heute noch immer das Bestreben ist: das FonePad, eine 7 Zoll Smartphone. Ich warte schon darauf jemandem mit so einem Klotz am Ohr im Zug zu sehen. Geht die Rechnung von Asus auf, dann verschmilzt Smartphone und Tablet in ein Gadget, was ich mir ehrlich gesagt nicht vorstellen kann, was vielleicht an meiner beschränkten Imagination liegt.

    Google hat hohe Bestrebungen noch im Jahr 2013 die Google Glasses auf den Markt zu bringen. Wird es Smartphone ersetzen? Vielleicht, wird es das Notebook verdrängen? Vielleicht? Aber das wird definitiv nicht in den kommenden 5 Jahren passieren. Das heisst, es kommt wieder ein Gadget mehr hinzu (ob man die Glasses auch durch den x-ray im Flughafen durchlassen muss?)

    via Flickr http://www.flickr.com/photos/thomashawk/[/caption]

    Damit noch nicht genug. Aktuelle Bestrebungen nach Miniaturisierung schreiten rasch voran. Das Projekt Raspberry Pi ist ein Mini Computer in Kreditkartengrösse, welcher gerade mal 25$ kostet. Die Liste an selbst gebastelten Gadgets, welche irgendwelche Geeks bauen wird täglich länger. Ich bin noch auf der Suche nach der passenden Idee, um mir auch so einen zu besorgen.

    Und schlussendlich ist immer noch das Thema Wearable Computing, bzw. Oral Computing. Die Computer (Gadgets) werden so klein, dass es überall Platz hat (und mit IPv6 gibt es auch für jedes Gadget eine IP). Ich kann mir gut vorstellen, einen Computer im Schuh zu haben, welcher mein Geschwindigkeit misst. Ein paar weitere sind an Lebenswichtigen Organen und messen ständig Puls, Blutdruck und Insulinspiegeln. Auf Knopfdruck erhalte ich ein aktuelles Gesundheitsbild von mir selbst. Weitere Computer sind in der Kleidung und regulieren den Wärmehaushalt dynamisch. Bei der Shopping Tour im Winter muss ich nicht mehr die Jack auf und zu machen, der Computer kümmert sich via der neuen Biofaser selbständig darum, dass stets die richtige Temperatur herrscht. Ich könnte die Liste noch beliebig verlängern.

    Wir werden mit dutzenden von Gadgets umherlaufen und nur noch darüber Schmunzeln, wenn Jürgen seine 5 Gadgets an der Sicherheitskontrolle im Flughafen auspackt.

    Kommunikation ist gefragt

    Die grosse Herausforderung wird sein, diese Gadgets und Informationen miteinander zu verknüpfen und die Daten schlau aufzubereiten. Apple wird wahrscheinlich wieder sein eigenes Süppchen kochen, aber die anderen Hersteller werden sich hoffentlich auf Standards einigen.

    Insofern ist auch das eine Konsolidierung aber halt eine Virtuelle. Es wird nicht mehr versucht ein Physikalische Gerät zu bauen, welches alles kann, sondern ein Verbund an Gadgets, welche als ein Gadget agiert und dem Endbenutzer als eine Einheit gegenübersteht. Virtuelle Konsolidierung klingt eigentlich noch ganz gut.

    Das Internet ist ein Beispiel für ein solch funktionierendes Ökosystem. Ein verbunden von Millionen von Rechner, welcher jedoch dem Endbenutzer gegenüber als eine geschlossene Einheit erscheint. Das Internet als Virtuelle Konsolidierung von Computer.

    Weniger ist mehr

    Anstatt also zu versuchen Gadgets mit noch mehr Features vollzustopfen, sollte mehr Zeit investiert werden, wie die Gadgets sicherer untereinander kommunizieren und effizienter voneinander Gebrauch machen können, da es sowieso nicht gelingen wird, die Eierlegende Wollmilchsau zu kreieren.

    Linux besteht aus zig kleinen Programmächen, welche sehr oft aneinandergekettet werden können und dann Hand in Hand arbeiten. So ähnlich stelle ich mir diese Zusammenarbeit vor. Ich bin Total happy, wenn ich eine Fernbedienung für den TV habe und ein Smartphone. Was jedoch super wäre: Das Handy klingelt, was dann der Fernbedienung ein Signal sendet, worauf diese den TV leiser stellt.

    Das Beispiel mag einfach klingen, aber da es so unglaublich viele Kombinationen und Möglichkeiten gibt, ist es wohl nicht das einfachste Problem zu lösen. Aber dafür gibt es ja genügend schlaue Leute.

    Wahrscheinlich müssen wir uns von der Vorstellung wie ein Computer aussieht trennen. Die Wandlung ist auch extrem, wenn wir die vergangenen 20 Jahre anschauen: Von der grauen Kiste, zum sexy weissen Kistchen, zum flachen Tablet. In Zukunft wird es einfach viele headless (sprich ohne Display) Gadgets geben, was kein Problem darstellt, da die Kommunikation unter den Gadgets reibungslos abläuft und lediglich noch ein Gadgets die Visualisierung übernimmt, während die anderen Gadgets ihre anderen Aufgaben erledigen. Diese Aufgabentrennung würde auch signifikante Kosteneinsparungen bringen, da eben gerade ein Display nur 1x vorhanden sein muss.

    Hast du andere Vorstellungen? Mit wievielen Gadgets bist du unterewgs?

  • Die heutigen Coders sind die Zauberer von morgen

    Für jeden Entwickler ein "must see", obwohl es eigentlich für die Nicht-Coders gedacht ist. Scheint, als würde es im Silicon Valley massiv an guten Leuten mangeln und ich muss zugeben, die Büros sehen schon verlockend aus, wenn ich da so mit meinem Büro vergleiche, dann könnte ich glatt neidisch werden.

    Interessant zu sehen, dass auch die ganz grossen der Branche ganz klein angefangen haben. Mein erstes Programm war ein Rechentrainer in Basic (nein nicht Visual Basic, sondern plain Basic). Dieser hat Rechnungen gefragt und dann auf einen Input gewartet. Addition, Substraktion und Multiplikation sind gut gegangen, bei der Division bin ich nicht mehr weitergekommen, da das Ergebnis in den meisten Fällen eine Dezimalzahl war… Und das sind jetzt wohl ziemlich genau 20 Jahre her! Ja, da gab es bereits Computer: Wenn ich mich recht erinnere, einen Intel 386er, mit 40 MHz und einem Turbo Knopf

    Was war dein erstes Programm?

    PS: Bill Gates habe ich kaum erkannt. Der ist alt geworden.

  • Neu ausgerüstet unterwegs

    Die vergangenen Tage lag ich nicht etwa auf der faulen Haut. Im Gegenteil, trotz widerlichen Umständen bei Schnee und Regen habe ich mich letzte Woche draussen gequält und auch diese Woche habe ich trotz Reisetätigkeit täglich ein paar Kilometer zurückgelegt.

    Leider plagt mich seit einigen Wochen das bekannte Schienbeinkantensyndrom. Ich bin eigentlich davon ausgegangen, dass sich das von selbst lösen wird. Dem war leider nicht so. Schweren Herzen habe ich mich somit auf die Suche nach einem Nachfolger für meine geliebten Asics gemacht, denn laut Internet Recherchen sind durchgelaufene oder falsche Schuhe eine mögliche Ursache.

    Heute fündig geworden: ein paar New Balance, welche ich dann auch trotz zu viel KFC im Bauch auf eine kleine Runde ausführen musste: 6.5 km, schmerzfrei gelaufen. Die Erleichterung ist natürlich gross und so kann das Abenteuer 100kmbiel weitergehen. Es trennen mich nur noch 16 Wochen von der Nacht der Nächte.

  • Die Sache mit der privaten Sitzung

    Donnerstag, nach 3 km: Der Drang nach dem stillen Örtchen. Das sind dann aber mindestens wieder 3 km zurück und das unter erschwerten Bedingungen.

    Samstag, nach 1.5 km: Wieder der Dran nach diesem Örtchen, also wieder zurück, kurze Pause und dann nochmals ein Neustart. Während 100 km, werde ich sicher mindestens einmal das stille Örtchen aufsuchen müssen (oder ich muss einfach schneller rennen). Ich hoffe lediglich, dass dies dann gerade in der Nähe ist.

    Beim heutigen Start hat die wärmende Sonne geschienen. So sind aus den -3°C gefühlte +3°C geworden. Leider hat das bei Kilometer 4 geändert: Dicke Wolken haben sich vor die Sonne geschoben und es hat angefangen mit Schneien. Aus den gefühlten +3°C sind gefühlte -9°C geworden. … Warum gehe ich da nur raus? Diese Frage werde ich mir wohl noch öfters stellen während der Nacht der Nächte.

    Hurra, diese Woche, das Wochenziel von 40km geschafft 🙂 Weiter so.

    13 km, 1h 24

  • Killerspiele auf der 400m Bahn

    Wer sagt, die 400m Bahn wäre langweilig hat noch nie richtige Trainings gemacht. Na gut, das Einlaufen ist zugegebenermassen ein bisschen langeweilig ausgefallen, aber aufgrund der Wetterbedingungen gebe ich mich damit zufrieden. Zur Abwechslung scheint zwar die Sonne, aber der Schneefall der letzten Tage, hat die nicht asphaltierten Wege wahrscheinlich in eine Schlammschlacht verwandelt. Nach 3 km gehts los:

    • 100 m Sprint
    • 200 m Pause
    • 200 m Sprint
    • 200 m Pause
    • 300 m Sprint
    • 200 m Pause
    • 400 m Sprint
    • 200 m Pause

    Und dann alles wieder runter und nochmals hoch. Diese Intervallgeschichten gehen ganz schön in die Beine, aber anscheinend sollen die sehr gut sein. Ich frage mich zwar, was das mit 100 km zu tun hat? Aber es wird sicher einen Grund haben, denn diese Elemente sind Bestandteil von jedem guten Trainingsplan. Auf Lauftipps.ch gibt es auch noch eine Erklärung dazu.

    Mit dieser Trainingsart kannst du deine Laktattoleranz und die Tempohärte entwickeln, welche für Strecken bis zu 10 km notwendig sind. Aber auch für ein Halbmarathontraining mit gewissen Ambitionen bringt ein Intervalltraining die nötige Schnelligkeit.

    Nach den ersten 20 km von Biel ist immerhin bereits 1/5 geschafft. Obs gut ist oder nicht sei dahingestellt… aber es gibt zumindest ein bisschen Abwechslung, als immer "nur" genüsslich durch den dunklen Wald zu trabberlen.

    10.5 km, 57.5 min

  • Im Regen

    Den inneren Schweinehund überwunden und somit wieder einen Schritt näher am Ziel der 100 km von Biel, die Nacht der Nächte. Nachdem ich am Mittag den Wetterbericht für den Abend angeschaut habe, war ich mir nicht so sicher, ob ich da wirklich rausgehen werde.

    Regenwetter in Herzogenbuchsee

    Und doch! zwar nicht den ursprünglich geplanten langen Dauerlauf, dafür ein intensives Fährtenspiel, genau passend für den regnerischen Abend. Vollmond wirds definitiv nicht sein in der Nacht der Nächte… Regen hingegen wäre eine mögliche Option.

    Nach dem letzten Mittwoch ist das jetzt schon die zweite Trainingseinheit bei Nacht und Regen, warum tue ich mir das an?

    8,5 km, 48 min

  • Der Appcelerator/Titanium Turbo Boost

    Apps zu entwickeln funktioniert eigentlich sehr gut, hat jedoch einen Haken: Geschwindigkeit. Mit Geschwindigkeit meine ich nicht Entwicklungsgeschwindigkeit sondern, die Zeit um eine App auf dem Emulator zu starten. Mag sein, dass ich eine alte Kiste habe und dass es an Android liegt, aber auf einem MacBook Pro mit iOS Apps sieht es genau gleich: eigentlich noch viel langsamer.

    Im Klartext will das heissen: Um eine Änderung im Code auf dem Emulator zu testen dauert das mind. 30 Sekunden. Nicht sehr spassig.

    Appcelerator (ja ich entwickle die Apps mit Titanium) hat eine Lösung dafür: Fastdev. Es dauert noch genau 5 Sekunden, um den Code auf dem Emulator zu aktualisieren. Da macht es auch wieder viel mehr Spass. Die Anleitung scheint für eine ältere Version zu sein, aber es hat alles bestens funktioniert.

    Fastdev wie folgt starten:

    Run in the background and continue printing in this terminal

    $ titanium.py fastdev start &

    Wichtig

    $ titanium.py fastdev restart-app
    Zuerst habe ich gemeint, dass dadurch die App aktualisiert und gestartet wird. Falsch!! Hier wird lediglich die App neu gestartet. Code Änderungen werden nicht übernommen! Um Code Änderung zu übernehmen:
    $ titanium.py run --platform=android --android=/home/rapsli/Programme/android-sdk-linux/
    (Natürlich den android Pfad entsprechend anpassen) Und damit werden jetzt auch die Änderung im Code übernommen.

    Update: Und hier noch der Link zur aktuellen Dokumentation.

    Kleiner Gratistipp – Localhost

    Um auf den Localhost zugreifen zu können (z.B. weil dort der Entwicklungs Rest Server läuft), ist folgende IP zu gebraucht:

    10.0.2.2 Special alias to your host loopback interface (i.e., 127.0.0.1 on your development machine)

    Un wen es noch mehr interessiert: Ausführliche Dokumentation.

  • Im Mondschein

    Endlich ist es ein bisschen wärmer: Genau 0° Celsius. Einige stellen sind extrem glatt. Im Mondschein mache ich mich auf die Strecke um gemütlich ein paar Kilometer hinter mich zu bringen. Von trockener Hauptstrasse, über gefrorene Feldwege bis matschigem Waldweg erlebe ich so alles. Ein bisschen den Bergab und dann wieder den Berg runter. Spikes wären hier eine gute Sache. Auf den letzten paar Kilometer erhöhe ich das Tempo noch ein wenig… langsam lerne ich langsam zu joggen und für den Schluss Kraft zu haben.

    Laut Trainingsplan noch 19 Wochen bis zur grossen Nacht.

    17.3 km, 1h 52, 300 Höhenmeter

    Mondschein

  • Symfony2 – Mini Review

    Es ist mal wieder Zeit für etwas neues. Mittlerweile kann ich doch schon auf ein paar Frameworks/CMS zurückblicken:

    Neuestes Mitglied in der Familie ist Symfony2. Übungsprojekt ist ein kleiner Rest Server, sowie ein passender Rest Client. Hier meine bescheidene Einschätzung:

    Gefällt mir sehr gut

    • Dokumentation. Die einzelnen Teile sind sehr gut Dokumentiert und vor allem auch immer mit vielen praktischen Beispielen illustriert. Dazu gibt es entweder die Hauptdokumentation auf symfony.com oder dann jeweils noch detaillierte Dokumentationen auf den Webseiten der einzelnen Komponenten.
    • Filestruktur. Obwohl es mit der Zeit ziemlich verschachtelt wird und eine beachtliche Anzahl an Files zusammenkommt, finde ich doch eine gewisse Logik dahinter.
    • Kommandozeilen Tools. Noch habe ich hier relativ wenig ausprobiert, aber mit wenigen Zeilen im Terminal lassen sich Getter und Setter erzeugen, die Datenbank entsprechend der Klasse anpassen (falls ein ORM verwendet wird), Cache leeren usw.
    • Abstraktion in hält sich in Grenzen. Das Zend Framework schien mir viel komplexer mit unzähligen Vererbungen und abstrakten Klassen. Vielleicht ist das bei Symfony lediglich der Schein, aber es scheint alles eine Stufe einfacher zu sein.
    • Developer Toolbar. Herrlich. Wichtige Informationen sind jederzeit zur Hand.
    • Composer. Anfänglich war ich doch noch ein bisschen skeptisch. Mittlerweile bin ich begeistert, wenn ich auch noch nicht vollumfänglich dahinterblicke. In a Box: Composer ist apt-get upgrade für PHP.
    • Sehr einfaches Deployment. Das liegt weniger an Symfony als vielmehr an PHP.

    Gefällt mir weniger gut

    • Fehlendes Admin Backend. Das Admin Backend von Django ist eine wahre Freude. Ohne etwas zu machen, hat man ein erweiterbares funktionales Backend, um Daten zu bearbeiten. Das fehlt leider bei Django.
    • Syntax. Ist eher ein PHP "Problem", aber mein kurzer Ausflug in die Python Welt hat mir gezeigt, dass es auch eine Welt ohne geschweifte Klammern gibt und dass dadurch der Code doch um einiges leserlicher wird.

    Alles in allem bin ich sehr zufrieden mit Symfony. Es erinnert stark an Django und scheint wie Django für PHP (Logger, ORM, Security…). Leider ist es in einigen Stellen nicht ganz so elegant wie Django. Der geneigte Leser kann sich jetzt natürlich fragen: "Also, warum dann nicht Django". Die Antwort ist ganz einfach. Infrastrukturmässig kenne ich mich viel besser in der LAMP (Linux Apache MySQL PHP) aus. Ich hatte keine Lust mich mit dem ganzen CGI geraffel, welches nötig ist um Python zu deployen herumzuschlagen. Zudem hat Symfony doch auch noch ein bisschen was gemeinsam mit Drupal 😉 … kommt fast ein bisschen Nostalgie auf.

    Meine Empfehlung

    Mit Symfony ist man relativ schnell produktiv. Natürlich: Die Lernkurve ist überall vorhanden, aber dennoch ist es dank der guten Dokumentation machbar.