Hacker Newsnew | past | comments | ask | show | jobs | submit | CupricTea's commentslogin

PCIe is probably the most future proof technology we have right now. Even if it is upheaveled at the hardware level, from the software perspective it just exposes a device's arbitrary registers to some memory mapped location. Software drivers for PCIe devices will continue to work the same.

The other day in a Facebook Messenger group chat I tried to link to https://motherfuckingwebsite.com/ as a joke, but Messenger kept blocking it. It's quite overzealous with its blocking.

It seems to just be Rust for people who are allergic to using Rust.

It looks like a fun project, but I'm not sure what this adds to the point where people would actually use it over C or just going to Rust.


> what this adds

I guess the point is what is subtracts, instead - answer being the borrow-checker.


> answer being the borrow-checker

There is an entire world in Rust where you never have to touch the borrow-checker or lifetimes at all. You can just clone or move everything, or put everything in an Arc (which is what most other languages are doing anyway). It's very easy to not fight the compiler if you don't want to.

Maybe the real fix for Rust (for people that don't want to care), is just a compiler mode where everything is Arc-by-default?


So it re-adds manual lifetime checking. Got it.

It might or might not be a toy project, I'm not sure, but one advantage of subtracting the borrow checking is that the compiler avoids a lot of complex machinery.

Borrow checking in Rust isn't sound AFAIK, even after all these years, so some of the problems with designing and implementing lifetimes, region checking, and borrow checking algorithms, aren't trivial.


> Borrow checking in Rust isn't sound AFAIK, even after all these years

Huh? If borrow checking in Rust is unsound, that's akin to saying Rust is utterly broken. Sounds like you've been fed FUD.

If Rust was that unsound, Rust haters would flood Twitter with Rust L takes.


Not just that, it would also mean that every single Rust application is riddled with very noticeable miscompilation bugs due to the fact that Rust makes heavy use of strict aliasing rules for optimization. This isn't something that can easily be sweeped under the rug without people noticing.

I'm reading it as charitably as possible as in "Maybe some lifetime in some arcane combination is unsound." I did heard that 'static lifetime shouldn't be permitted in some cases.

The premise is too ridiculous to engage seriously. Apparently Google/AWS/MSFT/C++ engineers all missed a huge gaping hole in Rust borrow checker, something that random commenter could pick up.


Maybe take the parts of rust the author likes, but still encourages pointers in high level operations?

>Further down the article, the author suggests bubbling up the error with a result type, but you can only bubble it up so far before you have to get rid of it one way or another. Unless you bubble everything all the way to the top, but then you've just reinvented unchecked exceptions.

Not necessarily. Result types are explicit and require the function signature to be changed for them.

I would much prefer to see a call to foo()?; where it's explicit that it may bubble up from here, instead of a call to foo(); that may or may not throw an exception my way with no way of knowing.

Rust is absolutely not perfect with this though since any downstream function may panic!() without any indication from its function signature that it could do so.


>every one of them seems to have some huge caveat which makes them useless

They were added into C before enough of the people designing it knew the consequences they would bring. Another fundamentally broken oversight is array-to-pointer demotion in function signatures instead of having fat pointer types.


Do you think it is acceptable to link to a submission to a place called "SubredditDrama" filled with bad faith links to secondary reactionary sources?

Am I supposed to take this seriously?


I think we're all perfectly capable of following links and drawing our own conclusions. They are links to secondary sources mostly because Blow is notoriously unwilling to step outside of his Twitter bubble, and no one wants to link to that anymore.


What is the good faith way to link to "(It doesn't help that all males currently under the age of 40 were raised to be supercucks.)"? The link exists in the post but you object to that link as a bad faith way to link. So what is a good faith way to link to this tweet?


One that links to the primary source and fully in-context as an absolute starting point.

Even your pseudoquote here gives me nothing to work with.

"It" doesn't help? Seriously? What am I supposed to make with this vague out of context snippet?


The subredditdrama post in question does in fact contain a link to the full tweet, which you objected to as bad faith. So I'm asking what is a good faith way to link to this tweet.


It could have been linked here directly instead of presented through the lens of a toxic smear community.

Presenting it through a community called "SubredditDrama" is poisoning the well[1]. I am not going to entertain that smear tactic.

[1] https://en.wikipedia.org/wiki/Poisoning_the_well


I don't think "Drama" implies which side of said drama is in the right. That drama surrounds a bunch of Blow's public statements is maybe the one thing everyone can agree on


That community has no oversight for what gets posted. It's a free-for-all for anyone to gather (read: cherrypick) low quality information and present it in an overtly sensationalist way and intentionally misrepresent what they quote.

They have no standards, no oversight, no formal methodology, so naturally it attracts gossip-oriented people who want to stir up drama for fun.


Why link you to the handful of individual links directly when you clearly can identify and sort through the source yourself? The poisoning the well clearly wouldn't work on you. Well, here the links are:

"This is true, the gaming press is super left-wing, but on the other hand they have almost no impact now. I would say that the social pressure keeping "indies" in line mostly comes from them being socially fearful in the normal way. (It doesn't help that all males currently under the age of 40 were raised to be supercucks.)" https://x.com/Jonathan_Blow/status/1854708962462982465

(Feb 2025 for context)"Are you kidding? He is the best President we have had in my entire life, by far. It's a miracle. I just hope it doesn't abruptly go bad." https://x.com/Jonathan_Blow/status/1887599339037663629

"Interest is not the same as ability. I believe it is likely that the sexes have different interests on average, and that biological factors play a large part in this. This is *NOT REMOTELY* a controversial opinion except on Weird Far Left Twitter 2017." https://pbs.twimg.com/media/DRT4vNEUIAEJgP3.jpg

"There's a weird disconnect in this vaccine mandate debate: many are still pretending that Covid-19 is of natural origin, which gives such mandates a different feel than they otherwise have." https://x.com/Jonathan_Blow/status/1447601578123296769


Alright, I don't agree with half of what he said here, but really? Is that supposed to make him look like some irredeemably bad person?

Are we seriously going to pretend that men and women—on average—do not differ in their general interests, and furthermore get mad at people for pointing that out?

And I'm not fond of the current administration, but it's a bit extreme to write someone off as a person for liking who is president. You would be writing off literally half of the entire country, and no, that's not something to feel virtuous about, that's just nonsense.

Frankly I think I would rather have a conversation with someone like him instead of someone who would get disproportionately upset at those points.


I opened it for you. It's basically the same problem with Notch or JK Rowling and it's backed up by credible sources. He said women don't like programming because of biology; he said the USA made COVID-19 in a lab and he opposed the vaccinations for it; he said Donald Trump is the best president of his life; he supports the new Facebook rule where you're allowed to post misinformation.

There's clearly something about making a successful game (or book) that just makes you completely lose touch with reality after that.


Wow, what a nauseating subreddit. They are notorious for poisoning the well, bad faith cherrypicking to misrepresent positions, and blowing their positions completely out of proportion, all for the sole effort of smearing whoever or whatever they make a topic about.

And everything in that post are bad faith links to secondary reactionary sources.

I don't really know much about Jonathan Blow or Jai or really follow it but it's astonishing to me that anyone could possibly take anything from that toxic subreddit with any sort of seriousness.


>Man, how I wish WebGPU didn't go all-in on legacy Vulkan API model

WebGPU doesn't talk to the GPU directly. It requires Vulkan/D3D/Metal underneath to actually implement itself.

>Even Vulkan stopped doing pointless boilerplate like bindings and pipelines.

Vulkan did no such thing. As of today (Vulkan 1.4) they added VK_KHR_dynamic_rendering to core and added the VK_EXT_shader_object extension, which are not required to be supported and must be queried for before using. The former gets rid of render pass objects and framebuffer objects in favor of vkCmdBeginRendering(), and WebGPU already abstracts those two away so you don't see or deal with them. The latter gets rid of monolithic pipeline objects.

Many mobile GPUs still do not support VK_KHR_dynamic_rendering or VK_EXT_shader_object. Even my very own Samsung Galaxy S24 Ultra[1] doesn't support shaderObject.

Vulkan did not get rid of pipeline objects, they added extensions for modern desktop GPUs that didn't need them. Even modern mobile GPUs still need them, and WebGPU isn't going to fragment their API to wall off mobile users.

[1] https://vulkan.gpuinfo.org/displayreport.php?id=44583


> WebGPU doesn't talk to the GPU directly. It requires Vulkan/D3D/Metal underneath to actually implement itself.

So does WebGL and it's doing perfectly fine without pipelines. They were never necessary. Since WebGL can do without pipelines, WebGPU can too. Backends can implement via pipelines, or they can go for the modern route and ignore them.

They are an artificial problem that Vulkan created and WebGPU mistakenly adopted, and which are now being phased out. Some devices may refuse to implement pipeline-free drivers, which is okay. I will happily ignore them. Let's move on into the 21st century without that design mistake, and let legacy devices and companies that refuse to adapt die in dignity. But let's not let them hold back everyone else.


A few years ago I learned just enough d3 to show an interactive 2D lollipop graph. Later I learned just enough SVG to get a small diagram out for a college class. I think going back if I were to redo that first interactive graph I'd probably just do it in raw SVG.


I got close to this realization after learning barely enough U-Boot to launch my own bare metal program for the JH7110. I could never get into Linux From Scratch because it was more focused on getting an entire system working when I really just wanted to see how it spins up to get going.

Then at some point the other week I realized I could technically have a working Linux "system" with nothing more than a kernel and a dirt simple hello world program in /sbin/init.

I haven't had the time or inclination to scratch that itch but it's nice to see this article confirm it.


Pass init=/bin/sh or what have you in GRUB cmdline


Traditionally,

    init=/etc/rc
And have that be a shell script which starts whatever you need. You'll probably want fsck in there, mount -a, some syslogd, perhaps dbus, some dhcp client, whatever else you need, and finally the getty which is probably a good idea to respawn after it exits. That's usually the job of init so you could well end your rc with exec /sbin/init


I'm sure it's useful elsewhere, but I have used this for years to debug embedded Linux environments, it's such a handy tool.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: