HNHacker News
TopNewBestAskShowJobs

ddejohn

549 karma · joined July 23, 2022

submissionscomments
ddejohn··on Can guitar frets perform multiplication?
Absolute joy to read as a guitarist of 22 years, and having a degree in applied mathematics and a fondness for old calculators.

As an aside, I love the simplicity of the interactive elements in TFA. Something I desperately wish I could have done with the side-by-side Galilean and modern guitars was instead of strumming at the actual fret on a given string to get the note to which that fret corresponded, be able to place "fret holders" by clicking at the intersection of the string and the fret that held the string down at that fret for you and then simply strumming the open strings so that you could compare how chords sound between the two guitars.

ddejohn··on Fastpotify
Eh, I had plenty of problems with Spotify too. My point was more that they're all pretty shit.
ddejohn··on Library of ODE Solvers
Gorgeous site. ODEs, PDEs, and computational physics were some of my favorite courses in college and I really regret not pursuing a master's degree. Unfortunately, I graduated in spring 2020 during the shutdown. I had been hemming and hawing all senior year about grad school but the pandemic really threw a wrench in the works. I had spent a lot of free time in my last year of school creating visualizations in Python for fun and this is the kind of resource I imagined I'd someday work towards making myself.
ddejohn··on Fastpotify
> Spotify is, without doubt, the worst piece of software that I still use on a daily basis. It's incredibly buggy, incredibly slow, and the UI has so many "usability inconsistencies".

I left Spotify about a year ago and have tried Tidal, Deezer, Qobuz, and Youtube Music. They all have equally worse UI/UX. The Tidal and Deezer apps on Windows were absolute dogshit and would constantly bug out, randomly stop playing, freeze, take ages to load, etc. YTM's UI is awful, and it does not use your liked/saved songs and albums for its recommendations if your Youtube history is turned off, which isn't explained anywhere that I could find. Just absolutely baffling product design decisions all over the place.

I'm blown away by how much all the big music streaming apps suck. Music player UIs were a solved problem 20 years ago.

More and more now I'm using Bandcamp, Subvert, local music enthusiast Discord servers, and even Reddit to discover new music. It's a giant pain in the ass, but it's still less unpleasant than the apps.

ddejohn··on There's no reason for software to be slow anymore
The author was paraphrasing a tweet written by somebody else:

> The other day, I saw a viral tweet saying [...]

ddejohn··on There's no reason for software to be slow anymore
> Users are usually fine seeing many changes on the screen quickly because it gives the impression that stuff is happening on the background

This gave me a chuckle because I personally hate things like watching the browser jump through 50+ redirects when logging into a website.

ddejohn··on US hires over 2k video gamers as air traffic controllers
100% of air traffic controllers had consumed dihydrogen monoxide prior to an aviation disaster.
ddejohn··on Jelly UI: Soft-body physics for native HTML form controls
Nor Firefox on Windows, nor Chrome on Windows. Very confused about what I'm supposed to be seeing here lol.
ddejohn··on Jelly UI: Soft-body physics for native HTML form controls
I am similarly very confused. Tried in multiple browsers, including a stock chrome install where I haven't messed with any animation settings.
ddejohn··on Brave's latest browser release offers Containers for better and easier workflow
> the killer feature that kept me on Firefox

precisely, I do occasionally have to switch browsers which is incredibly frustrating but that's more of an indictment of the current state of the web than FF in my mind

ddejohn··on Brave's latest browser release offers Containers for better and easier workflow
Great to see this feature being added to other browsers. I use the Firefox Multi-Account Containers, Temporary Containers, and Containerize extensions to manage my browsing and it's (mostly) a very nice experience. There are some rough edges for certain tasks, but I've not had any desire to go back to containerless browsing for a few years now.
ddejohn··on Bring back crappy forums
I still regularly visit TheGearPage forum for musicians (mostly guitarists), and it's still active.

There's also Hardforum for hardware related discussions, though I don't visit as often anymore.

Many others I used to visit are dead.

ddejohn··on GrapheneOS has been ported to Android 17
What are you using for cell service? Been wanting to switch to GOS for years, but I've also been really uninterested in having to find a new service provider (currently using fi).
ddejohn··on Pokémon Go Scans Trained the Navigation Tech for Military Drones
> What time you have in mind, that was really better?

Don't think there's ever been a time in human history that would qualify as good, but I will take better: any time pre-COVID. We have completely gone off the rails since the pandemic.

I don't really feel like elaborating.

ddejohn··on Pokémon Go Scans Trained the Navigation Tech for Military Drones
Deeply sickening that modern society is such that we have to make room in our brains for objectively outlandish connections like these. That a children's cartoon and game about cute little companions has to in any way be involved in the same sentence as the flattening of a city and genocide is just... pure insanity. The world has truly, collectively, lost its fucking mind.
ddejohn··on Algorithmic Monocultures in Hiring
> storytelling “My Journey” type stuff

This is the stuff with which I struggle the most. I'm an introvert, and "my journey" sounds so insufferable and egotistical to me, I physically cringe at the thought of having to talk about this kind of stuff.

At the end of the day, I just want a paycheck and to work on at least marginally interesting problems. I'm not interested in having to lie about how passionate I am about what company X is doing, nor am I a salesperson that feels comfortable hyping myself up. It feels so fake it becomes a distraction during the interview, which causes me to freeze up and start floundering.

I work hard and I take pride in what I produce, I have plenty of hobbies and get along with others well, and I thrive in environments where I get to mentor and be mentored by others. These are the soft skills that are actually important for working on a team, but they're the most difficult to convey in the traditional interview format.

ddejohn··on Algorithmic Monocultures in Hiring
I am miserably bad at soft-skills interviews and never get past this round. Been over a year since I've had somebody actually try to assess my technical competency in any real capacity.

I'm also getting maybe 1 INITIAL interview every 3 months right now because of this AI screening stuff and I just haven't felt like re-writing my resume to game them.

ddejohn··on Starfling: A one-tap endless orbital slingshot game in a single HTML file
when I first read "orbital slingshot" in the title I thought it was a game about doing gravity assists, which I think would be much more interesting and fun
ddejohn··on Robert Redford has died
Who is the other?
ddejohn··on Microsoft PowerToys
I use 12 columns so I can still do this 1/3 - 2/3 split, but other proportions as well. I tend to have a chat app on the left quarter, browser in the middle half, and a music app on the right quarter. Lots more freedom than only two zones!
ddejohn··on Litestar is worth a look
Excellent post that actually gets into important details for real-world applications. I'm a huge fan of the design of Litestar.

> I also still think there are a lot of bad use cases for repositories and service layers that people should avoid, but that’s a digression which should probably become its own post

As a huge proponent of the repository pattern, I'll be looking forward to this post.

ddejohn··on We shouldn't have needed lockfiles
It's downright awful and I'm having a hard time imagining the author proof reading their own page and thinking "yeah, that's great".

As an aside, I have an article in my blog that has GIFs in it, and they're important for the content, but I'm not a frontend developer by any stretch of the imagination so I'm really at wit's end for how to make it so that the GIFs only play on mouse hover or something else. If anybody reading has some tips, I'd love to hear them. I'm using Zola static site generator, and all I've done is make minor HTML and CSS tweaks, so I really have no idea what I'm doing where it concerns frontend presentation.

ddejohn··on Design patterns you should unlearn in Python
Completely agreed. The codebase I work on really badly abused multiple inheritance all over the place. Some of our classes are 5+ layers of inheritance deep.

All the code I've written since joining has used `typing.Protocol` over ABCs, simple dependency injection (i.e., no DI framework), no inheritance anywhere, and of course extensive type annotations... and our average test coverage has gone from around 6% to around 45%.

It's honestly baffling to see how insanely over-complicated most of the Python is that I see out in the wild, especially when you consider that like 90% of the apps out there are just CRUD apps.

ddejohn··on Ask HN: Who wants to be hired? (August 2025)
No problem. Also, hello Denver neighbor! Cheers, best of luck.
ddejohn··on Ask HN: Who wants to be hired? (August 2025)
heads up, your resume link is a 404
ddejohn··on Design patterns you should unlearn in Python
I know, I'm just complaining about the mountain of code that does this at my company. And there is no fixing it using the article's approach or any other for that matter due to the sheer scale of the abuse.
ddejohn··on Design patterns you should unlearn in Python
Everything in the codebase I maintain at my job is an arbitrary dict and there is no type information anywhere. It wasn't even written that long ago (dataclasses were a thing long before this codebase was written).

There's actually a place where the original authors subclassed dict, and dynamically generate attributes of a "data class" such that it can be used with dotted attribute access syntax or dict access syntax but the `__slots__` attribute of these classes is also generated dynamically so you don't have any auto-complete when trying the dotted attribute access. It's genuinely insane lol.

ddejohn··on Design patterns you should unlearn in Python
Who's it for, then?
ddejohn··on Design patterns you should unlearn in Python
yep, the legacy codebase I maintain does a lot of this kind of stuff and has made it difficult to write unit tests in some cases due to all the code that runs at import and all the state we end up with
ddejohn··on How to Firefox
Not having subdomains work for container assignments is a baffling design decision. It's a well-known issue and oft-requested feature that the devs seemingly have no plan to fix. It's incredibly frustrating.

> whenever I'm browsing in a container tab, I wish CMD-T opened a new container tab

Not exactly what you're looking for, but Temporary Containers (no longer maintained, fwiw) at least will open every new tab in a new temporary container that will be wiped after a configurable amount of time after closing.

Page 1 of 8Next →