News for hackers. Stuff that matters.

brandur

Re:French digital tax may kill VideoLan non-profit on Sunday November 01, 2026 @03:53PM (#50329761)
Still no answer here to the question — just more bad faith, more misdirection, more libel.
Re:French digital tax may kill VideoLan non-profit on Saturday October 31, 2026 @07:53PM (#50321423)
It's astounding how bad faith you people are.

The question wasn't "does every billionaire pay the top marginal tax rate", it was: could you elaborate how France is "giving all the money to billionaires"? which was the OP's claim.

If this was true, it'd be simple for your ilk to answer it directly. Since it's not, you lie, misdirect, and shift the goalposts around in defense of the original lie, viciously attacking straw men that you erected.

France gives no money to billionaires. Even if you think their tax rate should be higher, those billionaires pay billions into a system that's managed to bankrupt itself through massive spending on general entitlements. You could take every billionaire in France to the guillotine, steal 100% of their wealth, and it'd fund the French government for less than two years. Spending must go down.

Re:French digital tax may kill VideoLan non-profit on Friday October 30, 2026 @04:25PM (#50309675)
Quite terrifying that this appears to be a sincere comment. The top marginal tax rate on French nationals including CEHR is over 55%. The country spends ~60% of its GDP, almost 10% higher than the European average, let alone the average worldwide.

Could you elaborate how France is "giving all the money to billionaires"?

Re:The Bit Player: My Father with Steve Zissou on Wednesday August 12, 2026 @04:52PM (#49278386)
Article does a great job of conveying the stress involved for a non-actor to play even a tiny part in a big movie like this, but yeesh, it'd be a dream come true to get even the tiniest part in one of the greatest movies of all time (IMO obviously), let alone to luck into it this way by pure happenstance.

I remembered the scene vaguely, but was curious to go back and see it. It happens at roughly 7 minutes 19 seconds into the movie, intercut into the initial awards scene, and right before Willem Dafoe's nephew gives Steve a seahorse in a bag.

Re:Ruby Central's Destructive Legacy on Wednesday August 12, 2026 @02:40PM (#49276804)
This is a distinction without a difference. Arko proposed to receive a copy of all RubyGems access logs containing full user PII.

He'd accept this PII en lieu of dollars for secondary on call coverage, so a safe assumption is that he intended to monetize the extracted user PII in some way. I am sure he would deny this, but there's a point where you have to let the evidence we do have combined with common sense guide us to the most likely conclusion.

Re:Pgtestdb's template cloning approach to testing is fast on Sunday August 02, 2026 @12:25AM (#49141084)
Thanks for that — I didn't know about `clone` (and important to note it's non-default) and now intend to try it out.
Re:Pgtestdb's template cloning approach to testing is fast on Saturday August 01, 2026 @04:13PM (#49137969)
As long as you're using Postgres, I would definitely try out an approach based on template databases in your situation. It should check all the boxes that a run with `db/seed.rb` would, except an order of magnitude or two compared to what Rails would be doing (i.e. parsing a big Ruby file and loading schema in table by table).

One of the best things about LLMs is they make these sorts of refactors entirely plausible even if you're not a subject area expert. You could probably prototype this and have a patch ready in an hour or two.

Re:Pgtestdb's template cloning approach to testing is fast on Saturday August 01, 2026 @04:09PM (#49137923)
Ah yep, good point. I was confusing "ramdisk" versus just "ephemeral in-memory".
Re:Pgtestdb's template cloning approach to testing is fast on Saturday August 01, 2026 @04:08PM (#49137908)
It doesn't look like MySQL has any concept like a template database. You could still migrate up a pristine database, use mysqldump to produce a schema, then load that into a series of test databases. It of course won't be as quick as the low level copies that Postgres is doing with a template database, but it'd be faster than re-running all your migrations.

OOC — I've been trying to gather real world anecdotes on who is using MySQL these days given that even some of its biggest traditional champions like PlanetScale are talking a lot more about Postgres recently. Are you using MySQL as part of an existing project that was started years ago, or do you still intend to use it for new things going forward?

Re:Pgtestdb's template cloning approach to testing is fast on Saturday August 01, 2026 @03:18PM (#49137501)
No worries Peter. And thanks for putting together pgtestdb — such a great project! This conversion sprint was a fun little experiment.
Re:Pgtestdb's template cloning approach to testing is fast on Saturday August 01, 2026 @02:53PM (#49137259)
Some very significant disadvantages to that approach:

* It's common these days for a single operation to manipulate dozens or even hundreds of database records. Often these records are interrelated because they reference each other. So with fakes, you're faking initial inserts and then faking inserts based on other fake inserts, creating a fragile tree structure of fakes, which models reality very poorly.

* No data type validation on data inserts or updates. Put a string in the integer field? Find out in production.

* No foreign key validation (or just general capacity for checking referential integrity) so you don't find out that you're rows aren't referencing each other correctly until production.

* Similarly, no checks on primary keys, check constraints, triggers do not run, etc.

* Since you're not doing real inserts, you're not doing real updates or deletes on inserted rows. So if those latter operations are referencing the wrong ID, you don't find out until ... you guessed it, production.

* You can try to build up the fidelity of your repository/fake framework, but the more effort you put into it, the closer you are to just rebuilding a database and the slower it'll get. You'll also never achieve actual parity with what your database is doing.

* Building out these big fake frameworks is a lot of work relatively speaking (you didn't need to build out anything for your DB because your non-test code is already using it), and gets you negative gain.

There was a time a long time ago when disk I/O was a lot slower than it is now and maybe there was some argument for a repository/stub system, but that was at least a decade ago, and even then the rationale was thin. These days we have NVMes, and if you're a real speed demon and think those are too slow, you can just put an in-memory SQLite or Postgres in place for your testing and get all the performance advantages with none of the downside.

Re:Pgtestdb's template cloning approach to testing is fast on Saturday August 01, 2026 @01:53PM (#49136706)
Interesting. How many database copies do you bring up when the test suite starts running, and how is parallelism handled?
Re:Pgtestdb's template cloning approach to testing is fast on Saturday August 01, 2026 @01:51PM (#49136686)
Yeah, I've generally recommended using test transactions during test cases [1] as they're extremely fast. I'm open to alternatives like Peter's approach here though because the template approach has some major advantages. The biggest one is that because a database isn't rolled back, state is left around for a failing test, and that can occasionally be really useful when trying to debug a particularly difficult test bug.

Test transactions do occasionally cause other trouble too. DDL is theoretically transaction-safe in Postgres, but when running concurrent schema changes even in test isolation, you can still have tests that leak into each other. Testing anything based on listen/notify is also difficult in a test transaction.

Probably not a bad strategy is to have both tools available in your test helpers: (1) test transactions for the common case, and (2) template databases when you need more isolation.

However, as I alluded to in the second part of the article, in River we're currently using an approach similar to template databases in that every test case operates in its own isolated schema, but with the twist that we also reuse schemas after successful tests, saving us a lot of time in setup costs and bringing us back closer to test transaction performance. Great isolation and our tests are extremely fast, so it's working well.

---

[1] https://brandur.org/fragments/go-test-tx-using-t-cleanup

Re:Pgtestdb's template cloning approach to testing is fast on Saturday August 01, 2026 @01:42PM (#49136613)
Peter actually makes this exact point in the project's README. See this section here:

https://github.com/peterldowns/pgtestdb#how-do-i-make-it-go-...

I'd just say that a nice thing about it on disk (even if you disable fsync) is that in case of a failing test, you can examine the post-run state which is occasionally extremely valuable.

Re:Craig Mod built his own Good Reads on Monday July 06, 2026 @10:57PM (#48813190)
Thanks, this is neat. Goodreads seems to be get so little development attention these days that it's a miracle it still runs.

Interesting choice by BookWyrm to hide review ratings by default. I like it — I always felt that on Goodreads literature that's a little more challenging to tackle is reviewed very unfairly compared to easy-to-digest-but-content-light popular books or pulp fantasy. Making the default to have users read the contents of a review instead of glancing at an aggregate number seems like the right answer.

Re:Rive, Fast and reliable background jobs in Go on Monday June 22, 2026 @12:49PM (#48632664)
Blake wrote a nice page on the benefits of using transactional-based enqueuing here:

https://riverqueue.com/docs/transactional-enqueueing

It's true that it's not distributed, but there are a lot of benefits to not going distributed immediately, like extremely predictable data consistency. I would hazard to guess that the _vast_ majority of apps that are not built by the superscalers are already using a database like Postgres or SQLite to store their data, and River merely suggests that you hook your job queue into the database that you already have.

Re:Rive, Fast and reliable background jobs in Go on Monday June 22, 2026 @12:46PM (#48632625)
There's some similarities with DBOS for sure like using Postgres as a backend. Here's some differences based on my browsing of their docs for a little while:

* River's built around an entirely open core with its bread and butter being background jobs rather than workflows, with basic background jobs being good enough for most apps in most situations. It's true that workflows are gated behind Pro, but a lot of users will find they won't even need them, or won't need them until much later.

* River's aimed more solidly at Go, especially for the running of the background jobs themselves. Blake and I are both experienced Go developers, and we've gone through great pains to make the API as elegant as possible and as easy-to-use as possible, aiming for things like consistency and predictable + well-documented APIs. DBOS supports Go as well, but I believe our API compares very favorably [1], though you can be the judge.

* I might be missing something in the DBOS docs, but especially pertaining to background jobs, I believe River's feature set is quite a lot more comprehensive. e.g. Bulk insertion, unique jobs, periodic/cron jobs, job snoozing, job scheduling, unique jobs, test helpers, etc. We've tried to include everything that people would need when building out with background jobs, including all the edge cases.

Lastly, to be fair, DBOS is price-gated as well [2], and pricing is based on usage whereas River's is not.

[1] https://docs.dbos.dev/golang/programming-guide [2] https://dbos.dev/dbos-pricing

Re:Rive, Fast and reliable background jobs in Go on Monday June 22, 2026 @12:35PM (#48632471)
Yes, if one of the admins/mods could correct this, it'd be amazing! The rest of the title is fine.
Re:The minimum viable unit of saleable software on Sunday June 21, 2026 @02:03PM (#48621069)
Yes, I roughly agree with all of this. In fact, for most of my existence, I'm been one of those cheap programmers.

The circumstances that led to me trying to push River for the next few months were somewhat accidental, and it felt like a good moment to at least make a go of trying to make it work. I'm not committing the rest of my career/life to any particular decision one way or the other.

I'll reiterate too that I believe we're still quite early in the LLM age and are still waiting for the other shoe to drop. All LLM-generated software feels free at the moment because it's still novel and the exhilaration of accomplishment when you build something complex inside of a few hours is addictive beyond words. However, within a year or two I think we're going to have a lot more software, all of which needs maintaining to some degree, and we're going to become a little more reluctant to generate new projects to add to the heap. This'll cause an adjustment back to a more compromise position.

(Also, could be completely wrong about all of that, so take it for what it is.)

Re:The Minimum Viable Unit of Saleable Software on Sunday June 21, 2026 @12:36PM (#48620310)
Thanks dzonga!
To be fair I guess, the way the article is titled goes out of its way to mislead.

It would be quite easy to say "Added 911,000 fewer jobs from March 2024 to March 2025" or "the year starting in March 2024", but they are clearly aiming to deflect from the Biden admin by implying last year's revisions are the fault of the administration inaugurated in January 2025.

Judging by the comments here, it worked marvelously.

Re: on Saturday January 04, 2025 @12:03AM (#42592560)
That's absolutely bananas. $3 million for a _report_ about suggestions for possible immigration reform (to speed it up of course). In the hole $62 billion a year, and a sizable chunk is going to overpriced MBA grads right out of school to produce PDF documents. How the hell do we reign these people in.
Re: on Friday January 03, 2025 @08:41PM (#42591499)
Are you my doppelganger? I made almost this exact comment word-for-word to a friend of mine a few weeks ago.

Trudeau's immigration video from December [1] was one of the most dishonest, condescending productions that I've ever seen, basically amounting to, "Yes, we destroyed our previous internationally respected immigration system and imported five million low skilled laborers over a couple years without adding any housing or infrastructure. Yes, that's hurt a lot of you and made you angry. No, we don't think that's a problem. But because you're so angsty, we'll throttle it back a tiny wittle bit over the next year or two before throwing the floodgates wide open again."

Not a shred of anything even resembling self-awareness or humility throughout.

---

[1] https://www.youtube.com/watch?v=vOB7-dbYuCc

The point is that Democratic voters didn't get a chance to have their voice heard. Conducting polling is post-hoc rationalization for Harris being installed by party leaders in unprecedentedly anti-democratic action.
Also notable that the author didn't link Haje's (the TechCrunch person who railed against Alexander Wang) actual writing because he knew it doesn't make either Haje, or his argument in favor of Haje, look good. So, here it is:

https://web.archive.org/web/20240628212036/https://techcrunc...

The Pulitzer Prize-worthy content in question:

> I would invite him — and those supporting them — to fuck all the way off. You misunderstand me. You thought I wanted you to fuck only partially the way off. Please, read my lips. I was perfectly clear: Off you fuck. All the way. Remove head from ignorant ass, then fuck all the way off.

This is the quality of writing whose loss the author is arguing is why TechCrunch has lost its global relevance. A perfect inversion of the truth if I've ever seen one.

Re:The Failure of the Star Wars Hotel on Friday May 24, 2024 @11:59AM (#40467470)
I found this by accident on YouTube the other day, and started watching it, not intending at all to sit through the 4+ hour runtime, but by the next day I'd watched the entire thing.

I'm not a Disney Parks person at all, but found the whole thing fascinating. Honestly, at first glance, this seems like such a fun idea, and given the popularity of other parks projects, I couldn't believe it'd failed. But digging in, it all kind of starts to fit together.

I didn't take notes, but off the top of my head:

* The stay was very expensive. You actually had to talk to an agent for specific pricing, but it was around $4k USD for two people for two days, with additional charges if you wanted to add people to your room.

* Despite luxury pricing, the rooms and furnishings are decidedly not. Tiny cabin-style rooms with bunk and pull out beds, and ~no amenities (no gym, no pool, etc.).

* The experience seems to have been a good idea, but executed poorly. This YT creator had trouble accessing any of the theoretically available storylines, and despite an effort to interact as much as possible ended up with results not discernible from random, or having done nothing at all.

* Lots of boring app-driven interactions involving messaging with virtual avatars of the IRL characters. On the day excursion to the rest of the Star Wars world, lots of of scanning QR codes on crates. The whole thing seems to have been very uninspired, and buggy to boot.

* When comparing the final product to concept art and statements from Disney execs, it seems like a lot of corners were cut for the final product and it ended up very underwhelming compared to what it was supposed to be. There seems to be lots of evidence elsewhere that Disney parks have really become cheapskate / penny pinching operations, and a reasonable hypothesis is that there were a lot of big ideas, but they would've been expensive, and they were slowly cut back one by one until the overall product really had nothing special left, and fell flat.

* From Disney's end, it didn't seem to scale very well. The high price tags seems to be related to the fact that the hotel didn't have all that many rooms compared to larger resorts which might have thousands, so they felt that they had to recoup the cost from each one. This didn't sit well with customers though, and after the initial opening period, the hotel seemed to be operating at high vacancy rate because few people were able/willing to pay the very substantial premium.

* Perhaps the biggest reason for its abrupt closure is due to accountants. Disney will be taking up to a $300 million tax write off from the project, so its closure may have been even a neutral or even good thing to its execs. The closure was extremely abrupt, which seems to suggest that they wanted to take the write off for the prior fiscal year specifically.

Older »