Persönliche Daten

Name: Seibold
Vornamen: Stefani Michaela Andrea
Jahrgang: 1964
Staatsangehörigkeit: Deutsch

Qualifikation

Projekterfahrung

Aktuelle Kenntnisse

Bevorzugte Projekte

Ältere Kenntnisse

Qt, Java, MS SourceSafe, CVS, QNX, VxWorks, LynxOS, PSOS+, Pascal/Delphi, Forth, Basic, X.25 (X.29), VAX, PDP-11, Cray, 8-Bit Computer (6502 und Z80), 68000er Assembler, MS-DOS, CP/M, Telex, Protokolle (Kermit, X-, Y- und Z-Modem), OSI-7-Schichtenmodel

Verschiedenes

Englisch und technisches Englisch in Wort und Schrift, Hardware Kenntnisse, grundlegende Elektronikkenntnisse, Netzwerk-Administrations, redaktionelle Tätigkeiten

Unwillkommene Projekte

Berufliche Ziele

Konditionen

Arbeitsplatz:

Im Großraum München und Home-Office oder im sonnigen Ausland ;-)

Stundensatz und Gehaltsvorstellungen:

Nach Tätigkeit und Absprache.

Beruflicher Lebenslauf

Linux Kernel Entwicklung

FAT mount Dirty Fix

Device Tree Overlay Fixes für External References

VDSO Zeitfunktionen für x86 32 Bit Architektur (aufgenommen in Kernel 3.15).

USB Skeleton fixes.

Bug Fix CRAMFS.

Analyse und Fix eines Latenz Bugs im Zusammenhang mit CFI Flashes.

Analyse eines Latenz Bugs im PHY Code (Busy Waiting).

Verbesserte Implementierung der Kernel FIFO API kfifo (aufgenommen im Kernel 2.6.32).

Erweiterte Implementierung der Kernel FIFO API auf Basis von C-MaKros, um beliebige Datentypen in einen FIFO zu verwalten (aufgenommen im Kernel 2.6.34).

Dokumentation des proc Dateisystems im Kernel Source Tree unter Documentation/filesystems/proc.txt aktualisiert.

Fix von /proc/<pid>/stat um die korrekte Startadresse des Prozeß/Thread Stacks auszugeben und diese im Eintrag /proc/<pid>/maps bzw. smaps zu markieren.

Stack Usage Monitoring Patch

Git, Linux Kernel Patches, USB, Filesysteme, VDSO, Device-Tree, Kernel-API

2018-2019 - Drivelock (Freiberufliche Tätigkeit)

Implementierung eines Prototypen für einen System-Call Monitor der auf jeder Linux-Distribution läuft welche minimal Kernel 3.2 verwendet.

Erstellung eins Yocto Buildsystems für ein Distribution-unabhängiges SDK sowie Bibliotheken die einen definierten minimalen Kernel (3.2) voraussetzen.

Implementierung eines Security-Monitors der beliebige Systemcalls abfängt, diese analysiert und nach programmierten Regel zurückweist, z.B. schreiben auf einen nicht dafür freigegeben Datenträger.

Implementierung des Security-Monitors als Init-Prozeß um alle Prozesse des Linux-Systems zu überwachen, einschließlich die des Root-Users.

Yocto, Linux, Seccomp, C++14

2018 - Rohde & Schwarz (Freiberufliche Tätigkeit)

Implementierung eines Laufzeit Profilers (rsprof) mit Stack-Backtrace in C++14 unter GPL Lizenz mit folgenden Features:
Implementierung eines ELF Datei-Format Linter's (libcoverage) in C++14 unter GPL Lizenz mit folgenden Features:
C++14/17, Clang, Clang-Tidy, Linux, Elf, Ptrace

2016-2018 - MSWestfalia (Freiberufliche Tätigkeit)

Erstellung eines Yocto Buildsystem Layers, des SDKs und Rootfile-System für ein auf iMX.6 basierendes Beatmungs-Gerät, sowie projektspezifische Rezepte.

Portierung des iMX.6 Layers auf eine neues Yocto Buildsystem für ein Nvidia Tegra basierendes Gerät, einschließlich eines Merge des letzten Boot2Qt Qt Layers.

Yocto, iMX.6, Nvidia Tegra

2016-2017 - Huawei (Freiberuflich)

Reverse Engineering und Portierungen eines Linux Kernel für Taishan 2180/2280 Server (32 ARM64 Cores):
RDMA und RoCE Tests und Benchmarking

BMC, IPMI, RDMA, RoCE, ARM64, Linux, KVM, NUMA, Device-Tree, Git

2016 - Rohde & Schwarz (Freiberufliche Tätigkeit)

USB Frontpanel Controller auf ARM Cortex M Basis mit folgenden Features:
ARM Cortex M, USB Host und Target, Atmel Boot Loader

2016 - FA. Förster (Freiberufliche Tätigkeit)

Implementierung eines generischen Linux PCIe Treibers um beliebige PCIe Hardware im Userspace zu mappen und zu programmieren.

2015-2016 - ARRI (Freiberufliche Tätigkeit)

Untersuchung eines Memory Korruption Bugs im Linux (war ein falsch parametriertes DDR3 RAM).

Implementierung eines PCIe Root-Complex Linux-Treiber für ein Altera FPGA.

Upgrade eines Linux Kernel 3.14 für eine Marvell Armada ARM CPU auf Kernel 4.0

Linux, DDR3 Memory Timing, PCIe Root Complex

2015 - Rohde & Schwarz (Freiberufliche Tätigkeit im Bereich Signalgeneratoren)

Implementierung eines Online Memory-Leak Debugger unter GPL Lizenz (https://github.com/sstefani/mtrace) mit folgenden Features:
Linux, Ptrace, Debugger, C

2015 - PSysteme (Freiberufliche Tätigkeit)

Linux Treiber für einen High-Speed Kamera (1000 Frames/Sek.) für eine PowerPC Board, welcher sicher stellt das keine Frames verloren gehen.

Verbessertes Installation System das die Ur-Betankung um Faktoren reduziert.

Optimiertes und verkleinertes Root-Dateisystem

ELDK, Linux, PowerPC, FPGA

2005-2015 - Rohde & Schwarz (Freiberufliche Tätigkeit im Bereich Signalgeneratoren)

Bug Fixes im Linux Kernel (Display Problem, FAT Dirty Mount).

Implementierung eines USB Storage für einen Cortex-ARM basierende Frequency Multiplier (ZTX), sowohl die Target als auch die Linux-Host Treiber.

Bereitstellung einer echtzeitfähigen Double-Precision Floating-Point Bibliothek, da z.B. die pow() Funktion der GLIBC je nach Eingangs-Parameter einen Laufzeitunterschied von einen Faktor 12500 hat.

Erweiterung des PCIe-Endpoint-Treibers damit PCIe-Endpoint-Devices direkt miteinander kommunizieren können.

Erweiterung des Linux NAND-Treibers um den 4 Bit-ECC Support für den Micron MT29F Chip.

Board Support Packages für ein P2020 Dual-Core Freescale basierendes System.

Implementierung eines FCGI-Proxy's der den FCGI-Servers nach einer gewissen Zeit der Inaktivität beendet.

Erweiterung des Busybox HTTP-Servers um eine Fast-CGI Schnittstelle.

Implementierung eines IEC 488 Treibers für Linux für den NI TNT500x Chip. Der Treiber ist in einen logischen IEC488 Interface Treiber und einen Hardware-Treiber aufgeteilt. Der HW-Treiber registriert sich an den logische Teil welcher alle 488 Funktionen zur Verfügung stellt. Damit können sehr leicht weitere HW-Treiber implementiert werden, z.B. auf Basis eines FPGA's oder via USB.

Reimplementierung eines Linux USB-TMC Gadget Treibers.

Reimplementierung von optimierter C++ Basis-Klassen für Threads, Mutexe und Interprozesskommunikation für Linux und Windows.

Neu-Implementierung eines Tastatur-Entprellung in einer Cypress 8-Bit Controller.

Bug-Fixes und Erweiterungen für ein I2C nach USB Touch-Konverter basierend auf einen AVR32 Mikrocontroller.

Erweiterung von Qt4-X11 um Multitouch.

Bereitstellung einer ARM Toolchain, Build-Umgebung und Root-Filesystem.

Implementierung eines FUSE basierenden ReadOnly-/WriteForget-Filesystems.

Implementierung eines OS X Treibers für NRP USB-Messköpfe.

Implementierung eines PCI Express Endpoint Linux Kernel Treibers für MPC 8379. Dieser wurde anschließen refaktorisiert und in einen logischen Teil und einen HW-Spezifischen Teil aufgespalten.

Erstellung einer generischen Linux PCI Treiber Kernel-Bibliothek und -API.

Erstellung einer generischen Linux USB Treiber Kernel-Bibliothek und -API.

Implementierung eines FUSE basierenden Merge-ReadOnly-Filesystems.

Erstellung einer Intel-Crosscompiler Entwicklungsumgebung auf Basis von GCC/Linux/glibc/X11 und ucLibc, sowie eines dazugehörigen Buildsystems für den Kernel und das Root-Dateisystem und automatische Generierung einer bootbaren Hyprid-ISO Installations CD.

Implementierung des NRP USB-Messkopf Treibers unter Kernel 2.6.

Neuimplementierung der Windows NrpControl2.dll für Powermeter-Sensoren unter Linux in C++/STL.

Optimierung des Linux-Systems auf Bootzeiten, Speicherverbrauch und CPU Ressource.

Inbetriebnahme der SMB PowerPC Freescale MPC 8347 Hardware:

Weiterentwicklung des Linux für Signalgeneratoren:

Linux Bootzeit Optimierungen.

Analyse portabler GUI-Toolkits auf Performance für ein Visualisierung-System mittels einer Demo Implementierung einer Oszilloskop-Simulation Benchmarks für Qt, GTK+, Cairo, SDL und GDI.

Erstellung einer VMWare für die Linux-Cross-Entwicklungsumgebung, einschließlich grafischen Debugger aus Basis von Insight-GDB.

Implementierung eines GDB-Proxy Dienstes um per inetd-Dämon jederzeit Debuggen zu können.

GUI- und Blockschaltbild Implementierung eines Signalgenerators, auf Basis von Qt3.

Linux Server-Administrator und Implementierung eines Backup-Scripts.

Portierung eines IEEE488 Treibers von Windows nach Linux ohne den Quelltext des Treibers zu ändern.

C++14, ARM, Freescale PowerPC MPC's, I2C, PCIe, USB, IEEE488, Linux, Debugging, Cross-Toolchain, Intel x86, Hotplug, Window-Manager, NRP Messköpfe, Framebuffer Display, OneNand, NAND, FUSE, YAFFS2, SIM-Karten, Optimierung Bootzeiten/Ressourcen, C++/STL, C, Kernel-Programmierung, VMWare, GUI, Qt, VNC, FTP, HTTP, SSH, BASH, Memory-Leak, GDB, Gnu-Toolchain, Update, X11, Clearcase, Mercurial.

2011-2012 - 4tiitoo (Freiberuflich)

WeTab Tablet-PC:

Unterstützung um das bereits in den Markt eingeführte X86-Tablet zu verbessern:
uinput, Crystal-HD, Xorg-Server Maus, Multitouch, Eye-Tracker, Optimierungen

2010 - NSN/München (Freiberuflich)

Linux Board Support Packages für MPC 8360.

Entwicklung eines generischen Root-Filesystem Build-Systems.

Anpassung Linux 2.6.33 an P4080 Evaluation Board (Multicore MPC 85xx).

2008-2013 - NSN/Ulm (Freiberuflich)

Implementierung eines Treibers um den L1-Cache für Code und Daten, sowie den L2-Cache im laufenden Betrieb abzuschalten (MPC 8548 und MPC 8347).

Entwicklung eines Stack Monitoring Patches für den Linux Kernel.

Implementierung des UDPCP IP Netzwerk-Protokoll Stacks im Linux Kernel.

Analyse und Fix eines Latenz Bugs im Zusammenhang mit CFI Flash-Module im Linux Kernel.

Taltios Treiber, OCF (Open Cryptographic Framework), OpenSSL, IPSec, Linux Kernel Erweiterung

2006 - Rohde & Schwarz (Freiberuflich)

Implementierung eines Linux Kernel-Treibers um Interrupts im Userland-Programmen zu behandeln.

Linux Kernel Programmierung, C

2006 - BenQ Mobile (Freiberuflich)

Entwicklung eines Linux-Treibers für ein bistabiles Display der Firma E Ink: Umsetzung des RGB565 Farbraums auf 4 Grauwerte mittels optimierten und verbesserten Floyd-Steinberg-Dithering, mit Farbraum-Spreizung und Integer-Only Berechnungen und einen in Python implementierten Tabellen-Generator.

ARM PXA270/271, C, Python, Algorithmen, Framebuffer

2006 - Siemens ITS (Freiberuflich)

Implementierung eines Modem-Servers unter Linux in C. Steuerung eines GSM-Funkmodems, On-Demand Dial-Out, Rufnummer-Abweisung, Umschaltung zwischen PPP und RAW-Verbindungen.

GSM, Funkmodem, C, Linux, Client-Server

2005 - Rohde & Schwarz (Freiberuflich)

Bootzeit Optimierung der Smartie Serie (SM300/UP300/AM300) von mehreren Minuten auf 90 Sekunden. U.A. durch Anpassung und Optimierung des Linux-BIOS auf eine 486er Hardware und Optimierung des Linux-Systems und Kernels.

Linux-BIOS, i486, Kernel, Optimierung

2005 - Siemens Mobile (Freiberuflich)

Power-Management Linux-Treiber für DVB-H Handy auf Basis ARM PXA270/271 über I2C Bus gesteuert.

ARM PXA270/271, Linux, I2C

2002-2005 - Siemens ICN (Freiberufliche Tätigkeit im Bereich der optischen Datenübertragung)

Projektplanung und Systemdesign eines Embedded-Linux Projektes auf Power PC Basis.

Systemprogrammierung unter Embedded Power-PC Linux: Inbetriebnahme über PPC-Boot, Fehlerbehebung im PowerPC Kernel (Debugger, RTAI, IRQ-Handling), Installation, Administration, Kernel und Realtime-Linux-Programmierung.

Entwicklung eines PowerPC Embedded-Linux Root Filesystems mit RTAI Echtzeit.

Systemprogrammierung von Übertragungsprotokollen für System Update via Download, externe Kommunikation mit CAN-Bus, HDLC und serielle Schnittstelle zu JDS Uniface Wave Lenght Blocker bzw. PQM, sowie Siemens ICN interne Protokolle.

Programmierung von Bibliotheken für pthread-Handling, Thread zu Thread Kommunikation, Semaphore, Timer-Events, Memory Management, Post-Mortem Debugging und Exception Handling.

Gerätetreiber unter Linux für Intel 82527 CAN Bus Interface.

Portierung eines HDLC PowerPC 8260 Linux Treibers nach PowerQuick MPC 860.

Programmierung einer Reset-festen PRAM Disk Treibers.

Implementierung eines Nachrichtendienstes auf Multicast IP Basis und eines CLI (Command Line Interfaces) auf Socket Basis und LifeCycle Management Protokollierung im EEPROM.

PowerPC 860 Linux, TCP/IP, CAN-Bus, SPI-Interface, HDLC, JDS WBA, JDS PQM, C, C++, BASH, PPC 860 Assembler, GDB-Server, ClearCase Versionsverwaltung

2003 - Ausbildung Laserschutz Beauftragte

Freiwillige Ausbildung zur Laserschutzbeautragten und Anwendung von Lasern in der Medizin.

2002 - Reilhofer KG (Freiberuflich)

Benchmarking und Hardwareauswahl (MOPS 686+) für eine Analoge Datenerfassung.

Implementierung einer Festkomma FFT (Fast Fourier Transformation).

Programmierung der PC104+ DAS16JR Analog/Digital-Konverter.

Anbindung des Embedded Linux Systems an Windows über TCP/IP-Socket.

Implementierung eines Mini Linux für den MOPS 686+.

2000-2001 - GEWOFAG München / Fa. Naeder GmbH (Freiberuflich)

Installation eines Thin-Client Netzwerkes auf Basis von Windows 95, die von zentralen Linux-Server verwaltet werden.

Linux Server Administration, Windows, TCP/IP, Netzwerk, HA

1997-2002 - Siemens SVT (Freiberufliche Tätigkeit in der Straßen-Verkehrstechnik)

Gerätetreiber unter Linux für eine Dateisystem-Konsistente SRAM-Disk.

Programmier-Rahmen für RT-Linux und RTAI Echtzeitentwicklung erstellt.

Projektplanung und Systemdesign eines Embedded-Linux Projektes.

Embedded Linux: Generierung, Kernel-Patches, Installation, Administration, Kernel und Realtime-Linux-Programmierung.

Entwicklung einer Embedded-Linux Distribution, glibc, mit Internet-Diensten, RT-Linux und RTAI Echtzeit, SSH, SSL, Z-Modem, WLAN und Debugging-Server, in 4MB Flash Speicher.

Entwicklung einer Cross-Entwicklungssystem mit HTML-Hilfesystem für Linux IA32 unter Windows, einschließlich multithreaded-tauglichen Crossdebuggern mit GUI für Embedded Linux IA32 als Target und Windows als Host.

Gerätetreiber für Panels, LCD-Displays, serielle Schnittstellen (16450, 16550, 16650 und MC68332) unter pSOS.

Systemprogrammierung von Übertragungsprotokollen für Urlader, interne und externe Kommunikation (direkt und über diverse Modems), sowie Kopplung an ältere Übertragungssysteme aus der Verkehrstechnik unter pSOS, Linux und Windows-DLL.

Applikationsentwicklung eines Handbediengerätes zur Bedienung eines Kreuzung-Steuerungs Computers.

Keycode-Generator mit Windows-GUI für ein Kreuzungssteuerungsgerät um Tripel-DES verschlüsselte Freischaltcodes zu erzeugen, entwickelt in Borland Delphi und C++.

Hardwareinstallation und -konfiguration sowie Wartung von PCs, IA32 und MC68xxx Embedded Systemen, sowie Erstellung von BSP (Board Support Packages) für pSOS+.

Netzwerke: Installation, Konfiguration und Betrieb mit TCP/IP, Windows SMB und Novell IPX, File-, Backup- und Modem-Server unter Linux, WAN, Modems und GSM.

Linux, Windows, pSOS, TCP/IP, WLAN, Windows SMB, Novell IPX, Modem, GSM-Modems, C, C++, Delphi, BASH, Assembler

1993-1996 - Siemens SVT und Landesamt für Umweltschutz DAT GmbH in München (Festanstellung)

Entwicklung eines BASH-Scripts zum Hochlauf und zur Überwachung der Prozesse in einer Verkehrssteuerzentrale.

Generator für Makefiles mit automatischer Auflösung der Quelltextabhängigkeiten.

Gerätetreiber für dynamische Zeitanpassung aus unterschiedlichen Zeitquellen.

ISA Bus Echtzeit-Hardwaretreiber für die Gerätemodem-Schnittstelle (NAP-/SIP-Baugruppe) in C++ unter LynxOS Realtime-Unix.

Erstellung von Testtreibern zur Messung der Echtzeiteigenschaften von verschiedenen Realtime-Systemen (pSOS, VxWorks, OS9, QNX, LynxOS, RTOS).

Spooler für System V IPC Message-Queues.

Anbindung spezieller asynchroner Siemens-Schnittstellen für einen Visualisierung-Prozeß.

Telegrammkonverter zwischen der Verkehrssteuerzentrale und den herstellerübergreifenden STORM-Telegramme.

Emulation eines Verkehrssteuerungsrechners für die 5-Bit-Telexschnittstelle.

Jahresberichtsgenerator "Umwelterfassung Kerntechnischer Anlagen" für das Bayerische Landesamt für Umweltschutz (C, Wordperfect und Quattro Pro Makros, Basic).

Personalverwaltung realisiert in Borland Quattro Pro unter DOS.

Hardwareinstallation und -konfiguration sowie Wartung von PCs unter LynxOS.

OOA, Planung, Erstellung von Programmier- und Projektrichtlinien, System-Design, Ethernet, TCP/IP und Novell IPX, WAN, Modem-Server, LynxOS, UNIX, DOS, C, C++, BASH, Assembler

1987-1992 - MaxDat GmbH in Düsseldorf/Ratingen (Festanstellung)

Entwicklung und Wartung eines Mailboxsystems.

Interrupt gesteuerter RS232-Treiber für Turbopascal unter DOS.

Telex und Fax-Server für die Mailbox, der automatisch die Nachrichten über den günstigsten Versendepunkt weiterleitet.

Implementierung des asynchronen Kermit Übertragungsprotokoll für 7- und 8-Bit Übertragungsstrecken für DOS und RSX-11M/+ mit Super-Kermit Erweiterung (sliding windows, large packages).

Installation eines Novell 3.11 Netzwerks.

Verschiedene Außendienst-Verwaltungssysteme unter DOS.

Programmierung eines Virenkiller für 1701 Linkvirus in C unter MS-DOS.

Hardwareinstallation und -konfiguration sowie Wartung einer PDP-11 73 und 83.

Telefon-Hotline, X.25, X.29 und LAN, Modems und Datenfernübertragung, MS DOS, PDP-11, X.25, X.29, LAN, Novell, C, Assembler

1987 - Fachbuchautorin und freie Fachjournalistin beim Vogel Verlag

Autorin von CHIP Special 68000er Prozessorhandbuch.

Mitautorin von CHIP Special Atari ST und CHIP Special Atari XL.

Telefon-Hotline

1986-1987 - Freie technische Beraterin und Entwicklerin beim Bayerischen Rundfunk in München

Entwicklung eines multimedialen Spielshow-Programms für das Fernsehquiz Supergrips.

Amiga OS, Basic, Assembler 68xxx

1985-1986 - Freiberufliche Entwicklerin

Hardwarenahe Entwicklungen und Prozeßsteuerungen auf 8-Bit-Computern.

Entwicklung diverser Computerspiele.

Implementierung eines Hausüberwachungssystems.

Basic, Assembler, Commodore C64, PIO-Programmierung

1984-1985 - Entwicklerin bei Software-Express in Düsseldorf

Datenfernübertragung: Entwicklung von Protokoll- und Terminalprogramme.

Entwicklung einer Mailbox-Software.

Basic, Assembler (6502), IBM-PC, C-64, Datenfernübertragung

1979-1984 - Hobby Computer

1979 - Besuch des freiwilligen Informatik-Unterrichts, mit Abschluss-Note "sehr gut".

Seitdem war Computer mein Hobby, welches ich durch kleinere Aufträge, Veröffentlichen von Programmen in Computer-Zeitschriften und Entwicklung von Computerspielen finanzierte.

Die Computer wechselten im Laufe der Zeit (KIM-1, Pet-2001, VC-20, C64, Atari-ST, Casio PB1000, CP/M und MSDOS-PC), die Begeisterung nicht!

Letzte Aktualisierung: 29.4.2019