Stefan Reinalter
@molecularmusing.bsky.social
Founder of Molecular Matters • C++ & low-level programming • Created Live++ (@liveplusplus.bsky.social)
https://liveplusplus.tech
https://liveplusplus.tech
Why is *every* company on this damn planet shoving down AI our throats?
I cannot tell you how mad stuff like this makes me.
I cannot tell you how mad stuff like this makes me.
November 10, 2025 at 4:18 PM
Why is *every* company on this damn planet shoving down AI our throats?
I cannot tell you how mad stuff like this makes me.
I cannot tell you how mad stuff like this makes me.
Terry Pratchett's writing of the Nac Mac Feegle accent always makes me smile. It's so perfect, I can hear a Scottish voice talk in my mind :)
November 9, 2025 at 11:47 PM
Terry Pratchett's writing of the Nac Mac Feegle accent always makes me smile. It's so perfect, I can hear a Scottish voice talk in my mind :)
Always interesting how -- even after so many years -- there are still new things to be discovered that need to be taken into account to accommodate different companies' workflows.
October 29, 2025 at 2:52 PM
Always interesting how -- even after so many years -- there are still new things to be discovered that need to be taken into account to accommodate different companies' workflows.
I recently gave a talk + live demos about Live++ and its use cases. One of them included fixing bugs on the fly, and feedback I got mentioned that people didn't think about hot-reloading code while the exception handler was open.
Naturally, there's now a hint at the bottom, since this is powerful!
Naturally, there's now a hint at the bottom, since this is powerful!
October 27, 2025 at 1:17 PM
I recently gave a talk + live demos about Live++ and its use cases. One of them included fixing bugs on the fly, and feedback I got mentioned that people didn't think about hot-reloading code while the exception handler was open.
Naturally, there's now a hint at the bottom, since this is powerful!
Naturally, there's now a hint at the bottom, since this is powerful!
Questions surrounding this have come up now and again, so the docs now hopefully clarify the reasons behind some of Live++'s behaviour:
September 18, 2025 at 10:25 AM
Questions surrounding this have come up now and again, so the docs now hopefully clarify the reasons behind some of Live++'s behaviour:
Mario Chocolate
August 2, 2025 at 5:38 PM
Mario Chocolate
Definitely one of the hackiest pieces of code I've written in the last decade or so, it's nasty.
July 1, 2025 at 10:50 AM
Definitely one of the hackiest pieces of code I've written in the last decade or so, it's nasty.
Rip and tear, until it is done.
June 30, 2025 at 3:10 PM
Rip and tear, until it is done.
After debugging for a week, I guess I'm a member of the "have to work around a platform SDK bug" now.
Do I get a medal or something?
Do I get a medal or something?
June 24, 2025 at 4:01 PM
After debugging for a week, I guess I'm a member of the "have to work around a platform SDK bug" now.
Do I get a medal or something?
Do I get a medal or something?
Probably one of my favourite tricks for finding memory stomps:
1) On alloc: put allocation at very end of separate page, followed by a NoAccess page.
2) On free: mark allocated pages as NoAccess.
Guaranteed to find even one-byte stomps and use-after-free.
#cpp
1) On alloc: put allocation at very end of separate page, followed by a NoAccess page.
2) On free: mark allocated pages as NoAccess.
Guaranteed to find even one-byte stomps and use-after-free.
#cpp
June 9, 2025 at 9:23 AM
Probably one of my favourite tricks for finding memory stomps:
1) On alloc: put allocation at very end of separate page, followed by a NoAccess page.
2) On free: mark allocated pages as NoAccess.
Guaranteed to find even one-byte stomps and use-after-free.
#cpp
1) On alloc: put allocation at very end of separate page, followed by a NoAccess page.
2) On free: mark allocated pages as NoAccess.
Guaranteed to find even one-byte stomps and use-after-free.
#cpp
Pre-order has arrived!
June 5, 2025 at 7:48 AM
Pre-order has arrived!
That was a fun one to figure out and fix.
"Push" and "pop" are no bueno in this case.
"Push" and "pop" are no bueno in this case.
May 30, 2025 at 3:31 PM
That was a fun one to figure out and fix.
"Push" and "pop" are no bueno in this case.
"Push" and "pop" are no bueno in this case.
Live++ can talk to the Switch devkit!
The "easy" part is done, now begins the hard part.
The "easy" part is done, now begins the hard part.
May 20, 2025 at 10:19 AM
Live++ can talk to the Switch devkit!
The "easy" part is done, now begins the hard part.
The "easy" part is done, now begins the hard part.
Did we just hit a bug where the game doesn't remove the collision so you cannot actually walk to Room 46?
If so, I'm pissed. Royally.
If so, I'm pissed. Royally.
May 19, 2025 at 9:36 PM
Did we just hit a bug where the game doesn't remove the collision so you cannot actually walk to Room 46?
If so, I'm pissed. Royally.
If so, I'm pissed. Royally.
Wrong, but right at the top with the biggest font, emanating confidence.
May 5, 2025 at 12:37 PM
Wrong, but right at the top with the biggest font, emanating confidence.
"There are 2 hard problems in computer science: cache invalidation, naming things, and off-by-1 errors."
Managed to get caching stuff wrong, only took... almost 4 years for a customer to finally stumble upon it and make everything crash and burn, confusing me for days.
Managed to get caching stuff wrong, only took... almost 4 years for a customer to finally stumble upon it and make everything crash and burn, confusing me for days.
April 18, 2025 at 3:40 PM
"There are 2 hard problems in computer science: cache invalidation, naming things, and off-by-1 errors."
Managed to get caching stuff wrong, only took... almost 4 years for a customer to finally stumble upon it and make everything crash and burn, confusing me for days.
Managed to get caching stuff wrong, only took... almost 4 years for a customer to finally stumble upon it and make everything crash and burn, confusing me for days.
Want to see some cursed C++ code that makes the MSVC toolchain generate a mangled name which cannot be demangled by any tool?
Anonymous namespaces, another cursed feature in the context of Live++.
Anonymous namespaces, another cursed feature in the context of Live++.
April 10, 2025 at 6:37 PM
Want to see some cursed C++ code that makes the MSVC toolchain generate a mangled name which cannot be demangled by any tool?
Anonymous namespaces, another cursed feature in the context of Live++.
Anonymous namespaces, another cursed feature in the context of Live++.
So I gave BC a spin the last days.
Yeah, I'm convinced. Explorer integration is very handy indeed, the ability to copy stuff in the diff from left <-> right and alter the files is great.
And it does diffs for XLSX and other formats.
Thanks for making the argument guys :).
Yeah, I'm convinced. Explorer integration is very handy indeed, the ability to copy stuff in the diff from left <-> right and alter the files is great.
And it does diffs for XLSX and other formats.
Thanks for making the argument guys :).
April 4, 2025 at 12:08 PM
So I gave BC a spin the last days.
Yeah, I'm convinced. Explorer integration is very handy indeed, the ability to copy stuff in the diff from left <-> right and alter the files is great.
And it does diffs for XLSX and other formats.
Thanks for making the argument guys :).
Yeah, I'm convinced. Explorer integration is very handy indeed, the ability to copy stuff in the diff from left <-> right and alter the files is great.
And it does diffs for XLSX and other formats.
Thanks for making the argument guys :).
For people interested in this: I force-included a "preamble.h" using /FI (there's a similar option for Clang) which looks like the following:
(Godbolt doesn't show all hangul fillers correctly, but it compiles for MSVC, Clang, and GCC)
(Godbolt doesn't show all hangul fillers correctly, but it compiles for MSVC, Clang, and GCC)
March 26, 2025 at 4:00 PM
For people interested in this: I force-included a "preamble.h" using /FI (there's a similar option for Clang) which looks like the following:
(Godbolt doesn't show all hangul fillers correctly, but it compiles for MSVC, Clang, and GCC)
(Godbolt doesn't show all hangul fillers correctly, but it compiles for MSVC, Clang, and GCC)
Never noticed that VS has a "Restart" now, with a surprisingly familiar icon ;). "Restart" is a simple "close, build, start" though.
Someone at MSFT is clearly paying attention to what I'm doing with Live++, same with their recently announced Dynamic Debugging, which has a heavy upfront tax.
#cpp
Someone at MSFT is clearly paying attention to what I'm doing with Live++, same with their recently announced Dynamic Debugging, which has a heavy upfront tax.
#cpp
March 26, 2025 at 12:49 PM
Never noticed that VS has a "Restart" now, with a surprisingly familiar icon ;). "Restart" is a simple "close, build, start" though.
Someone at MSFT is clearly paying attention to what I'm doing with Live++, same with their recently announced Dynamic Debugging, which has a heavy upfront tax.
#cpp
Someone at MSFT is clearly paying attention to what I'm doing with Live++, same with their recently announced Dynamic Debugging, which has a heavy upfront tax.
#cpp
Updated to a future C++43 compiler: this has 'auto auto' types, and even has opt-in 'auto auto' for user-defined types! No more auto vs. no auto.
Works with MSVC, Clang, compiles and runs!
First one to figure out how this works gets a free 1-year individual license for Live++.
Works with MSVC, Clang, compiles and runs!
First one to figure out how this works gets a free 1-year individual license for Live++.
March 24, 2025 at 4:57 PM
Updated to a future C++43 compiler: this has 'auto auto' types, and even has opt-in 'auto auto' for user-defined types! No more auto vs. no auto.
Works with MSVC, Clang, compiles and runs!
First one to figure out how this works gets a free 1-year individual license for Live++.
Works with MSVC, Clang, compiles and runs!
First one to figure out how this works gets a free 1-year individual license for Live++.
"Just patch functions" they said.
"Just fix the relocations" they said.
Trust me when I say that no C++ hot-reload solution handles this correctly, neither commercially available nor open source.
It's hard to handle correctly, but I have an idea on how to pull it off.
"Just fix the relocations" they said.
Trust me when I say that no C++ hot-reload solution handles this correctly, neither commercially available nor open source.
It's hard to handle correctly, but I have an idea on how to pull it off.
March 18, 2025 at 3:50 PM
"Just patch functions" they said.
"Just fix the relocations" they said.
Trust me when I say that no C++ hot-reload solution handles this correctly, neither commercially available nor open source.
It's hard to handle correctly, but I have an idea on how to pull it off.
"Just fix the relocations" they said.
Trust me when I say that no C++ hot-reload solution handles this correctly, neither commercially available nor open source.
It's hard to handle correctly, but I have an idea on how to pull it off.