[-] [email protected] 1 points 1 minute ago

I'm not asking if you remember them as an arsehole and speak of them like that. I'm asking if you do that at their funeral.

[-] [email protected] 1 points 8 minutes ago

I'd be interested to hear whether you regularly attend funerals and speak ill of the deceased. They stop their ads for the same reason you don't shit talk at a funeral: its disrespectful and makes you look like a prick.

[-] [email protected] 30 points 2 days ago

She drew crosshairs on congressional districts and tweeted it with the text "Don't Retreat, Instead - RELOAD". That is stated in literally the first paragraph of the article your citing, and I can't help but feel you're intentionally misrepresenting it to draw a false equivalency.

[-] [email protected] 8 points 2 days ago

An audience member was killed according to ABC News (Australia)

3
submitted 3 days ago by [email protected] to c/[email protected]
[-] [email protected] 4 points 4 days ago* (last edited 4 days ago)

Making a breaking change to the mobile API also breaks old outdated installations of the app. Websites and their APIs are usually synced, apps not so.

If they were really motivated to stop your method, they could just obfuscate the frontend with webpack and break your scraper every time they make an update.

[-] [email protected] 6 points 4 days ago* (last edited 4 days ago)

I suspect that any of the methods proposed here would be prone to a C&D, but IMO the safest legally would probably be the RSS method (not a lawyer though). Reddit's RSS feeds are public, documented, and available without the need for private APIs, authentication, or an API key, so I don't see how they could claim that a wrapper is unauthorised/illegal. Documenting their private API however seems like a gray area. Google LLC v. Oracle America, Inc. found that APIs are copyrightable, but this use may constitute fair use.

[-] [email protected] 9 points 4 days ago* (last edited 4 days ago)

Is there a reason you're scraping data rather than attaching a network sniffer/reverse engineering the official apps and documenting the results? Or map the RSS feed to an API? The main thrust behind my comment is that I think scraping is pretty fragile, so I'm interested as to why other options are infeasible.

[-] [email protected] 2 points 4 days ago

Taking a quick look at the source code (of which I am not familiar so I could be barking up the wrong tree), it seems that Jellyfin gives you a list of candidates in the following order: similar to recently played, similar to liked, directed by recently played, actor from recently played, has liked director, has liked actor. Similarity is calculated by rating and production year, as well as shared number of connected people, genres, studios, and tags. For music, it also adds specific criteria for other albums the artist has worked on.

[-] [email protected] 14 points 6 days ago* (last edited 6 days ago)

Thank you for adding this! If people want a real life example of the effect shown in this pseudocode, here is a side-by-side comparison of real production code I wrote and it's decompiled counterpart:

    override fun process(event: MapStateEvent) {
        when(event) {
            is MapStateEvent.LassoButtonClicked -> {
                action(
                    MapStateAction.LassoButtonSelected(false),
                    MapStateAction.Transition(BrowseMapState::class.java)
                )
            }
            is MapStateEvent.SaveSearchClicked -> {
                save(event.name)
            }
            // Propagated from the previous level
            is MapStateEvent.LassoCursorLifted -> {
                load(event.line + event.line.first())
            }
            is MapStateEvent.ClusterClick -> {
                when (val action = ClusterHelper.handleClick(event.cluster)) {
                    is ClusterHelper.Action.OpenBottomDialog ->
                        action(MapStateAction.OpenBottomDialog(action.items))
                    is ClusterHelper.Action.AnimateCamera ->
                        action(MapStateAction.AnimateCamera(action.animation))
                }
            }
            is MapStateEvent.ClusterItemClick -> {
                action(
                    MapStateAction.OpenItem(event.item.proposal)
                )
            }
            else -> {}
        }
    }

decompiled:

    public void c(@l j jVar) {
        L.p(jVar, D.f10724I0);
        if (jVar instanceof j.c) {
            f(new i.h(false), new i.r(c.class, (j) null, 2, (C2498w) null));
        } else if (jVar instanceof j.e) {
            m(((j.e) jVar).f8620a);
        } else if (jVar instanceof j.d) {
            List<LatLng> list = ((j.d) jVar).f8619a;
            j(I.A4(list, I.w2(list)));
        } else if (jVar instanceof j.a) {
            d.a a7 = d.f8573a.a(((j.a) jVar).f8616a);
            if (a7 instanceof d.a.b) {
                f(new i.j(((d.a.b) a7).f8575a));
            } else if (a7 instanceof d.a.C0058a) {
                f(new i.a(((d.a.C0058a) a7).f8574a));
            }
        } else if (jVar instanceof j.b) {
            f(new i.k(((j.b) jVar).f8617a.f11799a));
        }
    }

keep in mind, this was buried in hundreds of unlabeled classes and functions. I was only able to find this in a short amount of time because I have the most intimate knowledge of the code possible, having written it myself.

[-] [email protected] 44 points 6 days ago* (last edited 6 days ago)

It's not impossible, just very labour intensive and difficult. Compiling an abstract, high level language into machine code is not a reversible process. Even though there are already automated tools to "decompile" machine code back to a high level language, there is still a huge amount of information loss as nearly everything that made the code readable in the first place was stripped away in compilation. Comments? Gone. Function names? Gone. Class names? Gone. Type information? Probably also gone.

Working through the decompiled code to bring it back into something readable (and thus something that can be worked with) is not something a lone "very smart person" can do in any reasonable time. It takes likely a team of smart people months of work (if not years) to understand the entire structure, as well as every function and piece of logic in the entire program. Once they've done that, they can't even use their work directly, since to publish reconstructed code is copyright infringement. Instead, they need to write extremely detailed documentation about every aspect of the program, to be handed to another, completely isolated person who will then write a new program based off the logic and APIs detailed in the documentation. Only at that point do they have a legally usable reverse engineered program that they can then distribute or modify as needed.

Doing this kind of reverse engineering takes a huge amount of effort and motivation, something that an app for 350 total sneakers is unlikely to warrant. AI can't do it either, because they are incapable of the kind of novel deductive reasoning required for the task. Also, the CarThing has actually always been "open-source", and people have already experimented with flashing custom firmware. You haven't heard about it because people quickly realised there was no point - the CarThing is too underpowered to do much beyond its original use.

282
submitted 1 month ago by [email protected] to c/[email protected]

Her name is Cherie and she'll be 15 in a couple months. She is the sweetest and chillest cat I've ever met. She loves strangers, cuddles, and especially headbutts. Her previous owners clearly loved her, and I hope I can live up to their standard

202
submitted 1 month ago by [email protected] to c/[email protected]
45
submitted 2 months ago* (last edited 2 months ago) by [email protected] to c/[email protected]
153
submitted 3 months ago by [email protected] to c/[email protected]
272
submitted 4 months ago by [email protected] to c/[email protected]
46
Transfem Garfield Rules (lemmy.blahaj.zone)
submitted 4 months ago by [email protected] to c/[email protected]
[-] [email protected] 167 points 5 months ago* (last edited 5 months ago)

Their teachable moment is that plagiarism has consequences, and they earned that lesson entirely by themselves.

45
Transfem Garfield Rules (lemmy.blahaj.zone)
submitted 6 months ago by [email protected] to c/[email protected]

Credit for the art goes to my friend Mason

1
submitted 7 months ago by [email protected] to c/[email protected]
21
submitted 1 year ago by [email protected] to c/[email protected]
view more: next ›

EmilyIsTrans

joined 1 year ago
MODERATOR OF