@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

Every time I pick up Common Lisp again, something like this happens.

Oh, I have an idea for a pretty nice API structure, but that would require a behavior that's far too clever and "do the obvious thing the source code suggests", that's not going to work. But I wonder how it fails exactly.

a few moments later

... Oh, it actually does the clever but obvious thing that I was hoping, and the reason it's not mentioned anywhere is it didn't occur to the spec authors that it'd be weird.

danderson, to random
@danderson@hachyderm.io avatar

It's super interesting to infer the layers of history in the kicad file formats. There are "footprint" shapes and "graphical" shapes, and you can make the same shapes with both but footprint shapes are only to be used in footprint definitions, and seemingly only for electrically-relevant items? Whereas graphical shapes are for silkscreens and annotations and... also some electrical things like custom pad shapes?

I am confuse and am going to have to look at already defined objects.

danderson, to random
@danderson@hachyderm.io avatar

hm, though if I'm reading this spec right, while the format is s-expressions, the order of attributes within each list is fixed? So (fp_circle (center X Y) (end X Y)) is valid, but (fp_circle (end X Y) (center X Y)) isn't? That's slightly annoying in that it's probably going to force me to define an IL that enables more freeform expression. Bit of a shame, but livable I guess.

danderson, to random
@danderson@hachyderm.io avatar

omg kicad changed all its file formats to S-expressions! The docs feel obliged to make S-expressions sound less scary by calling stuff tokens and attributes, which makes me die a little bit inside, but omg it's so much nicer than the pre-2018 format! You can read stuff! It uses words to say the things that it means!

And most importantly, I can output this stuff fucking trivially from a lisp, muahahah

danderson, to random
@danderson@hachyderm.io avatar

Reading a book about an old computer, and it's a very cozy vibe. Before getting properly started, it needs to explain what a silicon transistor is, because it's very newfangled and the reader may not be aware of the knock-on benefits of the NPN topology in silicon, compared to the more traditional germanium devices.

Also, section titles that sound like shitposts:

A. JUSTIFICATION FOR LARGE COMPUTERS

danderson, (edited ) to random
@danderson@hachyderm.io avatar

Wow firefox makes it hard to add custom search engines. If you're using google and want it to default to the quietly launched "web results only no AI shit" view:

Open about:config, set the pref "browser.urlbar.update2.engineAliasRefresh" to true. You may have to create the pref, or it may exist and be false.

Open about:preferences#search, scroll to bottom, you can now add a search engine (that's what the pref above does)

Add engine for https://www.google.com/q=%s&udm=14, save, make default.

danderson, to random
@danderson@hachyderm.io avatar

Last few days: okay sure an eeprom is the best way to implement this without a programmable microcontroller, but what if logic gates

Today: okay so logic gates is annoying but doable, however consider this: core rope memory

It's extremely silly and pointless, but it's okay therapy tbh

danderson, to random
@danderson@hachyderm.io avatar

As a sibling to the "making fun of AI being shit" thread, I will also say that yosys is really quite lovely. Even tackling a synthesis problem outside of its comfort zone (synthesizing discrete logic vs. for FPGA LUTs and hard blocks), and even with an idiot like me at the controls, it's a remarkably rich toolkit to explore and play with circuitry.

Plus the shortcomings for my application aren't structural, it's just that it rightfully focuses on more impactful goals.

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

Ask your doctor if yosys logic gate fuckery is right for you

danderson, to random
@danderson@hachyderm.io avatar

How to tell your OSS is ridiculously popular: people aren't 100% sure they didn't embed it, and tack on the software equivalent of "packaged in a facility where peanuts were also present" to the license list.

This watch contains software, so statistically probably contains at least traces of curl.

danderson, to random
@danderson@hachyderm.io avatar

Back on my bullshit in a limited capacity, doing some therapeutic stupid stuff. Today: which of the 7400 series chips are still being made at a vaguely reasonable price? Because I have Plans, and they involve quite a bit more than just logic gates and flip-flops.

danderson, to random
@danderson@hachyderm.io avatar

Achievement unlocked: when prompted to sketch a design for a file distribution system that would combine the good parts of old school HTTP mirrors and bittorrent, I accidentally freestyled a high-level design that exactly matches what a current hyperscaler does, with the exact same justifications.

Still got it!

danderson, to random
@danderson@hachyderm.io avatar

I found all the people who made the unhinged ultradense unusably elaborate winamp skins back in the day! They're now making watch faces in the Garmin app store.

danderson, to random
@danderson@hachyderm.io avatar

This detour into winamp-like Garmin watch faces did make me learn something bizarre. For a couple years starting in 1999, NCR - the people who make ATMs and cash registers - sponsored the development of XMMS, at the time the leading open-source Winamp-alike.

The dotcom boom was a weird time, wasn't it.

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

Watching a skilled engineer try to achieve a working bare metal kubernetes cluster, and hitting every single broken thing that was already there five years ago, except each broken thing has become fractally more broken by the proliferation of CRDs.

I guess I'm surprised, because the main response to a Nov 2020 blog post describing some of it mostly resulted in people telling me it was either already fixed or would be fixed in a few weeks. But that's none of my business.

danderson, to random
@danderson@hachyderm.io avatar

Just one more wrapper around runc, i promise just one more wrapper and then cloud-native is done, come on bro just one more coordination layer i swear just one more api come on bro just one more

danderson, to random
@danderson@hachyderm.io avatar

I swear every time I pick up a little website rendering bug, it turns out to be Safari being a weird little guy and deciding to not bother with standards.

Safari's rendering engine is my Cato, lying in wait in the fridge to catch me when my guard is down.

danderson, to random
@danderson@hachyderm.io avatar

I find myself missing the OG docker, before all of this fractal splitting and duplication.

There was a time where if you wanted to try this containers thing, you installed docker, typed docker run whatever, and you had a container. One thing, built by one set of people, with all the pieces working together in unison, doing the thing it said on the tin.

I miss that, as I stare into the maw of podman and cri-o and containerd and runc and crun and pasta and slirp4netns and fuse-overlay and...

danderson, to random
@danderson@hachyderm.io avatar

Oh I'm sorry not runc, we've apparently moved on to crun, because the one thing this tower of madness needed was to rewrite its foundation in a fully unsafe language, sure why not

I was last immersed in this world over five years ago, and it's baffling how little has changed. Same problems, different project logos.

danderson, to random
@danderson@hachyderm.io avatar

I'm noticing that, to a first approximation, nix and cloud-native container things are on opposite ends of an alignment chart.

nix: very hard to learn, but once you do it's pretty robust at what it does

containers: pretty websites and 3-line get starteds, and they all seem to fall over with some showstopper bug in the first five minutes

Kind of ironic that the systems built to let people ship their desktops to prod, only seem to work on the devs' desktops.

danderson, to random
@danderson@hachyderm.io avatar

Okay I wrote this python code so long ago that python 3.5 was new, and... wow so much has changed since then, it's going to be a trip to catch up.

danderson, to random
@danderson@hachyderm.io avatar

The greatest argument against public bugtrackers is people who come across a 2-year old bug full of "me too!" and "any update", and go "maybe the maintainer is waiting for just one more passive aggressive comment before they do this" and trigger a mass notification.

Temptation increases to write a bot sets an exponentially longer moratorium where bugs can't get implemented, for every such comment.

"Thanks for your comment! You have extended the moratorium by 17 weeks, to 3.3 years."

danderson, to random
@danderson@hachyderm.io avatar

Hmm, has kicad grown better library tools in recent years? Way back when, I made myself a little procedural generator for parts that generated consistently good schematics and footprints (following IPC-7351B and everything! I bought the damn standard to check!). But it's in olde python and has probably bitrotted a little, so before I dust it off and update it... Has upstream done this better and builtin, and I'm just not finding it?

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