ASCII-Starwars – Kleine Telnet-Spielerei

starwars_asciiIch bin grad auf eine ganz coole Story im Internetgestoßen. Ist zwar laut Forum schon etwas Älter aber ich kannte es noch nicht! Wer einen ganz witzigen Ascii-Art-Film sehen möchte, muss folgendes tun:

  1. Windows Start -> Ausführen… -> “Telnet” eingeben -> Enter drücken
  2. o” eingeben -> Enter drücken
  3. towel.blinkenlights.nl” eingeben -> Enter drücken

Das ganze ist nix Böses, ihr bekommt lediglich eine etwas längere Willkommensmeldung in Ascii-Art-Form 🙂

Leyen-Rhetorik: Vortrag über Stilmittel unserer Politiker

vdlIch muss ja zugeben als Informatiker sieht man die Welt anders als Normalsterbliche. Gesetz der Annahme, dass es zwei verschiedene Welten gibt in denen wir leben – die digitale und die reale – achtet man eben viel mehr auf Gesetze die für beiden Seiten verabschiedet werden, vergleicht und kommt häufig zu dem Schluss, dass da mächtig was schief läuft.

Sicher ist den Verursachern dieser Gesetze nichts Böses zu unterstellen. Gerade im Bereich der Kinderpornografie sind dringend Schritte zu unternehmen aber erschreckend ist dann wiederum, dass die Netzsperre die nun vorgeschlagen wurde benutzt werden soll um weitere Inhalte im Internet zu sperren, z.B. Filesharing und Glücksspiel. Einen interessanten Artikel dazu gibt es hier.

Aber wie machen Politiker den Wählern und Nichtwählern diese Gesetzesvorschläge schmackhaft? Darüber hat Herr Martin Haase einen super interessanten Vortrag auf dem diesjährigenChaos Communication Congress  gehalten der einerseits zeigt, wie Ãœbertreibungen, Unwahrheiten, Falschaussagen und vorallem eine erschreckende technische Unkenntniss (nicht nur von der Legislative sondern auch von der Exekutive) dazu führen, dass ebenso wenig informierte Bürger die – wie schon betont – guten Absichten ohne die heftigen Nebenwirkungen wahrnehmen und laut “juhu” schreien.

Continue reading “Leyen-Rhetorik: Vortrag über Stilmittel unserer Politiker”

Vonwegen Deutschland = Servicewüste…

Ring of DeathLetzten Dienstag hatte ich die Idee meine längst verstaubte XBox360 auszupacken und nocheinmal den Versuch starten Fable durchzuspielen. Nach 30 Minuten blieb die Kiste hängen, ich dachte mir nix bei, startete neu und plötzlich: Ring of Death, sprich 4 leuchtende rote Lämpchen an der Vorderseite der Konsole die signalisieren, dass das gute Stück gerade wegen Ãœberhitzung hops gegangen ist.

Naja, war ja noch Garantie drauf! Oder nicht? Dummerweise: Nein! Die war schon nach einem Jahr abgelaufen und ich ärgerte mich langsam, dass eine 2 Jahre alte Konsole, die noch nichtmal viel benutzt wurde so plötzlich den Geist aufgab.

Continue reading “Vonwegen Deutschland = Servicewüste…”

Nach Winter kommt Spring

Einführung
Nachdem der erste richtige Job meines Lebens begonnen hat, hatte ich auch gleich die Chance mit spärlichen Vorkenntnissen in mein erstes Kundenprojekt zu kommen. Kostenlos versteht sich. Kunde war ein großer deutscher Finanzdienstleister der beschlossen hatte einige Kernprozesse seines IT-Umfelds auf Java umzustellen.
Darunter wurde in dem Framework auch Spring verwendet. Ein Schlagwort, dass jedem Informatikstudenten schonmal untergekommen ist, aber von dem nur die wenigsten wissen was genau Spring tut.
In diesem Artikel will ich mal mit wenigen Sätzen versuchen das so einfach wie möglich zu verdeutlichen.

Unser Beispiel
Da ich gerne an Beispielen erkläre, nehmen wir uns hier ein Auto vor. Ein Auto kann nur fahren, wenn ein funktionierender Motor darin verbaut ist, wenn es einen gefüllten Tank enthält und wenn ein Fahrer samt Führerschein am Steuer sitzt. Diese Bedingung soll hinreichend sein um unser sehr rudimentäres Auto zum Fahren zu bringen.

Die Vergangenheit
Wenn wir jetzt die Eben aufgezählen Objekte auf die Informatik mappen, sprich eine Klasse CAuto, CMotor, CTank, CFahrer und CFuehrerschein erstellen, dann brauchen wir von jeder Klasse eine Instanz die wir ja gewöhnlich per Constructor wiefolgt erstellen:

CMotor meinMotor = new CMotor();
CTank meinTank = new CTank(true); //true = ist gefüllt
CFuehrerschein meinFuehrerschein = new CFuererschein();
CFahrer meinFahrer = new CFahrer(meinFuehrerschein);
CAuto meinAuto = new CAuto(meinMotor, meinTank, meinFahrer);

Jedesmal, wenn wir also mit “meinAuto” arbeiten müssen, müssen wir alle anderen Objekte auch definieren und erstellen. Das sorg natürlich für eine riesige Menge an Speicher die unnützerweise verbraucht wird und jeder Menge Zeilen die sich immer wieder wiederholen.

Continue reading “Nach Winter kommt Spring”

Die einzig wahre SQLite Komponente für Delphi

sqlite1

Da ich in den letzten Tagen wieder ein bisschen auf verschiedenen Datenbanken unterwegs war und ENDLICH mal die Administration einiger Anwendungen über ein zentrales Programm regeln wollte, habe ich eine SQL-Komponente gesucht die ich in meiner Delphi 7 Personal Edition benutzen kann ohne mir teure Zusatzpackages kaufen zu müssen.

Da im Internet viel Quark steht und es geschätzte 1000-2000 verschiedene Komponentensammlungen gibt, hab ich hier mal die beste rausgesucht, die ohne Weiteres ihren Dienst tut.

Zu finden ist diese HIER

Das eigene Betriebssystem – Teil 1

Edit: Dieses Tutorial is veraltet, hier gibt es die neue Version.

Hallo liebe Leute,
heute wollen wir uns mal an etwas besonderes wagen und zwar an die Entwicklung eines kleinen Betriebssystems. Natürlich werden wir damit nicht an Windows / Linux rankommen (noch nicht mal an DOS) aber immerhin erhaltet ihr einen kleinen Einblick darin, wie der Ladeprozess eines Betriebssystems funktioniert, was alles in einem Kernel steckt und wieviel Arbeit es sein muss etwas Windows-ähnliches auf die Beine zu stellen 😉

Was benötige ich?
Zur Entwicklung brauchen wir im Prinzip nur ein Tool, und zwar einen Assembler der aus dem Assemblercode den wir schreiben werden Maschinenbytecode generiert. Ich empfehle NASM da dieser Assember frei verfügbar ist.
Jetzt könnt ihr entweder im Notepad entwickeln oder ihr besorgt euch eine vernünftige Umgebung mit Syntaxhighlighting wie etwa Notepad++. Gut, jetzt haben wir alles was wir zum Programmieren brauchen, aber wie testen wir was wir geschrieben haben? Da haben wir im Prinzip 2 Möglichkeiten:

  1. Wir besorgen uns einen alten PC und spielen unser Geschreibsel jedesmal auf eine Diskette um es dann laufen zu lassen.
  2. Wir besorgen uns eine Virtual Machine. Eine Virtual Machine simuliert einen Computer samt Hardware und BIOS. Die meisten haben virtuelle Laufwerke in die wir Images einlesen können, unabhängig davon ob in das Disketten- oder ins CD-Laufwerk. Als Virtual Machine empfehle ich Virtual PC von Microsoft da es schlank und kostenlos zu haben ist. Wer sich schon ein bisschen auskennt kann natürlich auch zu dem kostenfreien VM Ware Player oder zu Bochs greifen.

Dann brauchst du noch das kostenlose Tool RaWrite damit du Diskettenimages erstellen kannst um diese dann in die Virtual Machine zu laden und/oder auf Diskette zu schreiben.

Continue reading “Das eigene Betriebssystem – Teil 1”

Ein bisschen Mathe – Bewegungen auf der Kreisbahn

kreisbahnNeulich in der Vorlesung: Jan, Thomas und meine Wenigkeit saßen in der Pause zusammen und haben darüber nachgedacht wie man sich mathematisch auf einer Kreisbahn entlangbewegen kann. Uns war klar, dass man nicht um den Einsatz von Sinus und Cosinus herumkommt, wie es jedoch genau ging wollte uns partout nicht einfallen.
Natürlich hätten wir im Internet nachsehen können welches sicherlich die richtige Lösung parat gehabt hatte, aber wenn einen erstmal der Ergeiz gepackt hat, dann möchte man das ganze auch selber hinbekommen 😉 Nach einigen Tagen Pause habe ich das Problem heute wieder aufgegriffen und auf dem Rad ist mir die Lösung eingefallen.

Continue reading “Ein bisschen Mathe – Bewegungen auf der Kreisbahn”

Was ist ein Singleton?

Da wir letztens bei statischen Variablen waren habe ich mir gedacht ich setze noch einen drauf und erkläre das nächste Thema der theoretischen und praktischen Informatik 🙂

Was ist ein Singleton?
Eigentlich ist das ganze einfach zu erklären. Wir haben wiedermal eine Klasse, z.B. CBundeskanzlerin. Da es ja bekanntlich nur eine Bundeskanzlerin gibt müssen wir vermeiden, dass mehrere Instanzen dieser Klasse erzeugt werden. Und was hilft uns dabei? Richtig, das Singleton!
In der praktischen Programmierung ist das Singleton meistens eine Basisklasse von der genau die Klassen erben, von denen später nur eine Instanz existieren soll. Heißt in unserem Beispiel: Die Klasse CBundeskanzlerin erbt von der Klasse CSingleton.

Continue reading “Was ist ein Singleton?”