Start here
Hello there!
My name is Bartek and this is my technical blog. I write mostly about native coding in C++.
You can read more about the blog itself in the About page.
To see all blog posts please go to the Archive Page where you can sort by year, a tag or search.
Below I’d like you give you a quick start of top stories that you might want to read first:
C++
I use C++ on a daily basis, so that’s why it dominates my blog posts.
C++20
- C++20 Ranges: The Key Advantage - Algorithm Composition - C++ Stories
- 20 Smaller yet Handy C++20 Features - C++ Stories
- Predefined C++20 Concepts: Callables
- C++20 Concepts - a Quick Introduction
- Simplify Code with if constexpr and Concepts in C++17/C++20
- constexpr Dynamic Memory Allocation, C++20
- Increased Complexity of C++20 Range Algorithms Declarations - Is It Worth?
- How to Check String or String View Prefixes and Suffixes in C++20
- Lambda Week: Syntax changes, C++11 to C++20
- Notes on C++ SFINAE, Modern C++ and C++20 Concepts
- An Extraterrestrial Guide to C++20 Text Formatting
And see a growing list of articles under the C++20 tag in the Archives:
C++17
Here’s a mega long article, with all of the features (each with a description and an example):
And another article on smaller features:
The first series about the features:
- Fixes and deprecation
- Language clarification
- Templates
- Attributes
- Simplification
- Library changes - Filesystem
- Library changes - Parallel STL
- Library changes - Utils
- Wrap up, Bonus - with a free ebook! :)
The Second series about the STL changes:
- Refactoring with
std::optional
- Using
std::optional
- Error handling and
std::optional
- About
std::variant
- About
std::any
- In place construction for
std::optional
,std::variant
andstd::any
std::string_view
Performance- C++17 string searchers
- Conversion utilities
- Working with
std::filesystem
- Extra:
- Runtime Polymorphism with std::variant and std::visit
Other C++ Articles
- 12 Different Ways to Filter Containers in Modern C++
- Notes on C++ SFINAE
- Custom Deleters for C++ Smart Pointers
- Smart pointers gotchas
- Top 5 Beautiful C++ std Algorithms Examples
- Non Static Data Members Initialization
- 11 Debugging Tips That Will Save Your Time
- Why is it building so long?
- C++ (Core) Coding Guidelines
- Tasks with std::future and std::async
- Auto keyword in C++11
- Visual Studio C++ Productivity Tips
- Quick case: Char Pointer vs Char Array in C++
- #Include little toolkit
- Forward Declaration And a Pointer
Status
At the end of the year I write about C++ status. It’s my summary of events that happened in a particular year, compiler support of modern features, the standard updates, new features.
- C++ Status at the end of 2020
- C++ Status at the end of 2019
- C++ Status at the end of 2018
- C++ Status at the end of 2017
- C++ Status at the end of 2016
- C++ Status at the end of 2015
- C++ Status at the end of 2014
- C++ Status at the end of 2013
- C++ Status at the end of 2012
OpenGL & GPU
- Persistent Mapped Buffers in OpenGL
- Persistent Mapped Buffers, Benchmark Results
- Flexible particle system - OpenGL Renderer
- OpenGL 4.5
- Learning Modern OpenGL @Codeproject - one of my best articles, that landed on external site instead of this blog.
- glGenerateMipmap Plus SOIL library, OpenGL
- Digging into SOIL Library for OpenGL
- The SPARK Particle Library
- Select + Mouse + OpenGL
- Quick example of Anisotropic Filtering in OpenGL
- FPS limit
Performance
- Micro benchmarking libraries for C++
- Please stop with performance optimizations!
- Curious case of branch performance
- Packing Bools, Performance tests
- Google benchmark library
- Simple Performance Timer
- Vector of Objects vs Vector of Pointers Updated
- Float vs Double
- AVX Start
Projects
- The Matrix Updated
- Simple Water Simulation
- glGenerateMipmap Plus SOIL library, OpenGL
- OpenGL startup V3.0
Flexible Particle System
I’ve always wanted to create efficient and easy to use particle system. I’ve described my attempts to do it in the following series:
- Initial Particle Demo
- Introduction
- Particle Container 1 - problems
- Particle Container 2 - implementation
- Generators & Emitters
- Updaters
- Renderer
- Introduction to Software Optimization
- Tools Optimizations
- Code Optimizations
- Renderer Optimizations
- Summary
Book Reviews
- Professional C++ 4th Edition by Marc Gregoire
- C++ Templates - The Complete Guide 2nd Edition by David Vandevoorde, Nicolai M. Josuttis and Douglas Gregor
- The Complete Software Developer’s Career Guide, by John Sonmez
- Modern C++ Programming Cookbook Review by Marius Bancila
- Async Remote Book
- 7 books that taught me how to code
- OpenGL SuperBible 7th
- Soft Skills - Book Review
- Review of “D Cookbook”
- The Passionate Programmer
- Book: OpenGL Development Cookbook
- Book: The C++ Standard Library, 2nd