Live data from Hacker News

Tales of the M1 GPU

asahilinux.org

291–300 of 390 posts

Re: Tales of the M1 GPU

#291
post #93
post #73

Earlier quoted context omitted.

True but this is likely less engaging for the audience, which has been my experience.

This is when I repeat my silly joke that I'd rather see Skeletor doing live coding than another anime girl with pitched upvoice. Enough furries and anime girls, people. They are cute, but there is more to animated art

Live coding with an animated 40k Ork is something I never knew I wanted.

Re: Tales of the M1 GPU

#292
post #262

Half the comments here are talking about the vtuber herself. Who cares. It's been talked before. Just imagine if half the thread is discussing what gender she is. What I am interested in is the claims here https://asahilinux.org/2022/11/tales-of-the-m1-gpu/#rust-is-... . (what is it called if it comes with a proof?). The resident C/C++ experts here would have you believe that the same is possible in C/C++. Is that tr…

In C? No, not unless you write your own scaffolding to do it. In C++? Maybe, but you’d need to make sure you stay on top of using thread safe structures and smart pointers. What Rust does is flip this. The default is the safe path. So instead of risking forgetting smart pointers and thread safe containers, the compiler keeps you honest. So you’re not spending time chasing oddities because you missed a variable initia…

I am curios to know if the trait system helps a lot with mapping the underlying kernel features/quirks? Which language is better at creating abstractions that maps closer to how the kernel works?

Re: Tales of the M1 GPU

#293
post #228

Earlier quoted context omitted.

Can someone explain this vtoon trend to me? It doesn't seem to be driven by anonymity because their real name is easily findable, so I assume it's something else? It seems very common, especially in certain communities.

In case of Marcan/Lina I got the impression that he created Lina just for fun. It started as an April fools joke (Lina 'took over' Marcan's live stream), but Marcan seems to enjoy it a lot, even going so far as contributing to the Inochi2D software (used to render Lina) to improve all sorts of facial features. I don't have the impression that in Marcan's case it was ever about anonymity, it is more about a creative e…

What I like about Lina and Alyssa is the increase of visibility of LGBT+ people in the more "hardware" part of software development.

As your get more low level, less visual and more niche, there's less and less diversity of software developers. And everyone should feel welcomed into hacking the kernel.

Re: Tales of the M1 GPU

#294
post #262

Earlier quoted context omitted.

In C? No, not unless you write your own scaffolding to do it. In C++? Maybe, but you’d need to make sure you stay on top of using thread safe structures and smart pointers. What Rust does is flip this. The default is the safe path. So instead of risking forgetting smart pointers and thread safe containers, the compiler keeps you honest. So you’re not spending time chasing oddities because you missed a variable initia…

I agree that Rust is the better language because it gives you the safe tools by default. Smart pointers are no panacea for memory safety in C++ though: even if you use them fastidiously, avoiding raw pointer access, iterator invalidation or OOB access will come for you. The minute you allocate and have to resize, you're exposed.

Yeah that’s definitely true. Anytime I use any C++ api that I did not write or analyze at my best is a shotgun waiting to go off. Hell, even then, that assumes I know enough to catch everything. I’ve recently been doing security analysis of some very popular repos and C++ is terrifying at times.

Rust isn’t perfect but it gives me so much more trust in everything I do.

Re: Tales of the M1 GPU

#295
post #262

Earlier quoted context omitted.

In C? No, not unless you write your own scaffolding to do it. In C++? Maybe, but you’d need to make sure you stay on top of using thread safe structures and smart pointers. What Rust does is flip this. The default is the safe path. So instead of risking forgetting smart pointers and thread safe containers, the compiler keeps you honest. So you’re not spending time chasing oddities because you missed a variable initia…

I am curios to know if the trait system helps a lot with mapping the underlying kernel features/quirks? Which language is better at creating abstractions that maps closer to how the kernel works?

Hmm , I’m no kernel writer but I don’t think trait’s necessarily offer anything in rust over C++ where I’d use polymorphism with abstract interfaces.

When I’ve written lower level components the things that have really been godsends outside the safety features are things like enums (much more powerful than C/C++ unions/enums and much more ergonomic than variants).

And even though I said traits don’t offer too much more than C++, one thing I think they do really offer is when combined with generics. Rust generics let you define trait requirements better (though not as extremely flexible) as C++ concepts/constraints.

Re: Tales of the M1 GPU

#296
post #57

The fact so much hardware these days is running a full real-time OS all the time annoys me. I know it is normal and understandable but everything is such a black box and it has already caused headaches (looking at you, Intel).

This isn't even that new of a thing. The floppy disk drive sold for the Commodore 64 included it's own 6502 CPU, ROM, and RAM. This ran its own disk operating system[1]. Clever programmers would upload their own code to the disk drive to get faster read/writes, pack data more densely on the disk, and even copy protection schemes that could validate the authenticity of a floppy. 1: https://en.wikipedia.org/wiki/Commod…

Oh God, the 1541 ran soooo hot, hotter than the C64 itself. I remember using a fan on the drive during marathon Ultima sessions. The 1571 was so much cooler and faster.

Re: Tales of the M1 GPU

#297

Earlier quoted context omitted.

Every cell in your body is running a full blown OS fully capable of doing things that each individual cell has no need for. It sounds like this is a perfectly natural way to go about things.

Organic units should not be admired for their design. DNA is the worst spaghetti code imaginable. The design is such a hack, that it's easier to let the unit die and just create new ones every few years.

And it’s still more adaptable/robust/intelligent than almost any system we’ve built so far.

Re: Tales of the M1 GPU

#298
post #83

Earlier quoted context omitted.

Every cell in your body is running a full blown OS fully capable of doing things that each individual cell has no need for. It sounds like this is a perfectly natural way to go about things.

Mature mammalian red blood cells ditch their DNA, which is one reason they don’t live very long.

I didn’t know this. That is fascinating!

Re: Tales of the M1 GPU

#299

Earlier quoted context omitted.

Of course it's possible in either. By the way, Mac drivers are in fact written in a subset of C++. At least they used to be, maybe that has changed.

They are written in a strange subset of C++ with its own inheritance system and currency classes. In NeXTStep they were written in ObjC, and probably should've stayed that way.

> They are written in a strange subset of C++ with its own inheritance system and currency classes.

Can someone explain? Is there something other than DriverKit, which seems to be C++?

https://developer.apple.com/documentation/driverkit

Post reply on HN