Recent submissions

Comment · 8 days ago
I call an electrician to change a wall switch since an unlicensed handyman making a mistake that starts an electrical fire voids my home insurance.

Plumbing is fractionally less regulated where I am and I am allowed to change my own taps washers, but a whole tap assembly falls under similar issues as a power switch.

Comment · 9 days ago
I tried #2 from here in Australia, but the experience was incredibly poor despite fibre to the home at 500mb/s. You'd be better off buying one of the gaming mini-PCs with 32GB DDR5 and a 760/780M iGPU for ~3-4yrs worth of monthly costs, but the Vimes theory of economics might prevent that.

(I wound up building a gaming PC, much more capable but much more than the cost of streaming over an equivalent lifetime - IF streaming services don't enshittify to cost more and deliver less over time, which we all know they will.)

Comment · 9 days ago
How often do you get that sort of crime attended to and resolved satisfactorily?
Comment · 10 days ago
Quantity is a form of quality.

There's a vast number of operators who won't even look at their site when its performance craters due to a scrum of crypto miners all competing for resources. Why waste time on sophisticated attacks trying to fly under the radar of competent admins who will detect you by your egress traffic anyway?

Comment · 12 days ago
The list represents the possible parses and the remaining input for each. In most cases you might prefer an unambiguous grammar, so a successful parse is a singleton list of a pair of the full parsed result with an empty input sequence.

But parser combinators build your final parser out of little bits, and sometimes those little bits might be something potentially ambiguous, like "any number of leading zeros followed by a number" which needs to parse "0" as no leading zeros and the number 0, but "00" as one leading zero and the number 0.

Non-deterministic parsers can easily blow out with backtracking much like careless recursive descent parsers, though.

Comment · 13 days ago
You’re going to write a monad and alternative instance for whatever structure you use. A list is a Cartesian product, but that’s just the join of parser B over each remaining input of parser A, it’s still a one-liner.

The question is capabilities. Either gives you an error result that might be useful. List gives you backtracking and, depending on your grammar, multiple parses. Maybe is like a weaker Either. Other monads might do other interesting things, but from the perspective of accepting strings satisfying a grammar, List is the choice that supports non-determinism.

(Laziness strongly recommended.)

The poem is not mine, I believe it is Conor McBride’s.

Comment · 13 days ago

    A parser for a thing
    Is a function from a string
    To a list of pairs
    Of strings and things.
Comment · 16 days ago
I think these days it's easier to run Steam in Wine than it is to run Wine in the first place. If you're running a commercial packaging of Wine for gaming, both things are trivial.

(Successfully running Windows games is its own issue: I think "Steam Deck" compatibility badging is a pretty reliable tell for Linux gaming, but on a Mac, having the game be playable is a gamble on install and again with every patch.)

Comment · 16 days ago
It seems like, once the IPO is done, this flood of papers will dry right up: the inherent value of the papers themselves is unlikely to justify the cost to churn them out. It makes as much sense as OpenAI churning out hundreds of slopped programs no-one wants to run, or hundreds of novellas no-one wants to read: it's just showing they can.
Comment · 18 days ago
I gave it a go and imported a transaction CSV from my bank - National Australia Bank. 150 row CSV. The Description import column was assigned to the Merchant Name CSV column (the Merchant import column was also assigned to this CSV column) and as a result 25 rows were going to be ignored. Here's the CSV header row:

    Date,Amount,Account Number,,Transaction Type,Transaction Details,Balance,Category,Merchant Name,Processed On
Hand-picking the Description column to be assigned to the details column sorted it out; not sure how you're auto-selecting column mappings but maybe 'details' should be recognised as closer to 'description' than 'merchant name' is.
Comment · 26 days ago
It's a native desktop app, so none of the above.
Comment · 1 month ago
If some LLM somewhere managed to produce a coherent and _correct_ explanation of how it worked inside, but no human ever saw it, would it matter?

We know how to apply LLms to problems, which is a subtly different thing to understanding how they do what they do. It's similar to fire: I can cook using fire, but I don't really understand how fire _works_. Heat+oxygen+fuel, sure, but what goes on chemically? I dunno. Doesn't stop me using it. (Pretty sure _humanity_ knows how fire works, though).

Comment · 1 month ago
Bonsai Dai ?
Comment · 1 month ago
There's a good number of heuristic choices in compilation where, maybe, you could get more optimal outcomes with machine learning - but at the cost of compilation resources, both time and space, and possibly determinism too.

As an example, register allocation is graph colouring, and thus NP complete; a model for producing an allocation plan is learning heuristics that might look at more features in combination than the ones hand-crafted into the compiler. An LLM for the job might do better than a more focused model like a GNN, due to sheer size, the effectiveness of transformers, or magic. But it probably won't do an overall better job than the handcrafted heuristics, because those handcrafted heuristics also tend to compile very, very fast with a small memory footprint, and can be debugged (more) easily when they go wrong.

Comment · 2 months ago
Source: Australian, with teenager.

1. It's not a ban on using social media, it's a requirement for age verification to create an account. This only limits usage on the few platforms that force an account to do anything.

2. The technical controls platforms implement are, unsurprisingly, generally quite weak. Kids are crafty enough to circumvent them, and share how freely.

3. Wannabe-influencer parents just create accounts for their kids, making the circumvention trivial.

4. There are no consequences for using a social media account while under 16.

I think the final point is the main one, though. By design there's no mechanism in place for the government to take any action if a kid gets onto social media, only if a platform fails to implement age checks that satisfy the legislation's criteria. So platforms all implemented tokenistic age checks. Platforms don't care, or need to care, if they get bypassed. The government doesn't care.

If I were a more suspicious man I'd say that either the point was never to reduce the use of social media by kids in the first place, or it was well intentioned but railroaded into toothlessness by lobbyists.

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton