like this
@Jonathan Lamothe Depending on the specific system, complex asynchronous code via timer interrupts (or raster interrupts, or I/O interrupts) is possible, but only one "thread" should use the stack.
For example, by default the Commodore 64 has a timer interrupt to trigger code to handle keyboard scanning, blinking the cursor, and other stuff. It's a non-trivial amount of code, but it does not mess with the stack.
A thing that's been stuck in my brain for a while:
A couple weeks ago, @Cory Doctorow wrote this blog post about how AI shouldn't be used to write code (edit: among other things). I agree with his rationale, but I can't help but be reminded of a (perhaps apocryphal) story I once heard about a similar argument being made against compilers in the early days of computing. The same kinds of arguments could've been made back then.
Building a small personal project in #Rust to teach myself the language. As I was looking over my code, I noticed a mistake I'd made that technically worked, but was kind of silly so I fixed it.
This got me to wondering if Rust had a linter (it does) because surely I'd made other similar rookie mistakes. I found the linter and ran it on my project. It came back with one result that I already knew about: a value in a struct that doesn't get read because I haven't written that code yet. That was it.
I was surprised. It's still a very small project, but perhaps I'm a more competent developer than I give myself credit for.
like this
reshared this
Jonathan Lamothe likes this.
like this
reshared this
Content warning: Rust question
Moravian Kaleidoscopy Ltd🇺🇦 likes this.
reshared this
Sorry, didn't get the ping.
Basically, environment variables are inherently thread-unsafe per the POSIX standard. Some operating systems voluntarily provide thread-safe implementations, and those OS's are exempted from the check. It's not anything Rust specific.
UtcOffset
to be manually specified.
reshared this
More musings on #Rust:
I wonder if it would be possible to write an #SNES #ROM in Rust. It seems like exactly the kind of resource-constrained system that would be a prime candidate for that sort of thing. Unfortunately, it seems that the SNES used a custom processor, so it's very possible that I won't be able to specify it as a compile target. A quick search reveals that many people have made SNES emulators in Rust, but at a glace, I see nothing about writing ROMS.
I believe the original NES used an off-the-shelf processor (6502 if memory serves?). Perhaps that's more likely to be supported, but that may be a little too resource constrained.
I shall have to dig deeper into this idea. I love the idea of building a custom ROM rather than just pirating something off the internet.
Has anyone done anything like this? Links to any relevant resources would be very much appreciated.
like this
reshared this
like this
The SNES CPU is based on the WDC 65C816, which is indeed able to run 6502 code but it also has 16-bit mode instructions with much larger memory address space.
I think the only general purpose computer to use this CPU was the Apple IIGS, so maybe look around to see if there's any Rust port to Apple IIGS.
this folks have ported llvm to MOS6502: https://llvm-mos.org/wiki/Welcome
You can try to link rustc to that fork and add a new rustc target.
It will be a very long journey, but it is possible.
alysonsee (Fca) likes this.
reshared this
Newbie #Rust question time:
I wan to use the current_local_offset function from the time
library, but I apparently need to import it into my project with the local-offset
feature.
I assume I need to specify this in Cargo.toml
but for the life of me, I can't figure out how. Can someone point me in the right direction?
like this
reshared this
Have you tried something like the following?
time = { version = "0.3.36", features = ["local-offset"] }
Jonathan Lamothe likes this.
reshared this
Nevermind abandoned software and hardware, I'm of the view that purchasing software or hardware should include the tools necessary to control every bit of data in every RAM and register and the documentation necessary to do so.
I understand that it's much easier to make the abandonware argument though, and I also support that. It'd be a nice compromise if companies had to submit documentation and programming tools to some kind of agency that timed the public release for a few years after the launch date. That way, millions of products wouldn't become e-waste if a company is suddenly bought out or goes bankrupt.
Story time:
I've been holed up in the (home) office for most of the day (not uncommon). I happened to look out the window and noticed that our building was surrounded by cops.
Interesting.
Turns out they arrested one of the downstairs neighbours... for what, I don't know.
Here's the interesting bit though: apparently, the landlord offered them the key to the apartment, but they couldn't legally use it because there was no warrant. I guess that makes sense, but while they weren't allowed to to that, they apparently were allowed to enter the apartment by prying a window open or kicking the door in. In what world does that make any sense?
like this
reshared this
reshared this
Gab AI | An Uncensored and Unbiased AI Platform
Gab AI | An Uncensored and Unbiased AI Platform | Gab AI is an uncensored and unbiased AI platform that accelerates your mind. Access a vast array of knowledge, explore dozens of unique AI characters, and increase your productivity.Gab AI
like this
Kevin Russell reshared this.
People who don't like #Rust: why specifically don't you like it?
I'm in the process of learning it now. There are definitely some things about the language that I can see some as finding irritating (i.e.: the borrowing system). Personally though, I'd rather have a dozen complie-time errors than a single runtime error. This is the reason I tend to gravitate towards Haskell, for instance.
It's certainly not the right language for everything, but if you want better safety in code that needs to be highly efficient, it seems a reasonable alternative to C/C++.
like this
reshared this
the borrow checker is such a big part of the language it's not just slightly irritating, it's like having a non-consentual finger up the ass every time you open some Rust code in your editor
And the fact Rust is always staticallly linked and lacks any sort of reproducible builds don't help, even the compiler itself only compiles with an n-2 version of the compiler, if you skip updating the compiler for a while and want or have to keep using sources then have fun compiling every version since you last updated the compiler
Its type system is also like a borrow checker: non-consentual fist up the ass, want to add an u8 to an u32? Nope, can't, have to manually cast everything because that's why we do programming languages instead of writing Assembly, to do all the fucking busy work ourselves
Oh, and Cargo is its own can of rotten worms
LisPi likes this.
@Reiddragon > And the fact Rust is always staticallly linked and lacks any sort of reproducible builds don't help
That is excusable in languages where source-only distribution is normal and expected. (Indeed, compilation should be a transparent caching step and artifacts of such shouldn't be commonly shared.)
That is not the case for Rust.
> even the compiler itself only compiles with an n-2 version of the compiler
That's also a problem, Rust's bootstrap story sucks.
Ada's might suck as much, I'm not sure, I have found a few interpreters when I last looked...
> I'd rather have a dozen complie-time errors than a single runtime error. This is the reason I tend to gravitate towards Haskell, for instance.
There should be no meaningful difference between runtime and dev-time for the majority of devs. Dead languages aren't necessary. And punchcard retrocompatibility can be preserved without prioritizing a development process that is optimized for that workflow.
As for typing static vs dynamic, there's a thing called "gradual typing", and it is very possible to tie the type-checker into a REPL.
I've got a few things with Rust that make me dislike it a bit -- note that that doesn't mean that I think it's generally a bad language. (They're all good langs, Brent.) But here we go:
Another single implementation standard-less language. No solid standard library, everything done by downloading the internet. Very un-Turbo-Pascal-ish compile times and memory usage. Annotations. BCPL-ish syntax with too much line noise (and hey, I used to program Perl). Tied a lot to the worst things in IT (browser engines, crypto). Fanatical community. Overly complex async to save me from writing threads. Both functional purists and micro-optimizers. The word "Rustaceans" alone.
It's not a language that I'd like to use recreationally, but I wouldn't quit jobs if I have to do more work with it at work.
Jonathan Lamothe likes this.
The rising value of goods and services per worker meant rising pay. But that relationship ended in the 1970s
The Great Regression: 1980-Now
Chart shows 80% productivity rise matched by 8% average hourly compensation and 7% average hourly wage increases. (2/2)
@aral
Chais pas "où" on a merdé mais le "quand" est assez visible.
Ironie de l'histoire, cela correspond à la prise de pouvoir des socalistes en France - si tant est que ce graphique s'y applique.
p/s. Et avant qu'on ne me saute sur le râble, je rappelle que le MATIF, un des marchés financiers les plus spéculatifs au monde à l'époque, est une invention d'un ministre socialiste si je ne m'abuse.
Vieux Mâle Blanc (au phycihaile) likes this.
Dear OpenBoard,
I have you set to English (UK) for a reason (because English (CA) isn't an option). Quit trying to autocorrect "colour" to "color".
Thanks.
juliadream likes this.
@Reiddragon @me
@Reiddragon
DJ UNK and I basically have a show that's just about what @me does.
BREAKING
GREEN TEA ADDED TO MENU AT PARADISE SUSHI
so according to classic Bell labs at worst jlamothe is a minor success ;p
𝚛𝚊𝚝 likes this.
Diving into the #Veilid documentation... or what I can find of it.
I have an idea that may well turn out to be vapourware, but my brain won't let me drop it if I don't at least try to build it.
I've been itching to do something with Veilid since @The Gibson first announced it.
like this
screwlisp reshared this.
I honestly didn't think veilid managed to get anywhere, which was sad.
VeilidChat exists but I think that's the only productive/useful project.
Development on the repos has really slowed down post-announcement, which isn't inherently a bad thing, if it's "done", but I don't think it's done - instead it feels stalled.
Maybe it all moved on-network and to places I can't see? That'd be cool.
"This turns #AI-"assisted" coders into reverse centaurs. The AI can churn out code at superhuman speed, and you, the human in the loop, must maintain perfect vigilance and attention"
https://pluralistic.net/2024/04/01/human-in-the-loop/
@pluralistic once again writes words that get stuck in my brain.
reshared this
This is the part where I gloat about being right about Bluesky, right?
They never really wanted federation.
like this
reshared this
The Gibson likes this.
@Shreyan Jain I'll admit to not having heard of this. If I post something using this third-party AppView, who controls the physical disk on which my post resides?
I haven't paid a ton of attention to BlueSky because I'm simply not interested in yet another walled garden.
Slow Response on RSS
!Friendica Support
I'm having some trouble subscribing to a new RSS feed from Friendica.
The URL is https://www.cbc.ca/webfeed/rss/rss-topstories
I run Friendica behind an nginx reverse proxy, and it's giving me a gateway timeout error.
I know that the whole reverse proxy thing isn't specifically a Friendica thing and I'm working on figuring out how to increase the timeout, but the fact that the response is taking long enough to trigger it is.
like this
Amazon squeezed sellers and jacked up prices.
Google stamped out competitors in search.
Facebook used buy-or-bury schemes to crush competition.
Apple used its immense power to kill off challengers.
All four face major antitrust cases from the US government.
It's about time.
reshared this
like this
Dear spammers:
If you're going to create fake accounts, maybe don't choose a profile photo with an iStock watermark...
Light🐧 likes this.
#capitalism
#anticapitalism #capitalist #socialism #anarchism #leftism #leftism #fuckcapitalism #anarchyrules #anarchy
reshared this
One day, there was a family riding next to me in a bus. The mother chastised her kids for smartphone habits: "it's been only a week since the beginning of the billing period, and you've spent 3GB of traffic already!"
I wanted to apologise to her and to her children on behalf of all the BigTech and modern IT industry so badly.
I also felt immensely sad for the internet reality we live in. Twenty years ago I would spend my allowance on buying a 5MB dial-up access card, and that would be enough for a day of happy browsing, or a few days of ICQ. Nowadays, I wouldn't be able to even load Discord browser app with that much of traffic.
reshared this
Harry Sintonen (@harrysintonen@infosec.exchange)
Probably the single most impressive entry from the #Revision2024 #demoparty : Remnants by Alcatraz Here's the whole intro executable for your convenience: 68f69f07b013cd10d6bac90391eee2f9bbf601b8cdccf7e7720e41f6c13f7508804702058047082d80ee4c608d28b…Infosec Exchange
Clearing Reports
!Friendica Support
So, I reported one of my own posts using an alt account to test how it worked. I'm very glad that this feature now exists, but I have two questions:
- Is it possible to receive some sort of notification when a report is filed?
- How can I mark a report as resolved, or otherwise clear it?
Edit: proofreading is for suckers
reshared this
David H. McCoy
in reply to Dgar • • •@inkican
Color choices?
cynthia rose
in reply to Dgar • • •ehproque
in reply to cynthia rose • • •Dgar
in reply to ehproque • • •Joe
in reply to Dgar • • •Dallas (Join Something IRL)
in reply to Dgar • • •Niall in Raglan :laserkiwi:
in reply to Dgar • • •Jason Bunston
in reply to Dgar • • •Brother Soul
in reply to Dgar • • •Ferdi Magellan
in reply to Dgar • • •West Lawns
in reply to Dgar • • •Jason Jokerst
in reply to Dgar • • •Cyberwizard
in reply to Dgar • • •Liam Pomfret, PhD
in reply to Dgar • • •Dgar
in reply to Liam Pomfret, PhD • • •Jaguarior Jones
in reply to Dgar • • •Dinkenfunkle
in reply to Dgar • • •might want to check with your prospective defence counsel if it's a good idea to announce your strategy to thwart prosecution before committing ... sorry, *allegedly* committing a crime.
Just saying. 😁
😀🚲
in reply to Dgar • • •MOULE #RedInstead
in reply to Dgar • • •FINGERring
nadjabuttendorf24.com