

<feed xmlns="http://www.w3.org/2005/Atom">
  <id>/</id>
  <title>Neil's NIPO R&amp;D</title>
  <subtitle>Notes from my R&amp;D days.</subtitle>
  <updated>2026-10-01T13:04:45+02:00</updated>
  <author>
    <name>Neil Boyd</name>
    <uri>/</uri>
  </author>
  <link rel="self" type="application/atom+xml" href="/feed.xml"/>
  <link rel="alternate" type="text/html" hreflang="en"
    href="/"/>
  <generator uri="https://jekyllrb.com/" version="4.4.1">Jekyll</generator>
  <rights> © 2026 Neil Boyd </rights>
  <icon>/assets/img/favicons/favicon.ico</icon>
  <logo>/assets/img/favicons/favicon-96x96.png</logo>


  
  <entry>
    <title>1 October 2026</title>
    <link href="/posts/2026-10-01/" rel="alternate" type="text/html" title="1 October 2026" />
    <published>2026-10-01T00:00:00+02:00</published>
  
    <updated>2026-10-01T00:00:00+02:00</updated>
  
    <id>/posts/2026-10-01/</id>
    <content type="text/html" src="/posts/2026-10-01/" />
    <author>
      <name>Neil Boyd</name>
    </author>

  
    
  

  <summary>What are code reviews even for?  We’ve always known this:     Keep changes small. Write a meaningful description of what changed and why   And that doesn’t change. But if we were doing it wrong before, then AI inherited it, and then amplified it.  It goes on to describe Meta’s Risk Aware Diff Auto Review (RADAR) system where scarce human attention should be reserved for changes where human judg...</summary>

  </entry>

  
  <entry>
    <title>21 August 2026</title>
    <link href="/posts/2026-08-21/" rel="alternate" type="text/html" title="21 August 2026" />
    <published>2026-08-21T00:00:00+02:00</published>
  
    <updated>2026-08-21T00:00:00+02:00</updated>
  
    <id>/posts/2026-08-21/</id>
    <content type="text/html" src="/posts/2026-08-21/" />
    <author>
      <name>Neil Boyd</name>
    </author>

  
    
  

  <summary>The AI productivity gap  Explains why AI doesn’t let us create software quicker. For senior developers, writing code was never the hard part. And to counter the argument that juniors are the ones mostly likely to be put out of a job by AI:     it’s juniors who stand to gain the most from AI – especially if they are good at using AI as a learning tool   An Architectural View of ML.NET  Refresher...</summary>

  </entry>

  
  <entry>
    <title>27 July 2026</title>
    <link href="/posts/2026-07-27/" rel="alternate" type="text/html" title="27 July 2026" />
    <published>2026-07-27T00:00:00+02:00</published>
  
    <updated>2026-07-27T00:00:00+02:00</updated>
  
    <id>/posts/2026-07-27/</id>
    <content type="text/html" src="/posts/2026-07-27/" />
    <author>
      <name>Neil Boyd</name>
    </author>

  
    
  

  <summary>How Claude Code Works, From Tokens to Agents  Detailed description of how AI coding assistants work. They’re not magic — they’re token-predicting models in loops with tools.  Some interesting takeaways:    the model doesn’t use facts - it assigns probabilities            if you ask “the capital of France is…”, the most probable next token is “Paris”, but the model didn’t get that based on facts...</summary>

  </entry>

  
  <entry>
    <title>8 July 2026</title>
    <link href="/posts/2026-07-08/" rel="alternate" type="text/html" title="8 July 2026" />
    <published>2026-07-08T00:00:00+02:00</published>
  
    <updated>2026-07-08T00:00:00+02:00</updated>
  
    <id>/posts/2026-07-08/</id>
    <content type="text/html" src="/posts/2026-07-08/" />
    <author>
      <name>Neil Boyd</name>
    </author>

  
    
  

  <summary>When Agentic Coding Breaks Code Review  A couple of very familiar phenomena.  CORS: What is it protecting?  Explaining that CORS is a browser security measure, in case you didn’t already know that.  EF Core in Clean Architecture the Pragmatic Way  Making the case for using EF Core DbContext directly instead of adding a repository extraction, because EF Core is already an abstraction.  Spec-driv...</summary>

  </entry>

  
  <entry>
    <title>27 May 2026</title>
    <link href="/posts/2026-05-27/" rel="alternate" type="text/html" title="27 May 2026" />
    <published>2026-05-27T00:00:00+02:00</published>
  
    <updated>2026-05-27T00:00:00+02:00</updated>
  
    <id>/posts/2026-05-27/</id>
    <content type="text/html" src="/posts/2026-05-27/" />
    <author>
      <name>Neil Boyd</name>
    </author>

  
    
  

  <summary>Functional Programming in C# 15: Union Types and the ApiResult Monad     A union type is a type that holds exactly one of several named cases at a time.   Think of a monad as a smart wrapper around a value that lets you chain operations without checking for errors at every step. The wrapper carries the result or the failure through the pipeline — you only inspect the outcome at the end.   We ca...</summary>

  </entry>

</feed>


