RESUME
NAME: Ivan Gorinov
Contact Info
E-mail: "gorinov@lcard.ru", "igorinov@yandex.ru"
Best time to call (home): 17:00-20:00 GMT (20:00-23:00 Moscow Time)
Position: Software Engineer, Systems Programmer, Firmware Engineer
Personal Information
Citizenship: Russian Federation
Driving license: B since 2003
Current USA visa status: N/A
Other Information
Foreign languages
English: fluent
SUMMARY
- 7 years of full time work in the computer industry
- Embedded systems firmware programming
- Windows device drivers development
- Linux kernel internals
- Windows and UNIX applications software development
- Reverse engineering
TECHNICAL SKILLS
Primary Skills
Embedded systems firmware development
OS: ROM-DOS/PC-DOS, RTOS-32, Windows CE
Software: Microsoft Visual C, DDK, Numega Softice, IAR Embedded Workbench
Hardware: Intel 386EX, 8051, Infineon C166, ADSP-21xx, Atmel AVR S90
Windows device driver development (4 years)
OS: Windows NT/2000/XP, Windows 95/98/ME
Software: Microsoft Visual Studio 6, .NET; DDK; Numega Driver Studio, Numega Softice
Hardware: Intel x86
Linux kernel modules development (2)
OS: Linux kernel 2.2.x - 2.4.x
Software: GCC, GDB, KDB
Hardware: Intel x86
Application software development (6)
OS: Windows NT/2000/XP, Windows 95/98/ME
Software: MS Visual Studio 6, .NET; MASM; Borland Delphi; GCC
Hardware: IBM PC
Languages: C, C++, Assembler, Pascal;
Subsystems: Win32 API; Windows NT/2000/XP native API; MFC
Application software development (4)
OS: UNIX
Software: GCC, GDB, Borland Kylix
Hardware: IBM PC
Languages: C, C++, Fortran, Assembler
Subsystems: X Window System, GTK+, Qt, WxWindows
Secondary Skills
PLD design (1)
Software: MAX II Plus, Quartus
Other Categories: VHDL
Network admininstration (3)
OS: UNIX, Windows
Software: Windows NT/2000 Server, FreeBSD, Linux
Hardware: IBM PC
Other Categories: TCP/IP, Web server, SMB
Database design (3)
OS: UNIX, Windows
Software: Interbase, MySQL
Hardware: IBM PC
Other Categories: SQL, PHP
EDUCATION AND TRAINING
Education: B.S. in Computer Science, MIREA, Moscow, 2000
PROFESSIONAL EXPERIENCE
Work History
Duration: January 1999 - present time
Position/Title: Software Engineer
Company: L-Card, Moscow, Russia, Development Department, Data acquisition systems
Project history
TCP/IP protocol stack for embedded systems (ROM-DOS)
Duration: December 2002 - January 2003
- Ethernet Packet driver interface (400 lines of asm code);
- IP, UDP, TCP, ARP protocols (Alternative communication library (1500 lines of C code);
Technical Environment: Turbo C 2.0, Turbo Assembler 5.0, DR-DOS 7.03
QUEST access control system software
Duration: June 2002 - August 2002
- Controller communication protocol & software research;
- Alternative communication library (1500 lines of C code);
- Examples, simple access control software (1000 lines of C code);
Technical Environment: MS Visual C++ 6.0, Intel x86, Windows 2000
Linux kernel modules for L-Card ADC/DAC
Duration: June 2001 - December 2001
- L-Card ADC/DAC boards (ISA, PCI, USB) device driver interface design (based on OSS);
- Linux kernel modules implementation (5000 lines of C code);
- Libraries, firmware loading utilities and programming examples (1000 lines of C code);
- Documenting library and driver interface;
- Software Oscilloscope for X-Window system (500 lines of C code)
- Software Oscilloscope for WxWindows (2000 lines of C++ code)
Technical Environment: GCC, Linux 2.2.x-2.4.x, Intel x86, WxWindows
SAVPE train auto-driving system
Duration: June 2000 - November 2001
- Design and implementation of file transfer protocol;
- Windows CE communication software (1000 lines of C++ code);
- ROM-DOS communication software (500 lines of C code);
Technical Environment: MS Visual Studio 6.0, MS eMbedded Tools, Turbo C 2.0, TASM 5.0
SAVPE train auto-driving system
Duration: August 2000 - November 2000
- System software design for PC-104 based embedded system;
- Integration with Caldera DR-DOS;
- Serial port driver for PC-DOS/ROM-DOS (4300 lines of asm code);
- Communication software for DOS, Win32 (500 lines of C++ code).
Technical Environment: Borland C++, TASM
Flash-Disk with RS-232 serial interface
Duration: August 2000 - September 2000
- Serial Peripheral Interface device driver implementation for Windows NT/2000 (1500 lines of C code);
- SPI library and programming software;
- Design and implementation of data transfer protocol;
- Atmel AVR S90 control program (1400 lines of S90 asm code);
- Flashdisk software for Win32 (400 lines of C code).
Technical Environment: MS Visual Studio, Windows 2000 DDK, NuMega SoftIce, AVR assembler
SAVPE train auto-driving system
Duration: February 1999 - July 2000
- System software design for Intel 386EX based embedded system;
- BIOS developing (1000 lines of asm code);
- Integration with Datalight ROM-DOS;
- Firmware updating utilities for DOS, Win32 (500 lines of C code);
- Participation in hardware design and testing.
Technical Environment: Turbo C, TASM
Win32 software protection system
Duration: December 1999
Company: Grotesk, Moscow, Russia, Accounting Database systems
- GOST 28147-89 cryptographic algorithm implementation (200 lines of i386 asm code);
- Windows NT/98/2000 protection device driver (200 lines of C code, 400 lines of asm code);
- Executable file encrypting software (1100 lines of C code).
Technical Environment: Microsoft Visual C 6.0, MASM 6.13, Windows NT DDK, NuMega SoftIce
Service code generator for Siemens mobile phones (freeware)
Duration: September 2002
- Siemens S35i firmware research (4MB of C166 code);
- Reversing decryption alghoritm (100 lines of C code);
- Win32 service code activation tool (1200 lines of C++ code).
Technical Environment: Microsoft Visual C 7.0, IDA