Jan Ringoš

software architect, programmer

Career objective

I am a person who care about professionalism in programming. I seek a constant improvement in my skills and broadening the range of my expertise. I wish to deliver work of excelent quality. I strive for thoroughness. My professional philosophy is influenced mostly by substantive experience with the C++ programming language.

Professional background

  • TELE DATA SYSTEM, spol. s r.o., Ostrava

    • Fifth year of full-time job, position of programmer-analyst and systems implementator
    • Engineering and development of data processing software, communication firmware for embedded hardware, and implementation of industrial communications protocols. Extending legacy SCADA system of new features required by present applications.
      Moreover I have designed and developed a number of XHTML/PHP/SQL web applications. Starting by CMS for the company website, ending with multicorporate issue & requests processing and monitoring system which is still being extended of new features at the present time.
  • Various short term brigade-works and other

    • Gordic VAR REMM, Havířov
      C and SQL script development, system maintenance and support
    • Elementary school of František Hrubín, Havířov
      Lead teacher of the Lego Engineer and ROBOLAB programming hobby group
    • PC.TIR s.r.o., Havířov
      Information acquisition, classification by relevance and processing

Portfolio excerpts

  • Software products

    First of all, I have designed and built a number of proprietary client-server applications based on customer demands and deployment environment specifics. Naturally these are considered business secret and it wouldn't be appropriate to exhibit the details. See following freeware products for reference:

    • B-Cup XP, Windows XP and 2003, service with control panel
      Simple, fast and compact automated backup program, positively reviewed on freeware sites and by users all over the world
    • Dynamic Log Viewer, Windows 2000 and later, user mode application
      Inspired by linux tools, provides way for watching current state of processes or systems that log their status into plain log files. Used by developers in number of environments.
  • Middleware and C++ libraries

    • EXT C++ Library, details and project progress: http://sourceforge.net/projects/ext/
      Set of various useful C++ classes, templates and macros that extend functionality provided by ISO C++ and standard C++ library. The aim of the EXT library is to provide a range of lightweight language and library utilities.
    • Brace C++ library details and project progress: http://sourceforge.net/projects/brace/
      Brace is a comprehensive C++ template library that parse, organize and serialize string-based human-readable hierarchical data. The contained format itself is easier to edit and maintain than XML, yet similar in philosophy and already widely used (in plenty of dialects).
    • eXtendable Binary library details and project progress: http://sourceforge.net/projects/xbinary/
      The XB Library is an effort to implement a library for manipulation with universal file format that would match the requirements of so called Binary XML. The XB data format allows fast and compact, yet still robust enough, serialization of trees of any arbitrary data.
    • Z4 storage library
      Compressed filesystem storage library with access caching, constant read/write access times and encryption support. Total Commander plugin is also available.
  • Web applications and presentations

    • www.ringos.cz
      XHTML 1.1 valid presentation, CSS styled, clean and readable code, simple but professional design
    • www.rksen.cz
      XHTML/CSS, webdesign, implementation, dynamic content (PHP), proprietary content management system
    • www.tds.cz
      XHTML/CSS, ordinary corporate webpage design, dynamic content (PHP), simple content management
    • www.intextr.cz
      XHTML/CSS, designed an early version of company homepage
  • Games and eye-candy applications

    • The Matrix Trilogy Screensaver, for official webpage see http://www.matrixscreensaver.150m.com/
      Project that aims to become the best The Matrix code simulation available as freeware.
    • Shoot 'em, Windows 2000 or newer
      Very simple and straightforward shooter game. What makes it unique is that its 3D graphics is drawn in full colors in text mode, similar to ASCII art.
    • Space 2004: Solar System, non-interactive real-time animation
      7 minutes long demo, made for Czech 3D Open Contest. Realistic visit of all planets in our Solar system. Silver in overal rating.
  • Talks and articles

    • C++0x, Game Developer Session 2008, Brno
      An informal talk about upcomming revision of the C++ programming language standard held at conference of game developers.
      http://gds.ceske-hry.cz/game-developers-session-2008/program/45
    • Standard pro zápis kódu v jazycích C a C++
      List of rules and recommendations for C and C++ coding, including rationale for every rule, that I was tasked to prepare for my team. Guided by recommendations of highly valued C++ experts (listed inside), but also clearly biased by my experience and local specifics. Publicaly available here with consent of my employer. Only Czech language version is available.
    • Obecná schémata ochrany kódu
      Originally written for Ceske-Hry.cz magazine the paper covers basics of different executable code and data protection schemes and techniques. Only Czech language version is available.
    • PC Svět (no longer existing www.pcsvet.cz)
      I wrote more than sixty technical articles published on the PC Svět magazine website. The papers were mostly focused on C++ programming language, programming techniques and software development in general.

Education

  • University of Ostrava, Czech Republic, unfinished

    Department of Informatics and Computers, Applied Information Technology. Left after seventh semester due to dissatisfaction with gained experience and due to poor results, caused by momentary work overload in particular. Still gained a lot of both theoretical and practical knowledge.

  • Industrial High School Makarenkova, Havířov, Czech Republic

    First class graduate in Electronics and Computer Systems field.

Summary of Qualifications

  • General programming

    • Algorithm developement, special experience in parsing and serialization
    • Networking, Distributed architectures, focus on implementation details
    • User interface design and development, user experience, simplification
  • ISO C++ programming language

    • Nine years of experience in C++ programming language, STL and TR1 libraries, well aware of upcomming C++0x
    • Thoroughful awareness of most of the efficiency and safety idioms, coding styles, techniques and modern design patterns.
    • Extensive experience with fast, middle to large systems architecture analysis, design, team apportionment and implementation. Application of procedural, object-oriented and generic programming paradigmas where appropriate.
    • GNU Compiler Collection G++ extensions
    • Experience with scale of mainstream compilers:
      • GNU GCC G++ 4.3 and 3.4 (wxDev-C++)
      • Digital Mars compiler
      • MS Visual Studio 2005 and 2003
      • MS Visual C++ 6.0, MS Visual C++ 1.0 (16 bit)
      • ...
  • Internet technologies

    • XML 1.0 and 1.1
    • XHTML 1.0 (Strict, Transitional, Frameset), XHTML 1.1, upcomming XHTML 2.0
    • AJAX, DHTML; DOM, CSS (2.1, 3.0), JavaScript (JScript, ECMA 262)
    • PHP Hypertext preprocessor (PHP 4.3, PHP 5), SQL (MySQL 5.1, MS Access and QBE)
    • Browser behavior unification, SEO
  • Windows API programming

    • Win16 API development for Windows 3.11 under MS Visual C++ 1.0 and Digital Mars compilers
    • Win32 API for Windows 9x (95, 98, Me) and NT (NT4, 2000, XP, 2003, Vista and 2008)
    • 64-bit Windows API (Windows XP); design differences between 32 and 64 bit programming
    • Character-Mode Applications, Communications (Serial, LPT), COM, DLL, Multithreading, IPC (Pipes, Mailslots, Sockets, ...), Services, Networking (WinHTTP, WinInet, ...), Authorization, Crypthography, MCI, Windowing, Common controls, Common dialogs, Internationalization, GDI, GDI+
    • Windows XP Embedded
  • OpenGL

    • 2D, 3D graphic engine design, development and application, in-scene interfaces, rendering speed optimizations (scene space partitioning, LOD, VBO, ...)
    • nVidia and ATI extensions
  • x86 low-level development

    • Operating system routines, stub; Real and Protected mode development, Flat memory model, IO, IRQ, VESA graphics
    • Hardware, DMA, PIC, PPI, 8042, RS-232, ...
  • Microcontrollers and various embedded technology

    • ARM9 with μClinux embedded systems programming
    • C167-based systems development (16-bit C code)
    • x51 8-bit microcontroller series; competent knowledge of instruction set, hardware and connectivity potential
    • Wavecom based AT compatible modems, Open AT, WIPsoft, GPRS, SMS, ...
  • Other programming languages

    • C# programming language a .NET platform, basic level of MSDN Training, .NET Framework, Common Language Runtime
    • Java programming language and Java VM, Active X applets development
    • Pascal, Object Pascal, Delphi Language, applicable overview
    • Assembler x86 and x51.

Other Interests and Experiences

  • Experiences

    • Languages: Native Czech, fluent English. Modest experience with both-way (though not real-time) translation, notably of computer game subtitles and interfaces.
    • Type B driving license
  • Interests (besides software development)

    • Target practice, shooting sports
    • Computer games, especially real-time strategies