influence exists whether they want it to or not.
influence exists whether they want it to or not.
Hard disagree. Safe C++ code can be written quite easily these days. And better tools are coming out all the time.
Yours is a little bit easier to read, but my main problems remain the same. Here’s some initial comments looking at your swagger link from the perspective of a user who is brand new to the lemmy API (and doesn’t use Javascript):
I can’t tell what the general flow of the API usage in general is. Am I supposed to login/authorize somehow first? Some common examples, especially in at least one programming language (whether that’s curl or python or whatever) I think would go a long way to help people understand what they’re supposed to do.
How do I know if I need to authorize for a particular endpoint?
What is the entire URL for any given endpoint? It’s never really explained clearly.
What is this “servers” dropdown? What’s the difference between those?
Endpoint descriptions are often unhelpful. /user
says “Get the details for a person.” It doesn’t tell me this is actually how I’m supposed to find their comments or posts. Nothing tells us this.
We have to guess what endpoint we might need for a lot of things. Example: /post/like
is also for dislikes, but it doesn’t tell you that. It also never tells you HOW to like or dislike anything, the valid values of score
do not appear to be documented. And you’re left to assume that’s the right field to even use for it.
What is the content type of the request supposed to be? JSON is never mentioned anywhere.
What are these named “parameters”? Is that a query parameter? Why does it say “object” and “(query)”? Does this parameter go in the request body instead? /user
shows a parameter called “GetPersonDetails” except in reality this name is (I guess) supposed to be completely ignored, because no part of the request actually uses the string “GetPersonDetails”.
Schema is missing for many endpoints, like the request part of /user
.
What are all these fields under “GetPersonDetails”? Are they all required? Only some? It doesn’t say anything about it.
Many of the possible error codes are undocumented.
There’s probably more but that’s the main stuff I think.
sftp or rsync
This thread sums everything up nicely I think: https://lemmy.ml/post/98675/95459
And for programming.dev specifically, the API did not work for me when they had CF bot protection turned on (endpoints always returned the “Just a moment…” bot check html), it was only after it was turned off a few days ago that it started working for me, because CF doesn’t like my IP/browser/something and always gives me endless captcha loops. Previously their stance was that bot IPs had to be explicitly whitelisted to be allowed on their server.
This is still written from a javascript perspective and assumes many things that are not true when using other approaches to calling the endpoints.
curl 'https://lemmy.world/api/v3/user?username=egeres&sort=New&page=1&limit=20' | jq .posts
https://join-lemmy.org/api/classes/LemmyHttp.html#getPersonDetails
The documentation is really terrible and the developers try to defend it anyways.
Some instances also employ cloudflare or other anti-ddos techniques that make automated API usage impossible.
I really do not like these docs and find it extremely confusing for anyone not using Javascript. For example that “form” parameter that’s on almost everything, doesn’t even exist and can’t be used when you’re using curl, but it doesn’t tell you that.
Vivaldi is proprietary, FYI.
besides many banks requiring SMS 2FA still, I usually only talk with non-app-using people over e2ee RCS
I was more concerned with government ties.
Removed by mod
since you crawled under a rock /s
I have had nothing but problems with kde connect for years
when it works. but it’s so incredibly buggy, especially the desktop apps, and double especially the sms desktop app. holy shite is it terrible, and trying to get support is like trying to report a problem to google
so exactly like kde connect then
rust isn’t a magic bullet either, it still doesn’t protect against a whole host of problems, like stack overflows, out of memory/bitflips, logic errors, memory leaks, unrecoverable errors/panics etc., and many projects are full of unsafe context rust code anyways.