Home Site map Contacts CZ

Jan Ringoš, Tringi.TRIMCORE.cz

Papers & C++

...a very special dessert. I wrote it myself. It starts so simply, each line of the program creating a new effect, just like poetry.


C++ Coding Standard

Coding standard and various notes regarding writing software in the C and C++ programming languages. This document describes my preferences of writing and structuring code in recent and future projects.

Libraries and sources

EXT C++ Library

Set of various classes, templates and macros that extend functionality provided by ISO C++ and standard C and C++ library. All of these were first used in real projects, then found very reusable, re-factored and packed together into the EXT Library. As such its presence is a requirement to build some of my newer projects.

Brace C++ Library

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 in widespread use.


Now implemented throught generic double_integer template that doubles width of any integral data type, even recursively. Unlike other large number classes, you can work with double_integer instantiated types just like with other P.O.D. types, the template generates native little-endian integers.

Suspended projects

Wireframe RTS

Although far from a fully-fledged Real Time Strategy game, this is still somewhat playable technology demo. A temporarily suspended hobby project, written from scratch in C++ using OpenGL for rendering.


Just like any other typical programmer I often enthuse over some interesting idea. And more than often the project design grows over my head as I realize what resources it would finally require, or sometimes that enthusiasm just fades away. Because I often spent many weeks on such projects, I feel the need to at least share what I have so far. These projects can be found here.

eXtendable Binary

An effort to implement a library for manipulation with universal file format that would match the requirements of so called Binary XML (a superset of features required by Efficient XML Interchange). The XB data format allows fast and compact, yet still robust enough, serialization of trees of any arbitrary data.

Z4 Library

The Z4 is filesystem-based storage library. The higher level class allows user to easily store many files within a directory tree in one single file, and achieve moderate compression with still be able to change contents of large files without complete recompression.

Aegis Engine

A very naïve in its first version, and overly complex and overwhelming to a single programmer in its second version. Sadly very incomplete. That is Aegis Engine, a library incorporating 2D and 3D graphics, computations and other components important to development of a computer game.

Tau Controls

A small library of a few simple window controls like button, checkbox, divider, slider and some other. If you need non-standard controls to your program, the TauControls might be the right thing. Especially suitable for hacker styled programs, already used in the setup dialog of The Matrix Trilogy screensaver.

There are two ways of constructing a software design; One way is to make it so simple that there are obviously no deficiencies, and the other way is to make it so complicated that there are no obvious deficiencies. The first method is far more difficult. - C.A.R. Hoare

With sufficient thrust, pigs fly just fine. However, this is not necessarily a good idea. It is hard to be sure where they are going to land, and it could be dangerous sitting under them as they fly overhead. - RFC 1925

exertion of the imagination, portfolio library and software repository