Shared posts

14 Dec 15:26

Joe Biden Keeps Repeating His False Claim That He Saw Pictures of Beheaded Babies

by Jeremy Scahill
Tom Roche

Genocide Joe has /got/ to go

On October 11, four days after the Hamas-led attacks in Israel, President Joe Biden addressed a group of Jewish community leaders in the Indian Treaty Room of the Executive Office Building in Washington, D.C. “I’ve been doing this a long time,” Biden said. “I never really thought that I would see and have confirmed pictures of terrorists beheading children.”

It was a jarring statement. And it was false.

Biden had seen no such pictures, nor received any such confirmation. He made those comments after Nicole Zedeck, a journalist for Israel’s i24 News, reported that 40 babies had been decapitated, citing Israeli soldiers at the scene of the attacks at Kfar Aza. A spokesperson for Israeli Prime Minister Benjamin Netanyahu subsequently stated that babies and toddlers had been found with their “heads decapitated.”

Three hours later, Biden promoted the claim to the world and asserted he personally saw pictures of the horrifying scene, giving the story supreme legitimacy.

Hamas denied the allegation, and other Israeli journalists at the scene began reporting they had not seen evidence such beheadings had occurred nor had they been told it had happened by any of the Israeli soldiers they spoke with. Zedeck, the reporter from i24 News who was first to spread the allegation, later tweeted that “soldiers told me they believe 40 babies/children were killed. The exact death toll is still unknown as the military continues to go house to house and find more Israeli casualties.”

An anchor at the network defended the reporter and said that three separate Israel Defense Forces officials had told i24 News “that around 40 babies & small children were murdered in Kfar Aza, some burned, some beheaded.” CBS News and CNN also spread Israeli assertions that babies and toddlers had been decapitated.

Eventually, the Israeli government was forced to admit it had no evidence to support the claim, though it continued to imply that it might be true. A military spokesperson said that the IDF would not further investigate the beheading charges because it would be “disrespectful for the dead.”

White House officials then “clarified” what they claimed Biden was actually referring to. “U.S. officials and the president have not seen pictures or confirmed such reports independently,” reported the Washington Post. “The president based his comments about the alleged atrocities on the claims from Netanyahu’s spokesman and media reports from Israel, according to the White House.” The purpose of such graphic descriptions, according to National Security Council spokesperson John Kirby, was “to underscore the utter depravity and the barbaric nature with which these terrorists murdered and butchered innocent Israeli civilians.” Kirby, who dodged direct questions about whether Biden had personally seen any photos, added, “And that further underscores why — and this is what the President’s specific point was yesterday — that we got to stay with Israel. We’ve got to continue to make sure they have the support that they need.”

Biden has never publicly retracted the incendiary claims. And the Washington Post reported that the president had been urged by staffers not to make that allegation in his speech on October 11, “because those reports were unverified.”

Despite the Israeli government’s comments, warnings about the veracity of the claims from his own advisers, and the extensively documented lists of people killed on October 7 during the Hamas raids, Biden has inexplicably and repeatedly doubled down on the claim that he saw pictures of decapitated babies.

At a November 16 press conference in Woodside, California, after meeting with Chinese President Xi Jinping, Biden first promoted another debunked charge, that Hamas had what amounted to its own version of a Pentagon under Al-Shifa hospital in Gaza. “Here’s the situation: You have a circumstance where the first war crime is being committed by Hamas by having their headquarters, their military hidden under a hospital. And that’s a fact. That’s what’s happened,” Biden said. He then declared, “Hamas has already said publicly that they plan on attacking Israel again like they did before, to where they were cutting babies’ heads off to burn — burning women and children alive.”

The allegation that Hamas beheaded babies continues to spread across the internet and social media. In a post on Israel’s official X account, readers were invited to “Listen to the eyewitness accounts of the 8 burned babies and one beheaded baby which were butchered by Hamas terrorists on October 7th.” It featured a video of Israeli Col. Golan Vach purporting to describe what he witnessed. On November 26, an Israeli journalist posted an interview with an IDF soldier who claimed that babies had been hung from clotheslines. The reporter later apologized to his readers and said the story was false. “Why would an army officer invent such a horrifying story?” he wrote. “I was wrong.”

There is evidence to suggest that Biden, in addition to absorbing the most sensational claims made in Israeli media in the immediate aftermath of the October 7 attacks, was fed other unverified claims directly from Netanyahu, his close friend of many decades. Israel released a video of phone call between Netanyahu and Biden on October 11, the first time Biden publicly made the beheading claim. “We were struck Saturday by an attack whose savagery I can say we have not seen since the Holocaust,” Netanyahu told Biden. “Since we last spoke, the extent of this evil, it’s only gotten worse. They took dozens of children, bound them up, burned them, and executed them.” He added, “They’re even worse than ISIS and we need to treat them as such.” Significantly, Netanyahu does not appear to have alleged that Hamas beheaded babies, though he did claim that soldiers were decapitated. In an appearance with Biden on October 18 in Tel Aviv, Netanyahu made no mention of babies being beheaded. “They beheaded soldiers,” he said. Secretary of State Antony Blinken, who was shown extensive graphic images of the aftermath of the attacks during a visit to Israel, also did not mention any beheaded babies.

There is no doubt that widespread atrocities and war crimes were committed during the Hamas-led attacks on October 7 and that children were killed. Yet in many narratives, the burned or beheaded babies story still forms one of the most harrowing details of the October 7 massacres. According to major Israeli media outlets that have worked diligently to identify all of the victims of the October 7 attacks, there was one infant killed that day: a 9-month-old named Mila Cohen who was shot dead at Kibbutz Be’eri as her mother held her in her arms. Cohen’s mom, who was shot in the arm, survived.

None of these facts have altered Biden’s commitment to making the debunked beheading claim a key detail in his impassioned defense of the legitimacy of Israel’s mass killing campaign, during which more than 18,000 Palestinians have been killed, including more than 7,000 children. On December 12, at a reelection campaign event at the Salamander hotel in Washington, D.C., Biden said, “I saw some of the photographs when I was there — tying a mother and her daughter together on a rope and then pouring kerosene on them and then burning them, beheading infants, doing things that are just inhuman — totally, completely inhuman.”

DEIR AL-BALAH, GAZA - NOVEMBER 7: Civil defense teams and citizens continue search and rescue operations after an airstrike hits the building belonging to the Maslah family during the 32nd day of Israeli attacks in Deir Al-Balah, Gaza on November 7, 2023. (Photo by Ashraf Amra/Anadolu via Getty Images)

Read our complete coverage

Israel’s War on Gaza

Biden is the president of the most powerful nation on Earth, not a random poster on social media. He supposedly has access to the best intelligence in the world. If he actually has evidence to support this beheading claim — apparently evidence that his closest advisers have not seen — then he should produce it. 

This allegation is one of the most gut-wrenching and horrifying charges to be made about the events of October 7. It is not some insignificant detail that can be explained away by Biden’s age or his tendency to exaggerate or stumble into gaffes. It was a detail that fueled the rage and quest for revenge, and was cited when Biden declared that Israel is fighting subhumans in Gaza. “They’re animals. They’re animals,” Biden said on December 12 when he repeated the beheading claims. “They exceeded anything that any other terrorist group has done of late that I — in memory.”

The verified facts, as we currently understand them, are horrifying enough. So why does Biden feel the need to bolster his defense of Israel’s indiscriminate war against Gaza by spreading debunked allegations? The latest estimations of the death toll on October 7 are as follows: Israel has officially identified approximately 1,200 Israelis or Israeli residents killed. Of these, 274 were soldiers, 764 were civilians, 57 were Israeli police, and 38 were local security guards. Among the civilians killed, in addition to 9-month-old Mila Cohen, 12 of them were between the ages of 1 and 9 years, and 36 were between the ages of 10 and 19. There are reportedly still bodies that have not been officially identified.

It also must be noted that multiple Israeli media outlets have reported on “friendly fire” incidents in which Israeli military forces responding to the attacks killed Israeli citizens, though there has been no definitive calculation of the number of such deaths and may never be one.

The Israeli newspaper Haaretz has done extensive work trying to confirm the actual events of October 7 and published an important story debunking some of the most shocking false claims made in the aftermath of the Hamas attacks. Biden should read it.

The post Joe Biden Keeps Repeating His False Claim That He Saw Pictures of Beheaded Babies appeared first on The Intercept.

14 Dec 01:58

Hell of Presidents: Episode 12 - I've Got An Invisible Bridge to Sell You

Tom Roche

belated post regarding Hell O' Presidents: I downloaded all of 14 of the main HoP episodes (not the extras--gotta get those) whileback, so this is just from memory, but ... if you never did much serious study of US history (e.g., AP American History), or even if you did but longtime ago, you will learn something from HoP. Even if you /do/ have some depth on US history, you will still find the Christman/Wade treatment entertaining.

Johnson - Nixon - Ford - Carter

May I offer you some malaise?

Get bonus content on Patreon

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

14 Dec 01:58

Hell of Presidents: Episode 11 - Jack Does Dallas

Tom Roche

belated post regarding Hell O' Presidents: I downloaded all of 14 of the main HoP episodes (not the extras--gotta get those) whileback, so this is just from memory, but ... if you never did much serious study of US history (e.g., AP American History), or even if you did but longtime ago, you will learn something from HoP. Even if you /do/ have some depth on US history, you will still find the Christman/Wade treatment entertaining.

Eisenhower - Kennedy - Johnson

Ask not what this podcast can do for you.

Get bonus content on Patreon

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

13 Dec 18:12

Irreal: Multilingual Editing

by jcs
Tom Roche

quick points on `M-x toggle-input-method` and `M-x activate-transient-input-method`

Protesilaos Stavrou (Prot) has an excellent short video that discusses how to use multilingual characters in Emacs. Prot, of course, is Greek and often wants to write Greek in Emacs. You can do that by switching keyboards at the system level but then—especially with languages like Greek—the Emacs keybindings break because the system is sending the wrong code to Emacs.

Happily, there’s another way: toggle-input-method bound to Ctrl+\ by default. This mode allows you to type with a non-English character set but still have Emacs perform correctly.

You can set a “default” input method that will become active when you type Ctrl+\ but if you add the universal prefix, Emacs will allow you to choose the input method you want. For example, I have my input method set to TeX so I can enter things like em dashes and various mathematical constructs but I’m currently learning Spanish so if I want to write in Spanish, I can toggle the input method to Spanish. Regardless of what input method I’m using, Emacs and its keybindings continue to operate.

Finally, there’s activate-transient-input-method, bound to Ctrl+x \, that allows you to switch to the default input method for the next character only. That’s nice for me when I simply want to add an em dash (—) but otherwise use my normal English input method. Prot uses it to add single Greek characters to his English text. As with toggle-input-method, adding the universal prefix will allow you to select the input method for the next character.

Prot’s video is 10 minutes, 59 seconds so it should be easy to fit it in. These are really useful commands even if you aren’t bilingual.

13 Dec 17:17

790 - Advice for Dark Psychologies feat. Hesse Deni (12/12/23)

Tom Roche

not /great/ Chapo--just Will and Hesse, just bant, pure fluff--but consistently amusing with some LOLs

After a last minute guest cancelation leaves Will in a tight spot, Hesse Deni from Seeking Derangements and Movie Mindset comes off the bench to field another slew of questions sourced from advice columns. Q's include: What to do when your mom spends too much money on premium pornography? What if your child is in school with a dark psychopath? How to defend your home from the tooth fairy and much more.


Subscribe to Seeking Derangements https://www.patreon.com/seekingderangements/posts


Submit Questions to the Seeking Derangements help line at 332 203 8247

Get bonus content on Patreon

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

12 Dec 03:49

Bonus Unlocked: Government Mandated Zwarte Piet

by The Späti Boys
Tom Roche

amusing esp on Javier Milei, Stuart Seldowitz, and Geert Wilders

12 Dec 03:46

Shadow Journalist (AE154)

Tom Roche

interesting conversation on US empire and its journalism c1970-c2020

World class essayist and journalist Patrick Lawrence joins us to talk about his latest book, Journalists and Their Shadows.

Check out:

Music: "Only in Dreams" by Mock Orange

Special thanks to Dana Chavarria for producing the episode!

11 Dec 22:42

Radio War Nerd EP 413 — World of Wars: Future Border Wars, Assab to Essequibo + Gaza Slaughter

by mail@yashalevine.com (Gary Brecher)
Co-hosts Gary Brecher & Mark Ames
11 Dec 04:04

World War Civ 28: The Eastern Front 1914

Tom Roche

EXCELLENT as usual (though much shorter than usual)

Russia invades Germany and loses badly at Tannenberg. Austria-Hungary fights Serbia. The Russian losses in 1914 force a reevaluation of the whole strategy pursued by the Russia-France-England alliance, and before long will cause even bigger changes than that.
11 Dec 04:03

A new, positive approach to divorce. Party!

Tom Roche

marginal: if you're /really/ starved for comedy, this (esp 1st/Paul set) may work for you

Recorded in 2022 in Niagara-on-the-Lake, Jean Paul talks about the differences between his son and daughter. And with good reason, he's worried about the boy! Then Dena Jackson urges us to acknowledge that there's a LOT to consider, before one’s first... skydive.
11 Dec 04:02

The kids are all right! But the grandkids are headed for trouble.

Tom Roche

1st/Rita set is marginal: Italian stereotype bits, some work some don't. 2nd/Dubs set is better: random-y jokes, mostly re drugs and mental health.

From the Big Sound Comedy Festival, Mike Rita tells grandparents everywhere that when the grandkids get a little hurt, we don’t even recognize you! And from Winnipeg, Mikey Dubs takes you on a hilarious tour of his mind.
10 Dec 20:19

Dallas 63: A Cold War Cold Case (AE156)

Tom Roche

VERY EXCELLENT, informative waaay beyond "merely" the JFK assassination but also Mexico, Israel, CIA in Mexico and Israel, and lots more

We talk with Jefferson Morley about the outstanding work he has put into the JFK case for several decades.

Check out the recent, excellent NY Mag story on Jeff’s work here: "The Secrets of the JFK Assassination Archive"

Follow and support Jefferson Morley’s work at JFK Facts!

Jefferson Morley is also the author of several books, including:

Special thanks to Dana Chavarria for producing the episode!

Music: “Old Movies” by Mock Orange

10 Dec 02:44

Hey! Calm down in the gym! Some of us have a hernia! And dreaded questions and questionable dates…

Tom Roche

1st/Bebenek set excellent random bits. 2nd/Miller set ... is skippable.

From Niagara-On-The-Lake, Rob Bebenek outlines his health goals: lose-weight-gain-weight-get-hernia and repeat. And from the Winnipeg Comedy Festival, Larke Miller shares some stories about some of her 'ahem' ... interesting dates?
10 Dec 01:51

What’s up with friendliness? Like, who DOES that?!

Tom Roche

skip

From Parry Sound, Kyle Brownrigg shares his love for - and confusion with - the British. And from the Winnipeg Comedy Festival, Danish Anwar promises that he’ll never move to America. He’ll just visit a lot.
10 Dec 01:04

No need for 1980s shoulder pads!

Tom Roche

skip

From the Big Sound Comedy Festival in Parry Sound, Rebecca Reeds talks about her...let’s say “lumberjack” vibes. And Todd Graham finds his jokes in the oddest of places!
10 Dec 00:47

Laugh Out Loud Introduces: Commotion | Hasan Minhaj fights for his reputation, with Roy Wood Jr. and Ali Hassan

Tom Roche

skip

How much does the truth really matter when it comes to comedy? In this episode of Commotion, host Elamin Abdelmahmoud talks to former The Daily Show correspondent Roy Wood Jr. and comedian Ali Hassan about Hasan Minhaj’s efforts to justify his approach to comedy following a profile in The New Yorker detailing instances where he stretched the truth in his stand-up routines. Every day, Commotion with Elamin Abdelmahmoud brings you the most urgent, joyful, captivating discussions in all of arts, pop culture, and entertainment. Commotion is where you go for a thoughtful and vibrant chat working through the big culture stories. More episodes of Commotion are available at: https://link.chtbl.com/2GHec2s5
10 Dec 00:46

Anxiety, why must you have such a good work ethic?

From Accent on Toronto, Jon Steinberg tries his hand at some crowd work. Then rethinks it almost immediately. And from the Winnipeg comedy festival, Tracy Hamilton tells you that anxiety can be a friend?
10 Dec 00:31

The bagpipes...as medicine? Sometimes when we touch....our cars....things go badly.

Tom Roche

skip

From Accent on Toronto at the Danforth Music Hall, former Scotsman John Mostyn gives us the inside scoop on immigrating to Canada! And Chris Sandiford offers a truly alternative view on gun control.

09 Dec 23:39

When you realize you’re built for a lockdown.

Tom Roche

amusing rants, but skip except for 7:32-25:58

From Accent on Toronto, Arthur Simeon shares some advice with the Danforth Music Hall audience about how to get any couple - anywhere - to stop making out publicly.
09 Dec 23:01

Sacha Chua: Updating YouTube videos via the YouTube Data API using Emacs Lisp and url-http-oauth

by Sacha Chua
Tom Roche

goddess Chua doing some more hardcore elisp hacking

We upload EmacsConf videos to both YouTube and Toobnix, which is a PeerTube instance. This makes it easier for people to come across them after the conference.

I can upload to Toobnix and set titles and descriptions using the peertube-cli tool. I tried a Python script for uploading to YouTube, but it was a bit annoying due to quota restrictions. Instead, I uploaded the videos by dragging and dropping them into YouTube Studio. This allowed me to upload 15 at a time.

The videos on YouTube had just the filenames. I wanted to rename the videos and set the descriptions. In 2022, I used xdotool, simulating mouse clicks and pasting in text for larger text blocks.

Xdotool script
(defun my-xdotool-insert-mouse-location
    (interactive)
  (let ((pos (shell-command-to-string "xdotool getmouselocation")))
    (when (string-match "x:\\([0-9]+\\) y:\\([0-9]+\\)" pos)
      (insert (format "(shell-command \"xdotool mousemove %s %s click 1\")\n" (match-string 1 pos) (match-string 2 pos))))))

(setq list (seq-filter (lambda (o)
                         (and
                          (file-exists-p
                           (expand-file-name
                            (concat (plist-get o :video-slug) "--final.webm")
                            emacsconf-cache-dir))
                          (null (plist-get o :youtube-url))))
            (emacsconf-publish-prepare-for-display (emacsconf-get-talk-info))))

(while list
  (progn
    (shell-command "xdotool mousemove 707 812 click 1 sleep 2")

    (setq talk (pop list))
    ;; click create
    (shell-command "xdotool mousemove 843 187 click 1 sleep 1")
    ;; video
    (shell-command "xdotool mousemove 833 217 click 1 sleep 1")
    ;; select files
    (shell-command (concat "xdotool mousemove 491 760 click 1 sleep 4 type "
                           (shell-quote-argument (concat (plist-get talk :video-slug) "--final.webm"))))
    ;; open
    (shell-command "xdotool mousemove 1318 847 click 1 sleep 5")

    (kill-new (concat
               emacsconf-name " "
               emacsconf-year ": "
               (plist-get talk :title)
               " - "
               (plist-get talk :speakers-with-pronouns)))
    (shell-command "xdotool sleep 1 mousemove 331 440 click :1 key Ctrl+a Delete sleep 1 key Ctrl+Shift+v sleep 2")

    (kill-new (emacsconf-publish-video-description talk t))
    (shell-command "xdotool mousemove 474 632 click 1 sleep 1 key Ctrl+a sleep 1 key Delete sleep 1 key Ctrl+Shift+v"))
  (read-string "Press a key once you've pasted in the description")

  ;; next
  (when (emacsconf-captions-edited-p (expand-file-name (concat (plist-get talk :video-slug) "--main.vtt") emacsconf-cache-dir))
    (shell-command "xdotool mousemove 352 285 click 1 sleep 1")

    ;; add captions
    (shell-command "xdotool mousemove 877 474 click 1 sleep 3")
    (shell-command "xdotool mousemove 165 408 click 1 sleep 1")
    (shell-command "xdotool mousemove 633 740 click 1 sleep 2")
    (shell-command (concat "xdotool mousemove 914 755  click 1 sleep 4 type "
                           (shell-quote-argument (concat (plist-get talk :video-slug) "--main.vtt"))))
    (read-string "Press a key once you've loaded the VTT")
    (shell-command "xdotool mousemove 910 1037 sleep 1 click 1 sleep 4")
    ;; done
    (shell-command "xdotool mousemove 890 297 click 1 sleep 3")
    )


  (progn
    ;; visibility
    (shell-command "xdotool mousemove 810 303 click 1 sleep 2")
    ;; public
    (shell-command "xdotool mousemove 119 614 click 1 sleep 2")
    ;; copy
    (shell-command "xdotool mousemove 882 669 click 1 sleep 1")
    ;; done
    (shell-command "xdotool mousemove 908 1089 click 1 sleep 5 key Alt+Tab")

    (emacsconf-with-talk-heading talk
      (org-entry-put (point) "YOUTUBE_URL" (read-string "URL: "))
      ))
  )

Using xdotool wasn't very elegant, since I needed to figure out the coordinates for each click. I tried using Spookfox to control Mozilla Firefox from Emacs, but Youtube's editing interface didn't seem to have any textboxes that I could set. I decided to use EmacsConf 2023 as an excuse to learn how to talk to the Youtube Data API, which required figuring out OAuth. Even though it was easy to find examples in Python and NodeJS, I wanted to see if I could stick with using Emacs Lisp so that I could add the code to the emacsconf-el repository.

After a quick search, I picked url-http-oauth as the library that I'd try first. I used the url-http-oauth-demo.el included in the package to figure out what to set for the YouTube Data API. I wrote a function to make getting the redirect URL easier (emacsconf-extract-oauth-browse-and-prompt). Once I authenticated successfully, I explored using alphapapa's plz library. It can handle finding the JSON object and parsing it out for me. With it, I updated videos to include titles and descriptions from my Emacs code, and I copied the video IDs into my Org properties.

emacsconf-extract.el code for Youtube renaming

;;; YouTube

;; When the token needs refreshing, delete the associated lines from
;; ~/.authinfo This code just sets the title and description. Still
;; need to figure out how to properly set the license, visibility,
;; recording date, and captions.
;;
;; To avoid being prompted for the client secret, it's helpful to have a line in ~/.authinfo or ~/.authinfo.gpg with
;; machine https://oauth2.googleapis.com/token username CLIENT_ID password CLIENT_SECRET

(defvar emacsconf-extract-google-client-identifier nil)
(defvar emacsconf-extract-youtube-api-channels nil)
(defvar emacsconf-extract-youtube-api-categories nil)

(defun emacsconf-extract-oauth-browse-and-prompt (url)
  "Open URL and wait for the redirected code URL."
  (browse-url url)
  (read-from-minibuffer "Paste the redirected code URL: "))

(defun emacsconf-extract-youtube-api-setup ()
  (interactive)
  (require 'plz)
  (require 'url-http-oauth)
  (when (getenv "GOOGLE_APPLICATION_CREDENTIALS")
    (let-alist (json-read-file (getenv "GOOGLE_APPLICATION_CREDENTIALS"))
      (setq emacsconf-extract-google-client-identifier .web.client_id)))
  (unless (url-http-oauth-interposed-p "https://youtube.googleapis.com/youtube/v3/")
    (url-http-oauth-interpose
     `(("client-identifier" . ,emacsconf-extract-google-client-identifier)
       ("resource-url" . "https://youtube.googleapis.com/youtube/v3/")
       ("authorization-code-function" . emacsconf-extract-oauth-browse-and-prompt)
       ("authorization-endpoint" . "https://accounts.google.com/o/oauth2/v2/auth")
       ("authorization-extra-arguments" .
        (("redirect_uri" . "http://localhost:8080")))
       ("access-token-endpoint" . "https://oauth2.googleapis.com/token")
       ("scope" . "https://www.googleapis.com/auth/youtube")
       ("client-secret-method" . prompt))))
  (setq emacsconf-extract-youtube-api-channels
        (plz 'get "https://youtube.googleapis.com/youtube/v3/channels?part=contentDetails&mine=true"
          :headers `(("Authorization" . ,(url-oauth-auth "https://youtube.googleapis.com/youtube/v3/")))
          :as #'json-read))
  (setq emacsconf-extract-youtube-api-categories
        (plz 'get "https://youtube.googleapis.com/youtube/v3/videoCategories?part=snippet&regionCode=CA"
          :headers `(("Authorization" . ,(url-oauth-auth "https://youtube.googleapis.com/youtube/v3/")))
          :as #'json-read))
  (setq emacsconf-extract-youtube-api-videos
        (plz 'get (concat "https://youtube.googleapis.com/youtube/v3/playlistItems?part=snippet,contentDetails,status&forMine=true&order=date&maxResults=50&playlistId="
                          (url-hexify-string
                           (let-alist (elt (assoc-default 'items emacsconf-extract-youtube-api-channels) 0)
                             .contentDetails.relatedPlaylists.uploads)
                           ))
          :headers `(("Authorization" . ,(url-oauth-auth "https://youtube.googleapis.com/youtube/v3/")))
          :as #'json-read)))

(defvar emacsconf-extract-youtube-tags '("emacs" "emacsconf"))
(defun emacsconf-extract-youtube-object (video-id talk &optional privacy-status)
  "Format the video object for VIDEO-ID using TALK details."
  (setq privacy-status (or privacy-status "unlisted"))
  (let ((properties (emacsconf-publish-talk-video-properties talk 'youtube)))
    `((id . ,video-id)
      (kind . "youtube#video")
      (snippet
       (categoryId . "28")
       (title . ,(plist-get properties :title))
       (tags . ,emacsconf-extract-youtube-tags)
       (description . ,(plist-get properties :description))
       ;; Even though I set recordingDetails and status, it doesn't seem to stick.
       ;; I'll leave this in here in case someone else can figure it out.
       (recordingDetails (recordingDate . ,(format-time-string "%Y-%m-%dT%TZ" (plist-get talk :start-time) t))))
      (status (privacyStatus . "unlisted")
              (license . "creativeCommon")))))

(defun emacsconf-extract-youtube-api-update-video (video-object)
  "Update VIDEO-OBJECT."
  (let-alist video-object
    (let* ((slug (cond
                  ;; not yet renamed
                  ((string-match (rx (literal emacsconf-id) " " (literal emacsconf-year) " "
                                     (group (1+ (or (syntax word) "-")))
                                     "  ")
                                 .snippet.title)
                   (match-string 1 .snippet.title))
                  ;; renamed, match the description instead
                  ((string-match (rx (literal emacsconf-base-url) (literal emacsconf-year) "/talks/"
                                     (group (1+ (or (syntax word) "-"))))
                                 .snippet.description)
                   (match-string 1 .snippet.description))
                  ;; can't find, prompt
                  (t
                   (when (string-match (rx (literal emacsconf-id) " " (literal emacsconf-year))
                                       .snippet.title)
                     (completing-read (format "Slug for %s: "
                                              .snippet.title)
                                      (seq-map (lambda (o) (plist-get o :slug))
                                               (emacsconf-publish-prepare-for-display (emacsconf-get-talk-info))))))))
           (video-id .snippet.resourceId.videoId)
           (id .id)
           result)
      (when slug
        ;; set the YOUTUBE_URL property
        (emacsconf-with-talk-heading slug
          (org-entry-put (point) "YOUTUBE_URL" (concat "https://www.youtube.com/watch?v=" video-id))
          (org-entry-put (point) "YOUTUBE_ID" id))
        (plz 'put "https://www.googleapis.com/youtube/v3/videos?part=snippet,recordingDetails,status"
          :headers `(("Authorization" . ,(url-oauth-auth "https://youtube.googleapis.com/youtube/v3/"))
                     ("Accept" . "application/json")
                     ("Content-Type" . "application/json"))
          :body (json-encode (emacsconf-extract-youtube-object video-id (emacsconf-resolve-talk slug))))))))

(defun emacsconf-extract-youtube-rename-videos (&optional videos)
  "Rename videos and set the YOUTUBE_URL property in the Org heading."
  (let ((info (emacsconf-get-talk-info)))
    (mapc
     (lambda (video)
       (when (string-match (rx (literal emacsconf-id) " " (literal emacsconf-year)))
         (emacsconf-extract-youtube-api-update-video video)))
     (assoc-default 'items (or videos emacsconf-extract-youtube-api-videos)))))

(provide 'emacsconf-extract)

I haven't quite figured out how to set status and recordingDetails properly. The code sets them, but they don't stick. That's okay. I think I can set those as a batch operation. It looks like I need to change visibility one by one, though, which might be a good opportunity to check the end of the video for anything that needs to be trimmed off.

I also want to figure out how to upload captions. I'm not entirely sure how to do multipart form data yet with the url library or plz. It might be nice to someday set up an HTTP server so that Emacs can handle OAuth redirects itself. I'll save that for another blog post and share my notes for now.

This code is in emacsconf-extract.el.

09 Dec 22:59

Irreal: PSA: The Emacs/GnuPG Problem

by jcs
Tom Roche

pullquote:
> downgrade [GnuPG] to version 2.4.0

Most Emacs users are probably aware of the current problem with using Gnu Privacy Guard (GnuPG) with Emacs. The TL;DR is that although you can open GnuPG encrypted files, you can’t edit and resave them. This problem was introduced in GnuPG 2.4.1 and is apparently hard to fix. As of this writing, it persists in all the GnuPG releases after 2.4.0.

A simple solution is to simply downgrade to GnuPG 2.4.0. It’s a simple solution, that is, unless you installed GnuPG with Homebrew. In that case, the solution is a bit more difficult but still not hard. I wrote about how to do it here. In a comment to that post, Michael Alan Dorman notes that another suggested—and far easier solution—is to simply add

(fset 'epg-wait-for-status 'ignore)

to your init.el. That seemed like an easy solution and I resolved to try it the next time I faced the problem.

I’ve just stumbled across a reddit post that suggests that solution will corrupt your encrypted files and make them unreadable. I haven’t had time to verify that yet but I wanted to get the warning out immediately. Hence the PSA. Until the issue is resolved, I’d avoid using that solution and downgrade to version 2.4.0 instead.

09 Dec 18:58

#481 - Ratings War

Tom Roche

EXCELLENT dissection of US sh*tlibbery, esp the subject movie as illustrating "Thomas-Friedman-brain"

In the lead-up to the 2003 Iraq War, HBO made a movie about the lead-up to the first Gulf War, from the perspective of its most important factor: CNN. In LIVE FROM BAGHDAD (2002), Michael Keaton and his team of CNN reporters are Davids against the Goliaths that are establishment media... and the Iraqi security state. We discuss a mind-bogglingly awful piece of American propaganda from the Bush era. Join us on Patreon for an extra episode every week - https://www.patreon.com/michaelandus Richard Seymour on CNN and Iraq - https://www.youtube.com/watch?v=ELrGcK6XInE&ab_channel=TeleSUREnglish Luke's interview with Tantoo Cardinal - https://www.thestar.com/entertainment/movies/youve-got-to-crash-a-door-and-fail-and-get-back-up-canadas-most-recognizable/article_729f94ea-8ec2-11ee-843c-733c6d38c787.html Luke's review of Werner Herzog's memoir - https://www.thestar.com/entertainment/movies/werner-herzogs-new-memoir-is-as-complicated-and-fascinating-as-the-filmmaker-himself/article_92daad66-8ed7-11ee-9628-9345052d7cc2.html Will's new zine, "The Journal of Stoogeological Studies" - https://www.amazon.com/dp/B0CPM5JBPB
08 Dec 21:37

The Now Show - 10th November

Tom Roche

Amusing-enough Now Show, esp
~ good Punt-and-Dennis segments, esp on Fiona the sheep and Shakespeare (2 /different/ bits :-)
+ EXCELLENT 1st guest Alasdair Beckett-King, jokes on British politics
~ good (though subpar for him) Huge Davies song about the brighter side of AI overlordship

but skip 18:10-24:25 (Desiree Burch--not very funny, but very scumbag (not here, but for years vs Assange)--bit followed by subpar audience participation bit)

Steve Punt and Hugh Dennis present the week via topical stand-up and sketches. They are joined by Alasdair Beckett-King who mourns his political heroes, Desiree Burch with a deep dive on fast fashion, and Huge Davies gives us his musical take on why AI might not be so bad after all.

The show was written by the cast with additional material from Mike Shephard, Zoe Tomalin, Christina Riggs and Cody Dahler.

Voice actors: Daniel Barker & Gemma Arrowsmith

Producer: Sasha Bobak Production Coordinator: Katie Baum

A BBC Studios Production for Radio 4

08 Dec 18:28

The Barbary Corsairs

Tom Roche

excellent

Melvyn Bragg and guests discuss the North African privateers who, until their demise in the nineteenth century, were a source of great pride and wealth in their home ports, where they sold the people and goods they’d seized from Christian European ships and coastal towns. Nominally, these corsairs were from Algiers, Tunis or Tripoli, outreaches of the Ottoman empire, or Salé in neighbouring Morocco, but often their Turkish or Arabic names concealed their European birth. Murad Reis the Younger, for example, who sacked Baltimore in 1631, was the Dutchman Jan Janszoon who also had a base on Lundy in the Bristol Channel. While the European crowns negotiated treaties to try to manage relations with the corsairs, they commonly viewed these sailors as pirates who were barely tolerated and, as soon as France, Britain, Spain and later America developed enough sea power, their ships and bases were destroyed.

With

Joanna Nolan Research Associate at SOAS, University of London

Claire Norton Former Associate Professor of History at St Mary’s University, Twickenham

And Michael Talbot Associate Professor in the History of the Ottoman Empire and the Modern Middle East at the University of Greenwich

Producer: Simon Tillotson

Reading list:

Robert C. Davis, Christian Slaves, Muslim Masters: White Slavery in the Mediterranean, the Barbary Coast and Italy, 1500-1800 (Palgrave Macmillan, 2004)

Peter Earle, Corsairs of Malta and Barbary (Sidgwick and Jackson, 1970)

Des Ekin, The Stolen Village: Baltimore and the Barbary Pirates (O’Brien Press, 2008)

Jacques Heers, The Barbary Corsairs: Warfare in the Mediterranean, 1450-1580 (Skyhorse Publishing, 2018)

Colin Heywood, The Ottoman World: The Mediterranean and North Africa, 1660-1760 (Routledge, 2019)

Alan Jamieson, Lords of the Sea: A History of the Barbary Corsairs (Reaktion Books, 2013)

Julie Kalman, The Kings of Algiers: How Two Jewish Families Shaped the Mediterranean World during the Napoleonic Wars and Beyond (Princeton University Press, 2023)

Stanley Lane-Poole, The Story of the Barbary Corsairs (T. Unwin, 1890)

Sally Magnusson, The Sealwoman’s Gift (A novel - Two Roads, 2018)

Philip Mansel, Levant: Splendour and Catastrophe on the Mediterranean (John Murray, 2010)

Nabil Matar, Turks, Moors and Englishmen in the Age of Discovery (Columbia University Press, 1999)

Nabil Matar, Britain and Barbary, 1589-1689 (University Press of Florida, 2005)

Giles Milton, White Gold: The Extraordinary Story of Thomas Pellow and North Africa’s One Million European Slaves (Hodder and Stoughton, 2004)

Claire Norton (ed.), Conversion and Islam in the Early Modern Mediterranean: The Lure of the Other (Routledge, 2017)

Claire Norton, ‘Lust, Greed, Torture and Identity: Narrations of Conversion and the Creation of the Early Modern 'Renegade' (Comparative Studies of South Asia, Africa and the Middle East 29/2, 2009)

Daniel Panzac, The Barbary Corsairs: The End of a Legend, 1800-1820 (Brill, 2005)

Rafael Sabatini, The Sea Hawk (a novel - Vintage Books, 2011)

Adrian Tinniswood, Pirates of Barbary: Corsairs, Conquests and Captivity in the 17th century (Vintage Books, 2010)

D. Vitkus (ed.), Piracy, Slavery and Redemption: Barbary Captivity Narratives from Early Modern England (Columbia University Press, 2001)

J. M. White, Piracy and Law in the Ottoman Mediterranean (Stanford University Press, 2018)

08 Dec 18:22

789 - E-ACK!!! feat. Liz Franczak (12/7/23)

Tom Roche

excellent

TrueAnon week belatedly continues with Liz’s first ever solo appearance on the show. We discuss the killing of a journalist and poster in Gaza, and the turn towards sexual assault as a rhetorical weapon among the pro-war crowd. Then, Liz fills us in on last night’s GOP debate, we touch on Elon Musk’s bizarre interview last week, and look at the state of the effective altruism & “effective accelerationism” movements.


Buy Amber’s book: https://us.macmillan.com/books/9781250269621/dirtbag

Get bonus content on Patreon

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

07 Dec 20:59

787 - Octagonal Relations feat. Karim Zidan (12/4/23)

Tom Roche

SINGULAR fascinating discussion bet Felix (only, with almost no humor) and Karim Zidan @ Sports Politika, mostly on global sports (esp--but not only--MMA), geopolitics (esp sportswashing), and geoeconomy. Mostly large-scale, but many interesting personal relationships and stories, so entertaining and informative on several levels.

Sports journalist Karim Zidan returns to the show to catch up with Felix about the world of combat sports and their attendant politics. They discuss responses to Israel/Gaza in the MMA world, developments in Saudi Arabia’s use of sports for soft power, political use of fight sports in Chechnya, and the deep bromance between Dana White and Donald Trump.


Find Karim's writing at: https://www.sportspolitika.news/

Follow Karim at: https://twitter.com/ZidanSports


Prod note: we’re putting out two public episodes today, partially to re-align the episode numberings to keep Monday eps even and Thursday eps odd. Obviously something only I care about, but also just letting you know to expect a regular Patreon ep this Thursday.

Get bonus content on Patreon

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

07 Dec 18:50

World War Civ 27: Western front 1914 from Belgium to the Marne

Tom Roche

excellent as usual!

Germany brings the big guns to Belgium, sacks Louvain and follows the doctrine of terrorizing civilians. The British Expeditionary Force whose commander’s name is French, joins France for some battles. A war of maneuver ends with a non-breakthrough on the Marne and the race to the coast. 1914 ends with no winner, and no one’s … Continue reading "World War Civ 27: Western front 1914 from Belgium to the Marne"
07 Dec 18:49

The Year in Review 2023: the black, the white and the downright colourful

Tom Roche

alas, this year's model is skippable sh*tlibbery

In a year when wars and the referendum on the voice all worked towards dividing us, there were moments of joy and unity. Our end of year panel digs deep to find them.

AJ Lamarque, comedian, writer, producer and host of the Kweens of Comedy

Alice Fraser, writer and podcast host of Tea with Alice and The Gargle.

Carly Williams, national indigenous correspondent with the ABC and a Quandamooka woman from SE Queensland

Jonathan Biggins, writer and performer in The Wharf Review currently showing at the Seymour Centre

07 Dec 03:31

Should Taxpayers Be Subsidizing the Artistic Tastes of the Rich? Questions the Washington Post Won’t Ask

by Dean Baker
Tom Roche

skip to EXCELLENT section='A Democratic Alternative to the “Patronage” Model'

The Washington Post ran a lengthy article about how Ava DuVernay is having her latest film financed by the Ford Foundation, as well as foundations supported by Melinda French Gates and Lauren Jobs. The piece describes the film, and notes how this can be a new model for financing artistic films that for-profit studios may not support:

“It’s a patronage model reminiscent of the charity bestowed on art museums or opera companies — high-cultural institutions that couldn’t survive without deep-pocketed benefactors.”

However, an important fact that did not get mentioned in the Post’s piece is that the charitable contributions made by the rich people who finance these foundations involve a large taxpayer subsidy.

While the size of the charitable contribution tax deduction has varied, depending on the tax rates at the time on incomes and estates, it has been roughly 40 percent. This means that taxpayers are picking up the tab for 40 cents of every dollar that these rich people choose to contribute to support Ms. DuVernay’s film. (To be clear, this is not at all a criticism of her new film. She is an accomplished filmmaker, and from the write-up in the article, it sounds like a very worthwhile project.)

The fact that the “patronage model” involves a large element of taxpayer subsidy seems an important point that might have been worth noting. While many of us may think it is a good idea for the government to support creative work and creative workers, we might not think that it’s best that the rich be the ones who decide which work deserves the taxpayers’ support.

A Democratic Alternative to the “Patronage” Model

Under the current system, the rich get the vast majority of the benefits from the charitable contribution tax deduction. This is both because they are taxed at a higher rate, so that $1 off of their taxable income saves them more money than $1 off the taxable income of a moderate or middle-income person, and also because the rich are far more likely to itemize their tax deductions.

Only 11.4 percent of taxpayers itemize their deductions, most of whom are at the top end of the income distribution. The overwhelming majority of taxpayers use the standard deduction. For them, the charitable contribution tax deduction is of no value whatsoever.

However, we could redesign this structure to make the benefits more evenly spread by changing the tax deduction to a credit. And, if we think it is important for the government to subsidize creative work, we could designate that this credit be used to support creative work.

The way this could work is that we would give every adult a credit of some size (say $100 to $200), which would be used to support the creative worker or organization that supports creative work, of their choosing. If we assume that every adult in the country could use their credit, this comes to between $25 billion and $50 billion a year, which would be a good chunk of change to support creative work.[1]

To be eligible to receive money through this system, a person or organization would register with the I.R.S., or a new agency, indicating what creative work they did. This registration would be similar to what non-profits do now to get tax-exempt status from the I.R.S.

They must say what they do that qualifies them for tax-exempt status; are they a church, a charity that provides food to the poor, or a think tank? The I.R.S. doesn’t make an effort to determine whether they are a good church, charity, or think tank, they just determine whether they do what they claim and if that would qualify them for tax-exempt status.

The same would be the case for individuals or organizations that register to be eligible for the creative work tax credit. They would indicate they are a writer, a movie producer, a singer, etc. Alternatively, an organization could register saying that they support blues musicians, mystery writers, or historical movies.

A condition of getting the money could be that the recipients are not eligible for copyright protection for a substantial period of time, say three to five years. The logic here is that the government gives people one subsidy for their work, not two. Copyright monopolies are one mechanism the government uses to support creative work. There is no reason that it should give people who benefit from this mechanism an additional subsidy in the form of money from a tax credit.

There is also the issue that the point of the credit is to support creative work for people to enjoy. If the work produced with the credit is paywalled and comes with a high price tag, not many people will see it. By contrast, if any work supported through this system is freely available over the web, it should attract the widest possible audience.

This copyright provision also has the benefit that it is largely self-enforcing. If someone who was getting money through the system tries to get a copyright during the period in which they are ineligible for copyright protection, their copyright is simply unenforceable. If a false copyright claimant attempts to bring a suit for copyright violation against someone, the person simply points out that the claimant was in the tax credit system and therefore their copyright is not valid.  

The system for taxpayers using the credit would be similar to what is now in place for the charitable deduction. They could just indicate on their tax return that they had paid a certain amount to a qualified person or organization, with the understanding that they could be later asked for evidence that they had made this contribution.

Also, since the plan would be that everyone would have access to the credit, even if they did not pay income taxes, the system could be designed so that the government makes this payment directly on the taxpayer’s behalf. This would mean that they could fill out a form indicating which creative workers or organizations they wanted to support, and the government would make the payment.[2]

There obviously are many details that would need to be worked out in designing this sort of system, and there will undoubtedly be problems, but that is true with any system, including the current charitable contribution deduction. We could design the system to prevent obvious scams, for example, requiring that people get at least $3,000 in credit money, in order to be able to collect anything through the system, would prevent any sort of simple trading of credits. The key point is that we could design a government-funded system for supporting creative work that does not rely on the whims of the rich, as is now the case.

Journalism, a Special Case

The collapse of newspapers over the last quarter century, and especially local newspapers, has created interest in devising a system whereby the government supports this vital service. There have been various routes proposed, but there are efforts in at least two cities, Washington and Seattle, that have proposed this sort of individual credit or voucher system.

If one of these cities can get a news voucher system up and running, it would both do much to revitalize journalism in their community, and also provide a model for a more democratic system of taxpayer funding for creative work. The fact is, we do not need rich people to decide which creative work the government should support.

We should have a broader discussion on how taxpayer funding for the arts should be used. That would require some clearer thinking on this topic than what we see in public discussions today. It might also require some new ideas. We know the old saying that intellectuals have a hard time dealing with new ideas, but we need to have the discussion anyhow.   

 

 

 

 

 

 

[1] I outline this sort of system in my book Rigged (it’s free).

[2] This route of direct payments might be preferable in a start-up phase where participation could be low. Suppose the credit was set at $100 a person, with the idea that if 250 million people took advantage of the credit, $25 billion would be paid out to creative workers. If the payments were made through a centralized system, and just a small number – say 25 million people – opted to use the credit, then the value of the credit could just be increased by a factor of ten. This would mean that each person who used their credit would effectively be contributing $1,000 to the creative workers/organizations of their choice.

The fact that the credits were initially far more valuable than originally intended should provide people with a strong incentive to participate in future years. In any case, this system would ensure that a substantial pot of money was available to support creative work.

The post Should Taxpayers Be Subsidizing the Artistic Tastes of the Rich? Questions the Washington Post Won’t Ask appeared first on Center for Economic and Policy Research.

07 Dec 03:27

Hell of Presidents: Episode 10 - The Nude Eels

Tom Roche

belated post regarding Hell O' Presidents: I downloaded all of 14 of the main HoP episodes (not the extras--gotta get those) whileback, so this is just from memory, but ... if you never did much serious study of US history (e.g., AP American History), or even if you did but longtime ago, you will learn something from HoP. Even if you /do/ have some depth on US history, you will still find the Christman/Wade treatment entertaining.

Roosevelt - Truman

Let's make a deal.

Get bonus content on Patreon

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