1<!DOCTYPE html> 2<html lang="en"> 3 <head> 4 <meta charset="utf-8"> 5 <title>Rob's Blog</title> 6 7 <meta name="viewport" content="width=device-width, initial-scale=1"> 8 9 <link rel="icon" href="https://robanderson.dev/images/favicon.png"> 10 11 <link rel="stylesheet" href="css/blog.css"> 12 <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Source+Code+Pro&display=swap"> 13 <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Source+Sans+Pro&display=swap"> 14 <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.7.0/styles/base16/espresso.min.css"> 15 16 <link rel=alternate title="Rob Anderson's Blog" type=application/rss+xml href="site.rss"> 17 18
18<script src="js/highlight.min.js"></script>
18 19 </head> 20 <body> 21 <div class="background"></div> 22 <main> 23 <div class="terminal"> 24 <div class="rendered"> 25 <a class="home" href="../">Home</a> 26 <div class="centre"> 27 <h1>Rob's Blog</h1> 28 </div> 29 <hr /> 30 <div class="post"> 31 <span>2026-03-23</span> 32 <a href="./trying-claude.html">Trying Claude with a hobby project</a> 33 </div> 34 <div class="post"> 35 <span>2026-03-14</span> 36 <a href="./ups.html">Buying and configuring a CyberPower UPS for my home server</a> 37 </div> 38 <div class="post"> 39 <span>2026-01-11</span> 40 <a href="./airplay.html">Airplay streaming for under £40*</a> 41 </div> 42 <div class="post"> 43 <span>2025-11-19</span> 44 <a href="./cat6-to-my-desk.html">Finishing my network upgrade: running CAT6 ethernet</a> 45 </div> 46 <div class="post"> 47 <span>2025-08-24</span> 48 <a href="./building-my-blog.html">How I build and host my blog</a> 49 </div> 50 <div class="post"> 51 <span>2025-08-17</span> 52 <a href="./upgrading-adele.html">Upgrading Adele and our home network</a> 53 </div> 54 <div class="post"> 55 <span>2025-05-03</span> 56 <a href="./graceful-shutdown-websockets.html">Gracefully shutting down an ASP.NET Core websockets API</a> 57 </div> 58 <div class="post"> 59 <span>2025-04-30</span> 60 <a href="./hosting-setup.html">My hosting setup</a> 61 </div> 62 <div class="post"> 63 <span>2025-02-11</span> 64 <a href="./dell-t160.html">6 months with the Dell PowerEdge T160</a> 65 </div> 66 <div class="post"> 67 <span>2025-01-06</span> 68 <a href="./pi-modbus.html">Modbus RTU with a Raspberry Pi</a> 69 </div> 70 <div class="post"> 71 <span>2023-07-20</span> 72 <a href="./nginx-certbot.html">Using NGINX and Certbot to host an Express server</a> 73 </div> 74 <div class="post"> 75 <span>2023-06-09</span> 76 <a href="./cloudfront-url-transform.html">Converting path parameters to query string parameters for API Gateway websocket APIs</a> 77 </div> 78 <div class="post"> 79 <span>2023-05-31</span> 80 <a href="./websocket-api.html">Creating a simple websocket API on AWS with C#</a> 81 </div> 82 83 <hr /> 84 <div class="centre">© 2023-2026 Rob Anderson</div> 85 </div> 86 </div> 87 </main> 88
88<script> 89 document.addEventListener('DOMContentLoaded', (event) => { 90 document.querySelectorAll('code').forEach((el) => { 91 hljs.highlightElement(el); 92 }); 93 }); 94 95 window.onload = () => { 96 for (const link of document.getElementsByTagName('a')) { 97 if (!link.href.startsWith('https://robanderson.dev')) { 98 link.target = '_blank'; 99 } 100 } 101 }; 102 </script>
102 103 </body> 104</html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.