{doctype} {html {! {head {! {title "Stephan Beyer"} {link {@ {rel "stylesheet"} {type "text/css"} {media screen} {title "Grey"} {href "grey.css"}}} {link {@ {rel "alternate stylesheet"} {type "text/css"} {media screen} {title "Winter in Town"} {href "winterintown.css"}}} {link {@ {rel "alternate stylesheet"} {type "text/css"} {media screen} {title "Lemon"} {href "lemon.css"}}}}} {body {! {h1 {t "sbeyer on the Web."}} {section pre "Preface" {! {p {! {t "My name is "} {em {t "Stephan Beyer"}} {extlinks { {"audio/StephanBeyer.spx" spx} {"audio/StephanBeyer.ogg" ogg}}} {t " and this is my very outdated web page."}}} {p {t "As most sites on the web, this one is always in development. "Always" means "When I have time" ...and this is not very often. In fact, I am going to shut it down and replace it by something new."}} {p {! {t "The current default stylesheet is called "} {em {t "Grey"}} {t ". I hope you like it. If not, feel free to switch to one of the old ones, like "} {em {t "Winter in Town"}} {t " or "} {em {t "Lemon"}} {t ". Yes, I like(d) the colors and that kind of eye-pepper\[tm\]."}}} {p {! {t "If you have JavaScript enabled, the software and music descriptions aren't displayed by default but will unfold when you click on the names."}}} {p {t "Enjoy."}}}} {section sw "Software" {! {p {! {t "Here you can find "} {em {t some}} {t " of my programs, usually open-source and developed within an "} {textlink "http://www.debian.org/" "Debian operating system"} {t " environment. So please drop me a note if something does not work on your platform, but should."}}} {categories { {sw:net "Network" {catitems { {netstiff netstiff {desclist { {License {t "GNU General Public License (version 3)"}} {Description {code {t netstiff}} {t " (formerly known as "} {code {t webdiff}} {t ") is a powerful "} {em {t "Web and FTP site update checker"}} {t ". It supports a variety of different methods (diff, html, size, date, MD5 sum, regexp) to check for updates. There are also sophisticated settings to make it useful for partly dynamic Web pages. Without any given arguments, netstiff will either run its interactive configuration tool or check your sites for updates and print the changes in a diff(1)-like manner."}} {Screenshots {t "see my "} {textlink "./btwoftheday/?search=netstiff" "BTW of the day"}} {Requirements {em {t "Ruby"}} {t " standard distribution (net::http, net::ftp, uri, pstore), optional: GNU Readline for Ruby, OpenSSL for Ruby"}} {Period {t "2004-07-16 - 2008-03-31"}} {Repository {t "Get it with "} {pre {t "git clone http://pkqs.net/~sbeyer/tools/netstiff/netstiff.git"}} {t "You may also have an online look at it "} {extlink "tools/netstiff/netstiff-git/" dir} {t ", or at the manual page "} {extlink "tools/netstiff/man/netstiff-git.pdf" pdf} {t ", or download a tarball "} {extlink "tools/netstiff/netstiff-git.tar.gz" tgz} {t "."}} {Archive {swarchive { {"2008-03-31" {{"tools/netstiff/netstiff_20080331.orig.tar.gz" tgz} {"tools/netstiff/netstiff_20080331-1_all.deb" deb} {"tools/netstiff/man/netstiff_20080331.pdf" pdf}} {t "fixed https support, better documentation, all test methods diffable, internal changes (will reinit the cache!), regexp method will prompt on match status change instead on pure match, changed default behavior to new command, ..."}} {2007-06-21 {{"tools/netstiff/netstiff_20070621.orig.tar.gz" tgz} {"tools/netstiff/netstiff_20070621-1_all.deb" deb} {"tools/netstiff/man/netstiff_20070621.pdf" pdf}} {t "(beta) FTP support, stderr is used as error output by default, "} {code {t "-S"}} {t " option can be used to suppress it, minor fixes and enhancements"}} {2007-03-22 {{"tools/netstiff/netstiff_20070322.orig.tar.gz" tgz} {"tools/netstiff/netstiff_20070322-1_all.deb" deb} {"tools/netstiff/man/netstiff_20070322.pdf" pdf}} {t "no libalgorithm-diff-ruby needed anymore; unified diff output format; "} {code {t "-W DIR"}} {t " option to specify workdir; can use external HTML dump tools for better diffs in html methods; bugfixes and internal changes"}}}}} {"Archive webdiff" {swarchive { {2007-03-02 {{"tools/netstiff/webdiff_20070302.orig.tar.gz" tgz}} {t "regexp'able ranges using "} {code {t "diff/html"}} {t " methods, bugfixes, better exception handling, exit codes"}} {2007-02-27 {{"tools/netstiff/webdiff_20070227.tar.gz" tgz}} {t "added "} {code {t "html"}} {t " test method"}} {2004-08-01 {{"tools/netstiff/webdiff_20040801.tar.gz" tgz}} {t "added "} {code {t "-r/--reset"}} {t " option"}} {2004-07-27 {{"tools/netstiff/webdiff_20040727.tar.gz" tgz}} {t "optional GNU readline support for interactive configuration"}} {2004-07-21 {{"tools/netstiff/webdiff_20040721.tar.gz" tgz}} {t "bugfixes, added "} {code {t range}} {t " option for test method "} {code {t diff}}} {2004-07-20 {{"tools/netstiff/webdiff_20040720.tar.gz" tgz}} {t "initial release"}}}}}}}} {webdiff webdiff {extlink "tools/netstiff/" dir} {desclist { {2007-03-22 {code {t webdiff}} {t " has been renamed to "} {code {textlink "./#netstiff" netstiff}}}}}}}}} {sw:snd "Sound" {catitems { {silence silence {extlinks { {"tools/silence/silence.tcl" tcl} {"tools/silence/ChangeLog" log}}} {desclist { {License {t "GNU General Public License (version 2)"}} {Description {t "detects silence in a sound file and splits it into several sound files without silence."}} {Requirements {em {t Tcl}} {t " 8.4, "} {textlink "http://www.speech.kth.se/snack/" Snack} {t " 2.2"}} {Period {t "2006-07-06 - 2006-07-07"}} {Derivative {t "(2006-07-09) "} {textlink "tools/silence/silence-at-begin.tcl" silence-at-begin.tcl} {t " removes silence only at the beginning of a file."}} {Archive {swarchive { {2006-07-07 {{"tools/silence/silence-20060707.tcl" tcl}} {t bugfixes}} {2006-07-06 {{"tools/silence/silence-20060706.tcl" tcl}} {t "initial test release"}}}}}}}}}}} {sw:misc "Miscellaneous" {catitems { {bf bf {extlinks { {"tools/bf/bf.tgz" tgz}}} {desclist { {License {t "GNU General Public License"}} {Description {t "a fast interpreter for the esoteric programming language Brainfuck"}} {Requirements {em {t "ANSI C"}} {t " compiler"}} {Period {t "2003-10-30 - 2004-12-19"}} {Repository {pre {t "git clone http://pkqs.net/~sbeyer/tools/bf/bf.git"}}} {Archive {swarchive { {2008-03-30 {{"tools/bf/bf_20080330.tar.gz" tgz} {"tools/bf/bf_20080330.pdf" pdf}} {t "rewritten engine, faster than ever, changed some options, removed some options, some new options"}} {2004-12-19 {{"tools/bf/bf_20041219.tar.gz" tgz}} {t "faster again, removed -d option"}} {2004-08-28 {{"tools/bf/bf_20040828.tar.gz" tgz}} {t "speed up, but still only the 2nd fastest bf interpreter"}} {2004-07-28 {{"tools/bf/bf_20040728.tar.gz" tgz}} {t "can be compiled without slang now, gcc optimizations"}} {2004-07-04 {{"tools/bf/bf_20040704.tar.gz" tgz}} {t "miiinor bugfix in manual page"}} {2004-04-30 {{"tools/bf/bf_20040430.tar.gz" tgz}} {t "bugfix: now Slang input really works; new option: "} {code {t -n}} {t " to translate "} {code {t "\\n"}} {t " input to "} {code {t "\\0"}}} {2004-04-23 {{"tools/bf/bf_20040423.tar.gz" tgz}} {t "optimized code, interpreting much faster"}} {2004-04-08 {{"tools/bf/bf_20040408.tar.gz" tgz}} {t "manual page, new options: "} {code {t "-h -,<inputmode> -w"}} {t ", needs S-Lang library"}} {2003-10-30 {{"tools/bf/bf_20031030.tar.gz" tgz}} {t "initial release, options: "} {code {t "-c<num> -d -i"}}}}}}}}} {morse-x morse-x {extlinks { {"tools/morse-x/" dir}}} {desclist { {License {t "GNU General Public License (version 2)"}} {Description {t "In "} {code {t "morse-x"}} {t " you can use any key on your keyboard as morse key (except "} {kbd {t q}} {t ", which exits) and then it displays your morsed stuff as readable letters on stdout. So you should start it in an xterm and then follow the instructions."}} {Requirements {em {t {ANSI C}}} {t " compiler, "} {textlink "http://www.libsdl.org/" libSDL} {t " 1.2 since version 20060819 (pure Xlib was used before)"}} {Period {t "2004-02-28 - 2006-09-04"}} {Archive {swarchive { {2006-09-03 { {"tools/morse-x/morse-x_0.20060903.orig.tar.gz" tgz} {"tools/morse-x/morse-x_0.20060903-1_i386.deb" "i386 deb"}} {t "removed calibration stuff and use wpm-based timings instead, changed version scheme, "} {code {t "-t"}} {t " option shows morse code table used"}} {2006-08-19 {{"tools/morse-x/morse-x_20060819.tar.gz" tgz} {"tools/morse-x/morse-x_20060819_i386.deb" "i386 deb"}} {t "SDL port/rewrite, audio output"}} {2004-07-13 {{"tools/morse-x/morse-x_20040713.tar.gz" tgz}} {t "20040415 with manual page"}} {2004-04-15 {{"tools/morse-x/morse-x_20040415.tar.gz" tgz}} {t "code cleanup; exitable using window manager"}} {2004-04-14 {{"tools/morse-x/morse-x_20040414.tar.gz" tgz}} {t "the first release I found on my harddisk :/"}}}}}}}} {nudruff nudruff {extlinks { {"tools/nudruff/nudruff.tgz" tgz}}} {desclist { {License {t "GNU General Public License (version 2)"}} {Description {code {t nudruff}} {t " is a tool choosing files for equal-sized archives (e.g. CD-Rs), using a standard 2-approximation for BinPacking. Input is a file with a filename on each line. Grouping is supported (this means, you can specify the files that are always put into the "} {em {t same}} {t " archive). GUIs and wrapper scripts are could follow when I feel like it."}} {Requirements {em {t Haskell}} {t " compiler/interpreter"}} {Period {t "2006-03-03 - 2006-03-08"}} {Archive {swarchive { {2006-03-08 {{"tools/nudruff/nudruff-20060308.tar.gz" tgz}} {t "initial release"}}}}}}}} {turing turing {extlinks { {"tools/turing/turing.pas" pas} {"tools/turing/email.txt" doc}}} {desclist { {Derivative {textlink "http://www.stud.tu-ilmenau.de/~stbe-in/haskell/turing.hs" "There is also a tiny Turing machine simulator in Haskell!"}} {Note {t "The program and its "documentation" is in German!"}} {Beschreibung {t "Implementation des Modells einer Turingmaschine, wie wir es in der Schule gelernt hatten. Vielleicht eine nette kleine Spielerei."}} {Voraussetzungen {em {t FreePascal}}} {Zeitperiode {t "geschrieben 2003-12-10, letzte Änderung 2006-07-24"}} {Beispielprogramme {textlink "tools/turing/add1.tur" add1} {t ", "} {textlink "tools/turing/halb.tur" halbiere} {t ", "} {textlink "tools/turing/bin-inkr.tur" "binäres Inkrement"} {t ", "} {textlink "tools/turing/bin-add.tur" "binäre Addition"}} {Archiv {swarchive { {2006-07-24 {{"tools/turing/turing.pas" pas}} {t "wieder kompilierbare und lauffähige Version des Programms vom 10.12.2003"}}}}}}}}}}}}}}} {section doc "Documents" {! {p {t "Some published documents. This section should be extended. ;-)"}} {categories { {doc:sni "Snippets" {catitems { {bugnotfeature "A bug, not a feature?" {t " (2007-04-13)" } {extlink "doc/a_bug-not_a_feature.txt" txt}}}}} {doc:sw "Software Documentation" {catitems { {gnupg "German WikiBook: GnuPG" {extlink "http://de.wikibooks.org/wiki/GnuPG" wiki}}}}} {doc:tri "Trivia" {catitems { {btwoftheday "BTW of the day..." {extlink "btwoftheday/" web}}}}}}}}} {section music "Noise" {! {p {t "Bad taste "music". But I truly recommend "Just a Test"."}} {categories { {music:amateur "Amateur" {catitems { {sleep "sbeyer - Sleep" {extlink "audio/sbeyer_-_sleep.ogg" ogg} {desclist { {Date {t "2007-07-28"}} {Tags {t "heavy"}} {Lyrics {textlink "audio/sbeyer_-_sleep.txt" here}} {Who {t "guitars, vocals - sbeyer"}} {Comments {ulist { {t "I wanted to try a melancholy guitar recording with only two Guitar chords. But I couldn't deny switching to the Overdrive channel and so it became a little heavier or darker or call it as you want."} {t "The recording is not what I had in mind. It is always the same: I divide the play in several parts and record each one 30 times and then I cut the stuff together as I like... And again: you can hear the cuts and my timings are really, really bad. I should've practiced it before..as usual. ;-)"} {t "The lyrics came to my mind spontaneously... No further comment about them!"} {t "Ah, I'm still using only two chords, if I'm not wrong."} {t "The song reminds me of "Typically Me". This means, "Sleep" is a typically-me-song."} {t "The song that I first had in mind was two or three times shorter and can be realized with one guitar, without bad cuts, and sounds less like "Typically Me". I guess, I will never record it."}}}}}}} {typically_me "sbeyer - Typically Me" {extlink "audio/sbeyer_-_typically_me.ogg" ogg} {desclist { {Date {t "2006-09-01"}} {Tags {t "heavy"}} {Lyrics {t "none"}} {Who {t "guitars - sbeyer"}} {Comments {ulist { {! {t "This one was just a test for the amp adjustment. I didn't want to improvise for that test so I started to write a short composition"} {extlink "audio/sbeyer_-_typically_me.mid" mid} {t " using the Python/Tk tool "} {code {t "songwrite"}} {t "."}} {t "I divided this into several parts, recorded each part several times and chose one of these recordings. For the intro I liked the version with the playing mistakes."} {t "The result is cut badly. I was too slow for the faster solo part and shortened each tone a bit. To my surprise, this sounded disgusting, but I let it that way."} {t "Because the whole thing was too short, I added some crap that I had also recorded in that session. The result can be heard. I do not like it very much, but I thought I have to put it online."}}}}}}} {just_a_test "{tre,sbeyer} - Just a Test" {extlink "audio/tre,sbeyer_-_just_a_test.ogg" ogg} {desclist { {Date {t 2006-05-30}} {Tags {t "improvisation, german, psychedelic, rock"}} {Lyrics {t "none"}} {Who {ulist { {t "acoustic guitar - tre"} {t "electric guitar - sbeyer"} {t "stupid drums - an unknown neighbor listening to techno music"}}}} {Comments {t "18 minutes of improvisation"}}}}} {snat_is "SCC - Snat is" {extlinks { {"audio/scc_-_snat_is.mp3" mp3} {"audio/scc_-_snat_is.ogg" ogg}}} {desclist { {Date {t 2002-08-27}} {Tags {t "experimental"}} {Lyrics {textlink "audio/scc_-_snat_is.txt" here}} {Comments {t "This is the Bratwurst (see below) in reverse and a bit faster. As a result we got politically and religiously critical lyrics in a yet unknown language. Enjoy!"}}}}} {bratwurst "SCC - Die Bratwurst tanzt" {extlinks { {"audio/scc_-_die_bratwurst_tanzt.mp3" mp3} {"audio/scc_-_die_bratwurst_tanzt.ogg" ogg}}} {desclist { {Date {t 2002-08-10}} {Tags {t "German"}} {Lyrics {! {t "by jag"} {extlink "audio/scc_-_die_bratwurst_tanzt.txt" txt}}} {Who {ulist { {t "vocals - jag"} {t "guitar - sbeyer"}}}} {Comments {t "This song was around five hours of work for a silly but nice song about a dancing bratwurst."}}}}}}}}}}}} {section edu "Education" {! {p {! {t "I am studying computer science at the "} {textlink "http://www.tu-ilmenau.de/" "Technische Universität Ilmenau"} {t ". You can have a look at my old schedules (German)."} {extlink "university/stundenplan.alt.txt" txt}}} {p {! {t "Here are some of my held presentations at university and other stuff. I uploaded them with TeX/LaTeX source, so that you can use it as a LaTeX reference."}}} {categories { {edu:net "Presentations for Seminars (in chronological order)" {catitems { {gvs4 "Grundlagen verteilter Systeme, 4. Übung" {desclist { {Time {t "20 minutes"}} {Language {t "German"}} {Date {t "2006-12-21"}} {Course {t "Grundlagen verteilter Systeme"}} {Description {t "Diese Präsentation stellt die Lösung einer Übungsaufgabe zum Philosophenproblem dar (Analyse eines Algorithmus, der das Problem hinreichend lösen soll). Der allgemeine Nutzen ist wohl recht gering, aber es ist ein gutes Beispiel dafür, dass man es mit Overlays in Folien nicht übertreiben sollte."}} {Files {swarchive { {"Folien" {{"university/pres/gvs.pdf" pdf}} {t "Vorsicht: 2 MB!"}} {"Source" {{"university/pres/gvs.tex" tex}} {t "erster Gehversuch mit "} {code {t "pgf"}} {t " bzw. "} {code {t "TikZ"}}} {"Java-Testprogramm 1" {{"university/pres/gvs.v1/Test.java" java}} {t "mit Essfehler (Philosophen fangen mit Essen an, wenn sie Gabeln erhalten.)"}} {"Java-Testprogramm 2" {{"university/pres/gvs.v2/Test.java" java}} {t "funktioniert. Darstellungen aber suboptimal. Reichte aber zum Zeigen."}}}}} {Comment {t "Lesson learned: Do not use overlays that much!"}}}}} {clone "Klonerkennung nach Baxter" {desclist { {Time {t "30 minutes"}} {Language {t "German"}} {Date {t "2007-05-25"}} {Course {t "Software-Reengineering"}} {Description {t "Diese Präsentation gibt einen kurzen Überblick des Klonerkennungsverfahren (engl. Clone Detection) nach Ira Baxter und zeigt die einzelnen Schritte idealisiert am Beispiel "} {code {textlink "http://www.jcraft.com/jsch/" "jsch"}} {t "."}} {Files {swarchive { {"Präsentationsfolien" {{"university/pres/clone.pdf" pdf}} {t "begleitend zum Vortrag, allein wenig aussagekräftig"}} {"Handout" {{"university/pres/clone-a4.pdf" pdf}} {t "Handout mit Platz für Notizen"}} {"alternatives Handout" {{"university/pres/clone-a4.bad.pdf" pdf}} {t "alternatives Handout, nur testweise"}} {"Source" {{"university/pres/clone.tar.gz" tgz}} {t "LaTeX-Quellcode mit "} {code {t "Makefile"}} {t " und " } {textlink "http://keyjnote.sourceforge.net/" "KeyJNote"} {t "-Infodatei"}}}}} {Comment {t "Just few information on slides itself. Many things were just shown during the lecture. Overlays only where needed."}}}}} {suffix Suffixbäume {desclist { {Time {t "60 minutes"}} {Language {t "German"}} {Date {t "2007-06-14"}} {Course {t "Hauptseminar Automaten und Formale Sprachen"}} {Description {t "Diese Präsentation liefert einen Einsteigervortrag zur Definition, Konstruktion und ersten Anwendungen von Suffixbäumen (engl. suffix trees) im Rahmen des Hauptseminars. Darauffolgend gab es zwei Vorträge zu weiteren Anwendungen von Suffixbäumen."}} {Files {swarchive { {"Präsentationsfolien" {{"university/pres/suffix.beamer.pdf" pdf}} {t "begleitend zum Vortrag"}} {"Handout" {{"university/pres/suffix.handout.pdf" pdf}} {t "Beispiele für Ukkonen und Weiner fehlen"}} {"Source" {{"university/pres/suffix.tar.gz" tgz}} {t "LaTeX-Quellcode mit "} {code {t "Makefile"}} {t " und " } {textlink "http://keyjnote.sourceforge.net/" "KeyJNote"} {t "-Infodatei"}}}}} {Comment {t "My first own Beamer styles. The dark red and dark green could not really be distinguished from black using a projector."}}}}} {hru-fernuni "Systemsicherheit, 2. Übung" {desclist { {Time {t "20 minutes"}} {Language {t "German"}} {Date {t "2008-05-05"}} {Course {t "Systemsicherheit"}} {Description {t "Diese Präsentation stellt die Lösung einer Übungsaufgabe für das Fach Systemsicherheit dar. Die Aufgabe war das Abändern eines einfachen Vorlesungsbeispiels zum HRU-Modell und Analysieren der HRU-Safety."}} {Files {swarchive { {"Folien" {{"university/pres/hru-fernuni.pdf" pdf}} {t "vortragsbegleitend"}} {"Source" {{"university/pres/hru-fernuni.tar.gz" tgz}} {t "LaTeX-Quellcode plus Bilder und "} {code {t ".git"}}}}}}}}} {reputation "Manipulationsresistente Reputationssysteme" {desclist { {Time {t "60-90 minutes"}} {Language {t "German"}} {Date {t "2008-06-26"}} {Course {t "Hauptseminar Automaten und Formale Sprachen"}} {Description {t "Diese Präsentation liefert einen Vortrag zu manipulationsresistenten Reputationssystemen auf spieltheoretischer Basis. Meine persönliche Meinung ist allerdings, dass die theoretischen Erkenntnisse darin nicht viel bringen."}} {Files {swarchive { {"Präsentationsfolien" {{"university/pres/reputation.pdf" pdf}} {t "vortragsbegleitend"}} {"Source" {{"university/pres/reputation.tar.gz" tgz}} {t "LaTeX-Quellcode"}}}}}}}} {ban-logik "Systemsicherheit, 6. Übung" {desclist { {Time {t "15-30 minutes"}} {Language {t "German"}} {Date {t "2008-06-30"}} {Course {t "Systemsicherheit"}} {Description {t "Diese Präsentation stellt die Lösung einer Übungsaufgabe für das Fach Systemsicherheit dar. Die Aufgabe war, mittels BAN-Logik zu beweisen, dass der passive Teilnehmer einer mit dem Needham/Schroeder-Authentisierungsprotokoll aufzubauenden sicheren Kommunikation glaubt, dass er den symmetrischen Sitzungsschlüssel mit dem aktiven Teilnehmer teilt."}} {Files {swarchive { {"Folien" {{"university/pres/ban-logik.pdf" pdf}} {t "vortragsbegleitend, neben Tafel"}} {"Source" {{"university/pres/ban-logik.tar.gz" tgz}} {t "LaTeX-Quellcode"}}}}}}}}}}}}}}} {section pgp "OpenPGP" {! {p {! {t "My OpenPGP key is "} {code {t "0x6EDDD207FCC5040F"}} {t ". Here you can download "}}} {ulist { {! {t "my key, clean"} {extlinks { {"openpgp/fcc5040f.txt" txt} {"openpgp/fcc5040f.asc" asc}}}} {! {t "my policy"} {extlink "openpgp/policy/" txt}}}} {p {! {t "I also own "} {code {t "0x8AA3F9655088FFA3"}} {t ". Information will perhaps not follow."}}} {p {! {t "Contact me if you want me to sign your OpenPGP key or to assure your identity for "} {textlink "https://cacert.org/" "CAcert"} {t ". We can meet around "} {em {t Erfurt}} {t ", "} {em {t Ilmenau}} {t ", "} {em {t Saalfeld}} {t ", "} {em {t Jena}} {t " in Thuringia, Germany."}}}}} {section copy "Copyright Notice" {! {p {! {t "© 2006-2011, Stephan Beyer"} {extlink "mailto:s-beyer gmx.net" mail}}} {p {t "All rights reserved."}} {p {! {t "The XHTML code of this page is automatically generated."} {extlink "index.t" src}}} {script {@ {src index.js} {type text/javascript}} {t ""}}}}}}}}