Interested in the intersections between policy, law and technology. Programmer, lawyer, civil servant, orthodox Marxist. Blind.


Interesado en la intersección entre la política, el derecho y la tecnología. Programador, abogado, funcionario, marxista ortodoxo. Ciego.

  • 3 Posts
  • 34 Comments
Joined 1 year ago
cake
Cake day: June 5th, 2023

help-circle

  • 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.



  • There’s a very good report to the UN Human Rights Council on the human rights situation in the Palestinian occupied territories, numbered as A/HRC/55/73, which has a very good section on human shields.

    58. IHL strictly prohibits the use of human shields. 188 Their use constitutes a war crime, 189 as it violates the duty to protect the civilian population from dangers arising from military operations. 190 When human shields are used, the attacking party must take into account the risk to civilians. 191 Indiscriminate or disproportionate harm to civilians remains unlawful and the civilian population can never be targeted.

    59. Israel has accused Palestinian armed groups of deliberately using civilians as human shields in previous aggressions on Gaza (including in 2008-09, 192 2012, 193 2014, 194 2021 195 and 2022 196 ). It also used it to justify high civilian casualties and attacks against paramedics, journalists and others during the 2018–2019 ‘Great March of Return’. 197 UN independent fact-finding missions 198 and reputable human rights organizations 199 have consistently challenged these allegations, sometimes concluding that evidence of human shields had been fabricated. 200 Nevertheless, Israel has used these accusations – sometimes then retracted to justify widespread and systematic killing of Palestinian civilians in its ongoing assault. 202

    60. After 7 October, this macro-characterization of Gaza’s civilians as a population of human shields has reached unprecedented levels, with Israel’s top-ranking political and military leaders consistently framing civilians as either Hamas operatives, “accomplices”, or human shields among whom Hamas is “embedded”. 203 In November, Israel’s Ministry of Foreign Affairs defined “the residents of the Gaza Strip as human shields” and accused Hamas of using “the civilian population as human shields”. 204 The Ministry defines armed groups fighting from urban areas as deliberately “embedded” in the population to such an extent that it “cannot be concluded from the mere fact that seeming ‘civilians’ or ‘civilian objects’ have been targeted, that an attack was unlawful”. 205 Two rhetorical elements of this key legal policy document indicate the intention to transform the entire Gaza population and its infrastructures of life into a ‘legitimate’ targetable shield: the use of the all-encompassing the combined with the quotation marks to qualify civilians and civilian objects. Israel has thus sought to camouflage genocidal intent with humanitarian law jargon.

    61. International law does not permit the blanket claim that an opposing force is using the entire population as human shields en bloc. Any such usage must be assessed and established on a case-by-case basis before each individual attack. 206 The crime of using human shields occurs when the use of civilians or civilian objects to impede attacks on lawful targets is the result of a deliberate tactical choice, not merely arising from the nature of the battlefield, such as hostilities in densely populated urban terrain. 207

    62. Nevertheless, Israeli authorities have characterized churches, 208 mosques, 209 schools, 210 UN facilities, 211 universities, 212 hospitals and ambulances 213 as connected with Hamas to reinforce the perception of a population characterized as broadly ‘complicit’ and therefore killable. Significant numbers of Palestinian civilians are defined as human shields simply by being in “proximity to” potential Israeli targets. 214 Israel has thus transformed Gaza into a “world without civilians” in which “everything from taking shelter in hospitals to fleeing for safety is declared a form of human shielding”. 215 The accusation of using human shields has thus become a pretext, justifying the killing of civilians under a cloak of purported legality, whose all-enveloping pervasiveness admits only of genocidal intent.





  • Not sure I understand. What I’m trying to do is something like this:

    • Poll a stream which takes fedi events. Read player commands.
    • If an event comes from a known player, check which match they are into.
    • With that info, get their opponents/coplayers etc and perform the change of state in the game (send replies, next turn, etc).

    So what I have as a key is a player name (AP username) and from that I need to find which match they’re in.

    There’s nothing semantically useful about a match ID.


  • Thanks, the RC is a possible approach. It seems to violate DRY a bit but maybe there’s no way around it.

    The reason I had the players outside the match is that I need them there anyway, because when I get a player action I need to check in which match they are, who are their opponent(s) and so on. So even if they’re in, they’ll have to be out too as there are concurrent matches and the player actions come all through the same network stream.



  • Very well-reasoned article, though the political constraints might end up making implementing its recommendations impossible. Hard to see how the US and EU could make the rhetorical shifts it would take. If events continue as they are now, the military realities may preclude it. While it seems advantageous to reach a negotiated settlement for all sides at the moment, this will not remain the case forever.









  • Apparently the problem is due to an incompatibility between the use of certain libraries (winapi and windows-sys) which use different versions of COM. At least so I deduce from the documentation I've read.

    There's a workaaround:

    On Cargo.toml, use.

    [build-dependencies]
    embed-manifest = "1.3.1"
    

    And on the root of the project (not the src dir) create a build.rs file with the following content:

    use embed_manifest::{embed_manifest, new_manifest};
    
    fn main() {
        if std::env::var_os("CARGO_CFG_WINDOWS").is_some() {
            embed_manifest(new_manifest("Contoso.Sample")).expect("unable to embed manifest file");
        }
        println!("cargo:rerun-if-changed=build.rs");
    }
    

    This embeds a manifest together with the executable, solving the issue.




  • The way I look at this is I have a reasonable understanding of rust. I'm not an expert but I can more or less do whatever computation I need to do, use crates, and so on. But with async it's like learning another language. Somewhat of an exaggeration, but it's not just what code you need to write, but also being able to read the error messages from the compiler, understanding the patterns and so on. So yes, it's probably fine, but it does take work.