{"version":"https://jsonfeed.org/version/1","title":"Micro.blog - Frank van Puffelen","home_page_url":"https://micro.blog","feed_url":"https://micro.blog/posts/puf","_microblog":{"about":"https://micro.blog/about/api","id":"2152","username":"puf","bio":"","pronouns":"","is_following":false,"is_you":false,"following_count":2,"discover_count":0},"author":{"name":"Frank van Puffelen","url":"http://puf.io","avatar":"https://www.gravatar.com/avatar/4df6cf8a2fa4219b0990c579e3f5cffd?s=96&d=https%3A%2F%2Fmicro.blog%2Fimages%2Fblank_avatar.png"},"items":[{"id":"97865223","content_html":"<p>🥇 A first for me: I got to read Mother Dearest by Clare Bird as an advance copy.</p><p>The unusual perspective and epistolary format kept it moving nicely, even if I saw a bit too much of the plot coming. ⭐⭐⭐</p><p>Full review: <a href=\"https://puf.io/books/mother-dearest---clare-bird\">puf.io/books/mother-...</a></p><p><img src=\"https://cdn.micro.blog/photos/1000x/https%3A%2F%2Fcdn.bsky.app%2Fimg%2Ffeed_fullsize%2Fplain%2Fdid%3Aplc%3Ar5shvvsyaq3kfatc3novwud6%2Fbafkreicqjwn6x4izuwkzx5o4yspij7dvl6vodore2ebek52mb45n6rt5oe\" alt=\"\" loading=\"lazy\"></p>","summary":"","url":"https://bsky.app/profile/did:plc:r5shvvsyaq3kfatc3novwud6/post/3mvw5lg4itt2o","date_published":"2026-09-20T02:28:15+00:00","author":{"name":"Frank van Puffelen","url":"http://puf.io","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fwww.gravatar.com%2Favatar%2F4df6cf8a2fa4219b0990c579e3f5cffd%3Fs%3D96%26d%3Dhttps%253A%252F%252Fmicro.blog%252Fimages%252Fblank_avatar.png","_microblog":{"username":"puf"}},"_microblog":{"date_relative":"2026-09-20 02:28","date_timestamp":1789871295,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":false,"is_mention":false,"is_podcast":false,"note":"","syndication":[]}},{"id":"97817630","content_html":"<p>I asked an LLM agent to parse a terms-of-service change from my bank for me:</p><p>&gt; This one changes exactly nothing for you. <br>&gt; 33 pages of legalese, zero impact - file and forget.</p><p>I like it when they have a bit of attitude like that. 😅</p>","summary":"","url":"https://bsky.app/profile/did:plc:r5shvvsyaq3kfatc3novwud6/post/3mvte56xcq62l","date_published":"2026-09-18T23:47:35+00:00","author":{"name":"Frank van Puffelen","url":"http://puf.io","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fwww.gravatar.com%2Favatar%2F4df6cf8a2fa4219b0990c579e3f5cffd%3Fs%3D96%26d%3Dhttps%253A%252F%252Fmicro.blog%252Fimages%252Fblank_avatar.png","_microblog":{"username":"puf"}},"_microblog":{"date_relative":"2026-09-18 23:47","date_timestamp":1789775255,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":false,"is_mention":false,"is_podcast":false,"note":"","syndication":[]}},{"id":"97817631","content_html":"<p>❤️🌁 The Hearts in San Francisco statue series never disappoints.</p><p>Here's Open Heart, which has been at the end of Pier 39 since 2014.</p><p>So if you're visiting Fisherman's Wharf, grab a shot of this one after you've seen/smelled the sea lions. 🦭</p><p><a href=\"https://puf.io/tags/hearts-in-san-francisco#2026-05-10-hearts-in-san-francisco---open-heart\">puf.io/tags/hearts-i...</a></p><div class=\"microblog_collection\">\n<img src=\"https://cdn.micro.blog/photos/1000x/https%3A%2F%2Fcdn.bsky.app%2Fimg%2Ffeed_fullsize%2Fplain%2Fdid%3Aplc%3Ar5shvvsyaq3kfatc3novwud6%2Fbafkreic4iwj2qi3eaokcevi3qza7hmaxqmcocdqqqolywh5nrzksfbsl6q\" alt=\"\" loading=\"lazy\"><img src=\"https://cdn.micro.blog/photos/1000x/https%3A%2F%2Fcdn.bsky.app%2Fimg%2Ffeed_fullsize%2Fplain%2Fdid%3Aplc%3Ar5shvvsyaq3kfatc3novwud6%2Fbafkreihvporgfqykfju6qlewlooiuplryyyw5y4vrtihgyr5nmwhtobfwi\" alt=\"\" loading=\"lazy\"><img src=\"https://cdn.micro.blog/photos/1000x/https%3A%2F%2Fcdn.bsky.app%2Fimg%2Ffeed_fullsize%2Fplain%2Fdid%3Aplc%3Ar5shvvsyaq3kfatc3novwud6%2Fbafkreigqet6uplwvzappxw2xjcicfjdyk3prgtamtwhb4qechrdo7pq3ga\" alt=\"\" loading=\"lazy\">\n</div>","summary":"","url":"https://bsky.app/profile/did:plc:r5shvvsyaq3kfatc3novwud6/post/3mvsw5f5yjm2l","date_published":"2026-09-18T19:37:08+00:00","author":{"name":"Frank van Puffelen","url":"http://puf.io","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fwww.gravatar.com%2Favatar%2F4df6cf8a2fa4219b0990c579e3f5cffd%3Fs%3D96%26d%3Dhttps%253A%252F%252Fmicro.blog%252Fimages%252Fblank_avatar.png","_microblog":{"username":"puf"}},"_microblog":{"date_relative":"2026-09-18 19:37","date_timestamp":1789760228,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":false,"is_mention":false,"is_podcast":false,"note":"","syndication":[]}},{"id":"97758969","content_html":"<p>For those who fear knowledge work is going away: the biggest constants I've brought to all my tech jobs are:</p><p>* Unbridled curiosity<br>* Belief in/insistence on forward motion<br>* Healthy disregard for the impossible</p><p>Nothing has changed there. <br>Skills change, values are more stable.</p>","summary":"","url":"https://bsky.app/profile/did:plc:r5shvvsyaq3kfatc3novwud6/post/3mvqgbj3mki2q","date_published":"2026-09-17T19:47:48+00:00","author":{"name":"Frank van Puffelen","url":"http://puf.io","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fwww.gravatar.com%2Favatar%2F4df6cf8a2fa4219b0990c579e3f5cffd%3Fs%3D96%26d%3Dhttps%253A%252F%252Fmicro.blog%252Fimages%252Fblank_avatar.png","_microblog":{"username":"puf"}},"_microblog":{"date_relative":"2026-09-17 19:47","date_timestamp":1789674468,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":false,"is_mention":false,"is_podcast":false,"note":"","syndication":[]}},{"id":"97696980","content_html":"<p>📕💥 I just read the book Crisis Engineering about navigating high-stakes crises. A relatively easy read for a potentially complex subject, with lots that felt familiar from working with SREs and on difficult projects at Google. ★★★★☆</p><p>Full review: <a href=\"https://puf.io/books/crisis-engineering---marina-nitze,-matthew-weaver,-mikey-dickerson/\">puf.io/books/crisis-...</a></p><p><img src=\"https://cdn.micro.blog/photos/1000x/https%3A%2F%2Fcdn.bsky.app%2Fimg%2Ffeed_fullsize%2Fplain%2Fdid%3Aplc%3Ar5shvvsyaq3kfatc3novwud6%2Fbafkreidimxuv45rwcy3idtqfdf3veo4p5dqjg5exvycn6sxqka73l6l6v4\" alt=\"\" loading=\"lazy\"></p>","summary":"","url":"https://bsky.app/profile/did:plc:r5shvvsyaq3kfatc3novwud6/post/3mvo7qd2wgr23","date_published":"2026-09-16T22:45:29+00:00","author":{"name":"Frank van Puffelen","url":"http://puf.io","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fwww.gravatar.com%2Favatar%2F4df6cf8a2fa4219b0990c579e3f5cffd%3Fs%3D96%26d%3Dhttps%253A%252F%252Fmicro.blog%252Fimages%252Fblank_avatar.png","_microblog":{"username":"puf"}},"_microblog":{"date_relative":"2026-09-16 22:45","date_timestamp":1789598729,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":false,"is_mention":false,"is_podcast":false,"note":"","syndication":[]}},{"id":"97635750","content_html":"<p>Reading Discworld backwards from its highest rated subseries has made Pratchett’s evolving style fascinating to watch. Witches Abroad is already a long way from the earliest books, even if the deeper ideas still feel a bit obvious. ★★★☆☆</p><p>Full review: <a href=\"https://puf.io/books/witches-abroad---terry-pratchett/\">puf.io/books/witches...</a></p><p><img src=\"https://cdn.micro.blog/photos/1000x/https%3A%2F%2Fcdn.bsky.app%2Fimg%2Ffeed_fullsize%2Fplain%2Fdid%3Aplc%3Ar5shvvsyaq3kfatc3novwud6%2Fbafkreifof5vf5eqkz6iqb64jx6o4rsr6wnanv2eoplejxywprb4dzews4a\" alt=\"\" loading=\"lazy\"></p>","summary":"","url":"https://bsky.app/profile/did:plc:r5shvvsyaq3kfatc3novwud6/post/3mvliqr4nl62a","date_published":"2026-09-15T20:48:48+00:00","author":{"name":"Frank van Puffelen","url":"http://puf.io","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fwww.gravatar.com%2Favatar%2F4df6cf8a2fa4219b0990c579e3f5cffd%3Fs%3D96%26d%3Dhttps%253A%252F%252Fmicro.blog%252Fimages%252Fblank_avatar.png","_microblog":{"username":"puf"}},"_microblog":{"date_relative":"2026-09-15 20:48","date_timestamp":1789505328,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":false,"is_mention":false,"is_podcast":false,"note":"","syndication":[]}},{"id":"97573535","content_html":"<p>New blog post from Firebase: \"Introducing Firebase spend caps\"</p><p>From there:</p><p>&gt; Billing circuit breakers for AI and serverless workloads</p><p>So you can now set a maximum spend on AI and Cloud Run/Functions, which are the main causes of abuse/runaway mistakes.</p><p><a href=\"https://firebase.blog/posts/2026/09/firebase-spend-caps\">firebase.blog/posts/...</a></p><div class=\"microblog_collection\">\n<img src=\"https://cdn.micro.blog/photos/1000x/https%3A%2F%2Fcdn.bsky.app%2Fimg%2Ffeed_fullsize%2Fplain%2Fdid%3Aplc%3Ar5shvvsyaq3kfatc3novwud6%2Fbafkreic72uppafxoupeayosh5l2oldqiludhdag6gojq5to5yrwkkayqp4\" alt=\"\" loading=\"lazy\"><img src=\"https://cdn.micro.blog/photos/1000x/https%3A%2F%2Fcdn.bsky.app%2Fimg%2Ffeed_fullsize%2Fplain%2Fdid%3Aplc%3Ar5shvvsyaq3kfatc3novwud6%2Fbafkreicgyenv6bypccjtbfoi6t3zhka6zhkybbi2hmft6cjwuaq7esibwu\" alt=\"\" loading=\"lazy\">\n</div>","summary":"","url":"https://bsky.app/profile/did:plc:r5shvvsyaq3kfatc3novwud6/post/3mviwdcnznq2x","date_published":"2026-09-14T20:13:50+00:00","author":{"name":"Frank van Puffelen","url":"http://puf.io","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fwww.gravatar.com%2Favatar%2F4df6cf8a2fa4219b0990c579e3f5cffd%3Fs%3D96%26d%3Dhttps%253A%252F%252Fmicro.blog%252Fimages%252Fblank_avatar.png","_microblog":{"username":"puf"}},"_microblog":{"date_relative":"2026-09-14 20:13","date_timestamp":1789416830,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":false,"is_mention":false,"is_podcast":false,"note":"","syndication":[]}},{"id":"97513220","content_html":"<p>📚🗡️ I finished The Subtle Knife, book two in Philip Pullman’s His Dark Materials trilogy. Like The Golden Compass, it didn’t fully live up to my expectations, though the plot moves along nicely and ends on a big, darker cliffhanger. ★★★☆☆</p><p>More: <a href=\"https://puf.io/books/the-subtle-knife---philip-pullman/\">puf.io/books/the-sub...</a></p><p><img src=\"https://cdn.micro.blog/photos/1000x/https%3A%2F%2Fcdn.bsky.app%2Fimg%2Ffeed_fullsize%2Fplain%2Fdid%3Aplc%3Ar5shvvsyaq3kfatc3novwud6%2Fbafkreiaowmzvwhv2p2m7ri3nb56ggu3fwcpm36cyhhyv4ncihx7f6u2irq\" alt=\"\" loading=\"lazy\"></p>","summary":"","url":"https://bsky.app/profile/did:plc:r5shvvsyaq3kfatc3novwud6/post/3mvgstcfvez2h","date_published":"2026-09-14T00:05:52+00:00","author":{"name":"Frank van Puffelen","url":"http://puf.io","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fwww.gravatar.com%2Favatar%2F4df6cf8a2fa4219b0990c579e3f5cffd%3Fs%3D96%26d%3Dhttps%253A%252F%252Fmicro.blog%252Fimages%252Fblank_avatar.png","_microblog":{"username":"puf"}},"_microblog":{"date_relative":"2026-09-14 00:05","date_timestamp":1789344352,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":false,"is_mention":false,"is_podcast":false,"note":"","syndication":[]}},{"id":"97461393","content_html":"<p>📔 I've been a pro-wrestling fan since my early teens, and discovered Bret Hart through The Hart Foundation. His memoir is self-centered, bitter, packed with wrestling history, and ultimately fascinating.</p><p>Rating: 4 out of 5 stars<br>★★★★☆</p><p>Full review: <a href=\"https://puf.io/books/hitman---bret-hart/\">puf.io/books/hitman-...</a></p><p><img src=\"https://cdn.micro.blog/photos/1000x/https%3A%2F%2Fcdn.bsky.app%2Fimg%2Ffeed_fullsize%2Fplain%2Fdid%3Aplc%3Ar5shvvsyaq3kfatc3novwud6%2Fbafkreievqybpytadsywtdxde53adeqdczdhu3mcsfc566jhfahcd4d5wom\" alt=\"\" loading=\"lazy\"></p>","summary":"","url":"https://bsky.app/profile/did:plc:r5shvvsyaq3kfatc3novwud6/post/3mvdt56xoee23","date_published":"2026-09-12T19:33:25+00:00","author":{"name":"Frank van Puffelen","url":"http://puf.io","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fwww.gravatar.com%2Favatar%2F4df6cf8a2fa4219b0990c579e3f5cffd%3Fs%3D96%26d%3Dhttps%253A%252F%252Fmicro.blog%252Fimages%252Fblank_avatar.png","_microblog":{"username":"puf"}},"_microblog":{"date_relative":"2026-09-12 19:33","date_timestamp":1789241605,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":false,"is_mention":false,"is_podcast":false,"note":"","syndication":[]}},{"id":"97412763","content_html":"<p>📕 Mother Dearest by Clare Bird is the second book I’ve read this year that's written as a bunch of letters. Is there a 2026 trend I don’t know about? 🤔 </p><p>Easy to read, nicely paced, and an interesting look at some deeply warped reasoning. ⭐⭐⭐</p><p><a href=\"https://puf.io/books/mother-dearest---clare-bird\">puf.io/books/mother-...</a></p><p><img src=\"https://cdn.micro.blog/photos/1000x/https%3A%2F%2Fcdn.bsky.app%2Fimg%2Ffeed_fullsize%2Fplain%2Fdid%3Aplc%3Ar5shvvsyaq3kfatc3novwud6%2Fbafkreicqjwn6x4izuwkzx5o4yspij7dvl6vodore2ebek52mb45n6rt5oe\" alt=\"\" loading=\"lazy\"></p>","summary":"","url":"https://bsky.app/profile/did:plc:r5shvvsyaq3kfatc3novwud6/post/3mvbseicwjv23","date_published":"2026-09-12T00:14:16+00:00","author":{"name":"Frank van Puffelen","url":"http://puf.io","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fwww.gravatar.com%2Favatar%2F4df6cf8a2fa4219b0990c579e3f5cffd%3Fs%3D96%26d%3Dhttps%253A%252F%252Fmicro.blog%252Fimages%252Fblank_avatar.png","_microblog":{"username":"puf"}},"_microblog":{"date_relative":"2026-09-12 00:14","date_timestamp":1789172056,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":false,"is_mention":false,"is_podcast":false,"note":"","syndication":[]}},{"id":"97412764","content_html":"<p>Just a few more weeks until we're gonna play ¡La Lotería! at FlutterConf LatAm and the animations are coming together.</p><p>💙 + 🔥 = 🫘</p><p>Who's joining us at the event?</p><p>🎟️ <a href=\"https://flutterconflatam.dev/\">flutterconflatam.dev/</a><br>🗓️ September 22–23<br>📍Cancún, Quintana Roo, Mexico<br><a href=\"https://bsky.app/search?q=%23flutterconflatam\">#flutterconflatam</a> @FlutterConfLAT</p>","summary":"","url":"https://bsky.app/profile/did:plc:r5shvvsyaq3kfatc3novwud6/post/3mvb4gpfvxh2a","date_published":"2026-09-11T17:41:45+00:00","author":{"name":"Frank van Puffelen","url":"http://puf.io","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fwww.gravatar.com%2Favatar%2F4df6cf8a2fa4219b0990c579e3f5cffd%3Fs%3D96%26d%3Dhttps%253A%252F%252Fmicro.blog%252Fimages%252Fblank_avatar.png","_microblog":{"username":"puf"}},"_microblog":{"date_relative":"2026-09-11 17:41","date_timestamp":1789148505,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":false,"is_mention":false,"is_podcast":false,"note":"","syndication":[]}},{"id":"97354940","content_html":"<p>That hand on the right is a joke, right?</p><p><img src=\"https://cdn.micro.blog/photos/1000x/https%3A%2F%2Fcdn.bsky.app%2Fimg%2Ffeed_fullsize%2Fplain%2Fdid%3Aplc%3Ar5shvvsyaq3kfatc3novwud6%2Fbafkreifyqzkckq5r553ctosgpo2eaqiwwe6s5azhax5inr6xsjv7cesdkq\" alt=\"\" loading=\"lazy\"></p>","summary":"","url":"https://bsky.app/profile/did:plc:r5shvvsyaq3kfatc3novwud6/post/3mv74pn5d7l23","date_published":"2026-09-10T22:41:28+00:00","author":{"name":"Frank van Puffelen","url":"http://puf.io","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fwww.gravatar.com%2Favatar%2F4df6cf8a2fa4219b0990c579e3f5cffd%3Fs%3D96%26d%3Dhttps%253A%252F%252Fmicro.blog%252Fimages%252Fblank_avatar.png","_microblog":{"username":"puf"}},"_microblog":{"date_relative":"2026-09-10 22:41","date_timestamp":1789080088,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":false,"is_mention":false,"is_podcast":false,"note":"","syndication":[]}},{"id":"97354941","content_html":"<p>📍🗺️ Geoqueries on Firestore used to mean geohashes and 5.4x read overhead. 💸</p><p>With multi-field inequalities, you can now drop that overhead to ~1.3x. But there's a catch: you now pay for index scans. Those *are* much cheaper, but... details 👇 </p><p><a href=\"https://puf.io/posts/how-to-perform-geoqueries-on-firestore-somewhat-efficiently\">puf.io/posts/how-to-...</a><br>1/2</p><p><img src=\"https://cdn.micro.blog/photos/1000x/https%3A%2F%2Fcdn.bsky.app%2Fimg%2Ffeed_fullsize%2Fplain%2Fdid%3Aplc%3Ar5shvvsyaq3kfatc3novwud6%2Fbafkreiferlwsm4vdgvzc4chqt2ovedjzeouzr4mprprvshilmdzshsnkle\" alt=\"\" loading=\"lazy\"></p>","summary":"","url":"https://bsky.app/profile/did:plc:r5shvvsyaq3kfatc3novwud6/post/3mv6xpwoxlg2h","date_published":"2026-09-10T21:12:10+00:00","author":{"name":"Frank van Puffelen","url":"http://puf.io","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fwww.gravatar.com%2Favatar%2F4df6cf8a2fa4219b0990c579e3f5cffd%3Fs%3D96%26d%3Dhttps%253A%252F%252Fmicro.blog%252Fimages%252Fblank_avatar.png","_microblog":{"username":"puf"}},"_microblog":{"date_relative":"2026-09-10 21:12","date_timestamp":1789074730,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":false,"is_mention":false,"is_podcast":false,"note":"","syndication":[]}},{"id":"97288907","content_html":"<p>I've answered ~18,000 questions on Stack Overflow. </p><p>Was ChatGPT trained on my code? </p><p>I looked for my own fingerprints in its output - and found them.</p><p><a href=\"https://puf.io/posts/was-chatgpt-trained-on-my-code\">puf.io/posts/was-cha...</a></p>","summary":"","url":"https://bsky.app/profile/did:plc:r5shvvsyaq3kfatc3novwud6/post/3mv4g5rtar72q","date_published":"2026-09-09T20:52:28+00:00","author":{"name":"Frank van Puffelen","url":"http://puf.io","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fwww.gravatar.com%2Favatar%2F4df6cf8a2fa4219b0990c579e3f5cffd%3Fs%3D96%26d%3Dhttps%253A%252F%252Fmicro.blog%252Fimages%252Fblank_avatar.png","_microblog":{"username":"puf"}},"_microblog":{"date_relative":"2026-09-09 20:52","date_timestamp":1788987148,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":false,"is_mention":false,"is_podcast":false,"note":"","syndication":[]}},{"id":"97220049","content_html":"<p>📓💬 Babel had the makings of a four-star read for me. I loved its alternate history and fascinating translation-based magic, but the characters felt one-dimensional and the story somewhat predictable. </p><p>Rating: ★★★☆☆ (3 stars out of 5)<br>Full review: <a href=\"https://puf.io/books/babel---r.f.-kuang/\">puf.io/books/babel--...</a></p><p><img src=\"https://cdn.micro.blog/photos/1000x/https%3A%2F%2Fcdn.bsky.app%2Fimg%2Ffeed_fullsize%2Fplain%2Fdid%3Aplc%3Ar5shvvsyaq3kfatc3novwud6%2Fbafkreibpp6iozpr3c4jveautjfnx4l6js2iagf4xfeffjhclvvyk7kf7fy\" alt=\"\" loading=\"lazy\"></p>","summary":"","url":"https://bsky.app/profile/did:plc:r5shvvsyaq3kfatc3novwud6/post/3mv276tyw3o23","date_published":"2026-09-08T23:42:28+00:00","author":{"name":"Frank van Puffelen","url":"http://puf.io","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fwww.gravatar.com%2Favatar%2F4df6cf8a2fa4219b0990c579e3f5cffd%3Fs%3D96%26d%3Dhttps%253A%252F%252Fmicro.blog%252Fimages%252Fblank_avatar.png","_microblog":{"username":"puf"}},"_microblog":{"date_relative":"2026-09-08 23:42","date_timestamp":1788910948,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":false,"is_mention":false,"is_podcast":false,"note":"","syndication":[]}},{"id":"97158316","content_html":"<p>🥏🌎 In my continuing quest to read Terry Pratchett’s 41 Discworld novels, starting from the highest rated subseries and working backwards, I’m now going through the Witches books.</p><p>Book outline and review 👇 in 🧵<br>1/3</p><p><img src=\"https://cdn.micro.blog/photos/1000x/https%3A%2F%2Fcdn.bsky.app%2Fimg%2Ffeed_fullsize%2Fplain%2Fdid%3Aplc%3Ar5shvvsyaq3kfatc3novwud6%2Fbafkreien5nirz24l2qbplkj7j7wxxvqf7lclfj3v7syrypocsd3dy2zadi\" alt=\"\" loading=\"lazy\"></p>","summary":"","url":"https://bsky.app/profile/did:plc:r5shvvsyaq3kfatc3novwud6/post/3muxxflzevn23","date_published":"2026-09-08T02:17:45+00:00","author":{"name":"Frank van Puffelen","url":"http://puf.io","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fwww.gravatar.com%2Favatar%2F4df6cf8a2fa4219b0990c579e3f5cffd%3Fs%3D96%26d%3Dhttps%253A%252F%252Fmicro.blog%252Fimages%252Fblank_avatar.png","_microblog":{"username":"puf"}},"_microblog":{"date_relative":"2026-09-08 02:17","date_timestamp":1788833865,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":false,"is_mention":false,"is_podcast":false,"note":"","syndication":[]}},{"id":"97103965","content_html":"<p>📚 Craig Alanson’s Expeditionary Force is a 19-book series about US soldier Joe Bishop, an interstellar conflict, and an ancient AI named Skippy who is as sarcastic as he is brilliant.</p><p>I’ve now read Book 1, Columbus Day.</p><p>Rating: ★★★☆☆</p><p>Full review: <a href=\"https://puf.io/books/columbus-day---craig-alanson/\">puf.io/books/columbu...</a></p><p><img src=\"https://cdn.micro.blog/photos/1000x/https%3A%2F%2Fcdn.bsky.app%2Fimg%2Ffeed_fullsize%2Fplain%2Fdid%3Aplc%3Ar5shvvsyaq3kfatc3novwud6%2Fbafkreihupzoqvvuo2ph4o6iwrbi3k2j6jom5zcl2qfbo7bjvc777i5vf6a\" alt=\"\" loading=\"lazy\"></p>","summary":"","url":"https://bsky.app/profile/did:plc:r5shvvsyaq3kfatc3novwud6/post/3muuho4qipq27","date_published":"2026-09-06T16:58:12+00:00","author":{"name":"Frank van Puffelen","url":"http://puf.io","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fwww.gravatar.com%2Favatar%2F4df6cf8a2fa4219b0990c579e3f5cffd%3Fs%3D96%26d%3Dhttps%253A%252F%252Fmicro.blog%252Fimages%252Fblank_avatar.png","_microblog":{"username":"puf"}},"_microblog":{"date_relative":"2026-09-06 16:58","date_timestamp":1788713892,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":false,"is_mention":false,"is_podcast":false,"note":"","syndication":[]}},{"id":"97053869","content_html":"<p>📚🗡️ Philip Pullman’s *His Dark Materials* trilogy often ranks as one of the greatest young adult and fantasy series ever written. It’s a coming-of-age story set in an expanding series of parallel universes.</p><p>Book 2, review, and links 👇 in 🧵<br>1/3</p><p><img src=\"https://cdn.micro.blog/photos/1000x/https%3A%2F%2Fcdn.bsky.app%2Fimg%2Ffeed_fullsize%2Fplain%2Fdid%3Aplc%3Ar5shvvsyaq3kfatc3novwud6%2Fbafkreih3iughw7z6nflrnzmeedniyps6lp5w2gjlovlya7lk5hezyzycd4\" alt=\"\" loading=\"lazy\"></p>","summary":"","url":"https://bsky.app/profile/did:plc:r5shvvsyaq3kfatc3novwud6/post/3musfk55vvk2n","date_published":"2026-09-05T21:14:51+00:00","author":{"name":"Frank van Puffelen","url":"http://puf.io","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fwww.gravatar.com%2Favatar%2F4df6cf8a2fa4219b0990c579e3f5cffd%3Fs%3D96%26d%3Dhttps%253A%252F%252Fmicro.blog%252Fimages%252Fblank_avatar.png","_microblog":{"username":"puf"}},"_microblog":{"date_relative":"2026-09-05 21:14","date_timestamp":1788642891,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":false,"is_mention":false,"is_podcast":false,"note":"","syndication":[]}},{"id":"97053870","content_html":"<p>Writing With Unnatural Constraints by John Gruber</p><p>Good article about writing prose with artificial constraints, and how this extrapolates to AI watermarking of its text output.</p><p><a href=\"https://daringfireball.net/2026/09/writing_with_unnatural_constraints\">Writing With Unnatural Constraints</a></p><p>It’s sophistry to argue that one can write within a constraint without the constraint affecting the...</p> <a href=\"https://bsky.app/profile/did:plc:r5shvvsyaq3kfatc3novwud6/post/3mus2zhanas2c\">bsky.app</a>","summary":"","url":"https://bsky.app/profile/did:plc:r5shvvsyaq3kfatc3novwud6/post/3mus2zhanas2c","date_published":"2026-09-05T18:06:34+00:00","author":{"name":"Frank van Puffelen","url":"http://puf.io","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fwww.gravatar.com%2Favatar%2F4df6cf8a2fa4219b0990c579e3f5cffd%3Fs%3D96%26d%3Dhttps%253A%252F%252Fmicro.blog%252Fimages%252Fblank_avatar.png","_microblog":{"username":"puf"}},"_microblog":{"date_relative":"2026-09-05 18:06","date_timestamp":1788631594,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":false,"is_mention":false,"is_podcast":false,"note":"","syndication":[]}},{"id":"97053871","content_html":"<p>I might have pushed a few too many things to the weekend.</p><p>Hope yours is starting off swimmingly! ☕️📧</p><p><img src=\"https://cdn.micro.blog/photos/1000x/https%3A%2F%2Fcdn.bsky.app%2Fimg%2Ffeed_fullsize%2Fplain%2Fdid%3Aplc%3Ar5shvvsyaq3kfatc3novwud6%2Fbafkreicthi4s6tmcdj44v2t5mitsqaj4myg4jj2irrqnsklcqsysgjrb64\" alt=\"\" loading=\"lazy\"></p>","summary":"","url":"https://bsky.app/profile/did:plc:r5shvvsyaq3kfatc3novwud6/post/3murpbz5okn2a","date_published":"2026-09-05T14:36:36+00:00","author":{"name":"Frank van Puffelen","url":"http://puf.io","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fwww.gravatar.com%2Favatar%2F4df6cf8a2fa4219b0990c579e3f5cffd%3Fs%3D96%26d%3Dhttps%253A%252F%252Fmicro.blog%252Fimages%252Fblank_avatar.png","_microblog":{"username":"puf"}},"_microblog":{"date_relative":"2026-09-05 14:36","date_timestamp":1788618996,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":false,"is_mention":false,"is_podcast":false,"note":"","syndication":[]}},{"id":"97005086","content_html":"<p>Well... that is certainly a timely heads-up CoPilot. 🤷</p><p><img src=\"https://cdn.micro.blog/photos/1000x/https%3A%2F%2Fcdn.bsky.app%2Fimg%2Ffeed_fullsize%2Fplain%2Fdid%3Aplc%3Ar5shvvsyaq3kfatc3novwud6%2Fbafkreidpdelxwkutoyzlhscj2ibh6b53x7dnnzjfv2pnzuwrrhgamquvjm\" alt=\"\" loading=\"lazy\"></p>","summary":"","url":"https://bsky.app/profile/did:plc:r5shvvsyaq3kfatc3novwud6/post/3muqhz6ffb32o","date_published":"2026-09-05T02:53:44+00:00","author":{"name":"Frank van Puffelen","url":"http://puf.io","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fwww.gravatar.com%2Favatar%2F4df6cf8a2fa4219b0990c579e3f5cffd%3Fs%3D96%26d%3Dhttps%253A%252F%252Fmicro.blog%252Fimages%252Fblank_avatar.png","_microblog":{"username":"puf"}},"_microblog":{"date_relative":"2026-09-05 02:53","date_timestamp":1788576824,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":false,"is_mention":false,"is_podcast":false,"note":"","syndication":[]}},{"id":"97005087","content_html":"<p>When your game of La Lotería needs you to mark all four corners…</p><p>I hope somebody gets a claim sooner then this when we play the game</p><p>⌛️</p><p>🎟️ <a href=\"https://flutterconflatam.dev\">flutterconflatam.dev</a><br>🗓️ September 22–23<br>📍Cancún, Quintana Roo, Mexico<br> <a href=\"https://bsky.app/search?q=%23flutterconflatam\">#flutterconflatam</a> @FlutterConfLAT <a href=\"https://bsky.app/profile/did:plc:kajg4crbwg7fyc7zc7m2ly66\">@FlutterDev</a> @Firebase</p><p><img src=\"https://cdn.micro.blog/photos/1000x/https%3A%2F%2Fcdn.bsky.app%2Fimg%2Ffeed_fullsize%2Fplain%2Fdid%3Aplc%3Ar5shvvsyaq3kfatc3novwud6%2Fbafkreiaj2vzcef6lj5x53vtyl46b7wc6c2xyyzlqlmcaztz2qfqzgnngse\" alt=\"\" loading=\"lazy\"></p>","summary":"","url":"https://bsky.app/profile/did:plc:r5shvvsyaq3kfatc3novwud6/post/3muq7zwamlh2n","date_published":"2026-09-05T00:30:59+00:00","author":{"name":"Frank van Puffelen","url":"http://puf.io","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fwww.gravatar.com%2Favatar%2F4df6cf8a2fa4219b0990c579e3f5cffd%3Fs%3D96%26d%3Dhttps%253A%252F%252Fmicro.blog%252Fimages%252Fblank_avatar.png","_microblog":{"username":"puf"}},"_microblog":{"date_relative":"2026-09-05 00:30","date_timestamp":1788568259,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":false,"is_mention":false,"is_podcast":false,"note":"","syndication":[]}},{"id":"97005088","content_html":"<p>Bret Hart will remind you every few pages of his Hitman autobiography that he's an exceptional wrestler. And it's not just him saying it. 😉 <br>The book is dense, self-centered, sometimes bitter, but a fascinating personal view of pro-wrestling history: 4/5</p><p><a href=\"https://puf.io/books/hitman---bret-hart/\">puf.io/books/hitman-...</a></p><p><img src=\"https://cdn.micro.blog/photos/1000x/https%3A%2F%2Fcdn.bsky.app%2Fimg%2Ffeed_fullsize%2Fplain%2Fdid%3Aplc%3Ar5shvvsyaq3kfatc3novwud6%2Fbafkreievqybpytadsywtdxde53adeqdczdhu3mcsfc566jhfahcd4d5wom\" alt=\"\" loading=\"lazy\"></p>","summary":"","url":"https://bsky.app/profile/did:plc:r5shvvsyaq3kfatc3novwud6/post/3mupbvsve5v25","date_published":"2026-09-04T15:31:49+00:00","author":{"name":"Frank van Puffelen","url":"http://puf.io","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fwww.gravatar.com%2Favatar%2F4df6cf8a2fa4219b0990c579e3f5cffd%3Fs%3D96%26d%3Dhttps%253A%252F%252Fmicro.blog%252Fimages%252Fblank_avatar.png","_microblog":{"username":"puf"}},"_microblog":{"date_relative":"2026-09-04 15:31","date_timestamp":1788535909,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":false,"is_mention":false,"is_podcast":false,"note":"","syndication":[]}},{"id":"96945455","content_html":"<p>😊→😬→🙀</p><div class=\"microblog_collection\">\n<img src=\"https://cdn.micro.blog/photos/1000x/https%3A%2F%2Fcdn.bsky.app%2Fimg%2Ffeed_fullsize%2Fplain%2Fdid%3Aplc%3Ar5shvvsyaq3kfatc3novwud6%2Fbafkreici3mx6almcqdajkcha35ctrd47za4cnrbf5xhu4seayfv3dgaqru\" alt=\"\" loading=\"lazy\"><img src=\"https://cdn.micro.blog/photos/1000x/https%3A%2F%2Fcdn.bsky.app%2Fimg%2Ffeed_fullsize%2Fplain%2Fdid%3Aplc%3Ar5shvvsyaq3kfatc3novwud6%2Fbafkreicsiurtvee2biej36q5k34472mwdeg5gny3vk2wrlm3t7dkvkbg6q\" alt=\"\" loading=\"lazy\"><img src=\"https://cdn.micro.blog/photos/1000x/https%3A%2F%2Fcdn.bsky.app%2Fimg%2Ffeed_fullsize%2Fplain%2Fdid%3Aplc%3Ar5shvvsyaq3kfatc3novwud6%2Fbafkreibnzqvqnf3jad4yipev52q2ulsrm73dl7fhijsy6cp7xjoo2hmwum\" alt=\"\" loading=\"lazy\">\n</div>","summary":"","url":"https://bsky.app/profile/did:plc:r5shvvsyaq3kfatc3novwud6/post/3muntclwa7f25","date_published":"2026-09-04T01:37:52+00:00","author":{"name":"Frank van Puffelen","url":"http://puf.io","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fwww.gravatar.com%2Favatar%2F4df6cf8a2fa4219b0990c579e3f5cffd%3Fs%3D96%26d%3Dhttps%253A%252F%252Fmicro.blog%252Fimages%252Fblank_avatar.png","_microblog":{"username":"puf"}},"_microblog":{"date_relative":"2026-09-04 01:37","date_timestamp":1788485872,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":false,"is_mention":false,"is_podcast":false,"note":"","syndication":[]}},{"id":"96945456","content_html":"<p>What on earth made the Gemini/Chrome team think that I'd want this toggle to be on by default?</p><p>Gemini in Chrome is definitely getting Google+ levels invasive.</p><p><img src=\"https://cdn.micro.blog/photos/1000x/https%3A%2F%2Fcdn.bsky.app%2Fimg%2Ffeed_fullsize%2Fplain%2Fdid%3Aplc%3Ar5shvvsyaq3kfatc3novwud6%2Fbafkreiaw2u4cdjjs3ronppu33yrcmtwvmoubgtkv427bbug662pvvnykfm\" alt=\"\" loading=\"lazy\"></p>","summary":"","url":"https://bsky.app/profile/did:plc:r5shvvsyaq3kfatc3novwud6/post/3munfsduy5b2v","date_published":"2026-09-03T21:36:08+00:00","author":{"name":"Frank van Puffelen","url":"http://puf.io","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fwww.gravatar.com%2Favatar%2F4df6cf8a2fa4219b0990c579e3f5cffd%3Fs%3D96%26d%3Dhttps%253A%252F%252Fmicro.blog%252Fimages%252Fblank_avatar.png","_microblog":{"username":"puf"}},"_microblog":{"date_relative":"2026-09-03 21:36","date_timestamp":1788471368,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":false,"is_mention":false,"is_podcast":false,"note":"","syndication":[]}},{"id":"56442168","content_html":"<p><a href=\"http://paul.kinlan.me\">@paul.kinlan.me</a></p>\n<p>&gt; . val.town is an amazing service and has the concept of inbound email “vals”. Vals are small chunks of TypeScript/JS attached to an email address that when emailed will run.</p>\n<p>How the heck is this part not in the main feature list, while outbound email is?!?</p>\n<p>Email is the original queueing system, and it still scales <em>very</em> well.</p>\n","url":"https://micro.blog/puf/56442168","date_published":"2025-01-31T18:31:44+00:00","author":{"name":"Frank van Puffelen","url":"http://puf.io","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fwww.gravatar.com%2Favatar%2F4df6cf8a2fa4219b0990c579e3f5cffd%3Fs%3D96%26d%3Dhttps%253A%252F%252Fmicro.blog%252Fimages%252Fblank_avatar.png","_microblog":{"username":"puf"}},"_microblog":{"date_relative":"2025-01-31 18:31","date_timestamp":1738348304,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"edit_url":null,"is_conversation":true,"is_linkpost":false,"is_mention":true}},{"id":"14927025","content_html":"<p><a href=\"http://paul.kinlan.me\">@paul.kinlan.me</a> 👍👏🚀</p>\n","url":"https://micro.blog/puf/14927025","date_published":"2022-12-14T05:01:12+00:00","author":{"name":"Frank van Puffelen","url":"http://puf.io","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fwww.gravatar.com%2Favatar%2F4df6cf8a2fa4219b0990c579e3f5cffd%3Fs%3D96%26d%3Dhttps%253A%252F%252Fmicro.blog%252Fimages%252Fblank_avatar.png","_microblog":{"username":"puf"}},"_microblog":{"date_relative":"2022-12-14 05:01","date_timestamp":1670994072,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"edit_url":null,"is_conversation":true,"is_linkpost":false,"is_mention":true}}]}