News for hackers. Stuff that matters.

rq1

Re:The oldest ice disappears and the Stone Age emerges from it on Saturday October 31, 2026 @01:39PM (#50318215)
For anyone still doubting of the contemporary decline, and the looming moroseness.

There comes the undeniable proof that we’re back to the Stone Age!

Re:DeepSeek Elastic Compute (DSec) on Sunday September 27, 2026 @05:59AM (#49865183)
Yes and it needs to be load bearing. It’s not a claim that its seams are.
Re:Aligned to Whom? on Sunday September 13, 2026 @04:34AM (#49681488)
When you see the level of cheating and deception: I think they’re Sam Altman-aligned.
Bend the spoon*

* for people who don’t know the ref

Re:Is AI Reasoning Right for the Wrong Reasons? on Saturday August 01, 2026 @07:50AM (#49133599)
Exactly.
Re:A migrant surge tests Spain's open policies on Saturday August 01, 2026 @03:26AM (#49131980)
It was indeed an attack.

The trains and other public transports to bring these people there were free that day for that specific destination.

Re:Is AI Reasoning Right for the Wrong Reasons? on Friday July 31, 2026 @11:59AM (#49124759)
Just think of it as a decompression procedure.

That’s all.

Re:Who's Afraid of Chinese Models? on Wednesday July 22, 2026 @02:14AM (#49002502)
Hilarious. It is absolutely a logical défense: our societal order and its relative fairness don’t emerge from the void.

Otherwise a victim defending himself is the same as the person assaulting?

Perpetrator: you just stabbed me OMG!

Victim: you were going to rape and kill me

Perpetrator: sorry that’s just whataboutism and definitely not a logical defence. Your actions can be judged on their own merits, regardless of who presents the arguments.

Re:Who's Afraid of Chinese Models? on Tuesday July 21, 2026 @03:04PM (#48996651)
I never understood how people referred to or understood “whataboutsim”.

I personally understand it not as a diversion but as a critique of the moral higher ground implied by the first accusation. Said differently: keep your own house in order.

Re:Rewriting Bun in Rust on Thursday July 09, 2026 @08:16AM (#48844662)
I wouldn't disaree on the ergonomics: a powerful but unusable tool is... useless!

Though ignoring all the PL lessons for the sake of "pragmatism" is just plain ignorance.

Rust has a quite solid theory backing. Zig has nothing interesting really: it's "vibe coded" by someone who was doing game dev or something like that.

Re:Rewriting Bun in Rust on Wednesday July 08, 2026 @07:13PM (#48838643)
From a PL Theory perspective, Zig is vibe-coded.

Not sure why people use it.

I was wondering WTF was happening.

This was past month:

   516 + 518*n
   516  n=0  count=4454
  1034  n=1  count=318
  1552  n=2  count=129
  2070  n=3  count=56
  2588  n=4  count=35
  3106  n=5  count=14
  3624  n=6  count=6
  4142  n=7  count=4
  4660  n=8  count=6
Re:Odin, Wikipedia and Engagement Farming on Saturday July 04, 2026 @06:06AM (#48784238)
Because it’s supposedly open?
The main advantage of PeerTube and alike is that they keep the “professional content creators” and their crappy content away.

Because of their unique monetisation feature.

The Pi compression algorithm is better.
Re:Everything is logarithms on Sunday June 21, 2026 @09:18PM (#48624440)
The important properties of the logarithm are structural: we usually do not care about units or bases, except when carrying out an actual numerical computation.

As developed in the article, informally, but somewhat sufficiently, the change of base formula shows that the choice of base is largely irrelevant: different bases give equivalent logarithms up to a constant factor.

The Taylor expansion of exp gives a more intrinsic and general definition of the exponential function. This allows exp to be generalised structurally to many algebraic settings, provided the relevant convergence conditions are met: for example, the complex exponential and its many possible logs, the matrix exponential, and so on…

I think sooner rather than later, AI will replace CEOs.
Re:It's Not Just X. It's Y on Sunday May 31, 2026 @07:20PM (#48350790)
You’re absolutely right to push back on this.

Sometimes it’s not just about the Ys but also the Qs.

Enterprise programs*
Re:Where Are the Vibecoded Photoshops? on Monday May 18, 2026 @06:42AM (#48177705)
Photoshop?! Where we’re going, we don’t need photoshop.
Re:Ladybird Browser adopts Rust on Tuesday February 24, 2026 @12:03PM (#47139516)
I assumed new projects but I just realised that I didn’t write it.

But still disagree: we have cbindgen.

Re:Ladybird Browser adopts Rust on Tuesday February 24, 2026 @05:20AM (#47135260)
> I would say modern c++ written by someone already familiar with rust will probably be structured in a way that's extremely easy to port because you end up modeling the borrow checker in your brain.

I can't stress out how much important this sentence is. I would even remove the "familiar with rust" part.

Anyone who still thinks it's good to use C/CPP on modern hardware where Rust support is available and good: please print the sentence above and post it all over your place.

Re:Parse, Don't Validate and Type-Driven Design in Rust on Saturday February 21, 2026 @07:10PM (#47106540)
Imagine you read a value from stdin and parse it as:

Maybe Int

So your program splits into two branches:

1. Nothing branch: you failed to obtain an Int.

There is no integer to use as an index, so you can’t even attempt a safe lookup into something like Vect n a.

2. Just i branch: you do have an Int called i.

But an Int is not automatically a valid index for Vect n a, because vectors are indexed by Fin n (a proof carrying “bounded natural”).

So inside the Just i branch, you refine further:

3. Try to turn the runtime integer i into a value of type Fin n.

There are two typical shapes of this step:

* Checked conversion returning Maybe (Fin n)

If the integer is in range, you get Just (fin : Fin n). Otherwise Nothing.

Checked conversion returning evidence (proof) that it’s in range

For example: produce k : Nat plus a proof like k < n (or LTE (S k) n), and then you can construct Fin n from that evidence.

(But it’s the same basically, you end up with a “Maybe LTE…”

Now if you also have a vector: xs : Vect n a

… the n in Fin n and the n in Vect n a are the same n (that’s what “unifies” means here: the types line up), so you can do: index fin xs : a

And crucially:

there is no branch in which you can call index without having constructed the Fin n first, so out-of-bounds access is unrepresentable (it’s not “checked later”, it’s “cannot be expressed”).

And within _that_ branch of the program, you have a proof of Fin n.

Said differently: you don’t get “compile-time knowledge of i”; you get a compile-time guarantee that whatever value you ended up with satisfies a predicate.

Concretely: you run a runtime check i < n. _ONCE_

If it fails, you’re in a branch where you do not have Fin n.

If it succeeds, you construct fin : Fin n at runtime (it’s a value, you can’t get around that), but its type encodes the invariant “in bounds”/check was done somewhere in this branch.

Well I never advocated the latter, so please. And my logic is very sound, better than yours. :)

I was replying to "the US does not get to decide who can have a nuclear weapon and who does not". As much as I agree with that... my previous comment.

We're not talking about a nuclear program.

As much as I agree with you. Iran is signatory of the NPT with all its consequences.

Instead of letting more countries develop these weapons, we should work on denuclearizing all countries, starting with the US and Russia and their insane arsenals! And maybe build a unified international legal framework for civilian nuclear developments and applications from energy to medical outside of the "security council's" ferule!

A nuclear war cannot be won, thus never fought!

Re:Vsora Jotunn-8 5nm European inference chip on Thursday November 27, 2025 @07:43PM (#46074519)
The next generation will include another processor to offload the inference from the RISC V processors used to offload inference from the host machine.
What core type theory is C3 actually built on?

The blog claims that @pool "solves memory lifetimes with scopes" yet it looks like a classic region/arena allocator that frees everything at the end of a lexical block… a technique that’s been around for decades.

Where do affine or linear guarantees come in?

From the examples I don’t see any restrictions on aliasing or on moving data between pools, so how are use‑after‑free bugs prevented once a pointer escapes its region?

And the line about having "solved memory management" for total functions::: bravo indeed…

Could you show a non‑trivial case where @pool eliminates a leak that an ordinary arena allocator wouldn’t?

Could you show a non‑trivial case, say, a multithreaded game loop where entities span multiple frames, or a high‑throughput server that streams chunked responses, where @pool prevents leaks that a plain arena allocator would not?

Re:Matt Godbolt sold me on Rust by showing me C++ on Wednesday May 07, 2025 @05:56AM (#43913834)
Ah I see, it’s a solution too!
Re:Matt Godbolt sold me on Rust by showing me C++ on Tuesday May 06, 2025 @04:50PM (#43909500)
I don’t really understand your point there.

Sound type systems are equivalent to proof systems.

You can use them to design data structures where their mere eventual existence guarantee the coherence and validity of your program’s state.

The basic example is “Fin n” that carries at compile time the proof that you made the necessary bounds checks at runtime or by construction that you never exceeded some bound.

Some languages allow you to build entire type level state machines! (eg. to represent these transactions and transitions)

Older »