SUMMARY OF EXPERIENCE
* Operating systems architecture:
Solaris 2.5.1 - current (Intel and UltraSPARC): DDI/DKI, IO/DMA, VM, Low Core, Interrupt handling, Kernel Threads, Schedulers, Timers, SCSA, STREAMS, TCP/IP, Nexus framework, Power management, Hot Plugging, File Systems, X-Windows Drivers & Extensions, PCMCIA, Environment (HW) monitoring, Zones, etc.
HP-UX 8.x - current (HP-PA RISC): in particular IO, VM, Process Schedulers, Multi-Threading, System Libraries, Object file & Library formats (SLLIC), Dynamic loading, Compiler code generation conventions, X-Windows Drivers & Extensions, Async I/O
Linux: All of kernel (Core, Device Drivers, File systems, ...) Multi-Threading, X-Windows Drivers & Extensions and Systems Programming level
Other OS (AIX, IRIX, SCO, VxWorks, QNX, Nucleus, AUTOSAR/OSEK, MPE/XL/iX, etc. etc.): Architecture, Kernel, Device Drivers, File systems, network protocols, STREAMS, GUI & Extensions, Systems Programming level, etc
Windows NT/2000/XP: device drivers (network NDIS, disk controller, USB, MPEG, multimedia, file systems), DLLs, ASP.NET, MS SQL
* Hardware (functional/device driver level):
IO Bus Architecture: PCI, SBus, VME, EISA, ISA, HP-IB, PCI, SCI (IEEE 1596), Fire Wire (IEEE 1394), InfiniBand, PCMCIA/CardBus, USB, RapidIO, CAN...
CPU & MMU models: SPARC V9, All Intel & AMD, PowerPC, HP-PA RISC P1.0 - P2.2, MIPS, ...
IO devices: Frame buffers, MUX, LAN, WAN, Wireless (802.11 & Bluetooth), Fibre Channel, HP-IB, SCSI, Disk Controllers, Multimedia (Audio/Video/DSP), Bus Bridges, Parallel & Serial I/O devices, Smart Cards, Audio, MPEG encoders/decoders, Biometric devices, Haptic ...
Systems Programming: OS Kernel Device Drivers File Systems ..., Embedded systems, Multi-Threading, Source and Binary Code Porting, Object Code Processing/Emulation, Process and Resource Control, Code Optimization, Fault Tolerance/Data Integrity, Device Control, Sockets, Multi-Tier Client/Server Architecture, DBMS Design, X-Windows Drivers, Network protocols, VOIP, Telephony systems, security
Application Programming: Databases - DB2, MySQL, MS SQL, INFORMIX, ORACLE, HP-ALLBASE, ISAM, JDBM; JavaBeans/EJB, JSF, J2EE; LAMP (Linux/Apache/MySQL/PHP), ASP.NET, GUI (X-Windows), Visual Age, Forte, JDK, Eclipse
Languages: UML, C, C++, C#, Assembler, Java, Shell (*sh, POSIX, perl, PHP, Python, Tcl/Tk), Forth (FCode), VB, Fortran, COBOL, SQL, Pascal, ...
POSITIONS/PROJECTS OF INTEREST
* OS Architect (UNIX, Linux, Real-Time, Embedded)
* Project/Team Lead in software development process
* UNIX/Linux/Embeded/RTOS/Windows Kernel, Device Drivers Developer
* Systems Software Programmer for UNIX or Real Time OS
* Porting to/from UNIX/Linux, Embedded, Real Time, MS Windows, MAC OS
* Mission Critical Applications
* System integration, administration/maintenance and support for large, distributed data, computing centres or service providers
* Distributed Computing, Client/Server solutions; J2EE; .NET
1998 - present MG-Tech Ltd.
Software Development Consultant, Team Leader, Project manager
- Latest Projects(Project Details list bellow)
· Automotive Industry: See bellow
· Aerospace/Military. Working on operating system reliability issues of the mission computer for the new aircraft upgrade. On site investigation, code review, debugging, design changes
· Server HW Vendor: Development of SLOF firmware components for PowerPC Cell based platforms. Design, architecture, implementation, fixing bugs and IEEE 1275 standard compliance.
· Goverment/Networking Security: Development of Multi-Path Routing module for gated router.
· IT security: Development of web based biometric authentication system (USB fingerprint scanners, driver, fingerprint manipulation, storage and matching, web interface,ActiveX,SQL,C++)
· Server HW Vendor: Development of hardware failure alarm feature for Netconnect 3.0 (click for an interactive presentation), development work on 4 main client providers/agents
· Networking Performance: Research of IP forwarding performance problems on multiprocessor systems. Prototype Solaris kernel driver with performance improvement for the SUN GigaSwift II (1Gb Ethernet) card. Greatly improved (>30%) raw packet routing (interface to interface) performance, enabled deterministic (real-time, QoS application) packet forwarding (native Solaris IP and in conjuction with CheckPoint FireWall-1 XL), full CPU load balancing to deploy 100% cycles of up to 4 CPUs per interface, further scaling (> 4 CPU/IF) possible without deterministic processing behaviour.
Project Details (per client):
- Projects for Automotive Industry:
· Audi A8/6 (MY2009) infotaiment system component – touch pad module. Development of firmware, low core, AUTOSAR compliant miniOS, communication protocols (MMI) and drivers (SPI), debugging and test OS features and AUTOSAR modules, resource handling desing and implementation, design of portability concept for event based application (handwriting recognition) over time based scheduler. Improvement to system build, integration and QA process, designs, code review and general consulting for the overal project (technical and project management).
· Daimler Mercedes S-class (MY2010) combined instrument panel module. Analysis and design for new multi CPU/multi OS based platform with common virtual RTE communication layer. OSEK/RTE layer for VxWorks based (graphical) controller side for porting/integration of AUTOSAR based application components. Improvements for OSEK platform of another (application) controller and abstraction concept for seamless virtualization of other controller HW into unified platform view. Low level IPC. Complete graphical layer, from HMI controller application module port to VxWorks, development of event based graphical view abstraction layer, down to WindML and device driver layer. Prepared and set into use SW development and integration process, QA and tracking process, adopted tooling and connection to project planning and management tools. General consulting and education for complete team on all topics from SW design, architecture, integration, development and PM processs.
- Projects for: KOM Technologies
· Architect and technical lead for development of DB Dashboard .NET custom control – connect various databases, select, filter and display various data sets in multitude of table and graph representations for state of the art business analisys (ASP.NET, VB, C#, SQL, MVC based architecture).
· Analysis and solution design for virtual serial USB (over LAN) device driver for MS Windows (XP/Vista).
· Porting of Novell Btrieve+ based application to C# ASP.NET, MS SQL 2005 based platform.
- Projects for: P MAC International (HK) Limited
· Performance issue with their multimedia appliance (25% of file transfer speed). Embedded Intel 8051 based system, USB-OTG HW, HDD, Flash card and driver issues.
- Projects for: Military Aircraft vendor (name and details confidential)
· Working on operating system reliability issues of the mission computer for the new aircraft upgrade. On site investigation, code review, debugging, design changes
- Projects for: IBM
· Development of SLOF firmware components for PowerPC Cell based platforms. Design, architecture, implementation, fixing bugs and IEEE 1275 standard compliance issues.
- Projects for: Silicon Optix Inc.
· Embedded software, OS component and firmware development for their industry leading HQV (Hollywood Quality Video) SOC (system on chip) providing 1-trillion operations per second. File systems, various device drivers, missing OS components (real-time system clock simulation). Validation and post mortem analysis of HW architecture issues (PCI, USB, core CPU) and SW/firmware as well. Bringup of new prototype (new CPU, new board) systems; and help with bug fixing and launch of new production systems. Analysis of architectural flaws and industry standard conformance issues; launching efforts to redesign with more appropriate algorithms and solutions where necessary (video source detection/synchronization, aspect ratio treatment and other video processing vs. industry standards, system bus arbitration (HW), and general functional and performance issues).
- Projects for: Mercury Computer Systems Inc.
· Design and development of OS components supporting shared memory view for their proprietary high speed interconnect (Solaris, UltraSPARC, cPCI, RapidIO).
- Projects for: EMS Satcom
· Developement of OpenWRT based embedded router firmware, for various in flight satellite communication systems.
- Projects for: Adara Networks
· Consulting services for performance and reliability of their high speed, fault-tolerant WAN network architecture.
· Development of Multi-Path Routing module for gated router.
- Projects for: Themis Computers
· PCI-VME bridge Solaris device driver for their new 64-bit Opteron architecture. Shared memory architecture for distributed systems. Setting up a build environment for custom Solaris builds from licensed Solaris source code. Help with test/validation of their new platform (BIOS, OpenBoot, HW issues). A study (whitepaper) on capabilities and issues with various ways of building large scale distributed systems from InfiniBand interconnected processor slices.
- Projects for: Wayport Inc. / Sun Microsystems Inc
· Porting/bug fixes of Linux IP tables and other networking modules to 64-bit UltraSPARC architecture (V100 Blade Servers). Mostly 64-bit Linux issues, with some networking and tulip device driver bugs.
- Projects for: Continuous Computing Corporation (CCPU)
· Leader of MG-Tech team tasked with detailed code review for CCPU's set of 9 Solaris device drivers (incl. Nexus, STREAMS, and character IO), specific for their own UltraSPARC based HW design. Goal: to find DDI/DKI compliance issue, improve coding style and maintenance by including lint and other automated tools, pinpoint obvious bugs and potential areas where they may concentrate debugging effort for known issues at production sites. Although not required by SOW, have actually fixed dozens of bugs, including the most severe ones they've got at client sites, but couldn't reproduce at lab.
- Projects for: PAC Labs Technologies Inc.
· Debugging/fixing of their Solaris device driver that failed to work on Solaris 9. Similar approach as with CCPU, except there were only 3 modules and there was one specific problem that had to be directly debugged and isolated.
- Projects for: CheckPoint / Sun Microsystems Inc.
· Consulting for performance improvements of CheckPoint Firewall software on Solaris platforms, multi-threaded STREAMS module design, interaction with network interface layer.
- Projects for: Smart Technologies Inc.
· Profiling, analysis of performance problems of the SmartBoard device driver under UNIX (Linux, Solaris).
- Projects for: IBM / Hewlett Packard
· Porting of IBM DB2 v7.1 database to HP-UX 11.x 64-bit environment. Bug fixing, sustaining support up to DB2 release v8.1, including other platforms: Solaris/Linux/AIX.
- Projects for: Grass Valley Group / Sun Microsystems Inc.
· Custom TCP/IP driver with selective checksum disabling feature, performance boost for Grass Valley FC-AL attached data storage.
- Projects for: Astro Datensysteme AG
· Consulting for porting of their biometrics authentication product to Solaris, developing device driver for the fingerprint scanner.
- Projects for: IBM Lotus / Sun Microsystems Inc.
· Solaris I/O Completion Events framework. It enables large sever applications like Lotus Domino to increase maximal number of client connections from 20K to 128K+ on high end Sun servers.
- Projects for: Soma Networks Inc.
· Development of Wireless Network Interface device driver for Base Station (NPM) of their cellular wireless data network technology.
· Close support in definition of the low level API and validation of the modem hardware design.
· Solutions for various wireless network issues: logical network interfaces corresponding to dynamically allocated spectrum channels, priority (QoS) driven data delivery, fault tolerance, plumbing into backbone TCP/IP network, encoding.
· Provided training in Solaris STREAMS drivers and DLPI for staff engineers.
- Projects for: Sun Microsystems Inc.
· Development of hardware failure alarm feature for Netconnect 3.0 (click for an interactive presentation), development work on 4 main client providers/agents
· Found two serious x86 SUNWspro (v5.0 – 6.1) compiler bugs in 32/64 bit data conversion and provided suggested fix to compiler team.
· Solaris device driver for wireless cards
· Research of IP forwarding performance problems on multiprocessor systems. Prototype Solaris kernel driver with performance improvement for the SUN GigaSwift II (1Gb Ethernet) card. Greatly improved (>30%) raw packet routing (interface to interface) performance, enabled deterministic (real-time, QoS application) packet forwarding (native Solaris IP and in conjuction with CheckPoint FireWall-1 XL), full CPU load balancing to deploy 100% cycles of up to 4 CPUs per interface, further scaling (> 4 CPU/IF) possible without deterministic processing behavior.
· Adding Solaris support for Fujitsu DynaMO SCSI, IDE and USB magneto-optical drives
· Netconnect 2.0 implementation of system (kernel, HW) monitoring agents, design reviews, debugging
· Contributing to Solaris 9 support on Intel CPUs
· Solaris 8 version of "Writing Device Drivers" Course SI-375 (principal contributor: 800+ new pages, updates, reviews, examples)
· Notebook support: PCMCIA device drivers (LAN, Wireless, Modem, CardBus bridges), sound
· Development of new features (PIO API, EPP mode) for parallel port device driver (ecpp) in SUN Solaris 8 update release,
· Development of simple Solaris framework for user level device drivers, to be used primarily for porting of Windows NT (C/C++) device drivers,
· Development of X Input Extension library for Solaris X-Server
- Projects for: Visionmaker Inc. (Input Technologies Inc.)
· Porting of Visionmaker Digital Desk IRIX device driver to AIX,
· Porting of Visionmaker Digital Desk IRIX device driver to Solaris,
- Project for: Sensable Technologies Inc.
· Consulting and porting services (Windows NT / Linux / Solaris) for their PHANTOM and GHOST products. (Haptics technology- enabling touch & feel manipulation of virtual 3D objects)
- Project for: ADC Newnet
· Consulting for multi-threading related problems with multiplexed streams device driver (Solaris/AIX) of SS7 interface card and protocol stack modules (SCCP, UPM, SPM, TRMOD, ECP).
- Project for: Globe And Mail
· Consulting for Year 2000 Compliance Project. Complete services on hardware, firmware and OS for all server systems, except mainframe.
- other projects
· Windows NT device driver for disk controller with embedded data encryption
· Various Web/LAMP based applications, on line databases
· VoIP based SMB voice networks, paperless fax solution, etc.
· Development of printer device drivers based on CUPS (Common UNIX Print System) for Xerox M750/760 and other printers on Linux, Solaris and MAC OS X
· Building a team and technology for e-Business related projects.
· Research in high precision scheduling techniques for Real-Time and UNIX operating systems (microsecond range).
· Research, design of new generation file system.
09/1996 - 07/1998 SUN Microsystems Inc., Developers Support Centre
Senior I/O Engineer (Consultant), Team Leader
- SBus to PCI transition project (Team Leader)
· Testing and debugging of all SMCC SPARC/PCI platforms (Hardware/Firmware/OS),
· Testing/debugging PCI related firmware (Open Boot code),Solaris 2.5.1 SHWP, 2.6 and 2.7 debugging/fixing, Investigating PCI related problems and missing OS functionality, recommending and providing enhancements,
· Developer support in SBus to PCI transition for Independent Hardware Vendors: Emulex (Fibre Channel), DGM&S (SS7), Tech-Source (2k x 2k frame buffer), Bit3 (PCI-PCI, PCI-SBUS bridge), Magma (PCI-PCI, serial MUX), Vision Tech (MPEG-2 A/V encoder), IMS (measurement systems), Digi (serial MUX), Solflower (PCI-VME)
- Solaris Kernel
· Reengineered power management framework in Solaris 2.6 to solve nexus node and hot-plug related problems,
· Ported high resolution timer (timer14) to sun4u architecture; worked on concept of high resolution timers in Solaris,
· Developed multi bridge nexus prototype (to support PCI-PCI, PCI-SBus, Cheerio and virtually any other bus bridge without own IOMMU)
- Other OS
· Worked on VxWorks BSP issues with SME UltraSPARC/PCI based motherboard,
· portability issues with free source PPP stack for VxWorks,
- Solaris Device Drivers
· Developed device driver for Dunord PCI scanner card (ordered from TRW for HP-UX to Solaris migration project),
· Assisted Vision Tech in rapid development of MPEG-2 solution for Sun PCI platforms (effectively did >90% of the first release device driver), also helped with issues w. firmware and Windows NT driver for the same card,
· Development of generic Solaris device driver - pattern generator,
- Mentoring/Training to other engineers
· Contributed to " Solaris Internals - Loadable Module Framework " tutorial material for USENIX 1998 (Device Drivers section, recent Solaris features, overall review),
· Conceptual design and Code Review for integration of interrupt kernel statistics in Solaris device drivers,
· Code Review for Solaris device driver bug fixes,
· Delivered training course for Developers Support Center engineers: "Device Drivers and Solaris 2.x Kernel",
· Internal consulting to various projects - from porting to bug fixing and kernel development
1992-1996 WAGNER SOFTWARE, Austria
Systems Software Programmer and Technical Project Architect
· Principal consultant/architect for complete network infrastructure at Jacobs-Suchard (a Kraft company) production site (Bludenz, Austria); from data centre to production lines
· Developed number of kernel extensions and enhancements including block-mode terminal device driver for HP-UX,
· Architect and developer of "UiX": MPE/iX binary compatibility environment on HP-UX,
· Designed and developed framework for asynchronous, fault tolerant transaction processing in distributed (LAN/WAN) environment - used for database replication and other purposes,
· Designed and lead project to develop Data Replication Module for indexed and relational databases (INFORMIX and other ESQL),
· Acted as solution architect and technical leader for number of industrial projects in Austria, Germany and Poland