Erika

@rrika
790 Followers
280 Following
4.2K Posts
gpu compiler dev (@rrika9 on twitter)
LocationGlasgow

For years, Rust binaries made reversing a nightmare. Modern decompilers only support C, lacking meaningful types, constructs, and language-specific functions. Led by @34r7hm4n, we're releasing our S&P work Oxidizer, the first deep Rust decompiler, built on angr!

Interested? 🧵👇

@GDCPresoReviews all sane halfedge data structures store the different primitives in flat arrays or at least addressable by flat indices.

they then split into 3 major types:

explicit (stores h -> h_next and h -> h_opp as explicit arrays)
implicit-opp (opposite halfedge via ^ 1, this is what OpenMesh/polymesh do)
implicit-next (next halfedge via "+ 1 % 3", this is what the talk uses, it is indeed quite standard in places)

Oh nice, a new variant of SSA for directly encoding closures and higher-order functions just dropped https://arxiv.org/abs/2604.09961
SSA without Dominance for Higher-Order Programs

Dominance is a fundamental concept in compilers based on static single assignment (SSA) form. It underpins a wide range of analyses and transformations and defines a core property of SSA: every use must be dominated by its definition. We argue that this reliance on dominance has become increasingly problematic -- both in terms of precision and applicability to modern higher-order languages. First, control flow overapproximates data flow, which makes dominance-based analyses inherently imprecise. Second, dominance is well-defined only for first-order control-flow graphs (CFGs). More critically, higher-order programs violate the assumptions underlying SSA and classic CFGs: without an explicit CFG, the very notion that all uses of a variable must be dominated by its definition loses meaning. We propose an alternative foundation based on free variables. In this view, $Ï•$-functions and function parameters directly express data dependencies, enabling analyses traditionally built on dominance while improving precision and naturally extending to higher-order programs. We further present an efficient technique for maintaining free-variable sets in a mutable intermediate representation (IR). For analyses requiring additional structure, we introduce the nesting tree -- a relaxed analogue of the dominator tree constructed from variable dependencies rather than control flow. Our benchmarks demonstrate that the algorithms and data structures presented in this paper scale log-linearly with program size in practice.

arXiv.org

-Wportability-avoid-pragma-once in 2026 can only be called concern trolling

(small correction: this specific feature name comes from clang-tidy whose job it is to be pedantic but I stand by my position on include guards vs pragma)

so, umm, this is a 16 bytes intro

16 bytes

!!!!!!!!!!!!!!!!

https://www.youtube.com/watch?v=MvycyU-kLjg

#demoscene #intro

Wake Up! - 16 bytes intro

YouTube

why does my laptop need 5sec to reenter the WiFi after waking instead of like 0.05sec?

sorry, expected too much again, sorry, sorry

absolute #brainworm i've carried for the last 3 years at least

my gift to you

I had a dream that Mozilla were bullied into including a toggle in Firefox that disables all the corpo bullshit (so no tracking, ads, AI, etc.) but they were really pissy about it so they called it "communism mode" and you had to click on a little Karl Marx to activate it
💭 filesystem feature that applies the way permissions work for zip files (=permissions for the root apply to all contained files) to regular directories. trying to change permissions of an item inside a directory with that feature enabled would be ineffective