Just my blogroll - BlogFlock 2025-09-18T18:03:35.106Z BlogFlock Irreal, Protesilaos Stavrou: News and Announcements, GamingOnLinux Latest Articles, BuzzMachine, Arialdo Martini, Justin Barclay, Emacs@ Dyerdwelling, The Emacs Cat, MacAdie Web Blog, Wilfred Hughes::Blog, Jeff Kreeftmeijer, Karthinks, Sacha Chua, Xah Lee, Philip KALUDERCIC, Bowmansarrow, Take on Rules, manuel uberti, Bicycle For Your Mind, LWN.net, Rock Paper Shotgun Latest Articles Feed, McSweeney’s Reading Papers And Taking Notes With Org Roam - Irreal https://irreal.org/blog/?p=13279 2025-09-18T17:14:04.000Z <p> Kiran Gopinathan has a very interesting video on <a href="https://www.reddit.com/r/emacs/comments/1niy3hk/how_i_read_papers_with_orgroam_zotero_emacs/">how she uses Emacs, Org-Roam, and Zotero to do her literature reviews</a>. If you aren&rsquo;t familiar with the concept, <i>Literature Reviews</i> are the process of reading papers related to your current research topic. Typically there are a lot of papers and you have to take notes as you go along so that you can draw it all together for your own research and papers. </p> <p> Her video serves as a real life example of a <a href="https://en.wikipedia.org/wiki/Zettelkasten">Zettelkasten</a> in action. A she reads a paper, she takes notes and, critically, links them to the other papers she&rsquo;s read on the current topic. Her workflow involves storing the papers in <a href="https://www.zotero.org/">Zotero</a> and automatically updating her BibTeX file as new papers are introduced. </p> <p> You can see Gopinathan&rsquo;s method in action in her video. Things move along fairly rapidly and can difficult to follow so you have to beardown when watching it but it&rsquo;s worth the effort. Even if you&rsquo;re not an academic, it&rsquo;s easy to see how the process could be useful for organizing your own data. </p> <p> Although she doesn&rsquo;t mention it in the video, her Org-Roam configuration is available online <a href="https://gist.github.com/kiranandcode/7216310a6b7989afb30f12f17f058123">in this Gist</a>. Take a look at it if you&rsquo;re interested in her method. The video is 16 minutes, 6 seconds long so it should be fairly easy to fit into your day. On the other hand, you may want to watch it more than once to wring out all the information it contains.</p> Tencent accuse Sony of trying "to fence off a well-trodden corner of popular culture" with their Horizon copyright lawsuit - Rock Paper Shotgun Latest Articles Feed https://www.rockpapershotgun.com/tencent-accuse-sony-of-trying-to-fence-off-a-well-trodden-corner-of-popular-culture-with-their-horizon-copyright-lawsuit 2025-09-18T17:02:30.000Z <img src="https://assetsio.gnwcdn.com/Light-of-Motiram_mammoth-battle.jpg?width=1920&height=1920&fit=bounds&quality=70&format=jpg&auto=webp" /> <p> This afternoon, a choice of two raging videogame lawsuits to report on. Firstly, a snippet from the on-going courtroom scrap between former Unknown Worlds executives and Krafton over the state of <a href="https://www.rockpapershotgun.com/games/subnautica-2">Subnautica 2</a>'s development, in which the former accuse the latter of changing their story about why the executives were fired.</p> <p>I've decided not to write that one up because it feels like we are entering the realm of potshots over minutiae, rather than learning anything genuinely new about Subnautica 2 or its creators, but if you're interested, <a href="https://www.gamesindustry.biz/krafton-inc-versus-subnautica-2-former-lead-developers">GamesIndustry.biz has your back</a>. The parallel Tencent/Sony bust-up has the virtue of relative novelty. It gives me a whole <em>different</em> kind of headache. What's going on with this one, then? </p> <p><a href="https://www.rockpapershotgun.com/tencent-accuse-sony-of-trying-to-fence-off-a-well-trodden-corner-of-popular-culture-with-their-horizon-copyright-lawsuit">Read more</a></p> NVIDIA are investing $5 billion in Intel to develop new chips together - GamingOnLinux Latest Articles https://www.gamingonlinux.com/2025/09/nvidia-are-investing-5-billion-in-intel-to-develop-new-chips-together/ 2025-09-18T16:48:55.000Z A huge announcement for the entire computing industry came today, with NVIDIA and Intel teaming up to make new chips for data centre and consumers too.<p><img src="https://www.gamingonlinux.com/uploads/articles/tagline_images/476494798id27621gol.jpg" alt />.</p><p>Read the full article on <a href="https://www.gamingonlinux.com/2025/09/nvidia-are-investing-5-billion-in-intel-to-develop-new-chips-together/">GamingOnLinux</a>.</p> Yes, Hollow Knight: Silksong has "some moments of steep difficulty" Team Cherry admit, but have you considered going for a pre-boss walk - Rock Paper Shotgun Latest Articles Feed https://www.rockpapershotgun.com/yes-hollow-knight-silksong-has-some-moments-of-steep-difficulty-team-cherry-admit-but-have-you-considered-going-for-a-pre-boss-walk 2025-09-18T16:10:19.000Z <img src="https://assetsio.gnwcdn.com/hollow-knight-silksong-stardew-valley-creator-cameo-01.jpg?width=1920&height=1920&fit=bounds&quality=70&format=jpg&auto=webp" /> <p>Something <a href="https://www.rockpapershotgun.com/games/hollow-knight-silksong">Hollow Knight: Silksong</a>-related has happened <a href="https://www.rockpapershotgun.com/silksong-may-release-before-september-given-that-itll-be-publicly-playable-by-then">at an Australian museum again</a>. This time, rather than the game being confirmed for an appearance back when it was still infinitely mysterious and sans release date, it's Team Cherry devs addressing just how difficult their creation is, following plenty of post-release discourse on the subject.</p> <p>This follows the <a href="https://www.rockpapershotgun.com/best-metroidvania-games">metroidvania</a>'s <a href="https://www.rockpapershotgun.com/hollow-knight-silksongs-first-patch-makes-some-early-bosses-slightly-easier-out-now-in-steam-and-gog-beta">first patch making a couple of its early bosses a bit easier</a> to tackle, amid debate as to whether it's just good and hard, or pushes into unnecessarily annoying slog territory via the likes of bench placement and hazards being able to deal out two masks of damage. As with every FromSoft game since time itself began with the release of <a href="https://www.rockpapershotgun.com/games/demons-souls">Demon's Souls</a>, where you stand on that bickering will likely depend on how prepared you are to spend hours battling one foe over and over again.</p> <p><a href="https://www.rockpapershotgun.com/yes-hollow-knight-silksong-has-some-moments-of-steep-difficulty-team-cherry-admit-but-have-you-considered-going-for-a-pre-boss-walk">Read more</a></p> Dying Light: The Beast is out, dark, Steam Deck Verified - Rock Paper Shotgun Latest Articles Feed https://www.rockpapershotgun.com/dying-light-the-beast-is-out-dark-steam-deck-verified 2025-09-18T16:01:06.000Z <img src="https://assetsio.gnwcdn.com/Dying-Light-2-The-Beast-night-zombie.jpeg?width=1920&height=1920&fit=bounds&quality=70&format=jpg&auto=webp" /> <p>Parkoury zombie bludgeoner <a href="https://www.rockpapershotgun.com/games/dying-light-the-beast">Dying Light: The Beast</a> has, literally just this minute, gone on sale, which means the review embargo curtain has lifted on RPS to reveal... an empty chair with an IOU stuck to it.</p> <p>This one is my bad, rather than because of any cheeky <a href="https://www.rockpapershotgun.com/hollow-knight-silksong-is-out-now-on-steam-our-review-is-on-the-way">code</a> <a href="https://www.rockpapershotgun.com/borderlands-4-is-out-now-but-our-review-code-just-arrived-so-im-writing-about-this-silly-bicycle-game-instead">withholding</a>. I&rsquo;d simply underestimated how many trillions of PC games were also out this week, and had to abandon my charge through The Beast to help keep the undermanned Treehouse on top of things elsewhere. Still, we&rsquo;ll shortly be bringing you a full, likely much better appraisal from RPS veteran Dominic Tarason (thaaaaaanks Dominic), and in penance, I offer some initial impressions from my couple of hours with the game&rsquo;s opening.</p> <p><a href="https://www.rockpapershotgun.com/dying-light-the-beast-is-out-dark-steam-deck-verified">Read more</a></p> [$] Extending the time-slice-extension discussion - LWN.net https://lwn.net/Articles/1038235/ 2025-09-18T15:30:18.000Z Time-slice extension is a proposed scheduler feature that would allow a user-space process to request to not be preempted for a short period while it executes a critical section. It is an idea that has been circulating for years, but efforts to implement it <a href="https://lwn.net/Articles/1009509/">became more serious</a> in February of this year. The latest developer to make an attempt at time-slice extension is Thomas Gleixner, who has posted <a href="https://lwn.net/ml/all/20250908225709.144709889@linutronix.de">a new patch set</a> with a reworked API. Chances are good that this implementation is close to what will actually be adopted by the kernel. Modding-friendly arcade racer Formula Legends is out now - works well on Linux / Steam Deck - GamingOnLinux Latest Articles https://www.gamingonlinux.com/2025/09/modding-friendly-arcade-racer-formula-legends-is-out-now-works-well-on-linux-steam-deck/ 2025-09-18T15:04:31.000Z If you have the need for speed but don't want to play one of the various full simulators, perhaps Formula Legends might be just the ticket you need.<p><img src="https://www.gamingonlinux.com/uploads/articles/tagline_images/2069841240id27620gol.jpg" alt />.</p><p>Read the full article on <a href="https://www.gamingonlinux.com/2025/09/modding-friendly-arcade-racer-formula-legends-is-out-now-works-well-on-linux-steam-deck/">GamingOnLinux</a>.</p> Rust 1.90.0 released - LWN.net https://lwn.net/Articles/1038649/ 2025-09-18T14:56:39.000Z <a href="https://blog.rust-lang.org/2025/09/18/Rust-1.90.0/">Version 1.90.0</a> of the Rust language has been released. Changes include switching to the <a href="https://lld.llvm.org/">LLD linker</a> by default, the addition of support for workspace publishing to <tt>cargo</tt>, and the usual set of stabilized APIs. Endless Legend 2's early access launch is a triumph of asymmetrical 4X design, but I do wish it were even stranger - Rock Paper Shotgun Latest Articles Feed https://www.rockpapershotgun.com/endless-legend-2s-early-access-launch-is-a-triumph-of-asymmetrical-4x-design-but-i-do-wish-it-were-even-stranger 2025-09-18T14:32:42.000Z <img src="https://assetsio.gnwcdn.com/1_UC7NZk1.png?width=1920&height=1920&fit=bounds&quality=70&format=jpg&auto=webp" /> <p> As the ravening shitbeetles of the Edwinphage overran the coral fortifications of the neighbouring Aspect kingdom, filling the air with the moist crunch of mandible on polyp, it occurred to me that I don't feel as much like a horrible doomsday cockroach as I should. We'll circle back to that feeling. <a href="https://www.rockpapershotgun.com/games/endless-legend-2">Endless Legend 2</a> launches into early access on 22nd September, and I've now spent around 20 hours with it. I've <a href="https://www.rockpapershotgun.com/endless-legend-2-is-everything-i-love-about-2014s-best-4x-but-on-a-map-thats-constantly-changing">previously praised</a> its new/reborn factions and retreating ocean mechanic, and I plan to carry on praising, but there are definitely some more comprehensive issues I'd love Amplitude to address as this splendid scarab of a turn-based <a href="https://www.rockpapershotgun.com/the-best-strategy-games-on-pc">strategy</a> game rumbles toward 1.0. </p> <p><a href="https://www.rockpapershotgun.com/endless-legend-2s-early-access-launch-is-a-triumph-of-asymmetrical-4x-design-but-i-do-wish-it-were-even-stranger">Read more</a></p> Security updates for Thursday - LWN.net https://lwn.net/Articles/1038638/ 2025-09-18T14:28:08.000Z Security updates have been issued by <b>AlmaLinux</b> (gnutls, mysql:8.4, opentelemetry-collector, and python-cryptography), <b>Debian</b> (nextcloud-desktop), <b>Fedora</b> (chromium, firefox, forgejo, gitleaks, kernel, kernel-headers, lemonldap-ng, perl-Cpanel-JSON-XS, and python-pip), <b>Red Hat</b> (firefox and libxml2), <b>Slackware</b> (expat and mozilla), <b>SUSE</b> (avahi, bluez, cups, curl, firefox-esr, gdk-pixbuf, gstreamer, java-1_8_0-ibm, krb5, net-tools, podman, raptor, sevctl, tkimg, ucode-intel, and vim), and <b>Ubuntu</b> (linux, linux-aws, linux-aws-hwe, linux-azure, linux-azure-4.15, linux-gcp, linux-gcp-4.15, linux-hwe, linux-kvm, linux-oracle, linux-fips, linux-azure-fips, linux-gcp-fips, and linux-gcp-6.14, linux-oracle, linux-oracle-6.14). Bluefin LTS released - LWN.net https://lwn.net/Articles/1038584/ 2025-09-18T14:24:09.000Z <p>The Universal Blue project has announced the release of <a href="https://docs.projectbluefin.io/blog/bluefin-lts-ga/">Bluefin&#160;LTS</a>, an image-based distribution similar to <a href="https://lwn.net/Articles/954059/">Bluefin</a> that uses CentOS&#160;Stream&#160;10 and EPEL instead of Fedora as its base:</p> <blockquote class="bq"> <p>Bluefin LTS ships with Linux 6.12.0, which is the kernel for the lifetime of release. An optional hwe branch with new kernels is available, offering the same modern kernel you'll find in Bluefin and Bluefin GTS. Both vanilla and HWE ISOs are available, and you can always choose to switch back and forth after installation. [...]</p> <p>Bluefin LTS provides a backported GNOME desktop so that you are not left behind. This is an important thing for us. James has been diligently working on GNOME backports with the upstream CentOS community, and we feel bringing modern GNOME desktops to an LTS makes sense.</p> </blockquote> <p></p> Alabaster Dawn from the devs of CrossCode has a demo out now - GamingOnLinux Latest Articles https://www.gamingonlinux.com/2025/09/alabaster-dawn-from-the-devs-of-crosscode-has-a-demo-out-now/ 2025-09-18T14:00:42.000Z Radical Fish Games known for the awesome CrossCode have just put a demo for their next action-RPG with Alabaster Dawn now available to test.<p><img src="https://www.gamingonlinux.com/uploads/articles/tagline_images/896544301id27619gol.jpg" alt />.</p><p>Read the full article on <a href="https://www.gamingonlinux.com/2025/09/alabaster-dawn-from-the-devs-of-crosscode-has-a-demo-out-now/">GamingOnLinux</a>.</p> Tails 7.0 released - LWN.net https://lwn.net/Articles/1038579/ 2025-09-18T13:52:28.000Z <p><a href="https://blog.torproject.org/new-release-tails-7_0/">Version 7.0</a> of the <a href="https://tails.net/">Tails</a> portable operating system has been released. This is the first version of Tails based on Linux 6.12.43, <a href="https://lwn.net/Articles/1033474/">Debian&#160;13</a> ("trixie") and GNOME&#160;48. It uses <tt>ztsd</tt> instead of <tt>xz</tt> to compress the USB and ISO images to deliver a faster start time on most computers. The release is dedicated to the <a href="https://lwn.net/Articles/997775/">memory of Lunar</a>, "<q>a traveling companion for Tails, a Tor volunteer, Free Software hacker, and community organizer</q>":</p> <blockquote class="bq"> <p>Lunar has always been by our side throughout Tails' history. From the first baby steps of the project that eventually became Tails, to the merge with Tor, he's provided sensible technical suggestions, out-of-the-box product design ideas, outreach support, and caring organizational advice.</p> <p>Outside of Tor, Lunar worked on highly successful Free Software projects such as the <a href="https://www.debian.org/">Debian</a> project, the Linux distribution on which Tails is based, and the <a href="https://reproducible-builds.org/">Reproducible Builds</a> project, which helps us verify the <a href="https://tails.net/contribute/build/reproducible/">integrity of Tails releases</a>.</p> </blockquote> <p>See the <a href="https://gitlab.tails.boum.org/tails/tails/-/blob/master/debian/changelog">changelog</a> for a full list of fixes, upgraded applications, and removals. LWN <a href="https://lwn.net/Articles/1029769/">covered</a> Tails Project team leader intrigeri's <a href="https://debconf25.debconf.org/">DebConf25</a> talk in July.</p> Go catch some creatures with the Critter Chaos Humble Bundle - GamingOnLinux Latest Articles https://www.gamingonlinux.com/2025/09/go-catch-some-creatures-with-the-critter-chaos-humble-bundle/ 2025-09-18T13:47:15.000Z Love creature collecting games? You should check out the Critter Chaos Humble Bundle that's live now with another 8 great games.<p><img src="https://www.gamingonlinux.com/uploads/articles/tagline_images/2025424362id27618gol.jpg" alt />.</p><p>Read the full article on <a href="https://www.gamingonlinux.com/2025/09/go-catch-some-creatures-with-the-critter-chaos-humble-bundle/">GamingOnLinux</a>.</p> Dying Light: The Beast rated Steam Deck Verified ahead of release - GamingOnLinux Latest Articles https://www.gamingonlinux.com/2025/09/dying-light-the-beast-rated-steam-deck-verified-ahead-of-release/ 2025-09-18T13:29:28.000Z A few hours before Dying Light: The Beast releases today, Valve put up a green tick for it to be Steam Deck Verified and SteamOS Compatible.<p><img src="https://www.gamingonlinux.com/uploads/articles/tagline_images/1967010823id27617gol.jpg" alt />.</p><p>Read the full article on <a href="https://www.gamingonlinux.com/2025/09/dying-light-the-beast-rated-steam-deck-verified-ahead-of-release/">GamingOnLinux</a>.</p> Obscure Emacs package appreciation: backup-walker - Sacha Chua https://sachachua.com/blog/2025/09/obscure-emacs-package-appreciation-backup-walker/ 2025-09-18T13:19:03.000Z <p> The <a href="https://www.emacswiki.org/emacs/Carnival">Emacs Carnival</a> theme for September is <a href="https://goritskov.com/posts/obscure_packages.html">obscure packages</a>, which made me think of how the <a href="https://github.com/lewang/backup-walker">backup-walker</a> package saved me from having to write some code all over again. Something went wrong when I was editing my config in Org Mode. I probably accidentally deleted a subtree due to over-enthusiastic speed commands. (&hellip; Maybe I should make my <code>k</code> shortcut for <a href="https://sachachua.com/dotemacs#org-mode-keyboard-shortcuts-speed-commands-org-mode-cutting-the-current-list-item-including-nested-lists-with-a-speed-command"><code>my-org-cut-subtree-or-list-item</code></a> only work in my Inbox.org and news.org files.) Chunks of my <a href="https://sachachua.com/dotemacs/index.html">literate Emacs configuration</a> were gone, including the code that defined <a href="https://sachachua.com/dotemacs#my-org-insert-link-dwim"><code>my-org-insert-link-dwim</code></a>. Before I noticed, I'd already exported my (now slightly shorter) Emacs configuration file with <code>org-babel-tangle</code> and restarted Emacs. I couldn't recover the definition from memory using <a href="https://sachachua.com/dotemacs#inserting-code"><code>symbol-function</code></a>. I couldn't use <a target="_blank" href="https://elpa.gnu.org/packages/vundo.html">vundo</a> to browse the Emacs undo tree. As usual, I'd been neglecting to commit my config changes to Git, so I couldn't restore a previous version. Oops. </p> <p> Well, not the first time I've needed to rewrite code from scratch because of a brain hiccup. I started to reimplement the function. Then I remembered that I had other backups. I have a 2 TB SSD in my laptop, and I had configured Emacs to neatly save numbered backups in a separate directory, keeping all the versions without deleting any of the old ones. </p> <div class="org-src-container"> <pre class="src src-emacs-lisp"><code>(<span class="org-keyword">setq</span> backup-directory-alist <span class="org-highlight-quoted-quote">'</span>((<span class="org-string">"\\.env$"</span> . nil) (<span class="org-string">"."</span> . <span class="org-string">"~/.config/emacs/backups"</span>))) (<span class="org-keyword">with-eval-after-load</span> <span class="org-highlight-quoted-quote">'</span><span class="org-highlight-quoted-symbol">tramp</span> (<span class="org-keyword">setq</span> tramp-backup-directory-alist nil)) (<span class="org-keyword">setq</span> delete-old-versions -1) (<span class="org-keyword">setq</span> version-control t) (<span class="org-keyword">setq</span> auto-save-file-name-transforms <span class="org-highlight-quoted-quote">'</span>((<span class="org-string">".*"</span> <span class="org-string">"~/.config/emacs/auto-save-list/"</span> t))) </code></pre> </div> <p> At the moment, there are about 12,633 files adding up to 3 GB. Totally worth it for peace of mind. I could probably use grep to search for the function, but it wasn't easy to see what changed between versions. </p> <p> I had learned about backup-walker in the process of writing about <a href="https://sachachua.com/blog/2025/06/thinking-about-time-travel-with-the-emacs-text-editor-and-org-mode/">Thinking about time travel with the Emacs text editor, Org Mode, and backups</a>. So I used <a href="https://github.com/lewang/backup-walker">backup-walker</a> to flip through my file's numbered backups in much the same way that git-timemachine lets you flip through Git versions of a file. After <code>M-x backup-walker-start</code>, I tapped <code>p</code> to go through the previous backups. The diff it showed me made it easy to check with <code>C-s</code> (<code>isearch-forward</code>) if this was the version I was looking for. When I found the change, I pressed RET to load the version with the function in it. Once I found it, it was easy to restore that section. I also restored a couple of other sections that I'd accidentally deleted too, like the custom <a href="https://sachachua.com/dotemacs#org-mode-publishing-plain-text">plain text publishing backend</a> I use to export Emacs News with less punctuation. It took maybe 5 minutes to figure this out. Hooray for backup-walker! </p> <p> Note that the backup-walker diff was the other way around from what I expected. It goes "diff new old" instead of "diff old new", so the green regions marked with <code>+</code> indicate stuff that was <b>removed</b> by the newer version (compared to the one a little older than it) and the red regions marked with <code>-</code> indicate stuff that was added. This could be useful if you think backwards in time, kind of like the <a href="https://www.gnu.org/software/emacs/manual/html_node/elisp/Antinews.html">Emacs Antinews</a> file, but my mind doesn't quite work that way. I wanted it to look like a regular diff, with the additions in newer versions marked with <code>+</code>. Emacs being Emacs, I changed it. Here's an example showing what it looks like now: </p> <figure id="org31523df"> <img src="https://sachachua.com/blog/2025/09/obscure-emacs-package-appreciation-backup-walker/2025-09-17_13-46-12.png" alt="2025-09-17_13-46-12.png"> <figcaption><span class="figure-number">Figure 1: </span>backup-walker diffs going the direction I want them to: additions (+) marked in green, deletions (-) in red</figcaption> </figure> <p> The following code makes it behave the way I expect: </p> <div class="org-src-container"> <pre class="src src-emacs-lisp"><code>(<span class="org-keyword">defun</span> <span class="org-function-name">my-backup-walker-refresh</span> () (<span class="org-keyword">let*</span> ((index (cdr (assq <span class="org-builtin">:index</span> backup-walker-data-alist))) (suffixes (cdr (assq <span class="org-builtin">:backup-suffix-list</span> backup-walker-data-alist))) (prefix (cdr (assq <span class="org-builtin">:backup-prefix</span> backup-walker-data-alist))) (right-file (concat prefix (nth index suffixes))) (right-version (format <span class="org-string">"%i"</span> (backup-walker-get-version right-file))) diff-buff left-file left-version) (<span class="org-keyword">if</span> (eq index 0) (<span class="org-keyword">setq</span> left-file (cdr (assq <span class="org-builtin">:original-file</span> backup-walker-data-alist)) left-version <span class="org-string">"orig"</span>) (<span class="org-keyword">setq</span> left-file (concat prefix (nth (1- index) suffixes)) left-version (format <span class="org-string">"%i"</span> (backup-walker-get-version left-file)))) <span class="org-comment-delimiter">;; </span><span class="org-comment">we change this to go the other way here</span> (<span class="org-keyword">setq</span> diff-buf (diff-no-select right-file left-file nil <span class="org-highlight-quoted-quote">'</span><span class="org-highlight-quoted-symbol">noasync</span>)) (<span class="org-keyword">setq</span> buffer-read-only nil) (delete-region (point-min) (point-max)) (insert-buffer diff-buf) (set-buffer-modified-p nil) (<span class="org-keyword">setq</span> buffer-read-only t) (force-mode-line-update) (<span class="org-keyword">setq</span> header-line-format (concat (format <span class="org-string">"{{ ~%s~ &#8594; ~%s~ }} "</span> (propertize left-version <span class="org-highlight-quoted-quote">'</span><span class="org-highlight-quoted-symbol">face</span> <span class="org-highlight-quoted-quote">'</span><span class="org-highlight-quoted-symbol">font-lock-variable-name-face</span>) (propertize right-version <span class="org-highlight-quoted-quote">'</span><span class="org-highlight-quoted-symbol">face</span> <span class="org-highlight-quoted-quote">'</span><span class="org-highlight-quoted-symbol">font-lock-variable-name-face</span>)) (<span class="org-keyword">if</span> (nth (1+ index) suffixes) (concat (propertize <span class="org-string">"&lt;p&gt;"</span> <span class="org-highlight-quoted-quote">'</span><span class="org-highlight-quoted-symbol">face</span> <span class="org-highlight-quoted-quote">'</span><span class="org-highlight-quoted-symbol">italic</span>) <span class="org-string">" ~"</span> (propertize (int-to-string (backup-walker-get-version (nth (1+ index) suffixes))) <span class="org-highlight-quoted-quote">'</span><span class="org-highlight-quoted-symbol">face</span> <span class="org-highlight-quoted-quote">'</span><span class="org-highlight-quoted-symbol">font-lock-keyword-face</span>) <span class="org-string">"~ "</span>) <span class="org-string">""</span>) (<span class="org-keyword">if</span> (eq index 0) <span class="org-string">""</span> (concat (propertize <span class="org-string">"&lt;n&gt;"</span> <span class="org-highlight-quoted-quote">'</span><span class="org-highlight-quoted-symbol">face</span> <span class="org-highlight-quoted-quote">'</span><span class="org-highlight-quoted-symbol">italic</span>) <span class="org-string">" ~"</span> (propertize (int-to-string (backup-walker-get-version (nth (1- index) suffixes))) <span class="org-highlight-quoted-quote">'</span><span class="org-highlight-quoted-symbol">face</span> <span class="org-highlight-quoted-quote">'</span><span class="org-highlight-quoted-symbol">font-lock-keyword-face</span>) <span class="org-string">"~ "</span>)) (propertize <span class="org-string">"&lt;return&gt;"</span> <span class="org-highlight-quoted-quote">'</span><span class="org-highlight-quoted-symbol">face</span> <span class="org-highlight-quoted-quote">'</span><span class="org-highlight-quoted-symbol">italic</span>) <span class="org-string">" open ~"</span> (propertize (propertize (int-to-string (backup-walker-get-version right-file)) <span class="org-highlight-quoted-quote">'</span><span class="org-highlight-quoted-symbol">face</span> <span class="org-highlight-quoted-quote">'</span><span class="org-highlight-quoted-symbol">font-lock-keyword-face</span>)) <span class="org-string">"~"</span>)) (kill-buffer diff-buf))) (<span class="org-keyword">with-eval-after-load</span> <span class="org-highlight-quoted-quote">'</span><span class="org-highlight-quoted-symbol">backup-walker</span> (advice-add <span class="org-highlight-quoted-quote">'</span><span class="org-highlight-quoted-symbol">backup-walker-refresh</span> <span class="org-builtin">:override</span> <span class="org-highlight-quoted-quote">#'</span><span class="org-highlight-quoted-symbol">my-backup-walker-refresh</span>)) </code></pre> </div> <p> <code>backup-walker</code> is not actually a real package in the sense of <code>M-x package-install</code>, but fortunately, recent Emacs makes it easier to install from a repository. I needed to install it from <a href="https://github.com/lewang/backup-walker">https://github.com/lewang/backup-walker</a>. It was written so long ago that I needed to <code>defalias</code> some functions that were removed in Emacs 26.1. Here's the use-package snippet from my configuration: </p> <div class="org-src-container"> <pre class="src src-emacs-lisp"><code>(<span class="org-keyword">use-package</span> backup-walker <span class="org-builtin">:vc</span> (<span class="org-builtin">:url</span> <span class="org-string">"https://github.com/lewang/backup-walker"</span>) <span class="org-builtin">:commands</span> backup-walker-start <span class="org-builtin">:init</span> (<span class="org-keyword">defalias</span> <span class="org-highlight-quoted-quote">'</span><span class="org-function-name">string-to-int</span> <span class="org-highlight-quoted-quote">'</span><span class="org-highlight-quoted-symbol">string-to-number</span>) <span class="org-comment-delimiter">; </span><span class="org-comment">removed in 26.1</span> (<span class="org-keyword">defalias</span> <span class="org-highlight-quoted-quote">'</span><span class="org-function-name">display-buffer-other-window</span> <span class="org-highlight-quoted-quote">'</span><span class="org-highlight-quoted-symbol">display-buffer</span>)) </code></pre> </div> <p> So there's an obscure package recommendation: <a href="https://github.com/lewang/backup-walker">backup-walker</a>. It hasn't been updated for more than a decade, and it's not even installable the regular way, but it's still handy. </p> <p> I can imagine all sorts of ways this workflow could be even better. It might be nice to dust off backup-walker off, switch out the obsolete functions, add an option for the diff direction, and maybe sort things out so that you can reverse the diff, split hunks, and apply hunks to your original file. And maybe a way to walk the backup history for changes in a specific region? I suppose someone could make a spiffy <a href="https://github.com/magit/transient">Transient</a>-based user interface to modernize it. But it's fine, it works. Maybe there's a more modern equivalent, but I didn't see anything in a quick search of <code>M-x list-packages</code> <code>/ N</code> (<code>package-menu-filter-by-name-or-description</code>) for "backup~, except maybe <a href="https://elpa.gnu.org/packages/vc-backup.html">vc-backup</a>. (The <a href="https://git.sr.ht/~pkal/vc-backup">original repo</a> is missing, but you can read it via <a href="https://gitweb.git.savannah.gnu.org/gitweb/?p=emacs/elpa.git;a=blob_plain;f=vc-backup.el;hb=refs/heads/externals/vc-backup">ELPA's copy</a>.) Is there a general-purpose VC equivalent to git-timemachine? That might be useful. </p> <p> I should really be saving things in proper version control, but this was a good backup. That reminds me: I should backup my backup backups. I had initially excluded my <code>~/.config</code> directory from <a href="https://www.borgbackup.org/">borgbackup</a> because of the extra bits and bobs that I wouldn't need when restoring from backup (like all the Emacs packages I'd just re-download). But my file backups&hellip; Yeah, that's worth it. I changed my <code>&#45;&#45;exclude-from</code> to <code>&#45;&#45;patterns-from</code> and changing my <a href="https://manpages.debian.org/testing/borgbackup/borg-patterns.1.en.html">borg-patterns</a> file to look like this: </p> <pre class="example" id="org1cb02d8"> + /home/sacha/.config/emacs/backups - /home/sacha/.config/* # ... other rules </pre> <p> May backup-walker save you from a future oops!</p> <div class="note">This is part of my <a href="https://sachachua.com/dotemacs#backups">Emacs configuration.</a></div><div><a href="https://sachachua.com/blog/2025/09/obscure-emacs-package-appreciation-backup-walker/index.org">View org source for this post</a></div> <p>You can <a href="https://social.sachachua.com/@sacha/statuses/01K5EHNVSHPHMAXFQPZYWJ1D1H" target="_blank" rel="noopener noreferrer">comment on Mastodon</a> or <a href="mailto:sacha@sachachua.com?subject=Comment%20on%20https%3A%2F%2Fsachachua.com%2Fblog%2F2025%2F09%2Fobscure-emacs-package-appreciation-backup-walker%2F&body=Name%20you%20want%20to%20be%20credited%20by%20(if%20any)%3A%20%0AMessage%3A%20%0ACan%20I%20share%20your%20comment%20so%20other%20people%20can%20learn%20from%20it%3F%20Yes%2FNo%0A">e-mail me at sacha@sachachua.com</a>.</p> Hack the system and cause chaos in the explosive top-down shooter DeadWire - GamingOnLinux Latest Articles https://www.gamingonlinux.com/2025/09/hack-the-system-and-cause-chaos-in-the-explosive-top-down-shooter-deadwire/ 2025-09-18T12:39:30.000Z A top-down shooter where anything from cars, cameras, electronics and even enemy implants can be rewired into chaotic chains of destruction in DeadWire.<p><img src="https://www.gamingonlinux.com/uploads/articles/tagline_images/727308615id27616gol.jpg" alt />.</p><p>Read the full article on <a href="https://www.gamingonlinux.com/2025/09/hack-the-system-and-cause-chaos-in-the-explosive-top-down-shooter-deadwire/">GamingOnLinux</a>.</p> Heroes of Might and Magic 2 project fheroes2 version 1.1.11 has been released - GamingOnLinux Latest Articles https://www.gamingonlinux.com/2025/09/heroes-of-might-and-magic-2-project-fheroes2-version-1-1-11-has-been-released/ 2025-09-18T12:13:23.000Z Another fresh upgrade for the Heroes of Might and Magic 2 open source game engine fheroes2 with some major changes and bug fixes.<p><img src="https://www.gamingonlinux.com/uploads/articles/tagline_images/7989970id27615gol.jpg" alt />.</p><p>Read the full article on <a href="https://www.gamingonlinux.com/2025/09/heroes-of-might-and-magic-2-project-fheroes2-version-1-1-11-has-been-released/">GamingOnLinux</a>.</p> Guide: How to install Hollow Knight: Silksong mods on Linux, SteamOS and Steam Deck - GamingOnLinux Latest Articles https://www.gamingonlinux.com/guides/view/how-to-install-hollow-knight-silksong-mods-on-linux-steamos-and-steam-deck 2025-09-18T12:08:36.000Z Hollow Knight: Silksong can be a challenging game and it has an active modding scene - here's how to install Silksong mods on Linux, SteamOS and Steam Deck.<p><img src="https://www.gamingonlinux.com/uploads/articles/tagline_images/1321750977id27614gol.jpg" alt />.</p><p>Read the full article on <a href="https://www.gamingonlinux.com/guides/view/how-to-install-hollow-knight-silksong-mods-on-linux-steamos-and-steam-deck">GamingOnLinux</a>.</p> The Friendly Nazis Next Door - McSweeney’s https://www.mcsweeneys.net/articles/the-friendly-nazis-next-door 2025-09-18T12:00:00.000Z <p>Everyone says that this new crop of American Nazis is really mean, but I, a white journalist, went out to talk to them for this profile, and they were actually really nice. I mean, sure, when I first met George Nathan Bedford Forrest Wallace on his compound, I was a little thrown off by his swastika hat, confederate flag T-shirt, and his pants, which had a crossed-out trans flag on each leg. All those hateful clothes made him seem a little mean.</p> <p>But when he opened the front door of his bunker for me, and I thought, <i>See, this is a guy with manners. </i> He knows how to treat a lady.</i></p> <p>His wife, Davida “Duke” Wallace, was also very nice. She introduced me to her knitting circle, which was six pleasant middle-aged ladies who were just sitting down for sweet tea and cake before they went back to their latest group knitting project. I was a little nervous when I saw that they were knitting a very large blanket that said <small>GO <span class="caps">BACK</span> TO <span class="caps">AFRICA</span></small>, but they also served me a scrumptious lemon cake with raspberry filling. They even gave me the recipe.</p> <p>And their kids couldn&#8217;t have been sweeter. Eleven-year-old George Wallace Junior and eight-year-old Strom Thurmond Wallace taught me how to play a game in the woods with their bow and arrows. I admit I was a little freaked out when they told me the game was called “The Great Re-Replacement Theory,” but I don’t know anything about the woods, and they kept me from crashing into poison ivy. Yeah, their game was a little edgy, but would truly terrible people help a stranger out like that?</p> <p>Overall, I have to say that I really enjoyed my visit with the Wallaces. I obviously don’t share their worldview, but I think they’re friendly, kind folks who everyone in the country would be proud to call &#8220;neighbor.&#8221; Okay, maybe not everybody, but you know, most Americans.</p> <div class='break'>- - -</div><p style="text-align:center;"><i>Kashana Cauley&#8217;s latest novel is</i> <a href="https://bookshop.org/p/books/the-payback-kashana-cauley/eb775bc233bf5698?ean=9781668075531&amp;next=t&amp;next=t&amp;affiliate=269"><strong>The Payback</strong></a>.</p>