Warum ich das Error-Handling in Go mag

Immer wieder lese oder höre ich, dass Go-Anfängern dieses ständige

if err != nil {  
    // do something  
}

nicht gefällt. Selbst auf dem sehr lustigen Vergleich If programming languages were weapons kam dieser Punkt auf:

Ich bin da eher der Meinung, dass man falsch an die ganze Sache ran geht, wenn man das so sieht. Fangen wir doch mal an, mit anderen Lösungsansätzen zu vergleichen.

try-catch-Blöcke

Seit es PHP5 gibt, sind try-catch-Blöcke in PHP möglich und erfreuen sich großer Beliebtheit. In Java gibt es das natürlich schon länger und selbst Python hat Exceptions.
Leider gibt es grad in der Scriptsprachen-Welt sehr viele Hohlbirnen, die der Meinung sind, es sei total knuffig, einfach um alles in der main()-Methode ein try mit entsprechend generischem Catcher zu setzen.
Einfach alles abzufangen und in den eigentlichen aufrufenden Methoden immer davon auszugehen, dass sich schon der äußere Catch drum kümmern wird, dass zumindest eine Fehlermeldung ausgegeben wird, kann man schon so machen, ist aber leider sehr kurz gedacht und führt z.B. bei Web-Applikationen dazu, dass man nicht eine spezifische Meldung sieht, was grad gegen die Wand gefahren ist, sondern ein Error 500 oder ein An error occurred - das führt dann gerne dazu, dass Menschen Bescheid sagen, dass die Webseite nicht funktioniert.

weiterlesen »

</watchever>

Vor einigen Monaten hiess es bei uns: „Lass uns mal Lovefilm kündigen und watchever ausprobieren, hab da bisher nur Gutes gehört“. Gesagt getan, dank der jeweils monatlichen Kündigungsfristen.

Es war auch so schön einfach, die PS3 anzuwerfen, den Film auszusuchen und loszulegen. Denkste!

In den letzten Wochen liefen bei uns alle Doctor Who Staffeln, die watchever auch komplett anbietet (Lovefilm hat von der letzten Staffel nicht alle Folgen und Maxdome hat nur die 1., 2. und 5. Staffel). Nachdem wir dann ab der dritten Folge von der PS3 auf den Rechner geschwenkt haben, weil die Konsolen-Version der Software ständig abstürzte, wenn es mal eine kleine Störung im Bild gab, ging es grob.

weiterlesen »

Show in News Feed - meine Facebook-Aufräumaktion

Lange hab ich überlegt, wie ich mal meinen Facebook-Stream etwas aufräumen kann, ohne dafür alle Leute entfreunden zu müssen und hab verschiedene Sachen ausprobiert.

Das Resultat: Das „Show in News Feed“ Häkchen. Nimmt man das Häkchen weg, ist der News-Feed um Beiträge dieses Freundes erleichtert. Da ich aber ab und zu an einem Sonntag-Nachmittag mal Langeweile habe, möchte ich vielleicht einfach mal in der Post-Suppe nachlesen und alle Freunde, denen ich das Häkchen entfernt habe, in eine spezielle Liste gepackt. Somit kann ich dann auch mal Zeug auf mich einprasseln lassen, wenn ich das möchte. Ansonsten ist alles in angenehmer „Lautstärke“.

weiterlesen »

Yet another Cloud-Verschlüsselungsdiskussion

Wow, die Huffington Post ist jetzt in Deutschland und prompt bin ich auf einen Artikel gestoßern, der meine Aufmerksamkeit erregt: „Wie lege ich meine Daten in der Cloud sicher ab?“. Und wenn ich das lese, möchte ich schon wieder brechen.

Mal abgesehen davon, dass es mal wieder so eine typisch deutsche Aussage ist, ist das Thema Cloud-Storage-Verschlüsselung langsam echt mühselig. Als Entwickler muss ich immer wieder sagen, dass niemand an die Konsequenzen denkt. Denn alle wollen Sicherheit bei gleich bleibenden Features.

weiterlesen »

Endlich: Facebook-Posts im Nachhinein bearbeiten

Ich weiß nicht, wie es euch geht, aber ich benutze das Gmail-Feature, dass der E-Mailversand noch für 30 Sekunden verzögert wird und ich das Absenden noch schnell abbrechen kann, weil ich z.B. einen Anhang vergessen habe oder, wie das immer so ist, im Nachhinein feststelle, dass da ein Rechtschreibfehler ist.

So ging es mir bisher auch bei Facebook. Im Nachhinein stellte ich immer irgendein Manko selbst bei den kleinsten Posts fest. Verwirrte alte Männer halt. Aber die Zeiten werden besser: derzeit wird das Bearbeiten-Feature ausgerollt.

weiterlesen »

Googles 15. Geburtstag

Wow, 15 Jahre alt. Für ein Web-Unternehmen ist das unheimlich viel, muss man Google echt lassen. Ich hoffe dass die Firma mit den bunten Buchstaben im Namen auch noch seinen 20. Geburtstag mitbekommt, denn die Richtungen die Google in jüngster Zeit so einschlägt gefallen durchaus nicht jedem. Aber malen wir jetzt nicht den Teufel an die Wand: HAPPY BIRTHDAY!

PS. Ich bin gespannt, was Google seinen Mitarbeitern und auch seinen Kunden und Usern für tolle Sachen zum Geburtstag vorstellt; Android 4.4 wäre ja ein Anfang. Oder dass die Glasses doch unter dem Weihnachtsbaum liegen könnten. Aber ach!

weiterlesen »

Warum wir DevOps und keine Web-Entwickler brauchen

Immer wieder stelle ich fest, dass der gemeine Web-Entwickler nicht über seinen Tellerrand schaut und eigentlich keine Ahnung davon hat, was denn passiert, sobald er sein Werk über FTP auf den gemeinen Webhoster hochlädt.

Und im ersten Absatz sind schon diverse Fehler zu diesem Thema enthalten. Aber erstmal von vorn.

Warum wir DevOps brauchen, zeigt eigentlich dieser schöne Witz:

Ein Programmierer stirbt und wird Petrus vorgeführt.
Dieser meint: „Du warst kein guter Mann, aber auch nicht wirklich schlecht. Du darfst dir selber aussuchen, ob du in den Himmel oder die Hölle kommst!“

weiterlesen »

Lenovo stellt Chromebooks für Schulen her und macht dabei einige Fehler

Nachdem gestern schon geleaked wurde, dass Acer eine neue Chromebox produziert, kam heute Lenovo um die Ecke und zeigt sein neues Chromebook. Speziell für Schulen. Soweit so gut.

Schauen wir uns doch das Gerät von den Spezifikationen her mal genauer an:

  • 11.6’’ (1366x768) display - gute Größe, auch für Kinder
  • 1.3 inches - 3.9 lbs / 1.8 kg - keine Ultrabook-Leichtigkeit, aber okay
  • Up to 6.5 hours of battery - zum Vergleich: das erste Samsung-Chromebook hatte Akkulaufzeiten von 8-10 Stunden
  • Intel® Celeron™ processor - kein High-Level, aber die Schüler sollen ja auch nicht darauf spielen
  • 16 GB Solid State Drive - Dann sind die Daten schon mal grob geschützt vor fallengelassenen Laptops
  • Dual band Wi-Fi 802.11 a/b/g/n and Ethernet - das Wi-Fi hat sogar eine vergrößerte Reichweite, was bei den vielen schlechten Schul-WLANs wohl besser ist
  • HD Camera - gehen wir mal davon aus, dass es dazu dient, dass die Kinder auch mal von daheim mit einer Erkältung mit der Klasse kommunizieren können sollen
  • 2x USB 3.0, 1x USB 2.0 - für die Tastatur und eine Maus hätten auch zwei Ports gereicht, die Hausaufgaben kann man über’s Internet holen, dafür braucht man keinen USB-Stick
  • 1x HDMI Port, 1x VGA Port - VGA und HDMI für Beamer oder einen Monitor zu Hause, ohne dass man wie bei der Chromebox oder dem Chromebook Series 5 und Series 5 550 einen Displayport-Adapter braucht

Bis hierhin soweit okay, aber schauen wir uns das Gerät mal genauer an:

weiterlesen »

Neue Chromebox von Acer

Wie François Beaufort auf Google+ geschrieben hat, wird es wohl demnächst ein neues Chrome-OS-Gerät von Acer geben.

Gut: Die Box wird scheinbar einen Intel-Core-i7-Prozessor mit 2,7 GhZ beinhalten, wie das Kernel-Log zeigt und damit reichlich Power für die richtig guten WebGL-Applikationen haben, die sich nicht immer alle auf die GPU auslagern lassen.

Schlecht: Man hat scheinbar eine 465,7-GB-Nicht-SSD-Festplatte eingebaut. Während also meine derzeitige Chromebox mit der eingebauten SSD in ca. 3 Sekunden hochfährt, braucht die neue Chromebox da wahrscheinlich über 10 Sekunden. Vor allem braucht man die Festplatte einfach nicht. Da auf Chrome OS ja nur der Browser und keine weitere Software als entsprechende Extensions laufen, bringt die große interne Festplatte einfach keinen Mehrwert.

weiterlesen »

App Engine, ich bin zurück!

Ich schrieb vor ca. 1,5 Jahren, dass ich mich von der App Engine verabschiede.

Aber was soll ich sagen: Ich kann nicht ohne sie.

Inzwischen hoste ich viele meiner Arbeiten auf der App Engine und auch endlich wieder Teile dieses Blogs - die Administrationsoberfläche.

Der Grund: Ich hoste weiterhin die fertig generierten Seiten auf Amazons S3 mit der CloudFront als CDN, da es der schnellste Weg ist, um statische Dateien auszuliefern und es gibt halt fast nichts Statischeres als ein Blog.

weiterlesen »