Shared posts

30 Jan 22:11

Irreal: Syncing Orgzly With Emacs

by Irreal

One of the goals of many Emacs users is to be able read and write Org entries on their phones or tablets. There are several solutions for this. On the Android platform, one of the most popular was Orgzly. Sadly, Orgzly is no longer under development but its user base stepped up with orgzly-revived to keep the project alive.

Erik L. Arneson is an Orgzly-revived user and wants to automatically sync the Orgzly-revived files on his phone with the Emacs files on his computer. Since those files are always open on his computer, syncing them was a problem.

Arneson found a way to do this using ownCloud and the built-in syncing functions of Orgzly-revived. One problem was that the files on his computer had to be marked auto-revert so that Emacs would reread them when they were changed on disk.

His solution for this was to put all the files that he was sharing with Orgzly-revived in a separate directory and then use a directory local variable to specify that all files in that directory should be marked as auto-revert.

Orgzly-revived is, of course, just one app that allows sharing files between Emacs and your phone or tablet, and it’s for Android only. There are other apps, some for Android, some for iOS that do roughly the same thing. All of them, in order to be useful, need to be able to sync files between Emacs and the remote device. The details of doing this will doubtless vary but it’s likely that the files on Emacs will need to be marked auto-revert so Arneson’s trick of using a directory local variable is worth knowing.

30 Jan 17:20

China's shocking DeepSeek AI pops US Big Tech monopoly bubble

Tom Roche

EXCELLENT analysis as usual

The Chinese company DeepSeek shocked the West with a groundbreaking open-source artificial intelligence model that beats huge Silicon Valley Big Tech monopolies. The US government is already trying to ban it, using "national security" as an excuse. Ben Norton explains. VIDEO: https://www.youtube.com/watch?v=6hRmK84_K7Q Topics 0:00 China's Sputnik moment 1:05 DeepSeek beats US Big Tech 2:20 Open source R1 model 3:18 US tech stocks crash 5:27 US stock market bubble 6:55 Magnificent 7 8:26 Billionaire oligarchs 10:48 USA bans Chinese competitors 13:34 Data privacy and spying? 15:35 Cyber attacks 16:33 US tech war on China 19:36 China "can't innovate" 22:02 China's rapid tech progress 24:49 Dancing robots in China 25:36 Tech race in new cold war 27:20 Outro
30 Jan 16:41

1/29/25: Trump Funding Freeze Blocked By Judge, Stephen Miller Spars With Tapper, Charlamagne Confronts Vivek On DOGE Exile, US Romania Coup, Trump Envoy In Gaza

Tom Roche

consistently excellent esp on US-NATO coup in Romania

Ryan and Emily discuss Trump funding freeze blocked by judge, Stephen Miller spars with Tapper on deportation, Charlamagne calls out Vivek on DOGE exile, CNN liberal resistance anchor pushed out, US caught in Romania coup, Trump envoy visits Gaza.

 

Murtaza Hussain: https://x.com/MazMHussain?ref_src=twsrc%5Egoogle%7Ctwcamp%5Eserp%7Ctwgr%5Eauthor

Jeff Stein: https://x.com/JStein_WaPo

 

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

 

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

See omnystudio.com/listener for privacy information.

29 Jan 17:33

Trans Military Ban, J6 Pardon Aftermath, Sports War: Super Bowl Swifties | Lil Rel Howery

Tom Roche

funny (esp Sports War), and not a bad interview

Michael Kosta checks in on the latest Trumpworld news: new press secretary Karoline Leavitt, the banning of trans people in the military, and the aftermath of pardoned Jan. 6 insurrectionists. Troy Iwata sets up an elaborate sting for J6 sex offenders. Plus, Sports War: Kosta and Ronny Chieng on Super Bowl Swifties, Philly celebrations, & NHL nachos.

Comedian and actor Lil Rel Howery chats about starring in the new animated film “Dog Man,” how therapy has benefited his life and his comedy, and the “Get Out” tagline that follows him at every T.S.A. checkpoint.

See omnystudio.com/listener for privacy information.

29 Jan 16:58

Jon Stewart on Dems' Accusations of Fascism, China's New A.I. | Royal Ramey

Tom Roche

EXCELLENT (even the interview!), funny

Jon Stewart discusses China's new A.I. tool "DeepSeek," and urges Democrats to convince voters of THEIR plan rather than react to Trump's "fascist" first week of executive orders.

Chief Royal Ramey, a formerly incarcerated firefighter, and CEO and co-founder of the Forestry and Fire Recruitment Program, joins to discuss his program. They talk the hands-on training he received while incarcerated, why the work appeals to those currently serving time, and how helping a community and experiencing the “prison-to-public servant pipeline” changed his life.

See omnystudio.com/listener for privacy information.

28 Jan 23:47

903 - Tuna Melt Moment feat. Alex Nichols (1/27/25)

Tom Roche

EXCELLENT funny

Alex is back on the pod to review the first full week of 2rump news, but first, we wish friend of the show Catturd a speedy recovery from his impacted bowel. Then, we look at Trumps barrage of executive orders, cabinet staffing, and denial of security clearances to a number of former NatSec ghouls. We also discuss the Democrats’ new Tuna-based appeals for viral attention, and consider how history will judge Joe Biden. Get bonus content on Patreon

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

28 Jan 20:28

Democracy Now! 2025-01-28 Tuesday

Tom Roche

weak 1st segment (after the {always-excellent, can't miss} patented DN! headlines), then 2 strong segs followed by EXCELLENT final/4th seg interview with Raz Segal (@ Stockton U) on /Genocide Denial in Holocaust Studies/

Democracy Now! 2025-01-28 Tuesday

  • Headlines for January 28, 2025
  • As ICE Conducts Made-for-TV Raids, Cities from Chicago to Newark Resist Trump's Immigration Crackdown
  • "War of Plunder": How Rwanda Has Fueled War in DRC as Western Countries Look Away
  • Gold, Guns & Genocide: How the UAE Profits from RSF War Crimes in Sudan
  • Genocide Denial in Holocaust Studies: Scholar Raz Segal on Gaza & 80 Years After Auschwitz Liberation

Download this show

28 Jan 18:55

How About Some News?

by The Späti Boys
Tom Roche

VERY EXCELLENT, Ciarán+Nick+Uma bring yucks+analysis (yuxalysis?) to topics including

* Albania: Trumpers do bad art
* Berlin: where Germans go for bad art
* Ireland: various hijinks esp Cherry Tomato Bridge and The Catholic Church
* Eurovision 2025 preview: Ciarán dons his sequined cargo shorts to deliver on topics including Zionism, Moldova, Israel, Finland, Malta, and Romania
* Slovakia politics
* France politics and media: Melanchon house attacked, corporate centrists (esp their owned media) fail
***** also resurfacing: long-running thread on France news delay
* Uma on new documentary on Spanish police spying on Catalan nationalists esp left, The Gang on global police spying on leftists

28 Jan 04:19

Bad Hasbara 78: Sieg Heart, with Eli Valley

Tom Roche

EXCELLENTly stabs into the degenerating evil heart of genocidal Zionism, esp evil clowns like Iliza Shlesinger and Bari Weiss

Matt and Daniel are joined by artist and satirist Eli Valley to talk over the continuing ceasefire and hostage release, Elon Musk stretchin' that arm out, and the public garment rending of shiksa-passing American Jewish entertainers.

Please donate to Muslim Aid USA: mausa.org

Get Eli’s latest, Museum of Degenerates: orbooks.com/catalog/museum-of-degenerates/

Subscribe to Eli’s patreon: patreon.com/elivalley

Subscribe to the Patreon https://www.patreon.com/badhasbara

Subscribe/listen to Bad Hasbara wherever you get  your podcasts.

Spotify https://open.spotify.com/show/5RDvo87OzNLA78UH82MI55

Apple Podcasts https://podcasts.apple.com/us/podcast/bad-hasbara-the-worlds-most-moral-podcast/id1721813926



Support this podcast at — https://redcircle.com/bad-hasbara/donations

Privacy & Opt-Out: https://redcircle.com/privacy
28 Jan 00:15

TDS Time Machine | Sports War 2024

Tom Roche

VERY EXCELLENT, consistently very funny (except for the pre-, inter- and post-audio ads). This is /not/ about sports commentary (which is rudimentary at best), but insult comedy at its best, plus a number of /excellent/ shots at legalized gambling in the US (e.g., from memory: "Gambling--if you think it's ruining your life, stop thinking!")

Sports War correspondents clash over WNBA and NBA player debuts and a Paris 2024 Olympics recap, sponsored by gambling and fueled by this year’s breaking sports news.

See omnystudio.com/listener for privacy information.

26 Jan 20:36

TDS Time Machine | Vacation Getaways

Tom Roche

EXCELLENT: consistently funny--even TN--and no ads!

Escape the winter doldrums with a look back at some of The Daily Show's expert vacation recommendations.

Trevor Noah discusses Ted Cruz's aborted trip to Cancun amidst a dangerous winter storm, then unpacks Miami's spring break problem. Michael Kosta gives you Just the Tip with his best travel tips and tricks. Trevor talks with audience members about his love of world travel, and Michael Kosta returns to explain how to vacation from home during a pandemic. 

See omnystudio.com/listener for privacy information.

26 Jan 19:37

Yi Tang: Setup ssh-agent Systemd Service for Emacs

by Yi Tang
Tom Roche

pullquote (lightly edited):
> I [currently need to setup] my server so I can work [remotely]. I got stuck in getting magit working in emacsclient: I thought I could run ssh-add inside of Emacs that would allow magic to access my git repos using ssh. After some digging, I learnt that the problem I have to solve is to run one ssh-agent in the background and then make the Emacs/Magit or any programs hook onto it. Then once I run ssh-add and type the passphrase for the first time, either inside of Emacs or in a bash terminal, everything would work.
post archived [here](http://web.archive.org/web/20250126193513/http://yitang.uk/2025/01/26/setup-sshagent-systemd-service-for-emacs/)

Problem Statement

My personal desktop is not booting (the motherboard is probably dead) so I have been setting my server so I can work while sorting things out.

I got stuck in getting magit working in emacsclient: I thought I could run ssh-add inside of Emacs that would allow magic to access my git repos using ssh, but apparently, it is not the case.

After some digging, I learnt that the problem I have to solve is to run one ssh-agent in the background and then make the Emacs/Magit or any programs hook onto it. Then once I run ssh-add and type the passphrase for the first time, either inside of Emacs or in a bash terminal, everything would work.

Implementation

Drop the following unit file below to ~/.config/systemd/user/ssh-agent.service.

[Unit]
Description=SSH key agent

[Service]
Type=simple
Environment=SSH_AUTH_SOCK=%t/ssh-agent.socket
ExecStart=/usr/bin/ssh-agent -D -a $SSH_AUTH_SOCK

[Install]
WantedBy=default.target

The important things are

  1. The environment variable SSH_AUTH_SOCK is specified. It can be anywhere as long as this environment variable in other programs points to the same location.
  2. ssh-agent is invoked with the -a option to provide an address specified in the above step.

The $t is a specifier1 in systemd, it is equivalent to $XDG_RUNTIME_DIR variable in Debian. It points to the runtime temporary directory which apparently is safer2 than the /tmp directory. The runtime directory was cleaned up after stopping the ssh-agent so it is non-persistent.

To start the ssh-agent service:

 
systemctl enable --user ssh-agent
systemctl start --user ssh-agent

After that, update the unit file of Emacs to include this line (follow up my blog post Managing Emacs Server as Systemd Service for the full setup).

Environment=SSH_AUTH_SOCK=%t/ssh-agent.socket

To make it work for bash shell and all other programs calling from a bash terminal, add this line to ~/.bashrc.

 
export SSH_AUTH_SOCK="$XDG_RUNTIME_DIR/ssh-agent.socket"

Alternatives

There are programs developed to solve this specific problem (see Debian wiki). While using such a program seems like a simpler alternative (e.g. keychain), I prefer to use systemd as the unified approach for managing background services. I have been using it for emacsclient, and I’m adding ssh-agent to it.

What is your preference? How do you solve this problem?

Footnotes

1 All the specifiers are listed here.

2 I am not a security expert but the StackExchange comments seem to make sense.

26 Jan 19:33

Protesilaos Stavrou: Emacs: organise your init file (outline-minor-mode or Org literate config)

by Protesilaos Stavrou

Raw link: https://www.youtube.com/watch?v=Dkoy3NrLN9g

In this 25-minute video I show two ways to organise your Emacs init.el file. One approach is to keep editing the code in Emacs Lisp and to leverage the “outline”, while the other is to use a literate Org file whose code blocks will be “tangled” to the init.el. I explain all the technicalities and show examples. More resources:

26 Jan 05:11

S5 Episode 7 - "Less Than Zero"

Tom Roche

another brilliant Blowback, 1975-1977

Cambodia slips into darkness, as the Khmer Rouge seize the country.



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

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

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

25 Jan 19:29

Confronting Capitalism: Why Elites Love Identity Politics

Tom Roche

4th ConfCap episode is a VERY EXCELLENT followup to the [2nd](https://pinecast.com/listen/06a56ccb-b6a0-460d-8d3e-07b255cf520a.mp3) (which refers to [this article](https://jacobin.com/2024/11/obama-democrats-2024-election-race))

In the wake of Kamala Harris's defeat, the Left's association with identity politics has been a major focus of public debate. But what identity politics is or who primarily benefits from it remains contested.

In this episode of Confronting Capitalism, Vivek Chibber discusses the Democrats’ long-standing attachment to identity politics, why this form of politics can't fight oppression, and the real history behind struggles for justice.

Confronting Capitalism with Vivek Chibber is produced by Catalyst: A Journal of Theory and Strategy, and published by Jacobin. Music by Zonkey.

24 Jan 20:43

News - Trump's First Week, Colombia Rebel Fighting, M23 Advances in DRC

Tom Roche

Bessner and (mostly) Davison deliver yet another EXCELLENT week-in-review (excepting the pre- and inter-audio ads)

Danny and Derek plug into the mainframe. This week: in Gaza, the ceasefire takes effect (0:37), allowing a surge of humanitarian aid (3:51), the latter being partly facilitated by Hamas’s police force back in power (5:50). Meanwhile, an agreement on the second phase of the ceasefire remains to be seen (7:56); the IDF launches a new operation in the West Bank (14:38); negotiations between the government and SDF continue in Syria (17:11); Turkey hints at a possible thaw with the Kurdish PKK (20:13); Afghan refugees who’d already been granted asylum are stranded after Trump’s executive order (24:54); China brokers a new ceasefire in Myanmar (27:49); M23 makes a new advance in the Democratic Republic of Congo (29:31); Trump threatens myriad economic penalties against Russia if it doesn’t end the war in Ukraine (31:42); NATO’s defense spending might be on the rise (34:19); Colombia breaks off peace talks with the ELN (37:48); Mexico and Honduras react to Trump’s deportation plans (40:10); Oxfam releases a new report on the rise in inequality (42:44); and Donald Trump signed a flurry of executive orders only a few days into taking office (44:44).    


Subscribe now at Supporting Cast!


Be sure to listen to our post-election special with Alexander Aviña on Trump’s plans regarding immigrants and deportations.

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

24 Jan 18:51

902 - Degenerative AI feat. Ed Zitron (1/23/25)

Tom Roche

VERY EXCELLENT esp on the AI bubble and Big Tech degeneration (as tech, not just politics). Unfortunately Felix+Will+guest Zitron (aka /FWZ/) go astray on

- Wikipedia. FWZ don't seem to realize that while it's definitely strong overall, Wikipedia has been annexed by the US deepstate to misrepresent any topic of current geopolitical relevance--i.e. it's also /NATOpedia/.
- CorpDem TikTok bungle. FWZ recover after awhile, but initially they seem to forget that the deepstate /actually/ moved to ban TikTok only after the Gaza genocide: i.e. the proximate cause was Zionism (and TikTok's insufficience thereof), and the subsequent CorpDem flailing was only WRT covering that up (with, e.g., the 'national security' argument). FWZ's analysis would have been more straightforward if they'd started from this premise (i.e., the overriding/determinative motive for banning TikTok was Zionist).

We’re joined by Better Offline podcast’s Ed Zitron to look at tech at the dawn of Trump 2. From Elon Musk’s “awkward gesture,” to Trump going all in on the increasingly vaporous projects of generative AI, and the slopification & inability to produce useful projects across all of the tech industry. Plus, Musk’s war on Wikipedia, and what’s really going on with the TikTok ban.


Get more Ed at:

Better Offline podcast: https://linktr.ee/betteroffline

Where’s Your Ed At newsletter: https://www.wheresyoured.at/

Get bonus content on Patreon

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

24 Jan 02:56

Jeremy Friesen: On Elfeed and Backups

by Jeremy Friesen
Tom Roche

{excellent, interesting}-looking elfeed-based workflow

I originally wrote this in my daily journal, but extracted it to a full post. I’m nearing a point in writing where I need to consider how I might more easily publish elements of my personal journal, while maintaining some as “too private.” This is a significant deviation from my blogs current setup. Much to consider, but what I have works, albeit with “friction”; a topic of the first 2025 IndieWeb Carnival “On the importance of friction”.

I’m smiling as I’m leaning into the robustness of the elfeed package 📖 .

Re-Introducing Elfeed

First, I have an RSS 📖 feed reader. In which the “news” rolls in according to when it was published, not some capturing algorithm.

Second, as I encounter interesting links by feed entries, I can open them in Emacs Web Wowser (EWW 📖) . From there, I give it a read and if I like the general disposition, I can invoke eww-copy-alternate-url to see if there are alternate URLs (e.g. an RSS feed). And add that to my list of feeds.

Third, as I read and want to comment, I invoke org-store-link which will copy the entry’s URL and title. I start capturing my thoughts and invoke org-insert-link to past the feed entry and title. This link type is elfeed. Meaning when I click on the link, I’m taken to the cached elfeed package version of that entry.

Fourth, I extended my elfeed package link type export from Org-Mode 📖 to export the URL of the feed item. Thus when I render my notes as HTML 📖 , the elfeed package link types are transformed to the well-known http://… format. I wrote about this feature in Exporting Org Mode Elfeed Links.

Fifth, is the local cache/database of elfeed package entries. All of those feed entries that have scrolled through my reader. Those, in their full text, are stored locally. (Sidenote: Writing this, I wish I would’ve started using elfeed package many years ago. But alas, those posts are lost to the ether.)

They are available for offline reading, even years past having read them. And I’ve treated these as important artifacts for me to “preserve.” And by that I mean, make sure I have regular back-up copies of that information.

Let’s review that process:

  • Generate an occasional copy of the cache.
  • Copy that copy to a few different devices.

Generate an Occasional Copy of the Cache

I have the following Emacs 📖 code, which is available on Github):

(defun jf/syncthing-aling ()
"Synchronize files into SyncThing bucket."
(interactive)
;; Ensure we have our queue and our ready location
(mkdir (file-truename "~/SyncThings/queue") t)
(mkdir (file-truename "~/SyncThings/source") t)
(message "Synchronzing denote files to cloud...")
;; There's a 1 in 10 chance that we'll perform the sync. Toss that d10.
(if (= 0 (random 10))
(progn
(message "Syncing elfeed database...")
;; We tar zip into one directory (our queue) and then move that
;; file in its complete state into the ready directory. As move
;; is instantaneous and we don't need to worry about syncthing
;; picking up a partially completed file.
(shell-command
(concat "tar -cvzf "
(file-truename "~/SyncThings/queue/elfeed.tar.gz")
" " elfeed-db-directory " && mv -f ~/SyncThings/queue/elfeed.tar.gz ~/SyncThings/source&")
"*syncthing-aling*"
"*syncthing-aling*"))
(message "I'll get you next time Gadget")))
;; Based on the idea of habit stacking, whenever I pull down my RSS
;; feed, I'll go ahead and sync my notes.
(advice-add #'jf/elfeed-load-db-and-open :before #'jf/syncthing-aling)
(add-hook 'after-init-hook #'jf/syncthing-aling)

Let’s pull out the comments (Sidenote: I made some adjustments to the comments to improve clarity, I hope.) in the order of operation:

  • Based on the idea of habit stacking, whenever I pull down my RSS feed, I’ll go ahead and sync my notes; maybe.
  • Ensure we have our queue and our ready location.
  • There’s a 1 in 10 chance that we’ll perform the sync. Toss that d10.
  • We tar and zip into one directory (our queue) and then move that file in its complete state into the ready directory. As move is instantaneous we won’t need to worry about SyncThing 📖 picking up a partially completed file.

Key in this is building the back-up process into a daily or thrice-daily ritual of mine.

I accept that my back-up won’t be “immediately up to date” but in using this process I can more reliably see when there are errors. That is I’m putting the “logs” in a place visible during my ritual of reading my RSS feed.

Copy That Copy to a Few Different Devices

I setup SyncThing on a few different devices. And the RSS feed cache is sent to those devices as “read only.” I don’t want to fuss with multiple devices having conflicting versions of this canonical cache, hence writing them to the devices.

To restore from those backups, I’d unzip and un-tar the files. As there’s no “operational urgency” to the backup, I’d restore at my leisure and then document accordingly. In essence, reverse the process of the Emacs function.

I’ve set my synchronization rules to only run when the devices are on the same network.

Conclusion

I feel a contentedness of having a repository of things I’ve read (or at least gathered) from the Internet. It is something that I should be able to easily re-build were I to lose or replace my primary machine.

I’ve chosen to use SyncThing instead of “pushing to the cloud” in part as a low-stakes experiment on eschewing cloud storage.

Why? This little local archipelago I’m creating requires far less resources than constantly syncing to a “remote” cloud. And I have more control over how it’s used as well as how many copies are saved.

I’m also treating this as a small, concrete, yet reversible experiment with cause for reflection. That is “how might I reduce my cloud storage footprint?” And adjusting my relationship to “always available” versus “available upon request.”

And here’s the realization: I don’t need much to always be available. And, with the current process, there’s space to identify what I want available outside of a tarball and thus “readable” on one of those other devices.

For example, I’ve shifted my Shopping List to write to that ready directory, not tarred and zipped, but as a plain text file. Which I can then read on my phone.

There’s more to think (and thus write) about in regards to how I’m thinking about this SyncThing ecosystem. But for now having a personal back-up is an absolute reassuring joy.

24 Jan 02:51

Can the World Survive in 2025? - Bryce Greene and Aaron Good (DCC68)

Tom Roche

EXCELLENT: Greene and Good geo-banting up a storm on a worldwide range of topics

Devil's Chess Club is part of the American Exception podcast on Patreon [ www.patreon.com/americanexception ]. Subscribe for access to past and future episodes of American Exception and Devil's Chess Club! Aaron and Bryce discuss a number of important/strange recent events, including: the tenuously hopeful Gaza Genocide ceasefire, the L.A. fires, the new Russia-Iran strategic alliance, Peter Thiel’s odd call for truth and reconciliation, and Alex Jones’ new dubious JFK assassination story pointing to President Lyndon Johnson. Special thanks to: * Dana Chavarria, production * Casey Moore, graphics * Michelle Boley, animated intro * Mock Orange, music
23 Jan 17:46

Pastor vs. Trump, Triumph Storms a Coffee Shop | Talib Kweli

Tom Roche

Just when I thought DSEE /might/ break the pattern ... they put up /another/ DSEE ep with great gags/bits, then an interview (host Ronny Chieng with Talib Kweli of /Black Star/ fame) that starts good before going all-the-way identity politics--as in explicitly race-over-class, which is what I should've expected from a child of the black PMC.

Ronny Chieng covers Trump’s face-off with a woke pastor, his lukewarm review of church, and a "f**k-it" approach to the Jan. 6 pardons. Troy Iwata investigates if the GOP’s amnesia for insurrectionist violence is really a disease. Plus, Triumph the Insult Comic Dog leads anti-Trump march in storming the... coffee shop?

Legendary hip-hop artist Talib Kweli sits down with Ronny Chieng to discuss the future of the music industry and his latest album "The Confidence of Knowing." They talk supporting artists outside of streaming, how hip-hop is deeply rooted in social justice, understanding the political divide beyond Democrat vs. Republican, and how tech billionaires profit off our social media engagement.

See omnystudio.com/listener for privacy information.

23 Jan 03:03

1/22/25: Trump Hypes H1b, ICE Raids Begin, $500 Billion AI Project, Israel Invades West Bank & MORE!

Tom Roche

RG+EJ consistently EXCELLENT

Ryan and Emily discuss Trump hyping H1b, panic in Chicago as ICE raids begin, tech bros slobber on Trump over new AI investments, historic snow storm pummels south, Maddow loses it on Trump Jan 6 pardons, Israel invades the West Bank.

 

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

 

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

See omnystudio.com/listener for privacy information.

22 Jan 20:09

Blatant imperialism: Trump vows to 'expand' US territory, threatens BRICS, hints at military force

Tom Roche

EXCELLENT survey of the many targets of the so-called "antiwar" but actually neocon Trump 2.0 regime

At his inauguration, US President Donald Trump promised to "expand our territory", invoked the colonialist "Manifest Destiny", and vowed to forcibly take over the Panama Canal (falsely claiming China runs it). He later threatened BRICS with 100% tariffs. Trump has hinted at use of military force to colonize Greenland as well. Ben Norton reports on Trump's foreign policy. VIDEO: https://www.youtube.com/watch?v=7HKc1uQpUFs Topics 0:00 Donald Trump's inauguration threats 0:56 (CLIP) Trump vows to 'expand our territory' 1:28 Mask off imperialism 1:59 Panama rejects Trump's threats 2:55 (CLIP) Trump hints at military force 3:27 Geopolitics of Panama Canal 4:01 Why Trump wants to colonize Greenland 5:18 Greenland's minerals 6:25 Trump threatens BRICS 7:09 (CLIP) Trump attacks BRICS... and Spain 8:18 Trump wants to make Canada 51st state 9:32 Trump threatens Mexico 10:31 Trump attacks Cuba 11:44 Politically motivated US 'terror' list 14:04 Trump strongly supports Israel 15:19 Marco Rubio, extreme warmonger 17:28 Summary of Trump's foreign policy 18:49 Outro
22 Jan 19:23

Democracy Now! 2025-01-16 Thursday

Tom Roche

excellent

Democracy Now! 2025-01-16 Thursday

  • Headlines for January 16, 2025
  • Report from Gaza: Ceasefire Announcement Raises Hopes, But Israel Kills 81 in New Attacks
  • Daniel Levy, Muhammad Shehada, Jeremy Scahill on Ceasefire Deal, Trump's Role & Palestine's Future
  • Pam Bondi, Trump's Attorney General Pick, Has History of Corporate Lobbying and Election Denial

Download this show

22 Jan 19:22

Alison Spittle: Petty Please

Tom Roche

seems /very/ skippable--I bailed @ 6 min, so if it gets better, lemme know

Comedian Alison Spittle explores some of her longest and deepest held grudges. The kind of thing most people would be ashamed to still be thinking about 30 minutes later, let alone contemplating exacting retribution decades on.

Studies show that the role you play in the school nativity can affect your life. And Alison is taking those studies very seriously. She was once cast as Mary - big gig - but forced to drop out after the director said she lacked focus. 30 years on, it's still something she thinks about. Can Natalie Cassidy help Alison get closure?

Written by Alison Spittle & Simon Mulholland With Ian Smith and Natalie Cassidy Script Edited by Joel Morris Produced by Lyndsay Fenner

A Mighty Bunny Production for BBC Radio 4

About Alison: Alison Spittle is an award-winning screenwriter, actress and comedian.

She is the creator, writer and star of the TV series Nowhere Fast which aired on RTE2 to critical acclaim in 2017. Her play Starlet premiered to great acclaim at the Dublin Fringe Festival, garnering 5 stars from The Sunday Times. She can also be heard on The Guilty Feminist and BBC Radio 4’s Wheel of Misfortune.

22 Jan 19:21

What? Seriously??

Tom Roche

just bant but just amusing enough

In this episode, Dara and Isy are joined by the astronaut Helen Sharman to learn about how humans learned to survive in space - with some diverting conversations about glitter, cat statues, hibernation, and shell suits.

What? Seriously?? is a new podcast which combines comedy with quirky history, hosted by Dara Ó Briain and Isy Suttie, who will unravel an extraordinary real-life tale each week with the help of a celebrity guest

Dara and Isy unearth stories that are definitely true, but also kind of unbelievable at the same time - the sort of stories that make you go ‘What? Seriously??’ when you hear them, but you resolve to tell them in the pub the first chance you get. The twist is that Dara and Isy have absolutely no idea how these strange-but-true tales will unfold and we’ll all be trying to figure it out together – or Dara and Isy will just go off on funny flights of fancy that are tangentially related to the story. They will be drip-fed the nuggets of narrative by a special guest expert who might just know something about the subject.

Across the series they will be joined by I’m A Celeb winner Georgia Toffolo, the Aussie comedian Rhys Nicholson, the broadcaster Stuart Maconie, Master Chef star Louisa Ellis, Miles from The Traitors, the comedian Richard Herring, the astronaut Helen Sharman, and Slow Horses star Chris Chung.

‘What? Seriously??’ with Dara Ó Briain and Isy Suttie and special guest Helen Sharman. Format co-developed by Dan Page. Story compiled by Gareth Edwards and Dan Page. Producer: Laura Grimshaw Executive Producer: Jon Holmes An unusual production for BBC Radio 4

22 Jan 18:32

What Trump 2.0 Means for Iran

by Murtaza Hussain
Tom Roche

surprisingly weak

Although the Trump allies have repeatedly vowed to pivot away from involvement in the Middle East, a major crisis still looms on the horizon with Iran. In his first term, President Donald Trump tore up the Iran Nuclear Deal, also known as the JCPOA, setting the stage for a renewed campaign of sanctions, sabotage, and assassination targeting Iran. Iran responded by vastly ramping up its nuclear enrichment program.

The situation continues to escalate, with Western powers weighing their dwindling options for how to respond to Iran’s nuclear expansion. Even after Israel inflicting major blows on Iran’s allies in the region over the past year, a U.S. war with Iran would be an extremely difficult and dangerous endeavor, and would destroy Trump’s vow to wind down U.S. wars in the region.

The U.S. now faces a choice of reengaging diplomatically with Iran, going to war, or accepting a nuclear Iran as a new reality.

On the new episode of Drop Site News's podcast Intercepted, Sina Toossi, a senior nonresident fellow at the Center for International Policy, joins Murtaza Hussain for a wide-ranging discussion on Iran and the incoming Trump administration.

Subscribe to our free newsletter at DropSiteNews.com



Get full access to Drop Site News at www.dropsitenews.com/subscribe
22 Jan 18:26

Real Python: How to Deal With Missing Data in Polars

Efficiently handling missing data in Polars is essential for keeping your datasets clean during analysis. Polars provides powerful tools to identify, replace, and remove null values, ensuring seamless data processing.

This tutorial covers practical techniques for managing missing data and highlights Polars’ capabilities to enhance your data analysis workflow. By following along, you’ll gain hands-on experience with these techniques and learn how to ensure your datasets are accurate and reliable.

By the end of this tutorial, you’ll understand that:

  • Polars allows you to handle missing data using LazyFrames and DataFrames.
  • You can check for null values in Polars using the .null_count() method.
  • NaN represents non-numeric values while null indicates missing data.
  • You can replace NaN in Polars by converting them to nulls and using .fill_null().
  • You can fix missing data by identifying, replacing, or removing null values.

Before you go any further, you’ll need some data. To begin with, you’ll use the tips.parquet file included in the downloadable materials that you can access by clicking the link below:

Get Your Code: Click here to download the free sample code that shows you how to deal with missing data in Polars.

The tips.parquet file is a doctored version of data publicly available from Kaggle. The dataset contains information about the tips collected at a fictitious restaurant over several days. Be sure to download it and place it in your project folder before getting started.

Note: The Parquet format is a format for storing large volumes of data. Disk size is minimized because of the compression algorithm it uses.

In addition, Parquet uses a columnar format and maintains metadata about each column’s content. This means columns can be searched very efficiently, often in parallel, without the need to search through the entire file.

The table below shows details about the columns in the tips.parquet file, along with their Polars data types. The text in parentheses beside each data type shows how these types are annotated in a DataFrame heading when Polars displays its results:

Column Name Polars Data Type Description
record_id Int64 (i64) Unique row identifier
total Float64 (f64) Bill total
tip Float64 (f64) Tip given
gender String (str) Diner’s gender
smoker Boolean (bool) Diner’s smoker status
day String (str) Day of meal
time String (str) Time of meal

As a starting point, you’ll investigate each of the columns in your data to find out whether or not they contain any null values. To use Polars, you first need to install the Polars library into your Python environment. To do this from a command prompt you use:

Windows PowerShell
PS> python -m pip install polars
Copied!
Shell
$ python -m pip install polars
Copied!

In a Jupyter Notebook, the command becomes:

Python
!python -m pip install polars
Copied!

Either way, you can then begin to use the Polars library and all of its cool features. Here’s what the data looks like:

Python
>>> import polars as pl

>>> tips = pl.scan_parquet("tips.parquet")

>>> tips.collect()
shape: (180, 7)
┌───────────┬───────┬──────┬────────┬────────┬─────┬────────┐
│ record_id ┆ total ┆ tip  ┆ gender ┆ smoker ┆ day ┆ time   │
│ ---       ┆ ---   ┆ ---  ┆ ---    ┆ ---    ┆ --- ┆ ---    │
│ i64       ┆ f64   ┆ f64  ┆ str    ┆ bool   ┆ str ┆ str    │
╞═══════════╪═══════╪══════╪════════╪════════╪═════╪════════╡
│ 1         ┆ 28.97 ┆ 3.0  ┆ Male   ┆ true   ┆ Fri ┆ Dinner │
│ 2         ┆ 22.49 ┆ 3.5  ┆ Male   ┆ false  ┆ Fri ┆ Dinner │
│ 3         ┆ 5.75  ┆ 1.0  ┆ Female ┆ true   ┆ Fri ┆ null   │
│ 4         ┆ null  ┆ null ┆ Male   ┆ true   ┆ Fri ┆ Dinner │
│ 5         ┆ 22.75 ┆ 3.25 ┆ Female ┆ false  ┆ Fri ┆ Dinner │
│ …         ┆ …     ┆ …    ┆ …      ┆ …      ┆ …   ┆ …      │
│ 176       ┆ 40.55 ┆ 3.0  ┆ Male   ┆ true   ┆ Sun ┆ Dinner │
│ 177       ┆ 20.69 ┆ 5.0  ┆ Male   ┆ false  ┆ Sun ┆ Dinner │
│ 178       ┆ 20.9  ┆ 3.5  ┆ Female ┆ true   ┆ Sun ┆ Dinner │
│ 179       ┆ 30.46 ┆ 2.0  ┆ Male   ┆ true   ┆ Sun ┆ Dinner │
│ 180       ┆ 18.15 ┆ 3.5  ┆ Female ┆ true   ┆ Sun ┆ Dinner │
└───────────┴───────┴──────┴────────┴────────┴─────┴────────┘
Copied!

First of all, you import the Polars library into your program. It’s considered good practice to import it using the alias pl. You then read the content of the tips.parquet file into Polars. To do this, you use the scan_parquet() function. This reads the file’s data into a Polars LazyFrame.

Unlike traditional DataFrames that store data, LazyFrames contain only a set of instructions—called a query plan—that defines how the data should be processed. To see the actual data, you still need to read it into a Polars DataFrame. This is called materializing the LazyFrame and is achieved using the .collect() method.

Before a LazyFrame materializes its data, its query plan is optimized. For example, Polars can choose to only read some data from the data source if those are enough to fulfill the query. Also, when you define a LazyFrame containing multiple instructions, there are no delays while you create it because you don’t need to wait for earlier data reads to complete before adding new instructions. This makes LazyFrames the preferred approach in Polars.

The result has a shape of 180 rows and 7 columns. This is shown in the output as the shape of the LazyFrame.

Next, you need to figure out if there’s any missing data you need to deal with:

Python
>>> (
...     tips
...     .null_count()
... ).collect()
shape: (1, 7)
┌───────────┬───────┬─────┬────────┬────────┬─────┬──────┐
│ record_id ┆ total ┆ tip ┆ gender ┆ smoker ┆ day ┆ time │
│ ---       ┆ ---   ┆ --- ┆ ---    ┆ ---    ┆ --- ┆ ---  │
│ u32       ┆ u32   ┆ u32 ┆ u32    ┆ u32    ┆ u32 ┆ u32  │
╞═══════════╪═══════╪═════╪════════╪════════╪═════╪══════╡
│ 0         ┆ 2     ┆ 4   ┆ 0      ┆ 0      ┆ 0   ┆ 2    │
└───────────┴───────┴─────┴────────┴────────┴─────┴──────┘
Copied!

To check for the presence of nulls, you use .null_count() on your LazyFrame which adds in an instruction to find a count of the nulls in each column of your data. Normally, this would require a read of the entire file. However, because a Parquet file stores a count of nulls for each column in its metadata, obtaining the counts is instantaneous.

To actually trigger the data read, you again use the LazyFrame’s .collect() method. This will implement the optimized version of the plan contained within your LazyFrame to obtain the required data.

Read the full article at https://realpython.com/polars-missing-data/ »


[ Improve Your Python With 🐍 Python Tricks 💌 – Get a short & sweet Python Trick delivered to your inbox every couple of days. >> Click here to learn more and see examples ]

22 Jan 18:18

Trump's First Day, Jan. 6 Pardons, Klepper Crashes Inauguration | Stephanie Hsu

Tom Roche

This is /definitely/ getting to be a pattern: another DSEE ep with great gags/bits, followed by a /very/ skippable interview--today, it's Stephanie Hsu being pals with fellow Chinese showbiz kid (and ep host) Ronny Chieng. Really, just bant, but not entertaining: bail @ 19:55. Plus buncha skippable ads (but that's IHeart for ya).

Ronny Chieng on Trump pulling the U.S. out of international treaties and organizations, pardoning the January 6th rioters, dissing Melania, and celebrating with the YMCA. Josh Johnson joins freed insurrectionists on their next criminal adventure.

Jordan Klepper Crashes Trump's Inauguration Weekend to talk to MAGA diehards who traveled near and far to witness Trump's... garbage truck?

Actor Stephanie Hsu sits down to discuss her new Peacock series, “Laid.” She talks getting her big break in the “SpongeBob SquarePants” Broadway musical, and the importance of “Everything Everywhere All At Once.”

See omnystudio.com/listener for privacy information.

22 Jan 03:27

901 - VI-Day feat. Mohammad Alsaafin (1/20/25)

Tom Roche

VERY EXCELLENT, Felix+Will+guest surprisingly funny

Journalist Mohammad Alsaafin returns to the show to discuss the temporary ceasefire & hostage exchange deal reached in Gaza. We discuss why and how this came about during the Biden-Trump transition, what the actual terms of the deal are, how it leaves the political situation in Israel, Palestine and the rest of the region, and the total effects of 15 months of war. Plus, what was actually in the gift bags given by Hamas to the freed Israeli hostages.


If you’re looking for ways to help, this is from Mohammad: More importantly, this is a good place people can donate to. This started out as a small soup kitchen set up by the family of a friend after their home was destroyed and his brother killed. Over the past year they've expanded to several soup kitchens, water trucks, small clinics and a couple of classrooms. The other brother who was running it was killed on his way to deliver supplies to Kamal Adwan hospital last month. They've done so much good work in helping people stay especially in northern Gaza:

https://www.gofundme.com/f/Hot-meals-in-gaza-daily?viewupdates=1&rcid=r01-173283450269-b9a1b078addc11ef

Get bonus content on Patreon

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

22 Jan 02:00

Jon Stewart on Trump’s Inauguration and Elon Musk's Nazi Salute | Brooke Harrington

Tom Roche

As so usual with DSEE: great comedy followed by wretched interview, so skip the ads and then from 21:22-41:02

Jon Stewart unravels the absurd "weave" of Trump's Inauguration Day, from Joe Biden's buzzer-beater pardons to the tech billionaire VIPs, to the passive-aggressive transfer of power. Plus, the Best F**kin News Team has full coverage on day one of the second Trump era.

Brooke Harrington, economic sociologist and author of “Offshore: Stealth Wealth and the New Colonialism," discusses modern American oligarchies and the behavior of the ultra-rich. They talk Donald Trump’s “broligarchy” of American tech billionaires, how they differ from the oligarchs of Russia and the Gilded Age, and how a coalition of laborers is the only way to dismantle the system.

See omnystudio.com/listener for privacy information.