Saarland-Uhr: Alexa spricht Saarländisch

Nachdem mein Alexa-Skill Ungenaue Uhr für die ein oder andere Erheiterung gesorgt hat, habe ich Alexa jetzt beigebracht, die Uhrzeit auf Saarländisch zu sagen. Hierzu einfach den Skill Saarland Uhr aktivieren oder gleich

„Alexa, öffne Saarland Uhr“

sagen und schon gibt es die Zeit auf Saarländisch. Und damit das nicht so langweilig ist, liefert sie noch gleich einen zur Uhrzeit passenden Spruch hinterher. Hier bin ich auch immer auf der Suche nach neuen Sprüchen. Falls jemand einen guten hat, dann einfach mir schicken zusammen mit einem Vorschlag, zu welcher Uhrzeit und Wochentag er kommen soll. Und wenn jemand eine andere Mundart spricht, dann auch gerne melden. Eine „häsische“ oder bayrische Alexa wäre auch ganz nett.

Ungenaue Uhr

Sorgt die genaue Uhrzeit für Stress und Hektik? Mit der Ungenauen Uhr wird der Tag entschleunigt, indem die Uhrzeit in frei wählbaren Stufen ungenauer angegeben wird.

Einfach zu Alexa sagen:

     „Alexa, starte Ungenaue Uhr mit Stufe drei“

oder eine andere Stufe von 0 bis 10. Ich mag ja die vier ganz besonders. Wer noch Ideen für weitere Stufen hat, diese einfach hier oder beim Amazon Skill Ungenaue Uhr hinterlassen.

Hinweis: es wird immer die Uhrzeit in Deutschland verwendet, da ein Skill so ohne Weiteres den Standort nicht bestimmen darf.

25 Jahre Clipper mit viel Wind

Meine Eltern haben eine Druckerei, weshalb meine ersten größeren Programme für deren Verwaltung geschrieben wurden. Die ersten Versionen waren noch in dBase III geschrieben, aus dem dann sehr schnell Clipper „Sommer 87“ wurde. Damals bekam ich auch meine erste Lektion in dem, was man heute als „User Experience“ bezeichnet:

Wir hatten eine Sekretärin, für die mein Programm der erste Kontakt mit einem Computer war. Dementsprechend gering waren die Kenntnisse, wie der Kasten zu bedienen ist. Die üblichen Programme zu der Zeit waren mit Zahlen aufgebaut: „Geben Sie 57 für Zahlungseingang ein“. Das konnte sich schon damals niemand merken. Ich habe stattdessen eine Menu-Hierarchie verwendet und Buchstaben statt Zahlen. Man konnte sowohl die Buchstaben eintippen, als auch den Menupunkt aus einer Liste auswählen:

Dies erlaubte einen schnellen Einstieg in die Software für neue Nutzer als auch die schnelle Bedienung für erfahrene Anwender. Ein kleines Problem waren natürlich Kollisionen bei den Buchstaben. Aber mit etwas Kreativität konnte ich das auch lösen: es gab beispielsweise ein Auftrag – Wiederbeleben“, um aus einem alten Auftrag einen neuen zu erstellen…und das ist bei einer Druckerei eine recht häufig vorkommender Fall bei Briefbögen.

Fehlschläge gab es auch: der Versuch das ganze Projekt „komplett sauber neu zu implementieren“ ist grandios fehlgeschlagen. Martin Fowlers Refactoring lieferte ein paar Jahre später die Antwort auf das „Warum schlug es fehl?“. Glücklicherweise hielt sich die verlorene Zeit in Grenzen – da ging es anderen Firmen wie Lotus oder Novell schon deutlich schlechter.

Apropos Novell, die Software wurde später auch mehrplatzfähig und bis weit in die 2000er lief ein MARS NWE in der Druckerei. Martin, falls du das liest: ich war derjenige, der dir ein komplettes Novell Netware 3.x Paket mit Handbüchern und Disketten geschickt hat, damit du besser testen konntest. Vielen Dank für deine Arbeit, sie hat uns sehr geholfen!

Aus der Kundschaft der Druckerei kamen auch die ersten anderen Firmen, die eine Verwaltung von mir geschrieben bekamen. Insgesamt waren es knapp 10 Programme, die teilweise ganz eigene Anforderungen hatten. Aber das meiste war identisch, so dass ich schon früh eine Modularisierung des Codes eingeführt hatte.

Von diesen Kunden ist heute nur noch einer übrig, der die Software seit nunmehr 25 Jahren verwendet: das Wind Saarbrücken, ein Ladengeschäft für Sportmoden, Snow- und Skateboards, Bademode und vieles mehr. Hier gab es auch die erste Standortvernetzung. Damals noch mit ISDN und einer selbst gedengelten Datenbanktechnologie, die man heute als Eventual Consistency bezeichnen würde. Das ganze lief übrigens unter OS/2, was als erstes (erschwingliches) PC-Betriebssystem echtes Multitasking erlaubte. Ein paar Jahre später wurde es durch Linux ersetzt, was heute noch verwendet wird. Hier kam der Dosemu und auch Dosbox zum Einsatz.

Die Ladenkasse wurde durch ein selbstgelötetes Kabel und etwas Assemblercode (!) geöffnet. Eine etwas hemdsärmelige Lösung, aber lief viele Jahre problemlos, bis sie durch einen Bon-Drucker mit einem extra Kassen-Ausgang ersetzt wurde. Der Bon-Drucker war auch ein lustiger Spaß: da es unter DOS keine Drucker-Treiber gibt, musste ich das Logo von Hand (ok mit einem kleinen selbstgeschriebenen Programm) in das richtiger Format umwandeln. Das DOS-Programm liest es beim Rechnungsdruck aus einer Datei und schickt es einfach zum Drucker – funktioniert auch seit Jahren sehr gut.

Die letzte Neuerung ist die Umstellung auf Harbour, um die Software nativ laufen zu lassen. Dies hatte nicht nur den Vorteil, dass man wieder einen Compiler aus diesem Jahrtausend verwendet, sondern dass das Programm beim Warten auf eine Eingabe nicht in einer Endlosschleife läuft. Dies macht sich beim Lüftergeräusch und beim Stromverbrauch positiv bemerkbar.

Ob sich die Software noch weitere 25 Jahre hält kann niemand sagen. Aber sie hat dem Wind treue Dienste geleistet und wird mittlerweile von der dritten Geschäftsleitung genutzt. Ich wünsche alles Gute für die Zukunft!

 

Sauberer Anschiss von Alexa

Falls mal wieder nichts so läuft wie es soll, hab ich hierfür den passenden Alexa-Skill gebaut: Wenn man

„Alexa, starte Rundmachen“

sagt, dann lässt Alexa eine Standpauke vom Stapel.

Der Skill läuft als in JavaScript geschriebene AWS-Lambda-Funktion auf Node.JS 6.10. Ich hatte es zuerst in Java entwickelt, aber zum einen muss man immer 7 MB mit Bibliotheken hochladen und dann benötigt Lamda bis zu 12 Sekunden, um die JVM zu starten. Keine Ahnung was Amazon da macht, aber bei Googles AppEngine geht das mal deutlich flotter.

Reichweitenrechner für Tesla Semi Truck

Hat dir die Vorstellung des Tesla Sattelschleppers gefallen? Mir schon und deshalb hab ihn sie zu meiner Reichweiten-Rechner App hinzugefügt. Die Reichweite ist beeindruckend, aber man muss vorsichtig mit dem Gasfuß sein, da das Physikmodell mit dem maximalen Gewicht von 40 Tonnen rechnet.

App gegen die Reichweitenangst

Ich habe eine neue App entwickelt, die gegen die Reichweitenangst bei Elektroautos hilft: wenn du vorhast ein Elektroauto zu kaufen, dann installiere einfach den Reichweitenrechner und fahre mit deinem normalen Auto. Die App zeigt dir, wie sich ein Elektroauto verhalten würde, insbesondere im Bezug auf die Batterie. Dies zeigt dir schnell, welches Elektroauto am besten zu dir passt. Ich hab mir die App eigentlich aus Eigennutz gebaut, da ich mir eines zulegen will und von der Presse verunsichert war, wie weit die Dinger kommen.

Hat jemand ein Elektroauto und Zeit und Lust Verbrennerfahrer von der Alltagstauglichkeit zu überzeugen? Ich hab sehr viel Zeit in das physikalische Modell gesteckt, damit die Ergebnisse so genau wie möglich sind und kalibriere dies auch mit echten Fahrzeugen auf echten Straßen. Leider hab ich aktuell nur Zugriff auf einen Model S 75 und einen 30 kW Leaf…die Dinger sind in der Miete schon teuer…

Wer kann mich bei den anderen Fahrzeugen mit Echtdaten unterstützen?

Man muss hierzu lediglich normal mit dem EV fahren und danach notieren, wie viel kWh die Fahrt verbraucht hat. Wer unterstützen mag, einfach kurze Nachricht an mich, dann gibt es eine Spezialversion der App, die Daten aufzeichnet, damit ich das Modell drauf loslassen kann (die normale Version zeichnet natürlich nix auf, da mir der Datenschutz wichtig ist).

Korrekte Anbindung eines RFID-RC522 an einen Raspberry PI

Ich bin gerade dabei, einen einfachen Hörbuch-Spieler für meine Kids zu bauen. Ein Bestandteil davon sind RFID-Chips für jedes Hörbuch. Ein RFID-RC522-Leser erkennt diese und spielt das entsprechende Hörbuch ab.

Die Anbindung der RFID-RC522-Platine hat sich als schwieriger herausgestellt als gedacht, da fast alle Anleitungen hierzu im Internet eine falsche Belegung angeben, die aber mit einem aktuellen Raspberry nicht funktionieren. Oder sie funktionieren, erlauben aber keine Interrupts und sind damit sehr stromhungrig.

Mit dieser Schaltung geht es sehr kompakt und einfach:

Sie erlaubt die Verwendung von Interrupts, womit sehr stromsparende Anwendungen möglich sind. Den Schaltplan gibt es bei Fritzing.org.