@danderson@hachyderm.io
@danderson@hachyderm.io avatar

danderson

@danderson@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.

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

danderson, to random
@danderson@hachyderm.io avatar

Trying out guix again for fun. This will be a (unlisted) thread of my journey of discovery.

danderson, to random
@danderson@hachyderm.io avatar

Google just emailed me to let me know that "Album Archive" is going away and my data will be deleted in a month.

Album Archive is apparently the dumping ground for images that were in other products Google has already killed, such as Google+ and Hangouts.

They're killing the place where images from killed products went. It's just beyond parody, incredible.

danderson, to random
@danderson@hachyderm.io avatar

dangit, my inner data structure has a structural fault because of rust ownership semantics.

Conceptually, the inner struct is a binary tree where inner nodes can carry a value, and leaves can carry a value or a child tree. If you need a leaf to hold both a child and a value, you store the child and move the value to the child's root node.

Conceptually again, lookups walk down this tree-of-trees looking for the node representing the lookup key, and nearest self-or-parent value is the result.

danderson, to random
@danderson@hachyderm.io avatar

Watching the Foundation series made me wonder about a "reverse 4X" kind of game, a strategy game where you start with a galaxy-spanning empire and have to manage the fall. Feels like it could be an interesting twist. Surely this has been explored already... But I don't know what games might have done this.

danderson, to random
@danderson@hachyderm.io avatar

Wow, TIL near where I grew up in France, high-speed rail (the TGV) caused tangible reduction in passenger air traffic. The budget airlines shut off the routes as soon as the TGV started running, unable to compete. The larger airlines kept trying for ten years, but eventually gave up as well. Turns out, 2-3 hours on a comfortable train that drops you in the middle of town is better than faffing around in airports, despite the trip time being just 1h.

Just a thought, North America.

danderson, to random
@danderson@hachyderm.io avatar

Ooooh so close! Got the right clang bits in place, patched out a broken part of upstream's build config, the build burns 100% CPU for a while... and then craps itself because it can't find libstdc++ headers. So close!...

danderson, to random
@danderson@hachyderm.io avatar

In my quest to do a web development, I'm now learning about htmx and man... Talk about a paradigm shift from where I came from, but also this might be delightful?

Also it embraces HATEOAS, which (a) is a very strange acronym, (b) I do know a lot about HATE when it comes to software, so I just need to pick up a bit of OAS and I should be set.

Also it's apparently pronounced "hatee-us", like a Greek god of web applications?

danderson, to random
@danderson@hachyderm.io avatar

Time for the new NAS drive break-in checklist.

Step one, pull all the serial numbers and check the warranty, make sure Newegg didn't short me.

danderson, to random
@danderson@hachyderm.io avatar

Blog post I don't have the energy to write: production engineering has to be forestry management, not wildfire response. Many organizations fail to understand this, and as a result don't understand why staffing more firefighters doesn't seem to help.

danderson, to random
@danderson@hachyderm.io avatar

Today's fun rabbit hole: there's a mechanical watch feature called a "hack". Why is it called that?

The hack (aka a "hacking seconds watch") is a feature where the seconds hand of the watch stops advancing when you click over to the time-setting function. IOW, as you adjust the hour/minute, the seconds hand is frozen in place until you finish the time adjustment.

danderson, to random
@danderson@hachyderm.io avatar

Trying to wrap my head around how io_uring rust bindings work, and current status is I'm not convinced they do? Which means I'm missing something, probably/hopefully.

io_uring's entire deal is shared memory with careful (but unchecked) handoff of ownership between userspace and the kernel. That means that the contents of pointed-to memory changes without compiler involvement, and... not sure how/why that ends up sound.

danderson, to random
@danderson@hachyderm.io avatar

It's all over my feed already, but in case I get to give you good news: VOYAGER ONE LIVES! Its incredible team managed to work around the damaged region of memory, and they're getting engineering data back again!

https://www.jpl.nasa.gov/news/nasas-voyager-1-resumes-sending-engineering-updates-to-earth

I went digging for more details, and quickly ended up out of my depth, but 🧵 of the bits and pieces I put together...

danderson, to random
@danderson@hachyderm.io avatar

Hi. Quick break from the posting for a serious PSA.

Please have a bottle of aspirin in your home. Make sure the tablets can be chewed as well as just swallowed. Make sure you remove any fiddly foil seal and such. Don't use this aspirin for regular pain relief, just keep it around and know where it is.

Hopefully, you'll never need it and will just feel silly for having it. But if a bad time comes for you someday, being able to chew aspirin when emergency services tells you may save your life.

danderson, to random
@danderson@hachyderm.io avatar

Sony WH-1000XM5 first impressions:

The earcups are shallower, so my ears contact the bottom pads and that feels weird. I hope I adjust to this soon.

The noise cancellation is incredible. Audibly superior to Bose. with QC45s, I hear a high-frequency hiss from the air purifier fan. With the XM5s, complete silence. None sound.

The surface finish seems to be designed for people who have no skin oils, because wearing mine for five minutes as a clean boy, they already look hilariously disgusting.

danderson, to random
@danderson@hachyderm.io avatar

Try to do some forecasting with plaintext accounting tools. Immediately develop urge to replace all these weirdo quasi-text DSLs with some Lisp. Back away from the abyss.

Seriously though, it's strange to me that these tools stop at "here's some ways to shorten the manual entries you have to write, or you could codegen stuff" and not make the next leap into a full DSL.

danderson, to random
@danderson@hachyderm.io avatar

ooooh the next systemd release supports exponential backoff for crashloop restarts!

Every systemd release note is a little bit of joy as I get to read about all the things that are getting a little bit better than before.

danderson, to random
@danderson@hachyderm.io avatar

Oh god, I think I've done too much debugging C++

I think I understand this compile error

danderson, to random
@danderson@hachyderm.io avatar

Terrible little gremlin idea of making a distro only secretly rewrite all the load bearing libraries in the OS bootstrap brainstem in rust, and just trick increasingly large chunks of the system to not be C and see how long it takes anyone to notice that glibc looks a bit weird. Like a supply chain attack of kindness

danderson, to random
@danderson@hachyderm.io avatar

Why on earth is brass round bar 2-3x more expensive than 12L14 at the local metal shoppe, this is silly

danderson, to random
@danderson@hachyderm.io avatar

As the xz thinkpieces start showing up about What Should Be Done, a couple of questions I'd encourage you to keep in mind while reading them:

  • Is this advocating security nihilism and giving up because stopping 100% of badness is impossible?
  • Is this pushing a random hobby horse like "sign your commits" that wouldn't have helped this incident in any way?
  • Is this equating employment/nationality/notoriety with trustworthiness?
  • Is this pushing a technical solution to a social problem?
danderson, to random
@danderson@hachyderm.io avatar

Framework is so cool.

"To fix power efficiency, we're shipping a new rev of our DisplayPort module..."

(me: aww, I'll have to buy a new module)

"... but if you have an older module already, click here for instructions on how to update its firmware!"

"Sadly the HDMI module did need some electrical changes in addition to firmware..."

(me: aww, oh well)

"... but if you're handy with an iron, here's the rework instructions to upgrade your v1 module!"

🤯 Amazing amount of giving a shit.

danderson, to random
@danderson@hachyderm.io avatar

Nordic Semiconductor: hey that nRF24L01 transceiver you liked is Not Recommended For New Designs :(

Me: :(

NordicSemi: but, hear me out, what about a $7 SoC with a Cortex-M4 CPU, that same 2.4GHz transceiver on board, also Bluetooth Low Energy, and a dozen other peripherals?

... wat

danderson, to random
@danderson@hachyderm.io avatar

I'm enjoying how the NTP RFC is just wrong in places. Like, the formula for peer synchronization distance does not incorporate server offset or dispersion, or phi drift, or jitter. If you implemented NTP based on the spec, it would be completely wrong - unless you look at the non-normative reference implementation in the appendix, which includes all this and kinda does a better job of explaining the algorithm in the first place :/

danderson, to random
@danderson@hachyderm.io avatar

Fitness watch I use to monitor vitals since my ER adventure the other week: omg you're so stressed, all the time!

I mean for one yeah, literally had a life threatening thing happen and am still recovering, can't imagine why that would be stressful.

But also this led me to learn how these stress trackers work, and the relation to ADHD! 🧵

danderson, to random
@danderson@hachyderm.io avatar

Hmkay, getting closer to an actual fight with the borrow checker it feels like. I ported a helper function for this data structure from Go, and that was fine, but now I have to call it with a mutable self and pass it an immutable reference to an element of the self.entries array.

Rust police kicks down the door, can't borrow t as mutable because it's already borrowed immutably by &t.entries[4]

So, uh, hrm.

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