Posts
-
Use Vim as git diff and merge tool
-
Daisy chain wiring of functions of no return
-
Boost::split is broken
-
How memory mapped file with ftruancate might cause SIGBUS on Linux
-
The difference between isolcpus and cgroups
-
Be careful about socket timeouts in Python
-
Conversion operators considered harmful
-
Maybe you do not need a lock-free queue
-
Lifetime implication of make_shared
-
Is calloc just a wrapper around malloc?
-
Create an alias for a function in C++
-
Reducing usage of macros in C++ programming
-
std::launder, the most dreaded feature in C++?
-
Python pattern matching: a summary
-
A note on memory safety
-
Difference between ROS and ROS2
-
A cost benefit analysis of the 'const' keyword in C++
-
Python dictionaries are ordered after version 3.7, what does it mean
-
Recurrent minor issues in C++ code: Part 2
-
Beware of ABI compatibility of OpenCV and Eigen
-
Recurrent minor issues in C++ code: Part 1
-
All about Navigation2 maps
-
Add new iterative solvers to g2o
-
Working with ROS2 packages: Part 2
-
Working with ROS2 packages: Part 1
-
Two path following controllers: a review
-
Code that is impossible without auto
-
If you want to pass a string, make it explicit
-
Inline variables in C++17
-
A taxonomy of coroutines
-
How to write a main function that does not return
-
Two type check macros in the Linux kernel
-
The ARRAY_SIZE macro defined in the Linux kernel
-
A note with compound string literals in C
-
A taxonomy of CPP's inheritance semantics
-
If I could change one thing about C++
-
What is wrong with C++'s string class
-
When static means at least in C
-
Const lvalue reference is useless
-
Static inline considered harmful
-
Reading the source code of CMSIS-Core(M)
-
Reading N1967 on removing Annex K from the C standard
-
Mutex is not binary semaphore
-
An assert replacement for embedded programming
-
A tale of matrices of two languages
-
Some compiler options that disable UB-based optimization
-
NULL is not what I thought it were
-
Keep ADL intact while refactoring C++ code
-
Do not redefine type char
-
Beware of free functions in C++
-
Use signed integer for size
-
A minimalistic implementation of a circular buffer
-
overcommit and its implication
-
Poor man's atomic type
-
Summary of 6 modes of STML MCU
-
The curiously recurring template pattern (CRTP)
-
C++ has the Stop-The-World GC problem too
-
Providing a stable ABI via PIMPL
-
Function template specialization and function overloading
-
Understanding argument dependent lookup in C++
-
Four cases for reinterpret_cast
-
If pass for copy, pass by value
-
Flexible array member in C
-
Empty classes and zero length arrays in C++: Part 4
-
Empty classes and zero length arrays in C++: Part 3
-
Empty classes and zero length arrays in C++: Part 2
-
Empty classes and zero length arrays in C++: Part 1
-
Delay proxy by overloading the arrow operator
-
C++ does multiple inheritance wrong
-
What happens to padding bytes during initialization
-
Forcing memset to be executed against compiler optimization
-
dynamic_cast and poor man's multiple dispatch in C++
-
Why I prefer stdio over iostream
-
The way compilers implement virtual functions makes them less usable
-
Problems caused by raw arrays in C++
-
Type punning in C++
-
Chaotic integers in C++
-
Don't use default parameters with virtual functions
subscribe via RSS