Shared posts

03 Jan 23:22

Hell of Presidents: Bonus 4 - Prez on Film

Tom Roche

VERY EXCELLENT: funny and informative 72 min. Chris+Matt+Will (so it's basically a Chapo episode) do an astonishingly comprehensive rundown of portrayals (in cinema and TV, plus a few theatric) of US presidents (in chronological order--by president, not portrayals). Until nearly the end they discuss only portrayals of /real/ presidents, but throw in a few fictional ones at end.

We're joined by Chapo Trap House's Will Menaker to take a look at the history of Presidential portrayals in Film and Television. Get bonus content on Patreon

Hosted on Acast. See acast.com/privacy for more information.

03 Jan 20:56

S4 Episode 8 - "Sons of Liberty"

Tom Roche

Another EXCELLENT Blowback. S04E08 covers 2001-2007, from the initial afterglow of US "victory in Afghanistan" in very-late 2001 to the obvious quagmire of 2007, as the GWB regime death-spirals into Global Financial Crisis (following mostly in order of presentation):

* Bushites attempt to do (surprisingly expensive) war-on-the-cheap almost immediately turns into civil-war-via-score-settling (notably Afghans using US forces to attack personal enemies), then settles into massive corruption plus civil war in the formal sense (militarily-organized opponents).
* Bushites cease to care about Afghan war: they see New Frontiers in 'the Axis of Evil', esp the already-planned-for 2nd US-Iraq War
* Afghanistan splinters into warlord states with varying amounts of toleration for US occupiers
* pretend "reconstruction" complete fail, but corruption goes massive
* Pashtun opposition to US coalesces in Kandahar
* US increasingly fights war via corporate (e.g., Halliburton, Blackwater) and regional (mostly Pakistan) contractors
* covert-war (mostly CIA) turns to kidnapping ('extraordinary rendition') and torture (esp Guantanamo)
* Pakistan vs India proxy war in Afghanistan and region
* Pakistani ISI allies with Taliban in Afghanistan and Pakistan (mostly in NWFP, now Khyber Pakhtunkhwa), accelerating Taliban comeback
* Karzai and GWB in 2004 elections
* opium comeback under both warlord and CIA protection
* US (esp CIA) develops worldwide network of 'black sites' for interrogation via torture
* US deepstate esp corporate-funded media promotes the Afghan-womens-rights fraud, pretending that US occupation must continue to assist its allies in protecting womens' rights, when those warlords are actively opposed to rights for women et al

America runs its war in Afghanistan on the cheap — and subcontracts to crooks, kingpins, and gangsters.



Advertising Inquiries: https://redcircle.com/brands

Privacy & Opt-Out: https://redcircle.com/privacy

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

03 Jan 19:39

#487 - We Invented Chill!

Tom Roche

amusing

We ring in the new year by raiding the fridge for some holiday leftovers. It's become an annual tradition on this podcast to try to extract ideology from Tim Allen's "Santa Clause" franchise. With THE SANTA CLAUSE 3: THE ESCAPE CLAUSE (2006), we hit the motherlode. Join us on Patreon for an extra episode every week - https://www.patreon.com/michaelandus
03 Jan 18:07

Hell of Presidents: Bonus 3 - America Origins 3: Revenge of the NatSec

Tom Roche

Bessner and Christman VERY EXCELLENT as usual (and occ amusing)

We’re joined by Danny Bessner of the American Prestige podcast to discuss the rise of the post-WWII National Security state and how it affects the powers and prerogatives of the presidency. Get bonus content on Patreon

Hosted on Acast. See acast.com/privacy for more information.

02 Jan 04:32

794 - Gooneiform feat. Stavros Halkias (1/1/24)

Tom Roche

EXCELLENT, amusing

Stavvy baby joins us to ring in the New Year with some talk on Christmas gift-giving, review some recent comedic offerings from Israeli TV and Tucker Carlson’s X show, and finally to look at some of recent political developments in the great city of Baltimore and state of Maryland.


Watch Stav’s special “Fat Rascal”, streaming now on Netflix.

And listen to the Stavvy’s World podcast wherever you get podcasts.

Get bonus content on Patreon

Hosted on Acast. See acast.com/privacy for more information.

01 Jan 20:10

Ways with words: from puzzles to Wikipedia

Tom Roche

excellent, just not new: this is an episode-length mashup of 3 segments presented in 2023

Did you know that every time you perform a Google search, you're using technology invented by a medieval polymath in Oxford? That's just one of the many interesting insights in Phillip Adams' conversations about how the index, the crossword and the encyclopedia were invented - and why they stuck. 

01 Jan 16:48

12/30/23: Israel Demands US Attack Iran

Tom Roche

another EXCELLENT KB solo

Krystal comes with a breaking segment on Israel's war hawks demanding US attack Iran.

To become a Breaking Points Premium Member and watch/listen to the show uncut and 1 hour early visit: https://breakingpoints.supercast.com/

Merch Store: https://shop.breakingpoints.com/

See omnystudio.com/listener for privacy information.

01 Jan 15:14

Geopolitics of Israel war explained: Gaza, Iran, Saudi, Yemen, Red Sea ship attacks

Tom Roche

VERY EXCELLENT

Is Israel's war on Gaza expanding into a regional conflict? Why is Yemen attacking ships in the Red Sea? What are the roles of Iran and Saudi Arabia? Journalist Ben Norton analyzes the geopolitics of the crisis. (This analysis features many maps, so watching the video is recommended.) VIDEO: https://youtube.com/watch?v=C-YjyCjH7SA
01 Jan 02:23

World War Civ 30: Allied Disasters 1915

Tom Roche

EXCELLENT as usual, esp regarding UK disasters at Gallipoli and Kut al Amara, as well as the very-undercovered Balkans war (esp the Salonika Campaign and the Macedonian front)

Germans use poison gas on the battlefield at Ypres, British lose 60,000 and Germans 40,000. French attack at Artois with casualties of 100,000 and German 75,000. Russians lose 2 million casualties fighting Germany on the Eastern front. British defeated at Loos, lose 50,000 and Germany 20,000. French offensive in Champagne results in 190,000 casualties and … Continue reading "World War Civ 30: Allied Disasters 1915"
31 Dec 17:08

Sacha Chua: Using subed-record in Emacs to edit audio and clean up oopses

by Sacha Chua
Tom Roche

SINGULAR: more than just what the title promises, this is Chua's workflow for
1. recording audio+transcript
***** simultaneously--unfortunately using Google Recorder, so tradeoff between functionality and privacy
***** Chua records audio using phrase='Oops' to signal audio error
2. (elisp to) export audio+transcript to PC (using [Syncthing](https://en.wikipedia.org/wiki/Syncthing) and Chua's [emacs package=Subed](https://github.com/sachac/subed))
3. use [Aeneas](https://pypi.org/project/aeneas/) to {synchronize, force alignment} between audio and transcript, aka generate synchronization map
4. (elisp to) {identify, timestamp, prepare to split out} 'Oops'es from the audio
5. actually edit the 'Oops'es from the audio (using [Audacity](https://en.wikipedia.org/wiki/Audacity_(audio_editor) and [a Chua pile'o'elisp](https://github.com/sachac/compile-media))
6. [timestamp, subtitle (which at this step seems ~= transcript)] the clean audio

Finding enough quiet focused time to record audio is a challenge. I often have to re-record segments in order to correct brain hiccups or to restart after interruptions. It's also hard for me to sit still and listen to my recordings looking for mistakes to edit out. I'm not familiar enough with Audacity to zip around with keyboard shortcuts, and I don't like listening to myself again and again in order to find my way around an audio file.

Sure, I could take the transcript, align it with subed-align and Aeneas to get the timestamps, and then use subed-convert to get a CSV (actually a TSV since it uses tabs) that I can import into Audacity as labels, but it still feels a little awkward to navigate. I have to zoom in a lot for the text to be readable.

2023-12-29_10-28-32.png Figure 1: Audacity labels

So here's a workflow I've been experimenting with for cleaning up my recorded audio.

Just like with my audio braindumps, I use Google Recorder on my phone because I can get the audio file and a rough transcript, and because the microphone on it is better than on my laptop. For narration recordings, I hide in the closet because the clothes muffle echoes. I don't feel as self-conscious there as I might be if I recorded in the kitchen, where my computer usually is. I used to record in Emacs using subed-record by pressing left to redo a segment and right to move on to the next one, but using my phone means I don't have to deal with the computer's noises or get the good mic from downstairs.

I start the recorder on my phone and then switch to my Org file in Orgzly Revived, where I've added my script. I read it as far as I can go. If I want to redo a segment, I say "Oops" and then just redo the last phrase or so.

Screenshot of Google Recorder on my phone
Screenshot_20231229-083047.png

I export the transcript and the M4A audio file using Syncthing, which copies them to my computer. I have a function that copies the latest recording and even sets things up for removing oops segments (my-subed-copy-latest-phone-recording, which calls my-split-oops). If I want to process several files, I can copy them over with my-subed-copy-recording.

my-subed-copy-latest-phone-recording: Copy the latest recording transcript and audio to DESTINATION.
(defun my-subed-copy-latest-phone-recording (destination)
  "Copy the latest recording transcript and audio to DESTINATION."
  (interactive
   (list
    (file-name-directory
     (read-file-name (format "Move %s to: "
                             (file-name-base (my-latest-file my-phone-recording-dir ".txt")))
                     nil nil nil nil #'file-directory-p))))
  (let ((base (file-name-base (my-latest-file my-phone-recording-dir ".txt"))))
    (rename-file (expand-file-name (concat base ".txt") my-phone-recording-dir)
                 destination)
    (rename-file (expand-file-name (concat base ".m4a") my-phone-recording-dir)
                 destination)
    (find-file (expand-file-name (concat base ".txt") destination))
    (save-excursion (my-split-oops))
    (goto-char (point-min))
    (flush-lines "^$")
    (goto-char (point-min))
    (subed-forward-subtitle-id)
    (subed-set-subtitle-comment
     (concat "#+OUTPUT: "
             (file-name-base (buffer-file-name))
             "-cleaned.opus"))))

my-subed-copy-recording
(defun my-subed-copy-recording (filename destination)
  (interactive
   (list
    (buffer-file-name)
    (file-name-directory
     (read-file-name (format "Copy %s to: "
                             (file-name-base (buffer-file-name)))
                     nil nil nil nil #'file-directory-p))))
  (dolist (ext '("m4a" "txt" "json" "vtt"))
    (when (file-exists-p (concat (file-name-sans-extension filename) "." ext))
      (copy-file (concat (file-name-sans-extension filename) "." ext)
                 destination t)))
  (when (get-file-buffer filename)
    (kill-buffer (get-file-buffer filename))
    (dired destination)))

I'll use Aeneas to get the timestamps for each line of text, so a little bit of text processing will let me identify the segments that I want to remove. The way my-split-oops works is that it looks for "oops" in the transcript. Whenever it finds "oops", it adds a newline afterwards. Then it takes the next five words and sees if it can search backward for them within 300 characters. If it finds the words, then that's the start of my repeated segment, and we can add a newline before that. If it doesn't find the words, we try again with four words, then three, then two, then one. I can also manually review the file and see if the oopses are well lined up. When they're detected properly, I should see partially duplicated lines.

I used to record using sub-record by using by. Oops,
I used to record. Oops,
I used to record an emacs using subhead record, by pressing left to reduce segment, and write to move on to the next one.
But using my phone means, I don't have to deal with them. Oops.
But using my phone means, I don't have to deal with the computer's noises or get the good mic from downstairs. I started recorder on my phone

my-split-oops: Look for oops and make it easier to split.
(defun my-split-oops ()
  "Look for oops and make it easier to split."
  (interactive)
  (let ((scan-window 300))
    (while (re-search-forward "oops[,\.]?[ \n]+" nil t)
      (let ((start (min (line-beginning-position) (- (point) scan-window)))
            start-search
            found
            search-for)
        (if (bolp)
            (progn
              (backward-char)
              (setq start (min (line-beginning-position) (- (point) scan-window))))
          (insert "\n"))
        (save-excursion
          (setq start-search (point))
          ;; look for 1..3 words back
          (goto-char
           (or
            (cl-loop
             for n downfrom 4 downto 1
             do
             (save-excursion
               (dotimes (_ n) (forward-word))
               (setq search-for (downcase (string-trim (buffer-substring start-search (point)))))
               (goto-char start-search)
               (when (re-search-backward (regexp-quote search-for) start t)
                 (goto-char (match-beginning 0))
                 (cl-return (point)))))
            (and (call-interactively 'isearch-backward) (point))))
          (insert "\n"))))))

Once the lines are split up, I use subed-align and get a VTT file. The oops segments will be in their own subtitles.

2023-12-29-08-41-33.svg Figure 2: Subtitles and waveforms

The timestamps still need a bit of tweaking sometimes, so I use subed-waveform-show-current or subed-waveform-show-all. I can use the following bindings:

  • middle-click to play a sample
  • M-left-click to set the start and copy to the previous subtitle
  • left-click to set the start without changing the previous one
  • M-right-click to set the end and copy to the next subtitle
  • right-click to set the end without changing the next one
  • M-j to jump to the current subtitle and play it again in MPV
  • M-J to jump to close to the end of the current subtitle and play it in MPV

I use my-subed-delete-oops to delete the oops segments. I can also just mark them for skipping by calling C-u M-x my-subed-delete-oops instead.

Then I add a #+OUTPUT: filename-cleaned.opus comment under a NOTE near the beginning of the file. This tells subed-record~compile-audio where to put the output.

WEBVTT

NOTE #+SKIP

00:00:00.000 --> 00:00:10.319
Finding enough. Oops.

NOTE
#+OUTPUT: 2023-12-subed-record-cleaned.opus

00:00:10.320 --> 00:00:36.319
Finding enough quiet Focused. Time to record. Audio is a challenge. I often have to re-record segments in order to correct brain hiccups, or to restart after interruptions.

I can test short segments by marking the region with C-SPC and using subed-record-compile-try-flow. This lets me check if the transitions between segments make sense.

When I'm happy with everything, I can use subed-record-compile-audio to extract the segments specified by the start and end times of each subtitle and concatenate them one after the other in the audio file specified by the output. The result should be a clean audio file.

If I need to compile an audio file from several takes, I process each take separately. Once I've adjusted the timestamps and deleted or skipped the oops segments, I add #+AUDIO: input-filename.opus to a NOTE at the beginning of the file. subed-record-insert-audio-source-note makes this easier. Then I copy the file's subtitles into my main file. subed-record-compile-audio will take the audio from whichever file was specified by the #+AUDIO: comment, so I can use audio from different files.

Example VTT segment with multiple audio files
NOTE
#+AUDIO: 2023-11-11-emacsconf.m4a

00:10:55.617 --> 00:10:58.136
Sometimes we send emails one at a time.

NOTE
#+AUDIO: 2023-11-15-emacsconf.m4a

00:10:55.625 --> 00:11:03.539
Like when you let a speaker know that we've received a proposal That's mostly a matter of plugging the talks properties into the right places in the template.

Now I have a clean audio file that corresponds to my script. I can use subed-align on my script to get the timestamps for each line using the cleaned audio. Once I have a subtitle file, I can use emacsconf-subed-split (in emacsconf-subed.el - which I probably should add to subed-mode sometime) to quickly split the captions up to fit the line lengths. Then I redo the timestamps with subed-align and adjust timestamps with subed-waveform-show-current.

So that's how I go from rough recordings with stutters and oopses to a clean audio file with captions based on my script. People can probably edit faster with Audacity wizardry or the AI audio editors that are in vogue these days, but this little workflow gets around my impatience with audio by turning it into (mostly) text, so that's cool. Let's see if I can make more presentations now that I've gotten the audio side figured out!

Links:

30 Dec 18:01

Israel Is Using Infectious Disease & Starvation to Make Gaza Unlivable

Tom Roche

EXCELLENT, comprehensive (note this ep is untruncated unlike most Khalek Dispatches) interview with Anis Germani (CeSSRA Beirut) on modes of Zionist alt-genocide modes esp vs Gaza. Topics include (mostly in order of presentation)

* Gazans decreased life expectancy
* Israel's decades of deliberate starvation of Gazans ('putting them on a diet')
* Israel military targets public health and medicine, including staff, materials (esp pharmaceuticals and hospital-hygiene products), and infrastructure
* Israel weaponizes disease and traumatic injury
* long history of Israeli organ trafficking (necessitated by religious Jews' low rates of organ donation)
* current medicine and public-health problems in Lebanon as Israel threatens to widen the war

By targeting hospitals and doctors while cutting off water, food and electricity and concentrating Palestinians into smaller and smaller zones of death in Gaza, the Israelis are creating a public health crisis that will kill even more Palestinians with infectious diseases. 


To discuss this and more, Rania Khalek was joined by Lebanese medical doctor and public health researcher Anis Germany. 


29 Dec 20:13

The Now Show - 1st December

Tom Roche

EXCELLENT, consistently funny. Not quite as good as the 24 Nov 2023 /Now Show/, but the host sets, both guest sets, and the closing song are more-than-usually excellent. /Especially/ the 1st guest set (6:13-12:38), by David Eagle, on UK Christmas politics, economics, culture, and ... blindness! but esp Eagle's holiday compilation album, "Now That's What I Call Christmas Music: The Angry Antiwoke Edition" :-)

Steve Punt and Hugh Dennis present the week via topical stand-up and sketches. They're joined by David Eagle unpacking the Advent, Jessica Fostekew looking into the repeal of the New Zealand smoking ban, and an original song from Archie Henderson, performed with Becky CJ.

The show was written by the cast with additional material from Alex Garrick-Wright, Jade Gebbie, Rhiannon Shaw, Miranda Holms and Cody Dahler.

Voice Actors: Jason Forbes and Lola-Rose Maxwell.

Producer: Rajiv Karia Production Coordinator: Katie Baum

A BBC Studios Production for Radio 4

29 Dec 19:09

12/28/23: Israeli Historian Raz Segal On Genocide And Gaza

Tom Roche

VERY EXCELLENT survey of genocide history and law, and why (in the face of Jashinsky's softpeddled Zionism, which gets a polite but firm smackdown) Israel's current attacks on Gaza (especially) but also its current pogroms in Jerusalem and the West Bank, and the Zionist state's long violence against Palestinians, are all genocides by definition.

Ryan and Emily sit down with Israeli historian and Associate Professor of Holocaust and Genocide Studies, Raz Segal to ask him about Genocide and Gaza.

To become a Breaking Points Premium Member and watch/listen to the show AD FREE, uncut and 1 hour early visit: https://breakingpoints.supercast.com/

 

Merch Store: https://shop.breakingpoints.com/

See omnystudio.com/listener for privacy information.

29 Dec 05:02

12/27/23: Israel Declares “7 Front War,” Assassinates Top Iranian General

Tom Roche

VERY EXCELLENT (though the episode headline is rather misleading--Israel seeking to expand the war is only a small part of this). KB only, but it's Krystal at her best.

Krystal gives a breaking update on Israel announcing a 7 Front War in the Middle East. 

To become a Breaking Points Premium Member and watch/listen to the show AD FREE, uncut and 1 hour early visit: https://breakingpoints.supercast.com/

 

Merch Store: https://shop.breakingpoints.com/

See omnystudio.com/listener for privacy information.

27 Dec 21:49

Hell of Presidents: Bonus 2 - America Origins 2: Civil War

Tom Roche

VERY EXCELLENT. Note Karp, Chris, and the Christman are choppin' up not just The War, but do much prep work from c1840 as well as much aftermath/legacy. Also, much humor.

We're joined by Civil War historian Matt Karp to take a closer look at the, uh, Civil War. We discuss its causes, the course of the war, how it shaped the Republic, and, of course, do a "who are your guys" for Civil War generals. Get bonus content on Patreon

Hosted on Acast. See acast.com/privacy for more information.

27 Dec 21:47

Hell of Presidents: Bonus 1 - America Origins: Rise of the Founders

Tom Roche

VERY EXCELLENT

We're joined by the New Republic's Osita Nwanevu to take another look at the founding, the constitution, and how we think about America in general. Get bonus content on Patreon

Hosted on Acast. See acast.com/privacy for more information.

27 Dec 17:00

Democracy Now! 2023-12-27 Wednesday

Tom Roche

consistently VERY EXCELLENT: all 4 post-headline segments better-than-recent-usual

Democracy Now! 2023-12-27 Wednesday

  • Headlines for December 27, 2023
  • "Axis of Resistance": Hamas, Hezbollah, Houthis Challenge U.S. & Israeli Power Amid Middle East Tension
  • Who Funds Canary Mission? James Bamford on Group That Doxxes Students & Profs for Palestine Activism
  • As Phone Line Breaks Up, Palestinian Journalist Akram al-Satarri Describes "Dire" Conditions in Gaza
  • Palestine Exception: U.S. Colleges Suppress Free Speech, Academic Freedom for Students & Professors

Download this show

27 Dec 03:26

Will Israel’s Gaza Genocide Reshuffle the Regional & Global Order?

Tom Roche

VERY EXCELLENT broad-but-necessarily-shallow survey of "Middle Eastern" (relative to who?) regional (in this free ~half of the episode--BRICS, EU, PRC, Russia, US (mostly) et al are apparently in the {2nd, behind-the-paywall} part) geopolitical issues in the wake of Israel's genocide on Palestine, including (following not quite in order of presentation--I'm organizing this a bit)

* Abraham Accords (AA) future: expansion is DOA, but current Israel partners (esp UAE) are unlikely to pull out.

* damage to US mass/public image/reputation: massive. Cafiero emphasizes this damage
***** goes beyond (but including) the MENA region
***** is 'irreversible'

* reactions from GCC countries. Cafiero separates them into 4 groups, from most- to least-Israel-friendly:
1. Bahrain, UAE: both are AA partners and very (if semi-covertly) Israel-friendly.
2. Saudi Arabia (aka KSA): 'flirted with' AA, fairly (though again semi-covertly) Israel-cooperative, but much more cautious than 1st group.
3. Oman, Qatar: have 'unofficial, pragmatic' relations with Israel, but have repeatedly overtly rejected AA and other forms of US-backed 'normalization'
4. Kuwait: has 'never had any form of formal or informal relations with Israel' and is 'very firmly opposed to normalization'

Cafiero then discusses in detail (much more than I'm giving here)

* UAE: /very/ authoritarian 'high-tech police state', current leadership very anti-Hamas and -Palestine
* Qatar: interesting relationships with Palestinians (inc resistance groups), Israel, and US)
* KSA: lip-service to Palestine, but leadership focused on Vision 2030
* Egypt: refusing Israel-US proposals for Gazan ethnic cleansing, otherwise cooperating with the hegemons
* Jordan: strong elite+mass opposition to Zionist genocide, would probably break with them on a 'Nakba-2.0' genocide, but is very weak economically and militarily
* Oman: "Gaza is dominating everyone's minds [with] unprecedented amount of rage against the US right now," including boycotts of US companies ... but that's it
* 'day-after' policy options for Israel-Palestine (esp Gaza) after current war phase: brief discussion before the rest of the episode goes behind the paywall.

What does the genocide in Gaza mean for the surrounding Arab states? Do their oppositional responses even matter or is it all just symbolic? How will this impact the Abraham Accords and other normalization efforts? Why won’t the Gulf states use their oil as leverage to pressure the United States? How does the genocide in Gaza impact countries like Jordan and Syria? How is it affecting America’s standing in the world? What does it mean for Russia and China in an emerging multipolar world? 


To discuss this and other regional developments, Rania Khalek was joined by Giorgio Cafiero, the CEO of Gulf State Analytics, a Washington, D.C.-based geopolitical risk consultancy.


This is just part of this episode. The full interview is available for Breakthrough News Members only. Become a member at
https://www.Patreon.com/BreakthroughNews to access the full episode and other exclusive content.

27 Dec 02:41

It's A Fair Cop: Christmas Special

Tom Roche

excellent: amusing jokes, short stories, and crowdwork

Copper turned comic Alfie Moore takes an audience through real-life crime scenarios. The topic, crime at Christmas. What's it like to be a bobby on the beat in the festive season?

This merry jaunt introduces us to a fun cavalcade of Christmas characters, including a gas station Grinch, an inebriated Mary and Joseph, and a Christmas Eve saviour...

Written and presented by Alfie Moore Script Editor: Will Ing Production Co-ordinator: Becky Carewe-Jeffries Producer: Sam Holmes

A BBC Studios Production

26 Dec 16:02

West's economic war on Russia backfires, destroys EU industrial base, fuels Eurasian integration

Tom Roche

EXCELLENT geoeconomic survey

Western sanctions over the Ukraine war have backfired, rapidly de-industrializing Europe while accelerating Russia's economic integration with Asia. Journalist Ben Norton explains the historic changes. VIDEO: https://youtube.com/watch?v=DkuKnYdtW9w EU confesses ‘our prosperity was based on China & Russia’: cheap energy, low-paid labor, big market: https://geopoliticaleconomy.com/2022/10/18/eu-prosperity-china-russia-energy-market BRICS expanding into economic powerhouse: Petrodollar under threat - https://youtube.com/watch?v=1SIfrWkQXeE
25 Dec 16:10

Norm: Primarily emacs

by Norman Walsh
Tom Roche

> A few years ago, I learned that you can write your own command line flags for Emacs.

News to me! example (another pullquote):

> I realized yesterday was that I could also [launch] the [Org] Agenda perspective [via command-line argument defined in `init.el`:]

Note that TOR is breaking formatting: see properly-formatted Elisp in post:

> ;; Make a custom -primary command line argument
> (add-to-list
> 'command-switch-alist
> '("primary" . (lambda (&rest ignore)
> (server-start)
> (persp-switch "Agenda")
> (org-agenda-list)
> (delete-other-windows)
> (persp-switch "main"))))

Volume 7, Issue 49; 25 Dec 2023

Tweaks to my -primary command line switch for Emacs.

I seem to spend a few days over most end-of-the-year holidays tinkering with my Emacs configuration. Everyone needs a hobby. This year, it was mostly committing to Emacs 29 (moving my “temporary” testing configuration into ~/.emacs.d).

I live in Emacs and I enjoy tinkering with it. It’s fun. Sometimes, it’s to try some big, new thing. When I first encountered completion frameworks like Helm years ago, I was amazed. Magit is also amazing. And I read my email in mu4e. This weblog post was composed in Org mode in Emacs and converted to XML, formatted with XSLT, and posted to the server by typing C-t p. (I put most of my personal bindings in the C-t keymap because that’s what my advisor in grad school where I first encountered Emacs almost 30 years ago did).

Sometimes, it’s tiny things like configuring the Org template for taking notes during meetings. Or binding a key to insert £ or € (not on my US English keyboard).

I don’t think I’m alone in struggling a bit to manage my todo list. I’ve got it well(ish) organized in, er, Org mode and I’ve been trying to keep a perspective open on the agenda so that I can easily refer to it throughout the day. (I confess that “can easily” and “do” are not even remotely synonymous.)

The agendas themselves are collected from across the Org mode files where I take meeting notes as well as dedicated “Inbox”, “Personal” and “Work” todo lists.

A few years ago, I learned that you can write your own command line flags for Emacs. I created one, -primary, that I use when I start Emacs after logging in. That flag starts up the Emacs server (so that git, for example, can use emacsclient as an editor).

(I know that some folks just start Emacs in the background, running the server, and use emacsclient for everything. That didn’t work reliably for me a couple of decades ago for reasons I no longer recall if I ever figured them out. So I do this instead.)

What I realized yesterday was that I could also start the Agenda perspective that way. So the agenda would always be available and I wouldn’t have to cons it into existence the first time with C-x x s Agenda C-c a a C-x 1

Tada:

;; Make a custom -primary command line argument
(add-to-list
 'command-switch-alist
 '("primary" . (lambda (&rest ignore)
                 (server-start)
                 (persp-switch "Agenda")
                 (org-agenda-list)
                 (delete-other-windows)
                 (persp-switch "main"))))

Time to go work on Christmas breakfast. Happy holidays everyone!

25 Dec 01:00

Jeremy Friesen: Using a TODO List and Keyboard Macros to Guide RSS Feed Review

by Jeremy Friesen
Tom Roche

interesting, educational--not so much about the task as Friesen does it--with an Emacs macro. TODO: start saving/exporting more macros (I define lots, often duplicating over time) with `defalias` and `kmacro` à la Friesen's example (pullquote'ed from near end of article, note macro line broken for readability)

> (defalias 'review-elfeed
> (kmacro
> "C-a C-a C-c C-t s s-f / / M-b C-SPC s-f / / s-f /
> s-c M-x e w w s-v "
> ))

Summary: Building on a previous post, I layout how I’m working through curating my RSS feed. This involes creating a working document that tracks the state each RSS feed URL; and a macro that helps me consistently move through each RSS feed URL. All told, demonstrating Emacs’s keyboard macros and custom Org Mode TODO states.

update: I spent a few sessions of focus working through my 167 RSS 📖 ; the checklist process meant that I could work through them until I felt decision fatigue set in. Then I could pick up where I left off.

in On Blogging and Online Neighborhoods. In that post I identified that I wanted to share my blog roll.

The Task at Hand

I started on that work and wanted to share a bit of the process.

  1. Normalize my current feed.
  2. Create a Todo oriented document.
  3. Do the Todo.
  4. Save my progress.

Normalize My Current Feed

I keep my blog-roll in an Org-Mode 📖 document; at ~/git/org/elfeed.org. I used the elfeed-org package to store my feeds, which allows me allow me to annotate each feed. It was a bit unruly; several top-level headings and a smattering of tags.

What I wanted was a simple list of the URLs 📖 to the RSS feeds. That was relatively straight forward:

rg "^\*+\s+(http\S+)" ~/git/org/elfeed.org -r '** TODO $1' > ~/Desktop/normalized-rss-feed.org

The above Ripgrep 📖 command extracted the URLs as second level headings, with a status of Todo. Normally I would export these as checklists, but I knew I wanted to leverage Org-Mode ’s heading tags; because as I was reviewing each feed I wanted to categorize them. The categories are useful for filtering my feed; if I’m searching for something.

Create a Todo Oriented Document

With the file created at ~/Desktop/normalized-rss-feed.org, I prepended a custom Todo sequence: TODO(t) STARTED(s) | PUBLIC(p) PRIVATE(r) DROP(d). See TODO Basics (The Org Manual) for more details.

I envisioned the states as follows:

TODO
I still need to begin the work on this.
STARTED
I have opened the website and began assessing it.
PUBLIC
This is a feed that I will continue to subscribe to and share on my blog-roll.
PRIVATE
This is a feed that I will continue to subscribe to but will not share on my blog-roll.
DROP
This is a feed I will remove from my blog roll.

I added the STARTED to provide a placeholder for that moment when I begin looking at a website and could likely spend a few moments reading or jumping to other links.

I also added a first level headline above all of my second level headings. The [0/3] marker is a a tally of how many I’ve completed. See Breaking Down Tasks (The Org Manual) for more details.

Below is an example of the document before I began the work of reviewing each feed.

#+TODO: TODO(t) STARTED(s) | PUBLIC(p) PRIVATE(r) DROP(d)

* Feeds [0/3]
** TODO http://ajroach42.com/feed.xml
** TODO http://decafbad.net/feed
** TODO http://evrl.com/feed.xml

The above document gave me a checklist of work to move through.

Do the TODO

With a checklist in hand, I thought about the steps I would take to open each page. With a game plan in mind, positioned my cursor at the beginning of the line of the first feed (e.g. ** TODO http://ajroach42.com/feed.xml).

What I wanted to do was to set the line to STARTED (e.g. “start” the task) and open the homepage for that feed.

I have bound C-s to consult-line; and isearch-forward to s-f; hence the atypical binding; an homage to my first beloved editor: Textmate 📖 .

Knowing that I would be doing this a lot, I started recording a macro and typed the following keys:

C-a C-a
Ensure we are at the beginning of the line; a good pre-amble for recorded macros.
C-c C-t s
Invoke org-todo and mark the headline as STARTED.
s-f / / <return>
Move the cursor to just after the first encountered //. We’re at the beginning of the host name.
M-b
Goto the beginning of the word, we’re not at the http point of the string.
C-SPC
Set the mark (e.g. begin the selecting text)
s-f / / <return> s-f / <return>
We are now highlighting the scheme and host name (e.g. http://decafbad.net/).
s-c
Copy the highlighted text; the homepage of the feed.
M-x e w w <return>
Invoke the eww command; the web browser within Emacs 📖 .
s-v <return>
Paste the copied homepage of the feed as the URL to visit.

Once I was done reviewing I would manually return to the STARTED item and again set it’s status to either PUBLIC, PRIVATE, or DROP. In setting the status the counter would increment.

Save My Progress

Because I was working from a checklist, this was a task that I could set down and pick up as I found moments in my workday.

Knowing this, I added a section to the document; namely the recorded macro exported:

(defalias 'review-elfeed
     (kmacro "C-a C-a C-c C-t s s-f / / <return> M-b C-SPC s-f / / <return> s-f / <return> s-c M-x e w w <return> s-v <return>"))

Now, when I come back to the document I can evaluate the block of text and have access to an a review-elfeed command.

Conclusion

This is the second time this week that I’ve used something similar to the above strategy; namely creating a checklist of Todo items; each of which require decisions and routing to different status.

The first time involved building a checklist of Github issues, gathering up all of the pull requests that went into resolving those issues, then tracking down each commit for those pull requests.

The second time, the one I write about in this post, was simpler to explain and more accessible to a general audience.

I appreciate the automation of Emacs ; it took awhile for me to use keyboard macros, but now I’m spoiled. I write them by first pushing the record button F3 and then replay them by pressing F4; and when I want to run them 100 times, I just type Ctrl 1 0 0 F4.

This is one reason I am trying to bring more and more of my computering to Emacs ; because the utilities I have available for writing, reading, and navigating text. See Emacs Turbo-Charges My Writing.

When I first started recording keyboard macros, I tried to type as I normally would. But, what I found is that if I slow down, just a bit, I have a better chance of recording the correct sequence. If I need to edit it, I can do that with edit-kbd-macro.

For those reading along, I hope this was helpful; and as always please feel free to reach out to me.

24 Dec 21:35

Irreal: A GTD Workflow

by jcs
Tom Roche

using Org mode and Org Roam as a [Getting Things Done](https://en.wikipedia.org/wiki/Getting_Things_Done) framework

Gopar, over at the Goparism YouTube channel has posted a video on how he uses Emacs Org mode and Org Roam as his GTD framework. For those not familiar with GTD it’s a methodology developed by David Allen in his book Getting Things Done for organizing your tasks in such a way as to maximize your productivity.

Org mode is ideal for handling the mechanical aspects of the GTD program. A lot of the system involves mindset and processes but there is also a large component of recording and organizing tasks as well as making daily TODO lists. Org, of course, is seemingly custom built for those functions.

Gopar’s method depends mainly upon the agenda with some custom displays. Those are easy to setup as Gopar shows. He also uses the Org capture system to make it easy for him to add and schedule tasks.

The salient fact about his method is how easy it is Mostly it’s just a few added agenda commands and some capture templates. Although I don’t follow the GTD method and don’t know a lot about it, my agenda system is very similar to Gopar’s. That’s because Org makes it natural to organize things that way.

The video is 13 minutes, 49 seconds so you’ll need to schedule some time but how else are you going to spend the holidays?

24 Dec 21:32

E127 - The Pahlavi Petro-State w/ Gregory Brew

by American Prestige
Tom Roche

excellent (and occasionally funny) discussion of Iran politics and geopolitics 1941-1965 (basically WW2 to White Revolution)

At AP headquarters, nothing brings holiday cheer quite like oil, so Danny and Derek are back with Gregory Brew, analyst at Eurasia Group in energy and Iran, to discuss Iran’s postwar “petro-state” period. They get into the country’s trajectory leading up to the 1953 coup, Shah Mohammad Reza Pahlavi and his relationship with the U.S., the 1963 White Revolution, how oil revenue supported industrialization, middle class growth, and state expansion, the rise of the clerical opposition to Pahlavi’s reign, and more.

Subscribe now

Check out Gregory’s book Petroleum and Progress in Iran: Oil, Development, and the Cold War.

24 Dec 18:53

Bonus - The Medievalist's Guide to Christmas w/ Eleanor Janega

by American Prestige
Tom Roche

unfortunately, free version is only a 5:52 teaser

Danny and Derek welcome back to the podcast Eleanor Janega, medieval historian, author, and broadcaster, to get down to brass tacks: What is Christmas? They discuss its practice in early and medieval Christian societies, mummers’ plays and gambling, Saint Nicholas providing dowries and resurrecting boys killed for their meat, the post-Reformation treatm…

Read more

24 Dec 18:07

News - Gaza War, Houthi Red Sea Response, North Korea ICBM

by American Prestige
Tom Roche

your basic geopolitics-week-in-review (~13-20 Dec), but ends with EXCELLENT 90s-throwback song "New Cold War"

Danny and Derek amble across the finish line of 2023. This week: a Gaza update including the latest UN resolution, ceasefire talks, and a potential Geneva conference (1:15); the West/North Atlantic formally responds to Houthi actions in the Red Sea (8:50); General Abdel Fattah El-Sisi wins re-election (13:22); continued fighting in Myanmar (14:29); another ICBM test from the DPRK/North Korea (15:47); the RSF captures another city in Sudan (19:39); a possible resurgence of piracy in Somalia (21:43); the latest constituional referendum in Chile (24:09); a Venezuela-U.S. prisoner swap (25:56); and a Ukraine war update (29:02).

Subscribe now

Recorded Wednesday December 20, 2023

24 Dec 15:32

World War Civ 29: The War Widens 1915

Tom Roche

excellent as usual. Note that the episode notes above do /not/ include a substantial and enjoyable segments about the UK campaign in German East Africa, and about the war in the Balkans; plus there's excellent discussion about the 1st use of naval air power (Japan! vs ... Austria-Hungary! who, by the way, had great submarines! WW1 is fascinating ...)

World War 1 goes global in 1915, as Japan takes advantage to seize more territory in Asia; Turkey fatefully aligns with Germany; Italy joins the Entente.
23 Dec 23:36

Irreal: PDFs And Diffs In Emacs

by jcs
Tom Roche

post archived [here](http://web.archive.org/web/20231223233550/https://irreal.org/blog/?p=11858). pullquote:
> For PDFs [Derek Taylor @ DistroTube] uses the excellent [pdf-tools](https://github.com/vedang/pdf-tools) package. He shows basic navigation and how to annotate PDFs. This is a great package that I use all the time. Unless a PDF comes up in my browser, it’s the only PDF reader I use.

Derek Taylor over at DistroTube has a nice introduction to reading PDFs and doing diffs from within Emacs. As Taylor says, almost all of us have standalone applications to do these things but even if you don’t belong to the Alles in Emacs camp, it’s nice to perform these tasks from within Emacs if you’re already there.

Taylor approaches the issues through his latest Emacs configuration so he discusses things like his custom keybindings that you probably won’t care about. But he does demonstrate both applications. For PDFs he uses the excellent pdf-tools package. He shows basic navigation and how to annotate PDFs. This is a great package that I use all the time. Unless a PDF comes up in my browser, it’s the only PDF reader I use.

He also demonstrates the builtin Ediff package. As I’ve written before, I’ve long had a difficult time with Ediff but Prot’s video cured me of that. Taylor’s video also helps demystify Ediff and show how easy to use if you ignore most of the fancy commands. The great thing about Ediff, of course, is that you can move any given difference from one file to the other.

It’s a nice video, especially if you’re interested in reading PDFs or performing diffs. The video is 18 minutes, 43 seconds long so you’ll have to schedule some time.

Update [2023-12-24 Sun 10:46]: Added link to video.

23 Dec 18:04

793 - Mr. Boring’s Opus feat. Bryan Quinby (12/22/23)

Tom Roche

Bryan, Felix, and Will wreck the Daily Wire on many fronts. Subpar Chapo, but certainly amusing enough.

Bryan joins us to look at the new “comedy” movie from the Daily Wire wrecking crew, Lady Ballers. As with all these conservative attempts at humor, there’s definitely A Lot Going On Here, very little of which relates to the intended target of their ridicule. Join us for a dive into the mind of Jeremy Boering as he tries to use the subtle knife of satire to eviscerate the very concept of women's sports and really “women” in general. Get bonus content on Patreon

Hosted on Acast. See acast.com/privacy for more information.

22 Dec 21:47

The Now Show - 24th November

Tom Roche

Top-notch Now Show (even on BBC time-delay--they don't do that with 'Comedy of the Week', so why for FNC?), with (in order of presentation)
1. usual hosts Punt and Dennis deliver their amusing-as-usual 1st set on UK politics, economy, and society (as usual)
2. unusually-excellent guest set from Ria Lina (not one of my favorite comics, but she brings the jokes in this one) on issues in womens' health and the NHS
3. even-better-than-usual Punt-Dennis 2nd set on ... mostly Dr Who, then it's comedy Brownian motion
4. amusing Fin Taylor set on the UK royal family and tabloid media: even as the weakest part of this Now Show, it's still good-enough
5. slightly-better-than-usual audience-participation Q&A (usually the weakest part of /any/ Now Show)
6. SINGULAR Ed MacArthur song, best summarized by 1st line="I'm a TV producer, I produce reality shows." Only from 24:52-27:17 in the audio, but (as the Daleks might say) "YOU MUST LISTEN--it's that good". (TODO: gotta transcribe the lyrics.)

Steve Punt and Hugh Dennis present the week via topical stand-up and sketches. They're joined by Ria Lina looking into changes in the NHS, Fin Taylor on the Royals, and with an original song from Ed MacArthur.

The show was written by the cast with additional material from Rachel E Thorn, Aidan Fitzmaurice, Joe Bates and Cody Dahler.

Voice Actors: Joz Norris and Gemma Arrowsmith.

Producer: Rajiv Karia Production Coordinator: Katie Baum

A BBC Studios Production for Radio 4