Schönere Grammatik ;)

Soo die libphorward hat jetzt auch eine schönere Grammatik für ihre BNF-Sprache. Die bereits beim self-hosting Prozess verwendete Grammatik sieht jetzt so aus:

Kann sich doch eher sehen lassen, oder? Die $-Zeichen definieren Terminaldeklarationen, es sind auch anonyme Terminaldeklarationen erlaubt, und Inline-Terminals werden jetzt über einen Pattern-Matching-Mechanismus auf existenz geprüft, so dass diese nicht extra definiert werden müssen (so wie % und  ;).

Ausserdem ist die Entwicklung jetzt erstmal nach Bitbucket umgezogen, weil Sourceforge der Meinung war, meinen Benutzernamen mit dem Namen eines indischen Java-Entwicklers, mit dem ich nichts gemeinsam habe, zu verlinken, weil da irgendein blöder Bug drin ist. Ausserdem benutzen wir Bitbucket auch bei mausbrand, und bin damit bisher sehr gut gefahren :).

Alter Sack!

Yo, yo yo!

Jetzt ist die Partey schon über eine Woche her, aber ich komm erst jetzt mal wieder dazu hier zu updaten. Also ich sag es nochmal ganz ausdrücklich: GEILSTE PARTY EVER! So viele tolle Gäste, eigentlich alle Menschen die ich gern habe auf einem Haufen (bis auf ein paar Ausnahmen die leider nicht da waren weil krank/verkracht/whatever) aber egal!!! Es wurden 100l Bier vernichtet, ich danke Krissy nochmal von ganzem Herzen für die geile Location und nochmal DANKE AN ALLE DIE DA WAREN!!!! 🙂

IMG_20150201_202715

D-6235 fertig zum schminken!

Soo heute war es soweit, unsere ASK 21 (D-6235) wurde um die letzten Stellen angeschliffen und dann in die Lackierkabine verlegt. Sie steht momentan dort aufgebockt auf einer Leiter und einem Bock, gehalten durch einen Holzbalken… Piddy meint “Datt hält!” und der Typ hat erfahrung, also muss er’s wohl wissen.

IMG_20150127_195113 IMG_20150127_195142 IMG_20150127_195348

Piddy ist eh ein echt cooler Typ! Will zu meinem 30. kommen und die kommende Saison wollen wir ab der Rheinermark ein 300er fliegen mit Ankündigung! Und bei ihm bin ich mir sicher, das es klappt. Er fliegt die D-1245, ebenfalls eine Standard Libelle und eingefleischter Glasflügel-Fan!

Ich freu’ mich drauf!

IMG_20150127_190656

libphorward selfhosted!

Seit Freitag ist die libphorward nun self-hosted.

Was heißt das nun konkret? Nun es hört sich ein wenig an wie autofellatio, ist aber noch viel, viel geiler! Die libphorward wurde nun um ein weiteres Modul, das Programm ppgram2c  erweitert.

ppgram2c ist ein Code-Generator, welcher eine Backus-Naur-notierte Parser-Beschreibung aus einer Datei einliest und anschließend als C-Programm wieder ausgibt, also sozusagen die Funktionsaufrufe, die nötig sind, um die gewünschte Grammatik direkt in C mit dem libphorward Funktion des parser-Moduls zu definieren.

Aus der BNF-Notation für die eigene BNF-Sprache mit der Syntax:

Ich muss gestehen, das diese Grammatik noch recht unschön definiert ist, was aber daran liegt, das noch ein paar Bugs vorliegen (equal, percent und semicolon mussten wegen Mehrfachverwendung als eigene Symbole definiert werden, sollte später so nicht sein).

Aus dieser Grammatik erzeugt ppgram2c nun folgenden C-Code (mit ein wenig awk-Hokuspokus drumherum):

Also wer’s nachtesten will, es ist

ppgram2c –indent 1 src/parse/gram.syn

was hier im Hintergrund aufgerufen wird. Es erzeugt das meiste von dem Code above.

OK nun zum Highlight des ganzen: Der Parser parst seine eigene Grammatik und erzeugt den Code für sich selbst. Folglich konnte der Parser erfolgreich durch sein eigenes Duplikat ersetzt werden. Die nachfolgenden Parser der libphorward sind allesamt Klone von sich selbst, also werden mit sich selbst geparst und dann selbst Bestandteil der Toolchain. Diesen Mechanismus nennt man im Compilerbau bootstrapping, und wurde bisher bei all meinen Compilerprojekten erfolgreich umgesetzt, also JS/CC, UniCC (welcher min_lalr1 benutzt) und nun auch der libphorward.

Damit wurden der rekursive-absteigende Parser der libphorward sowie die handgeschriebene LALR(1)-Grammatik hinfällig, da sie durch ihren eigenen Klon ersetzt wurden. (Hoffentlich hat der Klon keinen Fehler…)

Damit ist die libphorward selfhosted (selbst-gastgebend) und kann sich selbst compilieren (zumindest den Parser ;-)). Was nun folgt ist pure geile Scheiße! 😀

Man liest sich…

D-6235 in der Maniküre

Die Lieselotte mochte den Schnee nicht, und blieb lieber drinnen...

Die Lieselotte mochte den Schnee nicht, und blieb lieber drinnen…

Dieses Wochenende wars soweit: Nachdem Piddy mir letzte Woche das OK gegeben hatte, brachten wir unsere 21 mit dem X-Trail im Schnee zur Rheinermark. Da hieß es dann: Schleifen, schleifen, schleifen!

Das gröbste haben wir jetzt in zwei Tagen hinbekommen, beide Seiten zuerst mit 60er, dann mit 120er Körnung geschliffen und ordentlich Staub aufgewirbelt.

Erst linke Seite…

IMG_20150124_164413 IMG_20150125_130119 IMG_20150125_130446 IMG_20150125_143650

 

…dann ging es am Sonntag mit rechts weiter …
IMG_20150125_152412 IMG_20150125_155858 IMG_20150125_155910 IMG_20150125_165202 IMG_20150125_165218 IMG_20150125_165237



Jetzt folgen am Dienstag noch die restlichen Stellen und dann kann lackiert werden!

Auf zur Boot!

Mit Mausbrand gehts morgen auf die Messe boot nach Düsseldorf… quasi ein Betriebsausflug auf Kundeneinladung! Am Freitag hatten wir Launch des Projekts BAVARIA+ für unseren Kunden Bavaria Yachtbaut aus Franken, an dem ich auch einiges mitgewirkt habe… es macht richtig Spaß an solchen geilen Projekten mitzuarbeiten :)))) … Schiff ahoi!

Location und Einladung für meinen 30gsten steht

einladungYeah! Durch meinen Chef Krissy bin ich durch einen glücklichen Zufall wohl auf die geilste Partylocation der Welt gekommen… nämlich bei Mausbrand im Gebäude ist unter den Büros eine leerstehende Wohnung mit über 200qm, die bald so oder so umgebaut wird.

Features:

  • 200qm
  • 7 Räume
  • große Terrasse
  • keine Nachbarn darüber und darunter
  • WC mit Pissouir
  • Badewanne, noch ein WC
  • Sauna 😀

Und hier noch ein paar Bilder:

IMG_20150116_141109 IMG_20150116_141123 IMG_20150116_141133 IMG_20150116_141146 IMG_20150116_141202 IMG_20150116_141207 IMG_20150116_141228 IMG_20150116_141240

Cooles Zeux && merlin

Naja, eigentlich gibts nichts wichtiges, trotzdem poste ich mal wieder was, damit der/das Blog nicht einstaubt…

.screenrc

Die .screenrc auf merlin* sieht jetzt so aus:

Das tolle dran: Man kann jetzt auch im screen mit dem Mousewheel scrollen, unten (hab ich aber schon länger so) befindet sich eine statische “Statuszeile”. Voll geil, das Teil! 🙂 GNU screen ist eh eine total geile Sache.

Was noch? Ah:

vidir

vidir, Bestandteil der moreutils bei Arch Linux ist ein geiles Tool, bei dem man mit dem vi Verzeichnissinhalte (also Dateien) umbennennen kann. Danke an Klaus für den Tipp!

*merlin

Bitte was, ihr kennt merlin noch nicht? merlin ist der Nachfolger von calypso.  merlin ist mein kleiner, treuer Begleiter. Immer da, wenn ich ihn rufe, super stabil und rennt mit Arch Linux ARM.

  • Raspberry Pi, Model B
  • Broadcom BCM2835 700MHz
  • 512 MB RAM
  • 32 GB SDcard
  • Arch Linux ARM

So sieht merlin physikalisch aus:

merlinphysUnd so virtuell:

merlin1 merlin2Ach ja, und merlin ist nicht der Zauberer, sondern der Vogel… der Merlin Falke eben!

Nicht das calypso schlecht war (ist), nur zog calypso 15 Watt, merlin zieht 1 Watt. calypso ist nun Retter in der Not. Meine Rechner hatten eigentlich schon immer seltsame Namen, aber mit Sinn dahinter… angefangen bei den Orcas (neo, skaana, kira, spirit, calypso) über die griechischen Götter (khaos, gaia, genesis) bis hin zu Glastflügel-Flugzeugen und Falkenarten (kestrel, falcon, salto, hornet, merlin) waren jetzt schon einige dabei 😉 …

Lets Rutsch

Alloah zusammen,

nun, gestern kam dann nochmal das vernichtende Urteil von ihr. Ich kann es verstehen. Ich habe Mist gebaut. Ich werde es besser machen ab heute. Keiner von euch weiß davon. Es ist auch besser so. Ich liebe sie. Ich liebe sie wirklich. Nur die Sache ist jetzt gelutscht. Aus und zu Ende.

Naja, was gibts Neues? Muss momentan Home Office machen weil in der Firma der Fußboden jetzt endlich versiegelt wird. Heute nur phantastischen Klamauk gemacht im Vi, könnt ihr euch, wie immer auf Bitbucket angucken.

Krasser Scheiss, bin heute um 9 Uhr aufgewacht und seit dem am Rechner, war nur vorhin einmal kurz einkaufen… uptime für heute 16 Stunden 23 Minuten, na das ist doch mal was. Und das obwohl mir der Rechner mehrmals fast abgekackt wäre, habe heute endlich mal nen Swapspace eingerichtet… das ist so wie das pagefile.sys unter Windoofs, aber unter Linux kann man das “mal eben” im laufenden Betrieb machen und plöööötzlich läuft das System viel performanter. Klasse, nicht? Ein Betriebssystem das funktioniert, das unendlich viele Möglichkeiten bietet und so wunderbar stabil ist. Ich mag Linux. Und diese Neidfaces unter euch, die immer meinen auf Linux rumlabern zu müssen: Wenn man keine Ahnung hat, einfach mal Fresse halten! 🙂

Andi empfahl mir heute Gronkhs “Lets Rutsch”. Das Youtube-Video ist eigentlich eher weniger ein Video sondern vielmehr ein Hörspiel, die Gedanken von Gronkh, dem Spielemeister… sehr interessant, ich habe es mir wirklich komplett angehört (ja es geht zwei Stunden!) und es zeigt einem die Gefühlswelt anderer so wie man sie eigentlich selber sieht.

Ich finde es gut. Wer’s sich anhören möchte (wie Andi sagt, ab der 5ten Minute wirds gut!):

Tja, was war sonst noch? Mein Entwicklerfreund Sergiy Shatunov aus Kiew hat wieder ein paar commits in den JS/CC gemacht. Ich finde das toll, dass ich doch mal ein Open Source Projekt gestartet habe welches Mitstreiter findet, die echt was auf dem Kasten haben. Habe Sergiy auch eben als Admin für das JS/CC-Projekt eingetragen. Ich denke er macht seinen Job gut, und er hat oft gute Ideen, auch wenn ich ihm im Chat über Jabber meist nicht so gut folgen kann, weil er glaub ich gedanklich auf einem ganz anderen Level ist. Er hat JS/CC auf Node.js gebracht, und ich finds klasse! 🙂 Wär wirklich klasse wenn libphorward ähnliches wiederfahren würde, aber ich glaube nicht. C ist geil, und C ist out. Niemand programmiert mehr C, ausser die Freaks. So wie ich.

Und sonst? Ich hab mich heute bei Twitter angemeldet. Hatte das schon seit einiger Zeit vor, aber nun hab ich endlich mal dran gedacht und auch die Zeit dafür gehabt. Schaut doch mal vorbei: https://twitter.com/codepilot85 😉

Ja… was war sonst? Die Vereins-Homepage ist jetzt auch bei meinem Lieblingswebhoster all-inkl.com, habe das einfach mal in die Wege geleitet… weg von SCHEISS 1&1, hin zu einem Hoster ders wirklich drauf hat. Und all-inkl.com ist wirklich gut, bin da seit 10 Jahren Kunde und bin mit denen sowas von zufrieden.

Ich will endlich wieder fliegen. Naja… das wars erstmal. Ich sag mal bis denne. Und hoffe das ich so stabil bleibe wie jetzt. Der Tag heute war wirklich nicht schön.

Nachtrag: So es ist 2:41, die Uptime beträgt 17 Stunden… aber kestrel kommt an merlin nicht dran… wird er auch nie… dafür hab ich kestrel viel zu lieb! 😉

uptime_2015-01-06Gute Nacht.

Frohes Neues!

Moin moin Gemeinsam!

Da wars wieder, das Jahr. Da letztes Jahr noch beschissener war als das vorletzte, und ich mir vorletztes Jahr (bzw. letztes Jahr) um diese Zeit schon geschworen habe, dass das kommende Jahr besser wird, kann es ja nur noch beschissener kommen.

Was ich mir für dieses Jahr vorgenommen habe: Bernd öfter zu besuchen! (ja, Dennis weis, um was es geht). Sonst nichts. Bringt ja eh nix wenn man sich immer was vornimmt und es am Ende doch wieder schlimmer kommt. Kackleben.

Zum diesjährigen LdJA (Lied des Jahres-Anfangs) deklariere ich fröhlichstens Prozesses: High Hopes von Pink Floyd!