[-] modulus@lemmy.ml 5 points 6 days ago

I liked poppy wars but it was a bit too relentlessly nihilist for me. I thought Babel was, if anything, better balanced in terms of presenting empire as a system where people who are not inherently out to harm others end up doing so anyway.

[-] modulus@lemmy.ml 6 points 6 days ago

I read it, and I really enjoyed it. I will give a few reasons.

There are tons of spoilers here, by the way, you were warned.

References to the themes the work relates to including some specific events.

  1. Focus on language. The entire conceit of translation means there's lots of careful language in the book, which I enjoy reading.
  2. Theme. There are two major themes I can see that I enjoyed: on one hand, the theme of imperialism, with the British Empire making use of its power to oppress people abroad. This is certainly central. On the other hand, the operation of empire doesn't even help most British people themselves, hence the uprising. These themes are interesting to me.
  3. Subthemes. But there are a lot of subthemes, issue that make you think when reading the book. Just a couple of examples: brain drain, the way translators are plucked off their societies to serve empire; the interaction of relative privilege with relative oppression, in the way that the foreign-looking translators get treated at the party; the notion of language itself as an exploitable resource (more relevant in connection to AI and the use and exploitation of corpora); the weaknesses of imperial centralisation, which could also be a critique of the cloud (the way the silver bars are connected to teach other); and the whole thorny issue of white feminism, which is very sharply demonstrated by one particular character.

I also think there are very poignant situations in the book: the two brothers at odds, the reluctance to violence, the scene where the professor beats his pupil, the attempt to follow Muslim ethics and law while having to handle practical reality...

So in short, it was one of my favourite books in the last few years. It also illuminates the opium wars in a way that hasn't often been done before.

[-] modulus@lemmy.ml 23 points 3 weeks ago

It's interesting how NATO is "forced" to take action by Chinese military build-up, doesn't leave any room for China being forced to take action by NATO's military build-up. Reminds me of that recent video of previous NATO's head complaining about China placing bases close to NATO, when any NATO country is thousands of km away and China is deploying near its own coast.

[-] modulus@lemmy.ml 54 points 1 month ago

I kept giving Mozilla the benefit of the doubt and telling myself things weren't so bad.

I was wrong.

I'll continue using Firefox because it's the least bad option, but I can't advocate for it in good faith anymore, and I don't expect it to last long with this orientation.

So it goes.

[-] modulus@lemmy.ml 22 points 4 months ago* (last edited 4 months ago)

I'd like people to STOP PRETENDING that the only plausible reason why someone doesn't agree with this is that we don't understand it. Yes, I understand what this does. The browser tracks which advertisements have been visited, the advertiser indicates to the browser when a conversion action happens, and the browser sends this information to a third-party aggregator which uses differential techniques to make it infeasible to deanonymise specific users. Do I get a pass?

Yes, this is actively collaborating with advertising. It is, in the words of Mozilla, useful to advertisers. It involves going down a level from being tracked by remote sites to being tracked by my own browser, running on my own machine. Setting aside the issues of institutional design and the possibility for data leaks, it's still helping people whose business is to convince me to do things against my interest, to do so more effectively.

[-] modulus@lemmy.ml 43 points 4 months ago* (last edited 4 months ago)

Whatever opinion you may have of advertising as an economic model, it’s a powerful industry that’s not going to pack up and go away.

Fuck that. Not if we don't make it. That's precisely the point. Do not comply. Do not submit. Never. Advertising is contrary to the interests of humanity. You're never going to convince me becoming a collaborator for a hypothetically less pernicious form is the right course of action. Never. No quarter.

We’ve been collaborating with Meta on this,

That makes it even worse.

any successful mechanism will need to be actually useful to advertisers,

And therefore inimical to humanity in general and users in particular.

Digital advertising is not going away,

Not with that attitude.

but the surveillance parts could actually go away

Aggregate surveillance is still surveillance. It is still intrusive, it still leverages aggregate human behaviour in order to harm humans by convincing them to do things against their own interest and in the interest of the advertiser.

This is supposedly an experiment. You've decided to run an experiment on users without consent. And you still think this is the right thing--since you claim the default is the correct behaviour.

I cannot trust this.

[-] modulus@lemmy.ml 27 points 4 months ago

This is bullshit. The total amount of advertising I want is zero. The total amount I want of tracking is zero. The total amount of experiments I want run on my data without consent is, guess, zero.

[-] modulus@lemmy.ml 22 points 6 months ago

For me the weirdest part of the interview is where he says he doesn't want to follow anyone, that he wants the algorithm to just pick up on his interests. It's so diametrically opposed to how I want to intentionally use social networks and how the fedi tends to work that it's sometimes hard to remember there are people who take that view.

8
submitted 7 months ago* (last edited 7 months ago) by modulus@lemmy.ml to c/rust@programming.dev

I have a struct that looks like this:

pub struct Game {
    /// A HashSet with the players waiting to play as account strings.
    lobby: HashSet<String>,
    /// capacity determines  how many people a match contains.
    capacity: u8,
    /// A vector of ongoing matches.
    matches: Vec<Match>,
    /// HashSet indicating for each player which match they are in.
    players: HashMap<String, usize>,
}

I realised that this won't work because if there are 3 matches (0, 1, 2) and I remove 1 because it ends, the players that used to point at 2 will be pointing outside the vector or to an incorrect match.

So I thought the obvious solution was to use a reference to the match: players: HashMap<String, &Match>. But this makes lifetimes very complicated.

What's a good way to deal with a case like these where data are interrelated in the same struct?

[-] modulus@lemmy.ml 18 points 9 months ago

Security and performance are hard to measure but it's at least questionable that they're behind in either.

AI has many good uses, for example the local translation capability that allows for privacy-preserving translations of websites is AI and already in Firefox, and makes it possible to translate in environments that do not allow sending data out for security reasons.

[-] modulus@lemmy.ml 36 points 1 year ago

I don't get why states do this. Lie? Yes, that makes sense. But lie so badly it's inevitable they get caught? A lot of people, I would think, will now also have qualms believing anything coming from them, even things that might be true.

[-] modulus@lemmy.ml 32 points 1 year ago

Not that hard left (I gave money to Sumar but I'm realistic that it's the best we can get, more than what we want).

I know some people who are really pissed off about the amnesty, and personally I don't get it. Like in what world is the personal fate of a few hundreds of people who, let's say for the sake of the argument, ran an illegal referendum, more important than labour rights for everyone?

9
submitted 1 year ago by modulus@lemmy.ml to c/rust@programming.dev

Hi there,

I'm trying to do some native windows rust programming. I'm using native-windows-gui and native-windows-derive to do it, but if I try to mix that with tokio, I get the following:

No entry point found error for GetWindowSubclass. On console, I get:

error: process didn't exit successfully: `C:\source\myprojectanem\target\debug\myprojectname.exe` (exit code: 0xc0000139, STATUS_ENTRYPOINT_NOT_FOUND)

If I change

#[tokio::main]
async fn main() {

to:

fn main() {

The problem goes away, but obviously I can't use tokio then.

Any clue what the problem is and how to fix it?

[-] modulus@lemmy.ml 39 points 1 year ago

There is literally no instance in which expanding the scope of copyright law is a good thing. Never.

21
submitted 1 year ago by modulus@lemmy.ml to c/rust@programming.dev

Hi there,

I'm working on a bot to do social games on the fedi, and using the mastodon-async crate for communicating with the ActivityPub server in question. At the moment I'm using tokio mt as a runtime, though I'm new at async so if you think I shouldn't let me know.

The pattern I want to implement is the following:

  • At any given time, a user sends a "play" message to the bot.
  • If the player list is empty, the player is added to it awaiting someone else.
  • Otherwise, the bot checks if there are enough players on its list (who have previously sent a play message). For some games, enough is 1, since it's a 2-player game, for some it's 3 or more.
  • If there are enough players, play commences. list is cloned for that match, then emptied so other players can get in.

What I'm not very clear is how to keep this list to assure that sequence will be respected. I.a., if two play messages come reasonably quick together, I want one to be processed, then entered on the list, or get the match to start; then the other to get processed.

My current thoughts:

  • I could use a channel that receives the player accounts. When a new player is added, it performs the logic.
  • I could use a mutex with a list (or an option player value for the degenerate case of 2-player games).

Any thoughts on what the reasonable thing to do is here? I'm very new to async and while I realise there's probably lots of ways to do this, they're not all equally ergonomic and I want to avoid myself future pain.

-1
submitted 1 year ago by modulus@lemmy.ml to c/europe@lemmy.ml
1
submitted 1 year ago by modulus@lemmy.ml to c/socialism@lemmy.ml
view more: next ›

modulus

joined 1 year ago