6502 Breadboard Computer

Was heute ein Wettbewerb zwischen Intel gegen AMD im Bereich der PC CPUs darstellt, war Anfang der 80’er Jahre Zilog mit dem Z80 gegen MOS mit dem 6502’er. Nur das es in der 8 Bit Welt unterschiedliche, zueinander nicht kompatible Systeme waren.

Ich war immer auf Seiten des 6502’er der, genauso wie der Z80, immer noch produziert wird. Beide CPUs steckten so ziemlich in jedem Home-Computer und Spielkonsolen seiner Zeit. Daher gibt es heute noch eine Menge Know-How, insbesondere im Hobby Bereich, um eben diese CPUs. Warum eigentlich? Naja, ich denke, diese CPUs konnte man noch komplett verstehen. Alle die Assembler programmiert haben, kannen die Memory Map, die illegalen Opcode usw. aus dem eff-eff und auch wenn sich, zumindest bei mir, der Nebel der Zeit über dieses Wissen gelegt hat, so kommt man schnell wieder rein.

Daher war ich sehr offen für ein Projekt, welches ich auf Y*utube entdeckt haben. Es ist der Channel von Ben Eater, auf dem er nicht nur einen 8 Bit Computer vom Grunde auf in vielen sehr interessanten Videos beschreibt, vielmehr baut er auch einen Rechner auf Basis eines aktuellen 65C02 auf.

Hier mal mein erster Aufbau inkl. Clock-Modul.

Retro-Computing mal etwas anders. Ist das ein interessantes Thema? Wer möchte tiefer eintauchen? Entweder alles über Ben und seinem Sub-Reddit oder gerne auch über diese Seite.

Hoffe es macht euch Spaß!

IKEA Feinstaubsensor im WLAN (MAKE: Projekt)

In der Ausgabe MAKE: 5/21 gibt es ein Projekt um den IKEA Feinstaubsensor, mit dem Namen VINDRIKTNING, an das WLAN anzubinden. Ein schönes Einsteigerprojekt, einfach umzusetzen, ein wenig Hardware und Software und schon hat man ein schönes IoT-Projekt.

Den Sourcecode (Stand: 2021-10-07) findet man hier, allerdings etwas ungeschickt, da ein statischer Wert (Wert = 25) geliefert wird und kein Sensorwert.

Den folgenden Code

// Sensor abfragen
spm25 = 25; //getSensorData();

durch

// Sensor abfragen
spm25 = getSensorData();

ersetzen und schon läuft es wie es soll. Eigentlich leicht zu finden, für Einsteiger aber ggf. eine Hürde.

Hope it helps!

Nachtrag:

O.g. Code wurde im Github Sketch korrigiert!

Git Gui Windows & SSH Keys

Ich arbeite mit Git und Github schon etwas länger, bin allerdings kein professioneller Entwickler und so ist meine Nutzung eher sporadisch für kleinere Scripte und ähnliches. Dieser Tage habe ich mal auf SSH umgestellt. Key erstellt, bei Github eingetragen und alles war gut, zumindest unter Linux. Doch wie sieht es unter Windows aus? Ich habe meinen Private-Key in ~BENUTZER/.ssh/ gelegt, doch leider funktionierte es nicht. Machen wir es kurz, den Private-Key umbenennen nach “id_rsa” und schon funktionierte es.

Nur um sicher zu gehen, ihr könnt den Key im OpenSSH Format belassen und müsst ihn nicht per Puttygen konvertieren, da ja ein MinGW drunter liegt.

Hope it helps!

Jupyter Notebooks mit bestimmten Browser öffnen

Ich bin ein Fan von Jupyter Notebooks, nicht als Entwicklungsumgebung, sondern als Dokumentationssystem im Python Umfeld. Ich probiere viel aus, dabei ist leider auch viel “Try & Error”, und dank Jupyter verliere ich nicht die Übersicht und kann auch noch schnell eine Minidokumentation schreiben. Vielleicht liegt es auch daran, dass ich in den Neunzigern mit Mathematica gearbeitet habe und das Konzept schon immer ganz gut fand. 🙂

Wenn man jetzt ein Notebook nicht mit dem Standard-Browser öffnen möchte, so gibt es sicherlich mehrere Wege die zum Ziel führen. Da ich Notebooks immer im Chrome geöffnet haben möchte, stand ich vor der Aufgabe dies zu implementieren.

Auf der (Power-) Shell

jupyter notebook --generate-config

eingeben, dann wird im Home Verzeichnis eine Konfigurations Datei .jupyter/jupyter_notebook_config.py erzeugt.
Mit einem Editor die Zeile mit c.NotebookApp.browser suchen und wie folgt editieren:

c.NotebookApp.browser = u'"C:\\Program Files (x86)\\Google\\Chrome\\Application\\chrome.exe" %s'

Die Pfadangabe im o.g. Beispiel ist für Windows gedacht und muss an eure Umgebung angepasst werden.

Hope it helps!

Compile Kernel Stats

Zu Weihnachten 2019 habe ich mir mal einen neuen Rechner gegönnt. AMD Threadripper 3970X mit 128 GB RAM, Nvidea RTX2070 Super Grafikkarte, 2x PCI4 NVE 2 TB SSD. Windows 10 war schnell installiert, Fedora 31 brauchte etwas länger, hierzu folgen doch einige Tipps in einem gesonderten Blogeintrag, und dann erstmal schauen was das Teil wirklich kann. Unter Linux gibt es kcbench um die Performance beim kompilieren des Kernels zu testen. Ich habe hierzu auch ein kleines Script geschrieben, um die Performance mit verschiedenen Threads zu testen. Ergebnisse und das Script findet ihr hier. Alles ganz einfach, erfüllt aber seinen Zweck. Wer Lust hat, kann gerne seine Ergebnisse teilen.

Hoffe ihr könnt damit etwas anfangen. Feedback ist gerne gesehen! Wünsche euch einen guten Start in die Zwanziger,

Maurice

Python 3 & pyzmail

Von Zeit zu Zeit programmiere ich ein wenig, meistens um einige Kleinigkeiten auszuprobieren oder etwas zu automatisieren. Ich habe mich ein wenig mit Python und dem Thema IMAP auseinandergesetzt. Python ist einfach zu erlernen und in aller Regel gibt es Software-Bibliotheken, die einem die Arbeit sehr erleichtern und man so schnell zum Ziel kommt. In meinem Beispiel wurde im Buch “Automate the Boring Stuff with Python” die Bibliothek, kurz Lib für Library, pyzmail empfohlen. Ich installiere die benötigten Pakete in aller Regel per:

pip install $LIBRARY

Bei pyzmail gab es leider Probeleme, da nach meinen Recherchen Python >= 3.6 nicht richtig funktioniert. Sehr schade, da ich so die Beispiele aus dem Buch nicht bzw. kaum nachvollziehen kann. ZUm Glück gib t es einen Fork der Lib auf github welcher sich auch per “pip” installieren lässt.

pip install pyzmail36

Wie immer hoffe ich, dass euch der Tip hilft und weitere Sucherei erspart. Keep on hacking …