wouldn't it be crazy if one of these semantically identical programs worked and one didn't. haha wouldn't that be crazy

seen from United States
seen from South Korea
seen from United States

seen from United States
seen from China
seen from China
seen from China
seen from China

seen from United States
seen from South Africa

seen from China

seen from Russia

seen from South Africa
seen from Singapore
seen from United States
seen from Finland
seen from United States

seen from Singapore
seen from United Kingdom
seen from Canada
wouldn't it be crazy if one of these semantically identical programs worked and one didn't. haha wouldn't that be crazy

Anya is live and ready to show you everything. Watch her strip, dance, and perform exclusive shows just for you. Interact in real-time and make your fantasies come true.
Free to watch • No registration required • HD streaming
small devlog for today:
1: I made some adjustments to the internal cablegen parse.h API and handling, to ensure that only full matches of the form [long opt]=[x] or [short opt]=[x] were processed, so that errors weren't thrown when there is overlap between the prefixes of options, like so.
and here's the difference in the callbacks (showing off the new opt->eq field) (side note, I am a huge fan of this type of polymorphism where essentially a this pointer is sent to the callback, with also a void* data, so you can get semi-structured data from the parser)
2: I switched to my new logging library so that formatted logging is more normal
3: Because of 2 letting me log more normally, I implemented a DOT graph output for a more in-depth profiler (the code is still a WIP, it's a little ugly)
This primitive version does still show some patterns, like that for example for the smaller layers, writing takes more time than deduplicating, even with an NVME drive!
(layer 16, showing that the time to write is 111606 ns, vs 2375 ns to deduplicate)
(layer 38, showing that the time to write is 452362 ns, vs 1152870 ns to deduplicate, quite the difference!)
Coming next: Implementing radix sort to potentially save a lot of time in that quite expensive deduplication, and exploring when is exactly the right time to deduplicate
"re blog" if you agree
A simple and lightweight palette maker. Contribute to mid-at-coding/palmak development by creating an account on GitHub.
check out my palette maker :3
when you start seeing errors no one's ever seen before you know you've made it as a programmer

Anya is live and ready to show you everything. Watch her strip, dance, and perform exclusive shows just for you. Interact in real-time and make your fantasies come true.
Free to watch • No registration required • HD streaming
programming as a job is so great. you're telling me I can solve little riddles on the computer AND get a living wage for it?
after weeks of testing, debugging, and working, i have refactored the 200 line function into 137 and change (before image)
death screen for my game :D