I watched a video of NCommander porting Windows 1 Applications to modern Windows. He couldn’t find a way to convert the Windows 1 icons to the newer icon format used since Windows 3. Windows 1 and Windows 2 used a monochromatic icon format that is incompatible with the new format. (Not so) Surprisingly Microsoft never offered a tool to convert these icons. Because they are monochromatic it would not make much sense anyway. But I was bored so I wrote a little tool, that converts these old icons to the new format. You can download it here.
Thees Winkler
Einige von Euch kennen die alten Großrechner von Konrad Zuse aus Museen, z.B. dem Deutschen Museum in München oder dem Computermuseum der FH Kiel. Dort erfährt man einiges über die Hardware diese alten Rechner. Leider gibt es dort aber kaum Infos wie man Programme für sie geschrieben hat. Darum gibt es hier in unregelmäßigen Abständen Programmbeispiele für diese alten Großrechner. Mein Erstes Programmbeispiel ist ein “Hallo Welt” Programm für die Z22 von Konrad Zuse.
Vorweg ein wenig zur Technik der Z22. Die Z22 ist Zuses erster Röhrenrechner und kam 1956 für etwa 160.000 DM auf den Markt.
So könnt ihr die Windows 10 Terminal App wie ein “echtes” DOS aussehen lassen für ein wenig Retro-Feeling:
- VGA Font runterladen und installieren
- Die Einstellungen der Terminal App öffnen und folgendes Farbschema einfügen
{ "name" : "MS-DOS", "black" : "#0C0C0C", "brightBlack" : "#808080", "brightBlue" : "#0000ff", "brightCyan" : "#00ffff", "brightGreen" : "#00ff00", "brightPurple" : "#ff00ff", "brightRed" : "#ff0000", "brightWhite" : "#ffffff", "brightYellow" : "#ffff00", "blue" : "#000080", "cyan" : "#008080", "foreground" : "#c0c0c0", "green" : "#008000", "purple" : "#800080", "red" : "#800000", "white" : "#FFFFFF", "yellow" : "#808000" }
- Im Profil für die “Eingabeaufforderung” folgende Einstellungen vornehmen:
"cursorColor" : "#c0c0c0", "cursorShape" : "vintage", "padding" : "5, 5, 5, 5", "fontFace" : "Perfect DOS VGA 437 Win", "fontSize" : 12, "experimental.retroTerminalEffect" : true, "closeOnExit" : true, "colorScheme" : "MS-DOS"
Hier eine kurze Anleitung wie man “Oh my zsh” in der neuen Windows Terminal App unter Windows 10 nutzen kann.
-
- Powerline Fonts installieren. Dazu Powershell öffnen (oder wenn ihr kein git installiert habt die ZIP Datei runterladen):
git clone https://github.com/powerline/fonts.git
- Installationsskript für die Fonts ausführen (als Admin in Powershell):
Set-ExecutionPolicy Bypass .\install.ps1
- Terminal App Öffnen und Einstellungen wählen.
- Das Ubuntu Farbschema einfügen unter “schemes”
{ "name": "Ubuntu Terminal", "black": "#2e3436", "red": "#cc0000", "green": "#4e9a06", "yellow": "#c4a000", "blue": "#3465a4", "purple": "#75507b", "cyan": "#06989a", "white": "#d3d7cf", "brightBlack": "#555753", "brightRed": "#ef2929", "brightGreen": "#8ae234", "brightYellow": "#fce94f", "brightBlue": "#729fcf", "brightPurple": "#ad7fa8", "brightCyan": "#34e2e2", "brightWhite": "#eeeeec", "background": "#300a24", "foreground": "#eeeeec" }
- In eurem Ubuntu Profil Farbschema und Font konfigurieren:
"colorScheme" : "Ubuntu Terminal", "fontFace" : "Ubuntu Mono derivative Powerline",
- Benötigte Pakete in Ubuntu installieren:
sudo apt-get install zsh git curl
- zsh einrichten
which zsh
und den Pfad in
chsh
nutzen
- Oh my zsh installieren:
sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
- Theme konfigurieren. Ich nutze z.B. gerne “agnoster”
Dazu in der .zshrc die ZeileZSH_THEME="<theme-name>"
entsprechend anpassen
- Powerline Fonts installieren. Dazu Powershell öffnen (oder wenn ihr kein git installiert habt die ZIP Datei runterladen):
Nachfolgend ein Ubuntu nachempfundenes Farbschema für die Windows Terminal App, für Leute die zu faul sind das selbst zu bauen 😉
Farbschema:
{ "background" : "#000000", "black" : "#000000", "blue" : "#1818b2", "brightBlack" : "#686868", "brightBlue" : "#839496", "brightCyan" : "#54ffff", "brightGreen" : "#54ff54", "brightPurple" : "#ff54ff", "brightRed" : "#ff5454", "brightWhite" : "#ffffff", "brightYellow" : "#ffff54", "cyan" : "#18b2b2", "foreground" : "#18f018", "green" : "#18f018", "name" : "Ubuntu Green Konsole", "purple" : "#e11ee1", "red" : "#fa4b4b", "white" : "#ffffff", "yellow" : "#b26818" }
{ "guid": "{2c4de342-38b7-51cf-b940-2309a097f518}", "hidden": false, "name": "Ubuntu", "source": "Windows.Terminal.Wsl", "fontFace":"Ubuntu Mono", "cursorColor" : "#00a300", "cursorShape" : "vintage", "historySize" : 9001, "colorScheme" : "Ubuntu Green Konsole", "useAcrylic" : true, "acrylicOpacity" : 0.2 }
Den Ubuntu Mono Font gibt es hier.
Aussehen tut das ganze so:
Um zuhause ein wenig Kinoatmosphäre zu schaffen, setze ich Kodi auf dem Raspberry Pie mit dem Plugin CinemaVision ein. Mit dem Plugin kann man Sequenzen wie Kinowerbung und Trailer vor den Hauptfilm erstellen.
Der eigentlich interessante Part ist aber, dass über die Actions in CinemaVision nahezu beliebige Kommandos ausgeführt werden. Ich nutze dieses Feature für die Steuerung der Beleuchtung. Ich setze zuhause Philips Hue ein.
Die Actions sind normale Textdateien. Actions bestehen aus einem Kommando z.B. das Aufrufen einer URL und nachfolgenden Parametern. Mehrere aufeinanderfolgende Befehle werden durch eine Leerzeile getrennt. Eine Kommentarzeile fängt mit # an.
Damit die Hue Lampen über das HTTP/JSon API gesteuert werden können, müsst ihr euch erst einen API Benutzer auf der Hue Bridge einrichten. Dies könnt ihr z.B. über die eingebaute Debug-Schnittstelle tun: http://<bridge-ip>/debug/clip.html – eine vollständige API Dokumentation gibt es hier (kostenloser Hue Developer Account benötigt).
Ich setze drei Actions in meiner CinemaVision Sequenz ein. Am Anfang wird für die Länge des Vorprogramms eine bestimmte Lichtszene, die ich in Philips Hue angelegt habe aktiviert. Danach werden die Farbigen Lampen in Colorloop Modus gesetzt und die Helligkeit langsam verringert.
http://<bridge-ip>/api/<userid>/groups/<groupid>/action PUT:{ "scene": "<scene-id>"} http://<bridge-ip>/api/<userid>/groups/<groupid>/action PUT:{ "effect": "colorloop", "bri": 110, "transitiontime": 20 }
Nachfolgende Action läuft vor dem Hauptfilm und dimmt das Licht langsam komplett ab:
http://<bridge-ip>/api/<userid>/groups/<groupid>/action PUT:{ "on": false, "transitiontime": 20 }
und am Ende des Hauptfilms werden die Lampen auf die vordefinierte Szene “Tropendämmerung” gesetzt.
http://<bridge-ip>/api/<userid>/groups/<groupid>/action PUT: { "scene": "AsHe6xgTikjBhzd", "transitiontime": 20 }
- <bridge-ip> muss durch die IP Adresse der Bridge ersetzt werden
- <userid> muss durch die ID eures API Nutzers
- <groupid> ist die ID der Lamepengruppe, die ihr steuern wollt
- <sceneid> ist die ID der Szene, die für das Vorprogramm angelegt wurde
Die Actions müssen mit der Dateiendung .cvaction unter Actions im Content-Verzeichnis von CinameVisions abgelegt werden. Danach können Sie in dem Plugin in die Sequenz eingefügt werden.
Der Plankalül ist eine der ersten Highlevel Programmiersprachen. Die Konzepte dieser Sprache wurden von Konrad Zuse zwischen 1942 und 1945 entworfen – aufgrund des Zweiten Weltkrieges gab es aber nie eine technische Umsetzung. Die Sprache ist aber trotzdem interessant, da sie schon viele Konzepte und Ideen enthält, die in allen modernen Programmiersprachen vorhanden sind.
Porgramme heißen in Plankalkül “Rechenplan”, Daten heißen “Angaben” und der Algorithmus wurde mit “Vorschrift” bezeichnet. Der Plankalkül umfasst unter anderem Zuweisungen, Funktionsaufrufe, bedingte Anweisungen, Schleifen, Gleitkommaarithmetik, Felder, zusammengesetzte Datentypen und andere besondere Merkmale wie zielgerichtete Ausführung.
Wir beginnen mit einer kurzen Einführung in den Syntax des Plankalkül, der nach heutigen Standards ungewöhnlich -weil zweidimensional – ist:Obiges ist ein Beispiel für eine Zuweisung. Der Wert von Z0 wird hier Z1 zugewiesen. Das V steht für den Variablenindex. In der letzten Zeile können Angaben zur Struktur der Objektdaten angebeben werden. 1.n bedeutet eine Ganzzahl zwischen 1 und 2^n-1. In nachfolgendem Beispiel wird der Wert von Z1 um 1 erhöht und wieder als natürliche Zahl in z1 gespeichert.
Das obige Beispiel wäre in C einfach als
Z1++;
zu notieren :-).
Habe mein brachliegendes Blogger.com Blog wieder auf eine eigene Domain gezogen. Bald gibt es hier auch wieder mehr neue Inhalte zu Computerthemen und mehr…
Immer, wenn ich Angela Merkel sehe, kommt mir neuerdings ein Zitat von Glenn Greenwald in den Sinn, das zwar auf viele Politiker zutrifft, aber meiner Meinung nach besonders auf “Mutti” passt.
The kind of people who ascend to that level of political power are people who have given up that kind of passion and vibrancy in their soul that would make them do that a long time ago. […]
They make so many compromises along the way to ascend that ladder of political power that I think their soul, to the extent that it existed, had been suffocated. (Glenn Greenwald)
(Quelle: Jung und Naiv 168 – Transkript bei Netzpolitik.org)
An dieser Stelle auch gleich die Leseempfehlung für das Buch Die globale Überwachung / No Place to Hide von Glenn Greenwald 🙂