I'm an independent software engineer that offers a commercial support for AsmJit and Blend2D libraries in addition to consultations and contracted work on any other project, be it open source or proprietary. I prefer to work on projects where performance matters and where C++ language is used for its efficiency and not for legacy reasons. I can use other programming languages too, like Python or JavaScript/Node.js, but I'm not actively looking for opportunities that would involve these languages without the use of C++.

Commercial Support

This section provides commercial support offerings for AsmJit and Blend2D libraries:

AsmJit

AsmJit is a stable library used by many individuals and companies. AsmJit is released under the Zlib license, which means that companies can use it freely in their products. Commercial support for AsmJit is meant to help both companies using AsmJit and AsmJit itself.

  • Consultation - Consult the possible use of AsmJit before you start a project that uses it or during its development.
  • Code review - Review of your code regarding the correct use of the library and proposal of possible changes that would make the code better and safer.
  • Porting - Porting code that uses outdated AsmJit version to the newest available version.
  • Priority bug fixing - Have you found a bug that has to be fixed immediately?
  • New features development - Development of new features that would become part of AsmJit.
  • New backends development - Development of new backends like ARM, MIPS, POWER, and RISC-V.

Blend2D

Blend2D is a beta product at the moment focusing on software-accelerated high performance 2D rendering. Commercial support for Blend2D is meant to help both companies using (or planning to use) Blend2D and Blend2D itself as the library still needs some work to make it on par with other 2D rendering engines in terms of features.

  • Consultation - Consult the possible use of Blend2D before you start a project that uses it or during its development.
  • Code review - Review of your code regarding the correct use of the library and proposal of possible changes that would lead to faster rendering.
  • Priority bug fixing - Have you found a bug that has to be fixed immediately?
  • New features development - Development of new features that will become part of Blend2D. There is a high-level Roadmap overview on the Blend2D homepage, but in general I'm open to implementing any feature that would make sense to be part of Blend2D.

If you don't need a commercial support, but you would still like to support these projects a donation would be appreciated as both projects were written in my free time.

Contracted Work

I'm also offering a contracted work in the area of software development, architecture design, and consulting. I'm expert in the following areas:

Cross-Platform C++ Development

  • Knowledge of the C++ language up to C++17 and a daily user of C++11.
  • Knowledge of operating system APIs including WinAPI, Linux, POSIX, and OSX.
  • Build systems and package managers including Ninja, CMake, and Conan.
  • Writing a production-grade code in C & C++ that can gratefully handle corner cases and error conditions.
  • Experienced and daily user of sanitizers (ASAN, UB) and tools such as Valgrind.

High Performance Computing in C++

  • CPU specific optimizations including SIMD (SSE2, AVX2, and a bit of NEON).
  • JIT compilation and X86/X64 architecture details including X86/X64 assembly.
  • Multithreaded and asynchronous event-driven programming.

2D Rendering Pipeline

  • Software-accelerated 2D rendering and rasterization.
  • Pixel composition and effects (pixel shaders, color matrix, convolutions).
  • Text processing and rendering including deep understanding of TrueType and OpenType technologies.

Other C++ Skills

  • Using Emscripten to compile C++ code to JS/WASM so it can run within a browser.
  • Extending functionality of C++ applications with scripting languages by embedding virtual machines such as V8.

General Skills

  • Ability to do both architecture design & implementation and to team up with other engineers / take responsibility.
  • Experience with common development methodologies and a flexibility to adapt to any when necessary.

My experience should be obvious from the projects that I have founded and from the list above. I'm only looking for new opportunities where I would apply my existing experience and specialization instead of doing generic things like front-end development. I'm pretty flexible though and I'm interested in new areas where performance matters as well.

Contact

You can reach me over the email (click) or connect via LinkedIn. Business meeting is possible in Prague, Czech Republic (EU).

Business Entity Information

Please wait until the information is displayed.