Category Archives: Positiv

Vierter JUG Saxony Day

Ich war heute auf dem JUG Saxony Day in Dresden. Ach ich hab jetzt gar keine große Lust viel zu schreiben:

WAR SUPER und HAT SICH GELOHNT! 🙂

Mein persönliches Highlight war der Vortrag “Rundungsfehler” von Michael Wiedeking aber auch bei “Über den bewussten Umgang mit Nichtwissen in IT-Projekten” von Prof. Dr. Tobias Brückmann habe ich mir so einiges mitgenommen.

Hier meine Mitschrift:

(Ich habe vor Ort blind mitgemarkdownt und das ganze dann nach einem kurzen Review nur in html-umgewandelt – es wäre sehr erstaunlich, wenn sich keine Tippfehler fänden)

1. Keynote

2017-09-29
Radisson Blue Hotel Radebeul

Eröffnung

500 Besucher, 90 Studenten
#JSD2017

Keynote – Software Architektur für alle!? – Software Architektur wird Entwicklerstil

Stefan Zöllner / embarc

  • The accidental Architecture – paper von Grady Boch

Entscheidungen und Konzepte

  1. Interaktion mit Benutzern und Fremdsystemen
  2. Unter der Haube
  3. Entwicklung und Weiterentwicklung
  4. Ziel Umgebung und Betrieb

Architekturbewertung:

  1. Entscheidungen absichern
  2. Risiken kennen aufdecken
  3. Zielerreichung prüfen
  4. Kompromisse finden
  • Arc42
  • ATAM

Qualitätsmerkmale

  • Reliability (Zuverlässigkeit)
  • Maintainability (Wartbarkeit)
  • Usability (Nutzbarkeit)
  • Functionality
  • Security
  • Compatiblity
  • Performance
  • Portability

Wechselwirkungen zwischen Qualitätsmerkmale:

  • Effizienz vs Portablilty
  • Sicherheit vs. Usability

Architekturvision

  • für den Projekterfolg kritische Architekturaspekte
  • für die Entwicklung unumstößlich wichtel Rahmen

Prinzipien vs. Konkrete Vorgaben – im Team vereinbaren

arc42

Gliederungsvorschlag zur Architekturdoku

  1. Einführung und Ziele
  2. Randbedigungen
  3. Kontextabgrenzung
  4. Lösungsstrategie
  5. Bausteinsicht
  6. Laufzeitsicht
  7. Verteilungssicht
  8. Konzepte
  9. Entwurfsentscheidunge
  10. Qualitätsszenarien
  11. Risiken
  12. Glossar

Softwarearchitektur: Stufen

  1. Zufällig
  2. Explizit
  3. Nachvollziebar
  4. Wirkungsvoll
  • Wo finde ich die Struktur?
  • Übergreifende Konzepte?
  • Kommunikation? Wie beantwortet Ihr Fragen nach Architekturansätzen, – Konzepten, – Entscheidungen?

Risikogetriebene Architektur

“You should play as much attention to software arch. a single it contributes risk to the overall Projekt…”

Literatur

http://embarc.de/architektur-spicker
http://embarc.de/blog


2. Über den praktischen Umgang mit Nichtwissen in IT-Projekten

Prof. Dr. Tobias Brückmann (CampusLab)

Nichtwissen, Unwissenheit, Unsicherheit

  • Softwareentwicklung ist Wissenserwerb und dessen Übersetzung in Programmcode
  • Software repräsentiert das Wissen zum Zeitpunkt der Implementierung.

“gesunder Menschenverstand”

  1. Unbewusste Inkompetenz
  2. Bewusste Inkompetenz
  3. Bewusste Kompetenz
  4. Unbewusste Kompetenz (gesunder Menschenverstand => hilft nur den Profi)

Typen von Unsicherheit

  1. Produkt-Unsicherheit (Was?)
  2. Methoden-Unsicherheitn (Wie? )
  3. Stakeholder-Unsicherheit (Wer?)
  4. Domänen-Unsicherheit (Worin?)

Ebenen von Unwissenheit

  1. Lack of Ignorance – Fehlen von Unwissenheit
  2. Lack of Knowledge – Fehlen von Wissen (ich weiß das ich etwas bestimmtes nicht weiß)
  3. Lack of Awareness – Fehlen von Bewusstsein (ich weiß, das ich irgend etwas nicht weiß)
  4. Lack of Process – Fehlen eines Prozesses (ich weiß, dass ich etwas nicht weiß, aber nicht, woher ich das wissen bekomme)

Ziel der Softwareprozesses

Ebene 1: Fehlen von Unwissenheit zum Zeitpunkt der Implementierung.

Typische Fehlermuster in der Praxis

Prinzip des perfekten Autodidaktikers

Was beschrieben / gesagt wurde gilt als vermittelt und verstanden

Prinzip der unklaren Probleme

  • Jeder Stakeholder hat anderes Problem
  • Jeder Stakeholder hat andere Vorstellungen von den Problemen der anderen

Prinzip der einfachen Verführung

Fokus auf Dinge, die man gut kennt

Prinzip der Axiomatic von dokumentierten Annahmen

  • Was mit viel Aufwand dokumentiert wurde, wird nicht mehr hinterfragt – gilt als richtig
  • Dokumentierte Annahmen sind fix, Änderungen schwer

Prinzip der zwanghaftgen Vollständigkeit

  • Erst wenn etwas wirklich vollständig ist, ist es gut.
  • Nur das Detail zählt, der Überblick ist nicht wichtig.

Prinzip des überlagerten Wissen

  • Verschwendung vieler Ressourcen für das Anlegen großer Lagerbeständ an Wissen
  • Lagerbeständ ist schnell überlagert und wertlos

Wissen hat ein Haltbarkeitsdatum

Prinzip der Missachtung von Erkenntnisprozessen

  • Keine Möglichkeit auf gewonnene Erkenntnisse zu reagieren
  • Stigmatisierung von Erkenntnissen als Fehler

Prinzip der maximalen Distanz zum Kunden

Prinzip der Eigengefangenheit

“Dem Experten im Umgang mit einem Hammer erscheint jedes Problem als ein Nagel.”

Prinzip der Ummöglichkeit der eigenen Meta-Perskektive

Reflektor des eigenen Handelns bzgl. Des Wertbeitrags

Techniken zur Gewinnung und Verwaltung

Annahme: Wissen ist wertvolle Ressource

  • selten Uhren in Meetingräumen
  • Wie teuer war das Meeting? Wieviel Wissen würde gewonnen?

Verwaltung des Wissens (Lagerbeständ)

  • Definition of Ready (Spec vor der Entwicklung)
  • Definition of DONE

Veranschaulichen von Unwissen

  • Kategorien statt vermeintlicher Präzision (Schätzungen in Shirt größen M statt 54,034)
  • Explizite Ungenauigkeit statt vorgetäuscht Wissen
  • Aktuellen Stand der Erkenntnisse reflektieren (regelmäßig Neuschätzen und Repriorisierung)

Steuern auf Basis von gewonnene Wissen

  • Annahmgesteuert vs. Erkenntnissgesteuert

3. Agiles Sefi

Jan Gentsch & Julia Dellnitz

  • Arbeit am Produkt / im Team
  • Arbeit am Unternehmen
  • Arbeit an sich selbst (Vormachen) – inspect & adapt

Feedback

  • bekommen Negatives Feedback tut oft weh
  • geholt Feedback fühlt sich besser an

Feedback selbst einholen

http://smidig.de/agile-selfie


4. Ein Agile Knigge für Entwicklerteams

Lena Müller-Ontjes & Beginn Haider (Mach AG)

Prozesse ändern heißt sich selbst ändern!

Userstories

INVEST-Methode

  • Indeendent
  • Negotiable
  • Valuable
  • Estimable
  • Small
  • Testable

Sprintplanung

  • Team übernimmt und unterstützt bei Erstellung von Stories
  • Fehler vermeiden statt Fehler finden
  • Hinterfragen
  • Besprochene dokumentieren
  • Keine Entwickler-Anleitung
  • Alles was das Team macht steht am Board
  • Work-in-Progress-Beschränkung
  • QA ist Teil des Teams
  • Der Sprint ist und bleibt stabil (Aufgaben / Dauer)
  • Wissensinseln vermeiden

Retrospective

  • Nur für Teammitglieder!
  • Aktive Teilnahme aller Mitglieder
  • Moderator notwendig
  • Fokus ist nur der letzte Sprint
  • Keine Opferhaltung
  • Maßnahmen dokumentieren

Abnahme

  • Abnahme ist keine zweite QA
  • Konflikte eingehen -> alles muss auf den Tisch

Fazit

  • Vertrauen schaffen
  • Methoden einsetzen
  • Lösungsorientiert denken
  • Sprint-Alzheimer verhindern
  • Feedback geben

5. Serverless

Jörg Adler, Benjamin Otto (Mercato)

Cloud ist nicht nur Rechenleistung und Speicher sonder auch Servses

  • Infrastructure (IaaS)
  • Platform (PaaS)
  • Function (FaaS)

Tool to check: artillery

Function as a Service

  • alle Ressourcen beim Cloudanbieter
  • DEV stellt nur Code bereit
  • keine Persitenz
  • anbieterspezifisch
  • schnell scallierbar

AWS Lambda

  • functions can be bound to S3-buckets (eg. called on file-upload)
  • mehrere Sekunden für Start eines Lambdas
  • 2800 Lambdas – rund 40 TFlops (ca. 7 Cent/Sek)
  • JavaSDK von Amazon (Github: aws-lambda-java-libs)
  • Limits
  • Heap max. 1.5 GB
  • Laufzeit max. 5 Minuten

Kosten

  • Kostenalarme möglich (cloud-watch)
  • deutlich preiswerter als Docker in elastic cloud

Serverless framework

CLI-tool zum Bauen und Deployen von serverless functions

Demo mit Lambda-Beispiel

-> in Ergänzung: https://www.golem.de/news/open-source-oracles-serverless-plattform-versteht-auch-aws-lambda-1710-130447.html


6. Rundungsfehler

Michael Wiedeking (Mathema Software GmbH)

Gleitkommazahlen

  • Je größer die Zahl, desto größer die Ungenauigkeit (logarithmisch wird der Abstand der darstellbar Zahlen größer)
  • Je mehr größer die Mantisse, desto genauer die Darstellung (… kleiner die Abstände)

Rechnen mit Gleitkommazahlen

Wenn eine Zahl nicht darstellbar ist, dann nimm die nächst gelegene -> Problem der Unterschiedlichen Abstände -> Fehler bei großen Zahlen größer

Je nach Zahl treten große Fehler auf: 0.1 + 0.1 + 0.1 + 0.1 = 0.5

Fehler hängt ab von:
* Abstand von den existierenden Zahlen
* => Größe der Zahlen

=> Reihenfolge der Rechnung ist wichtig (Zwischenergebnisse können nicht darstellbar sein)

DFÜ am Amiga 1 – Mailbox

Kennt Ihr noch “DFÜ”? Ich glaube ich habe das Wort “Datenfernübertragung” schon seit einer halben Ewigkeit nicht mehr gehört.

In den letzten Wochen hatte ich mal wieder Spaß mit meinem Amiga. Etwas, das schon eine Weile auf meiner Wunsch-TODO-Liste steht ist das Thema DFÜ/Internet/Netzwerk. Ja, das alles geht mit dem Amiga.

Thema heute: Dial-In-Mailboxen

Bevor das Internet populär wurde, gab es sogenannte “Mailboxen“. Im Prinzip waren das Rechner, die man “anrufen” konnte – mit einem Akustikkoppler oder Modem. Für ersteres bin ich zu jung, aber ein Modem habe ich vor einiger Zeit auf dem Dachboden noch gefunden.

Was wird benötigt?

  • Amiga 🙂 – in meinem Fall ist das “THE-BABY” – ein A1200
  • Modem – ich benutze ein Elsa MicroLink 56k basic
  • Terminalprogramm – NComm (freier Key) oder Term
  • Telefonanschluss
  • Telefonnummern von Mailboxen

Amiga 1200 (aka "The BABY") mit Elsa-Modem
Amiga 1200 (aka “The BABY”) mit Elsa-Modem

 

NComm (Modem noch nicht angeschlossen)
NComm (Modem noch nicht angeschlossen)

 

Nachdem ich genau mit diesem Modem bereits vor über 20 Jahren in diversen Mailboxen unterwegs war, sollte es mit den ersten drei Punkten keine Probleme geben. Also Term installiert, Modem angeschlossen … und … “Modem not responding”. Hmm. Ach da war doch was … der Initialisierungsstring.

Nach wenigen Minuten Recherche bin ich fündig geworden. Mit AT&FX3 ließ sich das Modem schließlich von Term zur Mitarbeit überreden.

Init-String Elsa MicroLink 56k basic: AT&FX3
Init-String Elsa MicroLink 56k basic: AT&FX3

 

Doch nun die große Frage – wird die DFÜ über meinen VOIP-Anschluss funktionieren? Nun – JA – absolut problemlos.

Die technischen Voraussetzungen sind geschaffen. Was fehlt sind einige Telefonnummern von noch existierenden Mailboxen. Tja, und hier gab es eine kleine Enttäuschung. Es existieren zwar noch einige aktive BBS, aber die sind fast ausschließlich via Telnet erreichbar. Nun, das können wir ja gerne später machen, bis dato hing der Amiga aber noch nicht am Internet. Und überhaupt ist das ja nicht einmal halb so cool und retro 😉 .  Leider habe ich keine einzige noch aktive deutsche (alles andere ist nicht flat) Amigamailbox gefunden. Nichts desto trotz bin ich fündig geworden – wenn auch nicht im Amigabereich – und konnte mich erfolgreich in folgende beiden Mailboxen einwählen:

Im nächsten Teil wird es um die Verbindung zum Internet und diverse Dienste gehen.

Enigmail und die Suche

Nach dem Studium habe ich E-Mailverschlüsselung bewusst nicht mehr genutzt. Der Grund: die Suche – verschlüsselte E-Mails lassen sich nicht finden, weil sie von Thunderbirds Suche nicht indiziert werden. Bei der Flut an E-Mails, die sich im Laufe der Zeit ansammeln ist das für mich ein klares NO-GO.

Bis vor Kurzem hatte ich mich damit abgefunden, dass dieses Problem nicht lösbar sei und ganz bewusst darauf verzichtet, E-Mails zu verschlüsseln oder andere zu animieren, mir verschlüsselte E-Mails zu schicken.

Unterschiedliche Sphären

Nun muss man sich beim Thema Sicherheit immer im klaren sein innerhalb welcher “Sphäre” man sich bewegt und wie vertrauenswürdig diese ist. Davon ausgehend, dass Sender und Empfänger ihre E-Mails jeweils auf einem Server liegen lassen (IMAP), der nicht unter ihrer Kontrolle steht und zudem immer auch eine lokale Kopie behalten, gibt es fünf relevante Sphären:

  • der Rechner des Kommunikationspartners
  • der E-Mailserver des Kommunikationspartners
  • der Transportweg
  • mein E-Mailserver
  • mein Rechner

Über den Rechner und den E-Mailserver des Kommunikationspartners habe ich keinerlei Kontrolle. In diesen beiden Sphären gibt es keine Möglichkeit, sicherzustellen, dass Nachrichten vor dem Zugriff Unberechtigter geschützt sind. Der Kommunikationspartner könnte die E-Mails hier unverschlüsselt ablegen und ich würde es noch nicht einmal bemerken. Die beiden Sphären “Rechner des Kommunikationspartners” und “E-Mailserver des Kommunikationspartners” sind also unsicher und unkontrollierbar. Da hilft nur Vertrauen, dass der Partner diese Sphären sicher macht.

Die Sphären “Transportweg” und “mein E-Mailserver” müssen per se als unsicher angesehen werden. Ich kann nicht sicher sein, dass hier niemand mitliest. Aber die beiden Sphären sind kontrollierbar. Ich kann entscheiden, wie meine Nachrichten innerhalb aussehen weil ich diese in die Sphären einbringe.

Die letzte Sphäre “mein Rechner” ist kontrollierbar und ich bin in der Lage, dafür sorgen, dass sie auch sicher ist. Letzteres kann beispielsweise durch Festplattenverschlüsselung erreicht werden.

Sicherheit in den drei kontrollierbaren Sphären

Ziel ist es, dass innerhalb der kontrollierbaren Sphären nur Berechtigte in der Lage sind, den Inhalt meiner E-Mails zu lesen. In den beiden unsicheren Sphären “Transportweg” und “mein E-Mailserver” kann ich das erreichen, indem ich die Nachrichten verschlüssele. Ich verpacke die Nachrichten damit in eine sichere Sphäre, bevor ich sie in eine unsichere einbringe. In der sicheren Sphäre “mein Rechner” ist das nicht notwendig, weil die Sphäre durch andere Maßnahmen ja bereits sicher ist.

Vertrauen ist alles

Letztlich geht es immer nur darum, wie groß mein Vertrauen in die Sicherheit einer Sphäre ist. Und natürlich, wie sicher “sicher” denn sein soll (wie stark der Angreifer sein darf). Ich muss glauben, dass der “Rechner des Kommunikationspartners” und der “E-Mailserver des Kommunikationspartners” sicher sind. Ich muss glauben, dass die von mir verwendete Verschlüsselungstechnologie sicher ist und ich muss glauben, dass die Maßnahmen, die ich ergreife, “meinen Rechner” sicher zu machen ausreichend sind. Und natürlich muss ich auch Thunderbird, Enigmail und dem Linuxkernel vertrauen 🙂 .

Enigmail und die Suche

Nach all der Vorrede will ich nun aber zum Thema dieses Posts kommen. Wie eingangs bereits dargelegt ist eine funktionierende Suche in meinem Desktop-E-Mailprogramm für mich ein absolutes MUSS. Wenn ich nun wie ausgeführt davon ausgehe, dass “mein Rechner” eine sichere Sphäre ist, so kann ich E-Mails hier getrost in unverschlüsselter Form ablegen und von der Suche indizieren lassen. Und genau das ist mit Enigmail möglich. Dazu wird ein Mailfilter angelegt, der von jeder eingehenden verschlüsselten E-Mail eine unverschlüsselte Version in einem LOKALEN Ordner ablegt. Diese Kopie wird indiziert und bei einer entsprechenden Suchanfrage gefunden.

enigmail-message-filter

Wichtig dabei ist, dass die unverschlüsselte Kopie ausschließlich in der sicheren Sphäre “mein Rechner” verbleibt und dafür ein Odner im lokalen Account benutzt wird. Keinesfalls darf hier ein IMAP-Ordner gewählt werden.

Fazit

Mit Hilfe von Thunderbirds Nachrichtenfiltern und der von Enigmail mitgebrachten Filteraktion “Create decrypted Copy” ist es möglich, verschlüsselte Kommunikation innerhalb von Thunderbird suchbar zu machen. Serverseitig funktioniert das selbstverständlich nicht. Solange der E-Mailserver nicht als sichere Sphäre betrachtet werden kann dürfen die betreffenden Nachrichten hier niemals unverschlüsselt abgelegt werden. Genauso verhält es sich mit anderen E-Mail-Clients, die sich nicht in einer sicheren Sphäre befinden wie Smartphone, Portable Edition von Thunderbird, etc.

Für mich genügt das aber, um wieder aktiv GPG zu nutzen und zu propagieren.

In diesem Sinne (nur für private E-Mails):

-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v2

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
=DCD9
-----END PGP PUBLIC KEY BLOCK-----

Dank geht an dieser Stelle an meinen Kollegen Carsten, der mich nach einer Diskussion über dieses Thema auf die Filteraktionen von Enigmail aufmerksam gemacht hat.

AmigaOS 3.9 ohne CD-Laufwerk am Amiga

Nachdem ich nun eine ganze Weile rumgespielt und vieles ausprobiert habe sollte das System nun noch einmal komplett frisch aufgesetzt werden. Allerdings ist THE BABY ja inzwischen in ihr Desktopgehäuse uGetBoingedmgezogen und da gibt es kein CD-Rom-Laufwerk. Nun bestünde natürlich die Möglichkeit, die Installation im UAE durchzuführen und so die CF außerhalb des richtigen Amigas zu präparieren. Aber irgendwie wollte ich das nicht. Die komplette Installation sollte am Amiga selbst erfolgen. Lediglich das besorgen der Software wurde am “PC” erledigt.

Also auf gehts.

Schritt 1: CF partitionieren und AmigaOS3.1 installieren

Als erstes wird die zu nutzende CF-Karte in den Amiga eingelegt und mit Hilfe von HD-Toolbox von der AmigaOS3.1-Installer-Disk partitioniert. Ich habe mich für die klassische Einteilung in “System3.9” (500 MB – bootable) und “MyStuff” (Rest – nicht bootable) entschieden.

Nach der Partitionierung wird AmigaOS 3.1 von Diskette auf der CF installiert.

Schritt 2: Software bereitstellen

Für die Installation wird folgende Hilfssoftware benötigt:

  • LHA (http://aminet.net/package/util/arc/lha)
  • Diskimage (http://aminet.net/package/disk/misc/diskimage.m68k-aos)

Außerdem benötigen wir AmigaOS3.5 sowie AmigaOS3.9 als ISO-Image. Dieses können mittels

dd if=/dev/<cd-device> of=~/Desktop/AmigaOS35.iso
dd if=/dev/<cd-device> of=~/Desktop/AmigaOS39.iso

erzeugt werden.

Zu guter Letzt müssen noch drei AmigaOS-Updates geladen werden:

  • Boing Bag 1 (http://www.amiga.com/3.9/download/BoingBag39-1.lha)
  • Boing Bag 2 (http://www.haage-partner.net/download/AmigaOS/BB3.9-2.lha)
  • Euro-Uptate (http://www.haage-partner.de/aos39/Euro-Update.lha)

All das wird auf die zweite Partitione (MyStuff) der CF-Karte kopiert. Dazu wird die CF-Karte via Kartenleser am PC angeschlossen und mittels

sudo mount -t affs /dev/sdc2 /mnt/Amiga-MyStuff

gemountet.

Schritt 3: Hilfssoftware bereitstellen

Nachdem die CF-Karte bestückt ist, wird sie wieder in den Amiga eingebaut und von selbiger in das bereits installierte AmigaOS 3.1 gebootet.

Nun öffnen wir das selbstentpackende LHA-Archive und kopieren den LHA-Befehl in das C-Verzeichniss der CF-Sys-Partition

Als nächstes wird der Installer von der AmigaOS-3.1-Install-Disk in das C-Verzeichnis der CF-Sys-Partition kopiert.

Nun kann “Diskimage” entpackt und via Installer installiert werden. Mit Hilfe dieses Programmes können wir die in Schritt 2 erzeugten CD-Images unter AmigaOS mounten.

Schritt 4 – AmigaOS 3.5 installieren

Jetzt ist alles für die Installation von AmigaOS 3.5 vorbereitet. Mit dem Befehl

MountDiskImage DRIVE ICD0: MyStuff:AmigaOS35iso

wird das CD-Abbild der 3.5-Installations-CD eingehangen und taucht kurze Zeit später auf der Workbench auf. Nun kann die Installation beginnen. Dabei muss zunächst die Vorbereitunsroutine des AmigaOS-3.5-Installers ausgeführt werden, bevor nach einem Neustart und dem erneuten Mounten des ISOs dann endlich die richtige Installation gestartet werden kann.

Nachdem selbige abgeschlossen ist sollte der Amiga von der CF-Karte in AmigaOS 3.5 booten.

Schritt 5 – Auf AmigaOS 3.9 aktualisieren

Bevor wir mit mit 3.9 weitermachen wird der Ordner

Sys:Prefs/Env-Archive/NOSCSIUPDATE

angelegt. Damit wird verhindert, dass dieses Modul aus dem neuen ROM, dass im Laufe der 3.9-Installation installiert wird, beim Aufruf von setpatch geladen wird. Zumindest bei mir war das notwendig, da mein Amiga beim Starten von 3.9 genau an setpatch gescheitert ist.

Nach dem das getan ist installieren wir AmigaOS 3.9 analog zum Schritt 4. Allerdings ist hier keine Vorbereitung mehr notwendig und es kann sofort die Option zum Aktualisieren von 3.5 auf 3.9 gewählt werden.

Es folgt der Reboot in AmigaOS 3.9

Schritt 6 – Updates installieren

Zu guter Letzt installieren wir noch die beiden Boing Bags und das Euroupdate.

Voila – Fertig

Tower 2 Desktop

Nachdem ich vor einiger Zeit mein altes Desktopgehäuse wiedergefunden habe war es nun endlich an der Zeit, den großen Umzug zu wagen. Doch dafür fehlten noch ein paar Teile:

  • Tastatur
  • Netzteil
  • funktionierendes Diskettenlaufwerk
  • optional: externes Diskettenlaufwerk

All das habe ich wieder einmal vom guten Jochen erhalten. Und er hat mir sogar meine leicht beschädigte Amiga-Inc-Oberschale gegen eine fast schneeweiße Comodore eingetauscht! 🙂

Nachdem alles soweit vollständig war, habe ich zunächst einmal die Tastatur gründlich gereinigt. Bleichen werde ich die Tasten eventuell später einmal. Als nächstes wurde das Mainboard eingepasst und das obere Abschirmblech eingesetzt. Dem folgten die CF-Karte und das neue Diskettenlaufwerk. Zu guter Letzt mußte THE BABY nur noch geschlossen und die Turbokarte eingesetzt werden.

VOILÀ – so sieht ein echter Amiga 1200 aus :).

Nun stand als nächster großer Schritt noch der Einbau des Indivision Flickerfixers auf dem Plan. Leider gab es ein paar Probleme mit dem Versand und ich musste mehrere Woche auf die Lieferung warten. Doch am Montag war es dann endlich soweit.

Meine ersten Experimente rufen mir in Erinnerung, weshalb ich seinerzeit eine BVisionPPC in meinem alten Amiga hatte. Hohe Auflösungen wie die 1027×768 (HighGFX) machen keinen großen Spaß. Ich habe mich daher erst einmal für HighRes interlaced entschieden. Nichts desto trotz sieht die Workbench auf einem TFT schon wirklich toll aus.

Mein nächstes Projekt wird es sein, THE BABY ans Netz zu bringen. Dann kann ich hoffentlich Samba nutzen und die CF-Karte im Gehäuse verschwinden.

Diskimages unter AmigaOS

Vor einigen Tagen habe ich “The BABY” in ein originales A1200-Tastaturgehäuse umgebaut (vielen Dank wieder einmal an Jochen für die benötigten Ersatzteile). Ein bebilderter Bericht folgt demnächst.

Nun habe ich also vorerst kein CD-Rom-Laufwerk mehr im Einsatz. Da ich von der Amiga Future 120 – CD für die Verwendung mit FS-UAE bereits ein ISO-Image erzeugt hatte, dachte ich mir dass es doch möglich sein müsse, Diskimages auf dem Amiga zu mounten. Und weil im Originalgehäuse statt des Gotek-Floppyemulators nun natürlich auch wieder ein originales Diskettenlaufwerk verbaut ist, gilt das gleiche für ADFs.

Nach einiger Recherche habe ich zunächst ein sehr simples Tool gefunden, um ADFs auf Diskette schreiben zu können und Disketten in ADFs auszulesen: ADFBLITZER. Das Programm hat genau drei Knöpfe. Einen zum Schreiben eines ADFs auf eine Diskette, einen zum Auslesen einer Diskette in ein ADF und einen zum Beenden :). EASY.

ADF-Blitzer

Schön, nun kann der Amiga also ADF-Dateien schreiben und erzeugen. Aber das war ja nicht das eigentliche Ziel.

Weitere Suche förderte diskimage[.device] zu Tage. Dieses Programm verfolgt einen interessanten Ansatz. Es stellt via Mountlist Laufwerke bereit, die sich dann dynamisch mit Diskimages “befüllen” lassen. Die Standardinstallation bringt dabei bereits genau das mit, was ich benötige: Mountlists für zwei Diskettenlaufwerke (IDF0 & IDF1) sowie zwei CD-Rom-Laufwerke (ICD0 & ICD1). Mittels des Kommandos MountDiskImage oder auch sehr komfortabel mit dem Programm DiskImageGUI, welches sich nach der Installation unter SYS:Sytem befindet, lassen sich damit sehr einfach Images wie CD-ISOs oder ADFs mounten.

MountDiskImage DRIVE ICD0: MyStuff:Exchange/AmigaFuture120.iso

MountDiskImage DRIVE IDF0: MyStuff:Exchange/AdvancedAmigaAnalyzer2.adf

DiskImage

Soweit so gut. Leider zeigt der Praxistest dass The BABY wohl nicht genug Power hat, um sinnvoll mit einem 700-MB-CD-Image arbeiten zu können. Aber immerhin klappt das ganze hervorragend mit ADFs.

Mittelfristig benötige ich also wohl doch einen PCMCIA-Adapter um ein externes CD-ROM-Laufwerk anschließen zu können.

Bodenfund und Elkotausch

Am letzten Wochenende habe ich, in der Hoffnung mein altes externes Diskettenlaufwerk zu finden, den elterlichen Dachboden durchstöbert. Das Laufwerk ist zwar nicht aufgetaucht, dafür habe ich jede Menge Disketten und mein altes A1200er-Tastaturgehäuse wiedergefunden 🙂 . Da ich nicht vorhabe, ein Onboard einzubauen, ist das CD-Rom-Laufwerk derzeit der einzige Grund, “The Baby” im Tower leben zu lassen. Aber so ein Tastaturgehäuse ist einfach viel cooler. Ich denke ich werde die Gute über kurz oder lang in ihr Originalgewand verfrachten.

DSC_1209

Heute stand nun der Elkotausch auf dem Programm. Jochen aus dem Nachbarort hatte mir angeboten, dass für mich zu machen. Also habe ich “The Baby” gut gepolstert verpackt und bin hingedüst. Was mich dort erwartet hat war der Hammer: ein Retrocomputermuseum (überwiegend Amigas) mit angeschlossenen Ersatzteillager. UNGLAUBLICH!!! Jetzt weiß ich auch, wo ich die noch fehlende Originaltastatur und ein Netzteil herbekomme 🙂 . Der Elkotausch war nach einer guten halben Stunde erledigt. Nun kann das gute Stück weitere 20 Jahre leben.

Vielen Dank Jochen!!!

Als nächstes folgt der Einbau des Indivision Scandoubler/Flickerfixers, der hoffentlich am Freitag hier eintrifft.

… the story goes on