<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
  xmlns:content="http://purl.org/rss/1.0/modules/content/"
  xmlns:atom="http://www.w3.org/2005/Atom" 
  xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <atom:link href="https://shapeof.com/microrss.xml" rel="self" type="application/rss+xml" />
    <title>The Shape of Everything Micro Blog</title>
    <link>https://shapeof.com/</link>
    <pubDate>Sun, 17 May 2026 23:14:51 GMT</pubDate>
    <description>A website mostly about Mac stuff, written by Gus Mueller</description>
  <item>
    <title>Creating a Python-Based HTML5 Parser With Agents</title>
    <link>https://shapeof.com/archives/2025/12/creating_a_python-based_html5_parser_with_agents.html</link>
    <description>&lt;p&gt;&lt;a href="https://friendlybit.com/python/writing-justhtml-with-coding-agents/"&gt;How I wrote JustHTML using coding agents&lt;/a&gt;, a post by Emil Stenström:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;I recently released &lt;a href="https://github.com/EmilStenstrom/justhtml"&gt;JustHTML&lt;/a&gt;, a python-based HTML5 parser. It passes 100% of the html5lib test suite, has zero dependencies, and includes a CSS selector query API. Writing it taught me a lot about how to work with coding agents effectively.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;…&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;JustHTML is about 3,000 lines of Python with 8,500+ tests passing. I couldn&amp;#39;t have written it this quickly without the agent.&lt;/p&gt;
&lt;p&gt;But &amp;quot;quickly&amp;quot; doesn&amp;#39;t mean &amp;quot;without thinking.&amp;quot; I spent a lot of time reviewing code, making design decisions, and steering the agent in the right direction. The agent did the typing; I did the thinking.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;I haven’t quite embraced agents in this way (yet?), but I think the balance Stenström took in directing the LLMs to take out the busy work is the right way to go.&lt;/p&gt;
</description>
    <guid>https://shapeof.com/archives/2025/12/creating_a_python-based_html5_parser_with_agents.html</guid>
    <pubDate>Tue, 16 Dec 2025 16:10:35 GMT</pubDate>
  </item>
  <item>
    <title>Yale Environment 360: Photos Capture the Breathtaking Scale of China’s Wind and Solar Buildout</title>
    <link>https://shapeof.com/archives/2026/1/photos_of_china_solar_buildout.html</link>
    <description>&lt;blockquote&gt;
&lt;p&gt;Last year China installed more than half of all wind and solar added globally. In May alone, it added enough renewable energy to power Poland, installing solar panels at a rate of roughly 100 every second.&lt;/p&gt;
&lt;p&gt;The massive buildout is happening across the country, from crowded eastern cities increasingly topped by rooftop solar panels to remote western deserts where colossal wind farms sprawl across the landscape.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;These &lt;a href="https://e360.yale.edu/digest/china-renewable-photo-essay"&gt;images&lt;/a&gt; by &lt;a href="https://www.instagram.com/thomaschuphoto/?hl=en"&gt;Chu Weimin&lt;/a&gt; are breathtaking.&lt;/p&gt;
</description>
    <guid>https://shapeof.com/archives/2026/1/photos_of_china_solar_buildout.html</guid>
    <pubDate>Thu, 15 Jan 2026 16:04:29 GMT</pubDate>
  </item>
  <item>
    <title>Does Software Piracy Exist?</title>
    <link>https://shapeof.com/archives/2026/1/does_software_piracy_exist.html</link>
    <description>&lt;p&gt;Matthew Butt­erick ▸ &lt;a href="https://matthewbutterick.com/chron/does-software-piracy-exist.html"&gt;Does software piracy exist?&lt;/a&gt;:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;From time to time, readers let me know that my fonts are circu­lating on such-and-such website devoted to some cate­gory of soft­ware piracy.&lt;/p&gt;
&lt;p&gt;Well yes—of course they are. In the font world, as in most areas of soft­ware endeavor, there’s been much hand-wringing over the last 40 years about the (suppos­edly) massive losses to this kind of unau­tho­rized redis­tri­b­u­tion and copying, and the lack of any satis­fying protec­tion mech­a­nisms to prevent it.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;A short and enlightening read, and the “Trajec­tory” examples made me laugh out loud.&lt;/p&gt;
&lt;p&gt;Via &lt;a href="https://daringfireball.net/linked/2026/01/19/butterick-on-the-copyrightability-of-fonts"&gt;DF&lt;/a&gt;.&lt;/p&gt;
</description>
    <guid>https://shapeof.com/archives/2026/1/does_software_piracy_exist.html</guid>
    <pubDate>Mon, 19 Jan 2026 23:09:34 GMT</pubDate>
  </item>
  <item>
    <title>Marco Arment on Apple Watch Fitness</title>
    <link>https://shapeof.com/archives/2026/2/marco_on_apple_watch_fitness.html</link>
    <description>&lt;p&gt;In &lt;a href="https://atp.fm/680"&gt;episode 680 of ATP&lt;/a&gt;, at about 6:12 in, Marco Arment goes off on watchOS 26’s fitness app and trashes all the changes. And I couldn’t agree more with him.&lt;/p&gt;
&lt;p&gt;I thought it was just me who hated all the changes, and the slow animations, and the workout picker. It’s such a regression I don’t even know where to start. Arment is considering getting a Garmin watch to replace his Apple Watch, and while I’m not that far along in my hate for it - I’m not too far behind. The only thing that’s keeping me using it is the history I have with it.&lt;/p&gt;
&lt;p&gt;How much do I use the fitness app? 2-3 times daily. MWF: climbing, PT exercises; TTF: group gym workout; SMTWTFS: 2 mile walk with the dog (usualy); random other times: hikes or snowboarding or weekend climbing.&lt;/p&gt;
&lt;p&gt;If I could downgrade my watch safely, I would.&lt;/p&gt;
</description>
    <guid>https://shapeof.com/archives/2026/2/marco_on_apple_watch_fitness.html</guid>
    <pubDate>Fri, 27 Feb 2026 22:09:18 GMT</pubDate>
  </item>
  <item>
    <title>CasNum is Amazing</title>
    <link>https://shapeof.com/archives/2026/3/casnum.html</link>
    <description>&lt;blockquote&gt;
&lt;p&gt;&lt;a href="https://github.com/0x0mer/CasNum"&gt;CasNum&lt;/a&gt; (Compass and straightedge Number) is a library that implements arbitrary precision arithmetic using &lt;a href="https://en.wikipedia.org/wiki/Straightedge_and_compass_construction"&gt;compass and straightedge&lt;/a&gt; constructions. Arbitrary precision arithmetic, now with 100% more Euclid. Featuring a functional modified Game Boy emulator where every ALU opcode is implemented entirely through geometric constructions.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;I’m sorry, what?&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;This project began with a simple compass-and-straightedge &amp;#39;engine&amp;#39;, […]. In compass-and-straightedge constructions, one start with just two points: The origin, and a unit. Exactly as God intended.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Still what?!&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;#Philosophy&lt;/p&gt;
&lt;p&gt;Most modern developers are content with &lt;code&gt;a + b&lt;/code&gt;. They don&amp;#39;t want to work for it. They don&amp;#39;t want to see the midpoint being birthed from the intersection of two circles. CasNum is for the developer who believes that if you didn&amp;#39;t have to solve a 4th-degree polynomial just to increment a loop counter, you didn&amp;#39;t really increment it.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;This is pretty amazing, and just what I needed to see today. The &lt;a href="https://github.com/0x0mer/CasNum?tab=readme-ov-file#faq"&gt;FAQ&lt;/a&gt; is great too. Actually, the whole README is great.&lt;/p&gt;
&lt;p&gt;If you don’t know what’s going on, you can watch the following YouTube video: &lt;a href="https://www.youtube.com/watch?v=96LbF8nn05c"&gt;The Simplest Ancient Math Problem No One Could Solve&lt;/a&gt;. I learned a bunch, but I probably only understood a quarter of what was being said.&lt;/p&gt;
&lt;p&gt;Note: I’ve tried running CasNum on my Mac, but got a bunch of Python errors when trying to bring up the UI. I suspect this is only for Windows. The little movie on the project page shows it in action however, sped up quite a bit.&lt;/p&gt;
&lt;p&gt;Via &lt;a href="https://news.ycombinator.com/item?id=47291292"&gt;hn&lt;/a&gt;.&lt;/p&gt;
</description>
    <guid>https://shapeof.com/archives/2026/3/casnum.html</guid>
    <pubDate>Sun, 08 Mar 2026 20:14:33 GMT</pubDate>
  </item>
  <item>
    <title>25 Years of Mac OS X</title>
    <link>https://shapeof.com/archives/2026/3/25_years_of_mac_os_x.html</link>
    <description>&lt;p&gt;512 Pixels: &lt;a href="https://512pixels.net/2026/03/mac-os-x-shipped-25-years-ago/"&gt;Mac OS X Shipped 25 Years Ago&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;I still remember using the public betas, and Mac OS Server before that. Display Postscript is the thing that sticks out as being the most amazing to me at the time. And then Mac OS X brought Display PDF, which was a great step beyond that as well.&lt;/p&gt;
&lt;p&gt;Happy Birthday, Mac OS X.&lt;/p&gt;
</description>
    <guid>https://shapeof.com/archives/2026/3/25_years_of_mac_os_x.html</guid>
    <pubDate>Tue, 24 Mar 2026 19:10:12 GMT</pubDate>
  </item>
  <item>
    <title>Craig Mod Got a Macbook Neo</title>
    <link>https://shapeof.com/archives/2026/4/craig_mod_got_a_macbook_neo.html</link>
    <description>&lt;p&gt;Craig Mod, &lt;a href="https://craigmod.com/essays/ipad_neo/"&gt;MacBook Neo and How the iPad Could Be&lt;/a&gt;:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;The MacBook Neo is about six years late. Back in 2020, when the iPad Pro’s 4th generation model — the one with trackpad support — was released, there was a group of us who slapped the new Magic Keyboard with trackpad on it and thought, immediately: Give me this machine with macOS. &lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Like everything Mod writes, I want to quote it all. I won’t but here’s another nugget:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;This sense of iPad “not working” has only grown in the past two years with the explosion of LLMs and tools like Claude Code. macOS is the place to run the things because macOS is malleable and its constituent parts fungible, it’s able to embody the role of tool by trusting the user to be an adult.&lt;/p&gt;
&lt;/blockquote&gt;
</description>
    <guid>https://shapeof.com/archives/2026/4/craig_mod_got_a_macbook_neo.html</guid>
    <pubDate>Fri, 24 Apr 2026 23:06:04 GMT</pubDate>
  </item>
  <item>
    <title>Make Something People Want</title>
    <link>https://shapeof.com/archives/2026/4/geese_backlash_make_something_people_want.html</link>
    <description>&lt;p&gt;&lt;a href="https://joshuaheathscott.substack.com/p/the-geese-backlash-is-the-dumbest"&gt;Joshua Heath Scott&lt;/a&gt; on successful bands:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;When you’re furious that another entity is successful, when you’re convinced they cheated, when you can’t stop picking apart how they did it , that fury is almost never about them. It’s about you.&lt;/p&gt;
&lt;p&gt;I know this because I’ve felt it. Every successful founder has. You watch someone else’s thing take off and your brain, being a survival machine, immediately generates a story that protects your ego. They had rich parents. They knew someone. They hired an agency. They sold out. They got lucky. Anything, anything at all, that lets you avoid the harder question.&lt;/p&gt;
&lt;p&gt;The harder question is: does anyone want what I’m making?&lt;/p&gt;
&lt;p&gt;Not “should they want it.” Not “would they want it if they knew about me.” Does anyone actually want it? Have I made something people want to buy? Have I made music people want to listen to? Have I made anything that connects to a real human need or desire, or am I making something for myself and expecting the world to applaud?&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;The same could be said of software.&lt;/p&gt;
</description>
    <guid>https://shapeof.com/archives/2026/4/geese_backlash_make_something_people_want.html</guid>
    <pubDate>Mon, 27 Apr 2026 17:14:42 GMT</pubDate>
  </item>
  <item>
    <title>Zed Is 1.0</title>
    <link>https://shapeof.com/archives/2026/4/zed_is_1.0.html</link>
    <description>&lt;blockquote&gt;
&lt;p&gt;To create a fundamentally better editor, we had to invent a new approach to building desktop software. Our previous editor, Atom, was built as a fork of Chromium, spawning the Electron framework in the process. Electron eventually became the foundation of VS Code (which today seems to be forked into a new AI code editor every other week). Web technology offered an easy path to shipping flexible software, but it also imposed a ceiling. No matter how hard we worked, we couldn&amp;#39;t make Atom better than the platform it was built on.&lt;/p&gt;
&lt;p&gt;So we started over. Instead of building Zed like a web page, we built it like a video game, organizing the entire application around feeding data to shaders running on the GPU. That meant writing our own UI framework, GPUI, from scratch in Rust.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Even though &lt;a href="https://zed.dev/"&gt;Zed&lt;/a&gt; is not a native AppKit app, and I generally only launch it to see what‘s going on over there*, I like the approach they are taking. More of this please.&lt;/p&gt;
&lt;p&gt;* I&amp;#39;m a &lt;a href="https://barebones.com/products/bbedit/"&gt;BBEdit&lt;/a&gt; guy in general, and use &lt;a href="https://nova.app"&gt;Nova&lt;/a&gt; for its project support.&lt;/p&gt;
</description>
    <guid>https://shapeof.com/archives/2026/4/zed_is_1.0.html</guid>
    <pubDate>Wed, 29 Apr 2026 17:06:55 GMT</pubDate>
  </item>
  <item>
    <title>Artem Loenko on Native Text Rendering</title>
    <link>https://shapeof.com/archives/2026/5/artem_loenko_on_native_text_rendering.html</link>
    <description>&lt;p&gt;Artem Loenko: &lt;a href="https://justsitandgrin.im/posts/native-all-the-way-until-you-need-text/"&gt;Native all the way, until you need text&lt;/a&gt;:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;I did everything people say you should do. Native all the way. I know the platform. I know the options. I know SwiftUI, AppKit, TextKit, WebKit.&lt;/p&gt;
&lt;p&gt;But I still cannot make a simple thing work properly: a chat with Markdown &amp;amp; the ability to select a whole message.&lt;/p&gt;
&lt;p&gt;And suddenly it becomes much clearer why most new chat-heavy apps that depend on one of the most important interface patterns of this era – chat, long-form rich text, flexible typography – are web-based in one way or another.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;In the beginning (aka, Mac OS X 10.2 in 2002), there was nothing better than NSTextView.&lt;/p&gt;
&lt;p&gt;It evolved, and we eventually got TextKit 2. But something&amp;#39;s off about it, and I can&amp;#39;t quite explain what or why.&lt;/p&gt;
&lt;p&gt;Update: &lt;a href="https://blog.gingerbeardman.com"&gt;Matt Sephton&lt;/a&gt; left a &lt;a href="https://news.ycombinator.com/item?id=48169377"&gt;comment on HN&lt;/a&gt; about Loenko‘s post:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;I recently launched a text editor for iOS that uses TextKit 2 and is highly performant with files of 5,000 lines (I tested with Moby Dick from Project Gutenberg). I made it between Aug 2025 and Apr 2026, development is ongoing.&lt;/p&gt;
&lt;p&gt;Every keystroke is restyled in under 8ms: no debouncing, no delayed rendering. 20 rapid keystrokes are processed in 150ms with full restyling after each one.&lt;/p&gt;
&lt;/blockquote&gt;
</description>
    <guid>https://shapeof.com/archives/2026/5/artem_loenko_on_native_text_rendering.html</guid>
    <pubDate>Sun, 17 May 2026 16:49:12 GMT</pubDate>
  </item>
  </channel>
</rss>