Ingo Blechschmidt

Name

Ingo Blechschmidt

Projects

Perl 6 and Pugs
Currently, I'm quite involved in Perl 6 in general and in Pugs, a free Perl 6 compiler and interpreter.
Website
MyLink
I started to write a free Uplink clone in Perl 5, MyLink, MyLink, but its development has stalled. New maintainer welcome!
Freshmeat project entry, website
nat-traverse
nat-traverse establishes connections between hosts which are behind NAT gateways, i.e. hosts which do not have public IP addresses, without the need to reconfigure the involved NAT gateways. Additionally, you can setup a small VPN by using pppd on top of nat-traverse.
Freshmeat project entry, website
German Linux Guide
While learning Linux, I put small scripts on <http://linide.sourceforge.net/>. I haven't updated the site for quite some time now, though.

Papers and articles

Hitchhiker's Guide to the Internet
I've written a German introduction to the technical aspects of the Internet. Hitchhiker's Guide to the Internet explains both the low-level protocols IP, ICMP, TCP, and UDP and the high-level protocols SMTP, POP3, IMAP4, NNTP, HTTP, Gopher, FTP, IRC, DICT, Finger, Daytime, DNS, and Whois.
Website, Freshmeat project entry, XHTML, PDF, source
Kurztipp: Umgehung von NAT-Gateways mit nat-traverse
I've published a "short tip" about nat-traverse at the German Linux newsticker Pro-Linux.
Publication at Pro-Linux (with comments), original draft
klasse9.tk, klasse10.tk, klasse11.tk, klasse12.tk, klasse13.tk, and klasse14.tk
My school work (including homework; German) is available online. The archive includes everything I've done from 2002 till 2007 (grades 9–13) and from 2007 onwards (work in the context of my study at Uni Augsburg).
klasse9.tk, klasse10.tk, klasse11.tk, klasse12.tk, klasse13.tk, klasse14.tk
Facharbeit: Darlegung des Aufbaus der natürlichen, ganzen, rationalen und surrealen Zahlen
PDF, XHTML with MathML

Talks

I usually hold a talk at the monthly meetings of the Linux User Group Augsburg.

Simple Mail Transfer Protocol, Spam und IM2000 (2004-12-01)
Der Vortrag behandelt das Simple Mail Transfer Protocol (SMTP), welches aktuell zum E-Mail-Versand benutzt wird. Als praktisches Beispiel wird das manuelle Versenden einer Mail über Telnet herangezogen. Zuletzt geht es um Internet Mail 2000 (IM2000), einen möglichen Nachfolger von SMTP, der u.a. verspricht, Spam endgültig zu beseitigen.
PDF, LaTeX
Das Domain Name System und Sicherheit (2005-01-05)
Das Domain Name System (DNS) ist u.a. für die Zuordnung von IP-Adressen zu symbolischen Namen verantwortlich. Der Vortrag beschreibt das allgemeine Design von DNS, und bringt dann einige Details, die die Sicherheit von DNS betreffen. Als Krönung wird ein Mechanismus vorgestellt, mit dem man beliebige Daten in DNS-Caches speichern kann.
PDF, LaTeX, dnsx.tar.bz2
Internet Protocol v6 (IPv6) (2005-02-02)
Die Basis des heutigen Internets, das Internet Protocol v4, hat ein großes Skalierungsproblem: In wenigen Jahren werden alle IPv4-Adressen vergeben sein. Abhilfe schafft IPv6, welches auch noch andere Features mit sich bringt, wie z.B. Verschlüsselung auf IP-Ebene, statuslose Autokonfiguration oder Mobility.
PDF, LaTeX
Perl 6, genau jetzt! (2005-05-04)
Seit einigen Jahren wird an der nächsten Major-Version der dynamischen Programmiersprache Perl gearbeitet, die viele neue Features bringt und auch besonders für Neulinge leicht zu erlernen ist. Der Vortrag geht zuerst auf Parrot, eine virtuelle Maschine, ein, die viele verschiedene Sprachen, eben auch Perl 6, unter großer Geschwindigkeit ausführen kann. Dann werden die Sprachkonzepte von Perl 6 anhand vieler Beispiele in anderen Sprachen erklärt (Perl 5, C, Haskell, Lua, PHP, Python, Ruby, Shell, Tcl). Abschließend geht es um Pugs, einen Compiler für Perl 6, mit dem es genau jetzt möglich ist, in Perl 6 zu programmieren.
PDF, LaTeX
Update: Aktualisierte Version anlässlich des Augsburger Linux-Infotags 2006.
Port-Knocking (2005-06-08)
Ein System ohne offene Ports ist sicherlich sicherer als eins mit offenen Ports. Aber ist die Vorderung nach keinen offenen Ports mit dem Wunsch, von außen auf seinen Rechner zu kommen, unvereinbar? Nein, mit Port-Knocking gibt es eine Technik, die es erlaubt, Ports erst nach einer geheimen Aktivierungssequenz zu öffnen.
PDF, LaTeX
NAT-Umgehung über UDP (2005-06-08)
Dieser Vortrag zeigt, wie man einen Tunnel zwischen zwei Computern, die beide hinter NAT-Gateways sitzen, hinbekommt. Dazu wird ein neues Programm vorgestellt, welches sowohl einfache Tastendrücke an die Gegenseite weiterleiten, als auch beliebige Programme mit Verbindungen zur Gegenseite starten kann. Damit ist ein einfaches VPN schnell aufgebaut.
PDF, LaTeX, nat-udp.pl
Reliable SSH-Tunnel und NAT (not held)
Solange IPv6 nicht verbreiteter ist, müssen wir hauptsächlich noch IPv4 benutzen, mit seinen zahlreichen Problemen. Eins dieser Probleme kennen wohl einige: Man möchte von außen auf seinen Rechner zugreifen, dieser hat jedoch keine öffentliche IP-Adresse, da er hinter einem NAT-Gateway steht. Mit Hilfe von reliablen SSH-Tunneln kann man trotzdem auf seinen Rechner zugreifen. Zusätzlich ist es mit Hilfe des PPP-Protokolls möglich, ganze Netze hinter NAT-Gateways zu verbinden.
PDF, LaTeX
Hypertext Transfer Protocol und Proxyketten (2005-07-06)
Dieser Vortrag erklärt, was genau passiert, wenn man im Browser eine HTTP-URL ansurft. Nachdem die Grundlagen von HTTP erklärt sind, geht der Vortrag auf Proxies und ihren Nutzen ein. Schließlich wird ein Programm vorgestellt, mit dem man mehrere Proxies hintereinander schalten kann, um möglichst hohe Anonymität zu erreichen.
PDF, LaTeX, proxychain-luga-20050706.pl
Anatomie eines Compilers am Beispiel von Pugs (2005-08-03)
Als Linux-Nutzer ist man gewohnt, Programme aus den Sourcen selbst zu kompilieren. Aber wir arbeitet ein Compiler? Dies wird kurz allgemein erklärt und dann anhand eines konkreten Beispiels, einem Perl 6 zu JavaScript-Compiler, verdeutlicht.
PDF, LaTeX
Terminals, uxterm und screen (2005-09-07)
Obwohl man Linux heutzutage auch ohne ein Terminal gut bedienen kann, ist es oftmals sehr hilfreich, die Shell starten zu können. Dieser Vortrag geht zuerst auf Terminals im Allgemeinen ein und erklärt dann die spezielle Umgebungsvariable TERM. Anschließend werden die Features und Konfigurationsmöglichkeiten von (u)xterm, einem Terminal-Emulator für X, und dem mächtigen Screen-Multiplexer screen vorgestellt.
PDF, LaTeX, screen-nodestatus-luga-20050907.p6
Wie man das Internet abschaltet [nein, nicht wirklich] (2005-11-02)
In lokalen Netzwerken wird überlicherweise das Address Resolution Protocol, ARP, genutzt, um die Hardware-Adressen von Kontaktpartnern herauszufinden. Dieser Vortrag erklärt diese Begriffe und ihre Zusammenhänge und geht dann auf die Funktionsweise von Switches im Kontrast zu Hubs ein. Schließlich wird erklärt, "wie man das Internet abschalten" und wie man sich davor schützen kann.
XUL, PDF, LaTeX (needs preprocessing)
File Transfer Protocol (FTP) (2006-01-25)
FTP ist ein oftgenutztes Protokoll zur Dateiübertragung. Insbesondere beim Webhosting wird es oft eingesetzt. Dieser Vortrag zeigt die Geschichte von FTP auf und erklärt die Kommandos, die für einfache Übertragungen notwendig sind. Anschließend wird vorgeführt, wie FTP-Server Dateien untereinander austauschen können, also ohne Umweg über den lokalen Rechner, und wie man FTP-Server als Einweg-Proxies verwenden kann. Schließlich werden einige Sicherheitsprobleme von FTP beleuchtet und alternative Protokolle vorgestellt.
PDF, LaTeX
Dynamic Host Configuration Protocol (DHCP) (2006-01-25)
Oftmals vergibt man seinen Rechnern nicht statische IPv4-Adressen, sondern nutzt DHCP, um sie automatisch vergeben zu lassen. Der Vortrag stellt das Protokoll vor, zeigt dann die Einrichtung eines DHCP-Servers und schließlich die Konfiguration der Clients. Abschließend werden einige Sicherheitsaspekte von DHCP genauer betrachtet.
PDF, LaTeX
Versionskontrolle mit SVK (2006-02-01)
Mit einem Versionskontrollsystem kann man Änderungen, die man an Dateien vornimmt, jederzeit verfolgen, kontrollieren, und – wenn nötig – wieder rückgängig machen; alle früheren Versionen einer Datei werden effizient gespeichert und sind jederzeit problemlos abrufbar. Der Vortrag stellt das Konzept der Verionsverwaltung allgemein vor und zeigt dann den praktischen Umgang dem verteilten Versionskontrollsystem SVK.
PDF, LaTeX
Perl 6, genau jetzt! [LIT-Version] (2006-03-25)
Perl 6, genau jetzt! stellt das ehrgeizige Perl 6-Projekt vor. Ziel ist es, eine dynamische, erweiterbare, zukunftssichere und einfach handzuhabende Programmiersprache zu entwickeln, mit der sowohl kleinere Arbeiten erledigt als auch große Projekte in Angriff genommen werden können.
Anhand von Beispielen und Vergleichen mit anderen Sprachen werden die Besonderheiten der neuen Sprache und Designentscheidungen erläutert und begründet.
Schließlich geht es um Pugs, einer experimentellen, multilingualen Compiler- und Interpreterplattform für Perl 6 mit über 150 Entwicklern, mit der es genau jetzt möglich ist, in Perl 6 zu programmieren.
Vortrag anlässlich des Augsburger Linux-Infotags 2006. Dies ist eine aktualisierte Version meines ursprünglichen Perl 6, genau jetzt!-Vortrags.
PDF, LaTeX (needs preprocessing)
Vim (2006-06-07)
Vim ist wohl einer der mächtigsten Editoren. Ich gab eine kurze Einführung in Vims Kommandomodell und zeigte dann einige herausragende Fähigkeiten, wie das Arbeiten mit mehreren Fenstern, Dateien unterschiedlicher Zeichenkodierungen und Zeichensätzen, dem Markierungsmodus und der neuen mehrstufigen Rückgängigfunktion von Vim 7.
Steganografie (2006-10-02)
Bei der Steganografie geht es um das Verstecken von Informationen in beliebigen Trägermedien, beispielsweise Bildern oder Audio-Dateien. Auch denkbar sind obskure Header-Felder von IP oder DNS.
Anders als beim Verschlüsseln sollen bei der Steganografie Mithörer erst gar nicht erfahren, dass Informationen verschickt werden! Optional kann man Steganografie auch mit herkömmlichen Verschlüsselungsmethoden kombinieren, um Informationen sowohl zu verbergen als auch zu verschlüsseln.
Dazu werden die überaus interessante Mathematik hinter der Steganografie kurz erklärt und dann anhand einiger Steganografieprogramme praktische Beispiele gezeigt. (Zusammen mit Michael Hartmann)
Siehe den Vortrag über Entropie für einen thematisch verwandten Vortrag, dessen Schwerpunkt mehr in der Mathematik liegt.
Perl programs, PDF, LaTeX
Entropie (2006-11-15; not a LUGA talk)
Die informationstheoretische Entropie kann u.a. als Maß für Überraschung, Unordnung und als unterschere Schranke der verlustfreien Kompression interpretiert werden. Außerdem können natürliche Sprachen, Autoren und Musikstücke charakterisiert werden. (Zusammen mit Michael Hartmann)
Siehe den Vortrag über Steganografie für eine Einführung in Entropie im Kontext der Steganografie.
Vortragsfolien: PDF, LaTeX; Handout: PDF, LaTeX
Komprimierung (2006-12-06)
Komprimierung ist allgegenwärtig. Beispielsweise findet eine andauernde Komprimierung bei den natürlichen Sprachen statt – oft benutzte Wörter verkürzen sich im Laufe der Zeit: "Haus", "Geld", "Tisch".
Dieser Vortrag erklärt anschaulich die Grundprinzipien der Komprimierung anhand dreier einfacher Kompressionsverfahren. Auch vergleichen wir die Effektivität der behandelten Verfahren. (Zusammen mit Michael Hartmann)
PDF, LaTeX

Contact

Mail
<iblech@web.de> is my primary address.
IRC
I'm regularly on #perl6 on Freenode (irc.freenode.net) as iblech.