Shared posts

17 Mar 01:34

Wing It

Tom Roche

EXCELLENT, very amusing

Cariad Lloyd, Steen Raskopoulos, Luke Manning, and Emily Lloyd-Saini embark on a new series of improv mayhem. Host Alasdair Beckett-King presides over a series of games full of emotional butchers, a three-headed movie director, and the inner monologue of a spider trapped in the bath.

"No Script. No Prep. No Clue."

To hear more episode from this series, search "Wing It" on BBC Sounds.

Presented by Alasdair Beckett-King

Devised and produced by Sam Holmes

Executive Producer: James Robinson Production Co-ordinator: Katie Baum Additional material: Ruth Husko Sound Editor: Chris Maclean

A BBC Studios Production for Radio 4

16 Mar 15:55

Slop glop and 2 smoking barrels (feat. Kat)

Tom Roche

5 min teaser only

15 Mar 19:12

CNN's Jake Tapper Invited an Israeli to Explain that Iranians Love the War: Classic Neocon Tactic

Tom Roche

EXCELLENT

15 Mar 05:01

Radio War Nerd EP 589 — Hezbollah Rising, feat. Cyrus

by mail@yashalevine.com (Gary Brecher)
Tom Roche

EXCELLENT: detailed, informative

Co-hosts John Dolan & Mark Ames
15 Mar 00:35

Special - Geopolitics, the Military, and the War in Iran w/ Spencer Ackerman (Special)

Danny and Derek speak with Spencer Ackerman, writer of ⁠Forever Wars⁠ newsletter and author of ⁠Reign of Terror: How the 9/11 Era Destabilized America⁠ about the war in Iran, how it emerges from recent history, its military aspects, and much more.

Learn more about your ad choices. Visit megaphone.fm/adchoices

13 Mar 23:57

The Naked Week: Ep1. War, Law, and Operation Amol Rajan.

Tom Roche

NW series#=4 off to an amusing start, esp regarding "contempt of court" (which it seems has a quite different meaning in the UK vs the US)

The Naked Week team dive into war, flout the law and enjoy a real life Town Crier performing selected highlights from Amol Rajan's Instagram feed.

From The Skewer’s Jon Holmes and host Andrew Hunter Murray comes The Naked Week, a fresh way of dressing the week’s news in the altogether and parading it around for everyone to laugh at.

With award-winning writers and a crack team of contemporary satirists - and recorded in front of a live audience - The Naked Week delivers an topical news-nude straight to your ears.

Written by: Jon Holmes Katie Sayer Gareth Ceredig James Kettle Jason Hazeley

Additional Material: Karl Minns Ali Panting Helen Brooks Pete Redfern Cooper Mawhinny Sweryt Joe Topping

Investigations Team: Cat Neilan Emily Channon

Guests: Rachel Parris, Mark Stephens CBE, Alan Myatt.

Production Team: Tony Churnside, Jerry Peal, David Riffkin.

Production Coordinator: Molly Punshon Assistant Producer: Katie Sayer Executive Producer: Philip Abrams

Produced and Directed by Jon Holmes

An unusual production for BBC Radio 4

12 Mar 05:36

Radio War Nerd EP 588 — Iran War Update, Day 11

by mail@yashalevine.com (Gary Brecher)
Tom Roche

EXCELLENT. Note that, in addition to statusing the 2ZIW (2nd Zionist-Iran War) as advertised, the Nerds also do some RUW status toward end-of-audio

Co-hosts John Dolan & Mark Ames
10 Mar 20:26

James Endres Howell: Replacing Cinnamon with GNOME on Linux Mint Debian Edition

by James Endres Howell
Tom Roche

pullquote (unedited):
> I was surprised that I could remove all of the cinnamon* and mint* packages from LMDE without breaking anything. And then to get what appears to be a nice stock Debian/GNOME environment, with the benefits of Linux Mint.

2026 Mar 10

I loyally enjoy running Debian Stable. I am with less enthusiasm accustomed to GNOME, after years of habit and customizations on which I have come to rely. But Debian has some disadvantages: for me, it was that (apparently) GRUB was not always configured correctly after installation to a random laptop. Meanwhile Linux Mint (inlcuding LMDE) installs are always solid. And I am too thick to troubleshoot GRUB. I found that I can have the best of both worlds.

Linux Mint is a popular and highly-recommended Linux distribution based on Ubuntu. I avoid Ubuntu, although Linux Mint overcomes many of my objections (by removing snaps and other Canonical transgressions). But there is also a Linux Mint Debian Edition (LMDE) in which Linux Mint user affordances, including its Cinnamon desktop environment, are built atop Debian instead. (For the record, I install Linux Mint on machines that I give to people who want to try Linux. Everything just works, reliably, and Cinnamon is a great entry point for Windows refugees, with a nice familiar look and feel.)

To my surprise, it turns out that it is possible to completely remove Cinnamon and its dependencies from LMDE and replace it with GNOME. The resulting experience is very similar to a Debian GNOME install, with the following differences (that I take to be advantages):

  • a new install boots on more of the machines I have lying around
  • the repositories curated by the Ubuntu and Linux Mint folks have newer versions (e.g. of GNOME and Emacs) than the Debian Stable repositories.

Install and update

Start with a fresh install of Linux Mint Debian Edition (LMDE 7 “Gigi”) based on Debian 13 “Trixie.”

Open a terminal and bring everything up to date. This could take awhile, but it cannot be skipped (I checked). I didn’t bother to try to determine which dependencies are important.

apt update
apt upgrade
reboot

Install GNOME with tasksel.

The most reliable way to install GNOME is via tasksel.

sudo apt install tasksel
sudo tasksel

From the tasksel menu:

Choose software to install:

   [*] Debian desktop environment
   [*] ... GNOME
   [ ] ... Xfce
   [ ] ... GNOME Flashback
   [ ] ... KDE Plasma
   [ ] ... Cinnamon
   [ ] ... MATE
   [ ] ... LXDE
   [ ] ... LXQt

select both Debian desktop environment and GNOME.

Another menu will appear for choosing a “display” (login) manager. I prefer gdm3 because it follows GNOME customization settings.

Default display manager:

         gdm3
         lightdm

Reboot again. Note that login is now via gdm3 and that your default login is now into GNOME.

Remove Cinnamon packages

You certainly could stop here and keep Cinnamon installed. You could also leave all the Linux Mint default Cinnamon apps installed. But I don’t want any of this stuff. The mint* packages are cosmetic user-interface stuff that customizes Cinnamon.

sudo apt autoremove --purge cinnamon* mint*

After that last step, log out and log in again. Note: some icons might be missing in e.g. Nautilus windows; use GNOME Tweaks (sudo apt install gnome-tweaks) Appearance → Styles → Icons → Adwaita (default) to restore the GNOME defaults.

I was surprised that I could remove all of the cinnamon* and mint* packages from LMDE without breaking anything. And then to get what appears to be a nice stock Debian/GNOME environment, with the benefits of Linux Mint.

10 Mar 20:23

1017 - Mogging in Agharta feat. Will Sommer (3/9/26)

Tom Roche

US rightwing politics: excellently amusing

Will Sommer returns to the show to talk more about the Iran War, this time through the lens of a rapidly fragmenting Republican elite. We discuss the war between the Israel skeptics like Tucker Carlson and the hawks like Mark Levine, and how this ties into a hijacked shipment of nicotine pouches and the transvestigation of Laura Loomer. We also talk about Candace Owens’ docuseries on Erika Kirk, another leaked racist groupchat, and the emerging multiracial coalition of White Supremacy. Follow Will Sommer on Twitter/X: https://x.com/willsommer And check out his newsletter False Flag: https://www.thebulwark.com/s/false-flag
09 Mar 15:55

You Live in Gorton and Denton, aren't you scared? (feat. Hussein Kesvani)

Tom Roche

EXCELLENT analysis plus amusing bant

Nick and Ciarán speak with Hussein of 10k Posts and Trashfuture about the state of British politics, the internet's role in all this and of course, knowing who protects you.

FIND HUSSEIN ELSEWHERE
https://www.instagram.com/10kpostspodcast/
https://trashfuture.co.uk/

09 Mar 01:30

Emacs Redux: Customizing Font-Lock in the Age of Tree-sitter

by Emacs Redux
Tom Roche

EXCELLENT detailed summary

I recently wrote about building major modes with Tree-sitter over on batsov.com, covering the mode author’s perspective. But what about the user’s perspective? If you’re using a Tree-sitter-powered major mode, how do you actually customize the highlighting?

This is another article in a recent streak inspired by my work on neocaml, clojure-ts-mode, and asciidoc-mode. Building three Tree-sitter modes across very different languages has given me a good feel for both sides of the font-lock equation – and I keep running into users who are puzzled by how different the new system is from the old regex-based world.

This post covers what changed, what you can control, and how to make Tree-sitter font-lock work exactly the way you want.

The Old World: Regex Font-Lock

Traditional font-lock in Emacs actually has two phases. First, syntactic fontification handles comments and strings using the buffer’s syntax table and parse-partial-sexp (implemented in C) – this isn’t regexp-based at all. Second, keyword fontification runs the regexps in font-lock-keywords against the buffer text to highlight everything else: language keywords, types, function names, and so on. When people talk about “regex font-lock,” they usually mean this second phase, which is where most of the mode-specific highlighting lives and where most of the customization happens.

If you wanted to customize it, you’d manipulate font-lock-keywords directly:

;; Add a custom highlighting rule in the old world
(font-lock-add-keywords 'emacs-lisp-mode
  '(("\\<\\(FIXME\\|TODO\\)\\>" 1 'font-lock-warning-face prepend)))

The downsides are well-known: regexps can’t understand nesting, they break on multi-line constructs, and getting them right for a real programming language is a never-ending battle of edge cases.

The New World: Tree-sitter Font-Lock

Tree-sitter font-lock is fundamentally different. Instead of matching text with regexps, it queries the syntax tree. A major mode defines treesit-font-lock-settings – a list of Tree-sitter queries paired with faces. Each query pattern matches node types in the parse tree, not text patterns.

This means highlighting is structurally correct by definition. A string is highlighted as a string because the parser identified it as a string node, not because a regexp happened to match quote characters. If the code has a syntax error, the parser still produces a (partial) tree, and highlighting degrades gracefully instead of going haywire.

There’s also a significant performance difference. With regex font-lock, every regexp in font-lock-keywords runs against every line in the visible region on each update – more rules means linearly more work, and a complex major mode can easily have dozens of regexps. Poorly written patterns with nested quantifiers can trigger catastrophic backtracking, causing visible hangs on certain inputs. Multi-line font-lock (via font-lock-multiline or jit-lock-contextually) makes things worse, requiring re-scanning of larger regions that’s both expensive and fragile. Tree-sitter sidesteps all of this: after the initial parse, edits only re-parse the changed portion of the syntax tree, and font-lock queries run against the already-built tree rather than scanning raw text. The result is highlighting that scales much better with buffer size and rule complexity.

The trade-off is that customization works differently. You can’t just add a regexp to a list anymore. But the new system offers its own kind of flexibility, and in many ways it’s more powerful.

Note: The Emacs manual covers Tree-sitter font-lock in the Parser-based Font Lock section. For the full picture of Tree-sitter integration in Emacs, see Parsing Program Source.

Feature Levels: The Coarse Knob

Every Tree-sitter major mode organizes its font-lock rules into features – named groups of related highlighting rules. Features are then arranged into 4 levels, from minimal to maximal. The Emacs manual recommends the following conventions for what goes into each level:

  • Level 1: The absolute minimum – typically comment and definition
  • Level 2: Key language constructs – keyword, string, type
  • Level 3: Everything that can be reasonably fontified (this is the default level)
  • Level 4: Marginally useful highlighting – things like bracket, delimiter, operator

In practice, many modes don’t follow these conventions precisely. Some put number at level 2, others at level 3. Some include variable at level 1, others at level 4. The inconsistency across modes means that setting treesit-font-lock-level to the same number in different modes can give you quite different results – which is one more reason you might want the fine-grained control described in the next section.1

It’s also worth noting that the feature names themselves are not standardized. There are many common ones you’ll see across modes – comment, string, keyword, type, number, bracket, operator, definition, function, variable, constant, builtin – but individual modes often define features specific to their language. Clojure has quote, deref, and tagged-literals; OCaml might have attribute; a markup language mode might have heading or link. Different modes also vary in how granular they get: some expose a rich set of features that let you fine-tune almost every aspect of highlighting, while others are more spartan and stick to the basics.

The bottom line is that you’ll always have to check what your particular mode offers. The easiest way is M-x describe-variable RET treesit-font-lock-feature-list in a buffer using that mode – it shows all features organized by level. You can also inspect the mode’s source directly by looking at how it populates treesit-font-lock-settings (try M-x find-library to jump to the mode’s source).

For example, clojure-ts-mode defines:

Level Features
1 comment, definition, variable
2 keyword, string, char, symbol, builtin, type
3 constant, number, quote, metadata, doc, regex
4 bracket, deref, function, tagged-literals

And neocaml:

Level Features
1 comment, definition
2 keyword, string, number
3 attribute, builtin, constant, type
4 operator, bracket, delimiter, variable, function

The default level is 3, which is a reasonable middle ground for most people. You can change it globally:

(setq treesit-font-lock-level 4)  ;; maximum highlighting

Or per-mode via a hook:

(defun my-clojure-ts-font-lock ()
  (setq-local treesit-font-lock-level 2))  ;; minimal: just keywords and strings

(add-hook 'clojure-ts-mode-hook #'my-clojure-ts-font-lock)

This is the equivalent of the old font-lock-maximum-decoration variable, but more principled – features at each level are explicitly chosen by the mode author rather than being an arbitrary “how much highlighting do you want?” dial.

Note: The Emacs manual describes this system in detail under Font Lock and Syntax.

Cherry-Picking Features: The Fine Knob

Levels are a blunt instrument. What if you want operators and variables (level 4) but not brackets and delimiters (also level 4)? You can’t express that with a single number.

Enter treesit-font-lock-recompute-features. This function lets you explicitly enable or disable individual features, regardless of level:

(defun my-neocaml-font-lock ()
  (treesit-font-lock-recompute-features
   '(comment definition keyword string number
     attribute builtin constant type operator variable)  ;; enable
   '(bracket delimiter function)))                       ;; disable

(add-hook 'neocaml-base-mode-hook #'my-neocaml-font-lock)

You can also call it interactively with M-x treesit-font-lock-recompute-features to experiment in the current buffer before committing to a configuration.

This used to be hard in the old regex world – you’d have to dig into font-lock-keywords, figure out which entries corresponded to which syntactic elements, and surgically remove them. Emacs 29 improved the situation with font-lock-ignore, which lets you declaratively suppress specific font-lock rules by mode, face, or regexp. Still, the Tree-sitter approach is arguably cleaner: features are named groups designed for exactly this kind of cherry-picking, rather than an escape hatch bolted on after the fact.

Customizing Faces

This part works the same as before – faces are faces. Tree-sitter modes use the standard font-lock-*-face family, so your theme applies automatically. If you want to tweak a specific face:

(custom-set-faces
 '(font-lock-type-face ((t (:foreground "DarkSeaGreen4"))))
 '(font-lock-property-use-face ((t (:foreground "DarkOrange3")))))

One thing to note: Tree-sitter modes use some of the newer faces introduced in Emacs 29, like font-lock-operator-face, font-lock-bracket-face, font-lock-number-face, font-lock-property-use-face, and font-lock-escape-face. These didn’t exist in the old world (there was no concept of “operator highlighting” in traditional font-lock), so older themes may not define them. If your theme makes operators and variables look the same, that’s why – the theme predates these faces.

Adding Custom Rules

This is where Tree-sitter font-lock really shines compared to the old system. Instead of writing regexps, you write Tree-sitter queries that match on the actual syntax tree.

Say you want to distinguish block-delimiting keywords (begin/end, struct/sig) from control-flow keywords (if/then/else) in OCaml:

(defface my-block-keyword-face
  '((t :inherit font-lock-keyword-face :weight bold))
  "Face for block-delimiting keywords.")

(defun my-neocaml-block-keywords ()
  (setq treesit-font-lock-settings
        (append treesit-font-lock-settings
                (treesit-font-lock-rules
                 :language (treesit-parser-language
                            (car (treesit-parser-list)))
                 :override t
                 :feature 'keyword
                 '(["begin" "end" "struct" "sig" "object"]
                   @my-block-keyword-face))))
  (treesit-font-lock-recompute-features))

(add-hook 'neocaml-base-mode-hook #'my-neocaml-block-keywords)

The :override t is important – without it, the new rule won’t overwrite faces already applied by the mode’s built-in rules. And the :feature keyword assigns the rule to a feature group, so it respects the level/feature system.

Note: The full query syntax is documented in the Pattern Matching section of the Emacs manual – it covers node types, field names, predicates, wildcards, and more.

For comparison, here’s what you’d need in the old regex world to highlight a specific set of keywords with a different face:

;; Old world: fragile, doesn't understand syntax
(font-lock-add-keywords 'some-mode
  '(("\\<\\(begin\\|end\\|struct\\|sig\\)\\>" . 'my-block-keyword-face)))

The regex version looks simpler, but it’ll match begin inside strings, comments, and anywhere else the text appears. The Tree-sitter version only matches actual keyword nodes in the syntax tree.

Exploring the Syntax Tree

The killer feature for customization is M-x treesit-explore-mode. It opens a live view of the syntax tree for the current buffer. As you move point, the explorer highlights the corresponding node and shows its type, field name, and position.

This is indispensable when writing custom font-lock rules. Want to know what node type OCaml labels are? Put point on one, check the explorer: it’s label_name. Want to highlight it? Write a query for (label_name). No more guessing what regexp might work.

Another useful tool is M-x treesit-inspect-node-at-point, which shows information about the node at point in the echo area without opening a separate window.

The Cheat Sheet

Here’s a quick reference for the key differences:

Aspect Regex font-lock Tree-sitter font-lock
Rules defined by font-lock-keywords treesit-font-lock-settings
Matching mechanism Regular expressions on text Queries on syntax tree nodes
Granularity control font-lock-maximum-decoration treesit-font-lock-level + features
Adding rules font-lock-add-keywords Append to treesit-font-lock-settings
Removing rules font-lock-remove-keywords treesit-font-lock-recompute-features
Suppressing rules font-lock-ignore (Emacs 29+) Disable features via level or cherry-pick
Debugging re-builder treesit-explore-mode
Handles nesting Poorly Correctly (by definition)
Multi-line constructs Fragile Works naturally
Performance O(n) per regexp per line Incremental, only re-parses changes

Closing Thoughts

The shift from regex to Tree-sitter font-lock is one of the bigger under-the-hood changes in modern Emacs. The customization model is different – you’re working with structured queries instead of text patterns – but once you internalize it, it’s arguably more intuitive. You say “highlight this kind of syntax node” instead of “highlight text that matches this pattern and hope it doesn’t match inside a string.”

The feature system with its levels, cherry-picking, and custom rules gives you more control than the old font-lock-maximum-decoration ever did. And treesit-explore-mode makes it easy to discover what’s available.

If you haven’t looked at your Tree-sitter mode’s font-lock features yet, try M-x describe-variable RET treesit-font-lock-feature-list in a Tree-sitter buffer. You might be surprised by how much you can tweak.

  1. Writing this article has been more helpful than I expected – halfway through, I realized my own neocaml had function banished to level 4 and number promoted to level 2. Physician, heal thyself. 

06 Mar 19:40

The News Quiz: Ep8. Flight risks and fly-tips

Tom Roche

EXCELLENT--NQ (esp Zoe Lyons) returns to amusing form ... just in time for a 6-week break :-(

Joining Andy for the final episode of this series are Simon Evans, Zoe Lyons, Cindy Yu and Ahir Shah and not one of them can be deemed a flight risk. Along with the latest on Peter Mandelson’s arrest they discuss how UK politics is no longer a two-party system with the Greens and Reform taking centre stage in Gorton and Denton, why Trump’s State of the Union address could have been mercifully shorter and why the Chagos Islands are off limits.

Written by Andy Zaltzman.

With additional material by: Mike Shephard and Pravanya Pillay Producer: Georgia Keating Executive Producer: Richard Morris Production Coordinator: Giulia Lopes Mazzu Sound Editor: Marc Willcox

A BBC Studios Production for Radio 4.

06 Mar 15:44

Episode 555 - The Iran/Epstein Connection (w/ Aaron Good & Tonery Rose)

Tom Roche

VERY EXCELLENT, very informative (much like any given episode of [/American Exception/](https://feed.podbean.com/aarontgood/feed.xml))

Political scientist, author of American Exception: Empire & The Deep State, & host of the American Exception podcast returns to Bad Faith with independent researcher focused on diplomatic history, Tonery Rose, to discuss Epstein, Iran Contra, Les Wexner, & th Zionist takeover of the deep state that helped lead to the current war against Iran.

Subscribe to Bad Faith on YouTube for video of this episode. Find Bad Faith on Twitter (@badfaithpod) and Instagram (@badfaithpod).

Produced by Armand Aviram.

Theme by Nick Thorburn (@nickfromislands).

04 Mar 16:45

E239 - Iran and the End of Restraint w/ Trita Parsi and Akbar Shahid Ahmed

Tom Roche

EXCELLENT (minus the pre- and inter-audio ads)

Subscribe now⁠ to skip the ads and get all of our episodes.

Danny and Derek are back with a two-part episode on the war with Iran. First, they speak with Trita Parsi of the Quincy Institute about the Trump administration’s decision to go to war, the belief that assassinating Ayatollah Khamenei would cause the regime to implode, the structure and failure of pre-war negotiations, the influence of Israeli officials and hawks, the potential for sending in ground troops, and the impact on Iranian society. They then speak with Akbar Shahid Ahmed, Senior Diplomatic Correspondent at HuffPost, about the erosion of rules of engagement, the alignment of U.S. and Israeli military strategy, congressional inaction, compliant allies, and whether any realistic off-ramps remain.

Read Akbar’s piece “Trump Says He Brought 'Justice' To Iran. His War Boosts Fears The U.S. Has Gone Rogue.”

Keep up with Quincy’s work at Responsible Statecraft and Always at War.

Learn more about your ad choices. Visit megaphone.fm/adchoices

03 Mar 03:59

NATO Cheerleading Squad

Tom Roche

excellent despite no Ciarán

We talk about the transformation of the Munich Security Conference and Israel and the USs strikes on Iran

02 Mar 17:14

Irreal: A Diff Preview Of A Regex Replace

by Irreal
Tom Roche

pullquote (lightly edited):
> [Suppose you] want to do a query-replace-regexp on a large file—or even multiple files—but you’re a bit nervous[. In] Emacs 30 [`replace-regexp-as-diff` is a new command] that runs the regexp replace process but instead of actually making the changes, it produces a diff file in a separate buffer. That way you can see all the changes that would be made. If you’re happy with them, you can simply apply the diff buffer as a patch with diff-ediff-patch to apply them. If you’re not happy, you can simply delete the diff buffer.

When it rains, it pours. Sometimes I find it hard to find an interesting topic to write about. Other times, like today, four or five topics pop up. The problem is that today is Sunday and tomorrow Sacha will be publishing her weekly Emacs News. I generally try not to write about things that she’s already covered but I may have to break that rule for some of these interesting topics.

For me, the most exciting thing I’ve found today is Bozhidar Batsov’s post on Preview Regex Replacements as Diffs. It addresses a problem we’ve all had. You want to do a query-replace-regexp on a large file—or even multiple files—but you’re a bit nervous that maybe your regex isn’t quite right and the command might make a change you don’t want. So you step through each change, which is time consuming and a pain.

As Batsov explains, that got a lot easier in Emacs 30. There’s a new command, replace-regexp-as-diff that runs the regexp replace process but instead of actually making the changes, it produces a diff file in a separate buffer. That way you can see all the changes that would be made. If you’re happy with them, you can simply apply the diff buffer as a patch with diff-ediff-patch to apply them. If you’re not happy, you can simply delete the diff buffer.

There are two related commands: multi-file-replace-regexp-as-diff and dired-do-replace-regexp-as-diff for handling multiple files. The Dired variety is probably the easiest to use because you can simply mark the files you want to change in a Dired buffer and call dired-do-replace-regexp-as-diff to generate a diff for them all.

Batsov speculates that in the age of AI, people won’t be as interested in this type of command. I disagree strongly. It’s useful not only for coding but for writing pose or any other text-based file that you might want to edit.

If you’re an Emacs user, I urge you to take a look at Batsov’s post. It’s about a really useful new(ish) feature of Emacs that you can probably make good use of.

01 Mar 20:47

#694 - The Kevin Who Refused

Tom Roche

EXCELLENT analysis of both art and political economy--MU doing its thing

What would happen if the Christian movie industry tried to make its own Everything Everywhere All at Once? Brother, you don't have to imagine! We discuss Angel Studios' THE SHIFT (2023), starring our favourite actor, Neal McDonough. PLUS: We check Keir Starmer's pulse after last week's UK by-election, and assess the looming Warner/Paramount merger. Join us on Patreon for an extra episode every week - https://www.patreon.com/michaelandus "The Ground Game is Back" by Grace Blakeley - https://substack.com/home/post/p-189343412 "Starmer is Driving Labour to Disaster" by Jon Trickett - https://tribunemag.co.uk/2026/02/starmer-is-driving-labour-to-disaster
01 Mar 17:19

Epstein Fallout - Gumby and Bryce Greene (AE233)

Tom Roche

excellent, but only ~14 min content (hard truncate)

To hear this episode in it's entirety, subscribe to our Patreon at https://patreon.com/americanexception

Gumby joins Bryce and Aaron to discuss the life and times of Jeffrey Epstein as portrayed in the latest government releases.

American Exception followers on Patreon get first access to new episodes, and paid subscribers enjoy the entire library of the best historical analysis of deep events on the American Exception podcast. 

Subscribe to our Patreon at https://patreon.com/americanexception

We are also on youtube at https://www.youtube.com/@americanexception9407

Music: "I Can't Seem To Think" by Mock Orange

Special thanks to Dana Chavarria for producing the episode!!

28 Feb 18:18

Irreal: Harp: A Private Health Records App

by Irreal
Tom Roche

pullquote:
> [Harp](https://lepisma.xyz/2026/02/24/harp/#fnr.1) [is] Android app that should soon be available on the Play Store, [currently] available for free on F-Droid. You can also checkout the source at [Sourcehut](https://git.sr.ht/~lepisma/harp-kmp). Finally, you can find out more about Harp [here](https://docs.lepisma.xyz/harp/).

Abhinav Tushar likes to curate what he calls macro health data. That means things like ailments, aches and pains, and other symptoms one might want to mention to the doctor during an appointment. After researching the currently available apps, he realized there was nothing that met his needs so he decided to roll his own. The result is Harp, an Android app that should soon be available on the Play Store. It’s also available for free on Fdroid. You can also checkout the source at Sourcehut. Finally, you can find out more about Harp here.

Like my favorite app Journelly, Tushar decided to keep his data in Org Mode. That, of course, brings the immediate benefit of making the data viewable and editable in Emacs or any other editor for that matter. It’s one of the reasons I’m so fond of Journelly. A couple more apps like these and we could see Org markup evolve into a sort of universal app data storage language.

Right now, only an Android version of Harp exists but his near term plans include an iOS version. That good news for those of us in the Apple camp. The main difficulty appears to be navigating the Apple App Store submission maze, which is well known for its opaque rules.

Take a look at Tushar’s post for some more of his short term goals. It looks like a handy app—and, of course, one that keeps its data in Org mode—so it’s definitely worth trying out. I’ll probably give it a try when the iOS version appears and will let you know what I think of it then.

28 Feb 03:43

Radio War Nerd EP 584 — World of Wars: US/UK Grotesque, Looming Iran War

by mail@yashalevine.com (Gary Brecher)
Tom Roche

good enough, but just bant

Co-hosts John Dolan & Mark Ames
28 Feb 01:59

Huckabee Admits Insanity of Christian Zionism on Tucker: Israel Can Take ‘All’ of Middle East

Tom Roche

EXCELLENT

Mike Huckabee’s reference to borders stretching “from the Euphrates to the Nile” has sparked a diplomatic firestorm across the Middle East.

Even governments that normalized relations with Israel — including the UAE — publicly condemned the remarks. Why did this rhetoric hit such a nerve? And is it really new, or just unusually blunt?

At the same time, tensions between Israel and Saudi Arabia are rising, fractures between Riyadh and Abu Dhabi are deepening, and the risk of a U.S.–Iran war looms in the background, a conflict that could drag Gulf states into a confrontation they don’t control.

What does this moment reveal about the future of normalization, regional alliances, and the possibility of a wider war?

Rania Khalek was joined by Giorgio Cafiero on Dispatches to break it all down.

🎥 The full episode is available to Breakthrough News members.
Become a member at: https://www.patreon.com/BreakthroughNews

27 Feb 23:04

The News Quiz: Ep7. The worst birthday ever

Tom Roche

amusing--better than past few weeks--mostly due to the always-reliable Mark Steel

Top of the agenda this week is some royal breaking news - who got a special birthday visit from the police? We’ll be analysing yet another government U-turn and see who’s emerged from the shadows for Nigel Farage’s proposed ‘shadow cabinet'. Plus a couple of stories on robots and aliens - something for everyone.

Joining Andy this week is Mark Steel, Daliso Chaponda, Coco Khan and Bella Hull.

Written by Andy Zaltzman.

With additional material by: Jade Gebbie, Ruth Husko and Peter Tellouche. Producer: Georgia Keating Executive Producer: Pete Strauss Production Coordinator: Giulia Lopes Mazzu Sound Editor: Marc Willcox

A BBC Studios Production for Radio 4.

27 Feb 21:11

Episode 553 - AOC, Zohran & The Left's Labor Pains (w/ Kshama Sawant)

Tom Roche

Sawant VERY EXCELLENT as usual

Subscribe to Bad Faith on Patreon to instantly unlock our full premium episode library: http://patreon.com/badfaithpodcast

Washington Congressional candidate & former Socialist Seattle City Councilmember Kshama Sawant returns to Bad Faith to give her no-holds-barred assessment of left elected officials as they navigate the Democratic Establishment, to weigh in on the Epstein files -- including Chomsky's involvement --, and to provide a clear blueprint for how the left should resist. She also weighs in on the limits of labor given business unionism capture and strategies to overcome it, while updating us on the progress of her Congressional campaign against Zionist corporatist Adam Smith.

Subscribe to Bad Faith on YouTube for video of this episode. Find Bad Faith on Twitter (@badfaithpod) and Instagram (@badfaithpod).

Produced by Armand Aviram.

Theme by Nick Thorburn (@nickfromislands).

25 Feb 19:50

Reconsidering Late R.E.M.

Tom Roche

not sure if this SO ep#=1055 is /quite/ excellent. but will probably be worth listening for REMheads--and for SOheads, has an unusual amount of friction between hosts and guest

Hosts Jim DeRogatis and Greg Kot discuss the music, history and legacy of R.E.M. with biographer Peter Ames Carlin. The hosts share their own personal experiences covering the band over the years.

Join our Facebook Group: https://bit.ly/3sivr9T

Become a member on Patreon: https://bit.ly/3slWZvc

Sign up for our newsletter: https://bit.ly/3eEvRnG

Make a donation via PayPal: https://bit.ly/3dmt9lU

Send us a Voice Memo: Desktop: bit.ly/2RyD5Ah  Mobile: sayhi.chat/soundops

 

Featured Songs:

R.E.M., "Losing My Religion," Out of Time, Warner Bros., 1991

The Beatles, "With A Little Help From My Friends," Sgt. Pepper's Lonely Hearts Club Band, Parlophone, 1967

R.E.M., "It's the End of the World As We Know It (And I Feel Fine)," Document, I.R.S., 1987

R.E.M., "Orange Crush," Green, Warner Bros., 1988

R.E.M., "The One I Love," Document, I.R.S., 1987

R.E.M., "Radio Free Europe," Murmur, I.R.S., 1983

R.E.M., "Begin the Begin," Lifes Rich Pageant, I.R.S., 1986

R.E.M., "Low," Out of Time, Warner Bros., 1991

R.E.M., "Bittersweet Me," New Adventures in Hi-Fi, Warner Bros., 1996

R.E.M., "Everybody Hurts," Automatic for the People, Warner Bros., 1992

R.E.M., "Imitation of Life," Reveal, Warner Bros., 2001

R.E.M., "Shiny Happy People," Out of Time, Warner Bros., 1991

R.E.M., "Strange Currencies," Monster, Warner Bros., 1994

R.E.M., "What's the Frequency, Kenneth?," Monster, Warner Bros., 1994

R.E.M., "Man on the Moon," Automatic for the People, Warner Bros., 1992

Beach Bunny, "Big Pink Bubble (Live on Sound Opinions)," Tunnel Vision, AWAL, 2025

See Privacy Policy at https://art19.com/privacy and California Privacy Notice at https://art19.com/privacy#do-not-sell-my-info.

25 Feb 00:28

'One Battle After Another' and Liberal Fantasy Fiction (AE232)

Tom Roche

/very/ short (< 17 min content), very truncated (particularly, never gets to the advertised topic=[One Battle After Another](https://www.onebattleafteranothermovie.com/home/)), just bant, not actually bad but quite skippable

To hear this episode in it's entirety, subscribe to our Patreon at https://patreon.com/americanexception

Aaron and Max Arvo discuss One Battle After Another —the 2025 film directed by Paul Thomas Anderson, starring Leonardo DiCaprio, and based on the 1990 novel, Vineland by Thomas Pynchon. We recommend that people watch the film before listening since we don’t attempt to give any real synopsis, nor do we avoid spoilers. Listen at your own risk!

Follow and support Max Arvo on Substack!

American Exception followers on Patreon get first access to new episodes, and paid subscribers enjoy the entire library of the best historical analysis of deep events on the American Exception podcast. 

Subscribe to our Patreon at https://patreon.com/americanexception

We are also on youtube at https://www.youtube.com/@americanexception9407

Music: “Old Movies” by Mock Orange

Special thanks to Dana Chavarria for producing the episode!!

24 Feb 20:00

1013 - Your Podcast feat. Jonathan Shainin (2/23/26)

Tom Roche

delightful deepdive into UK-political doodoo

Jonathan Shainin returns to Chapo after ten years to talk about what the hell is going on in the United Kingdom. We talk about Keir Starmer’s and Labour collapse, his wildly unpopular policies and austerity regime, the rise of the Green Party, and Jeremy Corbyn’s bizarre Our Party. We then talk about Shainin’s new magazine Equator and their pieces on the end of liberal Zionism and the Long 90s. Check out Equator: https://www.equator.org/ Few tickets left for our April 3rd live show at the Palace Theater in LA: https://www.ticketmaster.com/event/0900643BE404F182
24 Feb 17:00

Eruorp sent from my iPhone

Tom Roche

amusing

Reluctantly, Nick and Ciarán talk about the latest Esptein files

20 Feb 16:16

Radio War Nerd EP 576 — Deconstructing "Munich 1938" Pt. 1: 1919-1933, feat. Annibale

by mail@yashalevine.com (Gary Brecher)
Tom Roche

another EXCELLENT Annibale series, this time on Munich myth, reality, and lessons for 2026

Co-hosts John Dolan & Mark Ames
20 Feb 16:15

Radio War Nerd EP 578 — Deconstructing "Munich 1938" Pt. 2: 1933-39, feat. Annibale

by mail@yashalevine.com (Gary Brecher)
Tom Roche

another EXCELLENT Annibale series, this time on Munich myth, reality, and lessons for 2026

Co-hosts John Dolan & Mark Ames
20 Feb 16:15

Radio War Nerd EP 582 — Deconstructing "Munich 1938" part 3: 1939 - present, feat. Annibale

by mail@yashalevine.com (Gary Brecher)
Tom Roche

another EXCELLENT Annibale series, this time on Munich myth, reality, and lessons for 2026

Co-hosts John Dolan & Mark Ames