Sign in

NON-TOXICNo ads · No shady algorithms

iiinova is part of the Atmosphere — an open, public network where you own your identity.

Per Vognsen

@pervognsen.mastodon.social.ap.brid.gy
19 followers 0 following 430 posts

I like programming and understanding how stuff works. My background is in systems programming and game development. 🌉 bridged from ⁂ mastodon.social/@pervognsen, follow @ap.brid.gy to interact

PostsRepliesMedia
Per Vognsen @pervognsen.mastodon.social.ap.brid.gy · 20/10/2026
One of my favorite diagrams in computing.
The 5-loop diagram of BLIS's formulation of Goto's GEMM structure.
021 2
Per Vognsen @pervognsen.mastodon.social.ap.brid.gy · 16/10/2026
Interesting definition of hygge.
"DRTV subject line: Autumn and dark evenings? We got your hygge right here!"Link to History, with a picture of an SS officer. Link to Current Affairs, with a picture of people gathered around a table in a war room.
000 0
Per Vognsen @pervognsen.mastodon.social.ap.brid.gy · 08/10/2026
We are so back.
In-game screenshot of F14 in hangar bay of aircraft carrier, from the newly released Ace Combat 8: Wings of Theve.
010 1
Per Vognsen @pervognsen.mastodon.social.ap.brid.gy · 05/10/2026
More vagueposting with some plots. I'm having to back-solve for some of these in terms of PMU counters based on my understanding of Zen's exclusive L3 design. In the middle of trying to measure how fast it can serve L3 misses from another core's L2, which is […] [Original post on mastodon.social]
000 0
Per Vognsen @pervognsen.mastodon.social.ap.brid.gy · 05/10/2026
That screenshot is after I'd filled the mid-frame holes but without pipelining across frames. Here's after the pipelining (and with a smaller thread pool size to reduce the incident of those worker threads that get randomly unscheduled for 1 ms mid-task and hold up the frame).
200 2
Per Vognsen @pervognsen.mastodon.social.ap.brid.gy · 05/10/2026
Anyway, I'm not quite done with this yet and I clearly should lower the thread count since that mid-task unscheduled thread is basically delaying the whole frame.
100 1
Per Vognsen @pervognsen.mastodon.social.ap.brid.gy · 04/10/2026
I haven't updated Tracy in forever. I just pulled and rebuilt and this greets me when I open the visualizer.
Pop-up: Tracy Profiler is a complex tool with many features. It can be difficult to discover all of them on your own.

The Achievements system will guide you through the main features and teach you how to use them in an easy-to-handle manner. You can use this system as a tutorial how to use Tracy Profiler.

Would you like to enable achievements? Yes/No
000 0
Per Vognsen @pervognsen.mastodon.social.ap.brid.gy · 01/10/2026
Trying to kill the myth of immediate-mode UI being power inefficient.
Debug stats overlay from WIP immediate-mode UI.
001 1
Per Vognsen @pervognsen.mastodon.social.ap.brid.gy · 21/03/2026
For every three or four letter word, there's an almost 100% chance it has a funny or obscene meaning in some real-world language.
Steam thumbnail for a game called LORT, which means "shit" in Danish.
000 0
Per Vognsen @pervognsen.mastodon.social.ap.brid.gy · 05/03/2026
Parsing finally.
/// Item = Open Lines Close | Atom
pub fn parse_item<S: TokenStream, F: ItemFolder<S::Token>>(s: &mut S, f: &mut F, line: &mut F::LineFolder) -> F::Item {
    if s.is_opening() {
        let group = f.group_open(line, s.next());
        let lines = parse_lines(s, f, group);
        f.group_close(line, lines, s.next())
    } else {
        f.atom(line, s.next())
    }
}

/// Line = Item*
pub fn parse_line<S: TokenStream, F: ItemFolder<S::Token>>(s: &mut S, f: &mut F, lines: &mut F::LinesFolder) -> F::Line {
    let mut line = f.line_start(lines);
    while !s.is_separating() {
        let item = parse_item(s, f, &mut line);
        f.line_item(&mut line, item);
    }
    f.line_end(line)
}

/// Lines = (Line Sep)* Line
pub fn parse_lines<S: TokenStream, F: ItemFolder<S::Token>>(s: &mut S, f: &mut F, group: F::GroupOpen) -> F::GroupLines {
    let mut lines = f.lines_start(group);
    loop {
        let line = parse_line(s, f, &mut lines);
        if s.is_closing() {
            return f.lines_end(lines, line);
        } else {
            let line = f.lines_line(lines, line);
            lines = f.lines_sep(line, s.next());
        }
    }
}
100 1
Per Vognsen @pervognsen.mastodon.social.ap.brid.gy · 02/03/2026
You can always count on The Economist to be a cheerleader for Western imperialism.
The Economist
"At last, a just war"
11 hours ago
000 0
Per Vognsen @pervognsen.mastodon.social.ap.brid.gy · 28/02/2026
Love to find random marginalia in books or in this case a scanned paper.
Scan of the first page of the original Robin Hood hashing paper, with hand-written, barely legible marginalia .
000 0
Per Vognsen @pervognsen.mastodon.social.ap.brid.gy · 27/02/2026
What is going on in Redmond...
Sender: Windows Insider Pro
Title: You can do more with Notepad
000 0
Per Vognsen @pervognsen.mastodon.social.ap.brid.gy · 21/02/2026
@dpiponi I just got this on YT (I guess UBO filters haven't updated yet). I'm not even sure what they're saying to communicate.
YT Premium ad: 1 subscription. 2 apps. That's Premium.
000 0
Per Vognsen @pervognsen.mastodon.social.ap.brid.gy · 20/02/2026
Aside from PTSD from the computational geometry and numerical robustness issues, the rectilinear polygon solution reminded me that the first formalization of the proof of the Jordan curve theorem used rectilinear polygons and even "digitization".
A simple case of the Jordan curve theorem. Finite sets of edges can be represented on a sheet of graph paper by tracing along its guidelines from intersection to intersection, excluding points of intersection. The support of the 
finite set of edges is the subset of the plane consisting of the closures of all the edges.

We call a finite set of edges a segment if its support is a simple arc in the plane, that is, a continuous injective image of an interval in the real line. The endpoints of the simple arc are called the endpoints of the segment. A 
simple closed curve in the plane is the continuous image of a unit interval under a function that is injective on the complement of an endpoint and that takes the same value at the two endpoints. We call a finite set of edges a 
rectagon if its support is a simple closed curve. The term is intended to suggest rectilinear polygons. It turns out that a Jordan curve theorem for rectagons will deliver the full Jordan curve theorem.

The walk that we make around a general polygon (Figure 1) disappears from the rectagon version. Instead, a unit square is moved—like a token on an infinite chessboard—from square to square, up or down, to the left or right, or 
diagonally, from an arbitrary starting square until it reaches one of the two unit squares along a given edge of a given rectagon (Figure 2).
000 0
Per Vognsen @pervognsen.mastodon.social.ap.brid.gy · 11/02/2026
Quirks like "pretreater". You can tell the translation is by a professional translator who just doesn't know the idiomatic English equivalents of a lot of things. "Sites of call" and so on.
Excerpt of ToC from LiSP book with a section called "Pretreater"
000 0