<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <updated>2026-01-18T19:52:48Z</updated>
  <generator>https://yabu.me</generator>

  <title>Nostr notes by Kevlin Henney</title>
  <author>
    <name>Kevlin Henney</name>
  </author>
  <link rel="self" type="application/atom+xml" href="https://yabu.me/npub1z048j58mvks5fjtpfv575qrp0ry6zanqjtl0jjgvmhy4mn6ghdlsq2w85k.rss" />
  <link href="https://yabu.me/npub1z048j58mvks5fjtpfv575qrp0ry6zanqjtl0jjgvmhy4mn6ghdlsq2w85k" />
  <id>https://yabu.me/npub1z048j58mvks5fjtpfv575qrp0ry6zanqjtl0jjgvmhy4mn6ghdlsq2w85k</id>
  <icon>https://files.mastodon.social/accounts/avatars/000/006/792/original/DSC_0065_%28300x300%29.jpg</icon>
  <logo>https://files.mastodon.social/accounts/avatars/000/006/792/original/DSC_0065_%28300x300%29.jpg</logo>




  <entry>
    <id>https://yabu.me/nevent1qqswfsd76xd4w523e8t6hl64q6vtdghc7lkf2e5sma2pg23e7g69nrqzyqf7572sldj6z3xfv99jn6sqv9uvngtkvzf0a72fpnwujhw0fzah7ecq92u</id>
    
      <title type="html">A reminder: when displaying dates and times in apps, do just ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqswfsd76xd4w523e8t6hl64q6vtdghc7lkf2e5sma2pg23e7g69nrqzyqf7572sldj6z3xfv99jn6sqv9uvngtkvzf0a72fpnwujhw0fzah7ecq92u" />
    <content type="html">
      A reminder: when displaying dates and times in apps, do just that. Display dates and times. Don&amp;#39;t withhold information have from the user. Don&amp;#39;t try to be clever.&lt;br/&gt;&lt;br/&gt;Just saw an app tell me that a particular message was sent to me on Wednesday. Which Wednesday? In the time zone I am currently in, it&amp;#39;s Wednesday. If the message was sent on Wednesday 3rd December, that is the information you give the user.&lt;br/&gt;&lt;br/&gt;Even better, include the time. That way, people can more clearly see intervals and durations.
    </content>
    <updated>2025-12-09T22:05:03Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqsdfqcrmymcwcgymhm57mnqwstt3v8gjp5d0xr3crmvcrnhle9622gzyqf7572sldj6z3xfv99jn6sqv9uvngtkvzf0a72fpnwujhw0fzah7sue52d</id>
    
      <title type="html">Blogged: Step Back &amp;#34;Instead of trying harder, do the ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqsdfqcrmymcwcgymhm57mnqwstt3v8gjp5d0xr3crmvcrnhle9622gzyqf7572sldj6z3xfv99jn6sqv9uvngtkvzf0a72fpnwujhw0fzah7sue52d" />
    <content type="html">
      Blogged: Step Back&lt;br/&gt;&lt;br/&gt;&amp;#34;Instead of trying harder, do the opposite. Take a break. Properly. Don&amp;#39;t just switch to another screen to browse memes, graze cat pics, answer your email or catch up with notifications, messages and socials.&amp;#34;&lt;br/&gt;&lt;br/&gt;&lt;a href=&#34;https://kevlinhenney.medium.com/step-back-39d9e005ed89&#34;&gt;https://kevlinhenney.medium.com/step-back-39d9e005ed89&lt;/a&gt;&lt;br/&gt;&lt;br/&gt; &lt;img src=&#34;https://files.mastodon.social/media_attachments/files/115/291/738/360/989/366/original/b30787a01f06b844.png&#34;&gt; 
    </content>
    <updated>2025-09-30T06:05:33Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqsyl09tqk0ksk7e7s0ynjmssag4t037hvgvlgy7203u9qwt5k62njczyqf7572sldj6z3xfv99jn6sqv9uvngtkvzf0a72fpnwujhw0fzah78yel5j</id>
    
      <title type="html">One of the interesting things about AI-generated code concerns ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqsyl09tqk0ksk7e7s0ynjmssag4t037hvgvlgy7203u9qwt5k62njczyqf7572sldj6z3xfv99jn6sqv9uvngtkvzf0a72fpnwujhw0fzah78yel5j" />
    <content type="html">
      One of the interesting things about AI-generated code concerns reliability and correctness. I haven&amp;#39;t come across definitive studies on this, but just rummaging around it seems that where typical rates across the industry for developers are around 5–20 defects / KLOC, with AI-generated code is around an order of magnitude higher.
    </content>
    <updated>2025-08-25T09:17:33Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqs02pf03pgmx09uxmejvhcdy245khgpm2nk7lcwu8tc2jkkz07wxagzyqf7572sldj6z3xfv99jn6sqv9uvngtkvzf0a72fpnwujhw0fzah7sqnfwc</id>
    
      <title type="html">If you&amp;#39;re interested in having me speak, run some training, ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqs02pf03pgmx09uxmejvhcdy245khgpm2nk7lcwu8tc2jkkz07wxagzyqf7572sldj6z3xfv99jn6sqv9uvngtkvzf0a72fpnwujhw0fzah7sqnfwc" />
    <content type="html">
      If you&amp;#39;re interested in having me speak, run some training, consult, etc., please get in touch. There is a small chance I may be able to fit you in this year, but things are pretty booked up. Better to get in touch now for something early to middle of next year than leave it until the last minute.
    </content>
    <updated>2025-08-18T16:15:52Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqs0p9v68j7e2rxfwv903tfq26sd7qp5wvgrkj2yddxjpm7sy9wwsgszyqf7572sldj6z3xfv99jn6sqv9uvngtkvzf0a72fpnwujhw0fzah7fvlev2</id>
    
      <title type="html">There are lots of principles that vie for developers&amp;#39; ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqs0p9v68j7e2rxfwv903tfq26sd7qp5wvgrkj2yddxjpm7sy9wwsgszyqf7572sldj6z3xfv99jn6sqv9uvngtkvzf0a72fpnwujhw0fzah7fvlev2" />
    <content type="html">
      There are lots of principles that vie for developers&amp;#39; attention, some of which are arbitrary (e.g., SOLID), some of which are misleading (e.g., SRP), or misunderstood (e.g., DRY, Separation of Concerns), some of which are redundant (e.g., ISP) and some of which are just plain wrong (e.g., OCP), but there are some that are classic, timeless, effective and, unfortunately, still ignored.&lt;br/&gt;&lt;br/&gt;In this category we find the balanced pairing of high cohesion and low coupling.
    </content>
    <updated>2025-08-11T08:46:04Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqsz2zwg804q4cj2q8ha0vddhc6ns25kpj05pp28l2qae5ags5enydqzyqf7572sldj6z3xfv99jn6sqv9uvngtkvzf0a72fpnwujhw0fzah7yxfmth</id>
    
      <title type="html">It&amp;#39;s not even funny how so many are fawning over &amp;#39;modular ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqsz2zwg804q4cj2q8ha0vddhc6ns25kpj05pp28l2qae5ags5enydqzyqf7572sldj6z3xfv99jn6sqv9uvngtkvzf0a72fpnwujhw0fzah7yxfmth" />
    <content type="html">
      It&amp;#39;s not even funny how so many are fawning over &amp;#39;modular monoliths&amp;#39; as if they&amp;#39;re some great new idea and alternative to microservices.&lt;br/&gt;&lt;br/&gt;Consequently, I&amp;#39;m proposing a new conference talk for later this year: Modular Monoliths and Other Facepalms.
    </content>
    <updated>2025-08-07T06:26:04Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqsz3rve2vwt8eera2kyk905t2fxdeupe89utd40ye3x7xy0e6nqjlszyqf7572sldj6z3xfv99jn6sqv9uvngtkvzf0a72fpnwujhw0fzah74u7qkf</id>
    
      <title type="html">One of my constant frustrations with many apps (web and mobile) ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqsz3rve2vwt8eera2kyk905t2fxdeupe89utd40ye3x7xy0e6nqjlszyqf7572sldj6z3xfv99jn6sqv9uvngtkvzf0a72fpnwujhw0fzah74u7qkf" />
    <content type="html">
      One of my constant frustrations with many apps (web and mobile) is the constant need to confirm via OTPs, 2FA, etc., that I am indeed me when I&amp;#39;m in the same session for which I&amp;#39;ve already just done this less than a minute earlier. &lt;br/&gt;&lt;br/&gt;Security — as opposed to security theatre — requires a more joined-up approach to architecture. This kind of annoyance highlights potential problems of organisational structure and process in the development organisation, unmanaged technical debt, etc.
    </content>
    <updated>2025-07-31T07:58:55Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqsqdparagvgzcnfaqlmnz56k8sz4mks9440a7d4lxhat2fyfz77j6szyqf7572sldj6z3xfv99jn6sqv9uvngtkvzf0a72fpnwujhw0fzah7zg06v5</id>
    
      <title type="html">So why do we prioritize things like feature development and bug ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqsqdparagvgzcnfaqlmnz56k8sz4mks9440a7d4lxhat2fyfz77j6szyqf7572sldj6z3xfv99jn6sqv9uvngtkvzf0a72fpnwujhw0fzah7zg06v5" />
    <content type="html">
      So why do we prioritize things like feature development and bug fixes in software development? No, really, why? It might not be why you think.&lt;br/&gt;&lt;br/&gt;My most recent YouTube Short for the Modern Software Engineering channel:&lt;br/&gt;&lt;a href=&#34;https://www.youtube.com/watch?v=TVAGd-Si4OI&#34;&gt;https://www.youtube.com/watch?v=TVAGd-Si4OI&lt;/a&gt;
    </content>
    <updated>2025-07-22T10:21:59Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqsqjy54w00j699qwtjulmk7aa2utwlu55dpta0fan3khwsghf8uk4qzyqf7572sldj6z3xfv99jn6sqv9uvngtkvzf0a72fpnwujhw0fzah7j8uff7</id>
    
      <title type="html">The limitations of Python&amp;#39;s lambdas grate as much as their ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqsqjy54w00j699qwtjulmk7aa2utwlu55dpta0fan3khwsghf8uk4qzyqf7572sldj6z3xfv99jn6sqv9uvngtkvzf0a72fpnwujhw0fzah7j8uff7" />
    <content type="html">
      The limitations of Python&amp;#39;s lambdas grate as much as their syntactic inconsistency. I can live with the latter, but the former is a continual source of frustration.&lt;br/&gt;&lt;br/&gt;Does anyone know of any serious proposals to improve lambdas, such as allow them to hold statements?
    </content>
    <updated>2025-07-10T10:57:41Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqspplvgxmpmt38dfepwmghlrlv3h7kqh2pqy2xj5lszh3jrq2hekkczyqf7572sldj6z3xfv99jn6sqv9uvngtkvzf0a72fpnwujhw0fzah7rv8t9m</id>
    
      <title type="html">Tell me you don&amp;#39;t know what reading is without telling me you ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqspplvgxmpmt38dfepwmghlrlv3h7kqh2pqy2xj5lszh3jrq2hekkczyqf7572sldj6z3xfv99jn6sqv9uvngtkvzf0a72fpnwujhw0fzah7rv8t9m" />
    <content type="html">
      Tell me you don&amp;#39;t know what reading is without telling me you don&amp;#39;t know what reading is&lt;br/&gt;&lt;br/&gt; &lt;img src=&#34;https://files.mastodon.social/media_attachments/files/114/822/608/167/265/049/original/ad01b5e27d5e50ef.png&#34;&gt; 
    </content>
    <updated>2025-07-09T09:39:42Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqsqyludjav8yr3hv50s2vr3dwhy0qn7hnn6wmarkv5asudylnyxhxczyqf7572sldj6z3xfv99jn6sqv9uvngtkvzf0a72fpnwujhw0fzah7kwzs5f</id>
    
      <title type="html">To understand how effectively people currently use and will use ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqsqyludjav8yr3hv50s2vr3dwhy0qn7hnn6wmarkv5asudylnyxhxczyqf7572sldj6z3xfv99jn6sqv9uvngtkvzf0a72fpnwujhw0fzah7kwzs5f" />
    <content type="html">
      To understand how effectively people currently use and will use AI one can look at two previous transformative technologies: the spreadsheet and the search engine.&lt;br/&gt;&lt;br/&gt;The first point is, of course, that they have been transformative. There was a definite &amp;#39;before&amp;#39; and &amp;#39;after&amp;#39; for individuals and businesses.&lt;br/&gt;&lt;br/&gt;They have been effective. That does not, however, mean their widespread adoption has meant they have been used effectively, and the way these products have evolved has also been suboptimal.
    </content>
    <updated>2025-07-03T09:22:33Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqs9s9kscv9sdjy4hyefwdjz8z4tqesjqudrfpln9plh5sjuyj09x7szyqf7572sldj6z3xfv99jn6sqv9uvngtkvzf0a72fpnwujhw0fzah7auzsad</id>
    
      <title type="html">Watching a speaker apologise for any quirks in the code ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqs9s9kscv9sdjy4hyefwdjz8z4tqesjqudrfpln9plh5sjuyj09x7szyqf7572sldj6z3xfv99jn6sqv9uvngtkvzf0a72fpnwujhw0fzah7auzsad" />
    <content type="html">
      Watching a speaker apologise for any quirks in the code they&amp;#39;re using in their slides.&lt;br/&gt;&lt;br/&gt;&amp;#34;It was generated by AI.&amp;#34;&lt;br/&gt;&lt;br/&gt;Resisted the temptation to raise my hand and say, &amp;#34;You know you&amp;#39;re allowed to edit generated code before committing it?&amp;#34;&lt;br/&gt;&lt;br/&gt;Don&amp;#39;t use LLMs to increase the unmanaged technical debt in the world. Software is supposed to be soft; It&amp;#39;s not written in stone.
    </content>
    <updated>2025-06-10T09:23:59Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqszngayapzwvul0n40dchz9tmqwztcg0meg9l96sevzvz7aqdxk0aqzyqf7572sldj6z3xfv99jn6sqv9uvngtkvzf0a72fpnwujhw0fzah7m8axh9</id>
    
      <title type="html">@nprofile…49rv I &amp;#39;love&amp;#39; the fact that&amp;#39;s beyond ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqszngayapzwvul0n40dchz9tmqwztcg0meg9l96sevzvz7aqdxk0aqzyqf7572sldj6z3xfv99jn6sqv9uvngtkvzf0a72fpnwujhw0fzah7m8axh9" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqstkh94y2yenpk080hhwspst6x7khjw2ufsusawu4l8atp83p0r3uspz4mhxue69uhhyetvv9ujumt0wd68ytnsw43qyy3ukj&#39;&gt;nevent1q…3ukj&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;&lt;span itemprop=&#34;mentions&#34; itemscope itemtype=&#34;https://schema.org/Person&#34;&gt;&lt;a itemprop=&#34;url&#34; href=&#34;/nprofile1qy2hwumn8ghj7un9d3shjtnddaehgu3wwp6kyqpqdfewzkhharkf24mgwm6eywkvkwk4jyuwfu2zwyyjywhsxkskmheq3x49rv&#34; class=&#34;bg-lavender dark:prose:text-neutral-50 dark:text-neutral-50 dark:bg-garnet px-1&#34;&gt;&lt;span&gt;nprofile1qy2hwumn8ghj7un9d3shjtnddaehgu3wwp6kyqpqdfewzkhharkf24mgwm6eywkvkwk4jyuwfu2zwyyjywhsxkskmheq3x49rv&lt;/span&gt; (&lt;span class=&#34;italic&#34;&gt;nprofile…49rv&lt;/span&gt;)&lt;/a&gt;&lt;/span&gt; I &amp;#39;love&amp;#39; the fact that&amp;#39;s beyond column 80 😳
    </content>
    <updated>2025-04-17T05:28:15Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqsf6usucvd9r3r2kgwe7eanycl4mjc8xzcvv92hn5zeuktjzug3cjczyqf7572sldj6z3xfv99jn6sqv9uvngtkvzf0a72fpnwujhw0fzah79qj3zh</id>
    
      <title type="html">It&amp;#39;s 2025 and we live in a highly connected and fallible ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqsf6usucvd9r3r2kgwe7eanycl4mjc8xzcvv92hn5zeuktjzug3cjczyqf7572sldj6z3xfv99jn6sqv9uvngtkvzf0a72fpnwujhw0fzah79qj3zh" />
    <content type="html">
      It&amp;#39;s 2025 and we live in a highly connected and fallible world. No, &amp;#34;Something went wrong&amp;#34; is not an acceptable error message.
    </content>
    <updated>2025-04-11T15:03:31Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqsfuhsunmdqtfqasxh54ne9rk8474p824aewk8p02kuuf045zk6fwczyqf7572sldj6z3xfv99jn6sqv9uvngtkvzf0a72fpnwujhw0fzah7yey5p2</id>
    
      <title type="html">One of the most interesting impacts that AI integration has had ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqsfuhsunmdqtfqasxh54ne9rk8474p824aewk8p02kuuf045zk6fwczyqf7572sldj6z3xfv99jn6sqv9uvngtkvzf0a72fpnwujhw0fzah7yey5p2" />
    <content type="html">
      One of the most interesting impacts that AI integration has had on many apps is in terms of UX: usability has declined as apps compete in a downward spiral for our attention, adding buttons, prompts and other enshittification that distracts from and gets in the way of user task focus while adding no meaningful value.
    </content>
    <updated>2025-03-06T10:41:04Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqswhadr5z87xknzwvuxnwvyvr933nhgtrxeuxzel36cxhagc2np3wqzyqf7572sldj6z3xfv99jn6sqv9uvngtkvzf0a72fpnwujhw0fzah7mwgfaq</id>
    
      <title type="html">Suggestion for a AI-based coding assistant: a comment dissonance ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqswhadr5z87xknzwvuxnwvyvr933nhgtrxeuxzel36cxhagc2np3wqzyqf7572sldj6z3xfv99jn6sqv9uvngtkvzf0a72fpnwujhw0fzah7mwgfaq" />
    <content type="html">
      Suggestion for a AI-based coding assistant: a comment dissonance checker.&lt;br/&gt;&lt;br/&gt;Red squiggles under comments that contradict what the code actually does. Blue squiggles for comments that add no value to what is already obvious from the code.&lt;br/&gt;&lt;br/&gt;Also, blue squiggles on code that could be improved to make a comment superfluous, e.g., rename a variable to be more explicit rather than having a comment explaining what the variable is for.
    </content>
    <updated>2025-02-17T16:53:20Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqs20ek35546asxzfwvn6f9g9chzmvvt0ktv7ywakdq8400shrpjuqqzyqf7572sldj6z3xfv99jn6sqv9uvngtkvzf0a72fpnwujhw0fzah7qszlmc</id>
    
      <title type="html">Today&amp;#39;s passive-aggressive pro tip: use the trim method to ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqs20ek35546asxzfwvn6f9g9chzmvvt0ktv7ywakdq8400shrpjuqqzyqf7572sldj6z3xfv99jn6sqv9uvngtkvzf0a72fpnwujhw0fzah7qszlmc" />
    <content type="html">
      Today&amp;#39;s passive-aggressive pro tip: use the trim method to trim leading and trailing whitespace from a String in JavaScript&lt;br/&gt;&lt;br/&gt; &lt;img src=&#34;https://files.mastodon.social/media_attachments/files/113/986/212/684/433/711/original/0fc0222c4d72e96d.png&#34;&gt; 
    </content>
    <updated>2025-02-11T16:34:00Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqsrgkeqjk90l02xdxfusljfl5llt9tuv06fw6l3sspyf8vl0ytplygzyqf7572sldj6z3xfv99jn6sqv9uvngtkvzf0a72fpnwujhw0fzah7v2gp4t</id>
    
      <title type="html">As the term &amp;#39;intelligence&amp;#39; is used in &amp;#39;artificial ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqsrgkeqjk90l02xdxfusljfl5llt9tuv06fw6l3sspyf8vl0ytplygzyqf7572sldj6z3xfv99jn6sqv9uvngtkvzf0a72fpnwujhw0fzah7v2gp4t" />
    <content type="html">
      As the term &amp;#39;intelligence&amp;#39; is used in &amp;#39;artificial intelligence&amp;#39;, it is perhaps worth asking, what kind of intelligence do AI systems represent? Confident and detail focused, but naïve, easily misled and lacking in common sense, worldliness, situational awareness, fairness, imagination, empathy, emotional intelligence and social intelligence 🤔
    </content>
    <updated>2022-12-06T08:57:59Z</updated>
  </entry>

</feed>