Salta al contenuto principale


in reply to MeatPilot

I don’t know who needs to hear this, but you can order Chicken McNuggets “well done” and it’s life changing
in reply to ChonkyLincoln

mcdonalds helping isreal w the gaza genocide; get chicken tendies from almost anywhere else.


Developer / Potential Contributor Question: how to add a custom post/comment ranking algorithm to Lemmy?


How would I add a new ranking algorithm to Lemmy as a contributor? I'm a developer by trade, but unfamiliar with Rust and the codebase of Lemmy specifically. It doesn't seem like Lemmy has a concept of 'ranking plugins', so whatever I do would have to involve an MR.

Specifically, I'd like to introduce a ranking system that approximates Proportional Approval Voting, specifically using Thiele's elimination methods, like is used in LiquidFeedback.

I'm pretty sure that with a few tweaks to Thiele's rules, I can compute a complete ranking of all comments in a thread in O(ClogC + E + VlogC), where C is the number of comments, E is the total number of likes, and V is the number of users. This would also support partial approvals, upvotes could decay with age.

I believe this would mitigate the tendency towards echo chambers that Lemmy inherits from Reddit. Lemmy effectively uses Block Approval Voting with decays to rank comments and posts, leading to the same people dominating every conversation.

in reply to Nutomic

I was thinking of it as a drop-in replacement for "hot" just so that it doesn't require any changes on the UI to implement. I'm a bit rusty with UI development, lol. The frontends wouldn't have to add a new button, and the Lemmy API wouldn't need to add a new sort type. That said, maybe that sort of thing is easy to do?

As far as it would work, Thiele's elimination rules is computed roughly as follows (I'm assuming that only upvotes are counted; I haven't considered yet if the process works if disapprovals count as a vote of "-1" or how the process could remain scalable if an abstention counts as a vote of "0.5":

begin with the list of posts, list of users, and list of votes

# initial weighting, takes O(E)
for each post:
    for each vote on the post:
        lookup the user that voted on the post
        based on the number of votes the user has given, determine how much the user would be made "unhappy" if the current post was removed
        # the basic idea here is that if the user didn't vote for a post, then they won't care if its removed
        # if the user did vote for a post, but also voted for 100 others, then they probably won't care if one gets removed as long as 99 remain
        # if the user did vote for a post, but only voted for 2 or 1 others, then they'll care more if this one gets removed
        # if this is the only post the user voted for, then they'll care a lot if it gets removed
        # LiquidFeedback uses a formula of "1/r", where r is the total number of votes the user has given
        # as posts get removed, the votes get removed too, so surviving votes get more weight
        # for the sake of efficiency, I'll probably use a formula like "if r > 20 then 0 else 1/r" so that users only start to contribute weight to posts once they only have 20 approvals left. Replace 20 with a constant of your choice
        add the user's resistance to the post being removed to the post

# initial heap construction, takes O(C)
construct a min-heap of the posts based on the sum of the users' resistances to the post being removed

# iterative removal of posts
while posts remain in the heap: # O(C)
    remove the first post in the heap - this has the least resistance to this post being marked 'last' in the current set # O(logC)
    yield the removed post

    for each vote for the removed post: # in total, O(E) - every vote is iterated once, across the entire lifetime of the heap
        lookup the user that voted on the post
        compute this user's resistance to this post being removed
        remove this vote from the user
        based on the number of remaining votes the user has given, compute the user's resistance to the next post being removed
        compute how much the user's resistance to their next post being removed increased (let this be "resistance increase")
        if "resistance increase" is nonzero (based on my formula, this will happen whenever they have less than 20 votes remaining, but not if they have more than 20 votes remaining):
            for each vote for a different post by this user:
                increase the post resistance to removal by "resistance increase"
                perform an "increase_key" operation on the min-heap for this post # this will be O(logC)

               # worst-case, each user will perform 20 + 19 + 18 + ... "increase_key" operations - 
               # they only begin once there are 20 votes remaining 

               # when they have 20 votes remaining, they have 20 increase_key's to do
               # when they have 19 votes remaining, they have 19 increase_key's to do
               # etc.

               # because this is a constant, it doesn't contribute to the time complexity analysis.
               # so each user performs at worst a constant number of O(logC) operations
               # so the overall time complexity of the "increase_key" operations is O(VlogC)

For this algorithm, the yield the removed post statement will return the sorted posts in reverse order. So worst to best. You could also interpret that statement as "Give the post a rank in the final sorting of count(posts) - (i++)".

Thiele says that process can be used to elect a committee of size N by stopping your removal when N votes remain. But because it's a "house monotonic" process (electoral speak for "increasing the size of the committee by one and re-running an election is guaranteed not to cost any existing members their seat), I figure it could be repurposed to produce a ranking as well - the top one item is "best one", the top two items are the best two, the top three are the best three, etc.

To make the above process work for approvals that decay over time, we'd just treat a decayed approval as a partial approval. I still have some work to do on how exactly to integrate partial approvals into the "resistance to removing each post" calculations without ruining my time complexity. But basically it's a proportional score voting election instead of proportional approval.

in reply to CrashLoopBackOff

Adding a new sort type is not a big deal, so dont worry about it. And a new admin setting for this would also require UI changes, so the new sort type is easier overall.

The current sort options calculate the rank for each post only from the data on that post (number of votes, creation time). Your suggested algorithm looks much more complicated than that, as it requires two iterations and needs to access data from multiple posts at once. Im not sure if this can really be implemented in a way thats performant enough for production use. Anyway feel free to open a pull request, then hopefully other contributors can help you to get it working.

Questa voce è stata modificata (1 mese fa)


How to protect my identity while running an online store?


Hello, Sorry if this is the wrong place for this.

I am looking to start an online store for some art projects/crafts/stickers mostly as a creative outlet for some of my current frustrations.

Since some kinds of people take art way too personally, I want to take precautions from doxxing or being harassed.

What are some best practices for an online shop? Are there any recommended storefronts or something like that? I’m sure there’s a lot of things I’m not even considering.

Any help would be much appreciated, Thanks

in reply to philophilsaurus

Whatever you do don't get a domain name (website) and register it with your name and other info they want like email, phone nunber and address. Anyone could whois you and find out all that information in literally 1 second by just typing in your website and it's usually public data unless you request and pay extra for them to hide your info
in reply to Aether Crescent 🌙

Most domain registrars make whois info private by default these days. It's typically just a toggle. Same with DNSSEC


Contractor Used Classified CIA Systems as ‘His Own Personal Google’




Contractor Used Classified CIA Systems as ‘His Own Personal Google’


This article was produced in collaboration with Court Watch, an independent outlet that unearths overlooked court records. Subscribe to them here.

A former CIA official and contractor, who at the time of his employment dug through classified systems for information he then sold to a U.S. lobbying firm and foreign clients, used access to those CIA systems as “his own personal Google,” according to a court record reviewed by 404 Media and Court Watch.

💡
Do you know anything else about this case? I would love to hear from you. Using a non-work device, you can message me securely on Signal at joseph.404 or send me an email at joseph@404media.co.

Dale Britt Bendler, 68, was a long running CIA officer before retiring in 2014 with a full pension. He rejoined the agency as a contractor and sold a wealth of classified information, according to the government’s sentencing memorandum filed on Wednesday. His clients included a U.S. lobbying firm working for a foreigner being investigated for embezzlement and another foreign national trying to secure a U.S. visa, according to the court record.

This post is for subscribers only


Become a member to get access to all content
Subscribe now


in reply to Five

I'm pretty sure he's far from the only one. Databases with such a vast amount of "forbidden" knowledge will always be misused.

That's why we shouldn't have global surveillance, espionage and "highly classified material" wherever it's possible for agencies to do their jobs without them.

And I'd argue most of the data the contractor had access to was neither relevant for his own work, nor for the work of all of the CIA.

in reply to Helix 🧬

We’ve known since Snowden that these people browse private info for fun, and exchange anything spicy they find with each other. But this guy was straight up selling classified info to anyone who would buy it.

I’m shocked they’re letting this guy off with a plea deal. This was so far beyond misuse of systems. This was full on treason.

Questa voce è stata modificata (1 mese fa)
in reply to surph_ninja

I’m shocked they’re letting this guy off with a plea deal. This was so far beyond misuse of systems. This was full on treason.


but he didn't try to run or get caught running in russia; so he's ok. lol

in reply to eldavi

More likely they didn’t want to set a precedent of prosecuting people for selling state secrets, since they’re all doing it.
in reply to surph_ninja

either that or the people in charge are saving up lol
in reply to surph_ninja

He probably kept it all in cardboard boxes in his bathroom, which as we all know is totally fine now.
in reply to Random Dent

Depends which kind of partisan you’re talking to. One kind believes it’s ok to keep them in boxes in a bathroom. The other kind thinks ok to keep them in the trunk of a car or a private server.

Reasonable people want both kinds held accountable.

in reply to Five

this happens unsurprisingly often. the NSA calls it LOVEINT


in reply to jankforlife

Yes remind me which invades/threatens to invade neighboring countries, EU, Russia and/or China? Which of them is flying aircraft into the others' sovereign airspace? Which of them is actively committing genocide?

in reply to ☆ Yσɠƚԋσʂ ☆

Not needed in TV, enough with the gov. It's better for you to laugh, if the president make a joke.

in reply to jankforlife

If the flag in the bottom right weren't labeled, my dumb ass would have thought Ukraine was sponsored by Mercedes


Fact : what's really behind the Swiss E-ID


End of September, Switzerland will vote for E-ID.
A big threat for our privacy as it will widely used for tons of new use cases.

Behind the government pitch of an "open source project, completely optional" hides big tech industry... Which will make it mandatory to access their services.

What are your thoughts on that ?

#Switzerland #Privacymatters

Questa voce è stata modificata (1 mese fa)
in reply to harfang

private ids where always the scope of the privacy movement. However, it may as such present other challenges which can include age based discrimination. It as such must be implemented wisely.

Age is already being weaponised against us (child protection, etc), this shouldn't be like that - We can already see what kind of power governments hold. Ageism is what will ultimately destroy us.



Filter Your Files Directly in Zsh, Without Long Pipelines | Bread on Penguins


Sections
0:00 zsh opts
1:31 wildcards
2:46 when to glob!
4:08 special patterns
4:50 filtering, sorting
7:10 $f example
8:25 when not to glob!
in reply to Otter Raft

i use zsh on my work macs and now i'm thinking of doing so too on my linux machines because of this lady's videos.

i've been using bash for 20+ years and my work macs keep reminding me that the transition is going to have hiccups because bash has become muscle memory for me.




in reply to 小莱卡

It's the episode where it's "Columbus Day," and the mobsters are getting indignant about the suggestion Columbus was a mass murderer, while local indigenous people are protesting it. Tony says something like "in this house Christopher Columbus is a hero."
Questa voce è stata modificata (1 mese fa)

in reply to AresUII

My FBI guy's reaction when I navigate to a sketchy website to watch horny gay dudes do everything they can to each other for the 5th time today.
in reply to AresUII

Not a canary or anything


we've had enough of those lately and i'm going to miss kimmel.


in reply to Bluefalcon

Our president will say something idiotic. Is that what you are waiting for?
in reply to Bluefalcon

this is like the homophobes and gay marriage; a mayor in new york has literally nothing to do w him in texas, but he feels like it does.
in reply to eldavi

In my city we have people coming from out of state, to protest our mayor. It's bollocks.



Murena launches phone with hardware kill switch


mastodon.social/@murena/115225…


Meet your everyday privacy HIROH

🥳 Introducing the HIROH phone powered by Murena:

🔸 Built-in privacy with /e/OS
🔸 Hardware Kill Switch button
🔸 Premium quality hardware: 1.5K AMOLED display & 108MP rear cam

Your everyday phone should be your private phone.

👉 Pre-order & save 200€/$: murena.com/products/smartphone…

#Privacy


Questa voce è stata modificata (1 mese fa)
in reply to Fairgreen

when they adding phone fry button so i can hit a switch and it explodes




A Reforma Administrativa avança para destruir o Estado brasileiro


cross-posted from: lemmy.eco.br/post/16758437



in reply to bubblybubbles

Lol, what a huge pieces of shit, they sold the country for pennies and now kick them out like any other brown minority, so much for Slavs trying to be friends with white supremacists.
in reply to ghost_laptop

Well sventr.site is as far as i know a russian propaganda channel
in reply to wowleak

Is the Kyiv Independent good enough for you, buddy?

kyivindependent.com/eu-to-phas…

in reply to ghost_laptop

Yes thank you, there is a huge difference in tone between the two and what is said and what is not. Glad i got to read both.
in reply to ghost_laptop

Well aren't you a peach

How about you try a news source instead of... Whatever the hell this site is pretending to be, and then maybe make an attempt to be nuanced and truthful?

Edit: lol, the domain doesn't even resolve anymore

Questa voce è stata modificata (1 mese fa)
in reply to Phoenixz

Is the Kyiv Independent good enough for you, buddy?

kyivindependent.com/eu-to-phas…

in reply to Phoenixz

Works fine for me.

Well now it's gone but the other link is even better lol

Questa voce è stata modificata (1 mese fa)



in reply to jackeroni

On one hand USA bombed my country, poisoned the waterways with depleted uranium, and helped war criminals rip a chunk of it off and continue ethnically cleansing people to this day.

On the other, for over a decade China has been helping criminals running the country embezell billions in return for putting us in so much debt who knows how many generations will be paying it off.

Both can go fuck themselves.

in reply to cheeso

Recognising that both are neoimperialistic powers bent on exploiting thirdworlders is copium?
in reply to bobo

"On the one hand, America committed massive war crimes, killing and maiming thousands. On the other hand, China loaned us money. These are equally bad."




How do I turn my Anki deck into multiple choice quiz automatically?


I am trying to study for my Network+, I have an Anki deck I downloaded from the internet that's very helpful, but I have to basically mark down myself which things I'm struggling with. I was wondering if there is a tool available that would automatically turn my deck into a quiz? I do not want to spend a lot of time turning it into a quiz myself, because there is a lot of material. I am okay with using Duck.ai (ChatGPT) for helping me with this, if needed. Just not aware of an easy way to do this.

I'm trying to avoid using non-free sites like Quizlet.

Any help is appreciated!

Questa voce è stata modificata (1 mese fa)
in reply to Zeon

Why do you have to mark cards manually? Anki's algorithm already reschedules cards based on what you're struggling with. Additionally the card browser has an ease filter that you can sort by.

How is the quiz you want different than what Anki already provides? Is it that instead of providing the answer from memory, you want to be provided a list of choices? I'd argue if you're studying, it is better to do it the "hard" way by just knowing the answer, and then acing the test since its the easier multiple choice format.
When I did Net+ and then Sec+, most of my questions were formatted this way, but I also manually added the multiple choice questions that were in my study book. For that I listed all the choices in the question field, then just the question and answer in the answer field.

Lastly, this isn't really a Linux question though, as Anki is cross-platform. You may get more response on Anki's forums.

in reply to Zeon

As the other comment says, Anki already changes dynamically so that you study the hard stuff more. Just make sure to mark whether you got the answer and how hard it was to get it.

Now, here’s something that could help you, perhaps more than any multiple choice exam could ever help you with: when studying, make sure to not only blurt the answer but also use elaborative recall. In other words, make an effort to think and do so mindfully (rather than mindlessly).

Why? You learn through effort and through mindfully (and not mindlessly) connecting the new knowledge with what you already know.

You could even structure your elaborative recall through Visible Thinking Routines.

How does that look like?

  • You start your study session.
  • You get an Anki card.
  • You remember this card clearly, and so you say it out loud and then check.
  • You get it right. No need for elaborative recall. Better to focus your energy elsewhere.
  • You get another Anki card.
  • This one’s tough. You’re unsure.
  • You say out loud why it could be any of the two answers you think could be right.
  • You get the answer and sure enough it was one of the two you thought.
  • You decide to do elaborative recall so that you learn this well. To guide your elaborative recall, you decide to use the thinking routine “Connect-Extend-Challenge”.
  • So you do elaborative recall through a thinking routine. You do it by talking out loud or writing it out.
  • This step may sound silly but make sure to celebrate so that you feel pride and satisfaction for doing something that takes effort (especially if you’re struggling with the habit of studying).
  • Then you move on to the next Anki card.
Questa voce è stata modificata (1 mese fa)






in reply to cedar_rez

Their vision is based on movement, stay perfectly still.


You're thinking of a different kind of predator. I don't think that would work against sexual predators.



Arab and Islamic airspace blockade would damage Israel, finds UAE think tank


The report estimated that it would cause Israel’s GDP to contract between 4.8 and 5.7 percent, which would trigger a recession.

A wide-scale blockade including OIC members such as Turkey, Pakistan and Indonesia would sever direct flights to Israel’s east and south, creating a significant barrier to high growth markets in Asia and Africa.

It estimated that detours which added four to six hours to flights could cost between $30,000 to $60,000 per flight. Israeli airline El-Al would likely suffer a reduction of revenue of between 60 to 75 percent, according to a “conservative estimate”.

Such a move, according to the paper, would disrupt tourism to Israel, and high-value time-sensitive exports like diamonds and medical equipment.

It would likely cause contract cancellations, as well as a potential exodus of research and development initiatives based in Israel.

Such a coordinated action taking place may well be unlikely, given that it would draw the ire of the US, and would create economic costs for the blockading countries themselves.

The UAE, as well as Bahrain, Morocco and Sudan, established full relations with Israel as part of the Donald Trump-brokered Abraham Accords in 2020.

Israel's genocide in Gaza has brought about condemnation from these countries, but not a suspension or withdrawal of the accords.

in reply to geneva_convenience

They forgot the part where the US would just increase the regular payments to God's favorite country to cover the difference and condemn any action taken to help people Israel wants dead.


‘Liberal’ has become a term of derision in US politics – the historical reasons are complicated


In this setting, liberals face a conundrum. How far should they maintain traditional liberal ideals, and how far should they move towards non-liberal, and potentially illiberal, ideologies if these seem more promising for the purposes of social change?
in reply to TokenBoomer

Liberals had their moment when they invented the guillotine but it was downhill from there.


Democratic PR Firm to Run Bot Army for Israel


SKDKnickerbocker LLC, a top Democratic Party-aligned public relations firm, has agreed to run a “bot-based program” to amplify pro-Israel narratives on Instagram, TikTok, LinkedIn, YouTube, and other platforms, according to a filing under the Foreign Agents Registration Act submitted on Aug. 29. The contract, signed on April 28, 2025, describes a strategy to “flood the zone” with content promoting the Israel Ministry of Foreign Affairs’ pro-Israel messages, using automated tools to increase the reach and visibility of specific posts.

The contract, worth $600,000 from April 2025 through March 2026, also tasks SKDK with coaching Israeli civil society spokespeople for on-camera appearances, testing the effectiveness of social media influencers, and arranging tailored outreach to journalists at outlets including BBC, CNN, Fox, and the Associated Press to secure favorable coverage. While it is not confirmed whether the bot program is already active, the contract date suggests it could be underway.

in reply to geneva_convenience

youtu.be/kbgRk_hlM3U



Looking for software that will allow keyboard/mouse to output to tablet via usb


Hey all,

I have a tablet that I’ve been working on and in order to setup OS I need to plugin a usb hub to the usb port, using an adapter to microUSB, ok, and then plugin either a keyboard and mouse or a combo unit (in my case, the wireless receiver device of a mini keyboard/touchpad device), and finally, the flash drive with the OS install on it.

To put it simply, it’s really a pain in the ass anytime I want to do some testing. It works, but it is a clutter and nuisance.

Is there any software that will allow me to plug in a USB cord from my laptop (Linux) and the other end into the USB port of the tablet, and use the laptop to control the tablet?

Thanks.

in reply to AndrewZabar

Hah, no worries. I think it's just an unusual use case and... well, I recognized it because I'm obsessed with PiKVM lately and those things!

I'm not superknowledgeable on USB, but Linux has features to do this; they are called "gadgets" in this list:

docs.kernel.org/usb/index.html

I have used this to turn a RPI Zero into a virtual USB drive with these scripts: github.com/alexpdp7/rpi-zero-u…

Likely by searching the Internet for USB gadgets you might find good explanations about requirements. I know there are unexpected difficulties- I'm using a Pi Zero instead of a nicer Pi because... nicer Pis can draw too much power over USB and bork what they're connected to. So be careful.

in reply to koala

Thank you, again, for the info. I’ll check out those links. I appreciate it.


How L.A.'s Playbook Can Guide Chicago's Fight Against ICE