diff --git a/bin/links b/bin/links index 41ef904..e3cc77a 100755 --- a/bin/links +++ b/bin/links @@ -1,9 +1,9 @@ #!/usr/bin/env ruby -require "rss" +require "json" require "open-uri" -FEED_URL = "https://bookmarks.davideisinger.com/u:dce.rss" +FEED_URL = "https://bookmarks.davideisinger.com/u:dce.json" index = (ARGV.pop || 1).to_i content = [] @@ -11,25 +11,40 @@ links = [] refs = [] item_content = ->(item) do - <<~OUT - * [#{item.title}][#{index}] + title = "[#{item["title"]}][#{index}]" - > #{item.description.tr("\n", " ").squeeze(" ")} + if item["referrer"] + title += " ([via][#{index + 1}])" + end + + <<~OUT + * #{title} + + > #{item["description"].tr("\n", " ").squeeze(" ")} OUT end item_link = ->(item) do - "[#{index}]: #{item.link}" + "[#{index}]: #{item["url"]}" end add_item = ->(item) do - ref = `bin/archive "#{item.link}"`.gsub("references:\n", "") + ref = `bin/archive "#{item["url"]}"`.gsub("references:\n", "") content << item_content[item] links << item_link[item] refs << ref index += 1 + + if item["referrer"] + ref = `bin/archive "#{item["referrer"]}"`.gsub("references:\n", "") + + links << "[#{index}]: #{item["referrer"]}" + refs << ref + + index += 1 + end end result = -> do @@ -66,10 +81,10 @@ process_item = ->(item) do end end -URI.parse(FEED_URL).open do |rss| - feed = RSS::Parser.parse(rss) +URI.parse(FEED_URL).open do |json| + feed = JSON.parse(json.read) - feed.items.each do |item| + feed.each do |item| process_item[item] end diff --git a/content/journal/dispatch-33-november-2025/index.md b/content/journal/dispatch-33-november-2025/index.md index aed9eee..2595003 100644 --- a/content/journal/dispatch-33-november-2025/index.md +++ b/content/journal/dispatch-33-november-2025/index.md @@ -5,29 +5,37 @@ draft: false tags: - dispatch references: -- title: "Software is supply-constrained (for now) | justin․searls․co" - url: https://justin.searls.co/links/2025-11-04-software-is-supply-constrained-for-now - date: 2025-11-06T05:03:05Z - file: justin-searls-co-y5dsjo.txt - title: "Why engineers can't be rational about programming languages | spf13" url: https://spf13.com/p/the-hidden-conversation/ - date: 2025-11-06T05:07:24Z + date: 2025-11-06T05:18:51Z file: spf13-com-enwyvy.txt +- title: "A quote from Steve Francia" + url: https://simonwillison.net/2025/Nov/4/steve-francia/ + date: 2025-11-06T05:18:51Z + file: simonwillison-net-ofawt2.txt - title: "Scripts I wrote that I use all the time" url: https://evanhahn.com/scripts-i-wrote-that-i-use-all-the-time/ - date: 2025-11-06T05:07:26Z + date: 2025-11-06T05:18:56Z file: evanhahn-com-6hstph.txt +- title: "Offsites and Gem Getters • Buttondown" + url: https://buttondown.com/nathanlong/archive/offsites-and-gem-getters/ + date: 2025-11-06T05:18:58Z + file: buttondown-com-ph2rwx.txt - title: "What if people don't want to create things - macwright.com" url: https://macwright.com/2025/10/21/what-if-they-dont-want-to.html - date: 2025-11-06T05:07:29Z + date: 2025-11-06T05:19:01Z file: macwright-com-rbiipx.txt - title: "Just Talk To It - the no-bs Way of Agentic Engineering | Peter Steinberger" url: https://steipete.me/posts/just-talk-to-it - date: 2025-11-06T05:07:36Z + date: 2025-11-06T05:19:06Z file: steipete-me-ayczze.txt +- title: "Just Talk To It - the no-bs Way of Agentic Engineering" + url: https://simonwillison.net/2025/Oct/14/agentic-engineering/ + date: 2025-11-06T05:19:06Z + file: simonwillison-net-tmayz4.txt - title: "Vibe engineering" url: https://simonwillison.net/2025/Oct/7/vibe-engineering/ - date: 2025-11-06T05:07:42Z + date: 2025-11-06T05:19:11Z file: simonwillison-net-yekorg.txt --- @@ -109,28 +117,31 @@ I went to Nashville for a team offsite last week. Highlights included [Third Man ### Links -* [Why engineers can't be rational about programming languages | spf13][18] +* [Why engineers can't be rational about programming languages | spf13][18] ([via][19]) > Every time an engineer evaluates a language that isn’t “theirs,” their brain is literally working against them. They’re not just analyzing technical trade offs, they’re contemplating a version of themselves that doesn’t exist yet, that feels threatening to the version that does. The Python developer reads case studies about Go’s performance and their amygdala quietly marks each one as a threat to be neutralized. The Rust advocate looks at identical problems and their Default Mode Network constructs narratives about why “only” Rust can solve them. -* [Scripts I wrote that I use all the time][19] +* [Scripts I wrote that I use all the time][20] ([via][21]) > In my decade-plus of maintaining my dotfiles, I’ve written a lot of little shell scripts. Here’s a big list of my personal favorites. -* [What if people don't want to create things - macwright.com][20] +* [What if people don't want to create things - macwright.com][22] > When I look back on TileMill in 2010, Mapbox Studio, Observable, the whole arc: I can’t help but worry about the supply of creativity in society. In particular: If we give everyone the tools to build their dreams, very few people will use them. -* [Just Talk To It - the no-bs Way of Agentic Engineering | Peter Steinberger][21] +* [Just Talk To It - the no-bs Way of Agentic Engineering | Peter Steinberger][23] ([via][24]) > The benchmarks only tell half the story. IMO agentic engineering moved from “this is crap” to “this is good” around May with the release of Sonnet 4.0, and we hit an even bigger leap from good to “this is amazing” with gpt-5-codex. -* [Vibe engineering][22] +* [Vibe engineering][25] > I feel like vibe coding is pretty well established now as covering the fast, loose and irresponsible way of building software with AI—entirely prompt-driven, and with no attention paid to how the code actually works. This leaves us with a terminology gap: what should we call the other end of the spectrum, where seasoned professionals accelerate their work with LLMs while staying proudly and confidently accountable for the software they produce? [18]: https://spf13.com/p/the-hidden-conversation/ -[19]: https://evanhahn.com/scripts-i-wrote-that-i-use-all-the-time/ -[20]: https://macwright.com/2025/10/21/what-if-they-dont-want-to.html -[21]: https://steipete.me/posts/just-talk-to-it -[22]: https://simonwillison.net/2025/Oct/7/vibe-engineering/ +[19]: https://simonwillison.net/2025/Nov/4/steve-francia/ +[20]: https://evanhahn.com/scripts-i-wrote-that-i-use-all-the-time/ +[21]: https://buttondown.com/nathanlong/archive/offsites-and-gem-getters/ +[22]: https://macwright.com/2025/10/21/what-if-they-dont-want-to.html +[23]: https://steipete.me/posts/just-talk-to-it +[24]: https://simonwillison.net/2025/Oct/14/agentic-engineering/ +[25]: https://simonwillison.net/2025/Oct/7/vibe-engineering/ diff --git a/static/archive/buttondown-com-ph2rwx.txt b/static/archive/buttondown-com-ph2rwx.txt new file mode 100644 index 0000000..562a9ba --- /dev/null +++ b/static/archive/buttondown-com-ph2rwx.txt @@ -0,0 +1,82 @@ +Net Noodlings with Nathan logo + +[1] Net Noodlings with Nathan + +[2] +Subscribe +[3] +Archives +October 28, 2025 + +Offsites and Gem Getters + +Hey friends, + +This week is a different sort of week! Normally all remote(ish), Viget's entire +dev team is in-person this week for a few days (hence the later-than-normal +newsletter 😅). + +It's very easy as a remote worker to feel isolated — remote communication tends +to be much more focused, leaving less space for the type of connection-building +edges and spaces of an in-person conversation. + +Hence Viget's [4]practice of TTT's and Offsites. I'm thankful for this — it's +not a simple or cheap thing to organize! But it absolutely strengthens team +connection and unity! + +━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ + +Interesting Web Bits 🍿 + +Web Stuff + + • Chris Coyier walks us through the [5]power of shape(). + • Scott Jehl gives us a nice [6]self-destructing fade-in technique. Which is + fantastic to ensure elements that fade in WILL be readable. + • Daria Nevezhyna shows us some [7]more complex use cases for Rive. + • Looking for a new colorscheme? If you're not already using [8]one of the + best ones, may I interest you in some [9]Root Loops? (Also, checkout + 'expert mode') 🥣 + • While we're talking about colorshemes, Nikita Prokopov has some [10] + opinions on syntax highlighting. I think I've had bright colors for so long + I don't see the issue in his 'problematic' examples... 🤷 + • Watch this [11]voxel creature mutation/evolution simulation. My money's on + the aggressive cube-folk! + • Evan Hahn shares some of his [12]custom scripts. + +Other Stuff + + • I guess they're putting [13]Steve Jobs on a coin? 🤷 + +Watch and Play + + • 📺 A tiny peek into an [14]iconic NYC rubber stamp shop. + • 🎮 [15]Gem Getter Pro is a lovingly-made roll-and-write with STELLAR web + implementation. I've been hooked on this recently! 💎⛏️ + +Don't miss what's next. Subscribe to Net Noodlings with Nathan: +[16][ ] +Subscribe +[18]https://nathan-long… [19] +Powered by [20]Buttondown, the easiest way to start and grow your newsletter. + +References: + +[1] https://buttondown.com/nathanlong +[2] https://buttondown.com/nathanlong#subscribe-form +[3] https://buttondown.com/nathanlong/archive/ +[4] https://www.viget.com/articles/ttt-the-history-of-vigets-quarterly-retreats/?utm_source=nathanlong&utm_medium=email&utm_campaign=offsites-and-gem-getters +[5] https://frontendmasters.com/blog/modern-css-round-out-tabs/?utm_source=nathanlong&utm_medium=email&utm_campaign=offsites-and-gem-getters +[6] https://scottjehl.com/posts/this-css-will-self-destruct/?utm_source=nathanlong&utm_medium=email&utm_campaign=offsites-and-gem-getters +[7] https://tympanus.net/codrops/2025/10/21/the-vision-behind-daria-nevezhynas-interactive-configurators/?utm_source=nathanlong&utm_medium=email&utm_campaign=offsites-and-gem-getters +[8] https://catppuccin.com/?utm_source=nathanlong&utm_medium=email&utm_campaign=offsites-and-gem-getters +[9] https://rootloops.sh/?utm_source=nathanlong&utm_medium=email&utm_campaign=offsites-and-gem-getters +[10] https://tonsky.me/blog/syntax-highlighting/?utm_source=nathanlong&utm_medium=email&utm_campaign=offsites-and-gem-getters +[11] https://codepen.io/sschepis/full/WbbVOpm?utm_source=nathanlong&utm_medium=email&utm_campaign=offsites-and-gem-getters +[12] https://evanhahn.com/scripts-i-wrote-that-i-use-all-the-time?utm_source=nathanlong&utm_medium=email&utm_campaign=offsites-and-gem-getters +[13] https://www.theverge.com/news/800548/steve-jobs-commemorative-dollar-coin-us-mint?utm_source=nathanlong&utm_medium=email&utm_campaign=offsites-and-gem-getters +[14] https://www.youtube.com/watch?v=9dt65z1bAcY&utm_source=nathanlong&utm_medium=email&utm_campaign=offsites-and-gem-getters +[15] https://gemgetter.clearlysharp.com/?utm_source=nathanlong&utm_medium=email&utm_campaign=offsites-and-gem-getters +[18] https://nathan-long.com/ +[19] https://buttondown.com/nathanlong/rss +[20] https://buttondown.com/refer/nathanlong diff --git a/static/archive/simonwillison-net-ofawt2.txt b/static/archive/simonwillison-net-ofawt2.txt new file mode 100644 index 0000000..a90770b --- /dev/null +++ b/static/archive/simonwillison-net-ofawt2.txt @@ -0,0 +1,97 @@ +[1]Simon Willison’s Weblog + +[2]Subscribe + + + Every time an engineer evaluates a language that isn’t “theirs,” their + brain is literally working against them. They’re not just analyzing + technical trade offs, they’re contemplating a version of themselves that + doesn’t exist yet, that feels threatening to the version that does. The + Python developer reads case studies about Go’s performance and their + amygdala quietly marks each one as a threat to be neutralized. The Rust + advocate looks at identical problems and their Default Mode Network + constructs narratives about why “only” Rust can solve them. + + We’re not lying. We genuinely believe our reasoning is sound. That’s what + makes identity based thinking so expensive, and so invisible. + +— [3]Steve Francia, Why Engineers Can't Be Rational About Programming Languages + +Posted [4]4th November 2025 at 2:54 am + +Recent articles + + • [5]A new SQL-powered permissions system in Datasette 1.0a20 - 4th November + 2025 + • [6]New prompt injection papers: Agents Rule of Two and The Attacker Moves + Second - 2nd November 2025 + • [7]Hacking the WiFi-enabled color screen GitHub Universe conference badge - + 28th October 2025 + +[8] programming-languages 37 [9] psychology 6 [10] technical-debt 8 + + • [11]Colophon + • © + • [12]2002 + • [13]2003 + • [14]2004 + • [15]2005 + • [16]2006 + • [17]2007 + • [18]2008 + • [19]2009 + • [20]2010 + • [21]2011 + • [22]2012 + • [23]2013 + • [24]2014 + • [25]2015 + • [26]2016 + • [27]2017 + • [28]2018 + • [29]2019 + • [30]2020 + • [31]2021 + • [32]2022 + • [33]2023 + • [34]2024 + • [35]2025 + + +References: + +[1] https://simonwillison.net/ +[2] https://simonwillison.net/about/#subscribe +[3] https://spf13.com/p/the-hidden-conversation/ +[4] https://simonwillison.net/2025/Nov/4/ +[5] https://simonwillison.net/2025/Nov/4/datasette-10a20/ +[6] https://simonwillison.net/2025/Nov/2/new-prompt-injection-papers/ +[7] https://simonwillison.net/2025/Oct/28/github-universe-badge/ +[8] https://simonwillison.net/tags/programming-languages/ +[9] https://simonwillison.net/tags/psychology/ +[10] https://simonwillison.net/tags/technical-debt/ +[11] https://simonwillison.net/about/#about-site +[12] https://simonwillison.net/2002/ +[13] https://simonwillison.net/2003/ +[14] https://simonwillison.net/2004/ +[15] https://simonwillison.net/2005/ +[16] https://simonwillison.net/2006/ +[17] https://simonwillison.net/2007/ +[18] https://simonwillison.net/2008/ +[19] https://simonwillison.net/2009/ +[20] https://simonwillison.net/2010/ +[21] https://simonwillison.net/2011/ +[22] https://simonwillison.net/2012/ +[23] https://simonwillison.net/2013/ +[24] https://simonwillison.net/2014/ +[25] https://simonwillison.net/2015/ +[26] https://simonwillison.net/2016/ +[27] https://simonwillison.net/2017/ +[28] https://simonwillison.net/2018/ +[29] https://simonwillison.net/2019/ +[30] https://simonwillison.net/2020/ +[31] https://simonwillison.net/2021/ +[32] https://simonwillison.net/2022/ +[33] https://simonwillison.net/2023/ +[34] https://simonwillison.net/2024/ +[35] https://simonwillison.net/2025/ diff --git a/static/archive/simonwillison-net-tmayz4.txt b/static/archive/simonwillison-net-tmayz4.txt new file mode 100644 index 0000000..54eb9cc --- /dev/null +++ b/static/archive/simonwillison-net-tmayz4.txt @@ -0,0 +1,134 @@ +[1]Simon Willison’s Weblog + +[2]Subscribe + +[3]Just Talk To It - the no-bs Way of Agentic Engineering. Peter Steinberger's +long, detailed description of his current process for using Codex CLI and GPT-5 +Codex. This is information dense and full of actionable tips, plus plenty of +strong opinions about the differences between Claude 4.5 an GPT-5: + + While Claude reacts well to 🚨 SCREAMING ALL-CAPS 🚨 commands that threaten + it that it will imply ultimate failure and 100 kittens will die if it runs + command X, that freaks out GPT-5. (Rightfully so). So drop all of that and + just use words like a human. + +Peter is a heavy user of parallel agents: + + I've completely moved to codex cli as daily driver. I run between 3-8 in + parallel in a 3x3 terminal grid, most of them [4]in the same folder, some + experiments go in separate folders. I experimented with worktrees, PRs but + always revert back to this setup as it gets stuff done the fastest. + +He shares my preference for CLI utilities over MCPs: + + I can just refer to a cli by name. I don't need any explanation in my + agents file. The agent will try $randomcrap on the first call, the cli will + present the help menu, context now has full info how this works and from + now on we good. I don't have to pay a price for any tools, unlike MCPs + which are a constant cost and garbage in my context. Use GitHub's MCP and + see 23k tokens gone. Heck, they did make it better because it was almost + 50.000 tokens when it first launched. Or use the gh cli which has basically + the same feature set, models already know how to use it, and pay zero + context tax. + +It's worth reading the [5]section on why he abandoned spec driven development +in full. + +Posted [6]14th October 2025 at 9:26 pm + +Recent articles + + • [7]A new SQL-powered permissions system in Datasette 1.0a20 - 4th November + 2025 + • [8]New prompt injection papers: Agents Rule of Two and The Attacker Moves + Second - 2nd November 2025 + • [9]Hacking the WiFi-enabled color screen GitHub Universe conference badge - + 28th October 2025 + +[10] ai 1658 [11] generative-ai 1463 [12] llms 1430 [13] +ai-assisted-programming 265 [14] model-context-protocol 22 [15] coding-agents +88 [16] claude-code 51 [17] codex-cli 10 [18] parallel-agents 6 + +Monthly briefing + +Sponsor me for $10/month and get a curated email digest of the month's most +important LLM developments. + +Pay me to send you less! + +[19] Sponsor & subscribe + + • [20]Colophon + • © + • [21]2002 + • [22]2003 + • [23]2004 + • [24]2005 + • [25]2006 + • [26]2007 + • [27]2008 + • [28]2009 + • [29]2010 + • [30]2011 + • [31]2012 + • [32]2013 + • [33]2014 + • [34]2015 + • [35]2016 + • [36]2017 + • [37]2018 + • [38]2019 + • [39]2020 + • [40]2021 + • [41]2022 + • [42]2023 + • [43]2024 + • [44]2025 + + +References: + +[1] https://simonwillison.net/ +[2] https://simonwillison.net/about/#subscribe +[3] https://steipete.me/posts/just-talk-to-it +[4] https://x.com/steipete/status/1977771686176174352 +[5] https://steipete.me/posts/just-talk-to-it#do-you-do-spec-driven-development +[6] https://simonwillison.net/2025/Oct/14/ +[7] https://simonwillison.net/2025/Nov/4/datasette-10a20/ +[8] https://simonwillison.net/2025/Nov/2/new-prompt-injection-papers/ +[9] https://simonwillison.net/2025/Oct/28/github-universe-badge/ +[10] https://simonwillison.net/tags/ai/ +[11] https://simonwillison.net/tags/generative-ai/ +[12] https://simonwillison.net/tags/llms/ +[13] https://simonwillison.net/tags/ai-assisted-programming/ +[14] https://simonwillison.net/tags/model-context-protocol/ +[15] https://simonwillison.net/tags/coding-agents/ +[16] https://simonwillison.net/tags/claude-code/ +[17] https://simonwillison.net/tags/codex-cli/ +[18] https://simonwillison.net/tags/parallel-agents/ +[19] https://github.com/sponsors/simonw/ +[20] https://simonwillison.net/about/#about-site +[21] https://simonwillison.net/2002/ +[22] https://simonwillison.net/2003/ +[23] https://simonwillison.net/2004/ +[24] https://simonwillison.net/2005/ +[25] https://simonwillison.net/2006/ +[26] https://simonwillison.net/2007/ +[27] https://simonwillison.net/2008/ +[28] https://simonwillison.net/2009/ +[29] https://simonwillison.net/2010/ +[30] https://simonwillison.net/2011/ +[31] https://simonwillison.net/2012/ +[32] https://simonwillison.net/2013/ +[33] https://simonwillison.net/2014/ +[34] https://simonwillison.net/2015/ +[35] https://simonwillison.net/2016/ +[36] https://simonwillison.net/2017/ +[37] https://simonwillison.net/2018/ +[38] https://simonwillison.net/2019/ +[39] https://simonwillison.net/2020/ +[40] https://simonwillison.net/2021/ +[41] https://simonwillison.net/2022/ +[42] https://simonwillison.net/2023/ +[43] https://simonwillison.net/2024/ +[44] https://simonwillison.net/2025/