Efficient systems. Code close to the hardware
Close tothe metal
My focus is where software touches hardware: C and C++, memory that sits exactly where it should, and an architecture you can follow.
C++
SQL
hardware
01 / Memory layout, byte by byte
Twelvebytes
struct Sample {
char a; // 1 byte
int b; // 4 bytes
short c; // 2 bytes
}; // sizeof = 12
a···bbbbcc··
One byte for a
Three bytes of padding for alignment
Four bytes for b, two for c, two at the end
(Example for a typical 64-bit system.)
02 / Skills in detail
What Ibring
- Low level
- Programming in C and C++, close to the machine
- Memory layout
- Control over how data sits in memory
- Memory diagnostics
- Finding leaks and memory errors
- Allocators
- Strategies of my own for managing memory
- Alignment
- Aligning data to the hardware
- Architecture
- Clear system architecture you can follow
03 / Data and parts
Data &parts
SQL
Queries that stay fast
Query optimisation and relational mapping
Hardware
When the PC won't
Troubleshooting PC components
Languages