HNHacker News
TopNewBestAskShowJobs

jonathanlydall

2,638 karma · joined April 28, 2018

submissionscomments
jonathanlydall··on The asteroid currently hitting front end web development
See my more detailed sibling comment, but was more that the scope and urgency were so small that it wasn’t worth the hassle to set up the subscription and have to cancel it after.
jonathanlydall··on The asteroid currently hitting front end web development
Wow, it’s fascinating after waking up to see all this conjecture here on why she didn’t pay for the subscription.

The short version, wasn’t for wanting to save money, but simply a matter of it not being worth the hassle to any of us to subscribe and then later cancel for such a small scope of work. If it was too frustrating I would have let her use my Claude sub.

Also, she’d been meaning to have it updated for years, a few extra days was nothing.

She did short sessions in spare time between other things, the wait between was maybe a little frustrating, but also gave the benefit that she would have had better clarity develop between sessions.

Website is not key to her business where it’s mostly word of mouth at this point (she’s been practicing for >20 years). Goals of website were:

- Findable in Google by “psychologist/therapist <area name>” (she also has a Google. Business profile so is findable on Google Maps).

- Minimal copy. A comforting sentence or two to state philosophy, qualifications, therapy types offered, where located, how to contact.

- Doesn’t feel dated.

Essentially it’s meant to complement the word of mouth aspect and maybe bring in the occasional completely new patient.

jonathanlydall··on The asteroid currently hitting front end web development
My mother has a psychology practice and wanted to update her 20 year old website.

I did the first few prompts (single static page, basically a brochure, don’t worry about hosting) into ChatGPT to get her started and a few days later she sent me a .zip which I uploaded.

Only took a while because she wasn’t paying for ChatGPT so had to wait for the free limit to reset quite a few times.

But overall it was super empowering for her.

jonathanlydall··on Astronomers Detect a 10-Sided Structure in Saturn's Atmosphere
Perhaps “feature” would be most appropriate.
jonathanlydall··on “We want it to really confuse people, but also really make people happy”
It’s a fair point to raise and also occurred to me shortly after writing my comment.

While $200 might be within my disposable income bracket, it wouldn’t be for a lot of people, who may also see my blowing that much money (to show off to friends) just as vain as I would view someone buying a LV bag.

But also keep in mind that the percentage of people who have enough disposable income for a LV bag is tiny compared to those who could buy a Playdate, so I wouldn’t say it’s quite the same.

jonathanlydall··on “We want it to really confuse people, but also really make people happy”
From a purely utilitarian point of view, the price of a Louis Vuitton bag is unjustifiable.

But from a social signalling perspective the price makes sense, it’s a way to show that you have lots of money.

Anyone who would need to “save up” to buy such an overpriced item (even if it’s “pretty”) is merely trying to fake being in the “I’m very rich club” which if they aren’t really, they could probably do with spending their money a bit more wisely.

For a Playdate, the cost is high for what it does, probably because it doesn’t have economy of scale compared to more popular hardware, but it’s still at a price point that’s affordable to an average professional, compared to a Louis Vuitton bag which is not.

jonathanlydall··on The browser's main thread is expensive
Superb article.

There was very little new information for me as I have applied some of these techniques myself based on having developed an intuitive understanding on how a rendering "thread" works and blocks, but for a less experienced developer this article should be incredibly enlightening and provide a solid understanding of what's happening.

I employed use of yielding on a hobby project [0] I made about 15 years ago, particularly when it had to do lots of draw operations on a canvas. I also experimented with using worker threads to render pieces of it on a background thread, but at the time there was no way to copy the data efficiently between them and the main thread, one had to send the data as a base64 encoded PNG and the overhead of encoding, decoding and then copying it onto the canvas made it perform far worse than just doing it all on the main thread.

The website also does Gzip decoding of uploaded files in JavaScript and the library I found at the time did all the work synchronously so could lock up the UI thread easily for 10+ seconds. I tweaked it to be able to yield every 200ms or something, the process of which was very educational, particularly due to it convincing me to never omit the curly braces after an if statement, I spent a very long time trying to understand why it wasn't working until eventually I realized a statement I added wasn't in the if statement's block. It's not that I didn't understand how if statements worked, it's that in my mind the lack of curly braces was initially invisible to me.

[0]: https://mordritch.com/mc_rss/

jonathanlydall··on 2004 RuneScape fit a multiplayer RPG into 56k dial-up
Interesting, when I was a WoW GM our special “GM WoW Client” contained a lot of features that QA would use.

One of these was showing NPC pathing in the form of dots with lines in between. At any time the WoW client would know next 5 or so waypoints of a mob that was idle patrolling.

I guess it’s more efficient to send a batch of waypoints occasionally than one at a time more regularly.

It was a interesting watching boss fights where the pathing would update quite regularly, especially if the tank had just died and it was systematically clobbering everyone else.

jonathanlydall··on OpenAI Jalapeño: Better than Nvidia Blackwell
As you mention the 90's you're probably referring to their embrace, extend, extinguish strategy. This situation with the sound card hardware mixing was quite different and a lot later.

Windows Vista moved away from kernel mode drivers where possible to help address the issue of BSODs which were not uncommon on Windows XP. It turns out that Microsoft was incorrectly getting the blame for BSODs when it was actually the fault of buggy video and sound card drivers.

While Vista was regarded as a "bad" Windows, it laid most of the foundations which allowed Windows 7 to be regarded as "really good" (by Windows standards).

From a hardware perspective, by the time Windows 7 arrived pretty much all drivers had been updated for Vista and had their kinks worked out (mostly, I would still have my NVidia drivers crash on occasion, but because they were user mode now, instead of a BSOD the screen would go black for a few seconds after which my desktop would come back with a Windows pop-up saying something to the effect of "the video drivers crashed and had to be restarted", the real perpetrator now being blamed!). Windows 7 also did optimizations to make things less resource intensive and it also helped that PCs had more RAM compared to when Vista came out.

On the UAC front Windows 7 was also much better, they calibrated the UAC prompts to come up less often, but what also happened is a lot of the 3rd party software which was needlessly requiring admin rights for no good reason (except that it was badly written), had finally been fixed by the time Windows 7 was released.

jonathanlydall··on OpenAI Jalapeño: Better than Nvidia Blackwell
Creative Labs also turned itself into a brand I actively avoid for various reasons.

In early 2000s for example, friend with something like a Sound Blaster Live, but couldn't use it anymore as they lost the drivers, their website only had downloads for driver updates, requiring you to still have a driver CD, so no more CD meant no way to get the drivers.

They had not done very much meaningful stuff since the release of EAX and used patents to prevent anyone else from competing with them. Onboard sound cards were by and large indistinguishable from a quality perspective as Creative Labs ones, but cheaper which Creative Labs combated mostly with lawyers as opposed to upping their game.

Some guy after being frustrated with a long-standing bug in drivers for their Creative Labs sound card, dug into the binaries and made a fix for it. During which they also discovered that you could simply flip a switch in the driver to unlock features only meant to be available on more expensive hardware. Creative Labs of course went straight to lawyers to shut them down.

My brother bought the Creative Labs WoW headset which would have its mic get progressively softer until he would leave and re-join the call/voice chat room. They never released a driver update to fix this.

By the time that Microsoft announced no more "hardware acceleration" for sound cards, I had zero sympathy for Creative Labs, I was already convinced that they made pretty shoddy hardware/software and were mostly riding on their reputation from the 90s and some patents they managed to get.

jonathanlydall··on Explain it to me like I'm ten
Yes, but it can be worth it as I've generally found that the most effective professional writing has your high-level request appear within the very first sentence.

This is because it as quickly as possible puts the reader into the context of what you need from them making your rationalization of the request reinforce it, whereas if you try to rationalize before getting to your request a busy reader (think customer support, exec, manager) will be thinking "Okay, okay, okay, what are they getting to? Okay, okay, oh there we go finally I know, now let's consider their rationalization, maybe I should scroll up and re-read".

I started doing this after having done email customer service many years ago, when you're expected to spend as little time as possible per support case, you will speed read their writing until you find the part which says what their issue is, for some emails this was paragraphs. A particularly memorable WoW case for me was something like this, but more verbose:

"I finished the raid last night where we managed to down <boss name>, after we celebrated, I logged off. Then I woke up and went to school as usual, after getting home I tried logging on it showed a message saying I was banned, I was heart-broken as I've put so much time into the game and it means so much to me, so to find out why I logged into my Gmail and an email from you said I was banned due to <reason>."

As a support person, all of that was completely irrelevant except for the part saying "I was banned due to <reason>" (which was commonly due account being compromised by a gold seller looting it and then auto-banned due to stuff they were doing on it).

Something else which reinforced my view of "get to the point quickly" was an HN comment saying how they were once sent on a course on "how as an engineer to communicate effectively with execs" which apparently essentially stated "write your email as you normally would, then at the end take the last paragraph and put it at the top of the email". The rationale being that execs are typically only interested in reading a full email if it's actually relevant to them.

jonathanlydall··on Woman stranded in Spain after UK's eVisa system mistakes her for twin sister
The terrible part to me is them saying "the majority of cases are resolved within 24 hours", this should be like a 15-minute delay at most when you can present your passport with its number which also matches your biometrics (as would be the case with twins).

I myself recently had a 10-minute or so delay due to a visa issue. I was departing from Johannesburg and was going to use my Italian passport for entry into New Zealand. I had acquired an NZeTA visa about 15 months before but didn't think to consider until checking in that it was against my previous passport number which I had since renewed.

When the agent said they were just having to double check my visa (while my wife's and children' were fine), the fact the passport had been renewed occurred to me and I told the agent about it which probably saved a couple of minutes of them having to work out this was the issue. They phoned New Zealand, explained the situation and within about 10 minutes the New Zealand side updated their system and I was able to complete my check-in.

jonathanlydall··on We Rebuilt the Linux MicroVM Stack on Apple Silicon
I'm very surprised you feel it's a given that every SWE at every company has the perk of getting a new machine as quickly as every 2 years, I doubt it's justified by the productivity increases of just 2 years of hardware improvements.
jonathanlydall··on Pixel 11 Pro Fold feels like the end of an era
I also had this worry when moving from an iPhone 8 (or something) to a 14.

But you can use a swipe down gesture on the white bar at the bottom of the screen which pulls the whole thing down, bringing the top part of the screen easily in reach of your thumb.

I use my phone one handed very often.

jonathanlydall··on Show HN: Automatically detect and patch walking-dead states in Sierra games
While I have genuine sympathy for 8-year-old you, this has made for a thoroughly entertaining story which current you can tell, I and several of my friends I shared it with have laughed thoroughly, one of them remarked:

  That sounds like me….
  Legit, the pre-car inspection and the radio killed me
  Remember it like it was yesterday
Kind of interesting for humans that things like this which at the time are so painful can be amazing to reminisce about years later.
jonathanlydall··on Show HN: Automatically detect and patch walking-dead states in Sierra games
Games used to often be brutally unforgiving. If you hadn't saved recently and you died (or inadvertently made the game unwinnable without knowing), tough luck, so for some games I'd save regularly "just in case", even if saving was relatively slow.

I was somewhat astonished when mid/late 2000's I was watching a friend play a game (on a console I think) where if you missed a jump over a bottomless pit, instead of you going back to your last save or check point, your character was right back to just before the jump and you could try again instantly.

One of my very favourite games of all time is Star Control II and I was thrilled when Jimmy Maher did a review of it [0] (and then felt a bit upset that he essentially said he felt it was overrated). One of his criticisms which I felt was very fair was that the game had a hard in-game time limit, and although the warning signs are obvious in retrospect, until you actually hit it you don't realize it's there, meaning that your fate could have been sealed hours and hours before the actual time limit because there was not enough remaining time to travel to the places needed to win and you were actually walking-dead for that period. However, I suppose it makes the next play through easier as you'll know more of what to do.

[0]: https://www.filfre.net/2018/12/star-control-ii/

jonathanlydall··on Buy Your Friends Batteries
Can confirm from years of load shedding in the past in South Africa where my area had 4 hour outages.

That duration was tough for various reasons, but fridge and freezer were not really an issue.

I was very happy when they changed to 2 hour outages (albeit twice as many), and then even happier with not having load shedding for about 2 years now.

jonathanlydall··on How do I permanently disable random Google Photos popup to backup photos? (2024)
Probably had a dialog like this:

  Do you want to do <x>?
  - Yes
  - Maybe later
Missing the "no, never" option.

Also, those of us who don't use Chrome have to periodically put up with the "It's better in Chrome/The Google App!" popups on all their properties (even when using a Chromium based browser), to make matters worse the popover has the "yes, let's get Google/Chrome" option as a blue button with the "maybe later" having a transparent background meaning if you absent mindedly tap the "natural" option you're annoyingly disrupted even further.

jonathanlydall··on A U.S. Strategy to Prevent the Creation of Mirror Life
Posted elsewhere in the comments:

https://laprade.blog/your-dietbet-destroyed-the-world

jonathanlydall··on Why tiny JPEGs look different in Chrome
When I referred to “styles” I was referring to classes.

If the same class was defined in a multiple SVGs under their respective <style/> elements, they would affect each other.

So sometimes if two icons were in the DOM at the same time, the one’s colours might look wrong since both had the same class names they were using.

Element ids were also not used so much for styling but instead for common SVG components (or something, I don’t know the terminology), so would similarly cause rendering issues.

Like I said it was especially common if the one started as a copy of the other in Illustrator.

The “fix” was to ensure unique element ids and class names, but this was an annoying extra step.

Using a shadow DOM for each icon which is an SVG circumvents the entire problem as they ignore anything outside their isolated DOM.

jonathanlydall··on Why tiny JPEGs look different in Chrome
Pretty much.

The icon appeared bigger in some places than others and wanted it to look decent on higher DPI displays.

SVGs are so much better for this though, smaller in size and look great at pretty much any resolution.

jonathanlydall··on Why tiny JPEGs look different in Chrome
SVGs can define styles and element ids.

The problem is if these same element ids and styles are used in different places in your DOM, including other SVGs.

Our product is a bit of a platform with extensibility which includes icons for ui elements. It was very easy for us or our users to accidentally use the same style names or element ids when exporting from Adobe Illustrator, especially for icons which are similar to others and started as a copy.

When using SVGs as a background it’s not an issue, but we want our SVGs to be able to have different colours be usable in light or dark mode which CSS can do, except it doesn’t work when making the SVG a background.

Shadow DOM solves this issue perfectly.

jonathanlydall··on Why tiny JPEGs look different in Chrome
I can’t recall the details any more, but I recall seeing something like this in my research on the issue, it might have been a solution to the issue, or I was worried it had a noticeable performance impact.

We may also have moved to the SVGs anyway as they also look much nicer when running at different zoom levels like 125%.

jonathanlydall··on Why tiny JPEGs look different in Chrome
Perhaps it was a different optimisation, but it definitely made significantly downscaled PNGs look way worse under particular circumstances. It was especially noticeable on triangles we used on nodes of a tree view control.
jonathanlydall··on Why tiny JPEGs look different in Chrome
I'm pretty sure the same issue happens with PNGs, which being lossless are generally good for icons as they don't land up with compression artifacts like what happens in JPEGs (which the author points out are really for photographs), they also support alpha blending.

When Chrome introduced this "optimization" and it made it through to an Electron release which we were upgrading to, it really messed up the icons in a lot of places in our product such that we had to hold off the upgrade until we had SVGs to replace them.

SVGs also have the advantage of being able to respond to light/dark mode. We just needed to put each icon in its own shadow DOM to avoid styles clashing between the different SVGs if they happen to be named the same which was a bit of an annoyance for our graphic designer.

jonathanlydall··on 200 Milliseconds
For one of the supermarket chains I frequent, from me handing over the single item I'm purchasing I can be walking away within 20s. They scan the item, then a loyalty barcode on my phone and finally I tap my iPhone which has my bank card loaded onto it.

Basically, they don't have any significant bottlenecks, POS hardware + software is responsive with an efficient UI for the operator, and the card machine is a wired connection to a router with a fibre uplink.

jonathanlydall··on 200 Milliseconds
In South Africa I notice this difference all the time where the big supermarket chains seem to be near instantaneous while small stores are 10+ seconds.

I'm certain it's because the big store's card machines have a wired network connection to a router with a fibre connection, while most smaller shops just use card machines with integrated GPRS wireless modems as they even show feedback about connecting as you tap your card.

A stall vendor who I use somewhat regularly warned me one time that her card machine was down (I guess some kind of maintenance as it was earlyish on a Sunday morning) so would only be able to accept cash. I helped her put the card machine on a nearby shop's free WiFi and not only did it work around the problem, but it made card transactions going forward significantly faster.

jonathanlydall··on When random.bytes() runs but doesn't work
This does not seem to be a good write up at all, see nullc’s explanation in this discussion of (what seems to me) the actual root cause whereas this article spent a lot of words making the argument that bad commit messages must mean bad code, later using the assertion to try “prove” what the technical problem was.

I agree that a bad commit message combined with a big commit is a huge smell, but as it’s just metadata for the code and not the code itself, it is not in itself evidence in any form.

That being said, probably okay after explaining the technical code issues for the author add a couple of a sentences about how all this was was part of 1000s of a lines of code changed in commits with useless messages which demonstrates generally bad code hygiene.

jonathanlydall··on The End of an Era
Sometimes pleasure is in the activity, not just the outcome.

A good movie or novel is a generally pleasurable experience from start to finish, where the conclusion on its own might have only been mildly interesting at best.

Sex is also like this.

jonathanlydall··on Upper stage impacting the moon on 2026 August 5
I used reading mode on Safari and it was perfect for reading.
← PreviousPage 2 of 25Next →