<?xml version="1.0" encoding="UTF-8"?> <feed xmlns="http://www.w3.org/2005/Atom"> <title>~hedy's blogroll - BlogFlock</title> <subtitle>The blogroll listed on my website. https://home.hedy.dev/blogroll/</subtitle> <link rel="alternate" href="https://blogflock.com/lists/yq60j"/> <updated>2025-04-05T06:53:58.717Z</updated> <generator>BlogFlock</generator> <author> <name>Ploum.net, Protesilaos Stavrou: Master feed with all updates, Sloum, Baty.net, erock, ~hedy, James' Coffee Blog, Seirdy, Manuel Moreale RSS Feed</name> <email></email> </author> <entry> <title>P&B: Matt Webb - Manuel Moreale RSS Feed</title> <link href="https://manuelmoreale.com/pb-matt-webb"/> <id>https://manuelmoreale.com/@/page/inZ1SBQO9jyPz3dx</id> <updated>2025-04-04T11:00:00.000Z</updated> <summary></summary> <content type="html"> <p>This is the 84th edition of <em>People and Blogs</em>, the series where I ask interesting people to talk about themselves and their blogs. Today we have Matt Webb and his blog, <a href="https://interconnected.org/home/">interconnected.org</a></p> <p>To follow this series <a href="https://peopleandblogs.com">subscribe to the newsletter</a>. A new interview will land in your inbox every Friday. Not a fan of newsletters? No problem! You can read the interviews here on the blog or you can subscribe to the <a href="https://manuelmoreale.com/feed">RSS feed</a>.</p> <p>If you're enjoying the People and Blogs series and you want to see it grow, consider supporting on <a href="https://ko-fi.com/manuelmoreale">Ko-Fi</a>.</p> <hr /> <h2>Let's start from the basics: can you introduce yourself?</h2> <p>I’m Matt. I live in London and grew up on the south coast of the UK <a href="https://interconnected.org/home/2019/05/10/the_new_forest">in a place called the New Forest</a>. The gag is that it’s not new - it’s 900 years old - and it’s not a forest. When it was founded they chopped all the trees down to hunt deer.</p> <p>I guess I work in design and technology? I help big companies and new ones have new ideas and bring them to market via my one person studio <a href="https://www.actsnotfacts.com">Acts Not Facts</a>. Previously I co-founded a design consultancy called BERG and then ran a couple of startup accelerators with R/GA Ventures, and a ten thousand years ago co-authored a pop neuroscience book called <a href="https://mindhacks.com/book/">Mind Hacks</a>.</p> <p>I’m currently manufacturing a clock that <a href="https://www.actsnotfacts.com/made/ai-clock">tells the time with a new poem every minute</a>! I made an app that points <a href="https://www.actsnotfacts.com/made/galactic-compass">the way to the centre of the galaxy</a>!</p> <p>So yeah I am super easily distracted with side projects. I like running (when I’m not injured) and I write a whole bunch.</p> <p>My blog is called <a href="https://interconnected.org/home">Interconnected</a> and I’ve been blogging there for a little over 25 years.</p> <h2>What's the story behind your blog?</h2> <p>February 2000. That’s when I started. Though I felt like I was late to the game. Which is... wow. So wrong.</p> <p>I used to make web toys. Nothing wild by today’s standards but I made this six degrees game called <strong>Dirk</strong> that anyone could add to. A Douglas Adams reference of course! The strap line was something about exploring the fundamental interconnectedness of all things.</p> <p>And it got a little bit popular and somebody suggested I should get a domain for it, so I got interconnected.org. That was in 99 I guess?</p> <p>Then blogger.com got popular and everyone starting blogging. And I prevaricated for a bit because I wanted to roll my own tech to do it, but in the end I started a blog and I needed somewhere to put it so I put it at interconnected.org/home and I’ve been there ever since.</p> <p>What’s it like to write in the same place for 25 years? <a href="https://interconnected.org/home/2025/02/19/reflections">I blogged some thoughts on that</a> if you want the blow by blow.</p> <p>But I will say that, right there at the beginning, it felt transgressive and powerful that it was so <em>easy</em> to publish words and make a little home online. Once upon a time I used to make fanzines and that meant somehow begging access to a photocopier and somehow putting down money to print copies to sell. My eyes were wide when I discovered the web. (And then View Source.)</p> <p>Like, our little blogs are on the same playing field as the New York Times! That’s what the web meant to me.</p> <p>Blogging is small-p political again, today. It’s come back round. It’s a statement to put your words in a place where they are not subject to someone else’s algorithm telling you what success looks like; when you blog, your words are not a vote for the values of someone else’s platform.</p> <p>Even without all of that, blogging has been good to me. We used to meet up, us early bloggers in London, and many of my friends today are friends I made in those early days. And my blog is how I’ve gotten jobs. And new ideas.</p> <p>Now Interconnected is my public notebook. I think through ideas by writing so it’s part of my practice. I’ve posted something at least weekly for almost 5 years which is a neat milestone. I keep track of that particular streak in the site footer.</p> <h2>What does your creative process look like when it comes to blogging?</h2> <p>Ideas can happen anytime. The thing is to capture them. So I have a folder in a notes app and I’ll tap, tap, tap with my thumbs walking down the street.</p> <p>Right now I use iA Writer for all my writing. I used Ulysses for many years and I still love it. But I’m trying something different because I have a million words in this app, all my private notes, and I care a lot about longevity i.e. always having access to my data. So, in choosing a notes app, I index on “big folder of Markdown files.”</p> <p>I browse the ideas list and usually a couple combine and then I turn that into a rough outline. A good time to do that is on the train, or before dinner. I always need to know where to start a post. Then I start writing and never end up where I thought I would.</p> <p>I do a quick edit before posting. My priority is to publish so <a href="https://interconnected.org/home/2020/09/10/streak">I made a list of the mental blocks I create for myself</a> and I work to avoid them. I’m not too diligent, by design. Lots of typos.</p> <h2>Do you have an ideal creative environment? Also do you believe the physical space influences your creativity?</h2> <p>A friend once sent me this poem by Charles Bukowski, <a href="https://www.poemist.com/charles-bukowski/air-and-light-and-time-and-space">air and light and time and space</a>.</p> <blockquote> <p>no baby, if you're going to create<br /> you're going to create whether you work<br /> 16 hours a day in a coal mine<br /> or</p> </blockquote> <p>(And so on.)</p> <p>Now I’m no poet (or maybe I am, given the clock I’m making) but I feel the same.</p> <p>That said if I’m working on a more deliberate essay, or maybe a talk or some client work, I’ll open a bunch of tabs and pull a handful of books from the shelves and put them on the desk next to me, and I don’t look at them but somehow they help. This is a legit psychological thing apparently. <a href="https://interconnected.org/home/2020/10/15/finding_books">I asked a friend about it a few years ago</a> and he said “you gotta prime the latent conceptual space your thoughts move around.”</p> <p>So that’s what I’m doing, priming the conceptual etc.</p> <p>ALTHOUGH.</p> <p>Like I said, everything starts with ideas.</p> <p>I wouldn’t be able to blog at all if I weren’t writing down ideas.</p> <p>And the ideas seem to come most when I’m doing something else: walking out to get a sandwich at lunch, going to a gallery, reading a book about something I don’t know anything about, listening to <em>In Our Time</em> (<a href="https://interconnected.org/home/2023/02/07/braggoscope">I listen to a lot of In Our Time</a>)...</p> <p>Typing it, right now, I realise I should prioritise more time and space for those activities. Huh. I should give them more air and light.</p> <h2>A question for the techie readers: can you run us through your tech stack?</h2> <p>Right at the bottom of my blog, right at the bottom of the footer, the last line, there’s a link to the <a href="https://interconnected.org/home/2024/10/28/colophon">colophon</a>. You’ll find the whole tech stack there.</p> <p>Because it’s pretty baroque.</p> <p>I prioritise three things:</p> <ul> <li>Control. Like, I want to have a <a href="https://interconnected.org/home/feed">pretty RSS feed</a> and that’s hard to do on most other platforms.</li> <li>Place-ness. <a href="https://interconnected.org/home/2024/09/05/cursor-party">Every webpage deserves to be a place</a>. Each of my posts has multiplayer cursors and if a post gets busy then you’ll see it swarmed with other people. You can chat with them too, in an ephemeral kind of way.</li> <li>Longevity. I’ve re-written the stack a bunch of times over the years. Words matter, code not so much. How can I be sure I’ll still be able to get to my words in another 25 years?</li> </ul> <p>All of which takes me to building everything myself. Each post is a Markdown file, and the site is rendered by a small Python app. It’s not quite a static site. I layer co-presence on top which is written in another technology entirely.</p> <p>And oh my goodness I would not recommend this setup to anyone, not a bit, but it works very well for me.</p> <h2>Given your experience, if you were to start a blog today, would you do anything differently?</h2> <p>If I were to start a blog today, I would start an email newsletter. And that would be a mistake.</p> <p>I lucked into a situation where <a href="https://interconnected.org/home/2021/02/10/reservoirs">my words accumulate over time like a personal Memex</a> and I have a small and amazing readership -- seriously, whenever I ask something, whether it’s about something esoteric or even a personal favour, people are so informed and so generous.</p> <p>I close the loop by running something called <a href="https://interconnected.org/home/2020/09/24/unoffice_hours">Unoffice Hours</a>. I don’t have comments on the blog but I do have a few open calendar slots each week, so I’ve had almost 400 calls over the past few years with readers or people who have otherwise stumbled across Interconnected.</p> <p>And it all works so well for me, you know?</p> <h2>Financial question since the Web is obsessed with money: how much does it cost to run your blog? Is it just a cost, or does it generate some revenue? And what's your position on people monetising personal blogs?</h2> <p>I don’t make any money out of Interconnected, not directly. But it’s so, so worth it. I don’t how how to put a figure on the value of friends, work, ideas, opportunities and enjoyment I’ve got out of simply “thinking out loud” over the years.</p> <p>How much does it cost to run? I don’t know if I could quantify that. I pay for a server at Digital Ocean, analytics by Fathom, and email (all posts also go out by email) with Buttondown. But if were to track my time making notes for posts or actually writing them, haha no way, I dread to think.</p> <p>People should totally make money from their personal blogs if they want to and they can. This arrangement works super well for me.</p> <h2>Time for some recommendations: any blog you think is worth checking out? And also, who do you think I should be interviewing next?</h2> <p>It’s so hard to recommend blogs without knowing a person! <a href="https://interconnected.org/home/2023/12/29/recommendations">Here are 10 I picked a couple years ago</a> (not all are still going but that’s what archives are for).</p> <p>There are two people I’d be so keen to hear from.</p> <p>Darren Shrubsole blogs at <a href="https://www.timemachinego.com/linkmachinego/">LinkMachineGo</a>, which I love. We’re a similar vintage: we’re both London bloggers and he also just hit his <a href="https://www.timemachinego.com/linkmachinego/2025/03/04/25-random-thoughts-about-25-years-of-linkmachinego/">blogging silver jubilee</a>. So, how do our experiences overlap? How do they differ?</p> <p><a href="https://www.todepond.com">Lu a.k.a. todepond</a> blogs in a <a href="https://www.todepond.com/wikiblogardenite/">wiki? Blog? Digital garden? Something</a>. They are maybe a year or so into blogging with a combination of insightful-and-getting-the-big-traffic posts and beautiful, personal posts too. Lu isn’t “blogging,” they’re doing their own thing, and it’s electric and done with such clear-sighted self-knowledge, and such ease.</p> <h2>Final question: is there anything you want to share with us?</h2> <p>I think I should probably shut up now.</p> <p><a href="https://interconnected.org/home/2020/09/10/streak">Anyway.</a></p> <hr /> <p>This was the 84th edition of <em>People and Blogs</em>. Hope you enjoyed this interview with Matt. Make sure to <a href="https://interconnected.org/home/">follow his blog</a> (<a href="https://interconnected.org/home/feed">RSS</a>) and get in touch with him if you have any questions.</p> <h2>Awesome supporters</h2> <p>You can support this series on <a href="https://ko-fi.com/manuelmoreale">Ko-Fi</a> and all supporters will be listed here as well as on the <a href="https://peopleandblogs.com">official site</a> of the newsletter.</p> <p><a href="https://www.thingelstad.com">Jamie Thingelstad</a> (<a href="https://www.thingelstad.com/feed.xml">RSS</a>) — <a href="https://some.studio">Piet Terheyden</a> — Eleonora — <a href="https://carlbarenbrug.com">Carl Barenbrug</a> (<a href="https://carlbarenbrug.com/feed/rss">RSS</a>) — <a href="https://tangiblelife.net">Steve Ledlow</a> (<a href="https://tangiblelife.net/feed.rss">RSS</a>) — <a href="https://www.feadin.eu">Paolo Ruggeri</a> (<a href="https://www.feadin.eu/en/posts/index.xml">RSS</a>) — <a href="https://thejollyteapot.com">Nicolas Magand</a> (<a href="https://thejollyteapot.com/feed.rss">RSS</a>) — <a href="https://robhope.com">Rob Hope</a> — <a href="https://chrishannah.me">Chris Hannah</a> (<a href="https://chrishannah.me/index.xml">RSS</a>) — <a href="https://blog.pcora.eu">Pedro Corá</a> (<a href="https://blog.pcora.eu/feed.xml">RSS</a>) — <a href="https://softlandings.world/">Sixian Lim</a> (<a href="https://www.softlandings.world/feed.rss">RSS</a>) — <a href="https://mattstein.com">Matt Stein</a> (<a href="https://mattstein.com/rss.xml">RSS</a>) — <a href="https://winnielim.org">Winnie Lim</a> (<a href="https://winnielim.org/feed/">RSS</a>) — <a href="https://flamedfury.com/">Flamed</a> (<a href="https://flamedfury.com/feed.xml/">RSS</a>) — <a href="https://skyhold.org">C Jackdaw</a> (<a href="https://jackdaw.weblog.lol/rss.xml">RSS</a>) — <a href="https://www.doc.cc/">Fabricio Teixeira</a> (<a href="https://www.doc.cc/feed.xml">RSS</a>) — <a href="https://rosalindcroad.com">Rosalind Croad</a> — <a href="https://www.elmikewalsh.com">Mike Walsh</a> (<a href="https://www.elmikewalsh.com/feed.xml">RSS</a>) — <a href="https://muhh.lol">Markus Heurung</a> (<a href="https://muhh.lol/notes.xml">RSS</a>) — <a href="https://mwarrenarts.com/">Michael Warren</a> (<a href="https://mwarrenarts.com/rss">RSS</a>) — <a href="https://cagrimmett.com/">Chuck Grimmett</a> (<a href="https://cagrimmett.com/feed">RSS</a>) — <a href="https://eatweeds.co.uk">Robin Harford</a> (<a href="https://www.eatweeds.co.uk/feed/">RSS</a>) — <a href="https://bryanmanio.com/">Bryan Maniotakis</a> (<a href="https://bryanmanio.com/feed/">RSS</a>) — <a href="https://bjhess.com/">Barry Hess</a> (<a href="https://bjhess.com/posts_feed">RSS</a>) — <a href="https://ivanmoreale.com">Ivan Moreale</a> — <a href="https://werd.io/">Ben Werdmuller</a> (<a href="https://werd.io/feed">RSS</a>) — <a href="https://corygibbons.com">Cory Gibbons</a> — <a href="https://www.lkhrs.com/">Luke Harris</a> (<a href="https://www.lkhrs.com/blog/index.xml">RSS</a>) — <a href="https://lars-christian.com/">Lars-Christian Simonsen</a> (<a href="https://lars-christian.com/feed/">RSS</a>) — <a href="https://www.codyschultz.com">Cody Schultz</a> — <a href="https://bradbarrish.com">Brad Barrish</a> (<a href="https://bradbarrish.com/feed/">RSS</a>) — <a href="https://galaiko.rocks">Nikita Galaiko</a> — Erik Blankvoort — <a href="https://jagasantagostino.com">Jaga Santagostino</a> — <a href="https://andzuck.com/">Andrew Zuckerman</a> — <a href="https://www.mattiacompagnucci.com">Mattia Compagnucci</a> (<a href="https://mattiacompagnucci.com/feed.rss">RSS</a>) — <a href="https://tdh.se/">Thord D. Hedengren</a> (<a href="https://tdh.se/feed/feed.xml">RSS</a>) — <a href="https://fabiensauser.ch">Fabien Sauser</a> (<a href="https://fabiensauser.ch/index.xml">RSS</a>) — <a href="http://dizzard.net/">Maxwell Omdal</a> — <a href="https://numericcitizen.me">Numeric Citizen</a> (<a href="https://feedpress.me/numericcitizen-feeds.xml?ref=numericcitizen.me">RSS</a>) — <a href="https://heydingus.net">Jarrod Blundy</a> (<a href="https://heydingus.net/feeds">RSS</a>) — <a href="https://gwtf.it">Andrea Contino</a> (<a href="https://gwtf.it/feed">RSS</a>) — <a href="https://sebastiandedeyne.com/">Sebastian De Deyne</a> (<a href="https://sebastiandedeyne.com/index.xml">RSS</a>) — <a href="https://nicolalosito.it/">Nicola Losito</a> (<a href="https://nicolalosito.it/feed/">RSS</a>) — <a href="https://amerpie.lol/">Lou Plummer</a> (<a href="https://amerpie.lol/feed.xml">RSS</a>) — <a href="https://lmika.org/">Leon Mika</a> (<a href="https://lmika.org/feed.xml">RSS</a>) — <a href="http://veronique.ink">Veronique</a> (<a href="https://veronique.ink/feed/">RSS</a>) — <a href="https://surplusjouissance.com">Neil Gorman</a> (<a href="https://www.surplusjouissance.com/rss/">RSS</a>) — <a href="https://reaper.is/">Reaper</a> (<a href="https://reaper.is/rss.xml">RSS</a>) — <a href="https://www.mattrutherford.co.uk/">Matt Rutherford</a> (<a href="https://www.mattrutherford.co.uk/rss/">RSS</a>) — <a href="https://aleemshaun.com/">Aleem Ali</a> (<a href="https://aleemshaun.com/feed">RSS</a>) — <a href="https://nikkin.dev/">Nikkin</a> (<a href="https://nikkin.dev/feed.xml">RSS</a>) — <a href="https://hansfast.net">Hans</a> (<a href="https://hansfast.net/everything.rss">RSS</a>) — <a href="https://www.morelightmorelight.com/">Matt Katz</a> (<a href="https://www.morelightmorelight.com/feed">RSS</a>) — <a href="https://iljapanic.com/">Ilja Panić</a> — <a href="https://odongo.pl">Emmanuel Odongo</a> — <a href="https://ruk.ca/">Peter Rukavina</a> (<a href="https://ruk.ca/rss/feedburner.xml">RSS</a>) — <a href="https://jsrn.net">James</a> (<a href="https://jsrn.net/feed.xml">RSS</a>) — <a href="https://therealadam.com">Adam Keys</a> (<a href="https://therealadam.com/feed.xml">RSS</a>) — <a href="https://www.alexeystar.com/">Alexey Staroselets</a> (<a href="https://alexeystar.com/index.xml">RSS</a>) — <a href="https://saturnvalley.org">John L</a> — <a href="https://kangminsuk.com">Minsuk Kang</a> (<a href="https://kangminsuk.com/index.xml">RSS</a>) — <a href="https://nazhamid.com">Naz Hamid</a> (<a href="https://nazhamid.com/feed.xml">RSS</a>) — <a href="https://ken.fyi">Ken Zinser</a> (<a href="https://ken.fyi/feed.rss">RSS</a>) — Jan — <a href="https://verticolabs.com/">Grey Vugrin</a> (<a href="https://verticolabs.com/feed/">RSS</a>) — <a href="https://mzll.it">Luigi Mozzillo</a> (<a href="https://mzll.it/index.xml">RSS</a>) — <a href="https://www.alexhyett.com/">Alex Hyett</a> (<a href="https://www.alexhyett.com/feed/feed.atom.xml">RSS</a>) — <a href="https://andypiper.omg.lol/">Andy Piper</a> — <a href="https://shime.sh/">Hrvoje Šimić</a> (<a href="https://shime.sh/feed.xml">RSS</a>) — <a href="https://tschmeisser.com/">Travis Schmeisser</a> — <a href="https://doug.pub/">Doug Jones</a> — <a href="https://vincentritter.com/">Vincent Ritter</a> (<a href="https://vincentritter.com/feeds/all.json">RSS</a>) — <a href="https://shen.land/">Shen</a> — <a href="https://holzer.online/">Fabian Holzer</a> (<a href="https://holzer.online/feed.xml">RSS</a>) — <a href="https://netigen.com/">Courtney</a> (<a href="https://netigen.com/rss">RSS</a>) — <a href="https://jeremybassetti.com">Jeremy Bassetti</a> (<a href="https://jeremybassetti.com/index.xml">RSS</a>) — <a href="https://lukedorny.com">Luke Dorny</a> — <a href="https://tomeri.org/">Thomas Erickson</a> — <a href="https://herman.bearblog.dev">Herman Martinus</a> (<a href="https://herman.bearblog.dev/feed/">RSS</a>) — <a href="https://benny.bearblog.dev">Benny</a> (<a href="https://benny.bearblog.dev/feed/?type=rss">RSS</a>) — <a href="https://anniemueller.com/">Annie Mueller</a> (<a href="https://anniemueller.com/posts_feed">RSS</a>) — <a href="https://sekhmetdesign.thegeekcartel.com/">SekhmetDesign</a> — <a href="https://glbck.com">Gui</a> (<a href="https://www.glbck.com/feed.rss">RSS</a>) — <a href="https://longest.voyage/">Jamie</a> (<a href="https://longest.voyage/index.xml">RSS</a>) — <a href="https://www.juhaliikala.com/">Juha Liikala</a> (<a href="https://www.juhaliikala.com/rss/">RSS</a>) — <a href="https://alongtheray.com">Ray</a> (<a href="https://alongtheray.com/feed.rss">RSS</a>) — <a href="https://chadmoore.net/">Chad Moore</a> (<a href="https://chadmoore.net/posts_feed">RSS</a>) — <a href="https://ben.wf/">Benjamin Wittorf</a> (<a href="https://ben.wf/feed">RSS</a>) — Prabash Livera — <a href="https://binarydigit.city">BinaryDigit</a> (<a href="https://binarydigit.city/feed/">RSS</a>) — <a href="https://rkoziel.com/">Radek Kozieł</a> (<a href="https://rkoziel.com/index.xml">RSS</a>) — <a href="https://www.hlplanet.com/">Marcus Richardson</a> — Emily Moran Barwick</p> <h2>Want to support P&amp;B?</h2> <p>If you like this series and want to help it grow, you can:</p> <ol> <li><a href="https://ko-fi.com/manuelmoreale">support on Ko-Fi</a>;</li> <li>post about it on your own blog and let your readers know about its existence;</li> <li><a href="mailto:hello@manuelmoreale.com">email me</a> comments and feedback on the series;</li> <li><a href="mailto:email@peopleandblogs.com">suggest a person</a> to interview next. I'm especially interested in people and blogs outside the tech/web bubble.</li> </ol> <hr> <p>Thank you for keeping RSS alive. You're awesome.</p> <p><a href="mailto:hello@manuelmoreale.com">Email me</a> :: <a href="https://manuelmoreale.com/guestbook">Sign my guestbook</a> :: <a href="https://ko-fi.com/manuelmoreale">Support for 1$/month</a> :: <a href="https://manuelmoreale.com/supporters">See my generous supporters</a> :: <a href="https://buttondown.email/peopleandblogs">Subscribe to People and Blogs</a></p> </content> </entry> <entry> <title>Online counterculture - Manuel Moreale RSS Feed</title> <link href="https://manuelmoreale.com/online-counterculture"/> <id>https://manuelmoreale.com/@/page/zblVoJLa4jWiCxqW</id> <updated>2025-04-03T16:45:00.000Z</updated> <summary></summary> <content type="html"> <p>The year is 2025 and the web is—or at least it appears to be—an awful place to spend time on. Negativity is everywhere, ads are omnipresent, influencers are permeating every single corner, everything is hyper-commercialised, and AI garbage is now unavoidable.</p> <p>To make things even worse, traditional social media is not getting any better and people are running away from them to find refuge on Mastodon, Bluesky, or one of the countless other weird alternatives that have popped up lately.</p> <hr /> <p>Wiki defines the term counterculture like this:</p> <blockquote> <p>A counterculture is a culture whose values and norms of behaviour differ substantially from those of mainstream society, sometimes diametrically opposed to mainstream cultural mores. A countercultural movement expresses the ethos and aspirations of a specific population during a well-defined era. When oppositional forces reach critical mass, countercultures can trigger dramatic cultural changes. Countercultures differ from subcultures.</p> </blockquote> <p><em>Countercultures differ from subcultures.</em> The way I see it, the true online counterculture is not to join Mastodon or Bluesky. That’s just a different spice of the rotten experience that’s social media. True online counterculture is rejecting social media altogether. It’s leaving your subreddit and teaming up with a bunch of other people to set up an independent forum, yelling “fuck you to spez” in the process. Counterculture is spending time making zines and sending them out to 10 people across the globe, rather than posting shorts on fucking TikTok. Counterculture is sharing things you’re passionate about not because you plan to make a living out of it but because you believe connecting with other human beings is important. Counterculture is forming online bonds with 20 people you get to know over time, rather than amassing hundreds of thousands of followers on Instagram. </p> <p>You either believe that an alternative is possible, and you start actively working towards it, or you roll on your digital side and you metaphorically die.</p> <hr> <p>Thank you for keeping RSS alive. You're awesome.</p> <p><a href="mailto:hello@manuelmoreale.com">Email me</a> :: <a href="https://manuelmoreale.com/guestbook">Sign my guestbook</a> :: <a href="https://ko-fi.com/manuelmoreale">Support for 1$/month</a> :: <a href="https://manuelmoreale.com/supporters">See my generous supporters</a> :: <a href="https://buttondown.email/peopleandblogs">Subscribe to People and Blogs</a></p> </content> </entry> <entry> <title>Handling robots.txt with Caddy and Kirby CMS - Baty.net</title> <link href="https://baty.net/posts/2025/04/handling-robots-txt-with-caddy-and-kirby-cms/"/> <id>https://baty.net/posts/2025/04/handling-robots-txt-with-caddy-and-kirby-cms/</id> <updated>2025-04-02T21:24:30.000Z</updated> <summary></summary> <content type="html"><p><a href="https://getkirby.com">Kirby CMS</a> uses plain <code>.txt</code> files for content. Since the bare .txt files should not be accessible with a browser, one normally uses a path matcher in <a href="http://caddyserver.com">Caddy</a> and then denies requests based on a path, like so&hellip;</p> <p><code>path *.txt /content/* /site/* /kirby/* /.*</code></p> <p>But what if I want a /robots.txt file? Turned out to be a simple answer, but it took me a while to find it. I&rsquo;m writing it down here in case anyone else might need it. Here&rsquo;s the whole block from my site&rsquo;s Caddyfile:</p> <pre tabindex="0"><code>(kirby) { php_fastcgi unix//run/php/php8.3-fpm.sock @blocked { path *.txt *.md /content/* /site/* /kirby/* /.* not path /robots.txt # &lt;----- Here&#39;s the important part } respond @blocked &#34;Not Found&#34; 404 { close } } </code></pre><p>With that one extra line, when you add an <code>import kirby</code> line, /robots.txt will remain accessible.</p> </content> </entry> <entry> <title>Goodbye Offpunk, Welcome XKCDpunk! - Ploum.net</title> <link href="https://ploum.net/2025-04-01-xkcdpunk.html"/> <id>https://ploum.net/2025-04-01-xkcdpunk.html</id> <updated>2025-04-01T00:00:00.000Z</updated> <summary></summary> <content type="html"><h1>Goodbye Offpunk, Welcome XKCDpunk!</h1> <p>For the last three years, I’ve been working on Offpunk, a command-line gemini and web browser. </p> <ul> <li><a href="https://offpunk.net">Offpunk.net</a></li> </ul> <p>While my initial goal was to browse the Geminisphere offline, the mission has slowly morphed into cleaning and unenshitiffying the modern web, offering users a minimalistic way of browsing any website with interesting content.</p> <ul> <li><a href="/2022-03-24-ansi_html.html">Rendering the Web with Pictures in Your Terminal (ploum.net)</a></li> </ul> <h2 id="soustitre-1">Focusing on essentials</h2> <p>From the start, it was clear that Offpunk would focus on essentials. If a website needs JavaScript to be read, it is considered as non-essential. </p> <p>It worked surprisingly well. In fact, in multiple occurrence, I’ve discovered that some websites work better in Offpunk than in Firefox. I can comfortably read their content in the former, not in the latter.</p> <p>By default, Offpunk blocks domains deemed as nonessentials or too enshitified like twitter, X, facebook, linkedin, tiktok. (those are configurable, of course. Defaults are in offblocklist.py).</p> <p>Cleaning websites, blocking worst offenders. That’s good. But it is only a start.</p> <p>It’s time to go further, to really cut out all the crap from the web. </p> <p>And, honestly, besides XKCD comics, everything is crap on the modern web.</p> <blockquote> As an online technical discussion grows longer, the probability of a comparison with an existing XKCD comic approaches 1.<br> – XKCD’s law<br></blockquote> <ul> <li><a href="/xkcds-law/index.html">XKCD’s law (ploum.net)</a></li> </ul> <p>If we know that we will end our discussion with an XKCD’s comic, why not cut all the fluff? Why don’t we go straight to the conclusion in a true minimalistic fashion?</p> <h2 id="soustitre-2">Introducing XKCDpunk</h2> <p>That’s why I’m proud to announce that, starting with today’s release, Offpunk 2.7 will now be known as XKCDpunk 1.0.</p> <ul> <li><a href="https://xkcdpunk.net">Xkcdpunk.net</a></li> </ul> <p>XKCDpunk includes a new essential command &quot;xkcd&quot; which, as you guessed, takes an integer as a parameter and display the relevant XKCD comic in your terminal, while caching it to be able to browse it offline.</p> <figure> <a href="/files/xkcdpunk1.png"><img alt="Screenshot of XKCDpunk showing comic 626" src="/files/xkcdpunk1.png" width="450" class="center"></a> <figcaption>Screenshot of XKCDpunk showing comic 626</figcaption> </figure> <p>Of course, this is only an early release. I need to clean a lot of code to remove everything not related to accessing xkcd.com. Every non-xkcd related domain will be added to offblocklist.py. </p> <p>I also need to clean every occurrence of &quot;Offpunk&quot; to change the name. All offpunk.net needs to be migrated to xkcd.net. Roma was not built in one day.</p> <p>Don’t hesitate to install an &quot;offpunk&quot; package, as it will still be called in most distributions.</p> <ul> <li><a href="https://repology.org/project/offpunk/versions">offpunk package versions - Repology (repology.org)</a></li> </ul> <p>And report bugs on the xkcdpunk’s mailinglist.</p> <ul> <li><a href="https://lists.sr.ht/~lioploum/offpunk-users">xkcdpunk-users on lists.sr.ht</a></li> </ul> <p>Goodbye Offpunk, welcome XKCDpunk!</p> <div class="signature"><p>I’m <a href="https://fr.wikipedia.org/wiki/Ploum">Ploum</a>, a writer and an engineer. I like to explore how technology impacts society. You can subscribe <a href="https://listes.ploum.net/mailman3/lists/en.listes.ploum.net/">by email</a> or <a href="/atom_en.xml">by rss</a>. I value privacy and never share your adress.</p> <p>I write <a href="https://pvh-editions.com/ploum">science-fiction novels in French</a>. For <a href="https://bikepunk.fr">Bikepunk</a>, my new post-apocalyptic-cyclist book, my publisher is looking for contacts in other countries to distribute it in languages other than French. If you can help, <a href="about.html">contact me</a>!</p> </div></content> </entry> <entry> <title>P&B: Maya - Manuel Moreale RSS Feed</title> <link href="https://manuelmoreale.com/pb-maya"/> <id>https://manuelmoreale.com/@/page/b5cHFiS2NaaQzGe6</id> <updated>2025-03-28T12:00:00.000Z</updated> <summary></summary> <content type="html"> <p>This is the 83rd edition of <em>People and Blogs</em>, the series where I ask interesting people to talk about themselves and their blogs. Today we have Maya and her blog, <a href="https://maya.land">maya.land</a></p> <p>To follow this series <a href="https://peopleandblogs.com">subscribe to the newsletter</a>. A new interview will land in your inbox every Friday. Not a fan of newsletters? No problem! You can read the interviews here on the blog or you can subscribe to the <a href="https://manuelmoreale.com/feed">RSS feed</a>.</p> <p>If you're enjoying the People and Blogs series and you want to see it grow, consider supporting on <a href="https://ko-fi.com/manuelmoreale">Ko-Fi</a>.</p> <hr /> <h2>Let's start from the basics: can you introduce yourself?</h2> <p>I'm Maya, a goblin of the Pacific Northwest. I design, write, and administer <a href="https://maya.land">maya.land</a>, a moderately sprawling piece of hypertext that's nearly five years grown. It has a <a href="https://maya.land/posts/">bloggy section</a> wedged in a back corner, somewhere behind the clickable MIDI gramophone.</p> <p>By week, I am employed as a software engineer for a giant tech company. I principally work on systems centered around <a href="https://en.wikipedia.org/wiki/Mathematical_optimization">optimization models</a>. It is <em>not</em> the kind of thing I blog about, and seems almost embarrassing to mention here. Still, if you caught me at a work happy hour you would perceive the same frenzied enthusiasm that leaves crumbs on everything that I <em>do</em> put up online.</p> <p>By weekend, I spend far more time link-hunting than is healthy for a person with a laptop-bound job.</p> <p>This is the part where I'd like to make a breezy allusion to some very cool, very prestigey offline hobby that one does out of the house, with other people, and not hunched over. Let's all pretend I've mentioned one.</p> <h2>What's the story behind your blog?</h2> <p>I'll confess I'm an eavesdropper. I used to linger in parks to people-watch, scribble down lines in a notebook from others' conversations too good to forget. It is easy to live traveling in familiar wheel-ruts when there are whole other worlds of people moving parallel. Tiny points of public contact can be enough to remind you.</p> <p>Then COVID. My travels shrunk. I was cloistered in a condo in a neighborhood that boarded up, terribly bleak. Even after they decided outdoors was safe, I didn't go out much. Summer 2020.</p> <p>I'd always been a certain kind of Internet denizen (fuzzy feelings toward <a href="https://en.wikipedia.org/wiki/StumbleUpon">StumbleUpon</a>, studied eclecticism in media preferences, appreciation for <a href="https://xkcd.com/1095/">fractal subculture</a>) but in this period I started needing something different from it. How do you eavesdrop within your browser?</p> <p>This oriented me differently toward the Web, and uncovered a few motivations to start <em>publishing</em>. <a href="https://indieweb.org/Webmention">Webmentions</a> appealed to me as a protocol, and I liked the sovereignty arguments the Indieweb folks make. <a href="https://satyrs.eu">Xanthe's site</a> gestured at expressive possibilities both familiar and unfamiliar; certainly, I'd spent enough time on Geocities in my youth to appreciate the forms predating feeds and "social", but it'd never have occurred to me to <a href="https://satyrs.eu/style">define an idiosyncratic style guide</a>, to work up an artistic design different for every page. <a href="https://www.kickscondor.com/">Kicks Condor</a> was and is the visionary behind my whole <span style="white-space:nowrap">-ism</span> of the Internet. While I still dare not dream of ever getting to his level, setting up a site of my own seemed imperative.</p> <p>Therefore: a domain, a static site generator, a lot of hours spent twiddling with web technologies I'd never been taught.</p> <p>I've not added complications (in the <a href="https://en.wikipedia.org/wiki/Complication_(horology)">watch sense</a>) to it in a long time, and I owe it a design refresh, but the whole site feels as homey as you'd hope it would after years. This is perhaps a happy consequence of having made it as self-centered as I did. If I'd been shooting at some idea of what other people would appreciate, I think it'd have had to change more.</p> <h2>What does your creative process look like when it comes to blogging?</h2> <p>It's not that it isn't "creative", but it's first a consumptive process. The blog is an artifact of my chewing over an experience of the Internet, of culture. It's undeniable that the website exists, that I am really posting it up, sending out the bytes and packets and tags... but in my heart, it's only <em>pretending</em> to be for other people's access. According to this, it's really only an exercise of articulating my thoughts and feelings for an imaginary friend, in order to make them more legible to myself. </p> <p>So, practically: with respect to my linkblogging, I annotate things I come across in <a href="https://hypothes.is/users/mayaland">hypothes.is</a> (phenomenal tool: to be able to stomp across the Internet scribbling notes on the margins!). I pull the annotations over into my notetaking system. And then later, I go through what I've pulled over, and I think: do I want to point people to this? I am of Robin Rendle's school: "<a href="https://buttondown.com/robinrendle/archive/8907d5a1-bc42-4a51-a1fb-19e0af6f40ec">blogging is pointing at things and falling in love</a>". Are there comments I must make alongside?</p> <p>It's a feedback loop that shapes what I try to consume, too. I've written about this <a href="https://maya.land/updates/2024/12/01/update-adveniat-website-tuum.html">a bit</a> before, but it's an old Tumblrite's habit. I have an intuited ideal blend of topics to reflect what I care about. If I've not had anything good about music to post in a long time, that means I'm not spending enough time on music. If everything's getting too angled toward one obsession or other, it's a good cue to even things out.</p> <p><em>Outside</em> of linkblogging, I also produce <a href="https://maya.land/monologues/">writing that we may deem both "overwrought" and "overwritten"</a>.</p> <p>The process here, typically:</p> <ul> <li>A thought occurs.</li> <li>I make abortive conversation about it with others.</li> <li>I sometimes <em>successfully</em> discuss it with my sainted mother.</li> <li>I continue to stew for a few weeks, accumulating emotional energy around something incomprehensible to the people in my life.</li> <li>I earmark a good amount of a Saturday, gather material, and rage out a draft that is something like what you might scream out of a window after a bad day.</li> <li>(If interrupted at this stage, the draft may sit for weeks or months or years. An amateur's method relies on momentum.)</li> <li>This bit may be surprising to my readers: I do edit the draft. I intend the exhausting indirection of the high-level structure that you may observe. As regards the sentence-level prose, I make some effort to tamp down its congenital prolixity. Not, like, enough for <em>others</em> to notice, probably, but definitely more than zero effort.</li> <li>I post it. I thereafter see ten more things I need to change. (I change them, because I am not an institution and owe no one clean versioning.)</li> </ul> <p>I try to come up with the post titles that will most cleanly both allow the kind of person who would <em>like</em> a thing to recognize it, and allow the kind of person who would <em>not</em> like the thing to recognize they should skip it. This is the polite way to entitle things. There is also the cryptic poetic way – think Olu's "<a href="https://olu.online/immortality/">Immortality</a>" – which I also respect. Everything else is clout-chasing.</p> <h2>Do you have an ideal creative environment? Also do you believe the physical space influences your creativity?</h2> <p>Flights of fantasy are most frequent and most powerful when one's mundane life is at its worst. Creative acts on side projects flourish when main commitments stagnate. As a preteen, I drew innumerable pictures of women with wings because I felt stuck – I mean, I <em>was</em> stuck, you don't have a lot of agency or autonomy being twelve. I spent envious time imagining beautiful architecture and the luxuries of the rich because my environment didn't resemble that.</p> <p>So, what would the ideal creative environment be from the perspective of output? Probably not that different from being locked down in a highrise with a laptop, the view out the window too elevated to make out the faces of anyone on the street below. It's sand that seeds pearls. (Unhappy the oyster!)</p> <h2>A question for the techie readers: can you run us through your tech stack?</h2> <p>The flow:</p> <ul> <li><a href="https://hypothes.is">Hypothes.is</a></li> <li>✨ cron ✨ on a VM running on a lint-ridden machine in a closet. This also pulls in other things like <a href="https://www.last.fm/user/kixiqu">last.fm</a> data <a href="https://maya.land/now-listening/">for my use and abuse</a></li> <li><a href="https://tiddlywiki.com/">Tiddlywiki</a></li> <li>✨ more cron ✨</li> <li>A <a href="https://jekyllrb.com/">Jekyll</a> repo of a size I won't discuss in polite company</li> </ul> <p>I also have <a href="https://github.com/zerok/webmentiond">webmentiond</a> for webmentions! Lovely project.<br /> <a href="https://porkbun.com/">Porkbun</a> has been a totally solid domain registrar.</p> <h2>Given your experience, if you were to start a blog today, would you do anything differently?</h2> <p>I might use a different static site generator? Jekyll's treated me well, but I hear alternatives are faster. I'd probably seek out a different templating language, since the complications I've introduced into Liquid are ... quite beyond its intended scope.</p> <p>I don't know that I'd call my linkblogging "responses", an initial choice which is baked into my URL structure. Likely, my URLs would look altogether different, without any dates.</p> <h2>Financial question since the Web is obsessed with money: how much does it cost to run your blog? Is it just a cost, or does it generate some revenue? And what's your position on people monetising personal blogs?</h2> <p>Oh, God. Well. I kick some money to <a href="https://www.goatcounter.com/">Goatcounter</a>. Right now the site's run from a server in a closet, which is to say that its costs are immense but paid entirely in household labor. For annoying availability reasons I'm eventually going to move all the static content to AWS, where I expect it will take very little money indeed to host (I have a couple websites there already that demand about fifty-two cents a month each).</p> <p>It generates no revenue. Every now and again I wonder whether I should add ads for things that have gotten Picked Up. There's no one right way to do just about anything on the Internet, so you have to evaluate each monetization approach in the context of a particular blog, and in the <em>social</em> context of that blog. I'm thinking of an online acquaintance who is compensated by ad revenue for the experience of having her stuff frontpaged on Hacker News; truly it is right and just that she be paid for having so many jokes fly over so many braying heads.</p> <p>Still, I feel very protective of the idea that I – as a webmaster, which for me means something more like an artist than like anything else – should be able to define the terms of exchange with a site visitor without their being able to point to any material incentives of mine. I know many have felt their time wasted by the way I do everything. My site isn't <em>for</em> them. I should hate to give the impression that I'm trying to lure such visitors in for, well, impressions.</p> <h2>Time for some recommendations: any blog you think is worth checking out? And also, who do you think I should be interviewing next?</h2> <p>I have an extensive <a href="https://maya.land/blogroll.opml">blogroll</a> that at some points has been better known than my actual site. To commemorate this interview I've tidied it up somewhat, moving those whose feeds haven't updated in over a year to a "defunct" section.</p> <p>As for whom to interview... I'm very interested in the people out there doing their socializing via blog / site in the post-Livejournal era. I get the impression that for certain demographics (largely younger than mine?), public web presences form a useful complement to the chattering impermanence of Discord. <a href="https://library.xandra.cc/">Alexandra's</a> <a href="https://library.xandra.cc/everyone-should-blog/">written on blogging before more generally</a>, but I'd love to read her answers to these questions.</p> <h2>Final question: is there anything you want to share with us?</h2> <p>Mark Eastgate's <a href="https://www.eastgate.com/garden/">Hypertext Gardens</a> is from 1998 and is essential reading for anyone trying to break their thinking out of what corporate tech has since made of the Web. It was also annoying enough to re-find just now that it merits loud public linking.</p> <p>The blog-reader will appreciate <a href="https://ooh.directory/">ooh.directory</a>, a project positively Yahoo!vian in ambition.</p> <p><a href="https://open.spotify.com/track/7JyXODFo6tyMW9vvLR3O2K">This song is better played live and yelled along to</a>, but I can't imagine too many of you will get the chance, so Spotify shall suffice.</p> <hr /> <p>This was the 83rd edition of <em>People and Blogs</em>. Hope you enjoyed this interview with Maya. Make sure to <a href="https://maya.land">follow her blog</a> (<a href="https://maya.land/feed.xml">RSS</a>) and get in touch with her if you have any questions.</p> <h2>Awesome supporters</h2> <p>You can support this series on <a href="https://ko-fi.com/manuelmoreale">Ko-Fi</a> and all supporters will be listed here as well as on the <a href="https://peopleandblogs.com">official site</a> of the newsletter.</p> <p><a href="https://www.thingelstad.com">Jamie Thingelstad</a> (<a href="https://www.thingelstad.com/feed.xml">RSS</a>) — <a href="https://some.studio">Piet Terheyden</a> — Eleonora — <a href="https://carlbarenbrug.com">Carl Barenbrug</a> (<a href="https://carlbarenbrug.com/feed/rss">RSS</a>) — <a href="https://tangiblelife.net">Steve Ledlow</a> (<a href="https://tangiblelife.net/feed.rss">RSS</a>) — <a href="https://www.feadin.eu">Paolo Ruggeri</a> (<a href="https://www.feadin.eu/en/posts/index.xml">RSS</a>) — <a href="https://thejollyteapot.com">Nicolas Magand</a> (<a href="https://thejollyteapot.com/feed.rss">RSS</a>) — <a href="https://robhope.com">Rob Hope</a> — <a href="https://chrishannah.me">Chris Hannah</a> (<a href="https://chrishannah.me/index.xml">RSS</a>) — <a href="https://blog.pcora.eu">Pedro Corá</a> (<a href="https://blog.pcora.eu/feed.xml">RSS</a>) — <a href="https://softlandings.world/">Sixian Lim</a> (<a href="https://www.softlandings.world/feed.rss">RSS</a>) — <a href="https://mattstein.com">Matt Stein</a> (<a href="https://mattstein.com/rss.xml">RSS</a>) — <a href="https://winnielim.org">Winnie Lim</a> (<a href="https://winnielim.org/feed/">RSS</a>) — <a href="https://flamedfury.com/">Flamed</a> (<a href="https://flamedfury.com/feed.xml/">RSS</a>) — <a href="https://skyhold.org">C Jackdaw</a> (<a href="https://jackdaw.weblog.lol/rss.xml">RSS</a>) — <a href="https://www.doc.cc/">Fabricio Teixeira</a> (<a href="https://www.doc.cc/feed.xml">RSS</a>) — <a href="https://rosalindcroad.com">Rosalind Croad</a> — <a href="https://www.elmikewalsh.com">Mike Walsh</a> (<a href="https://www.elmikewalsh.com/feed.xml">RSS</a>) — <a href="https://www.byzero.de/">Markus Heurung</a> — <a href="https://mwarrenarts.com/">Michael Warren</a> (<a href="https://mwarrenarts.com/rss">RSS</a>) — <a href="https://cagrimmett.com/">Chuck Grimmett</a> (<a href="https://cagrimmett.com/feed">RSS</a>) — <a href="https://eatweeds.co.uk">Robin Harford</a> (<a href="https://www.eatweeds.co.uk/feed/">RSS</a>) — <a href="https://bryanmanio.com/">Bryan Maniotakis</a> (<a href="https://bryanmanio.com/feed/">RSS</a>) — <a href="https://bjhess.com/">Barry Hess</a> (<a href="https://bjhess.com/posts_feed">RSS</a>) — <a href="https://ivanmoreale.com">Ivan Moreale</a> — <a href="https://werd.io/">Ben Werdmuller</a> (<a href="https://werd.io/feed">RSS</a>) — <a href="https://corygibbons.com">Cory Gibbons</a> — <a href="https://www.lkhrs.com/">Luke Harris</a> (<a href="https://www.lkhrs.com/blog/index.xml">RSS</a>) — <a href="https://lars-christian.com/">Lars-Christian Simonsen</a> (<a href="https://lars-christian.com/feed/">RSS</a>) — <a href="https://www.codyschultz.com">Cody Schultz</a> — <a href="https://bradbarrish.com">Brad Barrish</a> (<a href="https://bradbarrish.com/feed/">RSS</a>) — <a href="https://galaiko.rocks">Nikita Galaiko</a> — Erik Blankvoort — <a href="https://jagasantagostino.com">Jaga Santagostino</a> — <a href="https://andzuck.com/">Andrew Zuckerman</a> — <a href="https://www.mattiacompagnucci.com">Mattia Compagnucci</a> (<a href="https://mattiacompagnucci.com/feed.rss">RSS</a>) — <a href="https://tdh.se/">Thord D. Hedengren</a> (<a href="https://tdh.se/feed/feed.xml">RSS</a>) — <a href="https://fabiensauser.ch">Fabien Sauser</a> (<a href="https://fabiensauser.ch/index.xml">RSS</a>) — <a href="http://dizzard.net/">Maxwell Omdal</a> — <a href="https://numericcitizen.me">Numeric Citizen</a> (<a href="https://feedpress.me/numericcitizen-feeds.xml?ref=numericcitizen.me">RSS</a>) — <a href="https://heydingus.net">Jarrod Blundy</a> (<a href="https://heydingus.net/feeds">RSS</a>) — <a href="https://gwtf.it">Andrea Contino</a> (<a href="https://gwtf.it/feed">RSS</a>) — <a href="https://sebastiandedeyne.com/">Sebastian De Deyne</a> (<a href="https://sebastiandedeyne.com/index.xml">RSS</a>) — <a href="https://nicolalosito.it/">Nicola Losito</a> (<a href="https://nicolalosito.it/feed/">RSS</a>) — <a href="https://amerpie.lol/">Lou Plummer</a> (<a href="https://amerpie.lol/feed.xml">RSS</a>) — <a href="https://lmika.org/">Leon Mika</a> (<a href="https://lmika.org/feed.xml">RSS</a>) — <a href="http://veronique.ink">Veronique</a> (<a href="https://veronique.ink/feed/">RSS</a>) — <a href="https://surplusjouissance.com">Neil Gorman</a> (<a href="https://www.surplusjouissance.com/rss/">RSS</a>) — <a href="https://reaper.is/">Reaper</a> (<a href="https://reaper.is/rss.xml">RSS</a>) — <a href="https://www.mattrutherford.co.uk/">Matt Rutherford</a> (<a href="https://www.mattrutherford.co.uk/rss/">RSS</a>) — <a href="https://aleemshaun.com/">Aleem Ali</a> (<a href="https://aleemshaun.com/feed">RSS</a>) — <a href="https://nikkin.dev/">Nikkin</a> (<a href="https://nikkin.dev/feed.xml">RSS</a>) — <a href="https://hansfast.net">Hans</a> (<a href="https://hansfast.net/everything.rss">RSS</a>) — <a href="https://www.morelightmorelight.com/">Matt Katz</a> (<a href="https://www.morelightmorelight.com/feed">RSS</a>) — <a href="https://iljapanic.com/">Ilja Panić</a> — <a href="https://odongo.pl">Emmanuel Odongo</a> — <a href="https://ruk.ca/">Peter Rukavina</a> (<a href="https://ruk.ca/rss/feedburner.xml">RSS</a>) — <a href="https://jsrn.net">James</a> (<a href="https://jsrn.net/feed.xml">RSS</a>) — <a href="https://therealadam.com">Adam Keys</a> (<a href="https://therealadam.com/feed.xml">RSS</a>) — <a href="https://www.alexeystar.com/">Alexey Staroselets</a> (<a href="https://alexeystar.com/index.xml">RSS</a>) — <a href="https://saturnvalley.org">John L</a> — <a href="https://kangminsuk.com">Minsuk Kang</a> (<a href="https://kangminsuk.com/index.xml">RSS</a>) — <a href="https://itskechi.com/">Kechi Ladapo</a> (<a href="https://itskechi.bearblog.dev/feed/">RSS</a>) — <a href="https://nazhamid.com">Naz Hamid</a> (<a href="https://nazhamid.com/feed.xml">RSS</a>) — <a href="https://ken.fyi">Ken Zinser</a> (<a href="https://ken.fyi/feed.rss">RSS</a>) — Jan — <a href="https://verticolabs.com/">Grey Vugrin</a> (<a href="https://verticolabs.com/feed/">RSS</a>) — <a href="https://mzll.it">Luigi Mozzillo</a> (<a href="https://mzll.it/index.xml">RSS</a>) — <a href="https://www.alexhyett.com/">Alex Hyett</a> (<a href="https://www.alexhyett.com/feed/feed.atom.xml">RSS</a>) — <a href="https://andypiper.omg.lol/">Andy Piper</a> — <a href="https://shime.sh/">Hrvoje Šimić</a> (<a href="https://shime.sh/feed.xml">RSS</a>) — <a href="https://tschmeisser.com/">Travis Schmeisser</a> — <a href="https://doug.pub/">Doug Jones</a> — <a href="https://vincentritter.com/">Vincent Ritter</a> (<a href="https://vincentritter.com/feeds/all.json">RSS</a>) — <a href="https://shen.land/">Shen</a> — <a href="https://holzer.online/">Fabian Holzer</a> (<a href="https://holzer.online/feed.xml">RSS</a>) — <a href="https://netigen.com/">Courtney</a> (<a href="https://netigen.com/rss">RSS</a>) — <a href="https://jeremybassetti.com">Jeremy Bassetti</a> (<a href="https://jeremybassetti.com/index.xml">RSS</a>) — <a href="https://lukedorny.com">Luke Dorny</a> — <a href="https://tomeri.org/">Thomas Erickson</a> — <a href="https://herman.bearblog.dev">Herman Martinus</a> (<a href="https://herman.bearblog.dev/feed/">RSS</a>) — <a href="https://benny.bearblog.dev">Benny</a> (<a href="https://benny.bearblog.dev/feed/?type=rss">RSS</a>) — <a href="https://anniemueller.com/">Annie Mueller</a> (<a href="https://anniemueller.com/posts_feed">RSS</a>) — <a href="https://sekhmetdesign.thegeekcartel.com/">SekhmetDesign</a> — <a href="https://glbck.com">Gui</a> (<a href="https://www.glbck.com/feed.rss">RSS</a>) — <a href="https://longest.voyage/">Jamie</a> (<a href="https://longest.voyage/index.xml">RSS</a>) — <a href="https://www.juhaliikala.com/">Juha Liikala</a> (<a href="https://www.juhaliikala.com/rss/">RSS</a>) — <a href="https://alongtheray.com">Ray</a> (<a href="https://alongtheray.com/feed.rss">RSS</a>) — <a href="https://chadmoore.net/">Chad Moore</a> (<a href="https://chadmoore.net/posts_feed">RSS</a>) — <a href="https://ben.wf/">Benjamin Wittorf</a> — Prabash Livera — <a href="https://binarydigit.city">BinaryDigit</a> (<a href="https://binarydigit.city/feed/">RSS</a>) — <a href="https://rkoziel.com/">Radek Kozieł</a> (<a href="https://rkoziel.com/index.xml">RSS</a>)</p> <h2>Want to support P&amp;B?</h2> <p>If you like this series and want to help it grow, you can:</p> <ol> <li><a href="https://ko-fi.com/manuelmoreale">support on Ko-Fi</a>;</li> <li>post about it on your own blog and let your readers know about its existence;</li> <li><a href="mailto:hello@manuelmoreale.com">email me</a> comments and feedback on the series;</li> <li><a href="mailto:email@peopleandblogs.com">suggest a person</a> to interview next. I'm especially interested in people and blogs outside the tech/web bubble.</li> </ol> <hr> <p>Thank you for keeping RSS alive. You're awesome.</p> <p><a href="mailto:hello@manuelmoreale.com">Email me</a> :: <a href="https://manuelmoreale.com/guestbook">Sign my guestbook</a> :: <a href="https://ko-fi.com/manuelmoreale">Support for 1$/month</a> :: <a href="https://manuelmoreale.com/supporters">See my generous supporters</a> :: <a href="https://buttondown.email/peopleandblogs">Subscribe to People and Blogs</a></p> </content> </entry> <entry> <title>Ko-Fi Wishlist - Manuel Moreale RSS Feed</title> <link href="https://manuelmoreale.com/ko-fi-wishlist"/> <id>https://manuelmoreale.com/@/page/l2LUNo7w5WcFnh2R</id> <updated>2025-03-27T10:45:00.000Z</updated> <summary></summary> <content type="html"> <p>I’ve been using <a href="https://ko-fi.com/manuelmoreale">Ko-Fi</a> for almost 2 years at this point to run my <a href="https://oneamonth.club/">One a Month</a> experiment and so far it has worked I’d say ok. I like that there is—or at least there was—an option to pay a yearly fixed fee to get access to all the features rather than being tied to a % of what all you kind people out there are donating. I always prefer to pay for the tools I use upfront if I have that option.</p> <p>That said, there are three minor annoyances that I’d love to see fixed at some point (even though I don’t have high hopes) and so here’s my Ko-Fi Wishlist.</p> <h2>Recurring Goals</h2> <p>It’s possible to set up goals on Ko-Fi and display them publicly. Unfortunately, there’s no way to have goals based on recurring donations which is kinda annoying. It’s especially annoying since the value of the recurring donations is displayed in the private dashboard so this is a feature that shouldn’t be too hard to implement.</p> <h2>Yearly Memberships</h2> <p>Another thing that’s very annoying is the fact that membership can only be monthly. This sucks for me since I run a membership with such a low barrier of entry and on a 1$ donation a huge % gets eaten away by Stripe/Paypal. As an example, Stripe charges a fixed 0.25c plus a % and this is how the math looks like:</p> <pre><code>(1$ minus 1.5% minus a fixed 0.25c) times 12 = 7.20$</code></pre> <p>So if you donate 1$ every month for a full year, I get 7.20$ while Stripe keeps 4.80$. This is how the same math looks like if you make a single 12$ donation once a year:</p> <pre><code>12$ minus 1.5% minus a fixed 0.25c = 9,95$</code></pre> <p>You donated the same 12$, but this time I get 9,95$, and Stripe keeps 2.05$. It’s not a huge difference in the grand scheme of things but it adds up quickly. Plus, some people prefer to pay yearly and so it sucks that there’s no option for me to let them do so.</p> <h2>Better Notifications</h2> <p>From my experience, Ko-Fi kinda sucks at letting people know what’s going on on the platform. I know a bunch of people didn’t even realise their 1$ month membership got cancelled—usually because the card expired or some other glitch—because they didn’t get any notification from Ko-Fi. Now, I don’t know if they landed in the spam folder, if they didn’t arrive at all or if something else happened but still, that’s a bit annoying.</p> <p>I track expired/cancelled membership <a href="https://manuelmoreale.com/supporters">on my supporters page</a> and so if you want to make sure you’re still on it that’s one way to do it without relying on Ko-Fi. I might have to set up a better system though because this is currently all done manually.</p> <hr /> <p>And that was it, those were the three items on my Ko-Fi wishlist. Overall I’m happy with the platform and I’m grateful something like this exists. I know alternatives are out there (I used both Donorbox and BuyMeACoffee in the past) but those all have their set of problems as well.</p> <hr> <p>Thank you for keeping RSS alive. You're awesome.</p> <p><a href="mailto:hello@manuelmoreale.com">Email me</a> :: <a href="https://manuelmoreale.com/guestbook">Sign my guestbook</a> :: <a href="https://ko-fi.com/manuelmoreale">Support for 1$/month</a> :: <a href="https://manuelmoreale.com/supporters">See my generous supporters</a> :: <a href="https://buttondown.email/peopleandblogs">Subscribe to People and Blogs</a></p> </content> </entry> <entry> <title>Wednesday, March 26, 2025 - Baty.net</title> <link href="https://baty.net/journal/2025/03/26/today/"/> <id>https://baty.net/journal/2025/03/26/today/</id> <updated>2025-03-26T10:17:16.000Z</updated> <summary></summary> <content type="html"><p>I knew it would happen, didn&rsquo;t you? I really don&rsquo;t want to talk about changing blog platforms, though. It&rsquo;s embarrassing. I&rsquo;ll just say that, while I don&rsquo;t love Hugo, it&rsquo;s the thing I&rsquo;m least uncomfortable with overall. Let&rsquo;s move on, shall we?</p> <hr> </content> </entry> <entry> <title>The cost of getting too big - Manuel Moreale RSS Feed</title> <link href="https://manuelmoreale.com/the-cost-of-getting-too-big"/> <id>https://manuelmoreale.com/@/page/wl25W7wTaBf6lIHJ</id> <updated>2025-03-26T09:00:00.000Z</updated> <summary></summary> <content type="html"> <p>The other morning while I was catching up with news over coffee I stumbled on <a href="https://www.theverge.com/news/634395/apple-watch-apple-intelligence-cameras">this article on The Verge</a> commenting on the rumours about Apple considering adding a camera and AI to the Apple Watch. I don’t own an Apple Watch, I don’t plan to own an Apple Watch—I already have a watch that works perfectly for me—and so I don’t really care about what Apple plans to add to their watch but I found the news interesting because it made me reflect on something tangentially related: at what point a company size becomes a burden?</p> <p>I am, as I stated many many times, a nobody. I’m sitting here, minding my own business, running my tiny side projects, trying to make something a few people appreciate. If I manage, by pure chance, to create something 100 thousand people use, that would be beyond insane from my personal perspective. If I were to start a business that generates 1 million euros a year, that would be life-altering.</p> <p>Now put those numbers in the context of an Apple, a Microsoft, or a Google. Apple made some 390 billion in 2024, Google around 350, and Microsoft 260. A million is 0.0004% of Microsoft's revenues and 0.0002% of Apple’s. Something life-altering for me is not even a rounding error for a company at that scale. So what does move the needle when you’re that big?</p> <p>Lamborghini made just a bit over 3 billion in 2024. That’s less than 1% of what Apple made in the same year. Their most recent hardware experiment, the Vision Pro, has sold around 300 thousand units. Even if every single one of them was maxed out and sold at 4000$ that’s still “only” 1.2 billion or 0.3% of Apple’s revenues. At that point, isn’t it fair to wonder why even bothering to invest in a product like that?</p> <p>Don’t get me wrong, I know that there is a point but still, when you get to that scale, pretty much everything you do is doomed to look like a failure compared to what’s already there.</p> <p>YouTube has 2.7 billion monthly active users, almost 20% of the world population is an iPhone user, and between 2 to 3 billion people use a Meta product every month. These are numbers so big that almost nothing can make a difference at this point for these companies.</p> <p>Wikipedia has a page with a <a href="https://en.wikipedia.org/wiki/List_of_social_platforms_with_at_least_100_million_active_users">list of social platforms with at least 100 million active users</a> and it’s illuminating. Look at those dates and the company names. On the US side of things, nothing new has reached those scales in more than a decade basically. The only products that come close are products launched by companies that were already huge—see Threads for example—and I’d argue those are not even successful products. They only managed to get that big because they were forced down the throats of existing users.</p> <p>It’s such a bizarre situation and it shows why, for example, Google has <a href="https://killedbygoogle.com">SO MANY DEAD PRODUCTS</a>. If you’re at Google you can launch probably anything at this point and it’s likely going to be considered a failure when you compare it against existing and established products. And I know there are other reasons why Google kills so many products, but still.</p> <p>Anyway, it’s gonna be interesting to see how the landscape evolves. I’m personally so uninspired by what I see in the big tech world at the moment but maybe that’s just me.</p> <hr> <p>Thank you for keeping RSS alive. You're awesome.</p> <p><a href="mailto:hello@manuelmoreale.com">Email me</a> :: <a href="https://manuelmoreale.com/guestbook">Sign my guestbook</a> :: <a href="https://ko-fi.com/manuelmoreale">Support for 1$/month</a> :: <a href="https://manuelmoreale.com/supporters">See my generous supporters</a> :: <a href="https://buttondown.email/peopleandblogs">Subscribe to People and Blogs</a></p> </content> </entry> <entry> <title>Tuesday, March 25, 2025 - Baty.net</title> <link href="https://baty.net/journal/2025/03/25/today/"/> <id>https://baty.net/journal/2025/03/25/today/</id> <updated>2025-03-25T17:18:06.000Z</updated> <summary></summary> <content type="html"><p>LinkedIn is not the right place for me to find interesting work.</p> <hr></content> </entry> <entry> <title>Using the Obsidian Web Clipper with Denote - Baty.net</title> <link href="https://baty.net/posts/2025/03/using-the-obsidian-web-clipper-with-denote/"/> <id>https://baty.net/posts/2025/03/using-the-obsidian-web-clipper-with-denote/</id> <updated>2025-03-25T16:31:37.000Z</updated> <summary></summary> <content type="html"><p>I was feeling envious of the <a href="https://obsidian.md/clipper">Obsidian Web Clipper</a>, which is quite fancy, so I thought I&rsquo;d try leveraging it for use with <a href="https://protesilaos.com/emacs/denote">Denote</a>.</p> <p>My first run at this involves a couple of steps:</p> <ul> <li>Tweak the web clipper to save files using Denote&rsquo;s format and front matter</li> <li>Save the file without adding it to an Obsidian vault</li> <li>Move the saved file into my Denote folder</li> </ul> <p>Here&rsquo;s the Web Clipper template configuration I ended up with:</p> <figure> <img loading="lazy" src="https://baty.net/posts/2025/03/using-the-obsidian-web-clipper-with-denote/clipper.png" width="500px"/> </figure> <p>It was important to set the &ldquo;Tags&rdquo; property type to &ldquo;Text&rdquo; rather than the default &ldquo;Multitext&rdquo; so that Denote does the right thing with it when renaming the file later.</p> <p>In the Web Clipper&rsquo;s advanced settings, I set the behavior to &ldquo;Save file&hellip;&rdquo; rather than &ldquo;Add to Obsidian&rdquo;.</p> <figure> <img loading="lazy" src="https://baty.net/posts/2025/03/using-the-obsidian-web-clipper-with-denote/settings.png" width="500px"/> </figure> <p>OK, so now after using the Web Clipper, I get a Markdown file<sup id="fnref:1"><a href="#fn:1" class="footnote-ref" role="doc-noteref">1</a></sup>with a (mostly) Denote-compatible file name and front matter in my ~/Downloads folder. Here&rsquo;s what clipping this post looks like:</p> <figure> <img loading="lazy" src="https://baty.net/posts/2025/03/using-the-obsidian-web-clipper-with-denote/example.png"/> </figure> <p>To get the file into my <code>denote-directory</code>, I use a rule in <a href="https://www.noodlesoft.com/">Hazel</a>. Hazel watches my Downloads folder for any new file whose name contains the string &ldquo;__clipping&rdquo;, and automatically moves it into a &ldquo;clippings&rdquo; folder in my Denote folder.</p> <p>The only manual step remaining is to finish renaming the files using Denote. I don&rsquo;t yet know how to have the Web Clipper &ldquo;slugify&rdquo; the file name, so I have Denote do it. This can be done in batch using Dired, so it&rsquo;s not a huge burden.</p> <p>If there&rsquo;s a simpler way to get a nicely-formatted Org mode file from a web page directly to my Denote folder, I&rsquo;m all ears, but for now&hellip;</p> <p>Take that, Obsidian! 😄</p> <div class="footnotes" role="doc-endnotes"> <hr> <ol> <li id="fn:1"> <p>Denote handles Markdown files natively, so this is fine.&#160;<a href="#fnref:1" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a></p> </li> </ol> </div> </content> </entry> <entry> <title>Using the Obsidian Web Clipper with Denote - Baty.net</title> <link href="https://baty.net/posts/2025/03/using-the-obsidian-web-clipper-with-denote"/> <id>posts/2025/03/using-the-obsidian-web-clipper-with-denote</id> <updated>2025-03-25T10:45:00.000Z</updated> <summary></summary> <content type="html"><p>I was feeling envious of the <a href="https://obsidian.md/clipper">Obsidian Web Clipper</a>, which is quite fancy, so I thought I'd try leveraging it for use with <a href="https://protesilaos.com/emacs/denote">Denote</a>.</p> <p>My first run at this involves a couple of steps:</p> <ul> <li>Tweak the web clipper to save files using Denote's format and front matter</li> <li>Save the file without adding it to an Obsidian vault</li> <li>Move the saved file into my Denote folder</li> </ul> <p>Here's the Web Clipper template configuration I ended up with:</p> <figure><img alt="" src="https://baty.net/media/pages/posts/2025/03/using-the-obsidian-web-clipper-with-denote/5a4251ce77-1742899850/clipper.png" width="500px"></figure> <p>It was important to set the "Tags" property type to "Text" rather than the default "Multitext" so that Denote does the right thing with it when renaming the file later.</p> <p>In the Web Clipper's advanced settings, I set the behavior to "Save file..." rather than "Add to Obsidian".</p> <figure><img alt="" src="https://baty.net/media/pages/posts/2025/03/using-the-obsidian-web-clipper-with-denote/57ecf1a953-1742900119/settings.png"></figure> <p>OK, so now after using the Web Clipper, I get a Markdown file<sup id="fnref1:1"><a href="#fn:1" class="footnote-ref">1</a></sup> with a Denote-compatible file name and front matter in my ~/Downloads folder. Here's what clipping this post looks like:</p> <figure><img alt="" src="https://baty.net/media/pages/posts/2025/03/using-the-obsidian-web-clipper-with-denote/7c57eb49e0-1742900935/example.png"></figure> <p>To get the file into my <code>denote-directory</code>, I use a rule in <a href="https://www.noodlesoft.com">Hazel</a>. Hazel watches my Downloads folder for any new file whose name contains the string "__clipping", and automatically moves it into a "clippings" folder in my Denote folder.</p> <p>The only manual step remaining is to finish renaming the files using Denote. I don't yet know how to have the Web Clipper "slugify" the file name, so I have Denote do it. This can be done in batch using Dired, so it's not a huge burden.</p> <p>If there's a simpler way to get a nicely-formatted Org mode file from a web page directly to my Denote folder, I'm all ears, but for now...</p> <p>Take that, Obsidian! 😄</p> <div class="footnotes"> <hr /> <ol> <li id="fn:1"> <p>Denote handles Markdown files natively, so this is fine.&#160;<a href="#fnref1:1" rev="footnote" class="footnote-backref">&#8617;</a></p> </li> </ol> </div><p style="font-size:1.3rem;" class="feed-email-link"><a href="mailto:jack@baty.net?subject=Using the Obsidian Web Clipper with Denote">Reply to this post by email</a></p></content> </entry> <entry> <title>Vlog: manual work at the hut and avoiding computer distractions - Protesilaos Stavrou: Master feed with all updates</title> <link href="https://protesilaos.com/news/2025-03-25-hut-manual-labour-avoid-distractions/"/> <id>https://protesilaos.com/news/2025-03-25-hut-manual-labour-avoid-distractions/</id> <updated>2025-03-25T00:00:00.000Z</updated> <summary></summary> <content type="html"><p>In this ~30-minute video, I do some manual labour while talking about the need to create physical distance from connected devices that take up too much of our attention. I also provide an update on the hut project, describing what exactly I am doing and how my winter went.</p></content> </entry> <entry> <title>Upgrading php to 8.3 on the (Ubuntu) server - Baty.net</title> <link href="https://baty.net/posts/2025/03/upgrading-php-to-8-3-on-the-ubuntu-server"/> <id>posts/2025/03/upgrading-php-to-8-3-on-the-ubuntu-server</id> <updated>2025-03-24T16:50:00.000Z</updated> <summary></summary> <content type="html"><p>I upgraded PHP to v8.3 (from 8.2) today on the server running baty.net. I don't pretend to be an Ubuntu sysadmin, so I'm writing it down, just in case.</p> <pre><code class="language-sh">sudo apt update sudo apt install php8.3 php8.3-cli php8.3-{bz2,curl,mbstring,intl,gd,xml} sudo apt install php8.3-fpm sudo a2enconf php8.3-fpm # enable it sudo vi /etc/caddy/Caddyfile # replace socket path with 8.3 sudo systemctl reload caddy sudo sudo a2disconf php8.2-fpm # disable 8.2 sudo apt purge php8.2* # in fact, just delete 8.2</code></pre> <p>The site runs on Caddy, so I needed to change the path to the fpm socket. Here's the Kirby section of the Caddyfile...</p> <pre><code class="language-sh">(kirby) { php_fastcgi unix//run/php/php8.3-fpm.sock @blocked { path *.txt *.md /content/* /site/* /kirby/* /.* } redir @blocked / }</code></pre><p style="font-size:1.3rem;" class="feed-email-link"><a href="mailto:jack@baty.net?subject=Upgrading php to 8.3 on the (Ubuntu) server">Reply to this post by email</a></p></content> </entry> <entry> <title>Emacs: first look at query links for Denote version 4.0.0 - Protesilaos Stavrou: Master feed with all updates</title> <link href="https://protesilaos.com/codelog/2025-03-24-emacs-denote-query-links/"/> <id>https://protesilaos.com/codelog/2025-03-24-emacs-denote-query-links/</id> <updated>2025-03-24T00:00:00.000Z</updated> <summary></summary> <content type="html"><p>The next version of Denote is shaping up to be a huge one. One of the newest features I am working on is the support for “query links”. Those use the same <code class="language-plaintext highlighter-rouge">denote:</code> link type infrastructure but exhibit a different behaviour than the direct links we have always had. Instead of pointing to a file via its unique identifier, they initiate a search through the contents of all files in the <code class="language-plaintext highlighter-rouge">denote-directory</code>. This search uses the built-in Xref mechanism and is the same as what we have already been doing with backlinks (basically, a <code class="language-plaintext highlighter-rouge">grep</code>).</p> <p>In short:</p> <ul> <li><strong>Direct links:</strong> Those point to a file via its unique identifier. For example, <code class="language-plaintext highlighter-rouge">denote:20250324T074132</code> resolves to a file path. Clicking on the link opens the corresponding file. Org export will also take care to turn this into a file path.</li> <li><strong>Query links:</strong> Those do not point to any file per se. They are a string of one or more words or regular expression which is matched against the contents of files. For example, <code class="language-plaintext highlighter-rouge">denote:this is a test</code> produces a buffer listing all matches for the given query. Clicking on the matching line in that buffer opens the file at that point (just how our backlinks work when they show context—I am generalising this mechanism).</li> </ul> <p><em>Direct links</em> can point to any file, including PDFs, videos, and pictures (assuming it is renamed to use the Denote file-naming scheme). Whereas <em>query links</em> are limited to text files.</p> <h2>Development discussion and screenshots</h2> <p>This is a work-in-progress that lives on its own branch as of this writing. I will not elaborate at length right now as the implementation details may change. I have, nonetheless, created an issue on the GitHub repository where interested parties can provide their feedback. It also includes some screenshots I took: <a href="https://github.com/protesilaos/denote/issues/561">https://github.com/protesilaos/denote/issues/561</a>. The code includes other changes which pertain to how we handle backlinks and constitutes a simplification of the code base.</p> <p>The idea is to add the functionality to the <code class="language-plaintext highlighter-rouge">main</code> branch in the coming days or weeks. Then I will do a video about it and/or explain more.</p> <p>That granted, do not forget that the official manual is the most up-to-date reference and the single source of truth.</p> <h2>Denote sources</h2> <p>Denote is a simple note-taking tool for Emacs. It is based on the idea that notes should follow a predictable and descriptive file-naming scheme. The file name must offer a clear indication of what the note is about, without reference to any other metadata. Denote basically streamlines the creation of such files while providing facilities to link between them.</p> <p>Denote’s file-naming scheme is not limited to “notes”. It can be used for all types of file, including those that are not editable in Emacs, such as videos. Naming files in a consistent way makes their filtering and retrieval considerably easier. Denote provides relevant facilities to rename files, regardless of file type.</p> <p>[ Further down on this list I include more of my Denote-related packages. ]</p> <ul> <li>Package name (GNU ELPA): <code class="language-plaintext highlighter-rouge">denote</code></li> <li>Official manual: <a href="https://protesilaos.com/emacs/denote">https://protesilaos.com/emacs/denote</a></li> <li>Change log: <a href="https://protesilaos.com/emacs/denote-changelog">https://protesilaos.com/emacs/denote-changelog</a></li> <li>Git repositories: <ul> <li>GitHub: <a href="https://github.com/protesilaos/denote">https://github.com/protesilaos/denote</a></li> <li>GitLab: <a href="https://gitlab.com/protesilaos/denote">https://gitlab.com/protesilaos/denote</a></li> </ul> </li> <li>Video demo: <a href="https://protesilaos.com/codelog/2022-06-18-denote-demo/">https://protesilaos.com/codelog/2022-06-18-denote-demo/</a></li> <li>Backronyms: Denote Everything Neatly; Omit The Excesses. Don’t Ever Note Only The Epiphenomenal.</li> </ul></content> </entry> <entry> <title>Roll 204 (Hasselblad 500C/M) - Baty.net</title> <link href="https://baty.net/posts/2025/03/roll-204-hasselblad-500c-m"/> <id>posts/2025/03/roll-204-hasselblad-500c-m</id> <updated>2025-03-23T12:30:00.000Z</updated> <summary></summary> <content type="html"><p>I've not been shooting much film recently. Yesterday, I was bored and in a mood, so I grabbed the Hasselblad and fired off a roll using Alice as my model. Only one frame was good enough to share. I really like it, so it was worth sacrificing the other 11.</p> <figure><img alt="Black and white film photo of dog laying on ottoman" src="https://baty.net/media/pages/posts/2025/03/roll-204-hasselblad-500c-m/ba27202add-1742732998/2025-roll-204_04.jpg"><figcaption>Alice on ottoman (2025)</figcaption></figure><p style="font-size:1.3rem;" class="feed-email-link"><a href="mailto:jack@baty.net?subject=Roll 204 (Hasselblad 500C/M)">Reply to this post by email</a></p></content> </entry> <entry> <title>Sing Sing (2023) - Baty.net</title> <link href="https://baty.net/movies/sing-sing-2023"/> <id>movies/sing-sing-2023</id> <updated>2025-03-23T09:40:00.000Z</updated> <summary></summary> <content type="html"><img alt="" src="https://baty.net/media/pages/movies/sing-sing-2023/17442ff6b2-1742722802/20250323t053657-sing-sing.webp"><p>Rating: ★★★★★ (5 stars)</p><p>A wonderful, touching, meaningful movie. It demonstrates what art can do for people.</p><p style="font-size:1.3rem;" class="feed-email-link"><a href="mailto:jack@baty.net?subject=Sing Sing">Reply to this post by email</a></p></content> </entry> <entry> <title>On the remilitarisation of Europe - Protesilaos Stavrou: Master feed with all updates</title> <link href="https://protesilaos.com/politics/2025-03-23-europe-remilitarisation/"/> <id>https://protesilaos.com/politics/2025-03-23-europe-remilitarisation/</id> <updated>2025-03-23T00:00:00.000Z</updated> <summary></summary> <content type="html"><p>The European Union is in the process of expanding its military capacity. The immediate plan is to invest in “made in Europe” defence capabilities. As <a href="https://commission.europa.eu/topics/defence/future-european-defence_en">outlined on the European Commission’s website</a>, governments will benefit from a lending facility that will mobilise funds from capital markets as well as creative national accounting. The latter involves the relaxation of the EU’s stringent rules on fiscal deficits and public debts such that expenditure up to 1.5% of Gross Domestic Product is not counted against the deficit if directed towards military affairs. Critics will rightly question where was this leeway when European leaders were insistent on imposing grinding austerity on the vast majority of the population. Why did the EU not relax those rules in favour of public health and education, for example, and why is the war machine treated differently in this regard? While I share that sentiment, I think the discrepancy is justified.</p> <p>War is odious yet part of our potential. A country that wants to preserve its way of living is a country that is combat ready. The same is true for individuals: those who do not want to be victims of some bully do what they must to make themselves a hard target. And those who are always mistreated are so because they are easy targets. Is this nice? No. Are the aggressors justified? No. The point is not one of aesthetics or of moralising against the phenomena. What matters is how the world works. There is no lasting security, personal or collective, that is sustained absent strong checks on innate ambitions of control, dominance, or even the sheer thrill of conquest and adventure.</p> <p>The story of the European integration process is one of peace among the Member States, in juxtaposition to the cruelty of two World Wars, yet it happened against the backdrop of the Cold War and, more recently, of ongoing tensions in the wider region. Europeans uniting under a single legal-institutional framework is, in practical terms, an alliance. Even from a purely economic standpoint, it makes sense for trading partners to have a vested interest in their common safety: it helps business continue. And with that come all the practicalities of the free movement of workers, their right to establishment, and so on. In other words, what starts out as a purely financial calculus inevitably spills over to all facets of the quotidian experience.</p> <p>The EU is a highly flawed architecture which cannot be a federal republic in its current form. It is a union of states or a confederation, else, a layer of bureaucracy on top of nation states, which has some competences (“sovereignty”) but which nevertheless lacks democratic accountability commensurate with that generally found at the Member State level. There still are degrees though, which critics of the Union need be mindful of in order not to lose their sense of perspective. Despite its shortcomings, the EU is a largely progressive place in terms of the rule of law and the respect for fundamental freedoms. One need only take a look at the immediate periphery of the EU to appreciate those nuances and understanding how nothing can be taken as a given.</p> <p>A European Defence Union provides a credible deterrent to aspiring overlords that seek to exploit Europeans. It cannot be purely good though, as it admittedly comes with the latent risk of turning into a repressive regime in its own right. Such is the trade-off every hitherto society faces: who guards us from the guardians? There is no ultimate guarantee and it is pointless to think of politics in terms of the untenable binary of good versus evil. It will always be an arrangement that is prone to abuse while having the merit of enabling a certain lifestyle. It is why political conduct rests on faith, else the acquiescence of individuals to the prevailing norms and their commitment to operate in good faith accordingly. Put differently for our immediate case, democracies are maintained by democratic citizens and cease to be democratic when the people no longer are vigilant in enforcing the values they purport to uphold.</p> <p>Accelerated rearmament is a pragmatic response to the evolving international trends. Anything else is complacency bordering on recklessness. My hope is that on the balance, we avoid the worse by showing the requisite readiness, without getting sucked into the black hole of militarism. The key, then, looking forward is to be responsible in the language we use and the deeds we carry out. We will all be on the losing side if in the process of fighting the bullies we become bullies ourselves.</p></content> </entry> <entry> <title>A change to my /everything.rss feed - Baty.net</title> <link href="https://baty.net/posts/2025/03/a-change-to-my-everything-rss-feed"/> <id>posts/2025/03/a-change-to-my-everything-rss-feed</id> <updated>2025-03-22T11:20:00.000Z</updated> <summary></summary> <content type="html"><p>For a while, I tried maintaining a combined RSS feed that included posts from all my sundry blogs. I kept it at /everything.rss. It was managed as part of my WordPress blog, and since I've stopped using WordPress, I've been redirecting /everything.rss to the feed for baty.net, which is either /feed or /index.xml, depending on my blog platform of the day.</p> <p>I think that instead of that, I'll piggyback off my <a href="https://mastodon.social/@batybot/">@batybot</a> account on Mastodon.social. I crosspost most stuff from my sites to @batybot via <a href="https://echofeed.app/">EchoFeed</a> already, and Mastodon offers an rss feed for each account. Mine is <a href="https://mastodon.social/@batybot.rss">https://mastodon.social/@batybot.rss</a>. </p> <p>Soon, I'll redirect requests from baty.net/everything.rss to <a href="https://mastodon.social/@batybot.rss">https://mastodon.social/@batybot.rss</a>. This doesn't offer full posts, but rather it's more like a firehose of links to everything I post. If you'd like to avoid that kind of noise, delete your subscription to /everything.rss. If you are a glutton for punishment, feel free to subscribe.</p><p style="font-size:1.3rem;" class="feed-email-link"><a href="mailto:jack@baty.net?subject=A change to my /everything.rss feed">Reply to this post by email</a></p></content> </entry> <entry> <title>Emacs: how I build from emacs.git on Debian stable - Protesilaos Stavrou: Master feed with all updates</title> <link href="https://protesilaos.com/codelog/2025-03-22-emacs-build-source-debian/"/> <id>https://protesilaos.com/codelog/2025-03-22-emacs-build-source-debian/</id> <updated>2025-03-22T00:00:00.000Z</updated> <summary></summary> <content type="html"><p>I have been following the <code class="language-plaintext highlighter-rouge">master</code> branch of the emacs.git repository for many years now. It helps me test new features and make necessary adjustments to all the packages I develop/maintain. Below I explain how I make this happen on my computer, which is running Debian stable (Debian 12 “Bookworm” as of this writing). If you are a regular user, there is no reason to build from source: just use the latest stable release and you should be fine.</p> <h2>Configure the <code class="language-plaintext highlighter-rouge">apt</code> development sources</h2> <p>To build Emacs from source on Debian, you first need to have the <code class="language-plaintext highlighter-rouge">deb-src</code> package archive enabled. In your <code class="language-plaintext highlighter-rouge">/etc/apt/sources.list</code> file you must have something like this:</p> <div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>deb http://deb.debian.org/debian/ bookworm main deb-src http://deb.debian.org/debian/ bookworm main </code></pre></div></div> <p>After modifying the sources, run the following on the command line to fetch the index with new package names+versions:</p> <div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>sudo apt update </code></pre></div></div> <h2>Get the Emacs build dependencies</h2> <p>Now that you have enabled the <code class="language-plaintext highlighter-rouge">deb-src</code> archive, you can install the build dependencies of the Debian <code class="language-plaintext highlighter-rouge">emacs</code> package with the following on the command line:</p> <div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>sudo apt build-dep emacs </code></pre></div></div> <p>With this done, you are ready to build Emacs from source.</p> <h2>Get the Emacs source code</h2> <p>You need the <code class="language-plaintext highlighter-rouge">git</code> program to get the source code from the emacs.git website. So install it with this command:</p> <div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>sudo apt install git </code></pre></div></div> <p>Now make a copy of the Emacs source code, using this on the command line:</p> <div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>git clone https://git.savannah.gnu.org/git/emacs.git ~/path/to/my/copy-of-emacs.git </code></pre></div></div> <p>Replace <code class="language-plaintext highlighter-rouge">~/path/to/my/copy-of-emacs.git</code> with the actual destination of your preference. I have a <code class="language-plaintext highlighter-rouge">~/Builds</code> directory where I store all the projects I build from source. I thus do:</p> <div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>git clone https://git.savannah.gnu.org/git/emacs.git ~/Builds/emacs.git </code></pre></div></div> <p>If the cloning process is too slow on your end, perform a <em>shallow clone</em> instead. For example:</p> <div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>git clone --depth 1 https://git.savannah.gnu.org/git/emacs.git ~/Builds/emacs.git </code></pre></div></div> <p>And if the Savannah website is not responsive, then clone from the GitHub mirror (with the <code class="language-plaintext highlighter-rouge">--depth 1</code> if necessary):</p> <div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>git clone https://github.com/emacs-mirror/emacs.git ~/Builds/emacs.git </code></pre></div></div> <h2>Switch to the Emacs directory</h2> <p>Assuming you have the copy of emacs.git stored at <code class="language-plaintext highlighter-rouge">~/Builds/emacs.git</code>, you switch to that directory with the following:</p> <div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cd ~/Builds/emacs.git </code></pre></div></div> <p>Keep in mind that unless you explicitly switch to another branch, you are on <code class="language-plaintext highlighter-rouge">master</code>, i.e. the latest development target.</p> <p><strong>NOTE:</strong> All subsequent commands are ran from your equivalent of <code class="language-plaintext highlighter-rouge">~/Builds/emacs.git</code>.</p> <h2>Run the <code class="language-plaintext highlighter-rouge">autogen.sh</code> the first time</h2> <p>This script will generate the configuration scaffold. You only really need to do this once (and I always forget about it for this very reason). Simply do this on the command line:</p> <div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>./autogen.sh </code></pre></div></div> <p>It checks that you have all you need to get started and prints output like this:</p> <div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>Checking whether you have the necessary tools... (Read INSTALL.REPO for more details on building Emacs) Checking for autoconf (need at least version 2.65) ... ok Your system has the required tools. Building aclocal.m4 ... Running 'autoreconf -fi -I m4' ... Building 'aclocal.m4' in exec ... Running 'autoreconf -fi' in exec ... Configuring local git repository... '.git/config' -&gt; '.git/config.~1~' git config transfer.fsckObjects 'true' git config diff.cpp.xfuncname '!^[ ]*[A-Za-z_][A-Za-z_0-9]*:[[:space:]]*($|/[/*]) ^((::[[:space:]]*)?[A-Za-z_][A-Za-z_0-9]*[[:space:]]*\(.*)$ ^((#define[[:space:]]|DEFUN).*)$' git config diff.elisp.xfuncname '^\([^[:space:]]*def[^[:space:]]+[[:space:]]+([^()[:space:]]+)' git config diff.m4.xfuncname '^((m4_)?define|A._DEFUN(_ONCE)?)\([^),]*' git config diff.make.xfuncname '^([$.[:alnum:]_].*:|[[:alnum:]_]+[[:space:]]*([*:+]?[:?]?|!?)=|define .*)' git config diff.shell.xfuncname '^([[:space:]]*[[:alpha:]_][[:alnum:]_]*[[:space:]]*\(\)|[[:alpha:]_][[:alnum:]_]*=)' git config diff.texinfo.xfuncname '^@node[[:space:]]+([^,[:space:]][^,]+)' Installing git hooks... 'build-aux/git-hooks/commit-msg' -&gt; '.git/hooks/commit-msg' 'build-aux/git-hooks/pre-commit' -&gt; '.git/hooks/pre-commit' 'build-aux/git-hooks/prepare-commit-msg' -&gt; '.git/hooks/prepare-commit-msg' 'build-aux/git-hooks/post-commit' -&gt; '.git/hooks/post-commit' 'build-aux/git-hooks/pre-push' -&gt; '.git/hooks/pre-push' 'build-aux/git-hooks/commit-msg-files.awk' -&gt; '.git/hooks/commit-msg-files.awk' '.git/hooks/applypatch-msg.sample' -&gt; '.git/hooks/applypatch-msg' '.git/hooks/pre-applypatch.sample' -&gt; '.git/hooks/pre-applypatch' You can now run './configure'. </code></pre></div></div> <p>Do not be intimidated by it. Focus on the final line instead, which directs you to the <code class="language-plaintext highlighter-rouge">configure</code> directive.</p> <h2>Explore the build flags</h2> <p>How exactly you build Emacs depends on your preferences and system-specific requirements. At the end of this post, I copy my current configuration, though <strong>I advise against</strong> copying it without understanding what it does.</p> <p>If you have no specific preferences, just use the defaults by running this on the command line:</p> <div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>./configure </code></pre></div></div> <p>It will set up the build environment for you. If, however, you wish to explore your options and customise the <code class="language-plaintext highlighter-rouge">emacs</code> program you will get, then issue the following command and carefully read its output:</p> <div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>./configure --help </code></pre></div></div> <p>The <strong>minimum I recommend</strong> is to specify where the build artefacts are stored. I use this, which has not caused me any issues over the years:</p> <div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>./configure --prefix=/usr/local </code></pre></div></div> <h2>Configure the build environment with your preferred flags</h2> <p>Once you have understood the available options, go ahead and run <code class="language-plaintext highlighter-rouge">configure</code>. For example:</p> <div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>./configure --prefix=/usr/local --with-x-toolkit=gtk3 </code></pre></div></div> <p>Whenever you need to rebuild Emacs with some new flags, run the <code class="language-plaintext highlighter-rouge">configure</code> command again, passing it the relevant flags. If you wish to keep the same options for a new build, then simply do not run <code class="language-plaintext highlighter-rouge">configure</code> again.</p> <h2>Make the program</h2> <p>Once <code class="language-plaintext highlighter-rouge">configure</code> finishes its work, it is time to run the <code class="language-plaintext highlighter-rouge">make</code> program. For new builds, this is as simple as:</p> <div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>make </code></pre></div></div> <p>Sometimes you have old build artefacts that conflict with changes upstream. When that happens, the build process will fail. You may then need to use:</p> <div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>make bootstrap </code></pre></div></div> <p>In general, <code class="language-plaintext highlighter-rouge">make</code> is enough. It will be slow the first time, but will be faster on subsequent runs as it reuses what is already there. A <code class="language-plaintext highlighter-rouge">make bootstrap</code> will always be slow though, as it generates everything anew.</p> <h2>Install the program that was made</h2> <p>After <code class="language-plaintext highlighter-rouge">make</code> is done, you are ready to install Emacs:</p> <div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>sudo make install </code></pre></div></div> <p>You will not need escalated privileges (i.e. <code class="language-plaintext highlighter-rouge">sudo</code>) is you specified a <code class="language-plaintext highlighter-rouge">--prefix</code> with a user directory during the <code class="language-plaintext highlighter-rouge">configure</code> step. How you go about it is up to you.</p> <h2>Keeping Emacs up-to-date</h2> <p>Whenever you wish to update from source, go to where your copy of emacs.git is (e.g. <code class="language-plaintext highlighter-rouge">~/Builds/emacs.git</code>) and pull the latest changes using the <code class="language-plaintext highlighter-rouge">git</code> program:</p> <div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>git pull </code></pre></div></div> <p>Then repeat <code class="language-plaintext highlighter-rouge">make</code> and <code class="language-plaintext highlighter-rouge">make install</code>. Remember that you do not need to re-run <code class="language-plaintext highlighter-rouge">configure</code> unless you specifically want to modify your build (and if you do that, you probably need to <code class="language-plaintext highlighter-rouge">make bootstrap</code>).</p> <h2>Learn about the latest <code class="language-plaintext highlighter-rouge">NEWS</code></h2> <p>Emacs users can at all times learn about changes introduced in their current version of Emacs with <code class="language-plaintext highlighter-rouge">M-x view-emacs-news</code>. It is bound to the key <code class="language-plaintext highlighter-rouge">C-h n</code> by default. This command opens the current <code class="language-plaintext highlighter-rouge">NEWS</code> file. With a numeric prefix argument, you get the <code class="language-plaintext highlighter-rouge">NEWS</code> of the given Emacs version. For example, <code class="language-plaintext highlighter-rouge">C-u 27 C-h n</code> shows you what Emacs version 27 introduced.</p> <h2>Compare your <code class="language-plaintext highlighter-rouge">NEWS</code> to those of emacs.git</h2> <p>With the help of the built-in Emacs <code class="language-plaintext highlighter-rouge">ediff</code> package, you can compare your latest <code class="language-plaintext highlighter-rouge">NEWS</code> to those coming from emacs.git. I always do this after pulling the latest changes from source (with <code class="language-plaintext highlighter-rouge">git pull</code>).</p> <p>From the root directory of your copye of emacs.git (e.g. <code class="language-plaintext highlighter-rouge">~/Builds/emacs.git</code>), and while using Emacs, you can do <code class="language-plaintext highlighter-rouge">M-x project-find-file</code> (<code class="language-plaintext highlighter-rouge">C-x p f</code>) to search the Emacs “project” for a file called <code class="language-plaintext highlighter-rouge">etc/NEWS</code>. This is where the latest user-facing changes are recorded.</p> <p>If you are not sure where you are on the filesystem while inside Emacs, do <code class="language-plaintext highlighter-rouge">M-x cd</code> (or <code class="language-plaintext highlighter-rouge">M-x dired</code> or <code class="language-plaintext highlighter-rouge">M-x find-file</code>), select the root directory of your emacs.git, hit <code class="language-plaintext highlighter-rouge">RET</code>, and then do <code class="language-plaintext highlighter-rouge">M-x project-find-file</code>.</p> <p>Now that you have <code class="language-plaintext highlighter-rouge">emacs.git/etc/NEWS</code> in a buffer, also load your copy of <code class="language-plaintext highlighter-rouge">NEWS</code> with <code class="language-plaintext highlighter-rouge">M-x view-emacs-news</code> (<code class="language-plaintext highlighter-rouge">C-h n</code>).</p> <p>Then do <code class="language-plaintext highlighter-rouge">M-x ediff-buffers</code>, which will prompt for two buffers to compare. First select your version of <code class="language-plaintext highlighter-rouge">NEWS</code> and then that of emacs.git.</p> <p><strong>NOTE:</strong> I think the default Ediff interface is problematic. Put the following in your configuration to make it work in a single frame:</p> <div class="language-elisp highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="p">(</span><span class="k">setq</span> <span class="nv">ediff-split-window-function</span> <span class="ss">'split-window-horizontally</span><span class="p">)</span> <span class="p">(</span><span class="k">setq</span> <span class="nv">ediff-window-setup-function</span> <span class="ss">'ediff-setup-windows-plain</span><span class="p">)</span> </code></pre></div></div> <p>Also watch my video with the Ediff basics: <a href="https://protesilaos.com/codelog/2023-11-17-emacs-ediff-basics/">https://protesilaos.com/codelog/2023-11-17-emacs-ediff-basics/</a>.</p> <p>This is it. You are now in the flow of building Emacs from source. Good luck with everything!</p> <h2>My current build options</h2> <div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>--prefix=/usr/local --without-xinput2 --without-compress-install --without-gpm --without-selinux --with-native-compilation=yes --with-sound=no --without-gif --without-tiff --with-cairo --with-harfbuzz --with-tree-sitter=ifavailable --with-json --without-gsettings --without-gconf --with-x-toolkit=no --without-toolkit-scroll-bars --without-xft --without-xaw3d </code></pre></div></div> <p>I am not updating old publications, unless otherwise noted. The most up-to-date recode of my Emacs build is documented in my dotemacs: <a href="https://protesilaos.com/emacs/dotemacs">https://protesilaos.com/emacs/dotemacs</a>.</p> <p>Inspect the value of the Emacs variable <code class="language-plaintext highlighter-rouge">system-configuration-options</code> to find out how your Emacs is built.</p> <p>Have fun!</p></content> </entry> <entry> <title>Five weeks with the Nikon Z f - Baty.net</title> <link href="https://baty.net/posts/2025/03/five-weeks-with-the-nikon-z-f"/> <id>posts/2025/03/five-weeks-with-the-nikon-z-f</id> <updated>2025-03-21T12:15:00.000Z</updated> <summary></summary> <content type="html"><figure><img alt="Closeup of mode selector in the Nikon Z f camera" src="https://baty.net/media/pages/posts/2025/03/five-weeks-with-the-nikon-z-f/33de4d0d30-1742559254/20250321-nikonzf.jpg"><figcaption>See that cool ISO dial? I never use it.</figcaption></figure> <p>I bought the Nikon Z f thinking it would replace my Leica SL2, since the Nikon is lighter, newer, cheaper, and faster. While it is all of those things, it's still not <em>better</em>.</p> <p><strong>Here's what I like about the Z f:</strong></p> <ul> <li>The design is just the right amount of retro.</li> <li>Autofocus is very fast and accurate. Even in low light.</li> <li>High ISOs are very usable.</li> <li>The dials feel good.</li> <li>The RAW files look good out of Capture One without much work.</li> <li>It's nice having a flippy screen, even though it's the wrong style of flippy screen.</li> <li>It's lighter than the SL2.</li> </ul> <p><strong>Here's what I don't love about it:</strong></p> <ul> <li>While smaller than the SL2, it's not a small camera.</li> <li>The menus are too complex. I still can't find anything. Use a modern Leica for 10 minutes and you'll see what I mean.</li> <li>The Auto ISO features confound me at every turn. So much so that I never touch the nice, big, well-made dial for setting ISO.</li> <li>Auto focus is fast and accurate, but the settings to make them fast and accurate require study. Too much study.</li> <li>The batter/SD door is horrible, and with the grip attached, I struggle to pull the card out.</li> <li>I wish the dials worked like the Fuji system's dials. Yes, I know, these are more flexible, but if they don't make sense to me, I'm not using them.</li> </ul> <p>If I sell the camera now, I'll lose my ass. But if I don't learn to like it more, the money might be better spent elsewhere, even at a loss.</p> <p>Also, I haven't sold the SL2, yet.</p><p style="font-size:1.3rem;" class="feed-email-link"><a href="mailto:jack@baty.net?subject=Five weeks with the Nikon Z f">Reply to this post by email</a></p></content> </entry> </feed>