TL;DR - It sets a global flag so that when the OS allocates memory in your application, it specifically sticks the allocated chunk at the end of the page, with a special no access page after each used page. Then any buffer overrun becomes immediately obvious!
What happened We have a relatively simple standalone Windows MFC desktop app (old school) whose sole purpose is to take user inputs and call into a third party library with them.
TL;DR - Recent advancements with LLMs are awesome, but also overhyped. I think too much money is after too few novel ideas. We’re fueled by “irrational exuberance” (thanks Alan Greenspan) again - and normal people will somehow get stuck with the bag. Though if you can get past the hype, maybe there are “this tech isn’t currently trendy” discounts to be had.
Disclaimer: I’ve been wrong before Still - I am aware that this could prove to be the most wrong thing I’ve ever posted.
It’s all over the place:
As a software engineer your job isn’t to write code, but to solve problems.
It’s BS. I don’t disagree with it, you can’t really disagree with something so uselessly broad. This quote is basically true of every role in any organization, especially on the product side. “As a firefighter, your job isn’t to put out fires but to solve problems.” Well, true… but specifically, the very particular problem of a house being on fire.
TL;DR: I saw a random dice game on social media with no satisfying solutions in the comments, so I played around with it using simulation to test my intuition and then worked out the optimal strategy using dynamic programming.
The game The game has $n$ rounds. You start with $0$ dollars and a 20 sided die (d20) showing the number $1$. Each round, you can take money equal to the number shown, or reroll.
TL;DR - Misc notes from the 2024 Advent of Code in Python and Ocaml and a little bit of Golang.
The repo with my solutions to the Advent of Code 2024 problems can be found here. This is a bunch of random notes from this year’s event, no full write-ups or anything for now just general notes and take-aways.
Languages Learned a bunch of Ocaml (even though I didn’t use it everyday as intended)