Es kommt immer mal wieder vor, das man in seiner Arbeitskopie zusätzlich zu den in der .gitignore Datei gepflegten, versionierten (und damit mit allen anderen, die am Repository arbeiten, geteilten) Einträgen eigene, Einträge hinzufügen möchte.
Die Lösung dafür ist ein Eintrag in der .git/config Datei der Arbeitskopie:
Sometimes one acutally need to access data from backups and archives.
Sometime archives to currupt. Better if one has not need using gzip to compress data as those are not recoverable.
One would be more lucky if she has used a tar archive, maybe compressed with bzip2, as the would be this helpful guid to recover alle the thing that were not within the corrupted block:
I was one of the ones today and I worked quit well for me
Shell history for later reference:
bzip2recover Archive.tar.bzip2
bzip2 -tv rec*.bz2 > testoutput.log 2>&1
grep [^ok]$ testoutput.log
mkdir recover1
mkdir recover2
(move everything up to the corrupted block to rec1 directory)
mv rec000[1-9]Archive.tar.bzip2.bz2 recover1
cd recover1
bzip2 -dc rec*.bz2 > recovery1.tar
tar tf recovery1.tar
cd ..
(move everthing above the crrupted block to recovery2)
cd recover2
bzip2 -dc rec*.bz2 > recovery2_failing.tar
bunzip2 ~/Downloads/find_tar_headers.pl.bz2
cp ~/Downloads/find_tar_headers.pl ./
chmod +x find_tar_headers.pl
./find_tar_headers.pl recovery2_failing.tar | head -n 1
recovery2_failing.tar:1848993:Media/pc020162.jpg:10572253
Not take the fist number from the result to:
tail -c +1848993 recovery2_failing.tar > recovery2_working.tar
tar tf recovery2_working.tar
tar xf recovery2_working.tar
In der Studie wird „OpenSource“ als Lösung genannt, doch da muss man vorsichtig sein – das Produkte unter OpenSource Lizenzen bereitgestellt werden schließt die als problematisch erkannten Punkte – Anbieterabhängigkeit wird nicht allein durch die Änderung der Lizenz ausgeräumt.
Auch das der bitkom in seinem Open Source Monitor 2019 bescheinigt das Open Source mittlerweile auch in der deutschen Wirtschaft angekommen ist, ist das nur ein Anfang und bis man sich auf die Schulter klopfen kann muss noch viel passieren. Insbesondere in Bezug auf die Finanzierung von Open Source Projekten, und da steht diametral entgegen das der genannte Open Source Monitor einmal mehr belegt, das die Mehrzahl der Unternehmen „Open Source“ vor allem als Kostensparmodell verstehen und sich um die Vorteile, die sich bei einem vollständigen Adaption des Modells ergeben, nicht scheren und sich damit auch nicht um den langfristigen bestand der Projekte aus denen sie Nutzen ziehen kümmern wollen.
„Open Source“ ist nicht das Gegenteil von „Kommerziell“. Ich hoffe stark (und arbeite daran mit ) das es nicht nochmal 30 Jahre dauert (`89 ist die GPL entstanden) bis das auch in der deutschen Wirtschaft verstanden wurde.
Wobei man sich halt sicher sein muss, das rdiskn das richtige Device ist, das Laufwerk nicht eingebunden ist, etc….
Oder mit balenaEtcher – falls man sich die dd-Befehle immer noch nicht gemerkt hat oder man das Aufspielen neuer SD-Card images jemandem zeigen will der nicht so gut mit der Kommandozeile vertraut ist
Gerade habe ich mich mal wieder gefragt, ob es nicht eine Möglichkeit gibt, Mails nicht nur „später“ aka „beim nächsten Mal wenn das Mailprogramm Mails versendet“ zu verschicken, sondern zu einem vorab definieren Zeitpunkt. Also äquivalent zum „geplanten Post“ zu einem spätern Datum im WordPress.
Nach meinem einigermaßen erfolgreichen ersten Druck will ich natürlich mehr – und brauche auch einen zweiten Druck, um den Fehler besser zu verstehen bzw. zu reproduzieren. Aber einfach nochmal den Hund oder „jetzt schon“ das Schiff 3DBenchy zu drucken ist doch langweilig, also direkt eines der Improvment-Parts. Meine Wahl fällt auf die Lüfterabdeckung.
Außerdem bin ich neugierig auf OctoPrint, das mir als sehr angenehme Variante, Druckdaten auf den Drucker zu bringen und den Drucker zu steuern, angepriesen wurde.
OctoPrint hat eine Weboberfläche und lässt damit die Abfrage der Druckerzustandsdaten und Steuerung von praktisch überall zu. Bei mir dann eher überall im lokalen Netz, da ich nicht vorhabe die WebUI im öffentlichen Internet verfügbar zu machen – wovor OctoPrint auch eindringlich warnt. Aber das reicht ja auch. Dann muss man immer zum Drucker laufen um zu gucken wie es ihm geht.
So kann ich es also nicht lassen, direkt zwei Dinge auszuprobieren – OctoPrint und einen „eigenen Druck“ (zu dem ich die gcode Datei selbst erzeuge und nicht mitgeliefert bekommen habe).
OctoPrint auf Pi geflasht (dabei das erste Mal unter Linux nicht dd sondern Etcher benutzt – als AppImage ) und eingerichtet. Parameter:
Printer settings
Form factor: Rectangular
Origin: Lower Left
Heated Bed: Yes (checked)
Width: 220mm
Depth: 220mm
Height: 250mm
Axes: Default**
Custom Bounding Box: No (unchecked)
Nozzle Diameter: 0.4mm
Number of Extruders: 1
USB Kabel verbunden und Ender eingeschaltet. Die Verbindung klappt auf anhieb und Sensordaten sind auf dem WebUI sichtbar. Wunderbar 🤩
Nun also zu der Frage, wie ich zu Druckdaten komme. Die *.stl Dateien von Thingyverse kann ich nicht direkt verwenden. Weder auf dem Drucker noch im OctoPi. Man muss eine *.gcode Datei erzeugen und das meist genannte Mittel dazu heisst Cura, genauer Ultimaker Cura und ist für alle Plattformen kostenlos verfügbar. In Cura gibt es auch ein default-Setting für den Ender-3, sodass ich dieses wähle, die .stl Datei lade und mit „Slice“ die .gcode Datei erzeugen kann ohne mich in der Tiefe mit den möglichen Einstellungen dort auseinanderzusetzen.
Diese .gcode Datei kann ich über das OctoPrint WebUI an den Ender-3 schicken und auch den Druck starten. Ich bin gespannt ob das klappt
Also, der Druck ist gestartet und OctoPrint heizt das Bett und die Düse auf und visualisiert diesen Vorgang chic in einem Graphen. Nach erreichen der gewünschten Temperaturen legt der Drucker dann los – ich bin auf das Ergebnis gespannt
Und siehe da, dieser Druck klappt wunderbar, ohne „krausen Haare“:
Das Problem ist also nicht unmittelbar reproduzierbar und ich habe eine neue Lüfterabdeckung als erstes Upgrade für meinen Drucker
Ich habe mich das ein Abenteuer eingelassen in die Welt des 3D Druck einzutauchen. Hier ein paar nützliche Links und das ein oder andere Update zu meinen Fortschritten.
Beim Leveling, dem Einstellen des Druck-Betts (es muss möglichst nahe an der Druckdüse und absolut gerade sein) habe ich die Erfahrung gemacht, das es wichtig ist, sich Zeit zu lassen und ein normales DIN A4 Blatt zu nehmen – nicht wie im Aufbau Video ein Stück von der Anleitung, das Papier ist zu dick.
Denn: Nach dem ersten Anlauf das Druckbett einzustellen und anschliessendem Start habe ich ein Foto von der ersten gedruckten Schicht an einen 3D-Druck erfahrenden Freund geschickt. Dank das geübten Auges auf der Gegenseite bekam ich prompt die Diagnose:
Hinten zu weit weg Überall zu weit weg Der Kopf muss näher ran
Also praktisch den Tipp, den Druck abzubrechen und nach einem entsprechendem Re-Leveling (mit 80g Papier) neu zu starten. Vielen Dank nochmal auf diesem Weg dafür
Und mit Hilfe der Infos aus diesen beiden Videos und dem sehr wichtigen Experten Tipp kam ich dann auch zum ersten Probedruck:
Größtenteils erfolgreich 🤩 Warum der Drucker zum Schluss kreativ wurde und statt der normalen Schädeldecke dem Hund eine Wuschel-Frisur gemacht hat, habe ich noch nicht herausgefunden. Ein erster check eines Troubleshooting Guide hat eider keine Antwort gegeben. Ich bin dennoch sehr zufrieden mit dem Ergebnis
Letzte Woche war die diesjährigeJavaLand Konferenz. Wieder eine rundum gelungene Veranstaltung mit der Öffnung der Fahrgeschäfte im Phantasialand am Dienstag Abend mit anschließender Party als Krönung. Ich konnte leider nur wenige Talks sehen, die kann ich dafür aber wärmstens empfehlen:
Videoaufzeichnungen gibt es wohl von einigen Vorträgen (da es einen Live-Stream gab), bis jetzt habe ich aber noch keine Info dazu gefunden, ob es diese denn später auch zum Nachschauen öffentlich geben wird. Zumindest kann man die Slides zu den Talk erhalten und vielleicht hat man ja Gelegenheit, die Speaker auf anderen Konferenzen zu treffen und zu sehen.
Donnerstag war dann auch noch der erste DevTreff in Siegburg, ein Meetup für Softwareentwickler. Auch dort gab es mit „AWS Migration – wie der Monolith zur Cloud kam“ von Christian Kappen und „Micro-Frontends im Rewe Shop“ von Nils Röhrig zwei sehr interessante Themen. Ich hoffe, das Meetup hat noch viele Fortsetzungen und freue mich sehr, das sich in dieser Form etwas in Siegburg regt
Was mich enttäuscht, ist aber die Nachrichtenlage. Insbesondere bei der Tagesschau, weil:
Teilnehmerzahlen werden sehr viel geringer genannt (ist scheibar aber eingängige Problem bei Demos)
obwohl in über 50 Städten demonstriert wurde, ist nur von „mehreren deutschen Städten“ die Rede
Man lässt Leute mit eindeutig einseitigen Interessen zu Wort kommen, ohne dies deutlich zu machen. So zum Beispiel Mathias Hornschuh und Charlotte Seither, die einfach als „Komponist“ vorgestellt werden, obwohl teil des Aufsichtsrat GEMA sind. Damit werden Interessen und Motivationen nicht vollständig dargestellt.
Während bei der Berichtserstattung die GEMA (s.o.) zu Wort kommt, findet man jedoch kein Interview mit Julia Reda. Ohne deren Arbeit wären die zweifelhaften Vorgänge in der EU Politik und der Bruch des Koalitionsvertrags (und damit des Wahlversprechens) wahrscheinlich deutlich weniger Beachtung gefunden hätten.
In dem Artikel von Samstag wird zwar Bundesjustizministerin erwähnt, nicht aber das sie bereits mehrmals die Gelegenheit hat verstreichen lassen, den Spuk zu beenden (und damit dem im Koalitionsvertrag festgehaltenen Wahlversprechen zu entsprechen). Die Doppelmoral, mit der SPD und CDU nun auftreten (auf der einen Seite haben die die Reform soweit gepusht und jetzt positionieren sie sich auf einmal dagegen) wird nicht in der Berichtserstattung erwähnt.
Ich hab leider den Eindruck, das gezielt Informationen weggelassen werden. Das ist sehr sehr ernüchternd, gerade weil ich die Tagesschau bisher praktisch für die letzte zuverlässige Nachrichtenquelle gehalten habe. Bei der direkten Erfahrung mit diesem Thema liegt nun nahe, das Verhalten in der Berichtserstattung auf andere Themenbereiche zu interpolieren, und dann muss man davon ausgehen das die Tagesschau ihrem eigenen Anspruch – neutral und umfassend zu informieren – nicht gerecht wird. Das stimmt mich wütend und traurig. Und enttäuscht.
Nicht nur in der Java-Welt geht es bezüglich der unterstützten und gepflegten Versionen heiss her (siehe Artikel auf dem Karakun DevHub), sondern auch bei PHP muss man da sehr genau hinschauen, das die eingesetzte (und häufig auf einem öffentlich erreichbaren Webserver genutzte) PHP Version auch noch gepflegt wird. Dazu gibt es praktischer Weise auch eine Doku-Seite: PHP: Supported Versions
Diese Woche war definitiv geprägt von der #Aritkel13 Front zur #Urheberunrechtsreform und den sich daran anschliessenden Themen zur Aufbau der Zensurinfrastruktur, die im Eintrag von letzter Woche angeschnitten wurden.
Die Spambekämpfung für den Mailserver wurde auf rspamd migriert, was einen sehr modernen und aufgeräumten Eindruck macht und sich in den ersten Tagen auch recht positiv zeigt. Motivation oder „Stein des Anstoßes“ war übrigen ein Vortrag zu rspamD auf der FrOSCon 2018.
Im Zuge dieser Migration bin ich über Mailcow gespolpert, das nach einem interessanten Projekt für ein gut handhabbares Mail-Server-Setup aussieht.