HN user

zamalek

14,904 karma

https://dickinson.id/

twitter: @jcdickinson element: @jonathan:dickinson.id email: similar to element

Posts14
Comments5,160
View on HN

In Linux you generally have two types of desktops: DEs, which are full featured (KDE, GNOME, Cosmic, Cinnamon, etc.), and window managers. Window managers do only what they say on the tin, if you used one with genuinely no config (they usually have minor defaults to prevent this) you would be completely soft-locked: an empty desktop just a cursor to play with, no way to launch apps, nothing.

They have a special layer into which apps can spawn windows that typically do things like adding a launcher, or an app switcher, notifications, or whatever else you want. It's the unix philosophy brought to the UI domain. Usually you have a separate app for each, but DMS brings in a full suite: allowing you to use the window manager without having to spend hours ricing your system.

One option would be to have an input replay alongside captured outputs (audio visual), at some fixed framerate. Capturing intermediates (scene graph etc.) would probably also be valuable, as that could help nail down why something is failing.

Or you could do it [as I recall the project being called] the scientist way. You still have the old code, so you could replay inputs against each and compare. Probably more realistic because uncompressed video would be a ridiculously huge dataset. This would be more resilient in the face of testing hardware and driver drift.

Historically game engines are the worst offenders when it comes to unit testing. I'm not sure if that's still the case - but that's why I erred on the side of integration tests.

Game engines are typically in two languages, one for the engine itself and one for scripting. That even goes for Unity: in Unity, C# is a significantly more powerful than average scripting language (for lack of a better term), but the engine itself is still C++.

That's not to say that you couldn't write a commercial game engine with something like C# that stands shoulder-to-shoulder with unity and unreal, but it doesn't seem like anyone has attempted to do so. Maybe it's the decompilation fear.

Also, it would continue to make sense to use a scripting language alongside Rust.

I loved playing with fireworks as a kid, and surprisingly have all appendages and senses intact, I even considered pyro as a job - so I definitely get the appeal.

I just think it's time that we left it to the professionals. Unless you are engaging in science or physics, I don't see the value in letting them off yourself.

~~It's also weird that America's birthday is celebrated using a Chinese invention.~~ Edit: bad point, I stand corrected.

Basically, when you have a long session, you can see this by saying, ok, now moving onto another thing, blah blah blah

I try to avoid > 200k contexts, as the 1M context is where I first saw the massive decrease in reliability.

And my AGENTS is really short, and I said it was ignoring decisions in the prompt.

So would that solve (most recent example):

The agreed architecture is to use signing between two micros, so that a third can orchestrate between them in zero trust way (and to prevent a distributed monolith). It just decides that we can trust the third and skips the signing.

Can you just give an agent a desired outcome and let it work, unsupervised? Absolutely not.

Ignoring instructions - whether in AGENTS.md or my prompt - is the worst of it, and it routinely happens. It just waives things that I explicitly told it to do as part of the design.

Vibe coders (in the true sense, zero oversight) claim that you just need to prompt it carefully. That's completely untrue when faced with your careful prompt being ignored.

I even have "don't overrule me without asking" in my global AGENTS.md, and it simply doesn't do that.

For example, running ten programs at once with only a single CPU. Concurrency is effectively CPU scheduling with maybe some other concepts of communication between processes for coordination.

This is called preemptive multitasking. This is like declaring that "sorting a list is quicksort." This can realize concurrency.

The reason that this is important is that cooperative multitasking (async/cps/fibers/safe points) is also concurrency. And I'm sure there are other exotic forms of concurrency that I'm not aware of beyond multitasking.

Concurrency is a property of a program/system, not a mechanism.

You misunderstood my comment. My hypothesis is that it did _neither:_ it accelerated along an axis, and American SOTA/frontier is now laggard (efficiency).

Deepseek and Kimi are writing paper after paper with substantial architecture improvements for efficiency, because they can't just throw more hardware at the problem.

And China is now doing something on the hardware axis; which it may have never explored were it not for the sanctions.

I recently had to functionally migrate away from a codebase that had a ton of YAGNI. _Even with_ an agent it was a herculean task: how do you know if something is really used in a distributed system. I missed things, the agent missed things, it all took way longer than it should have.

(FWIW, I wasn't simply doing a 1:1 port, I took the opportunity to simplify - which meant completely understanding how the old system worked, including things that were _never_ used if I failed to identify them as such)

Unrelated to code, but along the same lines. I've been keeping track of the Reckless Ben case to fuel my unhealthy indignation, and we just had a like-for-like comparison between a human and an LLM.

Human: well-scoped argument that does just enough to get the job done with minimal risk.

AI: Extremely clever and correct legal argument that almost any lawyer would have said not to file (at least as written). It tries to burn the world and seriously risks pissing off the judge.

https://www.youtube.com/watch?v=YRXJnKP6Tu0

People who are willing to spend $71 on not having to build it themselves. That's the premium according to GNs best-effort like-for-like build.

Note that the performance of the RTX 5050 is completely irrelevant if it doesn't work. While some say that their NVIDIA rig is working, that's a risk that's probably not worth taking for something that is expected to "just work." The last thing a console user would tolerate is dealing with whatever mess NVIDIA has dreamed up next.

You need to build within the same constraints.

Also, it's $71 more thanjdiy according to GN.