This is a valid RSS feed.
This feed is valid, but interoperability with the widest range of feed readers could be improved by implementing the following recommendations.
... ://www.peterbe.com/rss.xml" rel="self"/><language>en-us</language><lastB ...
^
line 41, column 209: (4 occurrences) [help]
... 70" height="147"></a></p></description><pubDate>Fri, 29 A ...
^
<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Peterbe.com</title><link>http://www.peterbe.com/rss.xml</link><description>Stuff in Peter's head</description><atom:link href="http://www.peterbe.com/rss.xml" rel="self"/><language>en-us</language><lastBuildDate>Mon, 29 Sep 2025 19:04:01 +0000</lastBuildDate><item><title>Find the source of an alias in bash</title><link>http://www.peterbe.com/plog/find-the-source-of-an-alias-in-bash</link><description><p>This is borderline embarrassing but by blogging about it, at least there's hope that <em>I</em> will not forget this.</p>
<p>If you have an executable, you can type <code>which</code> to find out its full path. For example:</p>
<pre><code class="hljs">
$ which fdfind
/usr/bin/fdfind
</code></pre>
<p>then you can do something with that. But if the executable is an alias? E.g. I have set up <code>alias fd='fdfind'</code> and suppose I don't remember that. I have this executable, <code>gbranch</code>, but you can't use <code>which</code> on it:</p>
<pre><code class="hljs">
$ which fd
</code></pre>
<p>It outputs nothing and you get an exit code of 1.</p>
<p>Lo and behold, it's so basic, run the <code>alias</code> command on it:</p>
<pre><code class="hljs">
$ alias fd
alias fd=&#x27;fdfind&#x27;
</code></pre></description><pubDate>Mon, 29 Sep 2025 19:04:01 +0000</pubDate><guid>http://www.peterbe.com/plog/find-the-source-of-an-alias-in-bash</guid></item><item><title>From @monaco-editor/react to prism-react-editor</title><link>http://www.peterbe.com/plog/from-monaco-to-prism-react-editor</link><description>Switching from @monaco-editor/react to prism-react-editor means a less powerful in-browser editor but it's much lighter.</description><pubDate>Thu, 25 Sep 2025 21:18:29 +0000</pubDate><guid>http://www.peterbe.com/plog/from-monaco-to-prism-react-editor</guid></item><item><title>How I end-to-end test my Bun CLI app</title><link>http://www.peterbe.com/plog/how-i-end-to-end-test-my-bun-cli-app</link><description>Bun $ Shell makes it easy to write end-to-end tests that tests command line scripts.</description><pubDate>Thu, 18 Sep 2025 18:48:16 +0000</pubDate><guid>http://www.peterbe.com/plog/how-i-end-to-end-test-my-bun-cli-app</guid></item><item><title>How to count the number of non-blank lines with Bash</title><link>http://www.peterbe.com/plog/how-to-count-the-number-of-non-blank-lines-with-bash</link><description>You can use `awk 'NF > 0'` to filter blank lines before piping to `wc` to filter out blank lines.</description><pubDate>Wed, 03 Sep 2025 15:08:07 +0000</pubDate><guid>http://www.peterbe.com/plog/how-to-count-the-number-of-non-blank-lines-with-bash</guid></item><item><title>gg commit with suggested --no-verify</title><link>http://www.peterbe.com/plog/gg-commit-with-suggested-no-verify</link><description><p>In version <a href="https://github.com/peterbe/gg2/releases/tag/v0.0.11">0.0.11</a> of <a href="https://github.com/peterbe/gg2">gg</a> you can now type <code>gg commit Bla bla</code> and it will try to commit but if that fails, it will ask you one more time, if you want to re-attempt to commit but with <code>--no-verify</code>.</p>
<p>For example:</p>
<pre><code class="hljs">
$ gg commit This is my commit message
❌ file has formatting problems
Commit failed and you did not use --no-verify.
? Try again but with --no-verify? (y/N)
</code></pre>
<p>(<em>see screenshots below where color makes these things more intuitive</em>)</p>
<p>This is handy when you know that the <code>.git/hooks/pre-commit</code> might be failing for a reason that is actually not a problem <em>after</em> you've committed.</p>
<p>In a sample repo I have:</p>
<pre><code class="hljs">
$ <span class="hljs-built_in">cat</span> .git/hooks/pre-commit
<span class="hljs-comment">#!/bin/sh</span>
<span class="hljs-built_in">echo</span> <span class="hljs-string">&quot;❌ Rejecting all commits like an angry troll&quot;</span>
<span class="hljs-built_in">exit</span> 1
</code></pre>
<p>And when I use <code>gg commit ...</code> this happens:</p>
<p><a href="/cache/5a/45/5a45eeb1b7d7baebdc9d07e6eb652fc8.png"><img src="/cache/ff/ff/ffff529524b78fb3a84267679f8519ee.png" alt="Prompt" width="370" height="90"></a></p>
<p><a href="/cache/67/10/671041199ffb99018237b945e483c761.png"><img src="/cache/87/0e/870e49b633d6cddde804121623bd08e1.png" alt="Said y for Yes" width="370" height="147"></a></p></description><pubDate>Fri, 29 Aug 2025 18:37:45 +0000</pubDate><guid>http://www.peterbe.com/plog/gg-commit-with-suggested-no-verify</guid></item><item><title>Faster way to sum an integer series in Python</title><link>http://www.peterbe.com/plog/faster-way-to-sum-an-integer-series-in-python</link><description>You can sum a simple series with `n(n+1)/2`</description><pubDate>Thu, 28 Aug 2025 12:11:22 +0000</pubDate><guid>http://www.peterbe.com/plog/faster-way-to-sum-an-integer-series-in-python</guid></item><item><title>Find GitHub Pull Request by commit SHA</title><link>http://www.peterbe.com/plog/find-github-pull-request-by-commit-sha</link><description>You can find the PR by searching for any of its SHA commits</description><pubDate>Thu, 21 Aug 2025 11:38:23 +0000</pubDate><guid>http://www.peterbe.com/plog/find-github-pull-request-by-commit-sha</guid></item><item><title>Always run biome migrate after upgrading biome</title><link>http://www.peterbe.com/plog/always-run-biome-migrate-after-upgrading-biome</link><description>Use postinstall in your package.json to automatically keep your biome.json up to date when @biomejs/biome is upgraded</description><pubDate>Sat, 16 Aug 2025 16:08:34 +0000</pubDate><guid>http://www.peterbe.com/plog/always-run-biome-migrate-after-upgrading-biome</guid></item><item><title>gg shell completion</title><link>http://www.peterbe.com/plog/gg-shell-completion</link><description>gg now support shell completions in Bash and Zsh</description><pubDate>Wed, 13 Aug 2025 12:44:06 +0000</pubDate><guid>http://www.peterbe.com/plog/gg-shell-completion</guid></item><item><title>Combining Django signals with in-memory LRU cache</title><link>http://www.peterbe.com/plog/combining-django-signals-with-in-memory-lru-cache</link><description>It's easy to combine functools.lru_cache with Django signals to get a good memoization pattern on Django ORM queries.</description><pubDate>Sat, 09 Aug 2025 18:33:43 +0000</pubDate><guid>http://www.peterbe.com/plog/combining-django-signals-with-in-memory-lru-cache</guid></item></channel></rss>
If you would like to create a banner that links to this page (i.e. this validation result), do the following:
Download the "valid RSS" banner.
Upload the image to your own server. (This step is important. Please do not link directly to the image on this server.)
Add this HTML to your page (change the image src
attribute if necessary):
If you would like to create a text link instead, here is the URL you can use:
http://www.feedvalidator.org/check.cgi?url=https%3A//www.peterbe.com/rss.xml