Browsers have so much anti-fingerprinting and pro-privacy options nowadays, but there's still no option to stop them from tattling on me when I open the fricking dev tools.
My account is probably a net loss for Google at this point, because they keep logging you out when you accidentally do a search with the web console open, and 2FA text messages aren't free.
Building collapse in Saint-Henri came as no surprise to some tenants
Dafuk?
I think people really don't appreciate just how incomplete Linux kernel API docs are, and how Rust solves the problem.
I wrote a pile of Rust abstractions for various subsystems. For practically every single one, I had to read the C source code to understand how to use its API.
Simply reading the function signature and associated doc comment (if any) or explicit docs (if you're lucky and they exist) almost never fully tells you how to safely use the API. Do you need to hold a lock? Does a ref counted arg transfer the ref or does it take its own ref?
When a callback is called are any locks held or do you need to acquire your own? What about free callbacks, are they special? What's the intended locking order? Are there special cases where some operations might take locks in some cases but not others?
Is a NULL argument allowed and valid usage, or not? What happens to reference counts in the error case? Is a returned ref counted pointer already incremented, or is it an implied borrow from a reference owned by a passed argument?
Is the return value always a valid pointer? Can it be NULL? Or maybe it's an ERR_PTR? Maybe both? What about pointers returned via indirect arguments, are those cleared to NULL on error or left alone? Is it valid to pass a NULL ** if you don't need that return pointer?
reshared this
To be clear, I don't blame Linux developers for the incomplete docs. For better or worse, the Linux kernel is very complex and has to deal with a lot of subtlety. Most userspace APIs have much simpler rules you have to follow to use them safely. Kernels are hard!
Even experienced kernel developers get these things wrong all the time. It's not a skill issue. It's simply not possible for humans to keep all of these complex rules in their head and get them right, every single time. We are not built for that.
We need tooling to help us.
The solution is called Rust. Encode all the rules in the code and type system once, and never have to worry about them again.
Just like the solution to coding style arguments is to encode all the rules in an auto formatter and never have to worry about them again (hint hint! ^^)
And then we can stop worrying about all the low-level safety, ownership, and locking problems, and start worrying about more important things like high-level driver and subsystem design.
(I should note that the Rust for Linux project does in fact also enforce rustfmt for submissions, so you also don't have to worry about code formatting or have a code review complain about that if you write kernel Rust, ever! Just `make rustfmt`.)
> The solution is called Rust.
I use and like Rust, but such a definitive statement ("the solution") does sound uncomfortably like religious propaganda (e.g. "Jesus is the answer"). Just saying we have to be careful about how we advocate for Rust, which is indeed a useful tool.
@matt It's kinda frustrating to look at such extremely obvious gigantic problems which are dragging down everyone involved in Linux kernel work, then looking at a practical, realistic and proven solution to those problems, and then when someone says "hey we should apply the solution so that the problem goes away" people come out of the woodwork with comments like yours
Dr: The solution to your infection is antibiotics
You: Careful, they may fix the problem but don't call things 'the solution'
@mort I wonder if the bigger problem was what I said, or that I was a random bystander coming out of the woodwork and adding to already contentious discourse.
FWIW, I develop a Rust library (for GUI accessibility) with a C API, and I want it to be used in non-Rust projects. But I worry about how Rust's reputation for religious zeal in its most vocal enthusiasts will affect the adoption of my library, and more importantly, the implementation of accessibility in GUI toolkits.
@matt As I hinted at in fosstodon.org/@mort/1130568795…, this is just a minor disagreement on strategy after all, and for all I know your strategy might be best, however frustrating that may be. Or maybe people like Ted would be hostile regardless. I don't know.
I'm not really in a position to accept your apology, I'm not involved in Rust for Linux, I just do a bit of non-Rust kernel work sometimes and also have some projects which use Rust. But thank you nonetheless.
@mort Specifically, the statement "The solution is called Rust" reminded me of this (rather obscure) Christian pop song I listened to in my 20s, called "His Name is Jesus": youtube.com/watch?v=81gLbLmzbg…
Verse 1
A world full of people
In a world full of darkness
Are constantly searching
Searching for truth
So shout it from the rooftops
The truth has come
Chorus
His name is Jesus
...
There's a more famous song called "Jesus is the Answer", but "His Name is Jesus" is a closer match.
@matt @mort I'm just a random nerd who likes looking at stuff like this from a outside in perspective but I'll back up Matt on being cautious in how you come off when you think you have a strong solution to a hard problem
Evangelical/fundamentalist Christianity is BIG up in the West and it affects alot of our thinking, even those who're atheist or deconvert
People go hard for causes they believe in, people are suspicious of people who go hard because the vibes feel like religious dogma
The solution is a low level language with strong typing, without null, and explicit lifetimes and so on.... But at the end of the day, you are just writing "Rust" by using more words
If you question further you get "because rust *is* perfect!"
It certainly poisons the socialization of genuine use-cases
@matt I think a proper rewording is as simple as adding "currently".
"Currently the only solution available to solve those problems is Rust"
Doesn't mean it's the absolute solution and that in 5 years there won't be an alternative etc
Forrest Brazeal:
“I think that AI has killed, or is about to kill, pretty much every single modifier we want to put in front of the word “developer.”
“.NET developer”? Meaningless. Copilot, Cursor, etc can get anyone conversant enough with .NET to be productive in an afternoon … as long as you’ve done enough other programming that you know what to prompt.”
From newsletter.goodtechthings.com/…
indieweb.social/@fatrat/113056…
Ugh, the maintainer of the Debian bcachefs-tools package just orphaned it because its Rust dependencies are moving too fast. jonathancarter.org/2024/08/29/…
So, I need to be careful not to cause that same problem in AccessKit, especially if my current (draft) merge request to use AccessKit in GTK 4 (via the C API) is finished and accepted.
Coming up in the new academic year, I get to spend the semester with a fresh bunch of second-year students who are going on to learn some more logic than the first-year basics.
Like last year, in Intermediate Logic we’ll be exploring natural deduction proof theory and different kinds of models for propositional, modal and first-order predicate logic.
New this year, my Doktorvater, Prof. Graham Priest, will be joining us in the last week of classes, so we’ll have a fun back-and-forth about truth-value gaps, gluts and paradoxes to end things with a bit of a bang.
groups.io/g/orbit-reader/messa…
reshared this
I was going to make this a poll, but I lost track of the probably-illegal things Elon Musk has done or said he wants to do (and I’m not even sure what ‘firing ballistic missiles at Canada’ comes under), so let’s make it a thread:
What do you think think Phony Stark will go to prison for first?
Any #Rust folks giving up on Linux:
#FreeBSD has no current plan for Rust, but we want one! We want experienced Rust people to tell us how it should work. We’re interested in being able to add Rust in both userspace and the kernel, but we need a way of using Rust that works with multi-year support cycles (we need to be able to easily merge security fixes in trunk back to a branch that was originally made four years ago).
Personally, I’d love to see a new service management framework for FreeBSD written in Rust + Lua.
EU ChatControl is back on the agenda
Link: digitalcourage.social/@echo_pb…
Discussion: news.ycombinator.com/item?id=4…
An old witty paraphrasing of Arthur C Clarke's "Any sufficiently advanced technology is indistinguishable from magic" when applied to the maxim "never attribute to malice that which can be explained as incompetence":
"Any sufficiently advanced incompetence is indistinguishable from malice"
reshared this
Pirátská senátorka si chválí stavební řízení. O kolaudaci požádala za 10 minut z mobilu
Many thanks go to Stephen Blazie for not only posting the file but for ensuring that heading navigation works properly. Of course, the release notes can
also be found in the BT Speak help system once the new update has been installed. To access them on your BT Speak, press O-chord followed by the letter
H to access the list of help files. Next, press G for Getting Started, followed by the enter key (dot 8).
To access the release notes on our Web site, go to
blazietech.com/august-28th-202…
DG
Books, pens, notebooks... it’s that time of year 📚!
As the new school year begins, we know addressing topics such as #disinformation with students can be challenging. But no worries, teachers—we’ve got you covered!
Our toolkit on ‘how to spot and fight disinformation’ is the perfect resource to equip your students with key online skills:
✏️ Understanding disinformation
📏 Recognizing how it spreads
📘 Learning how to respond
Check it out → europa.eu/!JB9JDn
What is the best way to start your emails? 📨
Dear XYZ? To Whom It May Concern? I hope this #email finds you well? 🤔
Let us know in the comments!
Not sure? We've created a #guide to drafting emails from start to finish! 👉 tuta.com/blog/how-to-start-an-…
Situation dependent. For formal communication I adhere to the rules learnt from my early years.
To Whom It May Concern, if the identity of the recipient, within an organization, isn’t readily known.
Dear XYZ/Gentili Signori(a) XYZ, if the recipient’s identity is known.
Hi — for follow up correspondences to the Dear XYZ recipient.
For all other informal communications, I adhere to no rules and simply go with whatever comes to mind. For example: Hey, Ciao, Bonjour etc
Ich hab da die letzten Tage im Urlaub n kleines Script Abends gebastelt.
Wenn jemand wie ich von #PocketCasts auf @AntennaPod umsteigen will. Hier mein Tool um mit nem eigenen Gpodder Server. bzw. myOPodSync seinen ganzen Verlauf zu syncen.
Gerne Teilen und mit helfen, das Tool besser zu machen.
Meine Python skills sind beschraenkt, und da geht bestimmt noch einiges mehr :)
I think that sums up FB’s attitude towards accessibility quite neatly, and they are far from alone in this.
#SocialMedia #Accessibility
Facebook says its new app icon was just a glitch after all 9to5mac.com/2024/08/30/faceboo…
reshared this
Pokud ještě nevyužíváte naši RSS čtečku Miniflux, tak je nejvyšší čas to zkusit! 📰
📲 Díky integraci s Mxchatem (Element) si můžete nechat zobrazovat náhledy RSS zpráv přímo v chatu a mít tak všechny novinky na dosah ruky.
#mxchat #mxchatcz #rss #miniflux #element #matrix #opensource
jlongman
in reply to Hubert Figuière • • •brother in law lives down the street, I pass it all the time. I’m wondering between the heavy rains and the vibrations off the 720/Ville-Marie (literally right beside it)…
The residents in the building-beside-the-collapsed-wall have had to break in to get their stuff (cat, tools, etc) only to find they’ve already been robbed. (There’s a security guard posted but he’s only watching the front.) (Cat and tools were recovered, $2k+ bike and others were gone)