Zusammengesetzte Daten in Clojure

Dieses Posting setzt unsere Clojure-Einführung (hier Teil 1, Teil 2, Teil 3) fort. Dieses Mal geht es um zusammengesetzte Daten.

Weiterlesen...

Monaden für's Reverse Engineering

Der Spieleverlag Ravensburger hat in seinem Programm den „Tiptoi-Stift“, der mit einer Kamera in der Spitze und einem Lautsprecher ausgestattet Kinderbücher zum Sprechen bringt. Die Logik für den eingebauten Prozessor steckt dabei in einer Datei im GME-Format, die man sich auf der Webseite von Ravensburger herunterlädt und auf den Stift kopiert.

Ein paar interessierte Bastler haben sich dieses proprietäre, binäre Dateiformat vorgenommen und weitgehend entschlüsselt, so dass man jetzt seine eigenen Bücher und Spiele für den Tiptoi-Stift erstellen kann. Das dabei entstandene Programm tttool zum Analysieren und Erzeugen von GME-Dateien ist in Haskell implementiert, und mal wieder waren Monaden dabei eine große Hilfe.

Dieser Artikel geht auf zwei Anwendungen von Monaden in diesem Projekt ein:

  • Dass sich Parser gut mit Monaden spezifizieren lassen, ist nichts neues. Hier wurde der Parser zusätzlich so instrumentiert, dass er sich merkt, welche Dateibereiche welche Bedeutung hatten, was beim Verstehen eines unbekannten Dateiformates eine große Hilfe ist. Dank der Abstraktion durch Monaden musste der Parser selbst kaum angepasst werden.
  • Diese GME-Dateien lassen sich nicht ohne weiteres in einem Rutsch rausschreiben, da man dazu vorher wissen müsste, an welchen Stellen in der Datei später was landet. Da wäre es geschickt, wenn man beim Programmieren „in die Zukunft blicken könnte“. Das geht tatsächlich: Mit Monaden und der rekursiven Do-Notation.
Weiterlesen...

Verzweigungen in Clojure

Dieses Posting setzt unsere Clojure-Einführung (hier Teil 1, Teil 2) fort. Dieses Mal geht es um Fallunterscheidungen.

Weiterlesen...

BOB Konferenz 2015, ein kleiner Rückblick

Die erste Ausgabe der BOB-Konferenz 2015 ist Geschichte! Mehr als 120 Softwarentwickler, Macher und Entscheider kamen am 23.1.2015 in Berlin zusammen, um sich über die neuesten Trends in der Softwareentwicklung zu informieren und auszutauschen. Uns als Veranstalter hat die Konferenz viel Spaß gemacht und auch das Feedback der Teilnehmer war durchweg positiv.

An dieser Stelle möchten wir auf die sehr interessante Veranstaltung zurückblicken und zusammenfassen, was es auf der BOB-Konferenz alles zu sehen und hören gab. Falls jemand dadurch Lust bekommt, den einen oder anderen Vortrag anzuschauen: kein Problem, die Slides und Videos zu (fast) allen Vorträgen sind online verfügbar, entweder verlinkt in der Programmübersicht oder auf unserem YouTube-Channel.

Weitere Impressionen zur Konferenz finden Sie auf der Google+-Seite der Konferenz. Folgen Sie uns auch auf Twitter, Google+ und Lanyrd, um über Neuigkeiten informiert zu sein, insbesondere bezüglich einer Neuauflage in 2016!

Weiterlesen...

BOB-Keynote 2015: Towards Functional Operating Systems

Die BOB 2015 ist passiert! Wir hatten einen tollen Konferenztag mit vielen Vorträgen und Tutorials zum Besten in der Software-Entwicklung.

Besonders beeindruckt hat uns der Vortrag von unserem Eröffnungsredner Anil Madhavapeddy von der Universität Cambridge, der über das Projekt Mirage berichtete - ein Framework, um komplette Betriebssystem-Images aus OCaml-Code zusammenzustellen. Mirage ist damit eine spektakuläre Anwendung funktionaler Programmierung in der Praxis. Ein Vortragsvideo sowie die Folien zu Dr. Madhavapeddys Vortrag stehen auf der BOB-Seite. Dieses Posting fasst die wichtigsten Aspekte von Mirage zusammen.

Weiterlesen...