Skip to main content

in reply to Thorwegian ❄️

"Hi, my computer is giving me issues."
"Ok, are you running Spyware 10 or 11?"
"Spyware 11 with Adobe Spyware Suite and the latest Chrome-Spyware. I'm having issues accessing the corporate spyware as well as Facebook Spyware."
"Mmm, ok, let's try running Spyware updates and rebooting your Spyware."
"Ok..."

It's like "Being John Malkovich," but it's all spyware.

This entry was edited (17 minutes ago)

𝚛𝚊𝚝 reshared this.


Is anyone else running the community edition of #Nextcloud getting a notification in the Android app that their server is at "end of life" and to upgrade despite being on the latest version? Are they killing off the community edition or something?
in reply to Jonathan Lamothe

Yes, Just checked. I am. I'm running a #self-hosted #nextcloud instance, version 25.0.10. I've been scared of update since I saw an issue a month or so ago with a bug that scared me (can't recall details sorry!)

Edit... just re-read this...I'm not latest version!

This entry was edited (1 hour ago)
in reply to Tom

@Tom I always do a backup immediately before an update in the event that something goes sideways. So far, I've never had to roll back, but it's a good thing to do regardless.
@Tom
in reply to Jonathan Lamothe

Yep, however the frequency of upgrades does also scare me. Move fast and break stuff! I must upgrade...v29...but four versions to hop!
in reply to Jonathan Lamothe

No, this shouldn't happen. What Nextcloud version do you use? Sometimes, if dependencies like the min. PHP version changes, the server doesn't show the update if the dependencies are not met. In such a situation it might look like you are on the latest version, while you are not.
in reply to Jonathan Lamothe

This explains it, Nc25 is out of life since October 2023, see the link I posted. The latest version is Nc29. I assume that you need to update your PHP version in order to update your Nextcloud.
in reply to Björn Schießle

Here you can find the latest versions and compare it to your version: https://github.com/nextcloud/server/wiki/Maintenance-and-Release-Schedule
in reply to Jonathan Lamothe

As said, one explanation would be that you run PHP 7.4 which was deprecated in Nextxloud 25 and is no longer supported in Nextxloud 26. In this case you are on "the latest version for your system" but not on the latest in general
in reply to Björn Schießle

@Björn Schießle I think I figured out my problem. I'm running an older version of PHP that is no longer supported by later versions.

Edit: It irks me that it didn't warn me about this before now though.

This entry was edited (49 minutes ago)

Jonathan Lamothe reshared this.


Accused: "Your honor, it would be impossible for me the live at the standard I have become accustomed to were I not to rob banks."

Judge: "That sounds like a reasonable defense."

“It would be impossible to train today’s leading AI models without using copyrighted materials.”
OpenAI

What we criminalize in individual behavior, we call "innovation" when it comes to Big Tech. The whole system is bought and owned by Big Tech.

reshared this


Jonathan Lamothe reshared this.


If you've ever found yourself missing the "good old days" of the #web, what is it that you miss? (Interpret "it" broadly: specific websites? types of activities? feelings? etc.) And approximately when were those good old days?

No wrong answers — I'm working on an article and wanted to get some outside thoughts.

#Web
in reply to Molly White

online communities structured around narrow topics with a website that consisted of a homepage, member area, forum and adjacent irc chat.
in reply to Molly White

simple web chats you were able to tinker with (use font colours and types that don’t exist in the regular version)


Content warning: More Rust stuff

This entry was edited (1 day ago)
in reply to Jonathan Lamothe

Lifetime elision only applies on function signatures. It might be because no one has done the work? Though I think it's nice to be explicit that the struct holds a reference to something.

Explicit lifetimes would be necessary for a struct with multiple references (or I guess a rule that says they're either all the same or all unique). These are not the same:

struct Foo<'a> {
  bar: &'a String,
  baz: &'a String,
}
struct Foo<'a, 'b> {
  bar: &'a String,
  baz: &'b String,
}

More info on the elision rules is at the Rustonomicon.
in reply to Ryan Frame

@Ryan Frame This makes sense. One would think however that they could infer it if there's only one reference in the struct the say way you don't have to specify a lifetime for methods that only have a &self and return a reference.

Jonathan Lamothe reshared this.


Yes, you can still buy 4K TV's that are not "Smart" (surveillance). They're called "commercial displays" and as a bonus, they're more durable, too.

Prices start at $550 US for a 55-inch Samsung model.

#SurveillanceCapitalism #SmartTV #TV

https://www.bhphotovideo.com/c/products/Flat-Panel-Displays/ci/16073/N/4205668456?sort=PRICE_LOW_TO_HIGH&filters=fct_display-size_4953%3A55in%7C65in

in reply to Michael Downey 🇺🇳

...the first two Samsung results on the page you linked are smart though (and I thought all of the Samsung ones actually were)

also, I've seen a *lot* of NEC 42" dumb digital signage displays dropping like flies lately...

in reply to bhtooefr

@bhtooefr just don't plug them into your network. They work just fine as a normal TV (no hearsay, I have a Samsung QN95B). During setup you just skip over the network connection, it'll complain a bit about not being able to calibrate the sound, and that's it.
@downey
in reply to fedops 💙💛

@fedops @bhtooefr Some “smart” TVs look for unsecured Wifi to phone home and report your viewing against known content hashes if you don’t give them access.

A better solution is to connect them to your network, but then use their MAC address to assign a fixed IP via DHCP, and block that IP from communicating out of your network via parental controls, or similar.

in reply to Matt Godden

@metaning interesting. I'd say that may well be illegal. But anyway it's been a good long while since I last saw a completely open network anywhere around here.
@bhtooefr @downey
in reply to fedops 💙💛

@fedops 💙💛 If it's your own private network, why would it be illegal? It's not like you're serving up a public hotspot.
in reply to Jonathan Lamothe

@me well I was assuming it would be connecting to a neighbor's network. Surely no fedizen would be running a completely open wifi network in 2024?
in reply to fedops 💙💛

@fedops 💙💛 Ohhhhhh. I misunderstood what you thought was illegal. I thought you were referring to using MAC filtering to prevent the TV from connecting.

Yeah... that does seem illegal.

in reply to Michael Downey 🇺🇳 Mother Bones reshared this.

I should add that I don't know any specific details about that model. There are many and one should read up on what's included (or not) before buying from any vendor/manufacturer, of course.

Jonathan Lamothe reshared this.


The excuse for Israel and the IDFs heavy handed offensive into Gaza is that Hamas wants to destroy Israel.

No doubt. No one is arguing against that.

Does Hamas have an Air Force? A Navy? Access to large arms ( not talking about shoulder fired rockets)?

No reasonable person argues against the Israeli people's right to defend themselves or to exist as a nation.

Why then aren't the Palestinian people afforded the same understanding?

This entry was edited (2 days ago)

Jonathan Lamothe reshared this.

in reply to Adam F. Lawton

Nothing justifies what Israel/IDF is doing now, or even what they've been doing for the last 20 years, but this

> No reasonable person argues against the Israeli people's right to defend themselves or to exist as a nation

is not the slam-dunk you might think it is. I'd have to research more to make more certain statements, but the existence of this Wikipedia article seems significant

https://en.m.wikipedia.org/wiki/International_recognition_of_Israel



Content warning: TikTok ban

in reply to Jonathan Lamothe

So you'd put up with the sound of crickets to spite them all. Good luck with that.

I need to know what is going on. I don't have cable tv (a real corporate problem) and my "social media" include my local weather info (via Youtube) as does a lot of my news sources etc.

And ALL my interests are in things that no longer have magazines or newspapers exclusive to them, instead them have Podcasts, Youtube Channels, etc. Same with most of the folks I communicate with in my life (since I lost so many friends and relatives to the Pandemic).

It's not the 1990s anymore.

in reply to Joseph Teller

@Joseph Teller That's not really likely to happen though, is it? At least not in the near future. Besides, if everyone jumped ship, there would be no content there to miss out on to begin with.

My original point though was that singling out TikTok as the only problem is rather silly.



Why does my HDMI TV overscan? This made sense in the CRT days, but I can't see any reason for it with HDMI.
This entry was edited (3 days ago)

Jonathan Lamothe reshared this.


I was going to donate blood today, but they always ask waaaay too many personal questions. Like, "Whose blood is this?", and "Where did you get it?"

reshared this



Reading up on NES ROM programming.

For some reason, memory addresses 0x0000-0x07ff are mirrored three times (for a total of four identical regions of memory). In a system with such a small amount of addressable memory, why would anyone do that??

in reply to Jonathan Lamothe

Cheaper not to hook up a couple of the address lines; and unused addressing space is free if you aren't planning to use it anyway.

Jonathan Lamothe reshared this.


I'm not saying we shouldn't worry about how China might be using TikTok to steal our data and manipulate us...

But why aren't we at least as worried about the U.S. billionaires who own the other apps stealing our data and trying to manipulate us?

in reply to Robert Reich

When Mark Zuckerberg puts his goal to remove the USA from the world in writing, because it is in his way, then I'll worry about him as much as the Chinese Communist Party!

Read more before putting takes like this out into the world.

@rbreich

in reply to Chris Ely Urban Hermit reshared this.

@tcely you should take your own advice. TikTok itself is based in the US, their CEO is Singaporean, and they’ve offered to host all US data in Texas under Oracle. Additionally the minority leader on the House Intelligence Committee, Jim Hines, who sees the classified info that the public can’t, called it a ‘potential threat’ and voted against banning. He believed that First Amendment right preceded the potential threat of influence of the CCP.
in reply to Robert Reich IXI reshared this.

"worried about the U.S. billionaires who own the other apps"

🤦

#tiktok is co-owned by Jeff Yass

*the* biggest #GOP donor

robert: he's the vice chair of the f***ing Cato Institute

tiktok users are funding the GOP and conservative desolation of the #USA

i've typed this comment 5-10 times in #mastodon

why do people not know this?

why the f*** do people have this ignorant belief tiktok is magically different from #facebook? it's the same plutocrat sh**

https://www.influencewatch.org/person/jeffrey-yass/


Jonathan Lamothe reshared this.


This entry was edited (1 week ago)

reshared this



Wait, the 6502's stack pointer is eight bits? I knew it was resource constrained, but damn!
in reply to Jonathan Lamothe

The largest embedded assembly projects I wrote used about 20 bytes of stack at most. But I didn't use C or recursive functions, which would been an exponentially larger stack crasher
in reply to Jonathan Lamothe

@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.




Content warning: mh: ADHD

#ADHD


Only in Stardew Valley does eating a jar of mayonnaise make you healthier.


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.

This entry was edited (1 week ago)


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.

#rust
in reply to Jonathan Lamothe

Clippy by default only flags some correctness things. Turn on pedantic mode if you want to see more suggestions. !#[warn(clippy::pedantic)] at the top of your main.rs or lib.rs
in reply to Dylan :heart_nb:

@Dylan :heart_nb: As it turns out, doing this introduced me to a couple language features I wasn't aware of, so thanks again. 🙂
in reply to Jonathan Lamothe

They add new lints with every new version of Rust, so it continues to help introduce me to newer features ☺️

Jonathan Lamothe reshared this.


“They’ve taken away my right to speak!!!” screams the guy who won’t shut up.

reshared this



𝚛𝚊𝚝 reshared this.


Content warning: Rust question

#rust
This entry was edited (1 week ago)

reshared this

in reply to Jonathan Lamothe

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.

in reply to Jacob Pratt

@Jacob Pratt Good to know. In the meantime, I've worked around the issue by allowing a UtcOffset to be manually specified.

Jonathan Lamothe reshared this.


Aerospace chocolatiers prepare a Ferrero Rocher for launch into low earth orbit it
in reply to Wanja

@muvlon
Quite! Just be careful as it likes to crawl up the sides of the cup
in reply to R. L. Dane :debian: :openbsd:

@RL_Dane @muvlon
G’damnit. I told them I hate liquid helium centers… Can’t they for once use solid state semiconductor based radiative balanced cooling?!



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.

reshared this

in reply to Jonathan Lamothe

Looks like the SNES used a Ricoh 5A22, which apparently was based on the 6502? Perhaps this is possible after all... though I don't want to speak too soon.
in reply to Jonathan Lamothe

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.

in reply to Jonathan Lamothe

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.




When a security guard in a grocery store needs to have a bulletproof vest, we have failed as a society.

𝚛𝚊𝚝 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?

#rust

reshared this

in reply to Jonathan Lamothe

Have you tried something like the following?

time = { version = "0.3.36", features = ["local-offset"] }

in reply to glyn

@underlap ^^ this is what is necessary (speaking as the maintainer)
@glyn

Jonathan Lamothe reshared this.


I'm an abandonware radicalist; not only should abandoned software have its source released, abandoned hardware should be opened up to development to stop it being ewaste.
in reply to big awoo notation Jeremy List 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.

in reply to big awoo notation

I agree with you in principle but I’m not sure how that would work in practice. Sure some products from companies still operating could be made that way but there’s an awful lot of e-waste from companies that no longer exist. Also hard to compel a company to open up their products before they vanish when they can’t pay their own staff. Perhaps one option would be to ensure that it is at least unequivocally legal for others to open it up after the company no longer exists.

Jonathan Lamothe reshared this.


This entry was edited (2 weeks ago)

reshared this

in reply to Dgar

@courtcan Not very impressive on the morning after fighter jets saved my ars from a swarm of Iranian drones

Justin To #НетВойне reshared this.


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?

reshared this

in reply to Jonathan Lamothe

@Jonathan Lamothe My actual guess is that it's easier to justify forcefully entering the apartment because there would be some "safety concern" if you actually entered forcefully.

Jonathan Lamothe reshared this.


Somebody managed to coax the Gab AI chatbot to reveal its prompt:
in reply to malte

Content warning: OCR Output (chars: 3804)

in reply to OCR Bot

I will need convincing that someone didn't just write this and then ask for it to be repeated. I don't know enough about this to even guess if it makes sense to expect a mission statement like this to exist.
This entry was edited (2 weeks ago)
in reply to 2xfo

@RnDanger Just tried it, asked to repeat previous text and it said the exact same. However, I Don't think it work as the AI does use phrase and opinion that contradicts this text (try it: https://gab.ai
@2xfo
in reply to VessOnSecurity

Imagine being the sorry excuse for a human being who wrote this.

𝚛𝚊𝚝 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++.

#rust

reshared this

in reply to Jonathan Lamothe

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

in reply to Reid

@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.

@Reid
in reply to Jonathan Lamothe

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.


in reply to Aral Balkan

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)

in reply to Aral Balkan

@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.



Content warning: transphobia



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.

in reply to Jonathan Lamothe

that's odd having to go with en-us because there is no en-gb option is the norm but then ob seems to have started in ch..

in reply to Jonathan Lamothe screwlisp reshared this.

every time I said this I ended up regretting it within a week
in reply to Reid

@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

in reply to Jonathan Lamothe

Just got to the section on Smart Pointers. As I recall, this is where things start to get particularly interesting/complicated.
in reply to Jonathan Lamothe

You don't often need smart pointers if you get the design of your code right. Similarly, there's not much need to use copy or clone if you work "with the grain" of the borrow checker. Adapting your designs and coding style in this way is, IMO, the key part of learning Rust.
in reply to Jonathan Lamothe

for me the hard part to stop making mistakes around was the difference between &str and String, but the hard part to actually understand is pinning. Smart pointers are pretty straightforward.

The Gibson reshared 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.

in reply to Jonathan Lamothe

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.


Jonathan Lamothe reshared this.


"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


Jonathan Lamothe reshared this.


This is the part where I gloat about being right about Bluesky, right?

They never really wanted federation.

reshared this

in reply to Shreyan Jain

@Shreyan Jain It doesn't have to be, but to my knowledge, BlueSky doesn't support anything that even remotely resembles federation. It's all centrally controlled.
in reply to Jonathan Lamothe

@me Don't think that's accurate - for example @mackuba is working on his own AppView, which people will be able to replace api.bsky.app with, for example. Nothing in the network mandates being controlled by Bluesky
in reply to Shreyan Jain

@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.

in reply to Jonathan Lamothe

The "source of truth" for your posts is always your PDS, which some people are already hosting themselves, and some like @shreyan are writing new implementations of; that would be analogous to a post's source in AP being its origin instance. AppViews, relays and other kinds of servers like feed generators all keep their copies. The difference is that instead of reading everything through your instance's copies like in AP, you read everything through the AppView's copies.
This entry was edited (3 weeks ago)
in reply to Shreyan Jain

@shreyan @me Not working just yet, just thinking about it 😀 But this thought keeps coming back, so I probably won't be able to resist forever. (It would probably be much simpler to just install one from Bluesky's existing code, but where's the fun in that? Also, Javascript ughhh)

This website uses cookies. If you continue browsing this website, you agree to the usage of cookies.