-German Page

Stefani Seibold

Stefani[a]Seibold.net

Johann-Karg-Str. 4a - 85540 Haar/Germany - +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

Embedded developments
Programming of device drivers
Realtime applications
Multithreading applications
Script programming
System design
Code reviews
Hardware level software development
Re-Engineering
Performance tuning
Error localization and fixing in unknown code
Freelance technincal journalist and book authoress
Hotline and customer service

Current skills

C, C++ with STL
Assembler (Intel, PowerPC and ARM)
Embedded systems programming
Multithreaded and realtime programming
Device driver development
Scripting language: bash, sed and awk
Version control system: GIT and ClearCase
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)
Busses: PCI, PCIe, USB, CAN, I2C and SPI
Internet services (HTTP, FTP, CGI, POP3, DNS, DHCP)
PC and embedded hardware
Basic knowledge in Java, GTK, Qt3, Qt4, CUDA, HTML and Javascript

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

Private projects

Sharp Zaurus C760 (Linux mini notebook with ARM CPU), development for the Linux Community (SMCC IRDA, SUPER IO, PCCard), embedded Linux patches for configurable swapfile and message support, digital video recorder on PC basis (Linux VDR Project), restoration and restarting operation of a CRAY Y-EMP4 from the LRZ Munich


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 - 2010

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.

GIT, Contribute Linux kernel patches


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 - 2010

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 - 2010

Implementation of a graphical webbrowser update in Javascript.

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

Implementation PCI Express endpoint kernel driver for MPC 8379.

Creating a generic PCI driver kernel API.

Creation of a generic USB driver kernel API.

Creating a Intel crosscompiler 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 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 Harwdware 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.

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


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