At work, DC power systems for the telecommunication market. Deceptively complex, think UPSes if they were made of Lego and scaled from kilowatts to hundreds of kilowatts, with installed bases stretching across decades.
At home, ghidra-delinker-extension [1], a Ghidra extension for exporting relocatable object files (or in other words, stripping programs for parts like Doctor Frankenstein). Absurdly complex, got me a poster session at SURE workshop at ACM CCS last year, as a hobbyist.
It's not just about treasure bonds. The mood is shifting in Europe that, maybe, putting all the eggs in the USA basket is perhaps not that great of an idea.
It's the vindication of Gaullism half a century after De Gaulle's death, the concept of strategic autonomy is getting traction in the rest of Europe. It's not that we can't be friends, but that we shouldn't let our future be gambled in the hands of Wisconsin voters every two years.
> the concept of strategic autonomy is getting traction in the rest of Europe.
I think you may have missed the part where Sweden just joined NATO recently. As long as the EU countries are in NATO which is de facto under American leadership, then there will be no strategic autonomy.
Secondly, even if the mood is sour between the US and the EU currently, Germany, Poland and other small eastern states very much still like to have the US as backers if only just for the fact that there is no EU army.
If the EU countries were leaving NATO to form their own military alliance, then I would agree with you but that hasn't happened and maybe never will.
Countries aren't leaving NATO yet, but they are setting up and strengthening alternatives which will make such an option easier. For an example, Canada just joined SAFE.
> If the EU countries were leaving NATO to form their own military alliance, then I would agree with you but that hasn't happened and maybe never will.
The whole point is that, in general, global cooperation has worked well in the last 80 years. Europe doesn't want that to change but the US didn't vote for this guy once, but twice. Fool me once, shame on me, fool me twice, shame on you.
So Europe won't leave NATO, but it is pivoting to being more self sufficient. It's another area where the US is quickly spending the political capital it accumulated for decades.
That can happen with a high stress tolerance too, it just needs to be pushed past the breaking point. Some of us have gone through harrowing experiences and the NPC lifestyle is one coping mechanism among many others.
It took me a minute to understand that this asserts on pointer change within the container, rather than lock/unlock the data structure like a SDL surface.
I recently implemented a custom C++ container for a path whose components could be iterated, backed by a std::string. I just store indices and a reference to the string, such that my iterators are not invalidated if the std::string gets reallocated after being modified. Far less error prone for little added cost.
I wrote a C++ library at work that, among other things, serializes/deserializes to JSON, CBOR and BSON. I don't get that point.
The first two formats I've implemented as fully streaming, the serializers emit into an output iterator one character/byte at a time and the deserializers only need to hold one value at a time (mostly for strings, and not even for CBOR's byte arrays, which are streamed). BSON requires full document instantiation because of byte offsets and is genuinely anti-streaming in its design.
I happen to have implemented a serializer for YAML, fully streaming, mostly as a compact-ish human-readable debug data representation. I can scarcely think of fates worse than having to write a spec-compliant YAML parser.
Isn't biology the applied reverse-engineering of a billion years of DNA evolution, where the laziest solution that works wins, is all written in assembly, with tremendous amounts of dead code and hardly any refactorings?
I've already seen the horrors that lurk inside of poorly-written 90s video games. Hard pass.
Because being smart doesn't mean being wise. Lack of wisdom can fuck up your life far, far worse than lack of intelligence... and I for one am not wise when it comes to people.
ghidra-delinker-extension [1]. It's a Ghidra extension for exporting relocatable object files from programs, which enables all kinds of heresy I've dubbed "Mad Max-driven development".
Somehow, it landed me an academic poster presentation [2] at the 2025 SURE Workshop, part of ACM CCS 2025 held in Taiwan. As a hobbyist playing Doctor Frankenstein with bits instead of gibs in my spare time, that is "received an invitation from Hogwarts"-levels of impossible, given that ACM CCS is the biggest academic cybersecurity conference in the world.
It also somehow grew a small community online around it, mostly within the Windows decompilation scene. It's not finished (as it is the kind of project that is practically endless), but I don't see how I could top that.
I used to. Back at university and at the pub. Graduated almost a decade ago and had the one drink too many a while back. The soul's too broken to draw for now. The skill's there, but the heart isn't.
I got into it again. Get nice pens, a nice notebook. Carry it everywhere. Make time to sit down and draw. The muscle memory is probably still there so the skills return quickly.
It's a nice zen activity. It forces you to go to nice places, slow down and notice stuff.
At home, ghidra-delinker-extension [1], a Ghidra extension for exporting relocatable object files (or in other words, stripping programs for parts like Doctor Frankenstein). Absurdly complex, got me a poster session at SURE workshop at ACM CCS last year, as a hobbyist.
[1] https://github.com/boricj/ghidra-delinker-extension
reply