Resume 2012

Personalia:
Name:Walter Schreppers
Address: Philips De Monteplein 7
2650 Edegem
Date of birth:May 13th, 1976
Sex:Male
Marital status:Married to Carmen Alvarez in Edegem on 2012/07/07
Nationality:Belgian

Education:

1989-1990: Five Forks Middle School
Gwinnet County
Georgia (USA)
1990-1996: Science-Mathematics
Sint-Aloysius college, Geel(Belgium)
1996-2001: Master of Computer Science (MsC)
University of Antwerp
Grade : cum laude (with honor)
Thesis subject: Een precompiler en tekstwidget voor de wetenschappelijke rekenomgeving ARITHMOS.
2001-2007: Ph. D. student in Computer Science
University of Antwerp
Thesis on Multi Precision Lab, precompilers and code generation tools. Not defended thesis yet, hopefully somewhere in the future. Allthough I'm currently busy with SIT bvba
2008-2011: Founded SIT BVBA and worked on a large Construction Site renovated some lofts on kasteelpark.be at the same time
Worked on building web based applications (part time). Quickly started to use the Rails framework for building web applications:
  • Dynamic DNS service targeted at remote view of security cameras: dyndns.sitweb.eu
  • Webshop for selling security cameras currently running rails 2.3.4 but a new version in rails 3 is in development cctv.sitweb.eu
  • Started work on a community site (for dating). This has messaging, profiles with galleries but is work in progress: www.betweendating.com.
december 2011 - januari 2012: Holidaysbay.com :

Did a seperate project with SIT bvba for HolidaysBay. This was a badly written php site that had many connection and database issues. Completely rewrote the backend in Ruby On Rails. The stylesheest remained (albeit we're a little improved). But espacially a lot of work went into automatic payments, paypal IPN. Automatic invoice creation for various suppliers of auctions. Automatic generation + emailing of vouchers in pdf format and validation of the voucher codes for the hotels and establishments. Auction management. Bidding like ebay but also the added complexity of automatic bidding made this quite a challenge.

The site really took off in februari and we got 5000 subscribers and some days we got even 100.000 hits in a few hours. Thereby proving the site backend was nice and scalable (used memcached, pagecaching for extra performance). Unfortunately the offers and margins we're not large enough to sustain a high enough profit for the investment and the site went down a few months later due to insufficient funding.

2011-present: Working as independent contractor with SIT for Option NV. Lead developer/architect on APM project. Developer on VIU2 and temporary development on XYfi
  • XYfi :

    For XYfi I was called in to do some frontend work during the last sprint before the official release of the product. This was mostly jQuery javascript work and cleanup of the web interface code (so mostly webdeveloment/frontend work). We did a pretty good job as the XYfi got high scores and a great review on engadget .

  • VIU2 : A linux based 3G security camera with android and iPhone applications as clients. Server side mostly ruby on rails, some python and optimized C components for video streaming.

    For VIU2 I did most server side software in ruby on rails and python. We have an administrative and OTA firmware upgrading site. A mobile site for watching events, clips and snapshots from 3G enabled security cameras called VIU2. I've also developed a json api with sinatra rails and that is being heavily used by Android and iPhone applications to manage the custumer's VIU2 (he can add guest users and toggle motion detection etc. on his 3G camera) watch live streams and recorded clips of his camera etc. The ota administration site allows management of the cameras (moving clips from one camera to another if one fails, doing batch upgrading to new firmware versions etc.). With the json API I wrote full regression and automated smoke testing and that saved us a lot of time. We lost more time on debugging python code that lacked unit tests than it took to implement all tests in the ruby sinatra json api.

    So it's a good example that a little extra development time during startup saves a lot of debugging time in the end. Any time we found something not working in the json api we immediately saw which tests failed in the regression tests and we're much quicker to find the culprit (this could go from database schema not up to date to other external components not obeying the api specifications etc.). The reason I chose for Ruby On Rails on the web and json api work is because it's a well written framework with the right balance between convention over configuration and has all the features to integrate into existing platforms (any convention can be overridden if it's necessary, but going with the flow saves a lot of development time that can be spent on well written tests).

    On the firmware side of VIU2 I implemented a modified kernel module to do the image flip feature of the 3G camera. The camera VIU2 runs embedded linux on an arm processor (with busybox/buildroot etc.) and by diving into the graphics chip driver code I was able to implement an image flip feature so people can hang the camera on the ceiling and still get their snapshots and video clips/live streaming right side up. Apart from that it was mostly integrating and server side software connected to mysql database (all on linux variants, centOS, debian and ubuntu distributions). This consisted of a json api written with sinatra/ruby to connect to android and iphone's where people can watch their clips and tune the motion detection levels. A complete administration site (in rails) to manage firmwares, do ota, managa data usage. Different administration levels here. for instance the top level admin can watch videos and snapshots of all cameras while others can only delete or move clips and change passwords etc.

  • APM: AT&T Policy Manager :

    This is an ambitious project (aiming to be installed on millions of devices) and allows AT&T to do traffic shaping of their 3G network by using the android tablets themselves.

    The APM project has 2 hidden android applications running in background one that starts a native c program (written with ndk arm gcc compiler) to communicate with iptables and connect to a python backend. The other is a simple notification service to give users notifications. There are 12 dedicated servers running at AT&T that connect to these clients and through an administration web based frontend firewall rules can be pushed and traffic traces can be requested on these devices that have the clients installed. There is also a machine learning component (server side) to analyse the given traces and construct new rules to push to clients to block certain types of traffic. For instance a user can be notified by AT&T that he's using an application not allowed on their network and that it's now blocked (this is then done with the iptables component).

    Also we deployed to 3 seperate Oracle database (most projects I tend to use mysql or postgress) so this was also a bit of learning as oracle can be picky on limiting queries for pagination on large datasets. Luckily we solved all issues in moving from mysql to oracle in just a few days thanks to ruby ActiveRecord and a good python oracle connector.

Teaching
  • Software Engineering : Practical assistance for course taught by Prof. Serge Demeyer exercises
  • Capita selecta A.I. : Practical assistance for course taught by Prof. Brigitte Verdonk exercises, and course notes here http://www.ect.ua.ac.be/courses/csai.html
  • Introduction to Matlab for Computer Arithmetic and Numerical Techniques taught by Prof. Annie Cuyt.
Publications
Open Source Projects
  • MPL: Multi Precision Lab. Matlab compatible parser with extended multiprecision types based on various in-house and open source libraries (this is my main research area).
  • wsbasic: my first OO recursive descent parser/interpreter written in C++ and hosted on sourceforge. It was incorporated in the popular kde kturtle education project
  • precompiler: Automatically translates data types in C and C++ sources. This engineering tool is used extensively to translate mathematical libraries for MPL (sources and paper published in ACM TOMS)
  • Other smaller projects like a ligthweight XML parser with bison++ and flex++, used by BaseML (CMS with XML files). and by the precompiler for parsing its configuration files (see acm toms publication)
Programming experience & Miscelanious
  • C++ : daily
  • Java : monthly, also gave introductionary tutoring in OO and java to students.
  • Matlab : daily to reverse engineer and run benchmarks
  • Php : monthly for various websites by myself, some use SQL others just flat files (I have my own custom CMS)
  • VBA & Access : did some projects as student job during Bachelor years.
  • C# and SmallTalk( when I feel like it), I mostly use the open source mono project since it is truly cross-platform (running on linux/mac and windows).
  • python : for fun, wrote a little python code this christmas to extend the Wii-remote driver so that it controls my xmms music player in edubuntu linux. This was first posted on makezine. Then spread to various other sites like quickjump and digg, ...
  • perl : for fun, mostly use it to automatically post in forms.
  • wsbasic : my own programming language, I use it to replace bash scripts because I hate bash's scripting syntax/semantics
  • ruby : like the language and concepts , not it's current interpreter performance (especially the xml libs have scalability problems). Since 2008 I started using Ruby On Rails and absolutely love that framework. My first rails project can be seen here dyndns.sitweb.eu
  • Haskell and other functional languages like huggs and prolog (don't really like lambda calculus though)
  • Turbo Pascal : loved hacking away on a pentium 133Mhz in those mode 13h turbo pascal glory days.
  • JAL & gcc cross compiler: which I used to do various PIC 16f628A programming projects. Always wanted to program my own chips since I was a little kid, I had to wait until I was thirty before actually being able to do it on my own in my livingroom. Also posted a true binary clock project on hackaday once I got the hang of it here : PIC based binary clock.
Languages
  • Dutch : native
  • English : almost native, lived in Gwinnet County near Atlanta Georgia (6th and 7th grade, took 8th grade maths by skipping / equivalence test)
  • French : yes, but slowly please
  • German : basics
  • Italian : a few words, took introductionary course in college
Hobby
  • Skateboarding, snowboarding (going fast is the key to success! )
  • Watching original Movies
  • Programming for fun. Hacking together stuff like 3D printers (built 2 of them this year in my garage, hopefully more to come), electric go-karts and whatnot during http://opengarage.org (weekly meeting on thursday night)...
Check out MPL, Seminars, Projects and Teaching or my blog on this site (for more info about me).