Blog

  • Node.js Einfacher HTTP request

    Einen http Request in Node zu machen ist ganz einfach:

    var http = require('http');
    
    http.get(url, function(res) {
      console.log("Got response: " + res.statusCode);
      var bodyarr = [];
    
      res.on('data', function(chunk){
        bodyarr.push(chunk);
      });
      res.on('end', function(){
        console.log(bodyarr.join('').toString());
      });
    }).on('error', function(e) {
      console.log("Got error: " + e.message);
    });
    

    Damit das ganze klappt muss das Module http. Soweit so gut. Dann wird der Request abgeschickt, und es kommt eine Response (res) zurück, Inhalt gibts hier jedoch noch keinen:

    console.log("Got response: " + res.statusCode);
    var bodyarr = []
    

    In diesem Response Objekt befinden sich die Headers und alle möglichen Sachen, aber noch kein Body. Dieser muss mit einem Listener abgeholt werden. Zudem bereiten wir auch schon mal einen Container für die Einzelteile der Antwort vor.

    res.on('data', function(chunk){
        bodyarr.push(chunk);
      });
    

    Dabei nicht erschrecken, denn chunk ist ein Bufferstream, da das ganze asynchron daher kommt, werden die ganzen Einzelteile vorerst mal in einem Array gespeichert.

    res.on('end', function(){
        console.log(bodyarr.join('').toString());
      });
    

    Wenn alles fertig ist, können wir den Array zusammenfügen und dann noch zu einem String umwandeln. Und schon ist fertig. In meiner produktiven Methode sieht das dann wie folgt aus:

    fetchResult = function(url, callback) {
        var http = require('http');
    
        var bodyarr = [];
        http.get(url, function(res) {
          res.on('data', function(chunk){
              bodyarr.push(chunk);
          });
          res.on('end', function(){
              callback(bodyarr.join('').toString());
          });
        }).on('error', function(e) {
          callback(e.message);
        });
    }
    

    Nicht vergessen, die callback Funktion, welche ausgeführt wird, wenn eben alles fertig ist.

  • Audio und HTML5

    Wieder mal ein paar Stunden mit einfachen Problemen vertrödelt. Audio und HTML5 sollte die einfachste Sache werden. Denkste.

    Problem 1 – Audio Element ohne DOM Manipulation

    Geht ganz einfach und sollte nun wirklich kein Problem sein:

    var audio = new Audio();
    audio.src = "my-file.mp3";
    audio.play();
    

    Der Start ist problemlos und ich werde schon ein bisschen euphorisch.

    Problem 2 – Die Sache mit den Codecs

    Freitag Nacht. Entwicklung auf dem Notebook via Google Chrome und Apache. Alles läuft problemlos. Der liebe Browser spielt die Files ohne zu mucksen ab.

    Samstag Mittag. Entwicklung auf dem Desktop via Chromium und nginx. Nichts läuft mehr. Viele Fragezeichen und schonmal die erste Stunde mit Googlen und Probieren verbraten. Liegt es vielleicht an Nginx?. Ich finde heraus, dass mp3 nicht funktioniert, ogg jedoch schon, doch ogg funktioniert auf dem iOS nicht, also nicht praktikabel. Dann dämmerts: Chromium ist Open Source, mp3 aber nicht, daher kein Support dafür und nein an nginx liegts definitiv nicht.

    Lösung: Die App wird sowieso auf Android und iOS laufen, und sollte daher dann problemlos laufen. Sollte. Gelöst.

    Problem 3 – Gibts nicht

    … aber wahrscheinlich schon. Laut meinen Google Recherchen hat das Audio Element noch so seine Macken. Es ist also mit Vorsicht zu geniessen. Bisher habe ich diese jedoch nicht gefunden.

    Ein paar nützliche Seiten

    Die folgenden Seiten, haben mir während meinen Nachforschungen weitergeholfen:

  • Jekyll ein erster Rückblick

    Mittlerweile sind es knapp 3 Wochen her seit ich mich von WordPress verabschiedet habe und habe aktuell zwei Blogs als statische Seite mittels Jekyll am Laufen. Für die ungeduldigen Leser das kurz Fazi schonmal vorweg: Sehr gut.

    Im Folgenden werde ich ganz kurz die beiden Settings beschreiben und dann am Schluss noch ein kleines Fazit ziehen und die Gründe erwähnen, warum ich WordPress den Rücken gekehrt habe.

    Setting 1 – Github

    Kern dieses Blogs (rapsli.ch) ist Github und Github pages. Alles was ich machen muss ist einen neuen Beitrag in posts einchecken und ein paar Minuten später sit die neue Seite online.

    Deployen & Hosting

    Muss ich mich nicht drum kümmern, da alles von Github und Github Pages gemacht wird, welches wiederum das Versionssystem Git als Grundlage hat. Seitenladezeiten sind sehr schnell und vor allem muss ich mich um keine Updates kümmern.

    Editieren der Post

    Dafür brauche ich verschiedene Tools, je nach Verfügbarkeit:

    • Git aus der Kommandozeile mit einem lokalen Texteditor (sublime text). Meistens wenn ich an meinem Rechner zuhause arbeite oder grössere Umbauarbeiten an verschiedenen Texten vornehmen muss.
    • Github direkt. Github bietet die Möglichkeit an, Dateien online zu editieren. Verwende ich meistens, um kleinere Änderungen an der Konfiguration oder dem Layout durchzuführen.
    • prose.io. Habe ich erst gerade entdeckt, aber ist im Prinzip ein alternatives Github Backend. Bequem neue Posts erstellen, editieren und löschen. Sehr nett ohne viel Schnickschnack dafür funktional.

    Prose

    Feature Reichtum

    WordPress und Co. bieten tausende von Modulen mit noch mehr Funktionen. Brauche ich das alles? Das wichtigste Feature ist mir zu schreiben und die Kommentare und das kann ich weiterhin gewährleisten. Die zig anderen Features brauche ich nicht und führen zu einer überladenen Seite. Daher ohne viel Emotionen die vielen Module abgeschalten.

    Setting 2 – Selber hosten

    Hier handelt es sich, um ein kleines Privates Blog für den engen Familienkreis und enge Freunde. Es zählt genau 20 Leser.

    Deployen & Hosting

    Ist ein kleines bisschen komplexer. Grundlage hierfür ist Dropbox. Dropbox läuft auf meinem privaten kleinen Homeserver mit einem eigenen Account. Dort sind die ganzen Files drin. Ich share den Ordner mit meinem persönlichen Dropbox Account.

    Änderungen werden sofort auf den Server synchronisiert. Der Server überwacht den Ordner und sobald eine Änderung vorhanden ist wird Jekyll angeworfen, welcher die Seite neu generiert und auf den Webserver wirft.

    Das hier ist die Anleitung, welche ich befolgt habe: Jekyll & Dropbox

    Editieren der Post

    Einfach in einem Texteditor, was halt in der Dropbox drin ist. Ist dann auch ganz einfach einen neuen Benutzer hinzuzufügen -> braucht einfach einen Dropbox Account und schon kann er loslegen.

    Feature Reichtum

    Hier musste ich ein paar Workarounds suchen, da ich folgende Features auf meinem WordPress Blog hatte: Passwortschutz fürs Blog, E-mail Notification wenn ein neuer Blogeintrag geschrieben wurde.

    Passwortschutz: htaccess mit einem generischen Usernamen und Passwort. Es handelt sich hier schliesslich nicht um Hochsicherheitsinhalt sondern es geht lediglich darum, dass es nicht gerade öffentlich ist.

    E-mail Notification: Mailchimp ist die Lösung und bietet noch vieeel mehr Möglichkeiten, als ich das bisher mit dem WordPress Blog hatte. Ganz einfach das RSS Feed anhängen und schon klappt das wunderbar. Mailchimp hat einen Free Tier, welcher mit 12'000 E-mails (ich glaube pro Monat) bestens für meine Anforderungen reicht.

    Warum das ganze?

    • Neue Technologie zum Spielen und ausprobieren. Das ist einfach der Geek in mir.
    • Kosten senken: Die beiden Blogs kosten mich keinen Cent mehr und ich habe trotzdem die volle Kontrolle darüber und kann tun und lassen, was ich will (das war der Grund, warum ich nicht zu WordPress.com gewechselt habe)
    • Performance: Falls ich jemals den Digg Effekt erleben sollte, dann habe ich auf jeden Fall nichts zu befürchten.
    • Maintenance fällt weg (auch wenn das bei WordPress relativ einfach war)
    • Security ist kein Thema mehr (wenn dann mal der Digg Effekt da ist, besteht auch mehr Interesse die Seite zu hacken 😉
    • Templates sind viel einfach und flexibler. Ich könnte mich nach Lust und Laune austoben, aber habe leider im Moment keine Zeit.
    • Die Technologie ist zwar primitiver und eigentlich ist es ein Rückschritt, aber ich kann einfach mit Find and Replace alles mögliche ändern, was in WordPress doch ein bisschen mehr Zeit gebraucht hätte.

    Und mein Fazit

    Bisher rundum zufrieden. Vor allem jetzt noch mit Prose, welcher mir erlaubt, ganz bequem Eintrage zu editieren und zu erstellen auch wenn ich mal keinen Git Client installiert habe, sondern irgendwo in einem Internet Café sitze. Perfekt.

    Klaro. Viele Features fallen Weg und dennoch kann ich mir damit einfach Workflows zurechtbiegen, so wie ich sie gerne hätte.

  • Das Internet eine Javascript Goldgrube des Wissens

    Da habe ich doch mal wieder eine wahre Goldgrube entdeckt: jsbooks.revolunet.com. Eine Sammlung von öffentlichen, freien Büchern rund um JavaScript. Die Titel lauten:

    • Javascript Enlightenment
    • Eloquent Javascript
    • Building A JavaScript Framework
    • JS in ten minutes
    • Smooth CoffeeScript
    • Node Beginner
    • jQuery Fundamentals
    • Developing Backbone.js Applications
    • Javascript Guide
    • JavaScript For Cats
    • Javascript Design Patterns
    • Writing Modular JavaScript With AMD, CommonJS & ES Harmony
    • The little Book on CoffeeScript
    • Master Space and time with JavaScript – The Basics
    • HTML Canvas Deep Dive
    • Dynamisez vos sites web avec JavaScript !
    • Testing with CoffeeScript
    • The Past, Present, and Future of JavaScript
    • Dive into HTML 5
    • Javascript Garden
    • The little MongoDB book
    • Up and Running with Node.js
    • Mixu's Node book
    • Single page apps in depth
    • Mastering NodeJS
    • JS The Right Way
    • Building Browser Apps with Google Chrome
    • Single page apps in depth
    • Programmin Windows 8 Apps
    • CoffeeScript Cookbook
    • DOM Enlightenment
    • JavaScript Applications

    Ist doch bereits eine lange Liste und das gleiche gibt es auch noch für Python Bücher: pythonbooks.revolunet.com. Das faszinierende an diesen beiden Listen ist, dass diese via Github gepflegt werden: Es gibt ein JSON file, wo man einen Eintrag machen kann, worauf das Buch dann auf der Seite erscheint.

    Github wird immer mehr zu einem riesigen offenen Datenhub. Die Daten liegen als Github vor und können so auch weiter verwendet werden.

    Es sei an dieser Stelle noch anzumerken, dass nicht alle Bücher vollständig sind. Für einige Bücher sind lediglich ein paar Kapitel verfügbar.

    Kennt ihr noch andere interessante Listen mit Wissen? Falls ja, bitte einen kleinen Kommentar hinterlassen.

  • 100 KM Biel – Am Ziel

    Die letzten 100 m, das Ziel in Sicht, es reicht sogar noch für einen kleinen Mini Sprint und dann endlich geschafft. Aber von vorne: Um 22 Uhr gings los, sternenklar, angenehm kühl (1-2° zu kühl). Ich starte ganz hinten, da ich die ersten 10 km bewusst gehen will. Es stellt sich heraus, dass das viel schwerer als erwartet ist. Links und rechts ist die tosende und begeisternde Zuschauerschar, welche mich antreibt. Ich komme mir ein bisschen wie ein Waschlappen vor, da doch die meisten loslaufen, als würde es sich um einen Marathon handeln. Meine Wille bleibt stark und so gehe ich (möglichst schnell) und geniesse die Stimmung.
    start in biel

    Die erste Steigung

    Nach 5 km kommt dann auch schon die erste Steigung. Auf dem Topographiekärtchen sieht das nach einer grösseren Überführung aus, stellt sich jedoch heraus, dass es sich hier um eine wahrhaftige Erhebung handelt. Damit habe ich nicht gerechnet, aber zum Glück bin ich ja sowieso am Gehen. Unterwegs immer wieder ganze Dörfer auf der Strasse, welche Festzelte aufgebaut haben und gespannt den Läufern zuschauen und diese Lauthals unterstützen… ja, wenn ihr schon tief und fest schlafen, werde ich wohl immer noch unterwegs sein.

    start in biel

    Irgendwie sehe ich am Start doch noch ziemlich viel entspannter aus.

    Unter den Sternen

    Dann kommt irgendwann mal Feld. Der Mond zeigt sich nicht und alles was ich sehe sind viel Sterne oben und hinter mir eine endlose Kolonne von kleinen weissen Lämpchen. Regelmässig überholen mich «Dampfmaschinen» und ich weiss, dass wieder ein Halbmarathönler im Anmarsch ist. Zu dem Zeitpunkt bin ich froh, über die volle Distanz zu gehen, da ich somit Zeit habe, diese wunderschöne Nacht zu geniessen.
    Unterdessen bin ich auch in einen ganz leichten Trab übergegangen, aber ich merke schon sehr bald, dass es irgendwie nicht ganz so rund läuft. Schien mir immer, dass ich die Trainingseinheiten in diesen Distanzen viel leichter gelaufen bin.

    Bye Bye, Halbmarathon

    Aarberg, ca. 00:15. Trotz später Stunde ist das Städtchen noch gerammelt voll. Hier ist der Zieleinlauf für die Halbmarathönler und die werden auch gebührend in Empfang genommen. Das kommt auch mir zugute und ich bekomme auch ein paar Runden Applaus, aber es sind ja immer noch mehr als 80km!

    Dann gehts weiter nach Lyss, wo ich auf meinen Velocoach treffe. Unterwegs ein paar Bekanntmachung gemacht. Diese fangen meistens so an:

    Das erste Mal in Biel?
    Ja.
    Und, gut vorbereitet?
    Ja, eigentlich schon.
    Noch ein paar Sätze und dann wieder aufs Laufen konzentrieren

    Das mit dem gut Vorbereitet sein, stelle ich so in Frage. Im Nachhinein muss ich sagen, dass ich ungenügend vorbereitet war, aber mehr dazu noch.

    In Lyss treffe ich die Überreste einer Party an. Die harten sind noch da, doch viele liegen bereits im warmen Bett. Irgendwo tönt noch die Musik einer Disco und dann kommt auch schon mein Velocoach. Schön, ein vertrautes Gesicht zu sehen und gemeinsam gehts weiter.

    Verpflegung

    In ziemlich regelmässigen Abständen kommen wartet jeweils ein mehr oder weniger ausgiebiges Buffet auf mich: Verschiedene Trinken, Brot, Bananen, Power Riegel, Orangen… Alles was das Ausdauersportlerherz begehrt. Ich beschränke mich meistens auf Bananen und Power Drinks. 2-3 Gels, aber die sind mehr Zwang mit dem Hintergedanken, dass ich dann wieder schneller kann, als dass mir die irgendwie schmecken. Der Aufsteller ist definitiv der heisse Bouillon: Anfänglich überhaupt nicht in betracht gezogen, dann doch gewagt und war herrlich: Angenehm warm und einfach köstlich (neben diesem ganzen Power-Süss-Kram).

    Sonnenaufgang, neue Hoffnung

    Nachdem wir bei einem Bauernhof die Marathönler hinter uns lassen und nochmals eine (viel zu lange und Steile) Steigung passieren erblicke ich am Horizont ganz leicht die erste Morgendämmerung und nein, diesmal ist es auch nicht der Schein von Bern oder einer anderen grösseren Stadt. Jede kleinste Steigung nutze ich, um ein bisschen Gehen zu dürfen und manchmal ist die Steigung auch nur eingebildet, aber so langsam aber sicher fängt es an den Kräften zu zerren an.

    Das ist ein wahrer Moment der Hoffnung. Nach gut 7 h Dunkelheit endlich wieder ein bisschen Licht. Ich erreiche KM 50 ziemlich genau 5 Uhr früh und stelle mir vor, dass jetzt bereits die ersten Läufer im Ziel sind, frustrierend oder motivierend, das weiss ich jetzt noch nicht.

    Mit jedem Meter, den ich jetzt laufe, bin ich weiter gelaufen, als ich je zuvor in meinem Leben gelaufen bin (soviel zu meiner Vorbereitung). Irgendwie ist auch das Motivation und irgendwie auch ziemlich abschreckend, wenn ich denke, dass ich nochmals soviel laufen muss.

    morgendämmerung

    Ho-Chin-Minh

    Kirchberg erreicht. Kirchberg ist für mich ein wichtiger Meilenstein, da es von hier aus weniger Kilometer sind als bis hierher und da ich den Weg der Emme entlang ein bisschen kenne, Heimvorteil sozusagen. Der Pfad ist sehr eng und steinig und ich bin doch froh, dass ich hier nicht in der Dunkelheit durchrennen musste. Dort setze ich auch meine Kopfhörer auf und höre meine Power CD. Sofort fällt das laufen viel einfacher und ich überhole einen nach dem Anderen. Als Endspurt wäre das super, aber es geht immer noch 40 km. Nach gut 45 Minuten ist mal wieder Pause angesagt und ich verfalle in meinen normalen «Jogging-Geh Stil».

    Plötzlich sehe ich vor mir niemanden mehr. Auch hinter mir niemand mehr. Wo sind die alle hin. Panik steigt schon langsam auf, wenn ich dran denke, dass ich wieder zurück laufen muss, doch ich weiss, dass der Weg der Emme entlang geht und dann sehe ich den ersehnten Mitstreiter auf der gegenüberliegenden Flussseite und so habe ich ein paar Meter auf der Nebenstrecke zurückgelegt.

    Ho-Chin-Minh

    Mentale Unterstützung naht

    Bei KM 70 erwartet mich meine Familie. Doch dieser KM will und will einfach nicht näher kommen und so langsam dämmert es mir auch, dass alle sagen, dass bei KM 70 die Hälfte erreich ist. Daran will ich jetzt nicht denken, einfach nur voran, und dann endlich die ersehnte Unterstützung. Sie rennen sogar bis zum nächsten Dörfchen mit und das ist doch Motivation genug (es sei angemerkt, wie schnell ich am Joggen war, wenn sogar meine 4 Jährige Tochter vor mir hergelaufen ist).

    Mittlerweile ist auch die Sonne bereits ziemlich hoch, da es doch bereits 10 Uhr ist. Ich bin sehr froh, meinen Velocoach dabei zu haben und somit stets Zugriff zu Wasser habe und es vor allem nicht rumtragen muss. Langsam macht sich auch eine kleine Blase am linken Fuss an der Verse bemerkbar. Das führt dazu, dass ich den Fuss nicht mehr schön abrolle sondern ein bisschen aufklatschen lasse (was wohl jetzt im Nachhinein die Knieschmerzen verursacht hat).

    Unterstützung

    Der lange Leidensweg

    Von den letzten 25 KM gibt es nicht mehr viel zu berichten. Eigentlich hatte ich mir diese 25 KM einfacher vorgestellt: 25 KM sind absehbar, das kenne ich gut, das ist schon 3/4 der Strecke, das klappt schon: FALSCH.

    Kurz nach KM 75 nochmals die Killersteigung auf den Hügel um dann auf der anderen Seite runter nach Arch. Gleich vor dem Hügel auch noch ein «Shuttle-Bus direkt nach Biel, für diejenige, welche nicht mehr können», doch der kommt definitiv nicht in Frage. Um hochzukommen ist gehen sowieso gesetzt doch auch das runterlaufen ist nicht ganz so einfach. Scheint als melden sich meine Knie und so wird runterlaufen fast anstrengender als hochlaufen und so ist auch hier gehen angesagt. Dann endlich in Arch eingetroffen, jetzt nur noch der Aare entlang und nach Biel, eine Kleinigkeit.

    Die Kilometer werden länger und länger: Eigentlich sollte alle 5 KM ein Schild sein, doch ich könnte Schwören, dass die die Kilometeranzahl verdoppelt haben. So kommt dann doch endlich der Kilometer 85 und ich frage mich, wie ich es noch bis ins Ziel schaffen soll. Mittlerweile ist es auch ziemlich ruhig geworden. Die Nacht hindurch haben wir noch Witze und dumme Sprüche geklopft, von denen ist jetzt nichts mehr zu sehen oder zu hören. Eigentlich war mal der Plan, bei 80 oder 85 KM noch ein bisschen das Tempo zu erhöhen doch davon bin ich Kilometerweit entfernt. Ich bin froh, wenn ich nur vorankomme.

    Auf der Zielgerade

    Irgendwann kommt auch die 90er Tafel. Anhalten kommt jetzt nicht mehr in Frage, obwohl mein Körper nach einer Pause schreit. Ich weiss jedoch, dass jede Pause die Schmerzen hervorquellen lässt, welche beim Laufen einfach mysteriös verschwinden. So überlasse ich das Trinken fassen meinem treuen Velocoach und nehme die Flüssigkeit unterwegs zu mir. Wie soll ich diese letzten Kilometer noch schaffen? Es fehlt jegliche Energie. Es reicht nicht einmal mehr, um die Kopfhörer für meinen Powersong aufzusetzen und so gehts einfach voran, immer weiter.

    Zielgerade

    Der Schein auf dem Foto trügt (liegt wahrscheinlich an der Sonnenbrille), aber die Pose ist bewusst so gewählt, damit ich nicht anhalten muss, weil dafür die Kraft nicht mehr reicht.

    Dann endlich: 95 KM. Von jetzt an, gibt es ein Schild für jeden Kilometer. Ich quäle mich durch die Strassen und langsam wieder nach Biel hinein. Es gibt noch zwei klitzekleine Steigungen, die mir wie Berge erscheinen und eine Frau, welche ich bei Kilometer 85 überholt habe, joggt wieder leichtfüssig an mir vorbei (Hut ab) und dann endlich, das Festzelt in Sicht und gleich danach die Zielgerade: Der Speaker feuert mich noch persönlich mit Namen an und so reicht es doch noch, um diese 100m zu joggen und dann das erlösende Ziel.

    Am Ziel

    Grosse Emotionen. Ich könnte in Tränen ausbrechen, schreien vor Glück und gleichzeitig einfach vor Erschöpfung auf den Boden fallen. Ich habe es geschafft: In 15:25 habe ich die 100 Kilometer von Biel hinter mich gebracht. Mein Respekt für alle, welche den 100er von Biel machen ist enorm gewachsen. Ich habe diese Strecke massiv unterschätzt und dass das so ein Kampf wird, hätte ich mir beim besten Willen nie erträumt. Geschafft ist geschafft und die Zeit lässt auf jeden Fall noch Luft nach oben offen … nur wann, weiss ich noch nicht 😉

    An dieser Stelle auch ein herzliches Dankeschön an Flo, meinen Velocoach, der mir tapfer die ganze Nacht hindurch zur Seite gestanden ist. Sorry, dass ich die Motivation nicht immer in Praxis umsetzen konnte 😉 War super!

    Am Ziel

  • PM Lunch – Auswahl der richtigen PM Software

    An PM Software scheiden sich die Geister. Ist wahrscheinlich eines der top diskutierten Themen in der Projektmanagementwelt. Es gibt ja auch eine ziemliche breite Palette von Bug trackern über Collaboration tools, bis hin zu Ressourcenverwaltungen oder ganz einfachen Todolisten und alle von ihnen haben den Anspruch einer PM Software. Stefan Hagen hat ein Interview mit Dr. Mey Mark Meyer gemacht. Mey hat sich auf PM Tools spezialisiert.

    Laut Stefan Hagen wird es auch in Zukunft weitere solche PM Launches mit Branchen Experten geben.

    Und Wenn ich schon gerade am Schreiben bin. Mein kleines Simple PM Tool ist immer noch am Entstehen. Freue mich über Feedback und Input.

  • Die letzten 24 h

    Schuhe sind gepackt. Kleider sind mental schon bereit. Die Wetterprognose könnte besser nicht sein (13-15°C), ich habe die letzten beiden Nächte 9 h geschlafen. Es scheint alles parat zu sein. Doch kann man für so ein Event überhaupt parat sein?

    Wahrscheinlich könnte man, wenn man jede Woche 100 km gelaufen ist. Kann man das jedoch auch sagen, wenn man pro Woche 30-60 km gelaufen ist? Meine längste Strecke war 48 km (mit zwei zugedrückten Augen ist das 50% und die erfahrenen Bieler sagen, dass die Hälfte erst bei 70km erreich ist).

    Falls jemand Nachts Probleme mit Schlafen hat, darf er sich gerne an den Streckenrand stellen und mir ein bisschen applaudieren. Auf der Karte darunter sollte es eine Marschroute drauf haben… ob ich mich daran halten kann oder sogar noch schneller bin??? … morgen werde ich es wissen.

    Roadmap

    Ich werde zudem versuchen regelmässig meine Position via Twitter durchzugeben. Für ein Livetracking reicht der Akku leider nicht. Ich werde zudem schöne farbige Leuchtwürmchen tragen… man wird mich hoffentlich sehen 😉

    Doch dann habe ich folgenden Spruch entdeckt (via tumblr)

    Der Aufsteller des Tages!

    Your lungs are burning.
    Your legs are shredded.
    And this is just the beginning.
    We are a different breed.

    Don't be afraid.
    Let you animal instincts
    kick in as you devour the pack.
    This is miles of agony vs ecstasy.
    Injuries be damned.

    The thrill of the hunt drives
    you to slay your opponent.
    Pain is temporary,
    victory is eternal.

    Mal schauen, ob ich noch Twittern kann… wer mir folgen möchte: #100kmbiel. Schauen, obs auf der Zielgerade noch für einen Tweet reicht 😉

    Sodala, dann ist alles gesagt… der Tag, bzw. die Nacht möge kommen und mir gnädig sein.

  • Die letzte Trainingsrunde

    Die Vorbereitungszeit ist vorbei. Heute noch eine zügige 5 km Runde eingestreut, um die Moral und Vorfreude noch ein wenig zu steigern und das wars dann auch schon. Seit gut 6 Monaten habe ich mich für meine Verhältnisse intensiv auf die bevorstehenden Strapazen vorbereitet, auf die Nacht der Nächte, die Runde aller Runden, den 100 km Lauf von Biel Ein Herzblut Ultraläufer werde ich definitiv nicht, aber für die Zielgerade sollte es doch reichen.

    Die Wetter Prognose für den kommenden Freitag sieht zum Glück wieder freundlicher aus und anstatt der Badehose kann ich doch die Laufhosen anziehen (wenn ich jedoch die aktuelle Wetterlage überdenken, dann habe ich gelernt, dass es von Tag zu Tag ändern kann). Ich weiss nicht was schlimmer sein könnte, als 100km im Regen laufen zu müssen? Vielleicht 100km ohne Essen, aber das wäre es dann auch schon.

    Am meisten freue ich mich auf die letzte 10km, das Ziel schon fast vor Augen und trotzdem noch 10% der Strecke vor mir. Was für ein Gefühl das wohl sein muss? In weniger als einer Woche werde ich schlauer sein und kann dieses Kapitel in meinem Leben auch durchstreichen.

    Mal schauen, ob ich unterwegs zwischendurch mal einen Tweet absetzen kann: Hashtag #100kmbiel, falls es noch andere Geeks dabei gibt 😉 … Geeks on the run!

  • WordPress Good Bye

    In den letzten paar Wochen habe ich ein wenig mit Jekyll rumgespielt und war so begeistert, dass ich sogleich mein migriert habe. Eigentlich habe ich schonmal vor ein paar Monaten damit geliebeugelt, aber das ganze Ruby Zeugs hat mich damals ein bisschen abgeschreckt.

    Jekyll

    Jekyll ist ein Static Site generator… sprich eigentlich Internet Back to the roots. Nix dynamisch, sondern einfach statische Seiten. Ja statische Seiten in Ordnern und Unterordnern verpackt. Polls, Formulare und all die schönen Sachen sind nicht mehr möglich. Back in die Frontpage Zeit 🙂

    Ganz so steinzeitlich ist es natürlich nicht mehr. Inhalt und Layout wird strikt geteilt und so ist es möglich jederzeit das Layout zu ändern. Einziger unterschied, die komplette Seite wird bei jeder Änderung komplett generiert und liegt dann als HTML Dateien vor, ist somit portabel und Backups sind auch keine grossen Probleme mehr.

    Warum

    WordPress ist ja schön und gut, aber ich habe festgestellt, dass ich die ganzen vielen Features und Vorteile einer Datenbank einfach nicht mehr nutzte. Ich hatte lediglich noch meine Posts und Kommentare, welche ich jedoch schon seit langem via Disqus betreibe. Trotzdem musste ich immer mal wieder die Plugins und Module aktualisieren, Sicherheit ist auch immer wieder ein Thema und dann natürlich nicht zu schweigen von der Performance, all das fällt weg. Ich kann meine Posts schreiben und alles schön bei Github deponieren und gut ist.

    Wie Weiter

    Ich werde jetzt mal ein wenig damit herumexperimentieren und schauen, wie es mir gefällt… Aber es gibt ja unzählige von sehr begeisterten Jekyll Anwendern, von daher denke ich, dass ich hier gut aufgehoben bin.

  • 8 Lern Seiten für zukünftige Web Entwickler

    Nie war es einfacher. Als ich zu meiner Zeit noch angefangen habe zu programmieren, da waren vor allem Bücher gefragt: Lesen und abtippen (copy & paste ging nicht) und wenn das Programm nicht lief, dann gabs auch kein stackoverflow sondern dann hatte man entweder einen Freund, den man fragen konnte oder aber man hat gegrübelt und probiert bis es klappt.

    Hier eine Liste mit ausgezeichneten Ressourcen für alle zukünftigen Zen Coders 😉 – Wahrscheinlich hätte ich noch eine Seite zum Englisch lernen hinzufügen sollen, da alle Seiten in Englisch sind… in der IT Welt ist das wohl einfach eine Grundvoraussetzung.

    Falls du noch weitere gute Seiten kennst, bitte unbedingt in die Kommentare posten.

    codeacademy logo

    Codeacademy

    Sprachen

    • Web Fundamentals
    • JavaScript/jQuery
    • Python
    • Ruby
    • PHP
    • Common APIs (e.g. YouTube, Twitter, Evernote…)

    Randdaten

    Zusammenfassung: Verschiedene Lehrgänge, welche auf Learning by Doing setzen. Es gibt einen Editor im Browser zum Programmieren. Übungen können direkt online durchgeführt werden. Sehr hübsch und einfach aufgebaut. Das ganze ist als Community aufgesetzt, sprich jeder kann Übungen online erstellen.

     

    udacity logo

    Udacity

    Sprachen

    • Java
    • Javascript

    Randdaten

    Zusammenfassung: Technisch perfekt umgesetzte Kurse: Videos mit eingebauten Übungen, welche gleich direkt im Browser gelöst und überprüft werden können. Zu jedem Kurs gibt es auch ein Forum, wo die Übung diskutiert werden.

     

    it-books

    It-ebooks

    Sprachen

    • Diverse

    Randdaten

    Zusammenfassung: Der eine oder andere bevorzugt vielleicht lieber ein bisschen traditionellere Methoden zum Lernen: Ein Buch. Es gibt Bücher zu allen möglichen Themen und Sprachen: Java, JQuery, PHP, Javascript, Canvas und und und. Die Bücher können als PDF heruntergeladen werden, online gelesen werden oder gekauft werden.

     

    html5 doctor logo

    HTML5 Doctor

    Sprachen

    • HTML

    Randdaten

    Zusammenfassung: HTML5 ist die Grundlage für jeden Webentwickler. HTML 4 hat 14 Jahre auf dem Buckel und wird langsam durch HTML5 abgelöst. HTML5 Doctor beschäftigt sich mit dem Markup und erklärt die neuen Javascript APIs, welche dem Webentwickler zur Verfügung stehen, wie z.B. Web SQL, Native Drag & Drop oder Application Cache. Eine Vielzahl an Artikeln geben einen guten Überblick über HTML5.

     

    code school logo

    Codeschool

    Sprachen

    • Javascript
    • Ruby
    • iOS
    • HTML/CSS/SASS

    Randdaten

    Zusammenfassung: Sehr ansprechende Seite. Einige Kurse sind frei zugänglich, andere müssen gekauft werden. Lektionen mit Video und eingebauten Übungen.

    Treehouse Logo

    Treehouse

    Sprachen

    • Javascript
    • Ruby
    • iOS

    Randdaten

    Zusammenfassung: Gratis gibt es nicht sehr viel Inhalt. Die Jungs haben ein wöchentliches Videopodcast, wo sie während ca 20 Minuten über technische Themen sprechen. Sehr professionell. Mit den eigentlichen Videos habe ich keine Erfahrung.

     

    dive into html5

    Dive into HTML5

    Sprachen

    • HTML5

    Randdaten

    Zusammenfassung: Wer gerne liest, kann sich auf dieser Webseite vertiefen. Mehr Text findet sich auf kaum einer Seite. Es mag ein bisschen altmodisch aussehen, der Inhalt ist jedoch top aktuell und sehr verständlich.

     

    caniuseit screenshot

    Can I Use

    Beschreibung: caniuse.com ist ein Nachschlagewerk. Probleme in der Webentwicklung ist seit der Entstehung des Webs vor allem die Browserkompatibilität. Angefangen mit dem grossen Browserkrieg zwischen Microsoft und Netscap geht es mittlerweile zwischen Chrome, Microsoft, Firefox und co weiter, wobei die alle Fronten gleich verhärtet sind.

    caniuse.com ist ein riesiges interaktives Nachschlagewerk, zum herausfinden, ob ein Browser eine bestimmte Funktion/bestimmtes Feature unterstützt oder nicht. Dabei werden HTML, CSS und Javascript abgedeckt (also alle gängigen HTML5 Elemente). Sehr empfehlenswert!

    Url: http://caniuse.com

    The CodePlayer

    HTML, CSS und Javascript. Lernen Anhand von Beispielen. Hat einige nette Beispiel dabei. Entweder den Code selber anschauen, oder "beim schreiben" zuschauen.

    Url: http://thecodeplayer.com/

    Fazit

    Der Weg ist lang und steinig, aber alle haben irgendwann mal begonnen… auch die Grossen und falls du noch weitere gute Seiten kennst, bitte unbedingt in die Kommentare posten.

    http://www.youtube.com/watch?v=nKIu9yen5nc