mikejsavage.co.uk • About • Archive • RSS • Thanks for blocking ads! Blocking ads owns: AdGuard for Safari / uBlock Origin for everything else
2024/06/24 •
C++ tricks: enum arithmetic
2024/06/24 •
C++ tricks: STL-free type traits
2024/02/24 •
sem_postmany
2024/01/24 •
All perf zero quality BC4 encoding
2024/01/24 •
C++ tricks: NonRAIIDynamicArray
2024/01/24 •
C++ tricks: defer
2023/12/23 •
Configuring launchd scheduled tasks with Nix home manager
2023/11/23 •
C++ tricks: STL-free initializer list
2023/11/23 •
Realloc and arena allocators
2023/11/23 •
C++ tricks: Production Ready TM aligned malloc
2023/11/23 •
C++ tricks: STL-free source location
2023/11/23 •
2023 Windows post-install checklist
2023/11/23 •
Running a business in Finland
2023/09/23 •
Least effort self-destructing email addresses with Fastmail
2021/07/21 •
Building a userspace CSPRNG on top of Monocypher 3
2020/12/20 •
An equal but opposite reaction
2020/08/20 •
OpenSMTPD is excellent 2020 edition
2020/08/20 •
C++ tricks: catching ASAN errors in a debugger
2020/07/20 •
gg libraries index
2020/07/20 •
ggtime
2020/01/20 •
Daily Mail
2019/12/19 •
C++ tricks: compound literals
2019/10/19 •
GL tricks: glPushDebugGroup
2019/10/19 •
C++ tricks: member array count
2019/05/19 •
Server side React
2019/04/19 •
SSH local discovery
2019/04/19 •
C++ tricks: compile time string hashing
2019/04/19 •
C++ tricks: compile time type IDs
2019/03/19 •
Useful tmux window titles
2019/02/19 •
Sending mail through Amazon SES with OpenSMTPD
2019/01/19 •
Detecting WSL in Makefiles
2019/01/19 •
Windows 10 2019 post-install checklist
2019/01/19 •
Immediate mode audio
2018/12/18 •
How to get rid of ? globbing in fish
2018/09/18 •
Branch prediction minutiae in LZ decoders
2018/09/18 •
Least effort image self-hosting
2018/09/18 •
Using WSAAsyncSelect
2018/04/18 •
GoAccess with OpenBSD httpd
2018/04/18 •
namespace is bad and should not be used
2018/04/18 •
Never update anything #145432
2018/03/18 •
cmov
2018/03/18 •
Compression gold medalist
2018/03/18 •
Existential risk from artificial general intelligence
2018/02/18 •
ggentropy
2018/02/18 •
C++ tricks: dealing with 3rd party code
2018/01/18 •
Building a userspace CSPRNG on top of Monocypher 2
2018/01/18 •
C++ tricks: named function arguments
2017/12/17 •
Least effort self hosted dynamic DNS
2017/12/17 •
Mesh generation checklist
2017/12/17 •
Geometry clipmaps: simple terrain rendering with level of detail
2017/12/17 •
C++ tricks: macro to disable optimisations
2017/11/17 •
Preprocessor madness 2
2017/11/17 •
RSS feed
2017/11/17 •
Deadlock
2017/11/17 •
Preprocessor madness
2017/11/17 •
C++ tricks: sized array arguments
2017/11/17 •
Linux vs BSD in a man page
2017/10/17 •
Monocypher is excellent
2017/10/17 •
GL_FRAMEBUFFER_SRGB sucks
2017/10/17 •
Roadblocks to releasing Medfall on macOS
2017/10/17 •
Vim: peek definition
2017/10/17 •
OpenSMTPD is excellent
2017/10/17 •
Not even not upgrading can save me
2017/10/17 •
Optimising vs expanding to fill all available resources
2017/10/17 •
Code for my intro to raytracing talk
2017/10/17 •
C++ tricks: autogdb
2017/10/17 •
More installer junk
2017/10/17 •
Really finishing the job
2017/09/17 •
OpenGL uniforms and renderer design rambling
2017/09/17 •
Detecting TCP server crashes
2017/08/17 •
ggformat
2017/08/17 •
Saving scroll position when refreshing
2017/08/17 •
Never update anything
2017/08/17 •
Ruoka Helsingissä
2017/08/17 •
SIGGRAPH 2017
2017/08/17 •
Rust performance: finishing the job
2017/07/17 •
Fixing the Visual Studio forms designer
2017/07/17 •
Vim
2017/06/17 •
Wat
2017/06/17 •
C++ tricks: least effort conditional breakpoints
2017/06/17 •
Writing installers for Windows
2017/06/17 •
C++ tricks: NO_INIT
2017/04/17 •
bug489729
2017/04/17 •
C++ tricks: better casting
2017/03/17 •
Least effort unit tests
2017/03/17 •
Caches are fast, hashes are fast
2017/03/17 •
C++ tricks: ZERO
2017/03/17 •
C++ tricks: safe ARRAY_COUNT
2017/01/17 •
Dumping a git repository to an encrypted zip file
2017/01/17 •
Windows post-install for developers
2016/12/16 •
Billions
2016/04/16 •
Auto-mounting removable drives
2015/12/15 •
Moving to OpenBSD
1111/11/11 •
About me meta-post