
Christian Hofer
901 posts

Christian Hofer
@chmhofer
Father of three. Gemini at work, Kimi at home.




I reflected on my achievements in 2025. It's time to plan for 2026. My aspirational goals for the upcoming year: 1. Learn a new programming language 2. Present at a C++ conference 3. Start reading consistently 4. One secret goal I hope to unveil in 2 months Nothing truly ambitious. My life has changed dramatically in 2025. I never could've imagined the turn it would take. Jan 2025 looked completely different from Dec 2025. Both in terms of personal growth and my dreams. I struggle a bit with seeing a vector for my future. I tried many things in life. I want to try more, but I know it's not the right time or they don't align with my values atm. I demolished my past self. It's time to build upon a new foundation. Let's see how it goes. I hope you have something to look forward to. Happy New Year, everyone!



For 38 years, computer scientists believed Dijkstra's algorithm was optimal for sparse graphs. The logic seemed airtight: Dijkstra sorts vertices by distance. Sorting has a lower bound of O(n log n). Therefore shortest paths can't be faster. 5 researchers proved the assumption wrong. The trick: combine Dijkstra's priority queue with Bellman-Ford's dynamic programming. Divide and conquer on vertex sets. Shrink the frontier. Result: O(m log^(2/3) n) First improvement for directed graphs since Fibonacci heap in 1987. Tsinghua. Stanford. Max Planck. 17 pages.





I'm non-ironically convinced this is the best representation of a tree in C++




@ChShersh Yep, I mean scope-based automatic destructors specifically, aka RAII. As for variadic templates, I use them in a lot of places! My ECS implementation (bitbucket.org/lisyarus/pseme…) is heavily based on them, e.g. here's how I create an entity - world.create() has to use variadics


JDK 26: - build-in HTTP/3 - AOT caching for lightning-fast startup - project Valhalla: value objects, goodbye memory overhead, hello CPU cache - project Loom: structured concurrency making async code as easy as sync - project Amber: pattern matching & data-oriented programming - project Babylon: running pure Java natively on GPUs for AI




Starting Thursday, we'll be updating our revenue sharing incentives to better reward the content we want on X: We will be giving more weight to impressions from your home region—to encourage content that resonates with people in your country, in neighboring countries and people who speak your language. While we appreciate everyone's opinion on American politics, we hope this will disincentivize gaming the attention of US or Japanese accounts and instead, drive diverse conversations on the platform. We invite creators to start building an audience locally. X will be a much richer community when there's relevant posts for people in all parts of the world.


If there is a status attached to height – and there is – then 5ft 11in doesn’t quite measure up. Six foot is manly, commanding. Five-11 is acceptable, unremarkable. But a near-miss. It’s the upper end of almost, the FT's Alex Bilmes writes. ft.trib.al/Cy2ronS



Which language do you think is best?😍😍😍


Pointers in C++



I don't think Rust is the best programming language for LLMs. The only reason why Greg said this is because Rust limits the LLM from making mistakes by not compiling shitty code, but the LLMs still suggest using unsafe! to bypass security rules. Therefore, I would say that Go is the best — if there is any "best" language for LLMs. Since LLMs are based on next-token prediction, it's more important that the code looks almost the same to get a good result. Go was designed to make every app around the globe look almost the same; for instance, there is only one way to make a loop compared to Rust, which has at least five that I could think of (loop, for, while, while let, and map). I want the best language to be rust tho







