<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
      <title>Tech Titbits on Tech Titbits </title>
      <generator uri="https://gohugo.io">Hugo</generator>
    <link>https://techtitbits.com/</link>
    <language>en-gb</language>
    
    
    <updated>Tue, 03 Feb 2026 01:17:28 -0400</updated>
    
    <item>
      <title>Creating a 503 error page server with Nginx</title>
      <link>https://techtitbits.com/posts/creating-a-503-error-page-server-with-nginx/</link>
      <pubDate>Tue, 03 Feb 2026 01:17:28 -0400</pubDate>
      
      <guid>https://techtitbits.com/posts/creating-a-503-error-page-server-with-nginx/</guid>
      <description>I needed to serve a custom 503 page for every request to any URL for a domain, and since we serve things using Traefik, I needed a backend service which served the same 503 image for any request.
The vhost configuration for Nginx ended up being like this -
server { listen 80; server_name localhost; #access_log /var/log/nginx/host.access.log main; root /usr/share/nginx/html; # Convert all error codes to 503 and specify file error_page 404 500 502 503 504 =503 /index.</description>
    </item>
    
    <item>
      <title>Isso multisite using Docker</title>
      <link>https://techtitbits.com/posts/isso-multisite-using-docker/</link>
      <pubDate>Tue, 03 Feb 2026 01:17:28 -0400</pubDate>
      
      <guid>https://techtitbits.com/posts/isso-multisite-using-docker/</guid>
      <description>This is probably going to be a short and sweet post. I was trying to set up Isso, since I didn&amp;rsquo;t really like Remark42. As always, I was going with the Docker install option, but I kept running into issues setting up multisite - I needed one Isso instance to provide commenting for all of my Hugo sites.
After one Github issue, which really should have been a Discussion - but I thought I had encountered a bug, it was pointed out that I needed run Isso with isso.</description>
    </item>
    
    <item>
      <title>Unbricking the NanoPi R6S</title>
      <link>https://techtitbits.com/posts/unbricking-the-nanopi-r6s/</link>
      <pubDate>Sat, 24 Jan 2026 23:25:52 -0400</pubDate>
      
      <guid>https://techtitbits.com/posts/unbricking-the-nanopi-r6s/</guid>
      <description>TL;DR - Run upgrade_tool UL MiniLoaderAll.bin in Maskrom mode.
I recently obtained a NanoPi R6S with the intention of turning it into a router powered by OpenWrt. Everything seemed to be going swimmingly well until I tried to expand the SquashFS OpenWrt partition on the internal eMMC storage, and that seemed to brick the device. Every time it was turned on, the red SYS light would stay solid instead of blinking after a bit - that meant it was stuck in the bootloader phase.</description>
    </item>
    
    <item>
      <title>Sandisk Industrial SLC MicroSD Card Review</title>
      <link>https://techtitbits.com/posts/sandisk-industrial-slc-microsd-card-review/</link>
      <pubDate>Sat, 09 Aug 2025 11:33:52 -0400</pubDate>
      
      <guid>https://techtitbits.com/posts/sandisk-industrial-slc-microsd-card-review/</guid>
      <description>This is a straightforward, possibly barebones review of the 32 GB Sandisk Industrial Grade Extended Temperature IX QD334 microSD card (SDSDQED-032G-XI). I have had several high endurance (and max endurance, whatever that means) microSD cards fail on me over years of use in Raspberry Pis and dashcams, so I decided to splurge the cash and get an SLC microSD card with an industrial-grade controller that&amp;rsquo;ll probably last me a lifetime.</description>
    </item>
    
    <item>
      <title>Traffic Advice configuration for Nginx</title>
      <link>https://techtitbits.com/posts/traffic-advice-nginx/</link>
      <pubDate>Tue, 10 Jan 2023 14:21:32 -0500</pubDate>
      
      <guid>https://techtitbits.com/posts/traffic-advice-nginx/</guid>
      <description>If you have been seeing 404s for /.well-known/traffic-advice in your access logs from the Chrome Privacy Preserving Prefetch Proxy bot, you&amp;rsquo;re not alone. It&amp;rsquo;s Google Chrome&amp;rsquo;s private prefetch proxy intended to decrease the Largest Contentful Paint (LCP) performance metric for faster perceived page loads.
There are a few guides (including the first answer on the Stack Overflow question I linked earlier) to have your web server respond correctly to these requests.</description>
    </item>
    
    <item>
      <title>Deploy to Cloudflare Pages with Gitlab CI</title>
      <link>https://techtitbits.com/posts/cloudflare-pages-with-gitlab-ci/</link>
      <pubDate>Wed, 06 Jul 2022 10:17:28 -0400</pubDate>
      
      <guid>https://techtitbits.com/posts/cloudflare-pages-with-gitlab-ci/</guid>
      <description>Cloudflare Pages is an amazing service to host your SSG and static HTML websites on edge locations and serve pages with low latency around the world. However the product is still new and isn&amp;rsquo;t as full-featured as I&amp;rsquo;d want it to be. One of the deficiencies is the lack of deployment options - only GitHub and GitLab.com hosted repositories are supported seamlessly - for anything else, we need to use Wrangler or directly upload a folder or a Zip file through the Cloudflare dashboard GUI.</description>
    </item>
    
    <item>
      <title>Hugo Subscript and Superscript Shortcodes</title>
      <link>https://techtitbits.com/posts/hugo-subscript-and-superscript-shortcodes/</link>
      <pubDate>Mon, 13 Jun 2022 19:49:08 -0400</pubDate>
      
      <guid>https://techtitbits.com/posts/hugo-subscript-and-superscript-shortcodes/</guid>
      <description>In its current avatar, there&amp;rsquo;s no way to get superscript or subscript text in your Hugo content without directly embedding &amp;lt;sup&amp;gt; or &amp;lt;sub&amp;gt; tags in your posts and setting unsafe: true in the Goldmark renderer settings in config.yaml. A cleaner alternative is to use shortcodes to embed these tags in the content. This keeps us from having to enable HTML tags in all posts, and we can have our Markdown content files looking mostly clean.</description>
    </item>
    
    <item>
      <title>Add a Canonical URL tag to your Hugo site</title>
      <link>https://techtitbits.com/posts/hugo-canonical-url/</link>
      <pubDate>Sat, 09 Apr 2022 17:31:38 -0400</pubDate>
      
      <guid>https://techtitbits.com/posts/hugo-canonical-url/</guid>
      <description>While working with a barebone Hugo theme, I noticed that it doesn&amp;rsquo;t have a canonical URL meta tag. I have a publicly accessible development site because of the inticracies of my deployment procedure, and it is quite important that it is not picked up and indexed by search engines. Canonical URLs become really important in this context.
Well, thankfully it was really easy to add. I needed to override the template file that defined the &amp;lt;head&amp;gt; section of our pages.</description>
    </item>
    
    <item>
      <title>Monitoring a process for high memory consumption using Monit</title>
      <link>https://techtitbits.com/2019/02/monitoring-a-process-for-high-memory-consumption-using-monit/</link>
      <pubDate>Tue, 26 Feb 2019 23:35:09 UTC</pubDate>
      
      <guid>https://techtitbits.com/2019/02/monitoring-a-process-for-high-memory-consumption-using-monit/</guid>
      <description>I run Pi-hole on an old PogoPlug E02 with a custom compiled dnsmasq (or pihole-FTL, as they now call their customised version of it). Lately I have been noticing my DNS queries becoming slow erratically, and upon further investigation it looked like pihole-FTL has a memory balloon, and it consumes all of the 256 MBs of memory available and starts swapping, bringing everything to an almost standstill.
In comes Monit, a highly configurable process supervisor.</description>
    </item>
    
    <item>
      <title>Using parted’s resizepart non-interactively on a busy partition</title>
      <link>https://techtitbits.com/2018/12/using-parteds-resizepart-non-interactively-on-a-busy-partition/</link>
      <pubDate>Tue, 18 Dec 2018 23:25:32 UTC</pubDate>
      
      <guid>https://techtitbits.com/2018/12/using-parteds-resizepart-non-interactively-on-a-busy-partition/</guid>
      <description>I had a situation where I needed to spin up a virtual machine from a template, and if the new virtual machine’s disk was larger, I needed to resize the partition and then ‘grow’ the filesystem. Well, as with any thing, that you need to do for more than once, I tried to script it using Ansible and incorporate it into our existing VM provisioning scripts. First step was to figure out command we need to run.</description>
    </item>
    
    <item>
      <title>Saving state information between GitLab CI runs</title>
      <link>https://techtitbits.com/2018/12/saving-state-information-between-gitlab-ci-runs/</link>
      <pubDate>Tue, 18 Dec 2018 22:09:39 UTC</pubDate>
      
      <guid>https://techtitbits.com/2018/12/saving-state-information-between-gitlab-ci-runs/</guid>
      <description>I had a unique scenario where I had to find out if certain files (in a specific directory) changed in between GitLab CI job runs. One of my original ideas was to run jobs on changes to certain files using only:changes (link). This had two problems – first of all, this would run on every commit regardless of which files were changed/added (even with only:changes, the job would be initiated, but would not run any tasks), and that’s a waste of resources.</description>
    </item>
    
    <item>
      <title>Resolving “‘unknown’: unknown terminal type.” error</title>
      <link>https://techtitbits.com/2010/10/resolving-unknown-unknown-terminal-type-error/</link>
      <pubDate>Tue, 12 Oct 2010 04:01:22 UTC</pubDate>
      
      <guid>https://techtitbits.com/2010/10/resolving-unknown-unknown-terminal-type-error/</guid>
      <description>Last day, after updating the repositories and installing the updated packages on my Debian Lenny, I found that I could no longer run top or use nano or vi to open a file. It threw up this nasty error:
&amp;#39;unknown&amp;#39;: unknown terminal type. After a bit of sleuthing, I came to the conclusion that my default console terminal type was defined as ‘unknown’, which, obviously, isn’t correct. To display your default terminal type, use this :</description>
    </item>
    
    <item>
      <title>WordPress permalinks in nginx</title>
      <link>https://techtitbits.com/2010/08/wordpress-permalinks-in-nginx/</link>
      <pubDate>Sun, 22 Aug 2010 06:53:59 UTC</pubDate>
      
      <guid>https://techtitbits.com/2010/08/wordpress-permalinks-in-nginx/</guid>
      <description>WordPress generally works out-of-the box on nginx. The posts load fine, the functions in the dashboard work pretty well, until you come to the permalinks. If you are on Apache, with mod_rewrite, WordPress will automatically add the required rewrite rules to your .htaccess file for permalinks to work. But for nginx, you have to add the rules manually.
Moreover, when WordPress detects that mod_rewrite is not loaded (which is the case with nginx), it falls back to using PATHINFOpermalinks, which inserts an extra ‘index.</description>
    </item>
    
    <item>
      <title>IPv6 support in nginx</title>
      <link>https://techtitbits.com/2010/08/ipv6-support-in-nginx/</link>
      <pubDate>Wed, 18 Aug 2010 07:59:53 UTC</pubDate>
      
      <guid>https://techtitbits.com/2010/08/ipv6-support-in-nginx/</guid>
      <description>To enable IPv6 support in nginx, we need to check whether it has been compiled with --with-ipv6 flag. To check, fire up the terminal and type in this command :
[code language=”bash”]nginx -V[/code]
The results should be something like this :
[code language=”bash”]nginx version: nginx/0.7.65
TLS SNI support enabled
configure arguments: –conf-path=/etc/nginx/nginx.conf –error-log-path=/var/log/nginx/error.log –pid-path=/var/run/nginx.pid –lock-path=/var/lock/nginx.lock –http-log-path=/var/log/nginx/access.log –http-client-body-temp-path=/var/lib/nginx/body –http-proxy-temp-path=/var/lib/nginx/proxy –http-fastcgi-temp-path=/var/lib/nginx/fastcgi –with-debug –with-http_stub_status_module –with-http_flv_module –with-http_ssl_module –with-http_dav_module –with-http_gzip_static_module –with-http_realip_module –with-mail –with-mail_ssl_module –with-ipv6 –add-module=/build/buildd/nginx-0.7.65/modules/nginx-upstream-fair[/code]</description>
    </item>
    
    <item>
      <title>Nginx reduces page load time, increases Googlebot activity</title>
      <link>https://techtitbits.com/2010/08/nginx-reduces-page-load-time-increases-googlebot-activity/</link>
      <pubDate>Thu, 12 Aug 2010 18:02:21 UTC</pubDate>
      
      <guid>https://techtitbits.com/2010/08/nginx-reduces-page-load-time-increases-googlebot-activity/</guid>
      <description>After a small incident with a shared host, I moved my phpBB forum and a few other static sites to a VPS running on nginx. Nginxis a small, lightweight but very efficient web server created by Igor Sysoev, originally developed for www.rambler.ru, Russia’s second-largest web site. Due to it’s light-weightedness and efficiency, it is used by a lot of high traffic sites like WordPress, Hulu, Github, Ohloh, SourceForge, TorrentReactor, etc. After moving to Nginx, I noticed a significant improvement in page load times.</description>
    </item>
    
  </channel>
</rss>

