Elektrine
Log in Register
Paige Chat Timeline Gallery Friends Email Drive DNS Private DNS Domains VPN Kairo Nerve
Remote

Dave Anderson

@danderson@hachyderm.io
mastodon 4.7.3
  • Open on hachyderm.io

Software developer by day, other kinds of nerd the rest of the time. ADHD says current hobbies are 3D printers, building CNC machines, old computers in space, and general shitposting on whatever grabs my interest.

Nazis, TERFs, other terrible people: please go away, there's nothing for you here.

Follow reqs welcome from humans and other sentient entities. Please have at least some evidence of same in your profile!

3908 Followers
417 Following
50 Posts
Joined November 25, 2022
ASL:
30s / he/they / BC, Canada
Homepage:
https://dave.tf
Blog:
https://blog.dave.tf
Cats:
Two <3
Open post
Dave Anderson @danderson@hachyderm.io
· 2mo ago
I enjoy that in Balatro, the score is a float, so with a sufficiently broken setup you can score NaN. Furthermore, with a broken enough setup you can keep playing rounds until the score you have to hit is also NaN. At which point you must lose, because NaN != NaN. I just find it funny that two arguably bugs combine into forcing even the stupidest possible run to end.
144
9
32
0
Open post
Dave Anderson @danderson@hachyderm.io
· 1mo ago
Replying to
Oh no, I see. My code has a bug which makes it panic after 5 iterations. LLVM seemingly noticed this while unrolling the loop and so turned all my code into a couple hardcoded printlns followed by a panic. I mean, it's not wrong, it's just an asshole
24
0
9
0
Open post
Dave Anderson @danderson@hachyderm.io
· 6mo ago

Canadian friends who drive: Transport Canada is soliciting feedback on ultra-bright vehicle headlights and headlight glare at night.

I encourage you to give them data on your experience, so that they might update the regulations to stop SUVs from routinely blinding me with their factory-fitted Nuclear Fireball 9000 LED Darkness Devastators Shock And Awe Edition headlights aimed directly into my face and eyes.

https://tc.canada.ca/en/corporate-services/consultations/canadian-experience-vehicle-headlights-glare-night

tc.canada.ca
140
18
217
0
Open post
Dave Anderson @danderson@hachyderm.io
· 3mo ago
Boosted by @trending@homestead.social
KDE updated on my work machine, and dragging windows around now does the compiz jello wibble effect. I suspect it wasn't intentional to turn that effect on in the update, but it's giving me a surprising amount of joy. Remember when computers were a bit silly and people did stuff with them for fun? KDE remembers.
26
0
12
0
Open post
Dave Anderson @danderson@hachyderm.io
· 1mo ago
Replying to
Ah yes here we go, I added a tiny bit more code and somehow that turned all the assembler output into complete madness where it's doing operations that seem entirely unrelated to what the source code says. I expect that once I unravel it, it'll have figured out some 27-dimensional reframing of what the code was doing that lets it do what I asked in a single completely cursed AVX-512 instruction or something. Like, even the loop iteration counts have turned into a number that appears nowhere in the source code.
5
1
1
0
Open post
Dave Anderson @danderson@hachyderm.io
· 2mo ago
Replying to

I've just found from_yeet() in the bowels of core:: and I'm now convinced rust is just fucking with me.

7
1
1
0
Open post
Dave Anderson @danderson@hachyderm.io
· 23mo ago
Replying to
I remember it because seeing the Anaconda slowly pull up to a stop outside my windshield and fire fuel limpets (a) looked incredible in VR out the panoramic cockpit of my rubbish little freighter and (b) this was a player who clearly had the resources to do whatever they felt like in this game, nothing was off limits. And they chose to spend their evening hanging out at the IRC equivalent of the fire house with other like-minded people, running some gas cans to people in need. That's just neat!
312
30
15
0
Open post
Dave Anderson @danderson@hachyderm.io
· 2mo ago
hmkay so a few teeny tiny teething problems with my simd bitpacking code, it seems...
4
1
0
0
Open post
Dave Anderson @danderson@hachyderm.io
· 6mo ago
Replying to
@ocean Archive Team are on it, it seems: https://wiki.archiveteam.org/index.php/Angelfire . Probably best to go check on the status over there on their IRC. It's very easy to contribute to Archive Team rescue ops, they have a VM image for volunteers to run that joins their swarm and contributes some bandwidth to the effort. EDIT: looks like maybe not actively crawling it right now, but if Angelfire's death is making you have activist feelings about preserving the old web, ArchiveTeam is the crew for you! They have a swarm of crawlers that can be retasked to new things, they may just need someone who cares to write the necessary code to spin up the crawl. Not sure if you can go from zero to useful in the timeframe Angelfire needs, but if you want to be a preservation activist in general, you'll probably have more impact with them than alone.
wiki.archiveteam.org

Angelfire - Archiveteam

20
15
6
0
Open post
Dave Anderson @danderson@hachyderm.io
· 6mo ago

The Nom parser combinator library in rust has a book, like many rust libraries. Naturally it's called the Nominomicon.

I approve.

19
0
4
0
Open post
Dave Anderson @danderson@hachyderm.io
· 2mo ago
Boosted by @GroupNebula563@mastodon.social
Bahahah it works, oh my god it's so horrible and it works
5
0
3
0
Open post
Dave Anderson @danderson@hachyderm.io
· 5mo ago

Some people just have too many skillz.

I was watching the video for the new mountain erosion shader that's been going around (https://www.youtube.com/watch?v=r4V21_uUK8Y , it's a treat! There's also a blog post if you prefer reading).

So then I went looking at what other videos the channel has, and found one on using pathfinding to draw plausible/realistic paths in a procedurally generated world (https://blog.runevision.com/2016/03/note-on-creating-natural-paths-in.html).

That made me go "oh that sounds a bit like that amazing layered procedural generator framework I saw at some point that let you do stuff like that"

... and yeah, turns out, it's kinda similar because that is also yet another remarkably nice thing that Rune Johansen also created (https://runevision.com/tech/layerprocgen/). They're a one-person game tech army, I tell you what.

Fast & Gorgeous Erosion Filter Explained

15
0
5
0
Open post
Dave Anderson @danderson@hachyderm.io
· 23mo ago
Replying to
The details are fuzzy, but I remember I was still a mid-level player with a ship whose main asset was affordability and opportunities to amass enough money to get the really nice ships. I was rescued by an Anaconda, the third most expensive ship in the game according to the wiki. The insurance payment on it alone was more than my entire game net worth at the time. In naval terms, it's like a 300ft superyacht coming to the rescue of a rusty fishing trawler.
151
2
4
0
Open post
Dave Anderson @danderson@hachyderm.io
· 2mo ago
Replying to
To be clear the bemusing part is that `collect()` works by invoking `Vec::from_iterator(iter)`, and _that_ iterator is an iterator of just the values, not value-or-error. There is some kind of cursed magic taking place that transforms an iterator of Result into an iterator of V, which lets Vec construct itself streamily by iteration, but also short-circuits the entire computation and returns an error if it encounters one. I think? I'm so confused.
3
1
0
0
Open post
Dave Anderson @danderson@hachyderm.io
· 2mo ago
Replying to
I started down this adventure because I had an Iterator>, and I wanted a Result>. So I thought "well I guess I'll try the thing that definitely won't work and just do `foo.iter().collect()`, but that'll make a Vec>"... And then it compiled fine and gave me the thing I wanted, so I was intrigued and wanted to find out why. One headache later, I kind-of regret asking.
3
1
0
0
Open post
Dave Anderson @danderson@hachyderm.io
· 3mo ago
Zero days since reading a blog post about switching programming languages that reminded me of advice I once saw: "this isn't an airport, you don't have to announce your departure"
4
0
2
0
Open post
Dave Anderson @danderson@hachyderm.io
· 6mo ago

Incus is so nice. You can really tell that it's being built by people who give a shit about UX and doing things right.

Case in point, I created and booted a VM, then started adding host bind mounts to it.

First of all the UX is the same for containers and VMs, you just tell it you want a disk with a particular source/destination, and Incus figures out internally whether to materialize that as bind mounts, virtio-fs mounts, 9p mounts, whatever.

But also as I was creating the new disks, I assumed that I'd have to powercycle the VM to have them show up. But... nope, as I created each disk it immediately appeared inside the VM. Incus went and twiddled the configuration of the running qemu instance to add the new devices, and then the Incus agent inside the VM noticed the new devices, saw that they came with a target mount path, and just went ahead and mounted them.

The VM base images are similarly well wired. For example, the Incus agent correctly orders itself to run before local-fs.target is reached, so that it can make sure all the VM's configured storage is properly mounted prior to letting most "normal" services start up, so you don't have any boot-time races on mounts being available.

It's a bunch of little "obvious" things, but they just keep adding up. I've clearly been conditioned to expect stuff to be janky and full of sharp edges, and therefore Incus keeps surprising me by being completely reasonable and useful. ❤️

15
0
5
0
Open post
Dave Anderson @danderson@hachyderm.io
· 5mo ago

Today in little software microaggressions: Google's slides thing calls this font "Sans Serif".

Look I don't mean to be picky, but THIS FONT LITERALLY HAS SERIFS, THEY'RE RIGHT THERE.

This wasn't wrong at some point in the past. I swear to fucking god the AI gold rush is corroding and rotting even basic things like "maybe the font name should describe the font". What the fuck are we even doing

12
3
4
0
Open post
Dave Anderson @danderson@hachyderm.io
· 6mo ago
Replying to
Wow, turns out by complete coincidence, I posted this shitpost on the anniversary of her death. Well if that isn't proof enough for you, you simply don't want to be convinced IMO.
12
0
0
0
Open post
Dave Anderson @danderson@hachyderm.io
· 6mo ago

Wow due to reimaging a machine I was exposed to youtube without DeArrow today, and jfc, it's hilariously hostile.

I can't recommend buying DeArrow enough. $1 minimum purchase (secretly $0 if you really can't afford it), pay as much as you like, and it replaces the clickbait thumbnails and titles with stills from the video and sane, informative titles. I can't overstate how much it improves the experience of existing near youtube.

11
0
3
0
Open post
Dave Anderson @danderson@hachyderm.io
· 6mo ago

I have the very first few series of Have I Got News For You (early 1990s) on as background noise, and the news stories are bizarrely timeless: UK court being transphobic, war in the middle east, Keir Starmer being a berk, jokes about the sex pest formerly known as prince Andrew...

11
0
0
0
Open post
Dave Anderson @danderson@hachyderm.io
· 5mo ago
Replying to
@fasterandworse@hci.social ... wow I didn't expect the cry into the void to actually work! THANK YOU
9
1
0
0
Open post
Dave Anderson @danderson@hachyderm.io
· 5mo ago

In the wake of my Adventure with text rendering earlier, a horrible idea has lodged itself into my brain: someone should make a typeface called Sans, and that typeface should have a serifed font within it called Sans Serif.

8
2
2
0
Open post
Dave Anderson @danderson@hachyderm.io
· 5mo ago
Replying to
Anyway, https://deepmind.google/research/publications/231971/ might be an interesting read, although for me at least it'll involve a bunch of pre-work to catch up to the ideas and frameworks it builds on. The paper does have a very funny disclaimer at the top that basically says "I don't think AI can ever be conscious. My employer wants to make it clear that their strategic business direction is incompatible with this conclusion." Good on them for allowing publication I suppose, but it's a very funny thing to demand to have in writing at the top of the paper.
deepmind.google
6
1
3
0
Open post
Dave Anderson @danderson@hachyderm.io
· 6mo ago

Another bit of praise for incus. Chatter about Archive Team earlier reminded me that I have a server could use an archive warrior. The VM is distributed as a .ova, so I was expecting some annoyance to get it ported to incus.

But no, incus once again defied my expectations by having an incus-migrate tool that seemingly can import pretty much any VM image, or container image, or disk image. It popped up a wizard, I told it I wanted to import a .ova, pointed at the image (I'd downloaded it already but it can even fetch it from a URL for you!), couple questions about what storage pool do I want to use, does the VM support UEFI and secure boot...

... and that was it. A bit of crunching later to convert the disk images, and I now have an `archive-warrior` incus VM, happily beavering away at roblox's rate limiter.

Seriously every time I walk up to incus expecting even a mildly annoying time, I find the thing I need right there, with a clean UI, it does the thing I expect and nothing weird... If it could just leave a chocolate on my pillow, it'd be the perfect software.

6
0
1
0
Open post
Dave Anderson @danderson@hachyderm.io
· 2mo ago
Replying to
My understanding of whatever the hell's going on now revolves around a non-public function which has the following reassuring statement in its docstring: // These are used only as part of implementing the iterator adapters. // They have mediocre names and non-obvious semantics
1
1
0
0
Open post
Dave Anderson @danderson@hachyderm.io
· 5mo ago
Replying to
I think you can tell it's somewhat old, just because the silkscreen printing quality looks fairly coarse to me, compared to what a fab would be able to do today? Or maybe it's just printed very small, from the scale clues this is probably what, around 10mm total height?...
4
0
1
0
Open post
Dave Anderson @danderson@hachyderm.io
· 6mo ago
Replying to
As a random example: apparently the privacy policy changed in August last year. Oh no, scary, what horrors lurk within? Well, textual diffs are a little messy, and obviously for big changes you'd want a lawyer to reevaluate the whole document in context not just the changes... But https://github.com/tailscale/terms-and-conditions/commit/1f1f891b38d8b9d86132b9c502391b608338f589 makes it pretty easy to see that there were a bunch of minor verbiage changes that don't result in a semantic change, and that apparently tailscale switched to a new vendor for processing GDPR inquiries. Isn't that a lot fucking easier than "we changed our privacy policy, here's the new one, no you can't see the old one any more, good luck lol"
github.com
4
0
0
0
Open post
Dave Anderson @danderson@hachyderm.io
· 5mo ago
Replying to
@swetland As I scrolled my brain saw "there's a tutorial cat" and I got briefly excited.
3
1
0
0
Open post
Dave Anderson @danderson@hachyderm.io
· 5mo ago
Replying to
I just realized the font accidentally changes halfway through the deep-fried text, "I" has serifs at the start but not in the second section. This was completely unintentional, and I have the original mutable text so I could fix it... But you know what, it's actually better like this.
3
0
0
0
Open post
Dave Anderson @danderson@hachyderm.io
· 5mo ago
Replying to
@PaulM I refer you to the post you replied to
3
0
0
0
Open post
Dave Anderson @danderson@hachyderm.io
· 6mo ago

In the midst of all the spam (particularly AI startup spam these days, fuck off unsolicited pitches), I now genuinely look forward to the periodic Misumi marketing email I apparently signed up for at some point. Amid all the "AI for making soup" dross, they just come along with "look at this neat linear actuator! Also we have Aluminum Beam in 4 more shapes now! Here's a deep dive into pneumatic motion systems!"

My only complaint is that they frequently use "the Mech lab" to mean mechatronics, which I feel is false advertising.

3
0
0
0
Open post
Dave Anderson @danderson@hachyderm.io
· 8mo ago
Replying to
@jon_valdes@mastodon.gamedev.place I don't know if there's any official source, it's a recording of American Airlines's "advanced aircraft maneuvering program" course for airline pilots. One copy: https://www.youtube.com/watch?v=5ESJH1NLMLs&list=PLKbkRY_4dQ_uObyC6sVgtmxGohaSPj9YR Be warned, the A/V quality is pretty bad, but the speaker and content is worth it, imo. (also one thing to note if you're not familiar with flying big planes: when the speaker makes a gesture of double-clicking a button on the flight controls, that's how you rapidly disconnect the autopilot and autothrottle)

Children Of The Magenta Line

5
2
1
0
Open post
Dave Anderson @danderson@hachyderm.io
· 6mo ago

Playing more Oxygen Not Included, and I'm really enjoying playing it somewhat realistically, without exploit-adjacent mechanics. Stuff like liquid locks that can somehow hold back multiple atmospheres of pressure differential or hold a perfect vacuum without the liquid boiling. Or contraptions that rely on the specific details of the physics simulation to magically sort gasses or teleport objects.

It makes things messier, which I find fun because it forces you to compensate for things like gasses getting where they shouldn't be and generally try to engineer resilient things. It also means you can't just play on autopilot copy-pasting the min-maxed optimal designs, because pretty much all of them rely on exploit-y behavior.

No shade on folks who prefer to play with those mechanics, to be clear. It's just a game, there's no wrong way to play, and it's not unreasonable to take the view that if the mechanic wasn't patched out in the many years the game's been around, they're intended mechanics to some degree. I just found that I wasn't enjoying having a whole bunch of magic things that only work because of incidental quirks of the implementation.

3
1
0
0
Open post
Dave Anderson @danderson@hachyderm.io
· 6mo ago

Today I'm finally learning about nftables in detail, and the result is that I'm quite sad. It comes very close to replicating the really useful, composable semantics of the Windows packet filter, but a couple blunders result in a system that ends up being _less_ expressive than classic iptables for common modern needs like "docker needs to have a few specific opinions about a few packets, in addition to global system policy".

3
0
1
0
Open post
Dave Anderson @danderson@hachyderm.io
· 5mo ago
Replying to
@th@social.v.st Wow, what a silkscreen! But yeah different vibe (that I also love)
2
0
0
0
Open post
Dave Anderson @danderson@hachyderm.io
· 8mo ago
Replying to
@jon_valdes@mastodon.gamedev.place there is a great series of class videos on youtube about this and making pilots aware of automation dependence and the tragic consequences. It coined the great term "Children of the Magenta", named for the programmed flight path that the autopilot flies showing up in magenta on the flight displays.
2
3
0
0
Open post
Dave Anderson @danderson@hachyderm.io
· 6mo ago

huh, someone did the thing I was wishing for to the port control protocol, and I somehow missed it. There's a specified anycast IP you can send port mapping requests to, to hit the nearest on-path PCP server.

The spec's 10 years old, what are the chances anyone bothered to implement it...

1
0
0
0
Open post
Dave Anderson @danderson@hachyderm.io
· 6mo ago
Replying to
@imrehg @ocean The wiki sometimes lags ground truth, especially for things that suddenly become endangered. It's possible AT aren't on this, but the IRC channel would be the place to find out for sure.
1
4
0
0
Open post
Dave Anderson @danderson@hachyderm.io
· 6mo ago
Replying to
@imrehg @ocean But yeah if Angelfire doesn't currently show up in the project list, that's a good indicator that there isn't an active crawl, either because it's not online yet or maybe it's done? idk if angelfire sites can still change or if it's effectively static at this point
1
0
0
0
Open post
Dave Anderson @danderson@hachyderm.io
· 6mo ago
Replying to
@imrehg @ocean yeah I think once a working scraper build is up, there also needs to be something generating seed URLs to start from (iirc the wiki suggested starting with the sitemap?), and then archiveteam people need to push some buttons to open up the new job and maybe move some of the swarm over to it? Not sure, I've never MC'd a crawl just observed other AT crawls happen
0
2
0
0
Open post
Dave Anderson @danderson@hachyderm.io
· 5mo ago
Replying to
@raggi@don.rag.pub Stated like that, I agree it gives me questions. But I'll have to read the detail of what exactly they mean by that before I can have a useful thought.
0
1
0
0
Back
313k7r1n3
Elektrine

Tor hidden service

elekhj7afj4qnrr4yd3bkzslsyo5jgfxw3orgjkhlcxifueodybyiiad.onion

I2P eepsite

j6b6cyk6gjmepjih7jjadxgxvvf3lzzujljuu2v4biemzpg3naya.b32.i2p

Platform

  • Email
  • Chat
  • Timeline
  • VPN
  • DNS

Company

  • About
  • Contact
  • FAQ
  • Lite (no JS)

Legal

  • Terms of Service
  • Privacy Policy
  • Transparency Report
  • Report Abuse
  • Warrant Canary
  • VPN Policy

Support

  • support@elektrine.com
  • Report Security Issue
Mail client setup IMAP mail.elektrine.com:993 POP3 mail.elektrine.com:995 SMTP mail.elektrine.com:465
© 2026 Elektrine. All rights reserved. Server: 21:32:08 UTC