@pervognsen@mastodon.social avatar

pervognsen

@pervognsen@mastodon.social

Performance, compilers, hardware, mathematics, computer science.

I've worked in or adjacent to the video game industry for most of my career.

This profile is from a federated server and may be incomplete. Browse more on the original instance.

pervognsen, to random
@pervognsen@mastodon.social avatar

Downside of Denmark: I'd forgotten all ISPs block scihub, libgen.is, etc. Stuff like this is just a subsidy for all the scammy VPN providers.

pervognsen, to random
@pervognsen@mastodon.social avatar

This looks cool. Basically a polyglot version of go fmt's rewrite rules. https://ast-grep.github.io

pervognsen, to random
@pervognsen@mastodon.social avatar

Somehow I doubt it. Headline: "Microsoft is finally getting its native Windows UI platform act together with WinUI 3 and WPF."

pervognsen, to random
@pervognsen@mastodon.social avatar

I've never fully worked out how best to articulate my dissatisfaction with the usual way people talk about pluggable allocators in systems programming. Sure, I'd like to have some standard for fallible, pluggable allocation at the lower level of a language's standard library. But the entire mindset of plugging together allocators and data structures is something I find dubious and at best it feels like a poor compromise.

pervognsen, (edited ) to random
@pervognsen@mastodon.social avatar

I assume this isn't a problem for EEs but for CS types who are taught logic gates, etc, in their curriculum I wonder if timing should be included in a first course. I'm still trying to help the person I mentioned earlier in a private chat and it sounds like that's the source of almost all their confusion. They think logic gates are instant and one of the "counterexamples" they came up for why delays seem logically inconsistent is y = xor(x, not(x)). Which is a standard edge detector.

pervognsen, to random
@pervognsen@mastodon.social avatar

Do people still use LTspice as the default free analog circuit simulator? Anything better?

pervognsen, to random
@pervognsen@mastodon.social avatar

The age of bad AI-generated logo art for open source projects is upon us.

pervognsen, to random
@pervognsen@mastodon.social avatar

Who remembers this awesome jankfest? The IK was bleeding edge for 1998 and when that indie game Hellish Quart came out I remember getting flashbacks to Die By The Sword.

pervognsen, (edited ) to random
@pervognsen@mastodon.social avatar

I was trying to help someone on reddit yesterday who was writing their first digital logic simulator and got confused on how to handle combinational loops when simulating the internals of an SR latch. I wish someone had explained it to me in terms of discrete-time state vectors instead of directly jumping into event-driven simulation, which is mostly just a sparse optimization of the state vector approach. https://gist.github.com/pervognsen/78b2baeac7f6ffba9fd6b41b6e6db284

pervognsen, to random
@pervognsen@mastodon.social avatar

I haven't done any real Vulkan programming since 1.0. Are there any good guides that skip all the legacy junk and only show the streamlined 1.3 way of doing things?

pervognsen, to random
@pervognsen@mastodon.social avatar

Nothing is new: hash consing/value numbering in 1958. On Programming of Arithmetic Operations, A. P. Ershov, https://dl.acm.org/doi/10.1145/368892.368907

pervognsen, to random
@pervognsen@mastodon.social avatar

One of my favorite hip-hop instrumentals: https://www.youtube.com/watch?v=s6Yyb3N9IuA. I was listening to J Cole's Everybody Dies and a YouTube commenter had just written "Kenny Dope" without any further context or explanation and I immediately understood what it meant.

pervognsen, (edited ) to random
@pervognsen@mastodon.social avatar

I was reminded of this design topic by a @vurtun post. The traditional UI paradigm for scrolling/pagination is still based on discrete indices or layout coordinates. For this kind of pagination there's a lot of advantages to instead using a semantically meaningful sorting key. It's inherently more stable with respect to changes in the underlying set, e.g. indices can shift around if new items are inserted, and layout coordinates are even more unstable if the size of layout elements can change.

pervognsen, to random
@pervognsen@mastodon.social avatar

Trying to hit all the Danish classics, today I went to the baker several hours before morning opening time and bought some grovbirkes straight from the oven.

pervognsen, to random
@pervognsen@mastodon.social avatar

PSA: If you construct a B-tree with splitting-based inserts then constructing the tree from items in key-sorted order is actually the worst case for packing efficiency. Every node/leaf ends up exactly 50% full except for the right spine. When you bulk-construct a tree from scratch from sorted items, you want to do the construction bottom up and you don't want to use splits. That's linear time and yields an optimally packed tree (everything full excerpt for a partially packed right spine).

pervognsen, to random
@pervognsen@mastodon.social avatar

Duane Merrill's Parallel Scan for Streaming Architectures is packed full of information on scan algorithms for GPUs (and plenty of it is still relevant despite its age), but I also appreciate all the little observations. E.g. trying to eliminate a 2-way local shared memory bank conflict is probably a fool's game. If removing that last bank conflict comes at the expense of only 1 extra instruction, you're back to even; any more than that, and you've lost.

https://libraopen.lib.virginia.edu/downloads/6t053g00z

pervognsen, (edited ) to random
@pervognsen@mastodon.social avatar

If you want a low-level intermediate language for reducible CFGs, it boils down to labeled break/continue. You can either have one type of block and two types of branches (break and continue). Or you can have two types of blocks and one type of branch. Wasm chose the latter: the two types of blocks are 'block' and 'loop' where branching to a 'block' is a break and branching to a 'loop' is a continue. That seems like the superior choice if you want to prioritize streaming compilers as Wasm does.

pervognsen, (edited ) to random
@pervognsen@mastodon.social avatar

Another thing I noticed in the SDL 3 preview (which was apparently already added in vestigial form later in SDL 2) is that they have support now for a callback-based life cycle so you can integrate properly with platforms which expect that without having to resort to inversion-of-control hacks like fibers for interop. While I always liked the "app controls the main loop" aspect of the classic SDL event pumping model, that ship has sailed if you care about cross-platform support.

pervognsen, to random
@pervognsen@mastodon.social avatar

Does anyone have a list of references to Joe Seigh's work on proxy collection? I've seen @pkhuong mention it a few times but the origins of his work seems even harder to track down than some of the early Thomasson and Vyukov lock-free stuff.

pervognsen, to random
@pervognsen@mastodon.social avatar

There's a retired couple living in my mom's apartment complex who seems to spend 12 hours every day sunbathing outside during the summer months. They did this when we were visiting last year and they're continuing the streak apparently. After you've lived in a warm climate for a while, the whole idea of sunbathing starts to seem obscene, but this is something else.

pervognsen, (edited ) to random
@pervognsen@mastodon.social avatar

Had a very weird first 24 hours back in Europe until I realized (after noticing this for two different kinds of bottles with screw-off plastic caps) that the plastic caps don't detach anymore from the collar. That's new since last year. EU regulation apparently?

pervognsen, (edited ) to random
@pervognsen@mastodon.social avatar

Fun visualization of low-rank matrices from the lecture I boosted earlier today.

Incidentally, I remember there were some papers on separable/low-rank BRDF approximations: BRDFs are 4-dimensional and you can approximate them as a sum of outer products of 2-dimensional texture maps. I remember one paper by Michael McCool but I don't think it got picked up or went anywhere in practice. Nowadays I assume people would just use NN-based approximations.

pervognsen, (edited ) to random
@pervognsen@mastodon.social avatar

In other reverse culture shock news, I regret to inform you that using paper to wipe after going to the toilet is still dirty and barbaric. Time for the EU to intervene with regulations to fix this atavistic practice.

pervognsen, (edited ) to random
@pervognsen@mastodon.social avatar

Thanks to whoever mentioned Vivaldi the other day. I've been giving it a try and liking it so far. Not sure how I feel about it still being Chromium based but I like pretty much everything Vivaldi is doing in terms of usability and design, so far.

pervognsen, (edited ) to random
@pervognsen@mastodon.social avatar

This GH issue is pretty funny, but seems to have finally gotten the ball rolling on the Wayland side after the threat/worry that SDL 3.0 might not support Wayland natively (more specifically, it would not select SDL's Wayland backend by default) due to some issues that made it untenable for games. https://github.com/libsdl-org/SDL/pull/9345

  • All
  • Subscribed
  • Moderated
  • Favorites
  • JUstTest
  • kavyap
  • DreamBathrooms
  • thenastyranch
  • magazineikmin
  • InstantRegret
  • GTA5RPClips
  • Youngstown
  • everett
  • slotface
  • rosin
  • osvaldo12
  • mdbf
  • ngwrru68w68
  • megavids
  • cubers
  • modclub
  • normalnudes
  • tester
  • khanakhh
  • Durango
  • ethstaker
  • tacticalgear
  • Leos
  • provamag3
  • anitta
  • cisconetworking
  • lostlight
  • All magazines