I can’t find that for JSON, only for JSON schema (which is a different spec), is that the one you mean?
Giver of skulls
I can’t find that for JSON, only for JSON schema (which is a different spec), is that the one you mean?
It happens rarely, but I felt pretty weird after finding out I needed to reap zombie orphans after the parent has died.
Standard SMS/MMS are the de facto standard in the US, outside of iMessage. Hundreds of millions of people use it. It’s not “never really used anywhere”.
And you’re right, people have moved on from caveman technology; the youth is switching to iOS and iMessage en masse. That’s why people need to deal with shit like this, iOS users don’t know that the only reason they can text like normal people is because of Apple’s weird version of WhatsApp.
If iMessage hadn’t been sneaked into the iOS texting app, Americans may have moved over to something better as well, but they didn’t. They never felt the pressure to switch to texting apps because their carriers charged differently/less for texts than the ones in other countries.
And it did go somewhere. RCS is SMS/MMS for data networks. Carriers didn’t run RCS servers and phones didn’t come with RCS clients so it went nowhere. Until Google started hosting Jibe and including it in the messages client, that is.
Even RCS took some massaging by Google to make it actually usable as a texting standard, with Google making use of the freeform HTTP nature of the protocol to add some proprietary standards to make it actually usable. The first released versions of RCS were kind of terrible, basically MMS but over IP rather than weird telecom protocols.
I pity the fool trying to use RCS without Jibe. Luckily, carriers are shutting down their bespoke RCS servers and renting RCS services from Google instead. Unfortunately, that makes RCS a standard practically governed by Google, carriers from whatever countries Google isn’t permitted to operate in, and spying agencies.
SOAP requires reading a manual before you get started, but so do the frameworks that try to replace it. APIs are APIs, you rarely need to manually access any of the endpoints unless the backend doesn’t stick to the rules (and what good do any alternatives provide if that happens?) or your language of choice somehow still lacks code generators for WSDL files.
OpenAPI/Swagger is just SOAP reincarnate. The code generators seem to be a bit more modern, but that’s about it really.
Of course you can use XML that way, but it is unnecessarily verbose and complex because you have to make decisions, like, whether to store things as attributes or as nested elements.
That’s a rather annoying shortcoming of XML, I agree. Then again, the choice is pretty inconsequential and the XSD for your data exchange format will lift any ambiguity anyway.
The choice between XML and JSON are a matter of preference, nothing more. XML is much more powerful than JSON and it’s usually a better choice in my opinion, but if you’re writing your applications well, you may as well be sending your data as pixels in a PNG because your serialiser/deserialiser should be dealing with the file format anyway.
The way you describe this, it sounds like it would need to work on trust a lot more than it already does. What if there’s a malicious instance actively circumventing bans, ignoring any pulbished banlist?
They already exist with the current Lemmy model, unfortunately. Bypassing ban lists isn’t exactly difficult unless the server you’re following does whitelisted federation.
I was talking about the scenario where you are instance A and you don’t know the followers of a user of instance B. That is not easy to keep track of, since you obviously don’t get any of the follow requests for a user on another instance.
If you don’t know who’s following who, ActivityPub still has inbox
es and other collection
s that can contain existing posts for new servers. Server A can add their likes to the appropriate collection and any new servers can fetch that collection at the first follow of that account.
Agreed. I think that’s a shortcoming of ActivityPub.
That’s not a comment, that’s a field. There’s a reason var comment = "Increments i by 1"
isn’t how you comment in any programs.
I don’t see comments in the spec?
XSD and XSLT files alone can replace half the JSON applications I’ve seen. I can see why it’s easier to take the barebones JSON notation and reinvent the wheel, but those tiny programs are the “Excel+VBA” of web applications.
Most web frameworks contain code to exchange JSON over XMLHttpRequest
for a reason. XML is and always has been a data transfer format as well as a file format. JSON is, too. The amount of config.json
s I’ve had to mess with…
but using XML to communicate between your app’s frontend and backend wouldn’t be either
I don’t see why not? The entrypoint of web frontends is sent as HTML already. I guess that’s based on SGML, XML’s weird and broken cousin. Outputting XML is just a matter of configuring whatever model serialiser from JSON to XML.
There are a few good arguments against XML, but those also work against JSON.
ActivityPub has been designed as a push-only protocol as push/pull would involve too many web requests. It was designed for designs like Facebook and Twitter. This flexibility made Lemmy possible.
As for sending the post, it’s not that hard to keep track of all servers that follow a group or person or hashtag. Following people is not passive, you send a follow request which usually gets approved automatically.
Bans are already questionable. Servers choose not to forward every message (personal, group, public) to every account. There is no “themselves” in a shared server. Either the entire server gets banned, or the server is trusted to enforce bans. Lemmy federates those bans (though Lemmy and Kbin don’t always communicate right).
What if the community defederates an instance but my instance doesn’t defederate that one - will my instance send the post to the instance that is defederated by the community?
I would say “the server publishes a banlist containing *@bad-server.tld”. The defederation list on Lemmy is public anyway, but you could also argue for making such behaviour a setting, and there are probably other/better alternatives.
I think RCS comes with some autodiscovery capability (by sending a request to a magic HTTP URL over the right APN, haven’t read the spec in a while) but it does make sense that carriers push it in profiles as well.
Lemmy doesn’t do it currently. It blindly trusts communities to not lie to people. I just found out about this myself.
In theory the JSON body could include all the necessary information to validate a signature and the signature itself. Then, a simple HEAD request could validate the contents without having to re-download everything, and users’ public keys could be cached to minimise HTTP requests necessary.
ActivityPub was designed for social networks, not for forums. I’m not surprised it doesn’t work well for Lemmy.
The alternative, in my opinion, would be shared inboxes combined with adding the “public” audience to outbound messages.
Linux has support for updating various Lenovo models through a piece of software called fwupdmgr. If your laptop is support, it should show up automatically in Gnome Software or similar package managers.
For your laptop, Lenovo has a “Bootable CD” download option for non-Windows users. It’s intended to be written to a CD (but a flash drive will probably also work), for example by using one of those USB DVD drives.
If you don’t have a flash drive for some reason (and I doubt you’ll have a DVD drive in that case), you can try to make the Ubuntu bootloader boot the ISO, though that’s not something for beginners. Here are the official instructions in case you still want to try, but I don’t think I’d bother.
The easiest method may be to contact Lenovo and ask them how to do it. I think they’ll refer you to the bootable ISO. If they don’t make their updates available for anything but Linux, you’re going to have an annoying time.
Spending the five dollars on a flash drive to write the bootable CD to would be worth it in my opinion.
To answer your question: if the software manager doesn’t offer you the firmware update already, the easiest (not necessarily easy) way would be manually adding a bootloader entry to your Grub configuration to boot the update ISO you can download from Lenovos’s website.
The second easiest way would probably be to extract the firmware updater from either the Windows download or the ISO file, extracting the .efi files and the .rom files, placing them on your EFI partition, and using the boot menu to manually boot the firmware updater.
Or, to answer more succinctly: if you don’t get those updates already, there’s no easy way without a bootable medium. Sorry. Tell Lenovo to publish the firmware updates through the standard Linux channels like they do for other laptops.
I’m not sure if that’s true. From the spec:
Additionally, if an object is addressed to the Public special collection, a server MAY deliver that object to all known sharedInbox endpoints on the network.
This requires implementing sharedInbox support, but I believe this should permit federating any content of choice to any server.
But surely the receiving server could validate that signature by verifying the existence of the received activity (by asking the origin server for the object referenced and validating the signature).
If like objects are distributed in URL form, this is already how it works. The extra load wouldn’t be fun, for sure, but the lack of an embedded signature makes it very easy to falsify anything on the Fediverse.
But that’s how ActivityPub was designed? Are groups going to be implemented in Mastodon by replicating the crazy “pretend there’s an account boosting everything that’s happening on the server” behaviour?
It can work for other use cases Lemmy is proof of that. However, it’s not the main objective to be a federated Reddit.
Lemmy, Mastodon, Pixelfed, WordPress, Friendica, and Mobilzon all have different design considerations that are all equally valid. Some of the edge cases necessary to make Lemmy work well are unnecessary or even unwelcome for other designs (see: following Lemmy communities turning your timeline into an endless stream of boosted replies).
ActivityPub isn’t magic. It’s very deliberate in its push-based one-on-one entity relations (for performance reasons mostly). For social media, that works fine. The problem comes in when you get massive communities all posting in single threads, or people with thousands of followers that don’t know about each other rather than a friend group interacting with each other. Mastodon absolutely sucks for people with a large following; this isn’t something that’s unfixable, but fixes do need work and deliberation to work well.
I’d say ActivityPub works great for most social media. The biggest exception may be chat (DMs are footguns that work almost accidentally) and ranked-score forums like Reddit, which require a lot more post-processing than other social media protocols.
It should also be said that both Lemmy and Mastodon use the ActivityPub spec mostly correctly (neither is fully spec compliant as far as I know), despite using different mechanisms to achieve the same goal that aren’t always compatible. We can barely get chat apps to interoperate, it’s impressive how well ActivityPub has proven to be.
I don’t think the situation would be very different had Lemmy been based on ATProto or Nostr. Reddit is a bit of an odd duck in the social media landscape, and very few other websites share its core patterns and algorithms.