I am Jan Bielak and I welcome you to my website. Here you will find different resources on computer science. A large part of it is somehow related to programming and software development in general, but some other things like math and physics will almost certainly also come out here and there.

I will try to take a very profound approach to everything, by focusing not only on a single solution to a specific problem, but by describing the whole landscape of possibilities. I will describe a variety of ideas, all with their pros and cons, and leave the decision what to choose up to you while including some potential tips and advice.

The content is organized in two main categories: courses and posts. Courses consist of a coherent set of articles created to teach a concrete larger subject. Posts, on the other hand, are more like unrelated articles about random subjects that wouldn’t really fit into a specific course. Some posts will also be about some things less related to programming. In addition to those, some other content is the General section on the left.

About me

For something about me, I am a high school student. I like programming (especially in C++) and real-time rendering (including using OpenGL and Vulkan). You can find some of my projects on my Github. They include: two OpenGL rendering demos (1, 2), a performance monitoring utility for Windows, and a modern C++ wrapper for GLFW listed on the official site. Currently I also take part in the Cyberduck project and the PaSh project. I also recently made a multithreaded CPU raytracer demo based on Raytracing in One Weekend. Apart from programming I also do 3D modelling and rendering in Blender.

In addition to this website I also have a YouTube channel related to programming and graphics where I post recordings of meetings of The C++ Club. It is a club about modern C++ I conduct at my school. The goal is to teach the grand majority of things needed to be fluent in C++ from a practical standpoint. The recordings are available only in Polish however in the description of each video there is a link to the interactive English presentation used in the video. All the presentations are made with Slides.

Rendering examples

Below are some images generated in the aforementioned renderers I made. You can find additional pictures of things I rendered using Blender here.

A multithreaded CPU Raytracer
A modern OpenGL 4.6 PBR renderer using compute shaders and AZDO techniques
An OpenGL 3.3 renderer implementing some common rendering techniques