Two different philosophical approaches with Zig and Rust. - Zig: Let's have a simple language with as few footguns as possible and make good code easy to write. However we value explicitness and allow the developer to…
Clock rate isn't the only factor. A design can be power hungry at a low clock rate if designed badly, and if it it is... you're never getting that think running fast.
All of those things are solved with modern extensions. It's like comparing pre-MMX x86 code with modern x86. Misaligned loads and stores are Zicclsm, bit manipulation is Zb[abcs], atomic memory operations are made…
Wtf‽ I didn't know that was possible.
> Yet ironically getting Claude Code to run at 60fps is way way harder in a TUI? That's what happens when you vibe code your app.
Given that Mandarin has many forms of "yes", isn't the problem that all those forms map on to our singular "yes". For a native speaker "yeeeessss" means something very different to "yes", but they would use a different…
How about we leave "...shoring" alone?
> Question: Did photoshop kill photography? Because honestly, this AI discussion to me sounds very much like the discussion back then. It killed an aspect of it. The film processing in the darkroom. Even before digital…
> Why you think the net was born? > Porn porn porn
My biggest complaint is there's no way to name a signal because a wire isn't a thing. You instance gates and give those names, but wires are anonymous connections between gate pins. I think this is backwards. Knowing…
I think it's more likely you become a danger for others. A safe space for malware
If you're using dlopen(), you're just reimplementing the dynamic linker.
As Blair got most institutionalised to the world of politics he became more and more authoritarian. Starmer appears to be listening to Blair who is now even worse than he was as PM. Labour generally has a "paternalistic…
> "We don't need destructors, defer/errdefer is enough" is Zig's stance, and it was mostly OK. There's more than that. Zig has leak detecting memory allocators as well, but they only detect the leak if it happens.…
A 50-ish MB build time dependency that doesn't need any special privileges or installation to run? That's over engineering? A binary release of just CMake is bigger than all of Zig.
There's one area I wish we did differently which I think is a hang-over from big-endian. It's the order of bytes when we write out hex dumps of memory. You'll always get something like this: ``` 00000000 : 00 01 02 03…
> - we have authentication everywhere in our stack, so I've started including the user id on every log line. This makes getting a holistic view of what a user experienced much easier. Depends on the service, but…
> Zig, for all its ergonomic benefits, doesn’t make memory management safe like Rust does. Not like Rust does, no, but that's the point. It brings both non-nullable pointers and bounded pointers (slices). They solve a…
It is intended for release builds. The ReleaseSafe target will keep the checks. ReleaseFast and ReleaseSmall will remove the checks, but those aren't the recommended release modes for general software. Only for when…
And hardware access. You absolutely can't write a hardware driver without unsafe.
I personally feel the Zig is a much better fit to the kernel. It's C interoperability is far better than Rust's, it has a lower barrier to entry for existing C devs and it doesn't have the constraints the Rust does. All…
So if you're writing a device driver in rust... - Hardware access is unsafe - Kernel interface is unsafe How much remains in the layer in-between that's actually safe?
I don't understand why. Working with hardware you're going to have to do various things with `unsafe`. Interfacing to C (the rest of the kernel) you'll have to be using `unsafe`. In my mind, the reasoning for rust in…
Learn rust to a level where all cross language implications are understood, which includes all `unsafe` behaviour (...because you're interfacing with C). Yes it does.
That just highlights that the way people are interpreting the word `master` is wrong. You've named your most important branch "teacher".
Two different philosophical approaches with Zig and Rust. - Zig: Let's have a simple language with as few footguns as possible and make good code easy to write. However we value explicitness and allow the developer to…
Clock rate isn't the only factor. A design can be power hungry at a low clock rate if designed badly, and if it it is... you're never getting that think running fast.
All of those things are solved with modern extensions. It's like comparing pre-MMX x86 code with modern x86. Misaligned loads and stores are Zicclsm, bit manipulation is Zb[abcs], atomic memory operations are made…
Wtf‽ I didn't know that was possible.
> Yet ironically getting Claude Code to run at 60fps is way way harder in a TUI? That's what happens when you vibe code your app.
Given that Mandarin has many forms of "yes", isn't the problem that all those forms map on to our singular "yes". For a native speaker "yeeeessss" means something very different to "yes", but they would use a different…
How about we leave "...shoring" alone?
> Question: Did photoshop kill photography? Because honestly, this AI discussion to me sounds very much like the discussion back then. It killed an aspect of it. The film processing in the darkroom. Even before digital…
> Why you think the net was born? > Porn porn porn
My biggest complaint is there's no way to name a signal because a wire isn't a thing. You instance gates and give those names, but wires are anonymous connections between gate pins. I think this is backwards. Knowing…
I think it's more likely you become a danger for others. A safe space for malware
If you're using dlopen(), you're just reimplementing the dynamic linker.
As Blair got most institutionalised to the world of politics he became more and more authoritarian. Starmer appears to be listening to Blair who is now even worse than he was as PM. Labour generally has a "paternalistic…
> "We don't need destructors, defer/errdefer is enough" is Zig's stance, and it was mostly OK. There's more than that. Zig has leak detecting memory allocators as well, but they only detect the leak if it happens.…
A 50-ish MB build time dependency that doesn't need any special privileges or installation to run? That's over engineering? A binary release of just CMake is bigger than all of Zig.
There's one area I wish we did differently which I think is a hang-over from big-endian. It's the order of bytes when we write out hex dumps of memory. You'll always get something like this: ``` 00000000 : 00 01 02 03…
> - we have authentication everywhere in our stack, so I've started including the user id on every log line. This makes getting a holistic view of what a user experienced much easier. Depends on the service, but…
> Zig, for all its ergonomic benefits, doesn’t make memory management safe like Rust does. Not like Rust does, no, but that's the point. It brings both non-nullable pointers and bounded pointers (slices). They solve a…
It is intended for release builds. The ReleaseSafe target will keep the checks. ReleaseFast and ReleaseSmall will remove the checks, but those aren't the recommended release modes for general software. Only for when…
And hardware access. You absolutely can't write a hardware driver without unsafe.
I personally feel the Zig is a much better fit to the kernel. It's C interoperability is far better than Rust's, it has a lower barrier to entry for existing C devs and it doesn't have the constraints the Rust does. All…
So if you're writing a device driver in rust... - Hardware access is unsafe - Kernel interface is unsafe How much remains in the layer in-between that's actually safe?
I don't understand why. Working with hardware you're going to have to do various things with `unsafe`. Interfacing to C (the rest of the kernel) you'll have to be using `unsafe`. In my mind, the reasoning for rust in…
Learn rust to a level where all cross language implications are understood, which includes all `unsafe` behaviour (...because you're interfacing with C). Yes it does.
That just highlights that the way people are interpreting the word `master` is wrong. You've named your most important branch "teacher".