Dritte bis sechste Hand

Dritte bis sechste Hand

Wo eine Lötstation ist muss man meist nicht lange nach einer „dritten Hand“ suchen. Bis letztens war das bei mir das Modell das man auch in dem Wikipedia-Artikel zum Thema findet, das ist vermutlich der Standard — und leider Käse. Glücklich war ich noch nie damit. Und eine kurze Marktforschung zeigt mir leider auch keine günstige Alternative.

Also basteln. Natürlich. :-)

Ich hatte schon eine ganz brauchbare Lupen-Leuchte. Eigentlich sehe ich gut, aber bei SMD kann die tatsächlich helfen. Und durch Zufall — ich war auf der Suche nach was ganz anderem — habe ich Leitungen für Kühlflüssigkeit gefunden. Man suche in der Online-Auktionsplattform seiner Wahl nach „Coolant Pipe“. Dazu noch ein paar „Alligator Clips“ aus der gleichen Quelle. Für sechs Leitungen habe ich keine drei Euro bezahlt, zehn Krokodilklemmen gab es für einen Euro.

Die Leitungen sind wirklich stabil. Man kann sie in jede Form biegen, und die halten tatsächlich besser die Stellung als die Arme an meiner alten dritten Hand.

Also habe ich die orangefarbenen Enden („Düsen“) etwas aufgebohrt und mit Superkleber die Klemmen eingesetzt. Das ganze dann von hinten mit Heißkleber vergossen, hält prima. Zum Zusammenbauen musste ich die Teile etwas heiß machen, sonst hätte ich die Düsen nicht wieder an die Leitung bekommen. Für das andere Ende habe ich passende Löcher in den Sockel der Lampe gebohrt. Da ist nicht genug Material um ein Gewinde zu schneiden, also habe ich auch die Enden verklebt.

Gut beleuchtet und mit Durchblick

Gut beleuchtet und mit Durchblick

Das Ergebnis erfüllt exakt seinen Zweck: vier sehr frei positionierbare Klemmen, direkt unter einer guten Beleuchtung in die für Extremfälle sogar eine Lupe eingebaut ist.

Ich habe auch schon weiterführende Ideen gesehen: kleine Lüfter statt einer Krokodilklemme, um Lötdämpfe wegzublasen, spezielle Halterungen für Tastköpfe und einiges mehr. Aber für mich ist das so erstmal sehr nah an perfekt. Ich bin zufrieden. :-)

Das gute Stück

Das gute Stück

Eigentlich brauche ich kein Fernglas, und ich bin mir ehrlich gesagt nicht mal sicher wie dieses Ding in meinen Besitz gekommen ist. Es handelt sich offenbar um ein Bresser Action 10×50, also zehnfache Vergrößerung bei 50mm Linsendurchmesser.

Das Teil lag jahrelang im Schrank. Erstens weil ich es wie gesagt in der Regel nicht brauche, und zweitens weil es böse verstellt war. Scharf einstellen war nie ein Problem, aber die Bilder beider Seiten waren vertikal verschoben. Das kompensiert das Gehirn nicht weg, also konnte man das Glas nur mit einem Auge benutzen wenn einem nicht schlecht werden sollte.

Heute habe ich mir das Teil doch mal vorgeknöpft. Irgendwie muss es ja einzustellen sein, und wenn nicht muss es eigentlich auch keinen Platz bei mir wegnehmen. Rein äußerlich habe ich aber keine entsprechende Mechanik gesehen. Alle Schrauben dienen entweder zur Verbindung der beiden Hälften, oder zum Verschluss des Gehäuses an der Okular-Seite. Die Objektive kann man auch mit einem beherzten Griff abschrauben.


Wenn man in das Gehäuse sieht kommt man an die Prismen. Und da ist mir eine sehr kleine Madenschraube aufgefallen, die gibt es an jedem Prisma. Von außen werden diese Schrauben durch die Gummi-Armierung verdeckt.

Ich hatte Glück: versuchsweise habe ich die vordere rechte Schraube einfach mal eine Drehung rein geschraubt, einfach um zu sehen was sich ändert. Und das scheint genau richtig gewesen zu sein, die Abbildung war direkt deckungsgleich.

So habe ich dann jetzt tatsächlich ein funktionierendes Fernglas.

Brauchen tu ich es immer noch nicht… :-D

Der erste Versuch

Der erste Versuch

Im letzten Jahr habe ich ja mehrere Projekte mit Hilfe eines Lasercutters gemacht, einige Organizer für Brettspiele. Freundlicherweise konnte ich dafür die Maschine beim Chaostreff Dortmund nutzen, nochmal: Danke!

Ich wusste also dass meine Konstruktionen prinzipiell funktionieren. Um so ärgerlicher dass die Maschine so weit weg steht. Außerdem hätte ich mir schon ein paar Mal gewünscht, mehr ‚iterativ‘ vorzugehen. Einfach mal ausprobieren, und Sachen ändern die nicht funktionieren. Also habe ich mich mal umgesehen…

In den letzten Monaten habe ich eine Menge zum Thema gelesen, also war die Inbetriebnahme nicht allzu kompliziert. Ich hätte damit gerechnet dass es eine Woche dauert bevor ich irgendwas mit dem Ding herstellen kann. Zum Ausprobieren habe ich mir dann erstmal ein Puzzle gemalt. So wie ich mir das ausgedacht hatte sind da die drei wichtigen Techniken zum Einsatz gekommen: die Schrift ist gerastert, die Sterne außen sind als Vektoren graviert, und natürlich wurde das ganze dann ausgeschnitten. Ich habe etwas gekämpft bis ich die Toolchain unter Kontrolle hatte, dann war es aber doch ganz einfach. Und für einen ersten Versuch echt überzeugend, finde ich.

Die Toolchain… ich lasse mich gerne eines besseren belehren, aber soweit ich weiß gibt es keine brauchbare freie Software mit der man so eine Maschine ansteuern kann. Deshalb war ich eigentlich wild entschlossen, mir dafür zumindest eine Windows-VM einzurichten, mit der ich dann die originale Software benutzen kann. Im letzten Moment ist mir dann eingefallen dass ich — ähnlich wie beim Schneidplotter damals — einen Versuch mit Wine starten könnte. Eine schnelle Suche hat mir gezeigt dass das bei einem Roger Clark in Australien auch funktioniert hat. Ich habe das Installationsverzeichnis aus der Windows-VM auf mein Linux kopiert, und: mit kleinen Einschränkungen funktioniert es mit Wine.

Eine Einschränkung ist, dass ich beim Start der Anwendung jedes Mal die Bearbeitungsgröße der Maschine einstellen muss, ansonsten erscheint die Darstellung auf dem Bildschirm merkwürdig verzerrt. Schwerer wiegt, dass ich aus Wine keine USB-Geräte nutzen kann. Brauche ich allerdings auch nicht, da ich die Maschine auch per Netzwerk ansprechen kann. So bin ich sehr zufrieden.

Keltischer Knoten und Nautilusgetriebe

Keltischer Knoten und Nautilusgetriebe

Nach dem ersten eigenen Puzzle habe ich noch ein paar Sachen aus dem Netz ausprobiert: ein Puzzle mit einem keltischen Knoten, kitschige Ü-Ei-Hasen, ein Nautilusgetriebe und ein paar weitere Kleinigkeiten.

Mittlerweile habe ich auch schon einen Spiel-Organizer aus der Maschine gezogen. Einen neuen, den stelle ich als nächstes vor.

Alles in allem hatte ich bis jetzt schon eine Menge Spaß an dem Gerät, und immer mehr Ideen für kleine und große Projekte die ich mit dem Ding umsetzen kann. :-D

Mein Design

Mein Design

Mit einem Lasercutter kann man jede Menge nützliche Sachen herstellen. Vor zwei Jahren habe ich mal ein schickes Raspberry-Gehäuse gefunden, das konnte ich einfach runterladen und mir beim Makerspace meines Vertrauens auslasern lassen. Das Ergebnis ist schick geworden, genau so ist der Raspi jetzt als Medienabspielgerät im Einsatz.

Aber wie komme ich an ein Gehäuse nach Mass, für eigene Projekte?

Das einfachste wird wohl ein kostenloser Online-Generator sein. Davon gibt es einige, mit unterschiedlich vielen aber doch ziemlich überschaubaren Features. Man gibt die gewünschten Masse ein, und bekommt ein PDF oder ein SVG das man direkt an den Cutter verfüttern kann.

Genauso einfach kann man Boxen wohl direkt in Inkscape erstellen. Dazu muss man ein Plugin installieren, das habe ich aber nicht ausprobiert.

Die nächste Stufe dürfte der Boxdesigner sein. Erstmal ist das auch so ein Online-Generator, aber dafür mit einer geradezu überwältigenden Zahl von Funktionen. Nett gemacht, und wer es braucht wird dafür sicher gern die 13 Euro im Jahr bezahlen. Hätte ich auch fast gemacht. Aber nur fast. Was ich gerade bauen will ist etwas zu speziell für den Designer. Mein Plan war, das grundlegende Design da raus zu ziehen, und den Rest in Inkscape

Da das aber auch eine Menge Planung erfordert, und noch dazu sehr fehlerträchtig ist, habe ich mich weiter umgesehen. Und so bin ich zur — für mich — idealen Lösung gekommen:

Schneidvorlage (ein Teil davon)

Schneidvorlage (ein Teil davon)

Mit FreeCAD hatte ich mich vor einiger Zeit schonmal beschäftigt, als ich Bedarf an 3D-Planung hatte. Was ich da nicht wusste ist, dass auch FreeCAD sich durch Plugins erweitern lässt. Und richtig genug: da gibt es eines namens LCInterlocking — auf den zweiten Blick verrät der Name dass man damit Interlocking Designs für den Laser Cutter machen kann. Leider ist die Doku echt dürftig, aber alles was ich wissen musste konnte ich dem Video entnehmen das in der Readme verlinkt ist.

Auch bei dieser Lösung kommt man um Nachbearbeitung in Inkscape nicht herum, aber die komplizierten Sachen sind da schon erledigt.

Man erhält so ein großes SVG mit den Schneidvorlagen. Die Kür besteht jetzt noch darin, die Einzelteile platzsparend aufzuteilen, so dass möglichst wenig Verschnitt anfällt. Das geht manuell, ich habe es einfach mal von SVGnest machen lassen. Dazu habe ich ein Rechteck in das SVG eingefügt das die maximale Arbeitsfläche des Lasers angibt. Das SVG lade ich dann in das Tool, und nach ein paar Klicks sortiert ein Algorithmus alles für minimalen Verschnitt.

Disclaimer: Ob die Vorlage jetzt tatsächlich zum Schneiden taugt muss sich noch rausstellen. Sobald ich das weiß, und sobald ich ein vorzeigbares Ergebnis habe, werde ich auch verraten was ich da gebastelt habe… :-)

Eine alte Weisheit besagt folgendes:

Wenn man erstmal einen Hammer in der Hand hat sieht alles aus wie ein Nagel.

Wenn man also halbwegs mit dem gängigen Unix-Werkzeugkasten (grep, cut, sed und awk) umgehen kann ist man geneigt diese Tools immer einzusetzen wenn Informationen aus Dateien zu extrahieren sind. Damit auf strukturierte Daten loszugehen ist allerdings nicht nur fehlerträchtig sondern auch alles andere als elegant.

Vor längerer Zeit habe ich hier mal auf jq hingewiesen. Das ist die Lösung wenn man in seiner Eigenschaft als Shell-Skript Daten aus JSON-Datensätzen braucht, mittlerweile konnte ich da schon einige Male drauf zurück greifen.

Jetzt habe ich was vergleichbares für XML-Daten gesucht, und wie es aussieht ist XMLStarlet das Werkzeug der Wahl (Disclaimer: ich habe nicht lange gesucht, NOCH bin ich für Gegenvorschläge offen ;-) ).

Erste Anwendung ist wieder, einen ungetrübten Blick auf das gewählte Dokument zu werfen. Mein Feed ist ein insofern ein schlechtes Beispiel als dass der Code ziemlich sauber formatiert ist, aber der Trick wird klar (die Sache mit dem Backslash am Zeilenende setze ich mal voraus):

Als nächstes interessieren mich vielleicht die Titel der letzten Artikel. Dazu selektiere ich alles was auf den XPath //rss/channel/item matched, und lasse mir jeweils den Wert von title ausgeben. Gefolgt von einem Zeilenumbruch:

Aber wann habe ich denn meinen letzten Artikel veröffentlicht? Dazu matche ich nur auf das erste Element und lasse mir davon das pubDate geben, zur besseren Lesbarkeit wieder gefolgt von einem Zeilenumbruch:

Abschließend wüsste ich gerne noch worum es in meinem letzten Artikel ging. Auch das können wir formschön aus dem Feed extrahieren, allerdings wird das Kommando natürlich entsprechend unübersichtlicher. Wir matchen wieder auf das erste Item, lassen uns den Titel und einen Zeilenumbruch geben. Dann matchen wir innerhalb des Items (!) auf category. Dem Inhalt dieser Felder stellen wir jeweils einen Spiegelstrich voran, die Zeile beenden wir wieder mit dem Zeilenumbruch. So sieht das Kommando dann fertig aus:

Das Netz hält einige Artikel mit Beispielen parat, aber genau wie dieser Text kratzen die nur an der Oberfläche. XMLStarlet ist sicher ein Spielzeug mit dem man sich bei Gelegenheit mal länger auseinandersetzen sollte. Zumindest macht es den Standard-Werkzeugkasten im Umgang mit XML-Daten absolut obsolet.

Fortschritt durch pkill

Fortschritt durch pkill

Letztes Wochenende habe ich wieder mal ein ISO-Image auf eine SD-Karte geschrieben, wie üblich an der Kommandozeile mit dd. Es ging um ein größeres Image, also hatte ich eine Menge Zeit um mich darüber zu ärgern dass ich den Fortschritt nicht sehe.

Heute habe ich einen Tweet gesehen der sagt dass man da in Zukunft eine Option für haben wird. Aber da wurde auch ein Workaround erwähnt den ich noch nicht kannte: mit pkill -USR1 dd kann man dem laufenden Prozess ein freundliches Signal schicken, daraufhin spuckt der seinen aktuellen Fortschritt aus. Wie das aussieht zeigt der Screenshot.

Fortschritt durch Tunnel

Fortschritt durch Tunnel

Eine andere Möglichkeit — optisch schicker, aber man das Tool ist nicht überall installiert — stellt der Pipe Viewer (pv) dar. Da teilt man sein dd auf zwei Kommandos auf und setzt das pv dazwischen.

Technisch ist das vielleicht nicht der optimale Weg, nett ist aber dass man damit universell Pipes überwachen kann, nicht nur für dd. Die Manpage hat ein paar interessante Beispiele.

Bislang hatte ich echt Glück mit meinen Notebooks. Die Platten sind stabil geblieben, und auch die Software hat mich nicht hängen gelassen. Backups habe ich sträflich vernachlässigt. Ich habe welche gemacht, ja. Aber manuell, und somit nur alle paar Monate mal. Mea Culpa.

OK, jetzt also richtig. Und mit meinem Werkzeugkasten.

Mein Handy sichere ich schon seit ich Android benutze mit rsync. Alle verwertbaren Daten werden so nachts in ein Verzeichnis auf meinem Backup-Server gesynct. Da habe ich also immer eine Kopie des aktuellen Standes. Um auch historische Versionen zu haben sichere ich dieses Verzeichnis auf dem Server nochmal mit dirvish. Das macht sogenannte Hardlink-Backups, so dass ich mehrere historische Stände haben kann in denen identische Dateien nicht mehrfach Plattenplatz brauchen.

So ähnlich machen wir das jetzt auch mit dem Notebook. weiterlesen

Heutzutage fallen an allen möglichen Stellen irgendwelche Daten im JSON-Format an. Und das ist gut so. Trägt nicht so auf wie XML, ist dafür aber flexibler — und vor allem besser definiert — als irgendwelche selbstausgedachten CSV- oder INI-Formate.

Man ist schlecht beraten, zu versuchen dermassen komplexe Formate mit Shell-Tools wie awk, sed oder grep zu Leibe zu rücken. Reguläre Ausdrücke sind eine tolle Sache, aber in dieser Situation fallen die einem früher oder später auf den Fuß. Bislang habe ich meist eine Sprache mit P bemüht: Python, Perl oder zur Not PHP. Die können JSON importieren, danach arbeitet man auf den gewohnten Datenstrukturen. Also auf Arrays und Objekten, und die kann man schön sauber nach dem durchkämmen was man sucht.

Jetzt hat aber ein neues Tool seinen Weg in meinen Werkzeugkasten gefunden: jq. weiterlesen

tmux in der Praxis

tmux in der Praxis

Wenn ich am Rechner sitze habe ich üblicherweise nur zwei Fenster auf: ein Terminal und einen Firefox. Letzteren zum Browsen, in der Shell mache ich (fast) alles andere. Also mailen, chatten, programmieren, konfigurieren und was sonst noch so anfällt.

Was im Web-Browser die Tabs sind ist in der Shell der Terminal Multiplexer. Ich brauche nicht mehrere Fenster zu öffnen, ich kann einfach mehrere Anwendungen in einem Fenster ‚fahren‘. Beim Betrieb auf einem Server kommt noch der Komfort dazu, dass ich mich am Multiplexer an- und abmelden kann wie ich will, die Anwendungen laufen einfach weiter. So habe ich meinen Mail- und Chat-Client auf einem Server laufen, dann muss ich mich nicht immer an IRC & Co. anmelden wenn ich online gehe, und ich habe immer die Backlogs die ich bei Interesse überfliegen kann.

Jahrelang war ich mit GNU Screen sehr zufrieden. Ich hatte mir da eine nette Statuszeile gebastelt die mir sagt welche ‚Fenster‘ ich habe, zusätzlich wurden mit einem kleinen Perlskript ein paar Infos eingeblendet: IP-Adresse, System Load, Akkustatus und dergleichen.

Auf meinem neuen Firmennotebook habe ich Byobu gefunden. Das ist eine Art vorkonfiguriertes Screen (dachte ich zumindest) das ab Werk ganz ähnlich aussieht wie meine angepasste Variante. Über Tastendruck kann man da eine Menge konfigurieren, alles in allem eine nette Sache. Irgendwann wollte ich die Infos in der Statuszeile aber anpassen. Genau genommen wollte ich einen Eintrag haben der mir den aktuellen Status aus meinem Zabbix anzeigt. Also habe ich mir angesehen wie Byobu aufgebaut ist.

Zu meiner Überraschung lag da gar kein Screen drunter. Kann man auch machen, per Default nutzt Ubuntu aber tmux. Darüber hatte ich schon viel gutes gelesen, konnte mich aber doch irgendwie nicht von meinem gewohnten Screen trennen. Da ich aber unwissend mehrere Monate mit tmux zufrieden war habe ich das dann doch noch mal überdacht, und was soll ich sagen? Ich bin begeistert!

Ich habe mir wieder ein Skript gebastelt das für die Statusleiste interessante Daten zusammenklaubt, diesmal in Python. Und ich habe mir angeeignet wie man mit aufgeteilten Fenstern arbeitet. Das geht zwar auch im Screen, aber im tmux macht es dagegen wirklich Spaß, und das ist einer der größten Vorteile.

Wenn ich was für den Mikrocontroller entwickle habe ich oben einen großen Vim mit dem Code, unten links kann ich in einer kleinen Shell Kommandos absetzen — compilieren und flashen beispielsweise, und unten rechts sehe ich Debug-Ausgaben vom Controller.

Oder ich habe auf einem anderen Schirm groß meinen Mailclient. Unten sind drei Zeilen meines Chatclients zu sehen, wenn da eine interessante Aktivität angezeigt wird kann ich auf Tastendruck wechseln. Der Chat wird dann oben groß, und der Mailclient ist unten in den drei Zeilen zu sehen.

Ich bin sehr zufrieden damit, und ich ärgere mich dass ich nicht schon wesentlich eher umgestiegen bin…

Ich habe dem Blog eine neue Kategorie verpasst: unter Tool-Time möchte ich in Zukunft Teile meines Werkzeugkastens vorstellen. Damit meine ich nicht unbedingt physisches Werkzeug — Hammer, Schraubenschlüssel & Co. — sondern insbesondere Software.

Vor einiger Zeit habe ich den Arbeitgeber gewechselt. Auf meinem letzten Arbeitsplatzrechner hatte ich — genau wie zu Hause — Arch Linux. Leider konnte ich den aber bei meinem letzten Kunden nicht benutzen, da ich da mit dem Kundenrechner arbeiten musste. Den Kunden bin ich jetzt genau wie den Arbeitgeber los, auch das alte Notebook habe ich nicht mehr.

Von Arch bin ich zwar immer noch sehr angetan, um bei meinem neuen Arbeitgeber aber schnell ‚an die Schüppe‘ zu kommen habe ich das von Dell vorinstallierte Ubuntu auf dem Notebook gelassen.

Da bin ich dann erstmal mit den Standardwerkzeugen gefahren. Klar habe ich ein paar (für mich) unverzichtbare Werkzeuge installiert, aber ich habe weder meine Konfiguration von zu Hause mitgebracht, noch ähnlich viel Sorgfalt auf die Feineinstellung aufgewandt. Vor ein paar Wochen hat es mich dann aber doch gepackt, und seitdem konvergieren die beiden Welten. Ich habe eine Menge Konfiguration von zu Hause übernommen, aber auch einige völlig neue Tools für mich entdeckt. Irgendwie bin ich dann angefangen fast meinen kompletten Werkzeugkasten in Frage zu stellen, und ich muss sagen: das Ergebnis gefällt mir. :-)

Nachdem auf dem Computer die meisten Werkzeuge optimiert waren fiel dann mein Blick auf mein altgedientes HTC Desire… und auch das kommt Heute mit einer komplett anderen Ausstattung daher als noch vor vier Wochen. An der Stelle gebe ich zu dass ich immer noch auf ein Nexus 4 schiele, aber mit der neuen Software gefällt mir eigentlich auch der alte Fernsprecher noch ganz gut…

Langer Rede kurzer Sinn: hier ist die neue Kategorie, und hier gilt noch mehr als in den anderen Kategorien: ich freue mich über jede Rückmeldung! Nichts Fast nichts ist so gut dass man es nicht noch verbessern könnte… ;-)