The (successful) end of the kernel Rust experiment
The topic of the Rust experiment was just discussed at the annual Maintainers Summit. The consensus among the assembled developers is that Rust in the kernel is no longer experimental — it is now a core part of the kernel and is here to stay. So the "experimental" tag will be coming off. Congratulations are in order for all of the Rust for Linux team.
The end of the kernel Rust experiment
The topic of the Rust experiment was just discussed at the annual Maintainers Summit. The cons [...]LWN.net
like this
The ALIS Codex: Learn. Survive. Connect.
reshared this
Why We Make ALIS: The Enemy Within
reshared this
" Alis? Who the fuck is Alis?"
Smokie, probably
Nearly 100 bodies recovered under Al-Shifa hospital in Gaza; UAE-backed separatists claim control of southern Yemen
cross-posted from: lemmy.ml/post/40114112
Civil Defense teams recover 98 additional bodies of people trapped under the rubble of Al-Shifa hospital. A new report estimates the Gaza genocide has produced over 60 million tons of rubble in Gaza. Tony Blair appears to be out as the prospective head of Trump’s “Board of Peace.” The Israeli government to allocate an additional $843 million to West Bank settlements. Israeli warplanes strike southern Lebanon. Israeli National Security Minister Itamar Ben-Gvir and other party members wear a noose on their lapels to signal support for legislation that would allow for lynching Palestinian prisoners. Chairman and CEO of Paramount Skydance David Ellison launches a hostile takeover bid for Warner Bros. Discovery backed by Jared Kushner. The National Defense Authorization Act (NDAA) would force the U.S. to make up for any deficits in weapons sales caused by boycotts of Israel, Zeteo reports. The Supreme Court seems ready to green-light Trump’s firing of independent bureaucrats. President Donald Trump says the U.S. will place five percent tariffs on Mexico to rectify a water dispute. Sudan’s Rapid Support Forces seizes an oil field in west Kordofan. Yemen’s Southern Transitional Council claims control over south Yemen. Honduras AG issues a warrant for the arrest of a former President pardoned by Trump. A government airstrike in Myanmar kills 18. Fighting breaks out between former allies in eastern Congo.
like this
Nearly 100 bodies recovered under Al-Shifa hospital in Gaza; UAE-backed separatists claim control of southern Yemen
cross-posted from: lemmy.ml/post/40114112
Civil Defense teams recover 98 additional bodies of people trapped under the rubble of Al-Shifa hospital. A new report estimates the Gaza genocide has produced over 60 million tons of rubble in Gaza. Tony Blair appears to be out as the prospective head of Trump’s “Board of Peace.” The Israeli government to allocate an additional $843 million to West Bank settlements. Israeli warplanes strike southern Lebanon. Israeli National Security Minister Itamar Ben-Gvir and other party members wear a noose on their lapels to signal support for legislation that would allow for lynching Palestinian prisoners. Chairman and CEO of Paramount Skydance David Ellison launches a hostile takeover bid for Warner Bros. Discovery backed by Jared Kushner. The National Defense Authorization Act (NDAA) would force the U.S. to make up for any deficits in weapons sales caused by boycotts of Israel, Zeteo reports. The Supreme Court seems ready to green-light Trump’s firing of independent bureaucrats. President Donald Trump says the U.S. will place five percent tariffs on Mexico to rectify a water dispute. Sudan’s Rapid Support Forces seizes an oil field in west Kordofan. Yemen’s Southern Transitional Council claims control over south Yemen. Honduras AG issues a warrant for the arrest of a former President pardoned by Trump. A government airstrike in Myanmar kills 18. Fighting breaks out between former allies in eastern Congo.
Nearly 100 bodies recovered under Al-Shifa hospital in Gaza; UAE-backed separatists claim control of southern Yemen
Nearly 100 bodies recovered under Al-Shifa hospital in Gaza; UAE-backed separatists claim control of southern Yemen
Drop Site Daily: December 9, 2025Drop Site News
Eileen Higgins wins Miami mayoral runoff, breaking 30-year Democratic drought
Eileen Higgins wins Miami mayoral runoff, breaking 30-year Democratic drought
Higgins defeated former city manager Emilio Gonzalez with 59% of the vote, pledging to tackle housing affordability, climate resilience, and restore trust at City Hall.Doug Myers (CBS Miami)
like this
Zarah Sultana: Lammy claim he did not know about Palestine Action hunger strikers is a ‘lie’
cross-posted from: lemmy.ml/post/40113504
Published date: 9 Dec 2025 16:18 GMT
In footage posted on Instagram, Lammy is seen telling campaigners and the strikers’ families that he did “not know anything” about the prisoners’ cases.“I’ve written to David Lammy, so the fact he’s saying he doesn’t know about this is a lie,” Sultana told Middle East Eye.
In the video, Shahmina Alam, the sister of one of the strikers, confronted Lammy, saying that he and the Ministry of Justice had failed to respond to a letter alerting them of the planned strike and outlining the participants' demands.
Zarah Sultana: Lammy claim he did not know about Palestine Action hunger strikers is a ‘lie’
cross-posted from: lemmy.ml/post/40113504
Published date: 9 Dec 2025 16:18 GMT
In footage posted on Instagram, Lammy is seen telling campaigners and the strikers’ families that he did “not know anything” about the prisoners’ cases.“I’ve written to David Lammy, so the fact he’s saying he doesn’t know about this is a lie,” Sultana told Middle East Eye.
In the video, Shahmina Alam, the sister of one of the strikers, confronted Lammy, saying that he and the Ministry of Justice had failed to respond to a letter alerting them of the planned strike and outlining the participants' demands.
Zarah Sultana: Lammy claim he did not know about Palestine Action hunger strikers is a ‘lie’
Published date: 9 Dec 2025 16:18 GMT
In footage posted on Instagram, Lammy is seen telling campaigners and the strikers’ families that he did “not know anything” about the prisoners’ cases.“I’ve written to David Lammy, so the fact he’s saying he doesn’t know about this is a lie,” Sultana told Middle East Eye.
In the video, Shahmina Alam, the sister of one of the strikers, confronted Lammy, saying that he and the Ministry of Justice had failed to respond to a letter alerting them of the planned strike and outlining the participants' demands.
Zarah Sultana: Lammy claim he did not know about Palestine Action hunger strikers is a ‘lie’
British MP Zarah Sultana has said that Justice Secretary David Lammy “lied” when he claimed he did not know about the eight Palestine Action-linked prisoners currently on hunger strike.Katherine Hearst (Middle East Eye)
Two US fighter jets circle Gulf of Venezuela in escalation of hostilities
cross-posted from: lemmy.ml/post/40113212
Roque Planas
Tue 9 Dec 2025 21.37 EST
Two US fighter jets circled the Gulf of Venezuela on Tuesday, in what appeared to be an escalation of the Trump administration’s ongoing hostilities toward the South American country and its leftist leader, Nicolás Maduro.Venezuelans and South American media followed the flights in real time using websites like FlightRadar24, which showed a pair of F/A-18 Super Hornets flying together into the narrow Gulf of Venezuela for about 40 minutes. The jets flew just north of Maracaibo, Venezuela’s most populous city.
Two US fighter jets circle Gulf of Venezuela in escalation of hostilities
Roque Planas
Tue 9 Dec 2025 21.37 EST
Two US fighter jets circled the Gulf of Venezuela on Tuesday, in what appeared to be an escalation of the Trump administration’s ongoing hostilities toward the South American country and its leftist leader, Nicolás Maduro.Venezuelans and South American media followed the flights in real time using websites like FlightRadar24, which showed a pair of F/A-18 Super Hornets flying together into the narrow Gulf of Venezuela for about 40 minutes. The jets flew just north of Maracaibo, Venezuela’s most populous city.
Two US fighter jets circle Gulf of Venezuela in escalation of hostilities
Trump had further said Nicolás Maduro’s ‘days are numbered’ as military has targeted alleged drug boatsRoque Planas (The Guardian)
In other news, ”Yeah, this is probably not a good thing”.
[Pluribus Spoilers] A distressing thought about Koumba and the hive...
The hive exist, or desire to please the survivors. However they want. Koumba has used this more than anyone else to his own advantage to live the life of a decadent, hedonistic and shallow playboy - roleplaying as James Bond and surrounding himself and having sex with women. Now, to me - this is very much - at the minimum - taking advantage of them. The women he's having sexual relations with are not who they were, and it is unlikely - even if the hive came to him and suggested it (as I suspect they did) - that the women before the joining would be remotely interested in doing this. They are not them. Who they were has been lobotomised, malformed and disappeared into the hive - segmented up into billions of bodies.
I've seen some people (not here, but elsewhere) suggest that this behaviour is okay because the hive is consenting. The women he's picking show enthusiastic and active consent. This to me is disgraceful, not just in the context of that - but also what could be the case if Koumba had different, darker interests.
Now the show will not address this (and rightfully so) - but it still seems true to me regardless of that. If Koumba was a pedophile, they would provide him with children he requested - and the children would provide active consent. Just like the women he picks now, they wouldn't be who they were. There is no concept of childhood or child innocence anymore. The hive literally can't say no unless it contradicts their survival or asks them to hurt others.
So to anyone who thinks the hive is a good thing (and some people actually do), or that Koumba is doing no wrong with what he's doing. This should be a point to consider.
In theory they aren't individuals anymore, they are appendages. So there would be no issue with consent the same way you decide consent for your hand or mouth. In a sense your mouth consents because it is part of the you making that decision.
Except... If there were any chance your hand could separate from you and become an individual in the future it'd be immoral to use it for sex now. And Carol is already very confident that it's possible to reverse the Joining. But even if she wasn't it was always a possibility. So having sex with any of them is incredibly wrong, which should be obvious to anybody on a gut level.
How Corporate Democrats Made Trump Possible: A 10-Year Timeline
How Corporate Democrats Made Trump Possible: A 10-Year Timeline
Saving the country from autocracy requires recognizing—and then overcoming—the chokehold that Democratic leaders have on the party.norman-solomon (Common Dreams)
Konsole now prompts for passwords and other questions in pop-ups??
I mean, who thought of this as a good idea? I find it rather distracting. I'm trying to SSH into a computer and blam...a massive pop-up blocks me from reading what was before or anything else...just the pop-up in front, blocking text. It has the hidden password text field thing, but this one is to type yes/no to whether accept the server's cert. Y hit enter after typing yes...and blam, another pop-up, this one is for the actual password.
How can I disable these pop-up prompts? I want to be prompted as text, on the konsole main screen, as it always was. I haven't changed anything, because well, this is a brand new install. It started happening on a different computer and found it equally irritating.
Any idea how can I disable this? Thanks so much!
ssh-askpass utility to prompt you for passwords. You can configure it to always prompt over the TTY of the parent process that executed the ssh-askpass command.
Linux Foundation aims to become the Switzerland of AI agents
An attempt to provide vendor-neutral oversight as the agent train barrels on
Linux Foundation aims to become the Switzerland of AI agents
: An attempt to provide vendor-neutral oversight as the agent train barrels onThomas Claburn (The Register)
Rivian is building its own AI assistant
The EV maker will likely share more details on its upcoming AI & Autonomy Day scheduled for December 11.
Rivian is building its own AI assistant | TechCrunch
The EV maker will likely share more details on its upcoming AI & Autonomy Day scheduled for December 11.Kirsten Korosec (TechCrunch)
Wake Up Dead Man digs deep for a darker, more powerful Knives Out
Benoit Blanc shows his range.
Wake Up Dead Man digs deep for a darker, more powerful Knives Out
Wake Up Dead Man, the latest in the Knives Out murder mystery series, starts streaming on Netflix on December 12th.Andrew Webster (The Verge)
Congress quietly strips right-to-repair provisions from US military spending bill
A win for the contractors
like this
Google is powering a new US military AI platform
“The future of American warfare is here, and it’s spelled A-I.”
Google is powering a new US military AI platform
The Department of Defense is announcing its own “bespoke” AI platform, GenAI.mil, and Google Cloud’s Gemini will be the first to be available on the platform.Jay Peters (The Verge)
Microsoft unveils massive 2026 expansions for Age of Empires and Mythology series
The Age of Empires franchise has been back in a big way for years now, both thanks to Definitive Edition remasters as well as new games like Age of Empires IV. With 2025 now coming to a close, Microsoft is looking towards where the franchise will go in 2026. Today, the development team shared a roadmap that details these plans, and there are plenty of good news for fans.
copymyjalopy likes this.
UK spending half an hour longer online than in pandemic, says Ofcom
The survey found people in the UK spent on average four hours and 30 minutes online every day in 2025
Call of Duty won’t release Modern Warfare or Black Ops back to back anymore
“We will drive innovation that is meaningful, not incremental.”
Call of Duty won’t release Modern Warfare or Black Ops back to back anymore
Activision’s future Call of Duty releases will no longer include back-to-back launches of Modern Warfare or Black Ops games.Jay Peters (The Verge)
Canada’s Big Banks are a ‘culprit’ driving housing prices out of control
Canada’s political and media class has spent years chasing convenient villains to blame for the housing crisis, pointing the finger at foreign buyers, immigrants, supply shortages, zoning rules, or an overheated market.
https://breachmedia.ca/canadas-big-banks-are-a-culprit-driving-housing-prices-out-of-control/
[Announcement] Path of Exile 2: The Last of the Druids Item Filter Information
Early Access Announcements - Path of Exile 2: The Last of the Druids Item Filter Information - Forum - Path of Exile
Path of Exile is a free online-only action RPG under development by Grinding Gear Games in New Zealand.Path of Exile
Jimmy Kimmel Inks ABC Contract Extension After Trump-FCC Culture War
The one-year deal will take ‘Jimmy Kimmel Live!’ through the 2026-27 season.
Linux audio stuttering when opening separate application, how to prioritise audio when using Linux?
AI Surveillance Startup Caught Using Sweatshop Workers to Monitor US Residents
Bombshell new reporting from 404 Media found that Flock, which has its cameras in thousands of US communities, has been outsourcing its AI to gig workers located in the Philippines.
After accessing a cache of exposed data, 404 found documents related to annotating Flock footage, a process sometimes called “AI training.” Workers were tasked with jobs include categorizing vehicles by color, make, and model, transcribing license plates, and labeling various audio clips from car wrecks.
In US towns and cities, Flock cameras maintained by local businesses and municipal agencies form centralized surveillance networks for local police. They constantly scan for car license plates, as well as pedestrians, who are categorized based on their clothing, and possibly by factors like gender and race.
In a growing number of cases, local police are using Flock to help Immigration and Customs Enforcement (ICE) agents surveil minority communities.
It isn’t clear where all the Flock annotation footage came from, but screenshots included in the documents for data annotators showed license plates from New York, Florida, New Jersey, Michigan, and California.
Flock joins the ranks of other fast-moving AI companies that have resorted to low-paid international labor to bring their product to market. Amazon’s cashier-free “just walk out” stores, for example, were really just gig workers watching American shoppers from India. The AI startup Engineer.ai, which purported to make developing code for apps “as easy as ordering a pizza,” was found out to be selling passing human-written code as AI generated.
The difference with those examples is that those services were voluntary — powered by the exploitation of workers in the global south, yes, but with a choice to opt out on the front-end. That isn’t the case with Flock, as you don’t have to consent to end up in the panopticon. In other words, for a growing number of Americans, a for-profit company is deciding who gets watched, and who does the watching — a system built on exploitation at either end.
AI Surveillance Startup Caught Using Sweatshop Workers to Monitor US Residents
The powerful surveillance startup Flock was caught using workers in the Philippines to collate data on US residents.Joe Wilkins (Futurism)
like this
reshared this
I mean, there is actual "AI" tech that exists, and isn't just people working in sweatshops, like this:
deeplabcut.github.io/DeepLabCu…
It's just kind of difficult to get consistency between trials, and reliability seems to boil down to completely eliminating variability. So kind of useless outside of a lab setting (as is).
I tend to feel like it's more trouble than it's worth and too unreliable (as is) to usually bother with it, but I know people who are just fellow lab rats (not broligarchs) and are super devoted to getting AI to work for their projects. Like most sectors in this country, even science is being forced to embrace AI. Regardless of if it actually makes sense for your line of work or not, the expectation is get it working or face the chopping block, and there are definitely people who are trying their hardest to really get this shit off the ground (because the alternative is be prepared to be out of a job for being obsolete).
This is also why it's kind of surprising to learn that even "AI" that's simply comparing license plates from one camera to the next, is actually just due to human slave labor.
So, do any of the broligarchs receiving these huge contracts actually believe that eventually they'll get AI to work once enough data and money is dumped into it and the little people at the bottom figure out all the kinks for them?
Or is it just that everybody at the top acknowledges this is a dead end, but once you're in the secret club at the top of the food chain, and you're making ridiculous amounts of money, your incentive is just to keep your mouth shut, keep making money, and fuck the consequences because once society collapses you'll get to be kings of your own little monarchs anyway?
If it is the second, and nobody at the top really believes AI is going anywhere, then what are all the giant, energy sucking data centers that are being built across the country actually for?
Still have to think to coordinates actions but the coding is mostly done by IA.
But if the broligarchs don't actually expect to ever get any of this "AI" shit actually working, then what is the end game?
Obviously the majority of people are only in it to make quick money, but what about the psychos at the very top who are directing policy and building these giant nuclear powered "AI" data centers?
If Thiel/Musk/Zuckerberg don't actually have the expectation that "AI" will eventually work itself out, then it won't matter how money the rich (but not broligarch rich) Wall Street bros and bankers dumped into the "AI" boom.
It won't be like the .com boom and the Internet, because it doesn't actually exist. If the economy completely collapses, and dollar becomes worthless currency, the "money" the average rich asshole hoards away after investing in the 2025 "AI" boom, will have about as much value as monopoly money.
Meanwhile the fucking Bond villain billionaires like Thiel (who have been dreaming of this exact scenario for over 20 years) hold all resources (including a recently purchased uranium mine).
So, "hypothetically," if that was Thiel's endgame, and the "AI" jig is up, then they no longer have to pretend they're trying to develop artificial intelligence or AGI. But they do already hold control of most resources, have mass surveillance capabilities, and each broligarch owns one or more of these giant supercomputers/data centers that have been built in cities all over the ~~U.S.~~ world and soon in outer space.
In this totally fictional scenario, once the dollar collapses (likely followed by all of society collapsing along with it), what do the broligarchs actually use their giant nuclear powered "AI" data centers for?
AI or no AI, they're currently being built all over the country, so what is their actual purpose?
Had an issue with an update and had no networl access after reboot. How many kernals can be available in grub?
Still pretty new to Linux, I'm on Ubuntu Studio 24.04 LTS and had some issues with updates through the updater with errors and so I did sudo apt update/upgrade instead. Something went wrong and had errors, and after a reboot I had no internet access, Ethernet or WiFi, and no options to connect to anything. Running sudo lshw -c network showed unclaimed networks.
In case anyone has a similar issue, I fixed it by:
1. Reboot, spam shift to get into grub
2. Advanced options
3. Recovery mode for the lower number kernel
4. Enable networking
5. Fix broken packages
My question is about number 3. There were 4 kernel options, 2 normal with a recovery for each (I can't remember the specifics but one had 37 and the other 36). I selected recovery 36 as it was the older kernel. Is that amount of options (2 for each kernel) normal or can I create more? Like 37, 36, 35, 34, etc.
I was in panic mode since this PC is for work, and thought it might be nice to have more older kernel options if possible. I've also learned my lesson and am currently running Timeshift.
It's been a long time since I used Ubuntu, but at the time I did I recall running into issues keeping too many old kernels. They were stored in a fixed space folder (or maybe partition?) that was like 100MB and sometimes wouldn't clear out automatically, so I remember this. May not be relevant now, but if it is, space in the storage folder is the limiting factor so you would need to change that. If it IS a partition, then you would need to deal with all that is involved with that.
edited to add that my current OS only stores three or four as well. I have never really dived into it.
The Quest for Reasonably Secure Operating Systems
The Quest for Reasonably Secure Operating Systems
I never worried on Windows about security as much as I should have, it just so happens I've been lucky to have never been hit with ransomware. By the time...yazomie > tech
like this
Another step up is the confidential computing project. Requires hardware that supports it though, which sucks, but takes the virtual hardware concept and adds multi key memory encryption on top.
Remember though security without a threat model is just paranoia, so what level of hoops and investment you need really depends on what your threats actually look like.
I personally love containers and Macsec. It limits most of my concerns. I want to mess with confidential containers next, which is to say lightweight VMs in containers with memory encryption set, but thats all future to me. The irony is that I then I have to figure out attestation better for those machines since from the host they are black boxes.
iOS 26 doesn't offer privacy settings at all for "Home" app
It appears that even if you don't have the app installed, it is in Settings > Apps. But there's no option at all, to customise its privacy settings.
Downloading the app also doesn't let you customise its privacy settings. In fact, the app then disappears altogether from the privacy settings! It doesn't even appear anymore in the "Hidden Apps". Removing it again however, shows the app popping up again in the settings.
What's more, it's deliberately erroneously labelled as "Start Screen" when you don't have downloaded it.
Ridiculous. One more reason to go to a Fairphone or something like it.
However, you can edit it... but very cumbersomely, only by going to Settings > Siri > App Access ... and then suddenly, you see the app!
This seems like it's straight up illegal.
If by “privacy settings” you mean controlling what system permissions the Home app has, you’re out of luck. It’s a semi-default app and may be more deeply embedded into iOS than is apparent.
If you’re trying to control what other apps have access to HomeKit data, you can find that in Privacy & Security.
Strit
in reply to HaraldvonBlauzahn • • •HaraldvonBlauzahn
in reply to Strit • • •like this
Rozaŭtuno likes this.
sga
in reply to HaraldvonBlauzahn • • •davel
in reply to HaraldvonBlauzahn • • •like this
YoSoySnekBoi e toothpaste_sandwich like this.
TheFermentalist
in reply to davel • • •like this
YoSoySnekBoi likes this.
CHOPSTEEQ
in reply to davel • • •HiddenLayer555
in reply to davel • • •sun_is_ra
in reply to HaraldvonBlauzahn • • •Buffalox
in reply to HaraldvonBlauzahn • • •It's been 20 years since I did any serious programming, so I'm a bit rusty, is that what Rust is for?
TriangleSpecialist
in reply to Buffalox • • •No, Rust is to make you feel like you haven't programmed seriously in 20 years when you first pick it up, even though you are actively doing it.
Before the angry rust "mob" comes to get me: this is a joke. I tried Rust out of genuine curiosity, cobbled together a silly little thing, and quite liked it. The borrow checker made me feel like a total beginner again, in some aspects, and it was great to get that feeling again.
Ultimately it does not fit my needs, but there are a few features I am pretty envious of. I can totally see why it's getting such a following, and I hope it keeps growing.
Buffalox
in reply to TriangleSpecialist • • •TriangleSpecialist
in reply to Buffalox • • •Enjoy! I don't know what you used to seriously program on but I am willing to bet that the ownership paradigm that it enforces is going to feel at least moderately new to you, unless you forced yourself to code that way anyways.
Plus, as long as you're doing silly little home projects, the compiler errors are the absolute best I've ever seen. Literally just learn basic syntax, try it out, and when it does not compile, the compiler not only tells you why but also what it thinks you're trying to do and how to fix.
Absolute gem of a learning tool.
like this
TVA likes this.
Buffalox
in reply to TriangleSpecialist • • •Absolutely, I am more used to program closer to the iron mostly C. My favorite was 68000 Assembly, python is nice, but I prefer compiled languages for efficiency. Although that efficiency isn't relevant for basic tasks anymore.
The compiler error messages sound extremely cool. 👍
TriangleSpecialist
in reply to Buffalox • • •Ah, a fellow C coder. Never did do assembly with chips older than x86_64 basically. The only old school stuff I touched was writing an interpreter for the CHIP-8. I tried writing some CHIP-8 too, but coming from more recent paradigms, it seemed quite unwieldy to me.
I like python for quick and dirty stuff, I don't like python for being interpreted and it being not obvious what happens under the hood, memory wise, at a glance.
Seeing as you do C I'll say this. The one thing I really did not enjoy, subjectively, with Rust, is that writing "C-style loops" comes with a performance penalty because there are bound checks happening, so the idiomatic version of a loop in Rust usually involves iterators and function composition.
I am stupid. C-loops are easy for me to understand. More sophisticated stuff is hard for my little brain. I'd rather be trusted with my memory access, and be reminded of my stupidity when comes the inevitable segfault. Keeps you humble.
Buffalox
in reply to TriangleSpecialist • • •To me it feels like it does things I didn't ask it to. So I'm not 100% in control 😋
What? You need to make a function to make a loop? That can't be right???
Absolutely, the way C loops work is perfect. I'm not so fond of the syntax, but at least it's logical in how it works.
TriangleSpecialist
in reply to Buffalox • • •Ah no, there is a misunderstanding. You can write C-loops, of course, they just could involve more work under the hood because in order to enforce memory safety, there needs to be some form of bounds checking that does not happen in C. Caveat: I don't know whether that's always true, and what the subtleties are. Maybe I'm wrong about that even, but what is true is that what I am about to say, you will encounter in Rust codebases.
By function composition I meant in the mathematical sense. So, this example explains the gist of it. You may need to throw in a lambda function in there to actually do the job, yeah. I don't know what the compiler actually reduces that to though.
It's just the more functional approach that you can also see with Haskell for example. I find it harder to parse, but that may be lack of training rather than intrinsic difficult.
EDIT: pasted the wrong link to something totally irrelevant, fixed now
Function Composition and Pipelines in Rust: Building Complex Functionality
Software Patterns LexiconBuffalox
in reply to TriangleSpecialist • • •Melmi
in reply to Buffalox • • •HaraldvonBlauzahn
in reply to TriangleSpecialist • • •IIRC you can speed up such checks by putting an assertion in front that checks for the largest index - this will make repeated checks for smaller indices unnecessary. Also, bound checks are often not even visible on modern CPUs because speculative execution, branch prediction, and out-of-order execution. The CPU just assumes that the checks will succeed, and works on the next step.
TriangleSpecialist
in reply to HaraldvonBlauzahn • • •I had no idea about the assertion! Thanks.
Yes, this is plain wrong or often unimportant on modern architecture, you're right. I, certainly mistakenly, thought this was one of the reasons for the idiomatic version involving function composition, which is the thing I, subjectively, don't enjoy as much.
I stand corrected.
HaraldvonBlauzahn
in reply to TriangleSpecialist • • •The function composition style comes from functional programming and Rust's OCaml heritage. It can make it easier to reason about invriants and possible sets of values of the result of a computation step.
Rust transforms these to the same or a close equivalent of hand-written loops.
Similar methods are used in specialized, high-performance C++ libraries such as blitz++ and Eigen. But if you mess up bounds, you will get UB with them.
HaraldvonBlauzahn
in reply to TriangleSpecialist • • •There is one more little secret that not everyone knows:
You do not need lifetime annotations and full borrow checking if you do not care to press out the last drop of performance out of the CPU, or if you just draft experimental code.
In fact, you can very much program in a style that is similar to python:
This makes your code less efficient, yes. But, it avoids to deal with the borrow checker before you really need it, because the copied values get an own life time. It will still be much faster than Python.
This approach would not work for heavily concurrent, multi-threaded code. But not everyone needs Rust for that. There are other quality-of-life factors which make Rust interesting to use.
... and of course it can't beat Python for ease of use. But it is in a good place between Python and C++. A bit more difficult than Java, yes. But when you need to call into such code from Python, it is far easier than Java.
HaraldvonBlauzahn
in reply to TriangleSpecialist • • •Thinking about ownership is the right way e.g. for C++ as well, so if one has coded professionally in larger systems, it should not be too alien.
One still needs to learn life time annotations. So, assuming that you know, for example, C++, it is an a bit larger hurdle than picking up Java or Go, but it is worth the time.
In many aspects, Rust is far more productive and also more beginner-friendly than C++:
I could go on... but I need to do other stuff
TriangleSpecialist
in reply to HaraldvonBlauzahn • • •Thanks for the detailed answer. Preaching to the choir.
The existence of the concept of ownership in languages like C++ is why I threw "moderately" in there. I agree depending on what you take that to mean, it may or may not do some heavy lifting.
For the rest, I'd divide it into hard facts (compiler messages are absolutely undeniable, in any circumstance) and things that can definitely be true depending on your personal use cases. I'm with you on this: for the vast vast majority of tasks commonly understood as software engineering, memory safety is a concern, and a lot, if not all, of your points, are valid.
I must humbly insist that it does not fit my needs, in the sense that memory safety is of no concern to me, and that the restrictions that a compiler-enforced approach imposes make me less productive, and, subjectively, also less enjoyable because causing more friction.
That being said, you may also not consider what I'm currently doing to be software engineering, and that's totally fine. Then we'd agree entirely.
EDIT: also, there are very few languages less productive and beginner-friendly than C++ in my opinion. The proverbial bar is in hell. But you are talking to an unreasonable C++ hater.
HaraldvonBlauzahn
in reply to TriangleSpecialist • • •I am a professional C++ developer with 20 years of experience and have worked in about eight other languages professionally, while learning and using a dozen more in hobby projects.
I agree with you here. The only areas where specifics are worse are package management in Python, and maintainability of large SIMULINK models.
TriangleSpecialist
in reply to HaraldvonBlauzahn • • •That's the sort of indictment of C++ I like to hear. It's not just me then. I sometimes feel like I'm taking crazy pills with some colleagues who are super enthusiastic about it still.
But again, I'm stupid, I know I'm stupid, and C++ has way too many features and convoluted behaviours which are hard for me to remember and reason about. It often feels like it makes me think more about the language problems than the actual problem I'm supposed to work on. It may say more about me than the language, but I do feel validated with comments like this.
jaybone
in reply to HaraldvonBlauzahn • • •pr06lefs
in reply to jaybone • • •HaraldvonBlauzahn
in reply to jaybone • • •Generally no. As soon as a class hierarchy becomes moderately complex, implementation inheritance makes code very hard to maintain, because you need to read the whole stack of classes to see what a single change will actually do.
Rust has another system, traits and trait implementations.
Victor
in reply to Buffalox • • •What have you been doing since you stopped programming?
Alternatively, why did you stop (seriously) programming?
Buffalox
in reply to Victor • • •Victor
in reply to Buffalox • • •Ephera
in reply to Buffalox • • •Lots of "modern" languages don't interop terribly well with other languages, because they need a runtime environment to be executed.
So, if you want to call a Python function from Java, you need to start a Python runtime and somehow pass the arguments and the result back and forth (e.g. via CLI or network communication).
C, C++, Rust and a few other languages don't need a runtime environment, because they get compiled down to machine code directly.
As such, you can call functions written in them directly, from virtually any programming language. You just need to agree how the data is laid out in memory. Well, and the general agreement for that memory layout is the C ABI. Basically, C has stayed the same for long enough that everyone just uses its native memory layout for interoperability.
And yeah, the Rust designers weren't dumb, so they made sure that Rust can also use this C ABI pretty seamlessly. As such, you can call Rust-functions from C and C-functions from Rust, with just a bit of boilerplate in between.
This has also been battle-tested quite well already, as Mozilla used this to rewrite larger chunks of Firefox, where you have C++ using its C capabilities to talk to Rust and vice versa.
zaphod
in reply to HaraldvonBlauzahn • • •like this
TVA likes this.
kubofhromoslav
in reply to zaphod • • •like this
TVA likes this.
Hule
in reply to kubofhromoslav • • •kubofhromoslav
in reply to Hule • • •HiddenLayer555
in reply to zaphod • • •tehn00bi
in reply to HaraldvonBlauzahn • • •Anafabula
in reply to tehn00bi • • •No. The Rust code in the kernel is GPLv2 just like the rest of the kernel. The licence of the compiler has nothing to do with that, that's nonsense Rust haters make up.
You can argue against independent projects like the Rust coreutils not using a copyleft license, but that has nothing to do with Rust or the kernel. There are independent C projects without non-copyleft licenses too.
like this
TVA likes this.
LeFantome
in reply to Anafabula • • •Ah thank you. You likely guessed the reason for the question.
Many popular projects written in Rust, including the UUtils core utils rewrite, are MIT licensed as Rust is. There have been people that purposely confuse things by saying that “the Rust community” is undermining the GPL. I can see how that may lead somebody to believe that there is some kind of inherent licence problem with code written in Rust.
Code written in Rust can of course be licensed however you want from AGPL to fully proprietary.
I personally perceive a shift in license popularity towards more permissive licenses at least with the “younger generation”. The fact that so many Rust projects are permissively licensed is just a consequence of those kinds of licenses being more popular with the kinds of “modern” programmers that would choose Rust as a language to begin with. Those programmers would choose the same licenses even they used the GCC toolchain. But the “modern” languages they have to choose from are things like Rust, Swift, Zig, Go, or Gleam (all permissively licensed ). Python and TypeScript are also still trendy (also permissively licensed).
Looking at that list, it is pretty silly to focus on Rust’s license. Most of the popular programming languages released over the past 20 years are permissively licensed.
Muehe
in reply to LeFantome • • •How would that ever be a problem in any case? I mean I'm not that versed in licensing stuff, but MIT explicitly allows sublicensing, so if in doubt just slap a GPL-sticker on the MIT code and you are good, no?
Auli
in reply to tehn00bi • • •atzanteol
in reply to tehn00bi • • •Mactan
in reply to atzanteol • • •atzanteol
in reply to Mactan • • •LeFantome
in reply to tehn00bi • • •I have never heard the licensing of Rust being raised as a concern for the Linux kernel.
As Charles Babbage would say, “I am not able rightly to apprehend the kind of confusion of ideas that could provoke such a question.”
The distro I use builds the entire Linux kernel with Clang which uses the same license as Rust. Linux is bound by the same modified GPL license regardless of what compiler I use to build it.
The compiler has no impact on the license applied to the code you build with that compiler. You can use closed source tools to build open source software and vice versa.
And, of course, the Rust license is totally open source as it is offered as both MIT and Apache. Apache 2.0 even provides patent guarantees which can matter for something like a compiler.
If you prefer to use GPL tools yourself, you may want to keep an eye on gccrs.
rust-gcc.github.io/
A legitimate concern about Rust may be that LLVM (Rust) supports a different list of hardware than GCC does. The gccrs project addresses that.
GCC Front-End For Rust | Alternative Rust Compiler for GCC
rust-gcc.github.ioonlinepersona
in reply to HaraldvonBlauzahn • • •selokichtli
in reply to HaraldvonBlauzahn • • •like this
TVA likes this.
partofthevoice
in reply to selokichtli • • •eldavi
in reply to partofthevoice • • •