HNHacker News
TopNewBestAskShowJobs

danielheath

4,559 karma · joined September 20, 2012

submissionscomments
danielheath··on Cloudflare Turnstile requiring fingerprintable WebGL
Or fastly, or akamai, or bunny, or any number of other providers.

Cloudflare are merely the cheapest of the bunch.

danielheath··on Cloudflare Turnstile requiring fingerprintable WebGL
It's circumstantial evidence, but Occam's Razor also applies.

It's not a hostile DOS in the traditional sense (I've mitigated a few of those) - no "pay us to make it stop", no pattern to the requests other than "fetch every unique URL a few times".

It wasn't happening until financial incentives to gather large datasets for AI training appeared.

Bad actors (using residential proxies & claiming to be a real browser) mostly showed up after folk started blocking ones that identified themselves as AI scrapers.

It's obvious to blame AI training because there's a shortage of better explanations. Who else would be paying for these (expensive) residential botnets, only to use them to (eg) web-scrape wikipedia (which offers free downloads of its content in a structured format)?

The simplest explanation of the technical behavior is "a bot coded to follow every link it sees & save the results", and the simplest explanation of the motive to run such a bot is "to train a large language model".

danielheath··on Cloudflare Turnstile requiring fingerprintable WebGL
They showed up when the AI money did. The evidence is circumstantial, but… some of them are remarkably well engineered (from a “how difficult is it to identify this traffic” perspective, in a way that never existed before (I have been running a quite sizeable site for 8 years, over 200k registered users, and you don’t need to register to use 99% of it).
danielheath··on SimCity 3k in 4k (2025)
I more meant "I had 200m in the bank and accidentally spent 170m of it to start constructing a police HQ".

If you bulldoze a building when it's only 2% of the way through being constructed, you should probably be able to get 98% of the resources spent back - whether housing demand, money, whatever you spent.

Possibly 100% back until you hit 5%, just to allow for those mis-clicks.

danielheath··on SimCity 3k in 4k (2025)
Spent a bit of time with it.

Biggest peeve so far: It's very easy to build the 'premium' version of a building (eg police HQ instead of police station) and utterly annihilate your city budget - with no ability to cancel / undo.

"Click on the correct-looking-but-actually-wrong button functionally ends your game" is... not great.

Other than that, I'm really enjoying it.

danielheath··on GitHub confirms breach of 3,800 repos via malicious VSCode extension
One has 1:2 fanout, the other has 1:50 fanout.
danielheath··on Tar Files Created on macOS Display Errors When Extracting on Linux (2024)
Yes, we should be.

My computer should run programs when I tell it to run them.

Don’t blunt _every_ tool just to make them harder to cut yourself on.

danielheath··on ASML became the chokepoint for cutting-edge chips
I mean, it’s been tried; a reading of relevant historical texts would give you lots of ammunition to support either argument.
danielheath··on Three constraints before I build anything
The product is automation; the tech is llms
danielheath··on The buns in McDonald's Japan's burger photos are all slightly askew
It feels snappy _compared with most sites_.

That's the point!

It feels _very_ sluggish if I try it after spending some time using a windows 98 VM, or a library catalog from 1990.

danielheath··on The Orange Pi 6 Plus
Every time there's a new discussion of some arm board, I compare the price / features / power use with the geekom n100 SBC I picked up awhile back.

As far as I can tell, the OrangePi 6 remains distinctly uncompetitive with SBCs based on low-end intel chips.

- Orange pi consumes much more power (despite being an arm CPU) - A bit faster on some benchmarks, a bit slower on others - Intel SBC is about 60% the price, and comes with case + storage - Intel SBC runs mainline linux and everything has working drivers

danielheath··on Set the Line Before It's Crossed
The negative/positive distinction is (you must _perform_ this act by <date>) vs (you must _refrain from_ this act <indefinitely>).

Additionally, an ultimatum comes with a deadline; a boundary is indefinite (until stated otherwise).

In a sexual relationship context, that distinction could be better illustrated by:

"Don't touch me like that again without asking first, or I will break up with you"

vs

"If you don't have sex with me by the end of the week, I'll break up with you".

An ultimatum is, to most people, inherently damaging to psychological safety. A boundary is not automatically better - it can be unreasonable, unhealthy, or incompatible with the other persons needs - but unlike an ultimatum, it's not _inherently_ harmful to the relationship.

danielheath··on Wit, unker, Git: The lost medieval pronouns of English intimacy
I get what you’re saying, but Chaucer was not in _my_ lifetime.
danielheath··on Project Glasswing: Securing critical software for the AI era
Is this code multithreaded? X could indeed be null, in that case.
danielheath··on Book review: There Is No Antimemetics Division
“Valuable humans in transit”, maybe?

The “Ancillary” series, for sure.

danielheath··on Set the Line Before It's Crossed
To me, the difference is positive vs negative acts.

An ultimatum says “you must do X or else I will do Y”

A boundary says “you must refrain from X or else I will do Y”.

danielheath··on ChatGPT won't let you type until Cloudflare reads your React state
Maybe check your network isn't sending web traffic you're not aware of?

I'm running firefox and seeing the normal amount.

danielheath··on Treasure hunter freed from jail after refusing to turn over shipwreck gold
The fraud isn’t what he’s being punished for.

The ongoing refusal to answer questions under oath is.

He could have agreed to talk anytime and been released shortly.

danielheath··on Treasure hunter freed from jail after refusing to turn over shipwreck gold
If a judge says you're in contempt, you'll get charged with contempt immediately - all the people required are present.

To charge him with defrauding investors requires a whole different group of people to get involved.

Additionally, those people need enough evidence to have a chance of conviction. "He refused to answer questions about it" is not actually evidence.

danielheath··on macOS code injection for fun and no profit (2024)
Having a visual builder tool in an IDE like Delphi or Visual Basic or any of the others.

They ship with an existing library of components, you drag and drop them onto a blank canvas, move them around, live preview how they’ll change at different screen sizes, etc… then switch to the code to wire up all the event handlers etc.

All the iteration on design happens before you start compiling, let alone running.

danielheath··on Intel's make-or-break 18A process node debuts for data center with 288-core Xeon
The biggest one for me is the way AWS security groups & IAM work.

In AWS, it's straightforward to say e.g. "permit traffic on port X from instances holding IAM role Y".

You can easily e.g. get the firewall rules for all your ec2 instances in a structured format.

I really would not look forward to building something even 1/10th as functional as that.

danielheath··on Intel's make-or-break 18A process node debuts for data center with 288-core Xeon
I'm one of those people, and I don't agree.

Before I drop 5 figures on a single server, I'd like to have some confidence in the performance numbers I'm likely to see. I'd expect folk who are experienced with on-prem have a good intuition about this - after a decade of cloud-only work, I don't.

Also, cloud networking offers a bunch of really nice primitives which I'm not clear how I'd replicate on-prem.

I've estimated our IT workload would roughly double if we were to add physically racking machines, replacing failed disks, monitoring backups/SMART errors etc. That's... not cheap in staff time.

Moving things on-prem starts making financial sense around the point your cloud bills hit the cost of one engineers salary.

danielheath··on Addressing Antigravity Bans and Reinstating Access
I switched to my own domain ages ago; it only took 2-3 years to stop getting relevant mail to the old one (I put a forwarding rule in place and just used the new one for everything).

Imported all my past mail on day one, forwarding meant I had one inbox only, and I only sent mail from the new domain. A few gentle “please stop using my old address” conversations with family.

danielheath··on OpenAI raises $110B on $730B pre-money valuation
They wouldn’t have bought $100 worth of product if the deal weren’t offered, because they didn’t have $100 to spend.
danielheath··on I built Timeframe, our family e-paper dashboard
Found a few aliexpress sellers offering LD2410C's, but all cost 30% more than the webcam I used.
danielheath··on I built Timeframe, our family e-paper dashboard
I did a similar thing with a regular backlit computer screen.

It automatically shuts off after 30 seconds of inactivity.

I added a $3 webcam, and use openCV to detect motion. If three consecutive frames (sampled 0.5s apart) are each sufficiently difficult from the previous one, it attaches a virtual USB mouse, then moves it one pixel.

This wakes up the display whenever you walk past, then puts it back to sleep again when you stop moving.

The motion-detection pipeline uses less than 0.3% CPU on an intel N100 (6w TDP).

danielheath··on Testing Postgres race conditions with synchronization barriers
I’m not sure they were _introduced_ by switching to serialised, but it means some processes started taking long enough that the existing possibilities for deadlocks became frequent instead of extremely rare.
danielheath··on Testing Postgres race conditions with synchronization barriers
Haven’t kept history from the bug tracker back that far, but we definitely hit some pretty awful issues in prod trying to solve race issues with “serialisable”. Big older codebases end up with surprising data access patterns.
danielheath··on Facebook is cooked
230 is an obvious place to say “if you decide something is relevant to the user (based on criteria they have not explicitly expressed to you), then you are a publisher of that material and are therefore not a protected carriage service.
danielheath··on Testing Postgres race conditions with synchronization barriers
SERIALIZABLE is really quite hard to retrofit to existing apps; deadlocks, livelocks, and “it’s slow” show up all over the place when you switch it on.

Definitely recommend starting new codebases with it enabled everywhere.

← PreviousPage 3 of 34Next →