Links and Notes for November 8th, 2024
Below are links to articles, highlighted passages[1], and occasional annotations[2] for the week ending on the date in the title, enriching the raw data from Instapaper Likes and Twitter. They are intentionally succinct, else they’d be articles and probably end up in the gigantic backlog of unpublished drafts. YMMV.
Table of Contents
- Public Policy & Politics
- Journalism & Media
- Labor
- Economy & Finance
- Environment & Climate Change
- Art & Literature
- Philosophy, Sociology, & Culture
- Technology
- Programming
- Sports
Public Policy & Politics
Libs vs Leftists. Learn the difference.✊ Agitate. Educate. Organize. (Reddit)
Excellent conversation between two well-informed gentlemen.
US Customary System: An Origin Story by Brad Kelechava (Ansi.org)
“All land in England was measured traditionally by the rod (gyrd), an old Saxon unit about equal to 20 feet. 40 rods made a furlong (fuhrlang), the length of a traditional furrow plowed by ox teams on Saxon farms. Norman kings fixed the length of the rod at 5.5 yards, which is still unchanged today.”
The Trump Restoration by Justin Smith-Ruiu (Hinternet)
“[…] no one seems more like the yokel in the present moment than the high-ranking establishment Democrats, right up to Kamala Harris herself. “Sometimes the fight takes a while”, she reflects in her concession speech. And it’s like: Madame Veep, look, you were just decisively rejected because of the program you represent, a program from which voters have been growing ever more alienated for decades now. It’s not going to “take a while” for the likes of you. For, the likes of you —the Clintonite-Bushite-Obamaite post-Cold War consensus, which we suppose to have come together right around the time the US started pushing “shock therapy” on Yeltsin’s Russia, and perhaps ended with the assassination of Osama Bin Laden, which was also right around the moment, as some of us recall, when the Tea Party’s grievances and their hypostases began taking up more space in the American imagination than the “war on terror”—: the likes of you, we were saying, are done for.”
“The last time the Democratic Party had a candidate with any mass appeal that mirrored that of Trump in any way, they simply sidelined him and went with one of their own upwardly failing and broadly disliked appointees. She lost too, and likewise took to framing her loss in identitarian terms rather than in terms of policy. Bernie might —just might— have won, and the world would have been a very different place right now if he had. So now we find we have a genuine multiracial working-class coalition of Americans, united in their hostility to the elites. But it’s the wrong multiracial working-class coalition.”
“[…] we will never hear any acknowledgment of these hard truths from Kamala, or Joe, or Nancy, or any of the others who are still trying to make the center hold even when the entire planet is undergoing a massive reversal of polarity and priorities. Until the leaders of the Democratic Party are able to process these truths soberly, we suspect the MAGA Republicans will enjoy more or less uncontested dominance.”
“A whole millennium of simmering injustice is preferable to sudden incineration. We’ve already had a millennium of simmering injustice, and a millennium before that, and so on, and no one expresses regret that an asteroid did not come along to nip the agricultural revolution in the bud. Bad regimes still give us something to improve; wars only destroy.”
“[…] we have found ourselves unable to conjure any appreciation at all for the big-tent Democratic formation that Kamala was able to create, uniting everyone from Dick Cheney to AOC, and a big part of us inclines to the view that the “known known” of Cheneyism, and of any party that has room for him, is worse than the known unknown of a Trump Restoration.”
“If Trumpism is ever going to be defeated, we must never forget how grossly dishonestly this little incident, like countless others, was presented by legacy media. The dishonesty is great enough to make it comprehensively impossible for those who rely on these media as a source of information and analysis to make any real sense of what is happening in our country, or to have any hope of planning wisely for the creation of a better future.”
Lange Gesichter in Kamalas Fankurve by Jens Berger (NachDenkSeiten)
“Was hätte Harris auch sagen sollen? Dass sie die Politik von Biden 1:1 fortsetzen will? Dass sie eine Politik ganz im Sinne ihrer Großspender verfolgen wird, zu denen das Who is Who des Big Business und der Wall Street gehören? Dass sie weiterhin die Kriege der USA auf dem gesamten Globus führen will? Dass sie ohnehin nur Kandidatin wurde, weil eine aussichtsreichere Alternative aus rechtlichen Gründen keinen Zugriff auf das gewaltige Kampagnenbudget der Biden-Harris-Kampagne gehabt hätte?”
The Politics of Cultural Despair by Chris Hedges (Substack)
“Donald Trump is a symptom of our diseased society. He is not its cause. He is what is vomited up out of decay. He expresses a childish yearning to be an omnipotent god. This yearning resonates with Americans who feel they have been treated like human refuse. But the impossibility of being a god, as Ernest Becker writes, leads to its dark alternative – destroying like a god. This self-immolation is what comes next.”
“The smug, self-righteous “moral” crusade against Trump stokes the national reality television show that has replaced journalism and politics. It reduces a social, economic and political crisis to the personality of Trump. It refuses to confront and name the corporate forces responsible for our failed democracy.”
“[…] pope [John Paul in 1981] castigated unemployment, underemployment, inadequate wages, automation and a lack of job security as violations of human dignity. These conditions, he wrote, were forces that negated self-esteem, personal satisfaction, responsibility and creativity. The exaltation of the machine, he warned, reduced human beings to the status of slaves. He called for full employment, a minimum wage large enough to support a family, the right of a parent to stay home with children, and jobs and a living wage for the disabled. He advocated, in order to sustain strong families, universal health insurance, pensions, accident insurance and work schedules that permitted free time and vacations. He wrote that all workers should have the right to form unions with the ability to strike.”
How to Stop Fascism by Roger Hallam (Z Network)
“Research shows most people initially attend campaign meetings not for political reasons, but because a friend invited them or they seek human connection. A Harvard study on negotiation found the single biggest predictor of success is whether the other party personally likes you. The early Christian church, one of the most successful movements in history, didn’t convert people through doctrinal persuasion but by fostering friendships. The evidence is overwhelming. “It’s absolutely fantastic,” one trade union leader told me after restructuring his events around small group discussions.”
The Bipartisan Border War is Turning America into a Prison by Nicky Reid (Exile in Happy Valley)
“Despite the fact that every single one of the 9/11 hijackers was a green card holder who came through a legal port of entry, Bush used those attacks to move the flailing border Cthulhu from the Department of Justice to the Department of Homeland Security and juiced it up like Schwarzenegger with militaristic surveillance paraphernalia like drones and aerostats. And Barack Obama still holds the title belt for deporter in chief, building the concentration camps and turning ICE into the dick swinging gestapo that Trump used to raid kindergartens and children’s hospitals to fill them.”
“Just like the war machine and the prison state, the American border is a failure industrial complex. Nobody has ever been made safer by any of those rackets, but a very small group of corporations and federal bureaucracies have gotten very rich, and the sickest part of the con is that the worse the blowback from its fascist adventures gets, the more money the scumbags behind them get to clean up their own mess or fail trying.”
“Happy Election Day, morons. Regardless of which asshole wins, we’re already fucked.”
How Harris Lost the Working Class by David Sirota (Jacobin)
This article contains a section titled “But Aren’t Democrats Being Smart by Trying to be a Big-Tent Party?” where Sirota answers,
“Democrats, by contrast, refused to seriously entertain the query. Under the banner of being a “big tent,” the party instead chose to depict a fantasy world where villains other than Trump are rarely named, and nobody has to choose who has power, money, authority, and credibility — and who doesn’t.”
“It is a world where warmonger Dick Cheney, pop singer Taylor Swift, and Sanders are all equally meritorious validators, as Democratic vice-presidential nominee Tim Walz insinuated — and no moral judgments should be made.
“It is a world where Democrats schedule a Bernie Sanders convention speech bashing billionaires, immediately followed by a speech from a billionaire bragging about being a billionaire, and then a speech by a former credit card CEO declaring that Democrats’ presidential nominee “understands that government must work in partnership with the business community.”
“It is, in short, a world where Democrats never have to choose between enriching their donors and helping the voters who those donors are fleecing.
“Americans know this world doesn’t exist, which is why candidates and parties that pretend it does so often lose, even to right-wing con men.”
His argument is excellent and well-written but it’s still too weak. He writes that “Americans know this world doesn’t exist”. Yes, they do. But that’s not angry enough. Americans are offended that anyone would think they were dumb enough to believe a fucking fairy tale like that and immediately distrust the smug, supercilious asshole telling said tale much more than they distrust someone who’s blowing smoke up their ass a different way.
Trump’s lies are psychologically more palatable because he is actually good at being a con-man. Everything the democrats do immediately raises the hackles of anyone with an anti-authoritarian bone in their body, eliciting muttered “don’t piss on my leg and tell me it’s raining.”-style commentary.
It’s hyper-clear that every party Democrat hates anyone who makes less than $500K per year. They think they’re filthy morons. That’s why they only talk to them once every four years—if that.
To return to the original question about the big tent: people don’t actually believe that it’s a big tent because the Democrats actually make it clear that their invitation is along the lines of “we have a big tent, there’s even room for inbred, reprobate, racist fucks like you.” Only Democrats are mystified why that continues to fail.
The Crack-Up by Jeffrey St. Clair (CounterPunch)
“This “white wave” electorate didn’t reject progressive ideas; they rejected the candidate who failed to advocate them for fear of alienating Big Tech execs and Wall Street financiers. Voters in both Alaska and Missouri approve increasing the minimum wage to $15. Voters approved paid sick leave in Alaska, Missouri and Nebraska. Voters in Oregon approved a measure protecting marijuana workers’ right to unionize. Alaska voters banned anti-union captive audience meetings. Arizona voters rejected a measure that lowered the minimum wage for tipped workers. Massachusetts approved the right of rideshare workers to organize for collective bargaining. New Orleans voters approved a Workers Bill of Rights. Voters in Arizona, Colorado, Maryland, Missouri, Montana, Nevada and New York approved measures granting a state constitutional right to abortion.”
“The Harris campaign raised a billion dollars and ended $20 million in debt. Many people got rich by dispensing terrible advice.
“People joke about Trump Steaks, Trump Wine, Trump University, and all the other ludicrous and failed ventures. But the Democrats burned through a billion dollars on a campaign that yielded a worse result than HRC in 2016. In the interim, both Ohio and Florida have gone from 50/50 states to deep red, even to the point of Ohio evicting a popular senator with working-class cred like Sherrod Brown for a lunatic like Bernie Moreno. Yet the same high-priced, loser consultants are already lining up gigs for next spring’s gubernatorial primaries and shopping themselves around to potential Senate and House candidates for 2026.”
“Trump got two million fewer votes than he did in 2020 and still won by five million votes. It was a turnout election in which Harris–who performed only a little better than HRC in 16–gave Democratic voters little reason to turnout–other than fear of Trump, who they’d already endured and (mostly) survived.”
“Noah Kulwin: “I don’t think anyone who gloats about the economy has to buy Obamacare insurance.””
“Mouin Rabbani: “For the first time in modern American history contempt and disdain for Arabs, and demonization of Palestinians, has proven to be a losing rather than winning electoral strategy.””
“Musa al-Gharbi, in an interview with Reason on the fatal contradictions of progressive elites…”“One of the core cultural contradictions is that we have these two drives that are both sincere. It’s not the case that we are cynical or insincere when we say we want the poor to be lifted up. We want the people who are marginalized and disadvantaged in society to live lives of dignity and things like that. I don’t think people are being cynical or insincere about that. But that’s not our only sincere commitment. We also really want to be elites, which is to say, we think that our opinions and our views and our wishes should carry more weight than the person checking us out at the grocery store. We think we should have a higher standard of living than the person selling us clothes and shoes at Dillard’s. And we want our children to reproduce and have an even higher social position than us. And these drives are in fundamental tension, right? You can’t be an egalitarian social climber.”
’Escalation Dominance’ and the Prospect of More Than 1,000 Holocausts by Norman Solomon (Antiwar.com)
“Consider what President Kennedy had to say, eight months after the Cuban Missile Crisis, in his historic speech at American University: “Above all, while defending our own vital interests, nuclear powers must avert those confrontations which bring an adversary to a choice of either a humiliating retreat or a nuclear war. To adopt that kind of course in the nuclear age would be evidence only of the bankruptcy of our policy, or of a collective death wish for the world.””
“Daniel Ellsberg tried to alert members of Congress. Five years ago, in a letter that was hand-delivered to every office of senators and House members, he wrote: “I am concerned that the public, most members of Congress, and possibly even high members of the Executive branch have remained in the dark, or in a state of denial, about the implications of rigorous studies by environmental scientists over the last dozen years.” Those studies “confirm that using even a large fraction of the existing U.S. or Russian nuclear weapons that are on high alert would bring about nuclear winter, leading to global famine and near extinction of humanity.””
“The ongoing refusal to shut down the ICBMs is akin to insisting that our side must keep lighting matches while standing in gasoline.”
Behind the News, 11/7/24 by Doug Henwood (Apple Podcasts)
This was an extremely dense podcast, starting with Henwood reading his excellent article It Was Always About Inflation (Jacobin) (cited below in the Economy and Finance section), before going in-depth on a survey of Israeli public opinion: politics, polls, and inclinations with the extremely clear and fast-speaking Dahlia Scheindlin, who works for Ha’aretz, then moving on to James Foley and Vladimir Unkovski-Korica, who afford the war Ukraine the same treatment. Just a devastatingly good podcast, packed into only 53 minutes. All meat; no fat.
Scheindlin’s statement that Israelis aren’t really thinking about Gaza, nor are they actively not thinking about it gibes with what I’ve heard anecdotally.
I found some notes from a couple of months back:
I spoke to my co-workers in Israel this week. At least one of them seems to be quite nervous. It seems that the war has finally hit home. I asked him a few months ago whether the Israeli economy had been affected and he’s responded that everything was fine, they hadn’t noticed anything. Prices were higher but had been rising for years anyway. He said that the war was basically “over”.
This week, though, he was worried about all of the other fronts that have been sold to him as inevitable. He said that maybe they have to go fight Hezbollah in Lebanon to eradicate them, no matter what the cost in Israeli lives. He says very clearly now that, instead of everything being Hamas’s fault, it’s now Iran’s fault. He has swallowed the new narrative. He of course doesn’t assign any agency to Israel or wonder how Israel could behave differently. They are besieged on all sides and can trust no-one—even if they were willing to make peace deals, which they are not.
He is worried that an attack will destroy Israel’s ability to produce electricity, which would affect water availability as well as air-conditioning. There has been a massive lifestyle impact—especially an increase in psychic load amongst an already very anxious people. There is no recognition, though, that they could have done anything differently. Everything happens to the beleaguered chosen people. They have no agency.
Then I have these from a few weeks ago:
Talking to Israeli colleagues is wild. They don’t acknowledge what is going on at all, other than to say that it’s a shame that the poor hostages are stuck “out there” and have been suffering for so long, for almost 400 days now (give or take). It’s also really hard to get flights because everyone’s scared to come to Israel and also flights are expensive. So it’s hard to vacation in Sinai, where it’s always been cheap and easy. Now, you have to vacation in Israel, which is OK but considered to be a sacrifice.
They seem to have no idea what’s going on and we have to tiptoe around their sensibilities. But they’re the ones whose elected government is committing genocide and they seem to be largely unaware of it—or they pretend to be so no-one takes them to task for it. It’s wild how we have to be careful not to insult the citizens of the country that’s committing genocide by accidentally mentioning that they’re committing genocide. It’s like being around a crazy person.
As Scheindlin said, their overriding and only concern is the hostages. They have to focus only on that because it is the only potentially ennobling facet. They are well-aware that slaughtering two million people is not an appropriate response to having lost one thousand (or so, when you’ve subtracted the ones that the IDF killed). It’s easier to convince themselves that, as long a single hostage remains, they can continue to smash at the Palestinians, who are just being bloody-minded about not releasing the hostages and therefore deserve whatever they get until they do release them. They don’t know or care about the thousands of hostages that Israel has taken both before and in the past year. They don’t empathize and wonder what happens when the Palestinians say the same thing: we fight until we get our hostages back. Unstoppable force versus immovable object.
Breaking the Public Schools / Jennifer Berkshire by Chuck Mertz (This is Hell!)
This was an excellent interview about public-school funding with the very articulate—and clearly a trained podcaster—Jennifer Berkshire. She was a bit hesitant to go all-out revolutionary in some cases, preferring the more mealy-mouthed liberal-style formulations like (totally paraphrasing here) “it’s interesting that Republican representatives who otherwise oppose government expenditures are so generous with the public wallet when it comes to their wealthier constituents. That seems, at first gloss, a tad hypocritical” C’mon! It’s fu@&king crooked. They are utterly without principles, grubbing for money and power with not a single other overriding concern. Just. Say. It. We have to start saying it. We can’t just watch them robbing our f@&king houses, muttering “they really shouldn’t be doing that. Registered-letter time.” No, it’s torch and pitchfork time.
The question from hell was “why can’t we have nice things?”. At about 19:00 minutes left, they read the answer “because we’re a nation built on genocide and slavery,” to which Chuck replied, “Ah, I see. They’ve got the same bumper sticker I’ve got.” This is a good line on its face but it’s also made funnier when you know that Chuck is legally blind.
She’s Elise of our problems (Reddit)
“Donald Trump has offered Elise Stefanik, the woman who ran for her life on January 6 and then called insurrections “patriots,” the job as U.S. ambassador to the United Nations.
“She is a traitor and this is ridiculous.”
She fits right in to the rogue’s gallery of past and present “ambassadors”. See List of ambassadors of the United States to the United Nations on Wikipedia.
Just to pick a few of the monsters with appalling opinions whom I recognized from the list:
- Jeane Kirkpatrick
- Madeleine Albright
- John Negroponte
- Susan Rice
- Samantha Power
- John Bolton (twice!)
- Nikki Haley
- Linda Thomas-Greenfield (current and very, very, very hawkish)
Most lib subs right now (Reddit)
“Does mindless idpol alienate our base?
“No, it’s the voters who are wrong.”
Sorry we lost, give us money lmao (Reddit)
“[…] you may be looking for something meaningful and important to channel your emotions toward. If that’s you, then we’re asking you to make a donation to the Democratic Party today.
“Here’s why this request is so important. As you read this, there are U.S. Senate and House races that are either too close to call, or within the margin of recounts or certain legal challenges. They all need our help to get across the finish line.”
Tell me you’re a cult without telling me you’re a cult.
883 − History Doesn’t Repeat Itself…But It Slimes (11/7/24) by Chapo Trap House
This was a pretty great show with a lot of good lines and pretty good analysis—even without Matt Christman there.
When The Show Is Over, The Actors Hold Hands And Take A Bow by Caitlin Johnstone (Substack)
“One may say his opponent is the next Hitler, coming to end democracy and take everyone’s votes and destroy the country. The other may say his opponent is a communist dictator, come to do the same. But when the play is over the performers hold hands and bow, and then they go out and have a drink together.
“They each pretend to be fighting against each other in defense of you and your interests, when in reality they’re on the same side, fighting against you, in defense of the interests of oligarchy and empire.”
“Don’t get me wrong, the depravity of Trump himself is not illusory. Real people are going to suffer and die under his administration, just as real people suffered and died under Biden’s. But they themselves know they have nothing to fear. They and the powers they serve will go completely untouched by the imperial murder machine. They will die of old age surrounded by wealth and luxury, completely free from any consequences for their actions.
“It was all a sham. Always is. The elections are fake and the game is rigged. The empire will march on completely uninterrupted and entirely unchanged, served by one fraudulent president after the next until its eventual collapse.”
“As long as they can keep us clapping along with the puppet show, we’re never going to pay attention to the forces pulling the strings. We’re never going to bring enough awareness to the real problems to find actual solutions and carry them out. We’re never going to be able to bring real opposition to real power.”
Don’t Panic by Freddie deBoer (Substack)
“Trump’s first term was not exactly an efficient machine for achieving conservative policy goals. This is the most obvious objection and reflects on the weirdest aspect of the current moment − the idea that the next Trump term will ruthlessly implement his awful agenda. For one thing, it’s hard to say that Trump has an agenda. […] what he wants is very far from what he can get, as his first term proved. Do people really not remember this? […] it’s bizarre to look at Donald Trump and the kind of people he attracts and assign them some sort of godlike competence in getting what they want. […] Don’t dismiss his malice but don’t exaggerate his competence.”
Things You Can Lie About by Substack (How Things Work)
“It is impossible to have an honest conversation about the way that people vote in this country without understanding and acknowledging that a huge majority of voters know effectively nothing about what the government does. Votes are not cast based upon facts. Most votes are cast according to either rote party identification or according to some impressionistic reasoning formed by some unpredictable pastiche of pieces of true and false information that add up to an image in the voter’s mind that bears the same resemblance to objective reality that a Picasso cubist portrait bears to a biology textbook.”
It is the same in most countries. Even in the direct-democracy capital of the world (Switzerland), we have the right to vote directly on issues but most people are under- or mis-informed about the consequences. There are wildly unhelpful flyers plastered across the country when an initiative is especially important to a larger and more powerful group with a lobbying are and/or influence in a major party.
This is a fantastic and wide-ranging interview by Briahna. Hedges is at his morose and realistic best.
Near the end, they discuss the possibility of Hedges going on Rogan to teach him about Gramsci. I, for one, would absolutely watch the hell out of Chris Hedges on Joe Rogan. Joe would take a week off just to think about what had just happened.
Imagine Hedges bringing his message to Rogan’s audience. I really wonder what that would look like in terms of viewer numbers. Would the same people tune in or would they tune out?
They include a long clip of Noam Chomsky’s famous interview by Andrew Marr at 01:02:00 from 1996. I hadn’t seen the full clip in a long time. I pulled a bit of the transcript from Transcript of interview between Noam Chomsky and Andrew Marr (Feb. 14, 1996) in 2015 (scratchindog pisses on a tree) and the original video is linked below (30mins).
“Marr: “This is what I don’t get, because it suggests that − I mean I’m a journalist − people like me are self-censoring.”
“Chomsky: “No, not self-censoring. You’re, there’s a filtering system, that starts in kindergarten, and goes all the way through, and it’s not going to work 100% but it’s pretty effective. It selects for obedience, and subordination, and especially I think… [Marr: So stroppy people won’t make it to positions of influence] There’ll be behavioural problems. If you read applications to a graduate school you’ll see that people will tell you, he’s not, he doesn’t get along too well with his colleagues, you know how to interpret those things.”
“Marr: “I’m just interested in this because I was brought up like a lot of people, probably post-Watergate film and so on to believe that journalism was a crusading craft and there were a lot of disputatious, stroppy, difficult people in journalism, and I have to say, I think I know some of them.”
“Chomsky: “Well, I know some of the best, and best known investigative reporters in the United States, I won’t mention names, {inaudible}, whose attitude towards the media is much more cynical than mine. In fact, they regard the media as a sham. And they know, and they consciously talk about how they try to play it like a violin. If they see a little opening, they’ll try to squeeze something in that ordinarily wouldn’t make it through. And it’s perfectly true that the majority − I’m sure you’re speaking for the majority of journalists who are trained, have it driven into their heads, that this is a crusading profession, adversarial, we stand up against power. A very self-serving view. On the other hand, in my opinion, I hate to make a value judgement but, the better journalists and in fact the ones who are often regarded as the best journalists have quite a different picture. And I think a very realistic one.”
“Marr: “How can you know that I’m self-censoring? How can you know that journalists are..”
“Chomsky: “I’m not saying you’re self censoring. I’m sure you believe everything you’re saying. But what I’m saying is that if you believe something different, you wouldn’t be sitting where you’re sitting.”
“Marr: “We have a press, which has, seems to me, has a relatively wide range of views… There is a pretty small ‘c’ conservative majority, but there are left wing papers, there are liberal papers and there is a pretty large offering of views running from the far right to the far left for those who want them. I don’t see how a propaganda model can…”
“Chomsky: “That’s not quite true. I mean there have been good studies of the British press and you can look at them, by James Curran3 is the major one, which points out that up until the 1960s there was indeed a kind of a social democratic press which sort of represented much of the interests of working people and ordinary people and so on, and it was very successful. I mean in the Daily Herald, for example, had not only more… it had far higher circulation than other newspapers, but also a dedicated circulation, furthermore the tabloids at that time, The Mirror and The Sun, were kind of labor based. That, by the 60s, that was all gone. And it disappeared under the pressure of capital resources. What was left was overwhelmingly the sort of center-to-right press, with some dissidents, it’s true.”
“Mann: “I mean, we’ve got, I’d say a couple of large circulation newspapers which are left-of-center. Which are, which are, you know putting in neo-Keynesian views which the, you call the elites, are strongly hostile to.”
“Chomsky: “It’s interesting that you call neo-Keynesian left-of-center, I would just call it straight and center. The… I mean left-of-center is a value term. [Marr: sure] But there’s, there’s… there are extremely good journalists in England. A number of them write very honestly, and very good material, a lot of what they write couldn’t appear here. On the other hand, if you look at the question overall I don’t think you are going to find a big difference. And the few, there aren’t many studies of the British press, but the few that there are have found pretty much the same results and I think the better journalists will tell you that. In fact, we, what you have to do is check it out in cases. Let’s take what I just mentioned, the Vietnam War. The British press did not have the kind of stake in the Vietnam War that the American press did, because they weren’t fighting, but just check sometime and find how many times you can find the American war in Vietnam described as a US attack against South Vietnam, beginning clearly with outright aggression in 1961 and escalating to massive aggression in 65. If you can find .001% of the coverage saying that you’ll surprise me. And in a free press a 100% of it would have being saying that. Now that is just a matter of fact, it has nothing to do with left and right.””
Roaming Charges: Trump’s Cabinet of Curiosities by Jeffrey St. Clair (CounterPunch)
For all those complaining about how large the Department of Health and Human Services is (the one that RFK will supposedly be in charge of): it’s tiny, compared to the top 3, which comprise 64% of the personnel: Defense, Veterans Affairs, and Homeland Security (which is also the newest addition and has soared up to the top three already).
The Department of Justice has 5%, comprising the DEA, ATF, and the FBI, among many others. ICE is part of Homeland Security.
“Ilham Aliyev, president of Azerbaijan, which is hosting the latest global climate conference (CO29), called reports of his country’s soaring carbon emissions “fake news” and said that nations should not be blamed for developing and using fossil fuels like coal, oil and natural gas, which Aliyev said were “God’s gifts.” At least Aliyev showed up, unlike some of the leaders of the world’s biggest emitters, including Biden, Macron and Modi.
“+ Mark this ignominious distinction down on the Biden-Harris legacy: Despite the lofty pledges by Western nations at COP28 last year, global carbon emissions have hit new highs, and there is no sign of a transition away from fossil fuels.
“+ According to a new study in Nature, the emissions from private flights by rich people increased by 46% between 2019 and 2023: 70% of these flights came from the US, and half were shorter than 500 kilometers–in other words, the Democrats’ new base…”
““Liberals had nine years to decipher Mr. Trump’s appeal — and they failed. The Democrats are a party of college graduates, as the whole world understands by now, of Ph. D.s and genius-grant winners and the best consultants money can buy. Mr. Trump is a con man straight out of Mark Twain; he will say anything, promise anything, do nothing. But his movement baffled the party of education and innovation. Their most brilliant minds couldn’t figure him out.”– Thomas Frank”
They are incapable of parsing him because, despite their education, they are stupid. They are blinkered beings, obsessed by their own self-adulation.
“The party of education and innovation”! Ha! That’s probably what they call themselves. They are the party of omphaloskepsis. Or perhaps it’s generous to say that the anatomical hole they’re interested in disappearing up is their navel.
Journalism & Media
Ding, Dong, the Cult is Dead! by Matt Tiabbi (Racket News)
“Yes, it’s a cult. The mass movement that continually renamed itself (appearing as #Resistance, antiracism, “prodemocracy,” etc) hits most all the classic definitions. It demonizes outsiders, rejects critical thought, encourages cutting off family and friends (never more than this week), demands adherence to bizarre/nontraditional beliefs, embraces lies in recruitment (cough cough Russiagate), worships secrecy, exaggerates sinfulness of old beliefs, and has an answer for everything. It lacks a charismatic leader. But the lodestar is Trump, cause of all bad things. It’s really an Anti-Trump cult, the perfect postmodern movement, where the animating emotion is panicked rejection of an anti-leader. A reason night after night of broadcasters of both sexes dressed in identical costumes of smart glasses and pompadour undercuts braying about Trump like Jonestown loons got little notice is because this thing so dominated the intellectual class, it swallowed up cult experts, who wrote about Trumpism as the cult.”
“Even those of us with few partisan inclinations could fall afoul just by hesitating before any of the movement’s gazillions of weird proclamations, from “being on time is racist” to “Beethoven is the patriarchy” to Facebook’s 58 gender options to God knows what else. I was banned about nine different times, initially for failing to embrace Trump’s Russian agent status. There was no way to stay out of it. You were either called an ally or, like Glenn Greenwald, you woke up to find your former boss telling The New Yorker you refused to accept Trump-Putin theories because you resented “the ascendance of women and people of color in the Party.” It’s hard to overstate how crazy and infuriating it all was.”
“Normally I’d say it’s bad to celebrate another’s feelings of helpless misery, but America for eight years has been in the grip of terrible moral panic led by these people, and it’s only by grace of God that they’re out of options and devouring one another.”
“It won’t be long before someone makes the point that Trump likely earned millions of votes from people who felt putting him in office was the only way to stop this giant accusation machine.”
“Giridharadas floated the concept of a “prodemocracy” or “feminist” Joe Rogan. There is nothing preventing the rise such a show. In fact, there are about a billion podcasts already out there that attempt something along these lines, and though they’re treated with great generosity by search engines, they do not get audience. Shockingly, the quantity of people who will pay money to watch low-budget versions of corporate messaging is limited, not that this basic fact will penetrate the minds currently pondering the problem.”
Labor
The role of the Biden administration in the Boeing sellout by Bryan Dyne (WSWS)
“[…] the contract is a major victory for Boeing and corporate America. The contract fell short of the workers’ actual wage demand of a 40 percent raise over three years, based of a decade in which wages stagnated in the face of 43 percent inflation since 2014. It also completely left out the restoration of defined-benefit pensions, which were stolen from workers in a conspiracy between Boeing and the IAM bureaucracy during the 2013-2014 contract extension talks.
“The real focus of the Biden administration has always been to ensure “Boeing’s future as a critical part of America’s aerospace sector,” by which Biden means the corporation’s role as the chief US exporter and major defense contractor. Boeing is a critical supplier of planes and bombs used in Israel’s US-backed genocide in Gaza and the US-NATO war against Russia in Ukraine.”
“The claim that there is no money for jobs, however, is completely false. During the Boeing strike, the company secured a $10 billion loan and sold more than $20 billion in assets to raise cash and prevent a credit downgrade to junk status during the strike. And, as one worker told the World Socialist Web Site, “they lost more money because of the strike than they would have if they just gave us the 40 percent raise immediately.””
Economy & Finance
“Why in the age of supercomputers and smart robotics do we need to work 60 hours a week just so we don’t starve and freeze to death?
Surely we’ve reached the point where any scarcity left is intentionally created by those hoarding all the wealth. How is this not the standard view?”
Booming US economy is a mirage by Nick Beams (WSWS)
“It is pointed out that the US growth rate is higher than its counterparts in Europe and Japan; the Chinese economy is slowing and the prospect of its GDP becoming larger than the US is receding; consumer spending remains “resilient;” the stock market continues to hit record highs as a tech boom takes hold; the official unemployment level is at an historic low; and the US has achieved a “soft landing” after experiencing the highest level of inflation in four decades.”
I’m surprised that Beams uses the non-PPP GDP values here.
“Sharma explained that “US growth was a mirage for most Americans,” driven by rising wealth and increased discretionary spending by the richest and “distorted by growing profits for the biggest corporations,” with growth “heavily dependent on borrowing and spending by the government.””
““In the corporate sphere, the 10 largest companies account for 36 percent of stock market cap (market capitalisation)—a peak since the data began in 1980. The most valuable US stock trades for 750 times more than any stock in the bottom quartile—up from just 200 times 10 years ago and the widest gap since the early 1930s.””
“The total debt, now at nearly $36 trillion, has risen by $17 trillion in the last decade, “matching in 10 years the increase in the previous 240 years—almost back to US independence.””
“As Sharma correctly pointed out, the worsening financial situation will, sooner rather than later, have major political implications. Whatever government emerges from the election, it will have the task of deepening to an unprecedented degree the attacks which have been carried out against the working class.”
“The tens of millions voting for Trump have done so not because they are supporters of fascism and authoritarian forms of rule—far from it. One of the chief factors is the long-developed hostility to the Democrats, heightened by the severe cuts in living standards in the four years of the Biden-Harris administration.”
It Was Always About Inflation by Doug Henwood (Jacobin)
“I often say that the Democrats’ political problem is that they’re a party of capital that has to pretend otherwise for electoral purposes. This time they hardly even pretended. Kamala Harris preferred campaigning with the inexplicably famous mogul Mark Cuban and the ghoulish Liz Cheney to Shawn Fain, who led the United Auto Workers to the greatest strike victory in decades. Those associations telegraphed both her policy instincts and her demographic targeting: Silicon Valley and upscale suburbs.”
“What mattered most in both that Gallup poll and in the exit polls was “the economy,” by which most people meant inflation, a topic the Democrats evaded for three years.
“More than one in five voters, 22%, said inflation had caused them “severe hardship” over the last year; they went for Trump by 50 points. More than half, 53%, said inflation had caused them “moderate hardship”; they went for Trump by 6 points. A lucky quarter, 24% to be precise, said it caused them no hardship at all; they went for Harris by 57 points.”
“Answers to Ronald Reagan’s classic question from 1980, “Are you better off than you were four years ago?” were bad news for Harris. A quarter, 24%, said they were, and they went for Harris by 68 points. But almost twice as many, 46%, said they weren’t — and they went for Trump by 64 points, accounting for almost three-quarters of his votes.”
Elite US Economist Warns: Dollar System Is Weakening as Gold BRICS Rise by Ben Norton (Scheer Post)
“There is simply less demand for a growing number of US Treasuries (even though investors in Europe, the UK, Canada, Taiwan, and India are helping Washington try to keep yields manageable).
“At some point, Washington will have to decide which is more important: keeping consumer price inflation low, or keeping Treasury yields low. Following the Fed’s rate hikes of 2022-2023, US interest payments on federal debt exceeded the gargantuan military budget.”
Environment & Climate Change
Scientists Were Wrong: Plants Absorb 31% More CO2 Than Previously Thought by Oak Ridge National Laboratory (Sci-Tech Daily)
“Figuring out how much CO2 plants fix each year is a conundrum that scientists have been working on for a while,” Gu said. “The original estimate of 120 petagrams per year was established in the 1980s, and it stuck as we tried to figure out a new approach. It’s important that we get a good handle on global GPP since that initial land carbon uptake affects the rest of our representations of Earth’s carbon cycle.”
Art & Literature
The Language Burrow by Justin Smith Ruiu (Hinternet)
My penchant is also to read rather than listen. I took the advice at the top, though, and listened this time. It’s quite an interesting ride. As usual with the Hinternet, the payoff rewards the patient listener. There are subtle hints along the way, at first just slight slips (that lone “1” or those awkward emphases if you follow along in the text), then slight distortion creeping in that can almost be dismissed, until the coda crashes in quite satisfyingly. Highly recommended.
Texture-less Text Rendering by Tim Gfrerer (Ponies and Light)
This article is fascinating in its own right, as it deals with integer-bitmap-optimized font encodings for real-time displays. It also linked to Why is it called upper and lower case? by Ada McVean B.Sc. (McGill: Office for Science and Society), which writes,
“It’s actually a remnant of a past where printing presses had manually set letters. Small letters, which were used the majority of the time, were kept in the lower, easier to access case. Where as large letters were kept in the upper. Also interesting to note is that capitalization belongs to the script, not the language. So all languages using Latin script, like English, have upper and lower case, but languages using Devangari, such as Hindi or Sanskrit do not.”
Philosophy, Sociology, & Culture
Both can’t and absolutely can believe Mike Tyson answered a young girl’s question this way (Reddit)
“I don’t know. I don’t believe in the word “legacy.” I just think that’s another word for ego.
“Legacy doesn’t mean nothing. That’s just some word everybody grabbed onto. Someone said that word, and everyone grabbed on the word, so now it’s used every 5 seconds.
“It means absolutely nothing to me. I’m just passing through. I’m going to die, and it’s going to be over. Who cares about a legacy after that?
“What a big ego. So I’m going to die, and I want people to think that I’m great?
“No, we’re nothing, we’re dead, we’re dust, we’re absolutely nothing. Our legacy is nothing.”
Don’t Include Me in Any Prisoner Exchange by Boris Kagarlitsky (CounterPunch)
“I have stated several times, and I repeat now, that I do not wish to participate in such exchanges and ask not to be included in these lists. I see no purpose or benefit for myself in emigration. If I had wanted to leave the country, I would have done so myself. But I am not planning to leave my homeland, and if it means I must sit in prison to remain here, then I will sit in prison. After all, for a left-wing politician or a social scientist in Russia, imprisonment is a normal professional risk, one that must be accepted when choosing this path—just as it is for a firefighter or emergency worker. It’s simply part of the job, which I have done and will continue to try to do conscientiously.”
“[…] whatever choice we make, we must never forget that our goal is freedom and rights for everyone. Not only for those behind bars but also for those facing any other forms of oppression in Russia and around the world.”
Technology
Salt Batteries are the Future of Safe, Sustainable Energy Storage Salt Batteries are the Future of Safe, Sustainable Energy Storage by Anthony Davis (Highways Today)
“The story of salt battery innovation took a major leap in 2016 when Ticino-based manufacturer HORIEN Salt Battery Solutions (previously FZSoNick) partnered with Swiss research institute Empa. With funding from Switzerland’s Innosuisse and later the Swiss Federal Office of Energy (SFOE), they embarked on an ambitious mission: refining the salt battery’s ceramic electrolyte for greater stability, efficiency, and cost-effectiveness.”
“Yet, thanks to their unique chemistry, salt batteries can be surprisingly cost-effective in the right setup. The heat generated during charging and discharging often helps maintain temperature, reducing the need for external heating in larger battery arrays. “Depending on the application, it’s more efficient to keep a battery warm than to cool it,” says Heinz. Empa researcher Enea Svaluto-Ferro adds, “In an optimal system, a large battery can heat itself.””
“Their hope? One day, salt batteries could provide reliable, long-lasting power not just to cell towers and critical infrastructure but also to entire neighbourhoods. Imagine salt batteries as a common solution in urban and rural power grids, offering safe, resilient, and sustainable power.”
What the hell is Apple doing? Apple Music can no longer search on MacOS Sonoma while Apple TV is giant hot mess.
It can barely remember which episode of a show I’m on, to say nothing of where in the show I was. There is no way to tell it to not go to the next episode except to stay alert and click to tell it to stay on the credits, so you can fucking relax and digest the episode you’ve just watched because you were interested in it and it wasn’t just content to keep your eyeballs busy until you fall asleep.
What the f@&k is wrong with people? This is madness. I just finished episode three of Shrinking and the only indication I had that there were no more episodes to play at the moment is that, three seconds after the credits started playing, Apple TV just started playing a completely different f@&king show that isn’t even in my playlist. This is ridiculous.
If there were an unsubscribe button, I would have smashed it right there. Also, stop playing trailers for other shows instead of playing the episode I’d selected. What the f@&k is that? I’m paying for this service. Stop trying to get me to watch it more? What’s the point? I’m already subscribed.
Review: Amazon’s 2024 Kindle Paperwhite makes the best e-reader a little better (Ars Technica)
“I don’t want to oversell how fast the new Kindle is, because it’s still not like an E-Ink screen can really compete with an LCD or OLED panel for smoothness of animations or UI responsiveness. But even compared to the 2021 Paperwhite, tapping buttons, opening menus, opening books, and turning pages feels considerably snappier—not quite instantaneous, but without the unexplained pauses and hesitation that longtime Kindle owners will be accustomed to. For those who type out notes in their books, even the onscreen keyboard feels fluid and responsive.”
“Compared to the 2018 Paperwhite (again, the first waterproofed model, and the last one with a 6-inch screen and micro USB port), the difference is night and day. While it still feels basically fine for reading books, I find that the older Kindle can sometimes pause for so long when opening menus or switching between things that I wonder if it’s still working or whether it’s totally locked up and frozen.”
“If you’re using pretty much any Kindle other than the 2021 Kindle Paperwhite, this new version is going to feel like a huge improvement over whatever you’re currently using (unless you’re a physical button holdout, but for better or worse that decision has clearly been made). The 7-inch screen is a lot bigger than whatever you’re using, the warm light is easier on the eyes, the optional auto-brightness sensor and wireless charging capability are nice-to-haves if you want to pay more for the Signature Edition. And all of that frustrating Kindle slowdown is just gone, thanks to a considerably faster processor.”
I’m including these notes because I have a 10th-generation 2018 Kindle Paperwhite that is a central part of my information-firehose. I take a lot of notes on it and wouldn’t be mad if that were faster. Unlike many people, I can live with a lot of stuff like somewhat slower typing. Still, if my device starts to slide into the great beyond, it’s nice to know that there’s a great 1-1 replacement for it. I don’t feel like trying to figure out how to deliver Instapaper to a different device. I don’t feel like learning that the notes database on another device isn’t in an easily accessible and parseable format. I’ve got my workflow set up—and it includes a device from Amazon. I’m not happy about it but I am resigned to it.
“ If you just want to read a book, the Paperwhite is still the best way to do it.”
Programming
Pagination widows, or, Why I’m embarrassed about my ebook by Richard Rutter (Clagnut)
“Paged media is very much a forgotten aspect, and it’s probably true that web pages are rarely printed in the grand scheme of things, however ebooks are definitely a popular form of paged media and deserve attention. I’d certainly like to read ebooks without failed typographic fundamentals.”
A More Perfect Union by Cliff Biffle (Cliffle)
“Let me be very clear about something: This change would also work just fine in C, and is in fact how I would have written the C code in the first place. Unions are a more specific and explicit way of treating memory as two different types, and are much harder to mess up than arbitrary pointer arithmetic and casting. Rust further nudges us toward the union approach by making it easier to type and wrap in a safe API.”
“Removing thestatic mut
arrays inside advance reduced the bss RAM usage, which makes sense, as bss measures permanently dedicated (static
) sections of RAM. This isn’t a real reduction in RAM usage, because the arrays are simply moved to the stack, which isn’t accounted for here.”
“Why are locals more costly thanstatic
s if we’re not paying to initialize them? It appears to come down to code density and addressing modes on x86-64. Because the address of a static is known during build (at link time),rustc
can emit instructions that directly reference it with embedded absolute addresses. With a local, we have to compute its address on the stack (using the%sp
register) to reference it. The latter approach appears to produce less-dense code in this case.”
Let The Compiler Do The Work by Cliff Biffle (Cliffle)
“I’ve made use of a common Rust pattern, which is to split the array into two non-overlapping sections […], the sun on one side, and all the planets on the other. (This is another example of an operation that uses unsafe under the hood , but presents an API that we can’t misuse from safe code.) Now I can mutate the sun freely even while iterating over the planets. Using iterators like this is a great way of avoiding bounds checks, by not requesting them in the first place — the iterator is by definition restricted to valid bounds.”
“This time, I’m using the “freeze” pattern to update a mutable array in-place within the block, but then assign it to a non-mut
binding, preventing accidental further mutation. This array is small enough thatrustc
does the right thing. (I didn’t do this forposition_deltas
because doing so generated a call tomemcpy
. This is likely to be a compiler bug, and illustrates why benchmarking your programs is important.)”
“rustc
is quite aggressive about auto-vectorizing programs, which is one reason why it’s important to settarget-cpu
to something reasonable. By default, it assumes a very generic processor — which ensures that your binaries will run on your friend’s computer, but may leave some performance on the table by not taking advantage of recent processor features.”
“The simpler auto-vectorized program is significantly faster than the hand-optimized version. For each simulation step performed by the original program compiled bygcc
, theclang
version can do 1.2 steps, and the new one can do 1.6.”
“Our new program is much simpler and clearer than the original C program. It expresses the algorithm in a straightforward way, which can be read and understood without knowing anything about SIMD instruction sets. The program uses nounsafe
of any kind, so we know without thinking very much that it’s not going to crash, violate memory safety, or introduce security flaws like stack smash opportunities. The program is entirely portable. There’s no Intel-specific stuff in it, and in fact, no 64-bit-specific stuff. It compiles and runs fine on x86, x86-64, and 32 and 64 bit ARM, among others.”
C# works like this too. Lots of auto vectorization. No-one has to know about it at all. This isn’t to say that C# apps are as highly optimized as Rust programs—they really couldn’t possibly be, except perhaps for the simplest algorithms where you can guarantee that the GC won’t get involved.
Tutorial — Trio 0.27.0 documentation
“[…] from Trio’s point of view, the problem with the GIL isn’t that it restricts parallelism. Of course it would be nice if Python had better options for taking advantage of multiple cores, but that’s an extremely difficult problem to solve, and in the meantime there are lots of problems where a single core is totally adequate – or where if it isn’t, then process-level or machine-level parallelism works fine. No, the problem with the GIL is that it’s a lousy deal : we give up on using multiple cores, and in exchange we get… almost all the same challenges and mind-bending bugs that come with real parallel programming, and – to add insult to injury – pretty poor scalability . Threads in Python just aren’t that appealing.”
“Trio can run 10,000+ tasks simultaneously without breaking a sweat, so long as their total CPU demands don’t exceed what a single core can provide. (This is common in, for example, network servers that have lots of clients connected, but only a few active at any given time.)”
“[…] most threading systems are implemented in C and restricted to whatever features the operating system provides. In Trio our logic is all in Python, which makes it possible to implement powerful and ergonomic features like Trio’s cancellation system.”
I honestly sometimes wonder if these designers even look at other languages or runtimes. The cancellation system seemed pretty similar to the one in .NET, more or less.
“There is one downside that’s important to keep in mind, though. Making checkpoints explicit gives you more control over how your tasks can be interleaved – but with great power comes great responsibility. With threads, the runtime environment is responsible for making sure that each thread gets its fair share of running time. With Trio, if some task runs off and does stuff for seconds on end without executing a checkpoint, then… all your other tasks will just have to wait.”
Congratulations. You’ve reinvented cooperative multi-tasking but call it structured parallelism. Mac Os 9 and windows 3.1 are waving at you through the window.
“One of the major reasons why Trio has such a rich [logging] is to make it possible to write debugging tools to catch issues like this.”
Python also have seems to have no extensible linting or analyzer concept, otherwise they’d have made one for this purpose instead of making you read through logs.
“Trio gives you powerful tools to manage sequential and concurrent execution. In this example we saw that the server needs send and receive_some to alternate in sequence, while the client needs them to run concurrently, and both were straightforward to implement. But when you’re implementing network code like this then it’s important to think carefully about flow control and buffering, because it’s up to you to choose the right execution mode!”
“Coroutines can be thought of as light-weight threads, but there is a number of important differences that make their real-life usage very different from threads.”
This sounds a bit like Windows fibers.
“Structured concurrency ensures that they are not lost and do not leak. An outer scope cannot complete until all its children coroutines complete. Structured concurrency also ensures that any errors in the code are properly reported and are never lost.”
“Coroutines are less resource-intensive than JVM threads. Code that exhausts the JVM’s available memory when using threads can be expressed using coroutines without hitting resource limits.”
Concurrency (Swift Documentation)
“The concurrency model in Swift is built on top of threads, but you don’t interact with them directly. An asynchronous function in Swift can give up the thread that it’s running on, which lets another asynchronous function run on that thread while the first function is blocked. When an asynchronous function resumes, Swift doesn’t make any guarantee about which thread that function will run on.”
Like dotnet.
“When adding concurrent code to an existing project, work from the top down. Specifically, start by converting the top-most layer of code to use concurrency, and then start converting the functions and methods that it calls, working through the project’s architecture one layer at a time. There’s no way to take a bottom-up approach, because synchronous code can’t ever call asynchronous code.”
“To call an asynchronous function and let it run in parallel with code around it, writeasync
in front of let when you define a constant, and then writeawait
each time you use the constant.”async let firstPhoto = downloadPhoto(named: photoNames[0]) async let secondPhoto = downloadPhoto(named: photoNames[1]) async let thirdPhoto = downloadPhoto(named: photoNames[2]) let photos = await [firstPhoto, secondPhoto, thirdPhoto] show(photos)
That is a pretty elegant way of writing Task.WaitAll()
.
“Tasks are arranged in a hierarchy. Each task in a given task group has the same parent task, and each task can have child tasks. Because of the explicit relationship between tasks and task groups, this approach is called structured concurrency. The explicit parent-child relationships between tasks has several advantages: In a parent task, you can’t forget to wait for its child tasks to complete. When setting a higher priority on a child task, the parent task’s priority is automatically escalated. When a parent task is canceled, each of its child tasks is also automatically canceled. Task-local values propagate to child tasks efficiently and automatically.”
“To create an unstructured task that runs on the currentactor
, call theTask.init(priority: operation:)
initializer. To create an unstructured task that’s not part of the current actor, known more specifically as a detached task, call theTask.detached(priority: operation:)
class method. Both of these operations return a task that you can interact with — for example, to wait for its result or to cancel it.”
“Accessing logger .max without writing await fails because the properties of an actor are part of that actor’s isolated local state. The code to access this property needs to run as part of theactor
, which is an asynchronous operation and requires writing await. Swift guarantees that only code running on an actor can access that actor’s local state. This guarantee is known as actor isolation.”
“Inside of a task or an instance of anactor
, the part of a program that contains mutable state, like variables and properties, is called a concurrency domain. Some kinds of data can’t be shared between concurrency domains, because that data contains mutable state, but it doesn’t protect against overlapping access. A type that can be shared from one concurrency domain to another is known as a sendable type. For example, it can be passed as an argument when calling an actor method or be returned as the result of a task. The examples earlier in this chapter didn’t discuss sendability because those examples use simple value types that are always safe to share for the data being passed between concurrency domains. In contrast, some types aren’t safe to pass across concurrency domains. For example, a class that contains mutable properties and doesn’t serialize access to those properties can produce unpredictable and incorrect results when you pass instances of that class between different tasks.”
The jujutsu tool appears to be a good layer on top of the Git command-line tools. However, the justification for it is the same as for using a GUI tool. Something like SmartGit makes things just as easy as jujutsu, but I’d keep the tool in mind for those who use the command-line a lot.
Another great tool for the command-line that I’ve recently read about is Dandavision Delta. It provides syntax- and merge-highlighting in the console for not only git diff
and merge
output but also for grep
.
I can’t wrap my head around MVVM (Reddit)
tl;dr: Use the MVVM Toolkit and try JetBrains ReSharper or Rider for more IDE assistance for binding and fixing up views.
It’s kind of unclear whether you’re asking about MVVM as a concept, or about the mechanics of binding in XAML-based applications.
The concept is that:
- the (M)odel describes your data in the shape you want to store it, process it, etc.
- a (V) describes the elements of the UI.
- a (V)iew(M)odel mediates between these two “shapes”.
Why do we need this? Why not just bind the view directly to the model?
Consider a simple person:
record Person(
string FirstName,
string LastName,
Company Company,
DateTime BirthDate);
The view model might be:
int Age => DateTime.Now.Year − _model.BirthDate.Year;
string FullName => $"{_model.FirstName} {_model.LastName}";
Company Company { get; }
IReadOnlyList<Company> AvailableCompanies { get; }
The AvailableCompanies
is for the drop-down menu.
So that’s why there are two models. We don’t want to pollute the data model with view-specific properties. Each view gets its own view model and you can have multiple views/viewModels on the same model. Nice.
The *mechanics* of binding the view to an object has nothing to do with MVVM. It’s *binding*, which is done by magic. This magic is made a lot easier if you use the MVVM Toolkit. The latest versions use source generators so you can actually *see* the magic binding code (in separate source-generated files).
I would also try JetBrains ReSharper or Rider because either of those tools provides a lot more code-completion, hints, warnings, and fixup assistance than a bare Visual Studio does.
The original code is the laughably overblown example below.
public List<int> ProcessData(List<int> data)
{
if (data != null)
{
if (data.Count > 0)
{
var processedData = new List<int>();
foreach (var d in data)
{
processedData.Add(d * 2);
}
return processedData;
}
else
{
return new List<int>();
}
}
else
{
return null;
}
}
Nick rewrote it as the following:
List<int> ProcessData(List<int>? data)
{
if (data is not { Count > 0 })
{
return []:
}
return data.Select(d => d * 2). ToList();
}
Nick’s is OK, but I don’t understand why he bothers to check for Count > 0
when Select()
already short-circuits on this case.
@DmitryKandiner rewrote it as the following:
List<int> ProcessData(List<int>? data) => data?.Select(d => d * 2).ToList() ?? [];
This is really short and avoids the unnecessary length-check but it still deals with nullable code, which is silly. There is no need for this function to handle possibly null
input data.
I commented the following:
We can also drop the null-check if we have nullability enabled (which any modern project should). Also, I prefer defining APIs with enumerables rather than lists, but if the design insists, I would do it with two methods. This gives callers the option of building lists.
private List<int> ProcessList(List<int> data)
{
return ProcessSequence(data).ToList();
}
private IEnumerable<int> ProcessSequence(IEnumerable<int> data)
{
return data.Select(d => d * 2);
}
To which @swozzares replied that I could eliminate the return
by using =>
(called an “expression body”). So I updated the sample with:
private List<int> ProcessList(List<int> data) => ProcessSequence(data).ToList();
private IEnumerable<int> ProcessSequence(IEnumerable<int> data) => data.Select(d => d * 2);
And I might as well include the test:
[Test]
public void TestProcessSequence()
{
List<int> input = [1, 2, 3, 4, 5];
List<int> expected = [2, 4, 6, 8, 10];
Assert.That(ProcessList(input), Is.EqualTo(expected));
Assert.That(ProcessSequence(input), Is.EqualTo(expected));
}
Sports
Trump Puts An Appropriately Ugly Face On A Very Ugly Empire by Caitlin Johnstone (Notes From The Edge Of The Narrative Matrix)
“In the face of all this evidence of atrocious behavior by Israeli soccer fans, The New York Times ran a story with the headline “Antisemitic Attacks Prompt Emergency Flights for Israeli Soccer Fans”. The Wall Street Journal ran with “Antisemitic Attacks in Amsterdam Prompt Tight Security at Jewish Sites”. “Pogroms have returned to Europe, and the ‘anti-racist’ Left are silent,” says The Telegraph.
“Meanwhile the Daily Mail sports section ran with a headline more in line with what people actually saw: “Israeli football hooligans tear down Palestine flags in Amsterdam as taxi drivers ‘fight back’ in night of chaos ahead of Maccabi Tel Aviv’s visit to Ajax”.
“Leaders of western nations like the US, UK, Canada and France joined the Dutch king in framing these soccer brawls and hooliganism as a historic mass-scale hate crime against Jews, while Israeli officials have been melodramatically shrieking like their hair is on fire.
“These exhausting victim-LARPing freaks. Stop playing sports with Israel. Stop holding sporting events which could lead to the deranged members of a genocidal apartheid state showing up in your community stirring up violence and hate so they can cry victim and say you holocausted them.”
“[…] blaming ordinary Jews in your society for the actions of the state of Israel makes about as much sense as blaming ordinary Muslims for the actions of the Saudi royals”