FoundationDB's approach - look up their testing framework.
I've worked in a company that, for all intents and purposes, had the same thing - single thread & multi process everything (i.e. process per core), asserts in prod (like why tf would you not), absurdly detailed in-memory ring buffer binary logs & good tooling to access them plus normal logs (journalctl), telemetry, graphing, etc.
So basically - it's about making your software debuggable and resilient in the first place. These two kind of go hand-in-hand, and absolutely don't have to cost you performance. They might even add performance, actually :P
Re: "yes men" - critical thinking always helps. I kind of treat their responses like a random written down shower thought - malicious without scrutiny. Same with anything that you haven't gone over properly, really.
The advantages that you listed make them worth it.
The output of the prompts always needs peer review, scrutiny. The longer is the context, the longer it will deviate, like if a magnet were put nearer and nearer to a navigation compass.
This is not new, as LLMs root are statistics, data compression with losses, It is statistically indexed data with text interface.
The problem is someones are selling to people this as the artificial intelligence they watched at movies, and they are doing it deliberately, calling hallucinations to errors, calling thinking to keywords, and so on.
There is a price to pay by the society for those fast queries when people do not verify such outputs/responses, and, unfortunately, people is not doing it.
I mean, it is difficult to say. When I hear some governments are thinking in to use LLMs within the administrations I get really concerned, as I know those outputs/responses/actions will nor be revised nor questioned.
Characteristics - Defaults (they must've appeared recently, haven't played with them)
Custom instructions:
"Be as brief and direct as possible. No warmth, no conversational tone. Use the least amount of words, don't explain unless asked.'
I basically tried to emulate the... old... "robot" tone, this works almost too well sometimes.
Same with doing things in RAM as well. Sequential writes and cache-friendly reads, which b-trees tend to achieve for any definition of cache. Some compaction/GC/whatever step at some point. Nothing's fundamentally changed, right?
I'm pretty sure that most cases of x86 reordering issues are a matter of the compiler reordering things, which isn't (afaik) solved with just "volatile". Caveat - haven't dealt with this for at least over a year (multicore sync without using OS primitives in general).
Literally the volatile keyword in Java is to make the Java compiler aware in order to insert memory barriers. That only guarantees consistent reads or writes, but it doesn't make it thread safe (i.e. write after read), that's what atomics are for.
Also not only compilers reorder things, most processors nowadays do OoOE; even if the order from the compiler is perfect in theory, different latencies for different instruction operands may lead to execute later things earlier not to stall the CPU.
Note that this is only true of the Java/C# volatile keyword. The volatile keyword in C/C++ is solely about direct access in hardware to memory-mapped locations, for such purposes as controlling external devices; it is entirely unrelated to the C11 memory model for concurrency, does not provide the same guarantees, and should never be used for that purpose.
x86 has a Total Store Order (TSO) memory model, which effectively means (in a mental model where only 1 shared memory operation happens at once and completes before the next) stores are queued but loads can be executed immediately even if stores are queued in the store buffer.
On a single core a load can be served from the store buffer (queue), but other cores can't see those stores yet, which is where all the inconsistencies come from.
Would you mind linking some articles or hinting towards techniques used to "coerce" the choosing of ray sample directions so that noise is minimized even in very "specular" scenes? Sorry for the lack of proper terminology on my end, I've been out of the loop for a very long time, but I assume that's where the majority of the tricks are - I suppose the rest is mostly intersection check accelerations (i.e. BVH).
The modern state of the art for realtime is ml denoisers, taking noisy pixel data from multiple frames, plus other associated data eg velocity vectors of geometry, depth data etc. and using it to produce a perfectly denoised image.
Right now, I'm heavily into Cyberpunk 2077. I've got an RTX 5090, so I can turn all the details, including the ray tracing, to their maximum settings. It's absolutely gorgeous (Especially on my 4K HDR OLED monitor), but if you look really closely, you can still see the evidence of some shortcuts being taken.
Some reflections that are supposed to be a bit rough (like a thin puddle in the road) may appear a bit blurry as I'm walking, but will come into better focus when I stop. My guess is that as I'm moving, the angles of the rays being reflected change with every frame, making the data very noisy. Once I stop, they become consistent, so the reflection becomes clear.
I always move the taskbar to the right on any remotely wide setup that I have - including my 21:9 main. Had it at the top on my sp3. On my current portable (spectre 13.5) it's at the bottom, since I kind of have to use win11 due to the heterogeneous cpu arrangement (how "hard" could it be to port the scheduler to win10... yeah yeah we know), and while it annoys me when I dock it at work, the system (win11 pro, with MS account) absolutely does suck in a lot of other respects.
Right click latency in explorer is annoying.
Opening the settings "app" after first boot takes several seconds because who the hell knows - I personally blame it on moving everything to some thousand layers JS framework since I like being grumpy about that. This is a core part of the OS, FFS. Fairly certain that they have the talent to pull it off properly.
Search has been fine for me.
Language switching almost always breaks during updates - "ghost keyboard layouts" and such. Has been the case for a few years now.
General "we'll shove down whatever we feel like on you" BS.
Just let us pay for "ultimate" (a.k.a. end-user enterprise) and be rid of all the BS.
Getting WSA back (yes, I have the community version) and expanding on connected standby or however they call it now would've been neat, especially on a convertible, but it is what it is, I guess. WSL2 is also quite the improvement. Lots of other small little things like the task manager (not using procexp too often nowadays).
> Just let us pay for "ultimate" (a.k.a. end-user enterprise) and be rid of all the BS.
This would do it for me, and probably many others. People would still complain, but at least it'd be offered.
They can keep the home editions as the adware and copilot editions, just let us buy "Ultimate" without all that (or just leave it as opt-in/toggleable). If the new snapdragon X Elite 2 chips pan out like the early benchmarks show they do (almost on par with the M5 in the new iPad), and if Windows encourages more ARM adoption they could seriously have a legitimate macbook competitor finally.
But that would require MS to divert efforts away from "AI, AI, AI, AI!" so they won't do it.
Be careful with that feeling and don't underfuel, or at least keep it at "sane" levels. I feel pretty amazing and full after 62km/2700mD+ XCMs as well, as an extreme example... which is at least partially due to the immune system (and resp. inflammation/etc) being suppressed. Long, light/moderate efforts without adequate food intake and rest can lead to the same thing.
Stress hormones. Read up on cortisol's effects. XCM - cross country marathon (MTB race). 2700mD+ - 2.7km of vertical gain. A reduction of inflammation is a general effect of anti-inflammatory drugs, which tend to make you feel better. There's a LOT more than that (i.e. say, all the things that fall under the umbrella of "runner's high"), but the TL:DR is that significant physical activity / energy expenditure, combined with a lack of proper rest & nutrition leads to long-term undesirable effects that can definitely be masked and/or disregarded.
I've worked in a company that, for all intents and purposes, had the same thing - single thread & multi process everything (i.e. process per core), asserts in prod (like why tf would you not), absurdly detailed in-memory ring buffer binary logs & good tooling to access them plus normal logs (journalctl), telemetry, graphing, etc.
So basically - it's about making your software debuggable and resilient in the first place. These two kind of go hand-in-hand, and absolutely don't have to cost you performance. They might even add performance, actually :P
reply