<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <updated>2026-05-15T01:39:50Z</updated>
  <generator>https://yabu.me</generator>

  <title>Nostr notes by Rob Napier</title>
  <author>
    <name>Rob Napier</name>
  </author>
  <link rel="self" type="application/atom+xml" href="https://yabu.me/npub1eq59p3u2swjwdk6zsq662mshm3pqrp37uvf92z7j6g63q2zcyvysem2ayu.rss" />
  <link href="https://yabu.me/npub1eq59p3u2swjwdk6zsq662mshm3pqrp37uvf92z7j6g63q2zcyvysem2ayu" />
  <id>https://yabu.me/npub1eq59p3u2swjwdk6zsq662mshm3pqrp37uvf92z7j6g63q2zcyvysem2ayu</id>
  <icon>https://files.mastodon.social/accounts/avatars/000/422/624/original/550dda4e0d2849e5.png</icon>
  <logo>https://files.mastodon.social/accounts/avatars/000/422/624/original/550dda4e0d2849e5.png</logo>




  <entry>
    <id>https://yabu.me/nevent1qqszxja5r7gf5y9krxl70q3k8ycy0ayq3lajsmu42z26vj7rmcm6v0qzyryzs5x832p6fekmg2qrtftwzlwyyqvx8m33y4gt6tfr2ypgtq3sjtxag40</id>
    
      <title type="html">I’m always reminded of working on telephone switches in the ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqszxja5r7gf5y9krxl70q3k8ycy0ayq3lajsmu42z26vj7rmcm6v0qzyryzs5x832p6fekmg2qrtftwzlwyyqvx8m33y4gt6tfr2ypgtq3sjtxag40" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsx77vdt7802vpv2gwcxy2y8g6ha776fu6g00a53dxxyx473t64msg0geqru&#39;&gt;nevent1q…eqru&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;I’m always reminded of working on telephone switches in the 90s, designed in the 70s. Protected Call Store memory was baked into the hardware, memory that persisted between reboots, and a fairly simple annotation assigned certain variables to that pool.&lt;br/&gt;&lt;br/&gt;Similarly, when I worked on mail inserters, crashing reboots were not an excuse to pause. Paper was still flying. Software was expected to just recover.&lt;br/&gt;&lt;br/&gt;Both iOS and OS X started down that old road, but never took it seriously enough.
    </content>
    <updated>2026-04-13T18:23:54Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqsp8ymvxf23m3yt0rzqa2xhpdd73f9x2l2lshj4edkn9jyre0pfezqzyryzs5x832p6fekmg2qrtftwzlwyyqvx8m33y4gt6tfr2ypgtq3sj0hpgup</id>
    
      <title type="html">RE: https://dice.camp/@johnzajac/115845954658479816 I spent a lot ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqsp8ymvxf23m3yt0rzqa2xhpdd73f9x2l2lshj4edkn9jyre0pfezqzyryzs5x832p6fekmg2qrtftwzlwyyqvx8m33y4gt6tfr2ypgtq3sj0hpgup" />
    <content type="html">
      RE: &lt;a href=&#34;https://dice.camp/@johnzajac/115845954658479816&#34;&gt;https://dice.camp/@johnzajac/115845954658479816&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;I spent a lot of time in the 90s working on Y2K. It wasn&amp;#39;t a huge panic. It was just a slice out of everything else we spent auditing code. It wasn&amp;#39;t &amp;#34;spend 80 hours a week fixing this.&amp;#34; It was just boring. Incredibly boring. And we made it be ok by being bored and fixing stuff.&lt;br/&gt;&lt;br/&gt;And the one thing I never thought would happen was that people would say it was never a problem. Oh good grief, it was a problem. All over. We just fixed it. Like we thought grownups should do when there&amp;#39;s a problem.&lt;blockquote class=&#34;border-l-05rem border-l-strongpink border-solid&#34;&gt;&lt;div class=&#34;-ml-4 bg-gradient-to-r from-gray-100 dark:from-zinc-800 to-transparent mr-0 mt-0 mb-4 pl-4 pr-2 py-2&#34;&gt;quoting &lt;br/&gt;&lt;span itemprop=&#34;mentions&#34; itemscope itemtype=&#34;https://schema.org/Article&#34;&gt;&lt;a itemprop=&#34;url&#34; href=&#34;/note1a2r56n53vjsmx3592yfrcqqsurjut3yxeg5gjztzf2sr8spku5mslaanaj&#34; class=&#34;bg-lavender dark:prose:text-neutral-50 dark:text-neutral-50 dark:bg-garnet px-1&#34;&gt;note1a2r…anaj&lt;/a&gt;&lt;/span&gt;&lt;br/&gt; &lt;/div&gt; I wish we had spent the last 26 years teaching people that the reason the 2000 bug didn&#39;t destroy a significant amount of our infrastructure is because *we caught it* and *spent thousands of hours fixing it* BEFORE the year 2000&lt;br/&gt;&lt;br/&gt;Because within that little perplexion - people thinking the problem was a hoax because it was fixed before it destroyed shit - is an encapsulation of the current era of Western politics, including COVID mitigation, lesser evil politics, fascism, and crime rate hyperbole &lt;/blockquote&gt;
    </content>
    <updated>2026-01-18T02:45:15Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqsvyt3q7xsm98rn24jvt92mygy9056xddv7ahta9dnakjk0lly94ygzyryzs5x832p6fekmg2qrtftwzlwyyqvx8m33y4gt6tfr2ypgtq3sjyxm9sk</id>
    
      <title type="html">If you&amp;#39;re into trance, or have any interest in the ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqsvyt3q7xsm98rn24jvt92mygy9056xddv7ahta9dnakjk0lly94ygzyryzs5x832p6fekmg2qrtftwzlwyyqvx8m33y4gt6tfr2ypgtq3sjyxm9sk" />
    <content type="html">
      If you&amp;#39;re into trance, or have any interest in the intersection of coding and music, spend some time with Switch Angel. There&amp;#39;s not a lot to the channel yet, but I&amp;#39;m hooked.&lt;br/&gt;&lt;br/&gt;&lt;a href=&#34;https://www.youtube.com/watch?v=iu5rnQkfO6M&#34;&gt;https://www.youtube.com/watch?v=iu5rnQkfO6M&lt;/a&gt;
    </content>
    <updated>2025-11-18T01:25:50Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqsdl42c54a350t2gc8vz3k5y0v2zxvdn3srqnku2jnmz98qfmfgneszyryzs5x832p6fekmg2qrtftwzlwyyqvx8m33y4gt6tfr2ypgtq3sj292l2m</id>
    
      <title type="html">I&amp;#39;ve heard people use &amp;#34;brownfield&amp;#34; before to mean ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqsdl42c54a350t2gc8vz3k5y0v2zxvdn3srqnku2jnmz98qfmfgneszyryzs5x832p6fekmg2qrtftwzlwyyqvx8m33y4gt6tfr2ypgtq3sj292l2m" />
    <content type="html">
      I&amp;#39;ve heard people use &amp;#34;brownfield&amp;#34; before to mean &amp;#34;extremely broken and buggy code bases&amp;#34; as a joking reference to &amp;#34;greenfield,&amp;#34; but more and more I&amp;#39;m seeing it as &amp;#34;any code base that has existed for more than a few months.&amp;#34; And that bothers me.&lt;br/&gt;&lt;br/&gt;Production code is not a &amp;#34;brownfield.&amp;#34; It is a jungle. It may have dense undergrowth and be hard to navigate at times, but that&amp;#39;s because it&amp;#39;s alive and it&amp;#39;s supporting living things. That&amp;#39;s the goal of software. That&amp;#39;s what working code looks like.
    </content>
    <updated>2025-07-25T13:26:13Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqsyg3sgnt8v37s8xncvk2vze5hvjmuj7y8jcl4p97n7dr4fc6sc99qzyryzs5x832p6fekmg2qrtftwzlwyyqvx8m33y4gt6tfr2ypgtq3sjuqq9au</id>
    
      <title type="html">Agreed that coding assistants are definitely lowering the bar (in ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqsyg3sgnt8v37s8xncvk2vze5hvjmuj7y8jcl4p97n7dr4fc6sc99qzyryzs5x832p6fekmg2qrtftwzlwyyqvx8m33y4gt6tfr2ypgtq3sjuqq9au" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqs8fn7elfcc7dvphpthzftnuqd2vd0wvs9598cfqlq42macz2fur4qhkl80x&#39;&gt;nevent1q…l80x&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Agreed that coding assistants are definitely lowering the bar (in a good way) for non-devs to build their own tools. I&amp;#39;ve seen quite a lot of that, and it&amp;#39;s a great thing.&lt;br/&gt;&lt;br/&gt;I think some folks are scaling that incorrectly to &amp;#34;AI, build and deploy a replacement for Netflix, I&amp;#39;ll come back in an hour.&amp;#34; This is very related to how folks confuse prototypes with &amp;#34;almost ready to ship.&amp;#34;
    </content>
    <updated>2025-06-22T20:17:13Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqspsxrmykea8e09ev9fmdnegmhly7jza7y2gc7h508d92e9f3cfv0szyryzs5x832p6fekmg2qrtftwzlwyyqvx8m33y4gt6tfr2ypgtq3sjdusk8j</id>
    
      <title type="html">But I am with you about &amp;#34;vibe coding.&amp;#34; I expect ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqspsxrmykea8e09ev9fmdnegmhly7jza7y2gc7h508d92e9f3cfv0szyryzs5x832p6fekmg2qrtftwzlwyyqvx8m33y4gt6tfr2ypgtq3sjdusk8j" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsg3yxhccfngaql4q394hxg6f00ddf9cgzqgjnmemfqqakg0kxn6dgvwxqpl&#39;&gt;nevent1q…xqpl&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;But I am with you about &amp;#34;vibe coding.&amp;#34; I expect that&amp;#39;s a fairly short-lived thing. When I see people who are really successful with it, it turns out there was often a *lot* of planning that went into that &amp;#34;vibe.&amp;#34; :D
    </content>
    <updated>2025-06-22T20:03:19Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqs8xkt655pfnkxaxqvl5t69upz3hjt4dzpf36t2xx52vncamhacmdszyryzs5x832p6fekmg2qrtftwzlwyyqvx8m33y4gt6tfr2ypgtq3sjfpdw2m</id>
    
      <title type="html">(And yes, AI hallucinates. And also, when you research things on ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqs8xkt655pfnkxaxqvl5t69upz3hjt4dzpf36t2xx52vncamhacmdszyryzs5x832p6fekmg2qrtftwzlwyyqvx8m33y4gt6tfr2ypgtq3sjfpdw2m" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqspw3q5a789q3a9709fu4tfhs2002nwtauep9tm89pudf3gssy478gslak8a&#39;&gt;nevent1q…ak8a&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;(And yes, AI hallucinates. And also, when you research things on the internet, the internet hallucinates. And when you study things in books, they also sometimes are just flat wrong. There are definitely differences, but it is not a fundamental break with the past.
    </content>
    <updated>2025-06-22T19:51:40Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqspw3q5a789q3a9709fu4tfhs2002nwtauep9tm89pudf3gssy478gzyryzs5x832p6fekmg2qrtftwzlwyyqvx8m33y4gt6tfr2ypgtq3sjarxvnh</id>
    
      <title type="html">Of course when higher level languages were first developed, ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqspw3q5a789q3a9709fu4tfhs2002nwtauep9tm89pudf3gssy478gzyryzs5x832p6fekmg2qrtftwzlwyyqvx8m33y4gt6tfr2ypgtq3sjarxvnh" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsqjxy5zcdadhdk487evhzexmfkpg58tuqntmc4qtywpga8gdcunfq8rdjgx&#39;&gt;nevent1q…djgx&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Of course when higher level languages were first developed, senior engineers did not feel that the issue was an acceptable level :D&lt;br/&gt;&lt;br/&gt;I&amp;#39;m seeing some junior devs get in way over their heads following AI advice. (I&amp;#39;m kind of developing a stock lecture about it…) I&amp;#39;m also seeing junior-to-intermediate devs use AI to explore and learn deep things they wouldn&amp;#39;t have dared before. I&amp;#39;m seeing the dig into details that before they&amp;#39;d have left as unknowable.
    </content>
    <updated>2025-06-22T19:50:11Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqs2nvctseh4sm7wklqt57nyuwqavmfz2wk7d7a540ctpckum6kchmczyryzs5x832p6fekmg2qrtftwzlwyyqvx8m33y4gt6tfr2ypgtq3sjf5ssq9</id>
    
      <title type="html">But to Beck&amp;#39;s point, I think to a first order, you should ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqs2nvctseh4sm7wklqt57nyuwqavmfz2wk7d7a540ctpckum6kchmczyryzs5x832p6fekmg2qrtftwzlwyyqvx8m33y4gt6tfr2ypgtq3sjf5ssq9" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsql63ljnva2svej8m5842c06uqhaahc8hluu3mzf8xl7jf5th48kcqwm9sq&#39;&gt;nevent1q…m9sq&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;But to Beck&amp;#39;s point, I think to a first order, you should think of coding assistants like a higher-level programming language, not a complete reinvention of programming. I find that most of the usual skills still apply, even when they&amp;#39;re running at their best. And to &amp;#34;how will junior devs learn the low level skills I know,&amp;#34; I&amp;#39;d say the same way most devs learn assembly language. They don&amp;#39;t. And it&amp;#39;s mostly fine.
    </content>
    <updated>2025-06-22T19:41:14Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqsql63ljnva2svej8m5842c06uqhaahc8hluu3mzf8xl7jf5th48kczyryzs5x832p6fekmg2qrtftwzlwyyqvx8m33y4gt6tfr2ypgtq3sjj7jlvc</id>
    
      <title type="html">I&amp;#39;m sure that StackOverflow is a huge input for programming ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqsql63ljnva2svej8m5842c06uqhaahc8hluu3mzf8xl7jf5th48kczyryzs5x832p6fekmg2qrtftwzlwyyqvx8m33y4gt6tfr2ypgtq3sjj7jlvc" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsw8k26dmt2zgucudmrfc3fxx32x2hurgtzxwxsgzj4enylm5hkfxstrkka5&#39;&gt;nevent1q…kka5&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;I&amp;#39;m sure that StackOverflow is a huge input for programming information, and I know I&amp;#39;m not alone in dramatically reducing my time there. After writing over 5700 answers over 15 years, I haven&amp;#39;t answered anything in 2025. I do expect this to become an existential problem for the models across a lot of fields.
    </content>
    <updated>2025-06-22T19:38:50Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqs9cjmlynl4hf9ap77fkqtghzdhmzex5r4dynsn36st5lz405n2j4czyryzs5x832p6fekmg2qrtftwzlwyyqvx8m33y4gt6tfr2ypgtq3sj6gq9e4</id>
    
      <title type="html">There are some Swift features that are just a delight, and `some` ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqs9cjmlynl4hf9ap77fkqtghzdhmzex5r4dynsn36st5lz405n2j4czyryzs5x832p6fekmg2qrtftwzlwyyqvx8m33y4gt6tfr2ypgtq3sj6gq9e4" />
    <content type="html">
      There are some Swift features that are just a delight, and `some` in parameter types is one of them.&lt;br/&gt;&lt;br/&gt;I was just working on a bunch of code where everything expects arrays. Totally reasonable. But I wanted to introduce `chunks(ofCount:)` to replace our home-grown `chunks(of:)`, and that makes things lazy and changes the types.&lt;br/&gt;&lt;br/&gt;A few mechanical conversions of `[?]` to `some Sequence&amp;lt;?&amp;gt;`, and boom, more flexible without adding a ton of syntax noise.
    </content>
    <updated>2024-11-20T17:32:53Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqspsd5crrsvz4vztlqpkw64g7xsustcv8x09dtl4qsemf5fvgencwczyryzs5x832p6fekmg2qrtftwzlwyyqvx8m33y4gt6tfr2ypgtq3sjnwjxpf</id>
    
      <title type="html">Simple async replacing completion handlers. Good. Yes. Do this. ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqspsd5crrsvz4vztlqpkw64g7xsustcv8x09dtl4qsemf5fvgencwczyryzs5x832p6fekmg2qrtftwzlwyyqvx8m33y4gt6tfr2ypgtq3sjnwjxpf" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsp4ux0wj9nhzfzlql7usetgf5qgy3h0uydtf3shxwcu0zd0zrfx0qvkczqp&#39;&gt;nevent1q…czqp&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Simple async replacing completion handlers. Good. Yes. Do this.&lt;br/&gt;&lt;br/&gt;Sendable. Making types thread-safe has sussed out quite a few real race conditions.&lt;br/&gt;&lt;br/&gt;A Task or [String:Task] property to let multiple requests for the same thing complete together and all get the same result. This is very good. This is something I didn&amp;#39;t even really try to solve w/ GCD.&lt;br/&gt;&lt;br/&gt;While actors often bite me, Apple&amp;#39;s Quakes demo is very good. I use its lessons often.&lt;br/&gt;&lt;br/&gt;2/2&lt;br/&gt;&lt;br/&gt;&lt;a href=&#34;https://developer.apple.com/tutorials/app-dev-training/caching-network-data&#34;&gt;https://developer.apple.com/tutorials/app-dev-training/caching-network-data&lt;/a&gt;
    </content>
    <updated>2024-08-05T02:31:48Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqsp4ux0wj9nhzfzlql7usetgf5qgy3h0uydtf3shxwcu0zd0zrfx0qzyryzs5x832p6fekmg2qrtftwzlwyyqvx8m33y4gt6tfr2ypgtq3sjgesk58</id>
    
      <title type="html">I talked a bit this weekend about the pieces of Swift concurrency ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqsp4ux0wj9nhzfzlql7usetgf5qgy3h0uydtf3shxwcu0zd0zrfx0qzyryzs5x832p6fekmg2qrtftwzlwyyqvx8m33y4gt6tfr2ypgtq3sjgesk58" />
    <content type="html">
      I talked a bit this weekend about the pieces of Swift concurrency that confuse and frustrate me. Mostly it winds up being actors. I think they&amp;#39;re just not really baked yet.&lt;br/&gt;&lt;br/&gt; And for similar reasons, a lot of things that come under the umbrella of &amp;#34;isolation.&amp;#34; I think they&amp;#39;re like protocols with associated types for the first several years. And maybe, like generics, this stuff will eventually work out.&lt;br/&gt;&lt;br/&gt;But I also want to talk about what I think is working in Swift concurrency.&lt;br/&gt;&lt;br/&gt;1/
    </content>
    <updated>2024-08-05T02:31:41Z</updated>
  </entry>

</feed>