-English Page

Stefani Seibold

Stefani[a]Seibold.net

Johann-Karg-Str. 4a - 85540 Haar - +49 89 9294096


Persönliche Daten


Name:

Seibold

Vorname:

Stefani Michaela Andrea

Jahrgang:

1964

Staatsangehörigkeit:

Deutsch

Hobbys:

Computer, Linux, Technik und Kochen


Qualifikation


Projekterfahrung

Embedded Entwicklungen
Programmierung von Gerätetreiber
Echtzeit-Anwendungen
Multithreading-Applikationen
Script-Programmierung
System-Design
Reviews
Hardwarenahe Software-Entwicklungen
Re-Engineering
Performance-Tuning
Fehlerlokalisation und -behebung in unbekannten Code
Freiberufliche Fach-Journalistin und -Buchautorin
Hotline- und Kundenbetreuung

Aktuelle Kenntnisse

C, C++ inkl. STL
Assembler (Intel, Power PC und ARM)
Embedded-Systeme und -Programmierung
Multithreaded- und RealTime-Programmierung
Hardware Treiberentwicklung
Scriptsprachen: bash, sed und awk
Versionsverwaltung: GIT und ClearCase
Betriebssystem: Linux (insbesondere Kernel-Programmierung), Unix und Windows
Debugger: GDB und Lauterbach
Netzwerke: TCP/IP und Ethernet, WLAN, HDLC, Modems (POT, GSM, GPRS, HSCSD, UMTS)
Bus System: PCI, PCIe, USB, CAN, I2C und SPI
Internet-Dienste (HTTP, FTP, CGI, POP3, DNS, DHCP)
PC- und Embedded Hardware
Basiswissen in Java, GTK, Qt3, Qt4, CUDA, HTML und Java-Script

Bevorzugte Projekte

Linux, C/C++ und Assembler
Intel-, PowerPC- und ARM-Embeddedsysteme
Echtzeit-Anwendungen
Kommunikations-Protokolle und -Schnittstellen
Hardwarenahe Programmierung und Tools
Client-Server Applikationen

Ältere Kenntnisse

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

Verschiedenes

Englisch und technisches Englisch in Wort und Schrift, Installation von Hardware, grundlegende Elektronikkenntnisse, Administrations Know-How, redaktionelle Tätigkeiten

Private Projekte

Sharp Zaurus C760 (Linux Mini Notebook mit ARM CPU), Entwicklung für die Linux-Community (SMCC IRDA, SUPER-IO, PCCard), Embedded-Linux Patches für konfigurierbaren Swapfile- und Kernmeldungen-Support, digitaler Videorecorder auf PC Basis (Linux VDR-Project), Restaurierung und Wiederinbetriebnahme einer CRAY Y-EMP4 aus dem LRZ München


Berufliche Ziele


Freiberufliche Tätigkeit und evtl. feste Mitarbeit

Position als System-Architektin oder Entwicklerin in einem Projekt-Team oder als Projekt-Leiterin, Auswahl von Technologien (Software, Betriebssysteme, Hardware), Linux Kernel Hacker


Diverses


Antwort

Bitte kontaktieren sie mich per EMail: Stefani[a]Seibold.net

Arbeitsplatz

Im Großraum München bzw. Tele-Arbeitsplatz, u.U. im sonnigen Ausland

Referenzen und Zeugnisse

Zeugnisse und Referenzen werden auf Wunsch vorgelegt.

Stundensatz und Gehaltsvorstellungen

Nach Tätigkeit und Absprache


Beruflicher Werdegang / Projekterfahrungen


Linux Kernel Patches

2009 - 2010

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-Macros, um beliebige Datentype in einen FIFO zu verwalten (vorgesehen zur Aufnahme 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 Prozess/Thread Stacks auszugeben und diese im Eintrag /proc/<pid>/maps bzw. smaps zu markieren.

GIT, Contribute Linux Kernel Patches


NSN/München

Freiberuflich

2010

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).


NSN/Ulm

Freiberuflich

2008 - 2010

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 Netzwerk-Protokoll Stacks im Linux Kernel.

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

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


Rohde & Schwarz

Freiberufliche Tätigkeit im Bereich Signalgeneratoren

2005 - 2010

Implementierung eines grafischen Webbrowser-Updates auf Basis von JavaScript.

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

Implementierung eines PCI Express Endpoint Linux Kernel Treibers für MPC 8379.

Erstellung einer generischen PCI Treiber Kernel-API.

Erstellung einer generischen USB Treiber Kernel-API.

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 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 Resource.

Inbetriebnahme der SMB PowerPC Freescale MPC 8347 Hardware:

  • Erstellung Board Support Package für PowerPC Harwdware und Anpassung Linux Kernel 2.6.20 und 2.6.27 und 2.6.33.
  • Erstellung einer kompletten PPC Cross-Compiler Umgebung einschließlich X11/Qt/Windowmanger/SSH/VNC im Web-Browser/FTP.
  • Treiber erstellt bzw. angepasst für:
    Display (MMU getriggerter Update), OneNand-Flash (Out-Of-Band optimiert), USB-Keyboard, USB-Drehrad, SIM-Karte, USB-Gadget (Bug Fixes), IEEE488 (Anpassung an Big-Endian), Netzwerk (MII 800us Latenz ausgebaut), YAFFS2 (OneNand Support eingebaut), I2C Echtzeituhr, Power-Button und PCI.
  • Cache-Coherency Bug in der PowerPC CPU lokalisiert und gefixt.
  • Fix eines „spekulativ read“ Bugs.
  • Buildsystems für Kernel und das Root-Dateisystem.
  • Diagnose System für die Hardware Inbetriebnahme.

Weiterentwicklung des Linux für Signalgeneratoren:

  • Implementierung eines intelligentes und komfortables Update-Verfahren mit Hotplug USB-Stick.
  • Implementierung eines komfortablen Maintainance bzw. Recovery-System:
    Passwort und RSA Public/Private Key Authentifizierung
    Wiederherstellen in den Auslieferungszustand
    Backup
    Flashspeicher säubern
  • Erweiterungen und Verbesserungen im sWM Window-Manager:
    Automatisches Mouse-Hidding
    Wählbares Hintergrundbild
    Fenster-Resizing an allen Seiten des Fensters
    Display Locking
    Input Device Locking
  • Implementierung eines optimierten Multi-Threading Heap-Allocators.
  • Optimierung des Einstellzeiten der Signalgeneratoren von z.T. 3 ms auf knapp 1 ms.
  • Umstellung von XFree86 auf Xorg.
  • Optimierung der Windows nach Linux Wrapper-Bibliotheken.
  • Netzwerk-Managment auf Basis von DHCP, ZeroConf, Multicast-DNS und NetBios.
  • Implementierung eines micro nmbd Dienstes für CIFS/SMB:
    Anmeldung an einen Master-Browser
    IP Adresse per netbios melden
  • Implementierung eines micro Bluetooth Daemons:
    Services per SDP bekannt geben
    Authentifzierung
    Bluetooth-Dienste On-Demand starten

Linux Bootzeit Optimierungen.

Analyse portabler GUI-Toolkits auf Performance für ein Visualisierungs-System. Implentierung eines Oszilloskop-Simulations 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 -Daemon 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.

PowerPC MPC 8347 und MPC 8379, I2C, PCIe, USB, IEEE488, Linux, Debugging, Cross-Toolchain, Intel x86, Hotplug, Windowmanager, NRP Messköpfe, Framebuffer Display, OneNand, YAFFS2, SIM-Karten, Optimierung Bootzeiten/Resourcen, C++/STL, C, Kernel-Programmierung, VMWare, GUI, Qt, VNC, FTP, HTTP, SSH, BASH, GDB, Gnu-Toolchain, Update, X11, Clearcase.


Rohde & Schwarz

Freiberuflich

2006

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

Linux Kernel Programmierung, C


BenQ Mobile

Freiberuflich

2006

Entwicklung eines Linux-Treibers für ein bistabiles Display der Firma E Ink: Umsetztung 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, Algorithmik, Framebuffer


Siemens ICN

Freiberuflich

2006

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


Rohde & Schwarz

Freiberuflich

2005

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

Linux-Bios, i486, Kernel, Optimierung


Siemens Mobile

Freiberuflich

2005

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

ARM PXA270/271, Linux, I2C


Siemens ICN

Freiberufliche Tätigkeit im Bereich der optischen Datenübertragung

2002 - 2005

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 Managment, 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 Managment 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


Ausbildung Laserschutz Beauftragte

2003

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


Reilhofer KG

Freiberuflich

2002

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

Implementierung einer Festkomma FFT (Fast Fourier Transformation).

Programmierungung 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+.


GEWOFAG München
Fa. Naeder GmbH

Freiberuflich

2000 - 2001

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


Siemens SVT

Freiberufliche Tätigkeit in der Straßen-Verkehrstechnik

1997 - 2002

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, WaveLAN 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 Kreuzungs-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, WaveLAN, Windows SMB, Novell IPX, Modem, GSM-Modems, C, C++, Delphi, BASH, Assembler


Siemens SVT und
Landesamt für Umweltschutz
DAT GmbH in München

1993 - 1996

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 Visualisierungs-Prozess.

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.

Projektverwaltung: OOA, Planung, Erstellung von Programmier- und Projektrichtlinien, System-Design

Netzwerke: Ethernet, TCP/IP und Novell IPX, WAN, Modem-Server

LynxOS, UNIX, DOS, C, C++, BASH, Assembler


MaxDat GmbH in Düsseldorf/Ratingen

1987 - 1992

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 packets).

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

Netzwerke: X.25, X.29 und LAN, Modems und Datenfernübertragung

MS DOS, PDP-11, X.25, X.29, LAN, Novell, C, Assembler


Fachbuchautorin und freie Fachjournalistin beim Vogel Verlag

1987

Autorin von CHIP Special 68000er Prozessorhandbuch.

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

Telefon-Hotline


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

1986 - 1987

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

Amiga OS, Basic, Assembler 68xxx


Freiberufliche Entwicklerin

1985 - 1986

Hardwarenahe Entwicklungen und Prozesssteuerungen auf 8-Bit-Computern.

Entwicklung diverser Computerspiele.

Implementierung eines Hausüberwachungssystems.

Basic, Assembler, C64, PIO-Programmierung


Entwicklerin bei Software-Express in Düsseldorf

1984 - 1985

Datenfernübertragung: Entwicklung von Protokoll- und Terminalprogramme.

Entwicklung einer Mailbox-Software.

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


Hobby Computer

1979 - 1984

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: 4.4.2010