Archives for category: alltäglich

Es gibt einen Ruhepol für mich, an dem ich konzentriert sein kann, ohne größere Ablenkung. Beschäftigte Hände, die mechanisch Dinge tun, ohne dass ich groß aufpassen muss; Jedenfalls nicht mehr, als es Aufmerksamkeit beim Umgang mit einem Messer erfordert. Kochen ist eindeutig eine Art von Meditation; Ich steh gerne in meiner Küche.Neues ausprobieren fetzt zwar auch hier, zum meditieren und einfach nur das Mittag für morgen fertig kriegen taugt das aber nicht. Ich gehöre zu den Leuten die »wieviel braucht man davon?!« nachgucken, die Zutat und das Messer in die Hand nehmen und sich »wieviel wars?!!« fragen. Nee. Rezepte, die Pi mal Daumen funktionieren, das entspannt. Am liebsten habe ich Gerichte, die mich linear Zutaten zerschnippeln und in Topf oder Pfanne werfen lassen. Manchmal hab ich noch eine Idee mittendrin, nichts wildes. Am Ende kommt dann etwas genießbares raus, das kann nicht schief gehen.Programmieren hat für mich mal so angefangen. Und der Reiz war, dass es nicht nur einen Weg zum Ziel gab. Ein bisschen Kreativität auf dem Weg war erlaubt. Ab durch den Compiler & Linker und gucken, was geht; Freude.

In letzter Zeit ist es einfach nur schwierig geworden, auf Arbeit sichtbar etwas zu schaffen. Vieles an Software da draußen ist einfach kaputt. Nicht unbedingt vom Code her: Die Infrastruktur ringsrum! Was da vorausgesetzt wird, das es zu installiern und in Betrieb zu nehmen gilt! Man arbeitet sich durch Dokumentationen und nimmt die Anleitungen, um nachzuvollziehen, was und wie da etwas benutzt wird. Und dann stellt man fest, dass die wichtigen Details fehlen. Es ergibt keinen Sinn aus dem Schritt heraus, wo man gerade steht und was man jetzt tun soll.Überhaupt wird oft genug vergessen einfach mal einen Abriss zu schreiben, was da eigentlich zusammengeflanscht wird und wie das miteinander spielen soll. »Klick mich, ich bin eine Anleitung.« aber ich sag Dir nicht, wie ein Fehler oder Erfolg nach diesem Schritt aussieht. Nee, ich bin so cool, ich funktioniere immer (auf der Maschine des Entwicklers, höhö). Ich baller Dich jetzt mit einer unglaublichen Menge an Ausgaben zu, aber ob das jetzt gut oder schlecht ist, geklappt hat oder ein Fehler aufgetreten ist: Finds doch raus ^^Besten Falls sind die Anleitungen löchrig, oft genug basieren sie zur Hälfte auf intrinsischem Wissen des Entwicklers, der sie schrieb. Manchmal findet man sogar nur eine Linksammlung nach dem Motto „da“ und „dort“ und „hier“ steht was dazu, wie’s es geht und nu‘ mach. Sowas funktioniert natürlich überhaupt nicht. Sobald Schritte nicht klar erklärt sind und man sich in jenem System nicht so sehr auskennt, steht man im Fehlerfall wie der Ochs vorm Berg. Und wie gesagt: Der Embedded-Kram funktioniert in den allerseltensten Fällen auf Anhieb. Inzwischen sind wir ja nicht mehr bei einem einzelnen Buildsystem, immer ist irgend ein Metakram drüber gebügelt, der den unterschiedlichsten Tool-Zoo bündelt und vor allem das Rad gern neu erfindet.Ich wüsste gern, warum sich Programmierer oft für so viel schlauer halten, als alle anderen. Und vor allem wie sie auf die Idee kommen, alles auch so viel besser zu machen, als die anderen! Tut ihr nicht, ihr vergrößert nur den Zoo abartiger Tools. Nehmt was da ist. Was auch super ist, wenn jeder auf seine eigene Programmiersprache besteht. Komplexe Systeme bestehen plötzlich aus wilden Mixturen von C, C++, Java Script und dem unvermeidlichen Pyhton. Ein beschissenes Paket, das in einer neuen Version daherkommt und schon fällt der ganze irre Bootstrap-Prozess aufs Maul, spuckt meist eine wenig hilfreiche Meldung aus.Es ist unglaublich, was ich allein an Zeit für mein letztes Projekt verbraten habe, nur um überhaupt eine Umgebung zu haben, in der ich Firmware entwickeln kann! Docker hat mir in dem Fall tatsächlich geholfen, mit auf Versionen festgepinnten git commits/tags und Tool-Versionen am Ende alles da drin zu haben, sodass ich Firmware für einen Microcontroller bauen kann. Wiederholbar und zuverlässig. Aber die Zeit bis das ging! Das darf ich gar niemandem erzählen…Aber der Kunde, für den ich das mache, ist ja nun auch nicht auf der Wurschtbrühe daher geschwommen. Und die einzige Rechtfertigung ist, dass ich ihm etwas in die Hand drücke, was er in 20 min auf seinem Rechner installieren kann, und womit er die Firmware warten und weiter entwickeln kann. Dafür ist die ursprüngliche Deadline für die eigentliche Aufgabe aber nicht mehr zu halten. Sie ist glücklicher Weise nicht hart, es drängen keine Messen und Produktionsstarts. Aber soll einen das trösten? Entschuldigen? Weil’s anderen ja auch so geht? Kann man den Status Quo so akzeptieren?Die Komplexität des ganzen Krams und wozu er dient steht sowieso in keinem Verhältnis mehr. Ich bin nur froh, dass bei mir so direkt keine Menschenleben dran hängen; Dann wäre es mit meinem ruhigen Schlaf jedenfalls definitiv vorbei. Zeug programmieren, an das Leute ihr Leben hängen? Nachdem ich gesehen habe, was da unter der Haube steckt? Niemals! Es ist aus meiner Sicht unmöglich harte Garantien für irgendwas abzugeben, was über Bitgeschubse auf einem einfachen Controller hinaus geht. Ich möchte das jedenfalls nicht, reinen Gewissens könnte ich das gar nicht! Das ist dafür alles deutlich zu Komplex und liefe beim Versuch einer Garantie nur auf »eigenen Arsch bedecken« und »Compliance Theater« hinaus; „Wir haben ja so und so nach den und den Regeln getestet!!“ Jo und? *Bumm* hat’s offenbar trotzdem gemacht, sonst müsste man sowas ja nicht derart rechtfertigen.Nachdem mein Docker-Container funktionierte, hatte ich sowas wie Hoffnung: Das Dockerfile für das Image war doch nicht so lang, möchte sagen: überschaubar. Aber die ersten Versuche, Firmware-Beispiele zu bauen und auf einen Controller zu laden: Nö. Vielleicht ist es vom Kunden nicht die Beste Idee gewesen, ein neues System auf einem Controller entwickeln zu wollen, bei dem »Preliminary« fett über alle Seiten der PDF-Dokumentation des µC gestempelt ist. Bei dem ich auf dem Dev-Board eine Beta-Version des µC fand, der im aktuellsten SDK des Herstellers selbstredend nicht mehr unterstützt wird, sondern nur noch die Mass-Production-Version…Man kann das alles als »Verkettung unglücklicher Umstände« titulieren, aber ich fühle mich bei sowas dann doch wie die Pressestelle: Nicht ganz die Wahrheit aber immerhin knapp an einer dreisten Lüge vorbei. Ich würde gern dahin zurückkehren kommen, wo ich Code schreibe, Funktionalität einbaue, tatsächlich etwas erschaffe. So ein bisschen Kreativität und deutlich weniger Tool-Zoo- und Infrastruktur-Albtraum, dafür mehr aktuelle Dokumentation + Anleitungen, das wäre nett. Dann fände ich sogar Zeit, saubere Doku zu schreiben, mir sinnvolle Tests für meinen Kram zu überlegen und nicht nur das offensichtliche automatisch testen zu lassen.Ich wüsste ganz gern, wieviele Entwickler sich an solchem Kram schon verbrannt und dann einfach abgewendet haben. Vieles macht den Eindruck, nur gerade genug Zeit bekommen zu haben, die Funktionalität hinzukriegen. Beim Testen sieht’s schon dünn aus und die Dokumentation ist zwar da, bezieht sich aber auf einen längst veralteten Stand. Und der nächste frickelt dran rum und glaubt am Ende ein bisschen zu blöde zu sein: Muss doch laut Anleitung funktionieren!

Es wird leicht vergessen, was notwendige Pflicht und was Würze ist; Warum wir tun, was wir tun. Dafür brauchen wir Zeit. Wir ersparen sie damit dem nächsten. Ich will meine jedenfalls nicht an unvollständiger Dokumentation verbrennen.Was ihr am Ende nicht sehen konntet ist, dass ich Ras el-Hanout und ein bissschen Tomatenmark beim Anbraten der Zwiebeln dazugegeben habe, und nachdem alles andere wieder in der Pfanne war: Salz, Pfeffer und meine selbst gemachte Gemüsebrühe. Gleich nach dem Duft der in der trockenen Pfanne schmorgelnden Champis waren das die wichtigen Momente. Für mich.

Guten Appetit.

(swg)

Es ist diesen Winter das erste Mal richtig kalt in Dresden, nieselig obendrein. Und obwohl die Zeitumstellung für Tageslicht auf dem Arbeitsweg sorgt, machen die tiefhängenden Wolken heute morgen Beleuchtung am Fahrrad nötig. Und ich hätte vielleicht doch lieber Handschuhe gehabt. Inzwischen bin ich so weit abgehärtet, dass ich auch nasskalte 3°C ohne Handschuhe aushalten kann. Es tut noch nicht weh, unangenehm ist das aber schon auf dem Fahrrad.

Ich weiß ganz genau, wo ich meine Fahrrad-Handschuhe letzten Winter vergessen habe, allein ich bin nie dazu gekommen, dort nachzufragen bzw. sie abzuholen. Wahrscheinlich sind sie inzwischen eh entsorgt. Den Verlust kann ich mir immerhin so klein reden, dass sie schon ziemlich verschlissen waren. Jetzt muss ich neue finden, wenn ich nicht mit den allerdicksten Winterfäustlingen rumfahren will. Da es sich im weitesten Sinne um Schuhe handelt, muss ich sowas anprobieren, obs passt, obs mir gefällt und ob’s mir das Geld wert ist. Ohne klassisches Schaufensterbummeln wird das also nichts. Vermutlich bin ich doch zu faul mir gezielt neue Fahrrad-Handschuhe zu suchen und nehme am Ende was da ist.

Naja. First-World-Problems, wie man so schön sagt.

(swg)

Auf dem Eckschrank in der Küche herrscht immer schon ein bisschen Chaos. Neben dem Toaster tummelt sich mein Kaffee-Kram, das Brot, die Nudeldosen und immer mehr Müslidosen. Wir haben angefangen unser Müsli selber zu klöppeln oder wenigstens ein fertiges zu pimpen, mit allerlei Trockenfrüchten etc. Seit Alinas Zöliakie bestätigt ist, brauchen wir nochmal deutlich mehr Platz in der Küche. Es haben sich die Dosen gefühlt verdoppelt und außerdem braucht das Kind seinen eigenen Toaster. Zwar haben wir eine ganze Menge aus- und umsortiert, sodass schon ein Fach im Küchenschrank nur mit ihrem glutenfreien Kram bestückt ist; Trotzdem hat der Voratsdosenberg unerträgliche Ausmaße angenommen.

Mit einem Regal ließe sich für Ordnung sorgen. In einem Möbelhaus hab ich mal eins gesehen, wo die Seiten als T-Nuten-Schiene ausgeführt und alle Regalbretter frei positionierbar waren. Sowas ließe sich ja nachbauen.Meine Erste Idee mit Item, Nutensteinen und Exzentern hat leider nicht funktioniert. Nur eine Nut und der Exzenter nehmen das Moment des Regalbodens nicht auf: er kippt nach vorn oder hinten. Mein Vater hat „klemmen!“ vorgeschlagen: Einfach die Regalböden längs teilen, um die Itemprofile ausklinken und mit langen Schrauben zusammenziehen.Joa, das wird vermutlich funktionieren. Allerdings finde ich derzeit überhaupt gar keine Zeit selbst irgendwas in der Holzwerkstatt meines Vaters zu tun. Es bleibt nur, die Basteleien zu delegieren. Mein Vater hat seine Idee dann auch umgesetzt; Für uns blieb nur das Schleifen/Ölen/Schleifen/Ölen/Schleifen/Ölen der Regalböden:Statt der Muttern – die trotz eines kleinen Abstands zur Wand beim Festschrauben schlecht zu erreichen wären – sind die Maschinengewinde direkt ins Holz geschnitten. Bei Eiche ist das gar kein Problem.

Eine kleine Herausforderung bleibt: Die Regalseiten müssen halbwegs gerade und vor allem im genau richtigen Abstand an die Wand.Als Befestigung an der Wand habe ich wieder die Exzenter-Variante genommen: Einer Holzschraube mit Torx wird der Kopf ein bisschen abgedreht, dass sie in einen Möbelexzenter passt. Mit einem Dübel auf die richtige Tiefe eingeschraubt hält das Regal an der Wand. Und vor allem ist von der Befestigung kaum etwas zu sehen. Sorgen um die Haltbarkeit mache ich mir nicht: die Kindergarderobe und auch die Fahrradtaschen-Garderobe halten so nun schon ziemlich lange den täglichen Belastungen stand.Nun hat die liebe Seele ruh und der Samstag kann zuende gehen.

(swg)

30 years of Writing on the Internet »Poets in the Machine« | Longreads

Früher hatte ich immer mal Links im Blog, von Dingen, die ich interessant, empörend, kurios oder einfach nur schön bis lustig fand. Das allermeiste ist heute verschwunden, tote Links sind übrig geblieben. Vielleicht ist genau das auch ein Grund, warum online geschriebenes in Literaturkreisen schlicht keine Beachtung findet. Online ist nichts von langem Bestand. Wie lange dieser Link wohl lebt?

(swg)

PHP Code Snippets Powered By : XYZScripts.com