German Page

Stefani Seibold

Stefani[a]Seibold.net

Klothildenstr. 9 81827 Munich +49 89 9294096


Personal data


Name:

Seibold

First name:

Stefani Michaela Andrea

Age group:

1964

Nationality:

German

Hobbies:

Computer, Linux, engineering and cooking


Qualifications


Project experience

Linux Kernel development
Embedded developments
Programming of device drivers
Real time applications
Multi threading applications
Script programming
System design
Code reviews
Hardware level software development
Re-Engineering
Performance tuning
Error localization and fixing in unknown code
Freelance technnical journalist and book authoress
Hotline and customer service

Current skills

C, C++ with STL
Assembler (Intel, PowerPC and ARM)
Embedded systems programming
Multi threaded and real time programming
Device driver development
Scripting language: bash, sed and awk
Version control system: GIT, Mercurial, ClearCase, RTC
Operating systems: Linux (in particular kernel programming), Unix and Windows
Debuggers: GDB and Lauterbach
Networks: TCP/IP and Ethernet, WLAN, HDLC, modem (POT, GSM, GPRS, HSCSD, UMTS)
Bus systems: PCI, PCIe, USB, CAN, I2C and SPI
Internet services (HTTP, FTP, CGI, FCGI, POP3, DNS, DHCP)
PC and embedded hardware
Basic knowledge in Java, GTK, Qt3, Qt4, CUDA, HTML and Java-Script

Preferred projects

Linux, C/C++ and assembler
Intel, PowerPC and ARM embedded systems
Realtime applications
Communication protocols and interfaces
Device driver development
Client-server applications

Older skills

QNX, VxWorks, LynxOS, PSOS+, Pascal and Delphi, Forth, Basic, X.25 (X.29), X.400 email, VAX, PDP-11, Cray, 8 bit computer (6502 and Z80), 68000er assembler, MS-DOS, CP/M, telex, communication protocols (Kermit, X-, Y- and Z-Modem, ISO 7 layer model), Microsoft SourceSafe and CVS, Python

Various

English and technical English, installation of hardware, fundamental electronics knowledge, administration know-how, editorial activities


Professional goals


Freelance or permanent employee

Position as a system designer and/or developer in a project team or as a project leader, selection of technologies (software, operating systems, hardware), Linux kernel hacker


Various


Answer

Please contact me by email: Stefani[a]Seibold.net

Working places

In the region of Munich and/or via internet home work, maybe in a sunny foreign country.

References and certifications

Certifications and references are present when desired.

Payment or hourly rate

By arrangement.


Professional career and project experiences


Linux Kernel Patches

2009 - 2014

VDSO time functions for x86 32 bit (merged in kernel 3.15)

USB Skeleton fixes.

Bug fix CRAMFS

Analysing and fixing a latency bug releated to the CFI flash memory.

Analysing a latency bug in the PHY code (Busy Waiting).

Improved implementation of the kernel FIFO API kfifo (merged in the kernel 2.6.32).

Extended implementation of the kernel FIFO API on basis of C-macros, in order to administer arbitrary data type in FIFO (intended for merge in the 2.6.34).

Documentation of the proc file system in the kernel source tree under documentation/filesystems/proc.txt updates.

Fix /proc/<pid>/stat for the correct start address of a process/thread stack and to mark this in the entry in /proc/<pid>/maps and/or smaps.

Stack Usage Monitoring Patch (removed from vanilla kernel).

GIT, Linux kernel patches


4tiitoo

Freelance

2011 - 2012

WeTab Tablet PC:

Support to improving the already shipped x86 based tablet:

  • Increase performance by 40 percent due reimplementation of polling functions.

  • Increase the battery life more than 1.5 hours.

  • Update the Kernel due reverse engineering of close source drivers.

  • Increase performance, reliability and less memory foot print for the Crystal HD video accelerator due the reimplementation of the Gstreamer driver.

  • uinput driver the an eye tracker.

  • Xorg Server Cursor Hide Patch: Show the cursor when moving the mouse, but hide the cursor after a given time of inactivity. Touch the display will immediately hide the cursor.

  • Patch against the multi touch driver: a long touch will reported as a right mouse button to the input system.


uinput, Crystal HD, Xorg Server Mouse, multi touch, eye tracker, optimizations


NSN/Munich

Freelance

2010

Linux board support Packages for MPC 8360.

Development a generic build system for root file system.

Patch Linux 2.6.33 for a P4080 evaluation board (multi-core MPC 85xx).


NSN/Ulm

Freelance

2008 - 2013

Implementation of a driver for disabling the L1-Cache for code and data, as well as the L2-Cache during operation (MPC 8548 and MPC 8347).

Development of a stack monitoring patch for Linux the kernel.

Implementation of the UDPCP network kernel protocol stack for Linux.

Analysing and fixing a latency bug releated to the CFI flash memory.

Taltios driver, OCF (open Cryptographic Framework), OpenSSL, IPSec, Linux kernel extension


Rohde & Schwarz

Freelance activity signal generators

2005 - 2014

Implementation of a online memory leak debugger which provides the following features:

  • Works out of the box without recompilation of the sources.

  • Client-server application which give the possibility to do a trace on a system which high memory pressure.

  • Interactive CLI which allows the collection of the allocation data, the scan and the analysis at any time during and after the program execution.

  • Scans all writeable memory segments of the program for the value of the recorded pointer, it is a high evidence for a memory leak if the pointer is not longer present in the memory.

  • Statistical analysis of the allocations.

  • Allocators would identified by the stack backtrace and not only by the line in the source code.


Supply a real time double precision floating point library, because the GLIBC pow() function has a execution time jitter by a factor 12500 depending on the input arguments.


Revamp the PCIe endpoint driver to allow direct PCIe transfers from one endpoint to an other.


Add 4 bit ECC support for the Micron MT29F chip to the linux NAND driver.


Provide a board support packages for a P2020 dual core freescale based system.


Implementation of a FCGI Proxy, which terminates the FCGI server after a given time of inactivity.


Add FCGI support to the busybox HTTPD server.


Implementation of a IEC 488 Linux driver for the NI TNT500x chip. The driver is split in a logical IEC488 interface drivers and a hardware driver. The HW driver will do a register call to the logical part, which provides all IEC488 functions. This design allows an easy implementation for other HW, like FPGA or USB.


Reimplementation of a Linux USB TMC gadget driver.


Reimplementation optimized Windows and Linux C++ base classes for threads, mutexes and IPC.


Revamp the keyboard debouncing for a cypress 8 bit controller.


Bug fixes and improvements fpr an I2C to USB touch converter, which was based on a AVR32 micro controller.


Add multi touch support to Qt4 X11.


Provide a ARM Toolchain, Build Environment and root FS.


Implementation of a FUSE base ReadOnly-/WriteForget FS.


Implementation of an OS X of driver for NRP USB measuring sensors.

Implementation PCI Express endpoint kernel driver for MPC 8379. This was later split in a logical and HW specific layer.

Creating a generic Linux PCI driver kernel library and API.

Creation of a generic USB driver kernel library and API.

Creating a Intel cross compiler development environment on basis of GCC/Linux/glibc/X11 and ucLibc, as well as a build system for the kernel and the root file system and automatic generation of a bootable hybrid ISO installation CD.

Implementation of the NRP USB measuring sensor driver under Linux 2.6.

New implementation of the Windows NrpControl2.dll for power meter sensors under Linux in C++/STL.

Optimization of the Linux system startup, memory consumption and CCU resource.

Installation of the SMB PowerPC Freescale MPC 8347 hardware:

  • Creation of a board support package for PowerPC Hardware and adjustment Linux kernel 2.6.20 and 2.6.27 and 2.6.33.

  • Production of a complete PPC CROSS compiler environment including X11/Qt/Windowmanger/SSH/VNC/FTP.

  • Driver developed and/or adapted for:
    Display (MMU triggered updates), OneNand Flash (Out Of Band optimized), USB Keyboard, USB Knop, SIM card, USB Gadget (bug fixed), IEEE488 (adjustment to Big Endian), network (MII 800us latency), YAFFS2 (OneNand support), I2C realtime clock, power button and PCI.

  • Cache coherency bug in the PowerPC CPU located and fixed.

  • Fixed „speculative read“ bug.

  • Build system for kernel and the root file system.

  • Startup optimization.

Advancement Linux for signal generators:

  • Implementation intelligent and comfortable update procedure with hotpluging USB memory stick.

  • Implementation of a maintainance and recovery system:
    Password and RSA Public/private keys authentication
    Restore into the factory status
    Backup
    Sanatize flash memory

  • Extensions and improvements in sWM the Window manager:
    Automatic mouse hidding
    Selectable background picture
    Window Resizing at all sides of the window
    Display locking
    Input device locking

  • Implementation of an optimized multi threading heap allocator.

  • Optimization response times of the signal generators of partially 3 ms to 1 ms.

  • Switch from XFree86 to Xorg.

  • Optimization the Windows to Linux API wrapper libraries.

  • Network Managment on basis of DHCP, ZeroConf, multicast DNS and NetBios.

  • Implementation a micro nmbd service for CIFS/SMB:
    Registration to a master browser
    Return the IP address by netbios request

  • Implementation a micro bluetooth of demon:
    Announce services by SDP
    Authentification
    Start bluetooth services on demand

Linux boot time optimizations.

Analysis of portable GUI tool kits for performance in a visualization system. Implentation of an oscilloscope simulation benchmark for Qt, GTK+, Cairo, SDL and GDI.

Production of a VMWare for the Linux cross development environment, including a graphical debugger (Insight GDB).

Implementation of a GDB proxy service for inetd - to enable any time debugging.

GUI and block diagram implementation of a signal generator, on basis of Qt3.

Linux server administrator and implementation of a backup script.

Port of a IEEE488 driver from Windows to Linux without modify the source text of the driver.

ARM, Freescale PowerPC MPC, I2C, PCIe, USB, IEEE488, Linux, Debugging, Cross-Toolchain, Intel x86, Hotplug, Windowmanager, NRP of measuring sensors, framebuffer display, OneNand, NAND, FUSE, YAFFS2, SIM maps, optimization of boot time and resources, C++/STL, C, kernel, VMWare, GUI, Qt, VNC, ftp, HTTP, SSH, BASH, GDB, Gnu Toolchain, update, X11, Clearcase, Mercurial.


Rohde & Schwarz

Freelance

2006

Implementation of a Linux kernel driver to handle interrupts in user land programs.

Linux kernel programming, C


BenQ mobile

Freelance

2006

Development of a Linux driver for a bistable display manufactured by the E Ink corporation: transform the RGB565 color space into 4 grey values by an optimized and improved Floyd Steinberg Dithering, including color space spreading and integer only calculations and a table generator implemented in python.

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


Siemens ICN

Freelance

2006

Implementation of a modem server under Linux in C. Controlling of a GSM radio modem with on demand dial out, incoming call rejection and alternation between PPP and RAW connections.

GSM, radio modem, C, Linux, Client Server


Rohde & Schwarz

Freelance

2005

Boot time optimization of the Smartie series (SM300/UP300/AM300) from several minutes to 90 seconds. Among other things by adjustment and optimization of the Linux Bios on a 486er hardware and optimization of the Linux kernel and system environment.

Linux Bios, i486, kernel, optimization


Siemens mobile

Freelance

2005

Power Managment Linux driver for DVB-H mobile phone on basis ARM PXA270/271 using the I2C bus.

ARM PXA270/271, Linux, I2C


Siemens ICN

Freelance optical networks

2002 - 2005

Project planning and system design for a embedded Linux on PowerPC basis.

Systems programming under embedded PowerPC Linux: optimize boot time, elimination of errors in the PowerPC kernel (debugger, RTAI, IRQ handling), installation, administration, kernel- and realtime- programming.

Development of a PowerPC embedded Linux root of file system with RTAI realtime support.

Systems programming of transmission protocols for software update via download, external communication with the CAN bus, HDLC and serial interface to JDS Uniface Wave Lenght blocker and/or PQM, as well as Siemens ICN internal protocols.

Programming of libraries for pthread handling, thread to thread communication, semaphore, timer events, memory managment, post mortem debugging and exception handling.

Device driver under Linux for Intel 82527 CAN bus interface.

Port of a HDLC PowerPC 8260 Linux driver to PowerQuick MPC 860.

Programming a reset save PRAM disk driver.

Implementation of a message service for multicast IP.

Implementation of a socket CLI (command line interface).

Implementation of a life cycle managment logging in the EEPROM.

PowerPC 860 Linux, TCP/IP, CAN bus, SPI interface, HDLC, JDS WBA, JDS PQM, C, C++, BASH, MPC 860 assembler, GDB server, ClearCase version administration


Training laser safety

2003

Voluntary education as Laserschutzbeautragten (Laser safety officier) and use of lasers in the clinical medicine.


Reilhofer KG

Freelance

2002

Benchmarking and hardware selection (MOPS 686+) for an analog data acquisition.

Implementation of a fixed point FFT (fast fourier transformation).

Programming the PC104+ DAS16JR analog/digital converter.

Connection of the embedded Linux system to Windows over a TCP/IP Socket.

Implementation of a mini Linux for the MOPS 686+.


GEWOFAG Munich
Naeder GmbH

Freelance

2000 - 2001

Installation of windows 95 thin clients of network, which is administered by a central Linux server.

Linux server administration, Windows, TCP/IP, network, HA


Siemens SVT

Freelance activity Straßen-Verkehrstechnik (traffic engineering)

1997 - 2002

Linux device driver for a filesystem consistent SRAM disk.

Programming framework for RT-Linux and RTAI realtime development created.

Project planning and system design embedded Linux of a project.

Embedded Linux: Creation, kernel Patches, installation, administration, kernel and realtime Linux programming.

Development of a embedded Linux distribution including glibc, internet services, RT-Linux and RTAI realtime, SSH, SSL, zmodem, WaveLAN and debugging server (in 4MB Flash memory).

Creation of a cross development system with HTML assistance for Linux under Windows, including multithreaded suited cross debuggers with GUI for embedded Linux IA32 as target and Windows as host.

Device driver for panels, LCDisplays, serial interfaces (16450, 16550, 16650 and MC68332) under pSOS.

Systems programming of communications protocols for bootstarp, internal and external communication (direct and over various modems), as well as coupling to older transmission systems from the traffic engineering under pSOS, Linux and Windows.

Application development of a hand held device for controling a cross control device.

Windows GUI Key code generator for a cross control device using Tripel DES for creation activation codes, developed Delphi and C++.

Hardware installation and configuration as well as maintenance of PCs, IA32 and MC68xxx embedded systems, as well as production of BSP (board support Packages) for pSOS+.

Networks: Installation, configuration and operations with TCP/IP, Windows SMB and Novell IPX, file, backup and modem server under Linux, WAN, modem and GSM.

Linux, Windows, pSOS, TCP/IP, WaveLAN, Windows SMB, Novell IPX, modem, GSM modem, C, C++, Delphi, BASH, assembler


Siemens SVT and
Landesamt für Umweltschutz
DAT GmbH in Munich

1993 - 1996

Development a BASH Scripts to run and monitor the processes in a traffic control center.

Generator for Makefiles with automatic dissolution of source text dependence.

Device driver for dynamic time adjustment from different time sources.

ISA bus real time hardware driver for the modem interface (NAP /SIP Hardware) in C++ under LynxOS real-time Unix.

Production from test drivers for measurement of the real time characteristics of different real-time systems (pSOS, VxWorks, OS9, QNX, LynxOS, RTOS).

Spooler for a system V IPC Message queue.

Connection of special asynchronous Siemens interfaces for a visualization process.

Telegram converter between traffic control center and manufacturer independent STORM messages.

Emulation of a traffic control computer on a 5 bit telex interface.

Annual report generator “environmental coverage of nuclear installations” for the Bavarian office for environmental protection (C, Wordperfect and Quattro pro macros, Basic).

Employees administration realizes with Quattro pro under DOS.

Hardware installation and - configuration as well as maintenance of PCs under LynxOS.

Project management: OOA, planning, creation of programming and project guidelines, system design

Networks: Ethernet, TCP/IP and Novell IPX, WAN, modem server

LynxOS, UNIX, DOS, C, C++, BASH, assembler


MaxDat GmbH in Düsseldorf/Ratingen

1987 - 1992

Development and maintenance of a mailbox system.

Interrupt controlled rs232 device driver for turbo pascal under DOS.

Telex and fax server for the mailbox, which passes the message automatically over the cheapest dispatching point.

Implementation of the asynchronous Kermit transmission protocol for 7 and 8-bits transmission developed under DOS and RSX-11M/+ with super Kermit extension (sliding windows, large packets).

Installation of a Novell 3.11.

Varios field service management application under DOS.

Programming a virus killers for 1701 link virus in C under MS-DOS.

Hardware installation and configuration as well as maintenance of a PDP-11 73 and 83.

Telephone hotline

Networks: X.25, X.29 and LAN, modem and long distance data transmission

Ms DOS, PDP-11, X.25, X.29, LAN, Novell, C, assembler


Technical book authoress and free journalist

1987

Authoress of CHIP Special 68000er processor manual.

Co-author of CHIP Special Atari ST and CHIP Special Atari XL.

Telephone hotline


Free technical consultant for the Bavarian broadcast in Munich

1986 - 1987

Development of a multimedia game show application for the TV quiz "Supergrips".

Amiga OS, Basic, assembler 68xxx


Freelancer

1985 - 1986

Hardware level software developments and process controls on 8-bit computers.

Development of various computer games.

Implementation of a in house monitor.

Basic, assembler, C64, PIO programming


Software Express in Düsseldorf

1984 - 1985

Long distance data transmission: Development of protocols and terminal programs.

Development of a mailbox software.

Basic, assembler (6502), IBM-PC, C64, long distance data transmission


Hobby computer

1979 - 1984

1979 - Visit of voluntary computer science workgroup, with a final grade of “very good”.

Since then computer was my hobby, which I financed by smaller orders, publishing programs in computer journals and development of computer games.

The computers did change during that time (KIM 1, Pet 2001, VIC 20, C64, Atari ST, Casio PB1000, CP/M and MSDOS PC), but not the enthusiasm!


Last update: 5-20-2014