Curriculum Vitae of Johannes Winkelmann
Personal Information
| Name: | Johannes Winkelmann |
| Location: | Zurich, Switzerland |
| Birthday: | 28.02.1979 |
| E-Mail: |
jw@smts.ch |
| Nationality: | Swiss |
Languages
| German: | Native |
| English: | Fluent |
| french: | Intermediate |
| Norwegian: | Beginner |
Core qualifications
- Extensive object oriented software engineering skills
in C++, Python, Java, Perl and Ruby
- Strong knowledge of Linux, including embedded linux, kernel and
device drivers, cross compilation and porting software to different
platforms and architectures, software packaging
- Familiar with the Qt toolkit
- Familiar with open source projects, communities
and OSS licensing discussions.
Intended position
Software engineering position in a Linux environment, ranging from
low level (kernel/device driver) over system programming to
application development
Education
- B.Sc. equivalent in Computer Science (Dipl. Inf. FH), specialized in
software engineering, Hochschule für Technik und
Informatik Biel, Switzerland, 2004
- Degree in electronic engineering, specialized in computer
technology (apprenticeship; Eidg. dipl. Elektroniker) Ascom AG,
Switzerland, 2000
Software knowledge
| Development tools: |
GNU development chain (gcc, gdb, gcov, gprof), Eclipse, MS DevStudio |
| Revision control systems: |
Git, Subversion, CVS |
| GUI toolkits: |
Qt (7 years), wxWindows |
| Operating systems: |
Linux (10 years; Debian, Redhat, SuSE, Gentoo, CRUX), Windows, Solaris, Mac OS 7-X |
Work experience
Embedded Linux Software Engineer, BridgeCo, Duebendorfhttp://www.bridgeco.net
January 2009 - now
- Software developer for the BridgeCo's SoC platform
- Device driver development for SoC platform
- Bootloader extentions
- Userspace adaptation to support new bootloader/kernel features
- Debugging of hardware issues together with ASIC team
- Keywords: ARM, Embedded Linux, Linux Kernel, Device Drivers, SoC, Internet Radio, Home Entertainment
Software Engineer, BridgeCo, Duebendorfhttp://www.bridgeco.net
January 2008 - December 2008
- Software developer for the BeBoB platform
- Firmware development for 1394 and USB audio devices
- USB stack work
- Debugging of hardware issues together with ASIC team
- Customer support
- Keywords: ARM9, Audio streaming, Low latency, Embedded C++, USB
Software Engineer, ETH Zurich, Switzerlandhttp://www.ife.ee.ethz.ch
February 2006 - December 2007
- Responsible for the software maintenance of the QBIC platform (Belt Integrated Computer):
- Linux kernels: driver porting and maintenance
- Boot loader
- root filesystems for various projects, using uclibc and
busybox
- Implemented uclibc based linux distribution to minimize disk
space and boot time on an embedded device
- Implemented a test setup to diagnose problems on existing
QBICs, and verify newly produced ones
- Implemented a fully scriptable game to support a study on
stress detection using physical and physiological sensor
data
- Prototyping and supervision of the development of a generic visualization framework
for physiological signals using C++/Qt
- Keywords: Embedded Linux, Linux kernel, bootloader, OpenEmbedded, uclibc, ARM, C++, Qt
System administrator at MEM Research Center, University of
Bern, Switzerlandhttp://www.memcenter.unibe.ch/istb
September 2004 - February 2006
- Responsible for the institute's web, mail and file
servers (linux and solaris)
- Planned and implemented the move of the developement
environment:
- Co-authored a build system based on Boost.Jam
- Introduced Subversion as revision control
- Introduced wikis to the team
- Maintainer of several medical software
packages
- Wrote the coding style and API documentation
guidelines
- Implemented Abstract Submission for conferences;
used for CAOS (Computer Assisted Orthopaedic Surgery) 2005,
CAS-H (Computer Aided Surgery around the Head) 2005, prepared
for CAOS 2006; PHP/MySQL
Founding member Tegonal Gmbh, Bern, Switzerlandhttp://www.tegonal.com
September 2004 - March 2005, part time 40%
- Responsible for the development of a client
application for WinCE and PalmOS handhelds using
SuperWaba
Software Engineer at MEM Research Center, University of
Bern, Switzerlandhttp://www.memcenter.unibe.ch/istb
March 2004 - September 2005
- Extended an existing planning application for hip
surgeries; C++, Qt, Coin3D, VTK
- Work on the internal framework for medical
application; C++
- Ported the framework core from Linux to MS
Windows, C++
Software Engineer at Trustix AS, Trondheim, Norwayhttp://www.trustix.com
October 2001- July 2002; internship, part of my studies
- Helped to build a remote administration tool
(XPloy) for Linux servers (C++, Qt, MICO)
- Ported parts of the firewall builder XSentry to
C++/Qt
- Part of an Extreme Programming team
Software Engineer at iClip AG, Bern, Switzerlandhttp://www.iclip.ch
Summer 2000 - September 2001, part time 20%, while studing
- Development of a large scale content management
in Java and Apache Tomcat, using XML and XSLT
- Responsible for the evaluation and introduction of
SVG and rasterization methods for SVG in the CMS
Software Engineer at Ascom AG, Bern, Switzerlandhttp://www.ascom.ch
September 1998 - August 1999, part of my apprenticeship
- Development of a module to control and configure
high speed modems for Ascom Transmission
- Keywords: C++, cross platform, IlogViews, Telecommunication
Selected open source projects
Conky - system monitor for X11http://conky.sf.net
Since August 2005
- added various new features:
- Implemented disk I/O meter for linux
- Implemented cpufreq for linux
- Several bug fixes, mainly SMP related
- Keywords: C, linux system programming, Xlib
SLiM - X11 login managerhttp://slim.berlios.de
Since October 2004
- Co-author
- Added shadow and additional transparency effects
- Usability improvements and bug fixes
- Packages available for CRUX, Gentoo, Arch Linux, Debian, FreeBSD, NetBSD ...
- Keywords: C++, Xlib
XPMT - eXtreme project management toolhttp://xpmt.sf.net
autumn 2003 - summer 2005
- Co-author
- Keywords: PHP, MySQL, Extreme Programming, Smarty
httpup - syncronisation tool using HTTPhttp://jw.tks6.net/files/crux/httpup_manual.html
Since 2004
- Lead developer and maintainer
- Official packages available for CRUX and Gentoo
- Serving almost 3000 software packages for CRUX
(2969 officially registered as of october 10)
- Official httpup repositories available for CRUX
and PortPKG
- Keywords: C++, curl
CRUX core developerhttp://crux.nu
July 2002 - December 2006, May 2008 - present
- maintainer of a number of packages for the CRUX linux
distribution, including shadow, subversion, xemacs, blackbox,
ccache, curl, distcc, docbook-dtd and xsl, xxdiff, ruby on
rails, gcc4, bazaar-ng, gnucash, qt4
- author of the package guidelines, the CVS and Subversion
HowTo, and the maintainer guidelines
- author of several tools to run the website
(e.g. package search)
- administrator of some of the mailing lists
- Ported CRUX to Sparc
- Keywords: Shell scripting, python, perl, PHP,
MySQL, Cross Compilation, Porting
Unix port of Unrarlibhttp://www.unrarlib.org
2002
- Ported from Windows to unix (x86 including inline
assembly)
- adapted versions of unrarlib/unix can be found in mplayer and ClamAV)
- Keywords: porting, C, assembly
Patch development: wrote and submitted patches to several packages- pkgutils (bash, download continuation, merged)
- ck4up (Ruby; merged)
- pypanel (Python: merged)
- blackbox (C++; anti-aliased fonts, text shadows, split gradient; posted to mailing list/patch tracker)
- iComplete (C; pending)
- torsmo (C; merged in conky)
References
Available on request. Please send an e-mail to jw@smts.ch
Generated on Tue Jun 2 11:19:45 CEST 2009