• 🔗Freecad unter Ubuntu - Skalierung beim Druck fehlerhaft

    Schon seit einigen Jahren fertige ich Bohrschablonen und andere Templates in Freecad. Für diesen Arbeitsfluss ist es essentiell, dass die Templates am Ende maßhaltig sind.

    Ich hatte ein Problem mit dem Drucken von Zeichnungen (TechDraw) aus Freecad. Trotz ausgeschalteter Skalierung in Freecad und Treiber, stimmte die Skalierung nicht. Der Drucker wurde driverless bei der Installation gefunden und verwendete den generischen Gutenprint-Treiber.

    Nach einigen Versuchen habe ich dann den Treiber vom Hersteller heruntergeladen und manuell installiert. Meine exportierten PDF-Dateien wurden anschließend maßhaltig ausgedruckt und auch der direkte Druck aus Freecad führt bei Verwendung des Herstellertreibers zu korrekt skalierten Drucken.

  • 🔗Pyduin 0.6.1 Release

    Nach mehrjähriger Pause habe ich pyduin nach Python3 portiert und einige wesentliche Verbesserungen vorgenommen.

    Das Kommandozeileninterface ist nun aus meiner Sicht deutlich einfacher strukturiert und effizienter zu bedienen.

    Zum flashen der Zielgeräte kommt nun platformio zum Einsatz. Eine enorme Komplexitätsreduktion. Gleichzeitig wird die Anzahl der potentiellen Zielgeräte massiv gesteigert.

    Das Packagaing wird nun nicht mehr über setup.py, sondern über pyproject.toml abgewickelt, was die Entwicklung deutlich vereinfacht.

    Im nächsten Release wird es wieder mehr um Features gehen. Es sind noch nicht alle Funktionalitäten für die Pins implementiert. PWM, OneWire und die DHT Sensoren sind die nächste Zielmarke.

  • 🔗Git grep goodby

    Immerhin, könnte man sagen, hat sich Quellcodeversionierung durchgesetzt. So weit so gut. Schaut man auf das Konkrete, wird man Fefist. Es ist zum Haare ausreißen, was man so hört und sieht. Aktueller Fall dieser Tage: Bashskripte aus der Hölle. Starring: Visual Studio Code, Windows und Git.

    Windows macht natürlich die Zeilenumbrüche per default kaputt. Wen die Zeilenumbrüche nicht korrekt sind, funktioniert git grep nicht mehr. Ein absolut essentielles Kommando. Klar kann man das nachträglich ändern. Dazu muss das Problem aber erst einmal Jemandem auffallen. Passiert halt nie, wenn man nicht mal statische Codeanalyse macht.

    Und wenn Windows dann noch seine Byte-Order-Mark einfügt, startet jedes Skript direkt mit einer für den durchnittlichen Windowsadmin esoterischen command not found-Fehlermeldung. Die wird natürlich ignoriert, denn irgendwie scheint Linux kaputt zu sein. Ein Fehlschluss jagt den nächsten.

    Natürlich ist nichts testbar und wenn nach Jahren der Pfuscherei mal eine statische Codeanalyse über den Code huscht und im Prinzip alles in die Tonne lintet, geht man lieber kollektiv den Nestbeschmutzer an, der shellcheck angeworfen hat. Management hat was zu verlieren. Das wird hier schon immer so gemacht.

    Eigentlich wollte ich ja nur sagen: Macht statische Codeanalyse. Man lernt enorm viel dabei. Ja, ist manchmal nervig. Aber ist die Arbeit wert. Man wird nur ein guter Coder, wenn man sich aktiv permanent weiterentwickelt und sich dabei …

  • 🔗MySQL nach CSV exportieren

    In einer Abfrage alle notwendigen Daten aus einer MySQL-Datenbank holen und sofort in eine .csv-Datei schreiben? Kein Problem! Und dabei haben wir wie immer Optionen über Optionen…

    Grundlegend ist die Syntax dieses Mirakels schnell erklärt

    SELECT spalte1,spalte2,spalte3
    FROM tabelle
    INTO OUTFILE '/tmp/mein.csv';
    

    Weiterhin besteht die Möglichkeit, die Feldtrenner, Escapezeichen, die Zeichen für den Beginn und das Ende von zusammenhängenden Zeichenketten und den Zeilenumbruch zu wählen.

    SELECT  spalte1,spalte2,spalte3
    INTO OUTFILE '/tmp/clients.csv'
    FIELDS TERMINATED BY ';' 
    OPTIONALLY ENCLOSED BY '"'
    ESCAPED BY '\\' 
    LINES TERMINATED BY '\n'
    FROM tabelle;
    

    Heraus kommt eine .csv-Datei, die ; als Feldtrenner, " als Textbegrenzer, \\ als Escapezeichen und \n als Zeichen für den Zeilenumbruch verwendet. Alle Optionen können natürlich auch frei kombiniert werden.

  • 🔗Banana Pi headless

    Manchmal muss es eben kopflos sein. Wer will auch einen Bildschirm und eine Tastatur ständig rumliegen haben, damit er sie zur Einrichtung an den Banana Pi fummeln kann.

    Image herunterladen & auf SD-Karte kopieren

    Das Image von bananapi.com herunterladen und anschießend mit folgendem Kommando auf eine 8GB SD-Karte schreiben:

    dd if=/pfad/zum.img of=/dev/mmcblk0 bs=4M
    

    Das kann eine Weile dauern. In der Zwischenzeit mal nebenbei die Konfiguration des NetworkManagers für das lokale WLAN aus dem eigenen System sichern

    cp /etc/NetworkManager/system-connections/FritzRocks7490 /tmp
    

    und dann folgende Zeile anpassen.

    mac-address=YO:UR:MA:CC
    

    Die Adresse habe ich erhalten, indem ich den WLAN-Stick an meinen Rechner angeschlossen und in der Ausgabe von ip addr nach dem entsprechenden Adapter gesucht habe.

    Dateisystem aufblasen und Konfigurationsdateien erstellen

    Nun sollte das Image fertig auf die SD-Karte geschrieben worden sein. Es sollten zwei Partitionen zu sehen sein. Die größere Partition habe ich mit folgenden Kommandos bis auf 7,9GB aufgeblasen

    fdisk /dev/mmcblk0
    

    Dann d (delete) und Partition 2 auswählen. Anschießend mit n eine neue primäre Partition erstellen und alle Vorschläge (Nummer, Start, Ende) annehmen. Dann mit w das neue Layout schreiben. Nun muss noch das Dateisystem aufgeblasen werden.

    e2fsck -f /dev/mmcblk0p2
    resize2fs /dev/mmcblk0p2
    

    Ohne die Prüfung läuft die Größenanpassung nicht durch. Darf …

  • « Page 2 / 2