Updated: Aug. 09, 2017


Up to Date Version


László Dombi

Budapest, Hungary. H4030
Cell: +36-30-645 7067

e-mail: Resume@LeslieDombi.com

Skype: MSN.Messenger@LeslieDombi.com

 

 

OBJECTIVE

N/A (Currently Employed by BOSCH, NOT Looking)

 

 

Summary

-   Approximately 20+ years experience in Embedded System Programming and debugging

-   Strong ASSEMBLY programming skills and knowledge of computer architectures

-   Extensive experience in digital signal processing - audio and video CODEC, Microsoft DirectShow Filters

-   High level knowledge of C, C++, Pascal and Delphi programming

-   Some knowledge of Java

-   IT consulting experience

-   Fluent in English and Hungarian

 

Languages

-   English: Almost Native-Level fluency established by living in Canada for 8 years (continuously), using English every day (even at home), not using Hungarian at all.

-   Hungarian: Native.

 

Software Knowledge / Skills

-   Pascal, Delphi, Assembly, C, C++, Database systems programming (SQL)

-   Some Java experience

-   Microsoft Windows programming: WinAPI and Kernel Drivers, DirectShow Filters (Source, Transfer and Render filters)

-   DSP programming and theoretical digital signal processing

-    Assembly (including the protection system, MMU and MMX instruction set of x86 processor family, MAP family (such as MAP-CA), microcontrollers (PIC 84x family), Texas TMS family, Z80)

-    Multiprogramming (Multitasking/Multiprocessor Systems)

-    Highly concurrent thread-based architectures

-   Embedded system multiprogramming under VxWorks operating system

 

 

PROFESSIONAL EXPERIENCE

 

Senior Software Engineer @ Robert Bosch GmbH – July 2014 - Present (Budapest, Hungary)

-   Video Processing using DirectShow Filter Graphs for an Automotive Demo Project

-   Designing and implementing Application Specific DirectShow Filters: Signal Switching Filters, Video Blending Transfer Filter, Video Effect Transfer Filters, Video Image Source Filters, Control Signal Source Filters for the Demo Project

-   Designing and implementing a Controller Program (Windows API) for the Demo Project

-   Designing and implementing a (Serial) Communication Interface Program (Windows API) that transfer control signals between the Serial Port and the Controller Program for the Demo Project

-   Designing and implementing a program that controls the “Flashing Over Ethernet” process of an Instrument Cluster through either Serial Port or Ethernet (making Batch-Flashing possible) [written in C++, Windows Con32 application]

-   Reviewing existing Embedded C code utilizing my previous experience in VxWorks (in order to eliminate a profiling unit from production code)

-   Setting up measurement methods for monitoring Task State Changes under VxWorks (and monitoring StartUp sequences)

-   Designing and implementing a program that breaks the “Flash Test” process of an Instrument Cluster in case an error is detected (so then a Memory Dump can be saved) [written in C++, Windows Win32 application]

-   Implementing and Optimizing (for speed) some Standard CRC algorithms (CRC-8/I-CODE, CRC-16/CCITT-FALSE, CRC-32, CRC-32/CCITT, CRC-64/WE) for 32 and 64 bit systems (taking alignment into account) [written in ANSI C]

-   Adding 5 new Diagnostic Services to an Instrument Cluster (all of the aforementioned CRC algorithms) so Flash CRC Hash can be obtained through diagnostic lines (CAN, MOST) on the production lines, filtering out faulty Flash chips

-   Designing and implementing “Diag Daemons” that are “virus like” diagnostic libraries downloadable to a target, taking control over the OS, performing various diagnostic jobs (mostly the test of the external RAM) on the Production Line

-   Designing and implementing the build environment and the rest of the development environment of “Diag Daemons”, including templates and frameworks

-   Designing and implementing “Self Linking Plugs” that are “virus like” binaries downloadable to a target, linking themselves to the running system in run-time, providing support for “Diag Daemons” in a software environment lacking the native support

-   Designing and implementing run-time profiler features to catch very sporadic errors in legacy/production code

-   Real-Time debugging and fixing driver code: Audio, I2C, MOST, Stepper Motor, etc.

-   Analyzing complex error chains of software modules to locate the root cause of highly sporadic errors: As part of this, implementing special diagnostic features, such as delayed, non-invasive logging, and alternative to logMsg of VxWorks

-   Analyzing performance bottle necks in a legacy system and then fixing substantial performance issues: Decreasing (decimating) the CPU load of the base system (OS and drivers without application) from 50% to 5%

-   Remaking the final production binary composition process for development builds: Speeding it up from 20 minutes to 0.25 second (a quarter second)

-   Stabilizing the current legacy code, fixing long existing bugs

-   Extending the ARH (APIX Remote Handler) API for compatibility with later implemented advanced features

-   Designing and implementing the roots of Protection Handler mechanism of the ARH (APIX Remote Handler) interface based on the previously implemented API extensions

-   Resource virtualization based on the previously implemented Protection Handler mechanism of the ARH (APIX Remote Handler)

-   Designing and implementing a built-in real-time resource access monitoring system based on the previously implemented Protection Handler mechanism of the ARH (APIX Remote Handler)

-   Writing and merging INDIGO (MB88F333) scripts that initialize peripherals of the instrument cluster

-   Remaking the build system for INDIGO scripts

-   Designing and implementing a system for flashing INDIGO scripts to the instrument cluster

-   Configuring a special version of a VxWork kernel (Reserve Ethernet Kernel) loaded with functions supporting development tasks

-   Designing and implementing “Delta Flashing”, a development software update method using the special version of a VxWork kernel (Reserve Ethernet Kernel): Reducing the flashing time from 9 minutes to 15 seconds

-   Creating a new way of development software update using the special version of a VxWork kernel (Reserve Ethernet Kernel): Solving the issue of usage of the discontinued Wind River ICE 2

-   Creating various development tools used by other team members

-   Being an essential member of a group that made possible to start production of an Instrument Cluster of high profile BMW cars

 

Senior Software Engineer and Chief Software Architect @ MediaPrizma – December 2011 – May 2014 (Debrecen, Hungary)
                [March 2014 – May 2014: Company Transferred All its Employees and Assets to Take5 Games Ltd.]

-   Server side programming of an Online Gaming system

-   Designing and implementing the Game Adapter and Game Engine, the modules that are responsible for the Game Logic

-   Optimizing the Game Adapter for speed and minimal Data Base load

-   Optimizing some of the very frequently use data conversion algorithms for speed, such as Base64 Encoder and Decoder

-   Stabilizing the current server code, fixing long existing bugs, implementing inline tracing systems

-   Designing system architecture for Third Party Game Logic implementation

-   Writing Stored Procedures for Microsoft SQL Server 2008 with Transaction Handling in order to keep Database Integrity

-   Designing and implementing base Scheduler Classes that schedule action processing utilizing a O(1) Scheduler algorithm (designed by me) inside the server in a heavily multithreaded environment

-   Designing and implementing internal diagnostic and statistic units that are optionally compiled out of the Released Product

-   Designing and implementing Mass e-mail and SMS Dispatcher units that are capable of sending hundreds of thousands of messages in reasonable time

-   Designing and implementing Automated Object Pools that are capable of pre-creation objects that are expensive to create, also managing the recycling of these objects

-   Designing and implementing of Base Classes of Query Caches to reduce Database load

-   Designing and implementing Container Classes that guarantee O(1) time complexity of insertion and searching

-   Optimizing the server for performance and stability by redesigning and re-implementing essential units/classes

-   Implementing Lock-Free synchronization devices by using the atomic instructions (such as CAS, Bit Test Set, Atomic Increment, Atomic Decrement) of the Intel x86/x64 CPU

-   Implementing True Random Generator by using the DRNG subsystem (if available) of the Intel x86/x64 CPU, creating query functions that distribute generated random numbers to servers without native DRNG support

-   Preparing (logical and programming) test questions for and interviewing prospective employees (developers and engineers)

-   Giving opinion on and (sometimes) selecting new members of the team based on the interview and tests

-   Giving opinion on new employees (mostly developers and engineers) based on their performance in their first 3 months

 

Electronics Engineer @ Csonka Gábor E.V. – July 2011- December 2011 (Budapest & Debrecen, Hungary)
                                                                                                                                                       [Based in Budapest, Hungary]

-   Designed and implemented electronic circuitry for a PCB manufacturing factory (Continental Temic)

-   Programmed embedded hardware for a PCB manufacturing factory (Continental Temic)

-   Tested freshly built circuit boards (as Test Engineer)


Senior Software Engineer @ Real Networks – October 2008 - July 2011 (from Toronto, Ontario, Canada)
                [Based in Seattle, Washington, USA]

-   Optimized codes on Intel Pentium using MMX and SSE instructions

-   Transferred codes between different hardware platforms

-   Developed and implemented algorithms for MPEG4 video codec (Motion Estimation, Motion Compensation, Motion Search, DCT, iDCT)

 

Self Employment as Senior Software Engineer – February 2004 - October 2008 (Toronto, Ontario, Canada)
                [Founding Member and a Director of Shinji Ikari Robotics Corporation]

-   Implemented image processing and audio processing filters

-   Developed and implemented lossless video and audio compression methods

-   Started to work on a highly reliable file system for multitasking systems

-   Developed and implemented applications for clients for Windows platform

-   Developed trading algorithms for clients (such as ACM - Advanced Currency Markets)

-   Developed encryption algorithms individually for clients (such as CSIS - Canadian Security Intelligence Service )

-   Designed and implemented low level software systems for robotics related embedded hardware solutions

-   Optimized DSP codes mainly for Intel Pentium

 

Software Engineer @ MediaTechnik Ltd (formerly AOLSOFT Corporation)– May 2002 - February 2004 (Debrecen, Hungary)

-   Instrumental part of team that developed the Global Motion Compensation part of MPEG4 Video CODEC

-   Developed and implemented Acoustic Echo Cancellation module for video conferencing

-   Developed and implemented ADPCM based Audio CODEC (LD Coding Software)

-   Developed and implemented the Audio and Video Engine, looked for and fixed the bugs in timing in the server program and in the application, created multimedia streams for an RTP Streaming Demo for the Motorola Corporation. (Motorola Demo)

-   Developed and implemented modules for video recording and playback systems for the IPT (International Police Technologies)

-   Developed and implemented data storage and transmission modules for video-audio remote systems for bomb-searching robots

 

Software Engineer @ Liberate Technologies, Inc. – January 2002 - May 2002 (London, Ontario, Canada)

-   Consulting Engineer for Java application integration for satellite receivers

 

Software Engineer @ AOLSOFT Corporation – February 2001 - January 2002 (Debrecen, Hungary)

-   Embedded system programming (DSP based Multimedia Systems, Video Conferencing through Internet, Video On Demand, Video/Audio Streaming, etc)

-   Developed and implemented the DVR (stream processing of audio, video decoding and encoding, time shift, trick play functions) part of an Internet TV product

-   Optimized H.263 CODEC for speed

 

System Engineer @ Budapest University of Technology and Economics – September 1998 - Jun 2001 (Budapest, Hungary)

-   Worked as System Engineer

-   Developed hardware and low level software for experimental robots

 

Self Employed as Electronics Engineer – September 1993 - February 2001 (Budapest & Debrecen, Hungary)
                                                                                                                                                       [Based in Debrecen, Hungary]

-   Developed hardware and software solutions for customer (Switching Mode Power Supplies, Data Acquisition, DSP, etc)

-   Helped the family business with machine designs (control electronics, measurement interfaces, software modeling)

 

 

EDUCATION

 

M.Sc. @ Budapest University of Technology and Economics (Wikipedia) – September 1993 - Jun 2001

-   M.Sc. in Electronics Engineering with Robotics Major

 

 

AWARDS

 

1st prize @ OKTV – April 1992

-   April 1992: Awarded the 1st prize on the OKTV nationwide physics competition

-   May 1992: Was a member of the Olympic group of the international physics competition