Willkommen bei Dr. Nik

Über mich

Willkommen auf der Homepage von Dr. Nikolaus Schüler!

Ich bin promovierter Mathematiker mit Schwerpunkt Angewandte Mathematik und Heuristische Optimierung. Seitdem ich Anfang der Achtziger Jahre meinen ersten Computer, einen Commodore C64, gekauft habe, haben sich über dreißig Jahre Programmiererfahrung angesammelt.

Angefangen habe ich mit Basic, dann Algol 68, Pascal, Modula, später C, C++, Java und Python. Geblieben sind hauptsächlich Python und C, mit Schwerpunkt Python.

Zudem bin ich versiert im Testen sowie in Automatisierung, Operations und Infrastruktur. Erfahren im Second-Level- und Third-Level-Support. Spezialist für Versionskontrollsysteme. Außerdem bin ich als Autor tätig und habe als Übersetzer und Korrekturleser gearbeitet.

Was ich kann

Programmieren

Python

"Mein Schatz", wie Gollum zu sagen pflegt. In den letzten Jahren habe ich hauptsächlich mit Python gearbeitet, sei es beim Entwickeln von Webanwendungen oder bei der Systemadministration.

Ein großer Vorteil von Python: Man kann ohne schwergewichtige IDEs arbeiten. Alles was man braucht ist Vim, Cram zum testen; und gelegentlich einen einfachen, aber guten Debugger. Ohne schweres Gepäck reist es sich leichter und angenehmer.

C

Mag ich. Die Programme für meine Doktorarbeit sind in C geschrieben. Seitdem haben wir, C und ich, uns aber ein wenig aus den Augen verloren. Auf der anderen Seite hat sich an C seit damals nicht allzuviel verändert.

Dass ich C kann heißt auch, dass ich (bis zu einem gewissen Grad) Make und Autotools (Autoconf, Automake und Freunde) beherrsche, denn ohne die kommt man in C nicht weit.

Java

Ich habe jahrelang in Java programmiert und da die verschiedensten Sachen gemacht, von Optimierung bis zu Webanwendungen.

Allerdings ist all das eine Weile her. Seit 2007 habe ich fast nur mit Python und Shell gearbeitet. Außer als Python-Entwickler war ich im Support und im Bereich Operations tätig und da ist Java nicht besonders gefragt (es sei denn, man macht Operations für eine Java-Infrastruktur, aber das habe ich nicht getan).

Das heisst nicht, dass ich die Sprache verlernt hätte. Bei mehr als zehn Jahren Java bleibt einiges hängen.

Ich bin aber nicht mehr auf dem aktuellen Stand der Dinge was Frameworks wie Spring und Co. angeht. Bei den IDEs habe ich komplett den Anschluß verloren. Zwischen NetBeans, Eclipse und Intellij zu wählen und dann auch noch eines davon zu beherschen ist ein Job für sich. Sorry, da bin ich raus.

C++

Einige der Programme, die ich für meine Dissertation geschrieben habe, sind in C++ verfasst, also bin ich nicht ganz ahnungslos, was C++ angeht. Allerdings ziehe ich, wenn immer möglich, C vor und bin da auch deutlich fitter. C ist übersichtlicher und doch kann man damit fast alle Programmieraufgaben lösen, wenn auch auf anderen Wegen als in C++. Oder, wie es meine Großmutter ausgedrückt hätte: "Lieber gut gelaufen als schlecht gefahren".

Schreiben

Ich habe bereits einige Artikel, Stories und Bücher geschrieben.

Testen

Ich kenne mich aus mit automatisiertem Testen allgemein, insbesondere aber mit Selenium und dem Testen von Programmen auf der Kommandozeile mit Bash und dem Python-Framework Cram.

Mathematik

Ok, es ist schon eine Weile her seit Studium und Promotion. Dennoch kann ich mathematische Themen auf Grund meiner Erfahrung zumindest einsortieren und mich dann über die Details schlau machen.

Algorithmen und Heuristiken

Da ich über Heuristische Optimierung promoviert habe, kenne ich mich mit komplexen Algorithmen im Allgemeinen und Heuristiken im Speziellen aus. Entwickelt habe ich solche Sachen in Java, C++, aber vor allem in C.

Asciidoc

Wenn immer möglich, schreibe ich Texte in Asciidoc. Es ist für mich die ideale Kombination aus einfacher Editierbarkeiten und mächtigen Features. Entsprechend gut kenne ich mich mit all den kleinen Details sowie der Konvertierung in andere Formate aus.

Versionskontrolle

Git, Perforce und Mercurial. Mehrere Jahre habe ich hauptsächlich mit Administration, Anpassen, Erweitern und Support für die drei verbracht. Die Reihenfolge, in der ich sie aufliste entspricht der Zuneigung zum jeweiligen System. Sorry, Mercurial

Biologie

Als Nebenfach hatte ich in meinem Mathematikstudium Pflanzenökologie. Zudem kreist auch meine Doktorarbeit um biologische Themen. Besonders gut aus kenne ich mit mit Botanik, dem Bestimmen von Pilzen und Molekularer Genetik.

Die Linux-Kommandozeile

Ich muss zugeben, ich mache fast alles auf der Kommandozeile. Man kommt für wenig Geld überall hin und die Kombination der verschiedenen Werkzeuge wie grep, find ist einfach unschlagbar. Solange man mit Ascii-Dateien arbeitet, weswegen ich das tue wenn immer möglich, siehe Asciidoc.

Veröffentlichungen

Ein Haufen Bücher

2022: c’t: Git-Annex

Anbau und Frachtzettel. Große Dateien versionieren mit Git-Annex, c’t 2/22, Heise Verlag

2018: c’t: TiddlyWiki

Eine Datei für alles. Notizverwaltung mit TiddlyWiki, c’t 20/18, Heise Verlag

2018: c’t: Selenium

Klickroboter. Automatisches Testen mit Selenium, c’t 11/18, Heise Verlag

2015: c’t-Story: Ein paar Schritte zuviel

Eine Geschichte von mir wurde 2015 in der c’t 12/15 veröffentlicht. Wenn Sie der Meinung sind, dass das Internet of Things die tollste Erfindung nach geschnittenem Brot ist, sollten sie diese Geschichte vielleicht nicht lesen…​

2008: Sauteria

2008 habe ich zu einem Artikel in Band 15 der Schriftenreihe Sauteria beigetragen. Ich habe also auch Verflechtungen mit Flechten. :-)

2008: Rake – das moderne Build-Tool

Ein TecFeed über das Build-Tool Rake, erschienen bei O’Reilly.

TecFeed über Rake

2005: Das Buch der Computerbücher

Mein Buch der Computerbücher ist im Januar 2005 bei Books on Demand erschienen. Es enthält Besprechungen von Computerbüchern, die ich gut und wichtig finde. Sie können es gerne hier online lesen.

Trotzdem ist das Buch in Papierform den Kauf wert, weil Sie dann alles in schön gebundener Form vor sich haben und in Ruhe blättern, lesen und Anmerkungen hineinkritzeln können. Außerdem ist es einfach gemütlicher, mit einem guten Getränk und einem Buch auf dem Sofa zu liegen, als mit einem 17-Zoll-Monitor auf dem Bauch. Als ersten Vorgeschmack auf das Buch gibt es hier den Umschlag:

Das Cover des Buchs der Computerbücher

2005: XML Pocket Reference

Ich habe für O’Reilly die XML Pocket Reference ins Deutsche übersetzt.

XML kurz und gut, 3. Auflage

2003: Apache

Ich bin Co-Autor des Kapitels über den Webserver Apache im Administrationshandbuch zu SuSE Linux 8.3, SuSE GmbH, Nürnberg, SuSE.

2007: Mikroformate

Ebenfalls von mir für O’Reilly übersetzt: Brian Suda’s TecFeed über Mikroformate.

Brian Suda: Mikroformate

1998: Dissertation

Beiträge zur phylogenetischen Analyse molekularer Daten. Vorgelegt beim Fachbereich Mathematik der Universität Hamburg zur Promotion als Dr. rer. nat.

1997: Der GCC-Compiler

Der GCC-Compiler. Überblick und Bedienung. Ein Buch über den GCC-Compiler. Erschienen im Jahr 1997 im bhv-Verlag und inzwischen vergriffen.

Der GCC-Compiler. Überblick und Bedienung

1993: Photorealismus und Raytracing in C

Übersetzung eines Buchs zum Thema Raytracing für den Verlag Heinz Heise.

Fotorealismus und Raytracing in C

links

social