Vitus’ current CV (pdf).
All presentations are also on my slideshare account.
Some of my code can be found on my github.
This is going to be a growing list of all code I have ever worked on, collaborated on or written over the years. I also included websites, presentations, occasional artsy projects (like logos), as well as papers and theses. Be it at universities for class projects, for my own private amusement, or at a company (if it is releasable that is). Some projects that are listed don’t include the source code, since I sadly don’t have it anymore, whereas others are under NDA (eg. developed for a client).
They are listed in chronological order by “project name“, date, place – class name (if applicable) or client, and language. I tried to include as much info as I could dig up, like class websites, syllabus, project descriptions and more (and archived/crawled the sites, lest they ever go away).
- pre-95/self/Basic: My first ever piece of code, I still remember like it was yesterday. It was a moving wave simulator that I wrote in Basic which used basic graphic operations for drawing points. Back then, I did not know about arrays and loops so I wrote hundreds of variables and statements for every change. We had a box-like Compaq which still had one of those orange monochrome displays 😉 Didn’t keep it though 😦
- pre-2000/Highschool/Pascal: My first “official” programming education took place during my last years of high school. This was mostly mathematical and logical foundations as well as basic structures and algorithms in Pascal. All that code was written at school – so no source either, sorry.
Vocational project to learn some C++ as well Windows API and socket programming. Its a small program that allows to open a listening socket or connect to another socket on another machine and send and receive data. It has a primitive GUI and was written under Windows 95, I think. It still works even on Vista/Win7 which I think is amazing, as well as in Wine under Mac OSX – from which I took the screenshot as you can see. Source.
- “Hansa2k” – “h2k”/2001/self/PHP+HTML:
Website that was intended to be a community platform for my high school year of 2000. Our school was the Hansa-Gymnasium in Hamburg-Bergedorf, hence the name Hansa2k. I even owned the domain hansa2k.de for that site for a while. It is a heavily modified phpBB BulletinBoard system which sports a portal-like frontpage and more modifications to allow for people to store their addresses and other stuff, it had special h2k profiles and more to support that. It also contained the data of our CD that was released after graduation. Sadly, it never quite took off and so died a slow death around 2005, when I finally unregistered the domain. Full PHP Source (w/out copyrighted material of the CD).
- ca. 98-2001/self/HTML: Various versions of homepages for the Lorenz-Meyer family, first version was hosted on our Compuserve account space if you can believe it, then moved to other locations including (but not limited to) Geocities, f2s, xoom, and crosswinds as well as pix on angelfire. Basic HTML and some animated gifs 😉 HTML V1 (zip), V2 (zip). A couple years ago I built a blog for the primary domain which lived on my friends server, which subsequently went offline. Current site on primary domain lorenz-meyer.de is a simple blog made by my uncle.
- 2001/self/Photoshop: Various logos for the Teelicht clan as well as other clans and logos. I also made a really cool (at least IMHO) intro in flash for the Darryl Musashi [DMC] clan, mimicking the famed Episode I trailer, which took me quite some time. Sadly some of my HDs crashed and I had never backed it up anywhere. Selection of derDoc logos (numbered 1 – 4.jpg) (complete set in zip). Selection of Teelicht logos (numbered 1 – 5.jpg) (complete set in zip). Selection of DMC logos (numbered 1 – 21.jpg) (complete zip).
Technical University of Braunschweig
- 2001/TUBS-Programmieren I/Java+Scheme: “Programmieren I,” first programming class at the Technical University in Braunschweig (TU-BS), first semester. Various homeworks written in Java include trees, OO concepts, lists and more. Also includes some functional programming basics in scheme. Zip.
- “Xxy”/2003/TUBS-SEP/Java: The “SEP” – Softwareentwicklungspraktikum, that mouthful which translates to software engineering lab in English – was a requirement for graduation which takes you through the complete software engineering process, from requirements gathering, specification to implementation and documentation.
Our project was to write a GUI editor for the Latex graph library xy-pic. We had a team of 6 people: 3 programmers and 3 business-information majors who mostly wrote the documents. Complete java source is here. Documentation (in German), assignment description (German). Business majors did the final presentation – so I sadly don’t have it.
- 2001-03/self/PHP+HTML: Various homepages for my own amusement and non-serious purposes while at TUBS. Including a page for our Counterstrike clan “Teelicht” – [Tee], Version1 (zip) and Version2 (zip); another of our clans that was a tribute to Darryl Musashi – an elusive character from one particular X-Files episode who was the God of all FPS, and he’s even on Facebook – apparently not anymore as of 2011 😉 – that was aptly named the “Darryl Musashi clan” or [DMC] (zip) (I once made a flash intro for DMC based on an Episode I trailer using the music and some clips from it – which sadly got lost in digital neverland); yet another short-lived clan called [TUBS] (for the university) (zip), as well as a stupid page to make fun of one of our lecturers – the page was called trivial (zip) because he liked that word so much.
- “DFrac”/2004/TUBS-PVS/Java: This and the following project were done for the “Praktikum Verteilte Systeme” (PVS) – distributed systems lab – at TUBS in S04. First part is a distributed fractal calculator using 3 different methods: Sockets, Java RMI and Corba. Source. Our SVN repo is still online, at my friend’s Code Trac. Website (zip).
- “P2Pc”/2004/TUBS-PVS/C#: Second part of PVS. Distributed p2p chat system, using XML for messages. Every packet is signed and every entity has to have a X509 cert for that. Supports anonymous channels (onion routing), private (symmetric encryption) and a public channel as well direct messages with pub-key encryption.
We were the only group writing it in C# which led to some incompatibilities with the other groups implementations which were all written in Java, specifically because of the order of fields in the XML messages. We wrote a library that implements all messaging, encryption, signing, connection managing/routing and more, as well as a command-line version (that acts as a naked node in the network when no user is authenticated) and GUI that both use the library internally. Homepage has links to project description, XML schema and more; though pdfs are not linked anymore, apparent reason stated is because of recent tuition introduction. Full source. Note: The compiled binary in the bin/ folder is linked against exact version 1.0.0 of gtk# and thus does not work with the current available version 2.*. Newly compiled Debug binary (for version 2.* of gtk#) here.
- “IBRc”/2004/TUBS-PKS/C: “Praktikum Kommunikationssysteme” – communication systems lab – in S03, website (zip). First part of assignment was a simple client-server chat system based on IRC. Source. Second part: latency measuring. Third part: a/v synchronization.
New Mexico State University
- 2004/NMSU-ArchI (CS473)/C: Architectural concepts course at NMSU. Course homepage (offline, zip). Homework assignments included a MIPS assembly and pipeline simulator. I wrote it on an old stripped-down Dell laptop, which I did not backup – the professor thankfully still had the source 😉 Graduate-level Arch II class final presentation.
- 2004/NMSU-ST (CS479)/CSound: Special topics – computer musics class. Interesting class about computer music generation. Assignments were to get some familiarity with CSound. Course homepage (offline, zip). All programming on my part was done at the graduate lab at NMSU, so no source.
- 2004/NMSU-AI (CS575)/Java: Final Project for AI class at NMSU in fall of 2004. Assignment was to write an agent that plays a game of (Man-) Kalah (aka. Calah) using alpha-beta search to calculate moves. I used a slightly more efficient variant called MTD-f. Agent plays by reading moves from stdin and outputting moves to stdout, simply the number of the pit to move from. I also wrote a game-server that plays two agents against each other, since the C-server did somehow not work with my Java version. Full source including game-server. Course HP offline, archive zip.
- 2005/NMSU-AI ML (CS579)/Weka: Graduate level Machine learning (offline, zip) class at NMSU. Final presentation for that class was about Neural Networks in games called Neural Networks camping. Homework assignments were some easy introductory problems in Weka, a data mining software in Java. Sadly, I did not keep them.
University of Texas at El Paso
- 2005/self-UTEP/PHP: The dorms at UTEP had a DHCP server that required you to re-authenticate every so often to get access to the internet to prevent people from running unsupervised/illegal edonkey-downloads all day. They also had a bluesocket authentication system for their Wireless APs. I wrote some simple PHP scripts that took care of both of those and stuck them into my cron, or just in a firefox tab under windows. Also includes some other sites I did while at UTEP: small website for “Planetlabber,” our little device that presses the power button of a server remotely. Source.
- 2005/UTEP-AA (CS5350)/Java: Advanced Algorithms class at UTEP. Assignment was to write a program for measuring running time of different implementations for Matrix multiplications. Source. HP and assignments not available any more. Final presentation (pdf). Project turnin (pdf) part1, part2, part3.
- 2005/UTEP-TSW (CS5382)/Java: Topics in Software development – Abstract oriented programming class. Just some little AOP code for short assignments. Scripts for final project, project report. Project presentations 1 and 2.
- 2006/UTEP-DBMS (CS5322)/SQL: DB class at UTEP in spring06. Assignments done in SQL for Oracle. HP was/is a wiki that required login 😦
- 2006/UTEP-OS (CS5340)/C: Operating systems class at UTEP. Assignments were to write a simple shell, consisting of tokenizer for input, scheduler and more. Code. HP (offline, zip).
- 2006/UTEP-eTOS (CS5353)/C: Emerging topics in operating systems (P2P) class at UTEP (offline, zip). Assignment was to write a simple webproxy and tcpproxy. Source. Final presentation.
- 2006/UTEP/Java: Master Thesis. Idea was to write a replacement monitoring system for the failed current implementation running inside the Coral P2P-CDN on Planetlab. It is a p2p monitoring and log aggregation system written on top of FreePastry called PlanetenWachHundNetz or PWHN. All presentations as well as the thesis itself are located on my slideshare account. Offline copies of thesis and presentations: NSDI poster, defense UTEP, defense TUBS. Website I did for the project. Full source of the client. Server part distribution.
Technical University of Braunschweig
- 2007/TUBS/Java: Bachelor Thesis. Survey to find the best scripting language suitable for running on a smart-phone platform developed at the IfN at TU-BS, called HSP. All were required to be written in Java, and be able to run on the mobile JVM running on the HSP. Source of some small test scripts for time measurements, presentation on slideshare, offline copy.
- “DBV-DSV”/2007/TUBS/Matlab: Digital image and signal processing labs. All done in Matlab, very short. Source will be released once I have cleaned up a bit and remembered which parts were given to us and which ones I did.
- “SMSlib”/2008/self/Objective-C+Java: Library plugin for Processing (P5). It reads the data from the SuddenMotionSensor (SMS) on Apple’s laptops. There was already a lib for processing (using Unimotion) before I wrote mine, but somehow I got very strange readings with it. So I reimplemented it using the SMSlib from Suitable systems. My version returns an array of all 3 readings as a float in units of g, instead as plain ints like the other. P5 Forum thread. Source.
- “Dock”/2008/self/Obj-C+Java: Library for Processing that allows drawing into a surface that gets rendered into the application’s icon in the Dock. Works only in Mac OS X (not yet tested on 10.6). Uses some native Objective-C code as well as Java JNI for the bridge. P5 forum thread. Source.
- “TrayIcon lib”/2008/self/Java: Another library plugin for Processing. This time it allows drawing into a drawing surface that represents an icon in the tray utilizing the new class Tray in java 1.6. Works on both OS X and Windows. Though under Mac OS X it only draws in B/W in adherence to the Apple GUI style guidelines. Forum entry in the processing forums. Source.
- “SMS* sketches”/2008-09/self/Processing: Various sketches in Processing using the libraries I wrote. Most of them draw all readings from the SMS sensor and plot them in either 3d or 2d. The 3d version plots all 3 axis extruding from 0,0,0 like this. 2d Version draws all 3 axis on a 2d plot like here. See entry in my blog here. I also turned this sketch into a widget using processingjs. SMSDock. First SMS sketch that I wrote here.
- “Schneiderbanger”/2008/Voodoo-Media/PHP+HTML: Website for a German law office that I helped build while working at Voodoo-Media in Hamburg in the summer of 2008. Source is obviously under NDA, but the online version we built is no longer available online :(.
- “Hanseaten-select”/2008/Voodoo/PHP+HTML: Online shop of a fine wine and delicatessen seller in Hamburg, Germany that I worked on while at Voodoo. Source under NDA, website at: http://www.hanseatenselect.de (not the site we built anymore).
- “Printcarrier”/2008/Voodoo/PHP+HTML: printcarrier.de: Large German online print-shop. I worked on the back-end for that company on an order-management system which makes heavy use of Ajax to be completely dynamic. Source under NDA and website not publicly available, for obvious reasons. Done under the project lead of Birger Hartung while at Voodoo.
- “PC-TQM”/2009/Voodoo/PHP+HTML: PrintCarrier-Total Quality Management: System to classify incoming support emails into different departmental categories. Uses naive bayes for classification. Based on and adapted from both B8 and this simple PHP naive bayes implementation. Source under NDA and website not publicly available, for obvious reasons. Done under the project lead of Birger Hartung while working for Voodoo.
- “P5Seismo”/2009/self/HTML+JS: This is the Widget that draws readings from the SMS sensor on Apple’s laptops on a 2d plane mentioned earlier. Lets you customize how to draw the axis, what the update rate is, the size, colors and more. Entry in my own blog. It was first implemented in Processing and then moved to Processing.js and turned into a widget, which is basically just a webpage displayed in the dashboard using webkit as a renderer. I made 3 different versions with different frames. Version 1, 2, 3.
- “Adium-SVZ”/2009/self/Obj-C: Plugin for Adium IM client for Mac OSX that enables integration of the website Ajax chat of the German Facebook clone StudiVZ. Since their API is not open I had to rely on a third-party protocol bridge from Nimbuzz, which is basically just a Jabber/XMPP gateway. So the plugin just extends Adium’s (pidgin’s) own XMPP code to account for the different usernames and let’s the user pull pic and status message from the website. It needs a Nimbuzz account with your SVZ account added to it and also the SVZ login to pull the data. Sadly, that does not work at the moment, since they have changed the site in the meantime to account for various recent breakins. Plugin website at Adium extras. Full source of latest version beta 5.2.
- “lorenzmeyer-art”/2009/Monika LM/HTML: Website for my mother’s art. Simple HTML plus a JAlbum produced image album.
- “fast-autoinsurancequote”/2009/Nick/PHP+JS: Website done for a friend in San Diego. Collects and sends your info as a lead to insurance companies. Basic HTML plus some JS and PHP magic for passing values between pages and posting of actual data to the backend. Source under NDA.
- “Game stats”/2009/Nick/PHP+JS: Website for graphing some historical game data, primarily the NFL for now, using various parameters and plotting methods. Uses the excellent JQuery lib jqplot. Unfinished/unreleased.
University of California San Diego
- 2010/UCSD-Compiler I (CSE131)/Java: Compiler construction (zip, offline) class at UCSD. I took this class through UCSD extension in Winter 2010. Project assignment was to write a simple compiler for a subset of the C language called reduced-c. We were given the lexer and grammar, so we “only” had to implement the parser as well the back-end of the compiler that generates assembly code for the Sun SPARCv8 architecture. Source.
- 2010/UCSD-Graphics I (CSE167)/C++: Intro to Graphics (offline zip) class at UCSD. I took this class through UCSD extension in Winter semester 2010. Course consisted of 6 homework projects, my code for those can be found here and one final project which I did with two partners (code, textures, unpack in same directory). There is a list of all submitted final projects (offline zip).
- “Baseballs-video-swing-contest”/2010/Warner/Flash+Actionscript: Viral marketing website for the German 50’s band The Baseballs. Idea is to let the fans record their own video performance to the song Umbrella by the band, using flash and a webcam, as done by countless individuals on youtube before. Users can alternatively upload their own video. The band will then select the best entries which in turn win tickets to a secret concert of the band, for which there are no normal tickets available. Concept and idea by Warner Music and Felix Pace of subliminalsociety.org. Graphics by Mathias Rendl. Public website was (the competition has ended as of 4/2010) online at: baseballs-video-swing-contest.de / .com. (Offline version of flash, recording does not work anymore w/out the server :()
- “Jennifer Rostock-video-contest”/2011/Warner/Flash+Actionscript: Viral marketing website for a fan-casting to find some background singers for the refrain of her new song. Similar to the baseballs contest, used the same codebase. Let the fans record a video of themselves singing/acting during the refrain in a short version of the song. Additionally, it called for a karaoke-style overlay with a jumping red ball to give a clue as to what to sing.
Concept and idea by Warner Music and Felix Pace of subliminalsociety.org. Graphics by Matthias Reinders. Public website was (the competition has ended as of 5/2011), still is accessible though, online at: jennifer-rostock.de.
- “FujiNoSono.de”/2011/Warner/HTML+PHP: Auction platform to raise money for an orphanage in the north of Japan that got damaged heavily during the 2011 Tsunami. 10 items sponsored by Warner, including instruments from the personal collections of Udo Lindenberg and Chris Rea, are auctioned off during the time of 10 weeks – one week per auction. Platform based on php probid.
Concept and idea by Warner Music and Felix Pace of subliminalsociety. Graphics by Matthias Reinders. Public website was online from 8/1/11-9/9/11 at: fujinosono.de.
- Teen racer sites/2011/cmv-sportmedia/HTML+PHP: Various websites for up-and-coming Kart teen-racer stars (I’d like to think the next Schumi is among them) done for cmv-sportmedia. Design and contract through Matthias Reinders (Cobra5).
Websites are custom modded wordpress sites to give them the ability to post news and pictures.
- Masked video overlay/2012/Subliminal Society/HTML+SVG: Small proof-of-concept to see if one HTML5-video could be masked by another video. The video mask had to be movable with the mouse by the user. In flash something like that is possible. This was just a test to see if that was doable in pure HTML5 with the help of SVG. Final version that uses inline SVG works only in Firefox! Browser-detection switch to serve flash version to other browsers. Final source (zip). Online version.
- “SolMexicano.com”/2012/SolMexicano/HTML+PHP: New website for my wife’s mexican folklore dancing group Sol Mexicano in Hamburg. Running on a wordpress core with a custom template based on a design done by Matthias Reinders (Cobra5). Pictures are generously hosted by photobucket (all 1900 of them!), videos by Youtube.
- “Yumwe”/2012/Subliminal Society/rails+ruby: First version of collaborative cooking platform called Yumwe. In July 2012 when we handed it off to its new developer, it got a major rewrite and is now public.
- “El Pikosito”/2012/El PikositoMexican Restaurant/HTML+PHP: New website for our friend’s mexican restaurant with authentic hand-made mexican food in Hamburg. Custom WordPress installation and theme, design by Matthias of Cobra5.
- “Tania.Riosvelasco.com”/2012/Tania Riosvlelasco/HTML+PHP:Website for my wife’s translation business. Custom wordpress theme, design by Thelma Seeger. Site.
- “bible-me”/2012/DSG/HTML+PHP+JS: Website for a friend’s non profit group “Do Something good”. Let’s you enter a name and select a gender, then generates a King Jame’s version bible with all mentions of “God” replaced by entered name. While online you had to pay with a tweet for it, now you can download it directly with the pay with a tweet link. Website was online at http://www.bible-me.com. Offline version (bible generation still works).
seed & sugar
- Planet-Prestige Magazin: “The Prestige”/2012/s&s/PHP: Magazine blog site for the beauty products web-shop Planet-Prestige. Heavily customized wordpress installation running on two servers behind a varnish reverse proxy, using w3-total-cache for caching and statics minification as well as a CDN.
Also made a website for the Planet Prestige physical store which is in its own WP install, sporting a modded WP Events Calendar.
- “The end of trend”/2013/s&s/PHP+JS: Small project for Alexander Graeser’s masters thesis project in visual communication. Installation with the site running on an iPad and the colors being projected onto horizontal fabric cuts. Built with MySQL, jQ and long-polling. Website online at endtrend.seedandsugar.de.
- “Jever Bierwelle”/2013/s&s/PHP+JS+AS3: Facebook online raffle (to win tix to a concert in HH) in which you have to take a jever beer bottle and film yourself cheering to the right and left (using your own webcam). Site built in PHP/MySQL and JS for the FB stuff and server XHR. The filming had to be done in flash, since not all browsers support getUserMedia yet. After streaming to a FMS (red5) running on our server, the clips are transcoded to mp4 and served on the website. Website w/out FB was at jever.seedandsugar.de, app on facebook – both offline. Offline version (with all videos from our time developing/testing the site)
- “Goalunited Pro”/2013-16/northworks/PHP+AS2/AS3: Online soccer manager Goalunited. Frontend written in flash, running in the browser, backend in PHP. Next version “Pro” also crosscompiles and runs in Air on mobile tablets. Developed while working for Northworks, closed source. Free to play in the browser.