<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Ai on Brandon Pugh&#39;s Blog</title>
    <link>https://www.brandonpugh.com/tags/ai/</link>
    <description>Recent content in Ai on Brandon Pugh&#39;s Blog</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en</language>
    <lastBuildDate>Mon, 14 Apr 2025 00:00:00 +0000</lastBuildDate><atom:link href="https://www.brandonpugh.com/tags/ai/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>LLMs can&#39;t stop making up software dependencies and sabotaging everything</title>
      <link>https://www.brandonpugh.com/links/llms-cant-stop-making-up-software-dependencies/</link>
      <pubDate>Mon, 14 Apr 2025 00:00:00 +0000</pubDate>
      <guid>https://www.brandonpugh.com/links/llms-cant-stop-making-up-software-dependencies/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://www.theregister.com/AMP/2025/04/12/ai_code_suggestions_sabotage_supply_chain/&#34;&gt;LLMs can&amp;rsquo;t stop making up software dependencies and sabotaging everything&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;A fun new attack vector in the age of AI.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;ldquo;What a world we live in: AI hallucinated packages are validated and rubber-stamped by another AI that is too eager to be helpful.&amp;rdquo;&lt;/p&gt;
&lt;/blockquote&gt;

       &lt;hr&gt; &lt;p&gt;Thank you for keeping RSS alive. You&#39;re awesome.&lt;/p&gt; &lt;p&gt;&lt;a href=&#34;mailto:blogrss@bpugh.dev&#34;&gt;Reply by email&lt;/a&gt;&lt;/p&gt;
        &lt;img src=&quot;https://blog.bpugh.workers.dev/cdn/images?p=/links/llms-cant-stop-making-up-software-dependencies/feed&quot;&gt;
      </description>
    </item>
    
    <item>
      <title>Keynote: AI without the BS, for humans</title>
      <link>https://www.brandonpugh.com/links/keynote-ai-without-the-bs-for-humans/</link>
      <pubDate>Wed, 02 Apr 2025 00:00:00 +0000</pubDate>
      <guid>https://www.brandonpugh.com/links/keynote-ai-without-the-bs-for-humans/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://www.youtube.com/watch?v=kYUicaho5k8&#34;&gt;Keynote: AI without the BS, for humans - Scott Hanselman - NDC London 2025&lt;/a&gt;&lt;/p&gt;

       &lt;hr&gt; &lt;p&gt;Thank you for keeping RSS alive. You&#39;re awesome.&lt;/p&gt; &lt;p&gt;&lt;a href=&#34;mailto:blogrss@bpugh.dev&#34;&gt;Reply by email&lt;/a&gt;&lt;/p&gt;
        &lt;img src=&quot;https://blog.bpugh.workers.dev/cdn/images?p=/links/keynote-ai-without-the-bs-for-humans/feed&quot;&gt;
      </description>
    </item>
    
    <item>
      <title>Chain-of-Thought Prompting</title>
      <link>https://www.brandonpugh.com/til/ai/train-of-thought/</link>
      <pubDate>Fri, 20 Sep 2024 00:00:00 +0000</pubDate>
      <guid>https://www.brandonpugh.com/til/ai/train-of-thought/</guid>
      <description>&lt;p&gt;Today I learned about &lt;a href=&#34;https://www.promptingguide.ai/techniques/cot&#34;&gt;Chain-of-Thought Prompting&lt;/a&gt; which is a technique to get potentially better results from an LLM where you craft your prompt with an example of the chain of thought or steps in reasoning to solve a complex problem.&lt;/p&gt;
&lt;p&gt;This gives a good explanation:
&lt;a href=&#34;https://www.promptingguide.ai/techniques/cot&#34;&gt;https://www.promptingguide.ai/techniques/cot&lt;/a&gt;&lt;/p&gt;

       &lt;hr&gt; &lt;p&gt;Thank you for keeping RSS alive. You&#39;re awesome.&lt;/p&gt; &lt;p&gt;&lt;a href=&#34;mailto:blogrss@bpugh.dev&#34;&gt;Reply by email&lt;/a&gt;&lt;/p&gt;
        &lt;img src=&quot;https://blog.bpugh.workers.dev/cdn/images?p=/til/ai/train-of-thought/feed&quot;&gt;
      </description>
    </item>
    
    <item>
      <title>Use ChatGPT to help you write architectural decision records</title>
      <link>https://www.brandonpugh.com/til/ai/chatgpt-to-help-write-adr/</link>
      <pubDate>Fri, 03 Nov 2023 00:00:00 +0000</pubDate>
      <guid>https://www.brandonpugh.com/til/ai/chatgpt-to-help-write-adr/</guid>
      <description>&lt;p&gt;I&amp;rsquo;ve been discovering recently that ChatGPT is actually pretty good at helping write &lt;a href=&#34;https://adr.github.io/&#34;&gt;Architectural Decision Records (ADRs)&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Like most writing tasks, I&amp;rsquo;m finding ChatGPT is good at giving me a nice starting point instead of staring a blank template.&lt;/p&gt;
&lt;p&gt;Even with as simple a prompt as &amp;ldquo;write an architectural decision record on why we chose to go with react instead of angular&amp;rdquo;, it&amp;rsquo;ll give a decent list of pros and cons on the topic in a common ADR template.
I can also refine it further by saying &amp;ldquo;write it using the following template instead&amp;hellip;&amp;rdquo;&lt;/p&gt;
&lt;p&gt;I really like ADRs for capturing &lt;strong&gt;&lt;em&gt;why&lt;/em&gt;&lt;/strong&gt; we made a particular decision and the important points we considered and which things might have been deal breakers - which ChatGPT obviously can&amp;rsquo;t do for you but it&amp;rsquo;s a quick way to list out some points and occasionally it&amp;rsquo;ll even mention something I hadn&amp;rsquo;t considered.&lt;/p&gt;
&lt;p&gt;I also like asking it to argue the reverse like: &amp;ldquo;write an architectural decision record on why we chose to go with &lt;em&gt;angular instead of react&lt;/em&gt;&amp;rdquo;&lt;/p&gt;
&lt;p&gt;Interestingly, it will show the result in the UI as the rendered markdown but when you click the &amp;ldquo;copy&amp;rdquo; button it will copy the source markdown which is nice.&lt;/p&gt;

       &lt;hr&gt; &lt;p&gt;Thank you for keeping RSS alive. You&#39;re awesome.&lt;/p&gt; &lt;p&gt;&lt;a href=&#34;mailto:blogrss@bpugh.dev&#34;&gt;Reply by email&lt;/a&gt;&lt;/p&gt;
        &lt;img src=&quot;https://blog.bpugh.workers.dev/cdn/images?p=/til/ai/chatgpt-to-help-write-adr/feed&quot;&gt;
      </description>
    </item>
    
    <item>
      <title>Use ChatGPT to explain bash scripts</title>
      <link>https://www.brandonpugh.com/til/ai/chatgpt-explains/</link>
      <pubDate>Wed, 05 Jul 2023 00:00:00 +0000</pubDate>
      <guid>https://www.brandonpugh.com/til/ai/chatgpt-explains/</guid>
      <description>&lt;p&gt;Today I learned that chatGPT is pretty good at explaining cryptic bash scripts and commands.
I was trying to understand exactly how a git &lt;code&gt;prepare-commit-msg&lt;/code&gt; hook was working so I asked chatGPT to &amp;ldquo;explain the following git hook to me&amp;rdquo; and it did a pretty good job.&lt;/p&gt;
&lt;p&gt;For example, it returned tidbits like:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;[[ $BRANCH_NAME =~ $BRANCH_REGEX ]]&lt;/code&gt;: This conditional statement checks if the branch name matches the BRANCH_REGEX pattern.
If the branch name starts with one or more digits, this condition will be true.
and:
&lt;code&gt;sed -i.bak -e &amp;quot;1s/^#${BASH_REMATCH[1]}: //I&amp;quot; $1&lt;/code&gt;: This line uses the &lt;code&gt;sed&lt;/code&gt; command to replace the branch number (captured by the &lt;code&gt;BRANCH_REGEX&lt;/code&gt; pattern) and a colon at the beginning of the commit message with an empty string. The &lt;code&gt;I&lt;/code&gt; flag makes the replacement case-insensitive. The &lt;code&gt;-i.bak&lt;/code&gt; option creates a backup of the original commit message file with a &lt;code&gt;.bak&lt;/code&gt; extension.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Bonus TIL&lt;/em&gt;: the &lt;code&gt;BASH_REMATCH&lt;/code&gt; variable is automatically populated with the matched string in bash when using the &lt;code&gt;=~&lt;/code&gt; regex operator&lt;/p&gt;

       &lt;hr&gt; &lt;p&gt;Thank you for keeping RSS alive. You&#39;re awesome.&lt;/p&gt; &lt;p&gt;&lt;a href=&#34;mailto:blogrss@bpugh.dev&#34;&gt;Reply by email&lt;/a&gt;&lt;/p&gt;
        &lt;img src=&quot;https://blog.bpugh.workers.dev/cdn/images?p=/til/ai/chatgpt-explains/feed&quot;&gt;
      </description>
    </item>
    
  </channel>
</rss>