git für Progress OpenEdge-basierte Software • Akioma • seit 2014-11

  • Setup des Versionskontrollsystems git für ein Progress OpenEdge-basiertes Software-System, das von mehreren unabhängigen internationalen Teams in einer Multi-Plattform-Umgebung entwickelt wird.
  • Fortlaufende Beratung und Schulung.
  • Abwicklung von komplexeren Aufgabenstellungen (z.B. Absplitten von Unterverzeichnissen unter Beibehaltung der vollen Historie).

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

KVM & Linux Kernel Entwicklung System z • IBM • 2015-04 .. 2015-12

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

  • Erstellung einer Yocto based Softwareplattform (base system / operating system).
  • Hardwarenahe Bibliotheken für IO
  • Systeminformationen
  • Systemüberwachung (u.a. Watchdog)
  • Zugriff auf persistenten Speicher u.ä.
  • Anpassungen an Linux und U-Boot
  • Erstellung von automatisierten Systemtests und Software für Provisioning (initiale Softwareinstallation beginnend mit JTAG, Programmierung von Identifikation und sicheren Zufallswerten). Ausfallsicheres, multi-platform-fähiges, HTTP basiertes Update-System (das auch in 20+ Jahren noch einsatzfähig sein soll), inklusive Erkennung von fehlerhaften Softwareupdates (Bootfehler).
  • Debugging und Fehlerkorrekturen auf Betriebssystemebene (sowohl user space als auch kernel space).

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

Softwareentwicklung, Mentoring, Systemadministration • Sugar Labs / Activity Central • 2009-02 .. 2013-01

  • Reviews, Upstreaming, Merges / Rebases, automatisierte Tests, etc.
  • Data store: Wartung und Funktionserweiterungen für ein automatisches Dokumenten-Management-System (als Teil eines graphischen Desktopsystems; keine Dateien oder Ordner wie bei traditionellen Desktopsystemen). Insbesondere Einbau von Versionsunterstützung in die existierende Implementatierung, so dass versehentliche Änderungen einfach rückgängig gemacht werden und Änderungen über die Zeit hinweg nachverfolgt werden können. Später Entwicklung einer alternativen Implementierung auf Basis von git (“plumbing” layer) und Xapian, die die selbe API wie die existierende Implementierung bietet sowie eine verbesserte “native” API. Außerdem verschiedene Arbeiten zum Thema Anbindung des data store an Software außerhalb des Sugar-Ökosystems (FUSE, WebDAV, gvfs).
  • Debugging und Fehlerkorrekturen auf Betriebssystemebene (sowohl user space als auch kernel space).
  • Isolated shell (“Rainbow”)
  • Systemadministration: Diverse Linux-Systeme am Laufen halten (Debian, Ubuntu, Fedora). Trac, Buildbot, Apache, BIND, OpenLDAP, etc..

Python, C, x86/amd64, ARM, PowerPC