git for Progress OpenEdge based software • Akioma • since 2014-11

  • Setup of the revision control system git for a Progress OpenEdge based software system, which is being developed by several independent international teams in a multi platform environment.
  • Ongoing consultation and training.
  • Execution of complex tasks (such as detatching of subdirectories while maintaining the full history).

Progress OpenEdge, Eclipse, git, Windows, Linux, Cygwin

KVM & Linux kernel development System z • IBM • 2015-04 .. 2015-12

Software development: Linux+Yocto base OS, fail-safe updater • Avat • 2011-05 .. 2014-07

  • Implementation of a Yocto based software plattform (base system / operating system).
  • hardware-related libraries for IO
  • System information
  • System monitoring (among others: watchdog)
  • Persistent storage access and the like
  • Linux and U-Boot modifications
  • automated system tests
  • provisioning (initial software installation starting with JTAG; per-device random seed and identification)
  • Fail-safe, multi-platform, HTTP based update system (intended to still be operable in 20+ years), including detection of faulty software upgrades (boot failure)
  • OS-level debugging and fixes (both user space and kernel space).

C, Python, some others; PowerPC, x86/amd64

Software development, Mentoring, System administration • Sugar Labs / Activity Central • 2009-02 .. 2013-01

  • Code reviews, Upstreaming, Merges / Rebases, automated tests, etc.

  • Data store: Maintenance of and improvements for an automatic document management system (as part of a desktop system, no files or folders like on traditional desktops). In particular, as part of both Google Summer of Code and my diploma thesis I added version support to the existing implementation so accidental changes can be easily reverted and changes tracked over time. Later on, I developed an alternative implementation based on git “plumbing” and Xapian, offering the same API as the existing implementation as well as an improved “native” API. Also various work on interfacing the data store with other software outside the Sugar ecosystem (FUSE, WebDAV, gvfs).

  • OS-level debugging and fixes (both user space and kernel space).

  • Isolated shell (“Rainbow”)

  • System administration: Keeping various Linux hosts running (Debian, Ubuntu, Fedora). Trac, Buildbot, Apache, BIND, OpenLDAP, etc..

Python, C, x86/amd64, ARM, PowerPC