<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Web Development on Chrizzle23.net</title><link>https://chrizzle23.net/tags/web-development/</link><description>Recent content in Web Development on Chrizzle23.net</description><generator>Hugo</generator><language>en</language><copyright>Chrizzle23.net and all blog posts © 2026 by Chris Anderson is licensed under CC BY-NC-SA 4.0</copyright><lastBuildDate>Fri, 11 Sep 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://chrizzle23.net/tags/web-development/index.xml" rel="self" type="application/rss+xml"/><item><title>Setting up my writing environment</title><link>https://chrizzle23.net/posts/260911-workstation-setup/</link><pubDate>Fri, 11 Sep 2026 00:00:00 +0000</pubDate><guid>https://chrizzle23.net/posts/260911-workstation-setup/</guid><description>&lt;h1 id="setting-up-my-writing-environment">Setting up my writing environment&lt;/h1>
&lt;p>A major project that I took on over the summer was fixing my rather flat home network to include separate VLANs for me, the family, the various smart devices around the house, the DMZ, and my server network. During that project I thought, &amp;ldquo;how can I make this harder on myself?&amp;rdquo;&lt;/p>
&lt;p>I am not a particularly smart individual, so I like to keep things simple, so I assign a class C subnet to each VLAN, and I use numbers that I can easily remember:&lt;/p></description></item><item><title>Git Hooks pt2</title><link>https://chrizzle23.net/posts/250611-shell-script-from-hell-2/</link><pubDate>Wed, 11 Jun 2025 00:00:00 +0000</pubDate><guid>https://chrizzle23.net/posts/250611-shell-script-from-hell-2/</guid><description>&lt;h1 id="the-meat-grinder">The Meat Grinder&lt;/h1>
&lt;p>Git makes it possible for me to only have to worry about my MarkDown files. Or, someday I will only have to worry about MarkDown files. &lt;em>But it is not this day&lt;/em>.&lt;/p>
&lt;p>Hugo templates are fussy tools. They&amp;rsquo;re awesome when I can get them work, but getting to that point is maddening. And Git might as well be black magic for how well I understand it. Once I push my MD files up to the remote repo, the git hook calls &amp;lsquo;stage.sh&amp;rsquo; and &lt;em>IT&amp;rsquo;S SAUSAGIN TIME!&lt;/em>. The following is my cobbled together shell script to eat MD and vomit up websites. I should probably use python or something, but I am too jacked up on Mountain Dew to take on &lt;em>another growth opportunity&lt;/em>.&lt;/p></description></item><item><title>Git Hooks pt3</title><link>https://chrizzle23.net/posts/250611-shell-script-from-hell-3/</link><pubDate>Wed, 11 Jun 2025 00:00:00 +0000</pubDate><guid>https://chrizzle23.net/posts/250611-shell-script-from-hell-3/</guid><description>&lt;h1 id="actual-deployment">Actual Deployment&lt;/h1>
&lt;p>This whole &amp;ldquo;development pipeline&amp;rdquo; is a massive clunk. A collection of clunks, working together. &lt;em>Clunkware&lt;/em>. I haven&amp;rsquo;t attached this deployment script to a git hook. I want a chance to look at the staging site before I push it to production. &amp;ldquo;Production&amp;rdquo; for me is when the files are updated on The VPS. Pushing a non-working site to production is, as the Irish would say, &lt;em>not the best&lt;/em>. So I run the deployment script manually, which I will detail at the end of the post.&lt;/p></description></item><item><title>The Shell Script From Hell</title><link>https://chrizzle23.net/posts/250611-shell-script-from-hell-1/</link><pubDate>Wed, 11 Jun 2025 00:00:00 +0000</pubDate><guid>https://chrizzle23.net/posts/250611-shell-script-from-hell-1/</guid><description>&lt;h1 id="its-taken-me-60-hours-to-save-2-minutes-of-typing">IT&amp;rsquo;S TAKEN ME 60 HOURS TO SAVE 2 MINUTES OF TYPING&lt;/h1>
&lt;p>&lt;a href="https://git-scm.com/docs/githooks">Git hooks&lt;/a> are scripts of some kind that run when you do something in Git. Real developers (not me) use them to kick off a bunch of crap like QA tests, validation tools, sending messages to people, pretty much anything you can imagine. They do all kinds of things, but I am going to do the thing that I always do and barely scratch the surface of its potential. AND I am using it to run Bash scripts. If you are a proper dev, or DevOps type, this is your opportunity to look away.&lt;/p></description></item><item><title>Gitting back to Git</title><link>https://chrizzle23.net/posts/250610-git-stuff/</link><pubDate>Tue, 10 Jun 2025 00:00:00 +0000</pubDate><guid>https://chrizzle23.net/posts/250610-git-stuff/</guid><description>&lt;h1 id="git-for-windows-is-trash">Git for Windows is Trash&lt;/h1>
&lt;p>As you may recall, I find that having a dedicated writing environment is more productive. Getting this blog launched is a serious undertaking because I am building self-hosted infrastructure, while attempting to write about the self-hosed infrastructure, using the self-hosted infrastructure. It&amp;rsquo;s like writing about building a house from bricks while sitting in a house made of sticks that is actively falling down.&lt;/p>
&lt;p>Why is the house falling down? Well, my idea of running a home lab works like this: hack, crash, patch, repeat. Most of the time I am half-way down the rabbit hole before I realize that I took a wrong turn at Albuquerque.&lt;/p></description></item><item><title>Blogging Workflow</title><link>https://chrizzle23.net/posts/241303-blogflow/</link><pubDate>Tue, 03 Dec 2024 18:21:08 -0400</pubDate><guid>https://chrizzle23.net/posts/241303-blogflow/</guid><description>&lt;h1 id="writing-is-hard">Writing is hard&lt;/h1>
&lt;p>The whole reason that I write a blog is to cope with depression. I do little tech things, and then write about those tech things, and it serves a few purposes.&lt;/p>
&lt;ol>
&lt;li>
&lt;p>It&amp;rsquo;s a kind of journal, only instead of my feelings, I document the things I have learned. A big source of my depression is feeling like I don&amp;rsquo;t accomplish much. A lot of things in my life haven&amp;rsquo;t turned out the way that I wanted them to, and having a digital record of my accomplishments, even the small ones, helps me to look back and see that I am actually doing things.&lt;/p></description></item><item><title>Hugo Themes Part 4</title><link>https://chrizzle23.net/posts/240917-hugo4/</link><pubDate>Tue, 17 Sep 2024 18:47:19 -0400</pubDate><guid>https://chrizzle23.net/posts/240917-hugo4/</guid><description>&lt;h1 id="just-like-the-last-post-here-is-the-tldr">Just like the last post, here is the TL;DR&lt;/h1>
&lt;ol>
&lt;li>Without git, you should use 7zip or tar to make backups of your working site on your workstation.&lt;/li>
&lt;li>There is a very specific order you should use to create new content.&lt;/li>
&lt;li>Some of this mystery behavior is me not understanding what I am doing when creating &amp;ldquo;new&amp;rdquo; posts that are actually old.&lt;/li>
&lt;li>IDK why, but I get better results with the Hugo test server by using the &amp;ndash;disableFastRender flag.&lt;/li>
&lt;/ol>
&lt;h1 id="when-we-last-saw-our-heroes">When we last saw our heroes&amp;hellip;&lt;/h1>
&lt;p>I had decided to remove git from my workflow. It has &lt;em>definitely&lt;/em> solved the disappearing template problem. Of course, if I need to regenerate my work directory for the site, I am out of luck. So I have taken to making compressed snapshots of the directory in case I have to delete the directory and start from my last checkpoint.&lt;/p></description></item><item><title>Hugo Themes Part 3</title><link>https://chrizzle23.net/posts/240911-hugo3/</link><pubDate>Wed, 11 Sep 2024 16:13:15 -0400</pubDate><guid>https://chrizzle23.net/posts/240911-hugo3/</guid><description>&lt;h1 id="just-like-the-last-post-here-is-the-tldr">Just like the last post, here is the TL;DR&lt;/h1>
&lt;ol>
&lt;li>Using git to store your entire Hugo file structure is probably a bad idea.&lt;/li>
&lt;li>Using git as cloud storage for markup files is probably also a bad idea, so I&amp;rsquo;m going to stop doing that too.&lt;/li>
&lt;li>Dude, you gotta run the hugo command all by itself &lt;em>before&lt;/em> you copy files up to the webserver.&lt;/li>
&lt;/ol>
&lt;h1 id="when-we-last-saw-our-heroes">When we last saw our heroes&amp;hellip;&lt;/h1>
&lt;p>I was complaining about the theme files randomly disappearing. I think it comes down to git doing what it&amp;rsquo;s told to do, and me simply not understanding what I am telling it to do. That&amp;rsquo;s really the only thing that I know about computers: they do what they are told to do, not what they&amp;rsquo;re supposed to do, not what you want them to do. If a computer isn&amp;rsquo;t doing what you want, you should probably take a close look at what you are telling it to do.&lt;/p></description></item><item><title>Hugo Themes Part 2</title><link>https://chrizzle23.net/posts/240909-hugo2/</link><pubDate>Mon, 09 Sep 2024 15:44:21 -0400</pubDate><guid>https://chrizzle23.net/posts/240909-hugo2/</guid><description>&lt;h1 id="just-like-the-last-post-here-is-the-tldr">Just like the last post, here is the TL;DR&lt;/h1>
&lt;ol>
&lt;li>Git and Hugo are intertwined. So instead of working on your local copy of the site and updating that, I have had success with deleting the local branch and cloning it. This is a workflow issue with git, not necessarily a Hugo problem, but it&amp;rsquo;s been a source of inconsistency.&lt;/li>
&lt;li>Hugo can be a bit fiddly. I have had situations where the theme just vanishes. I think this is an issue of cloning the theme locally vs. adding the theme as a git sub module. Who fucking knows?&lt;/li>
&lt;li>Speaking of fiddly, I have been adding markdown files with the &amp;ldquo;Hugo new content posts/newpost.md&amp;rdquo; command &lt;em>one at a time&lt;/em>.&lt;/li>
&lt;li>Deploying the updated site is an issue I have yet to tackle. Once I am comfortable with the development process, THEN I will take on automated staging and deployment. For now, I just copy the &amp;ldquo;Public&amp;rdquo; directory up to my webserver with SCP.&lt;/li>
&lt;/ol>
&lt;h1 id="when-we-last-saw-our-heroes">When we last saw our heroes&amp;hellip;&lt;/h1>
&lt;p>I was complaining about consistency. I read somewhere a long time ago that when testing new video games, the game behaving unpredictibly was more stressful than losing the game. That has been my issue with Fallout 4, and it&amp;rsquo;s my issue with Hugo.&lt;/p></description></item><item><title>Hugo Themes Part 1</title><link>https://chrizzle23.net/posts/240905-hugo-themes/</link><pubDate>Thu, 05 Sep 2024 09:49:45 -0400</pubDate><guid>https://chrizzle23.net/posts/240905-hugo-themes/</guid><description>&lt;h1 id="if-you-are-experiencing-frustration-with-hugo-templates-heres-what-i-know-so-far">If you are experiencing frustration with Hugo templates, here&amp;rsquo;s what I know so far&lt;/h1>
&lt;p>Unlike a recipe blog that tells you a long story about studying abroad in Europe before giving you the recipe, here is the TL;DR up front:&lt;/p>
&lt;ol>
&lt;li>Running the Hugo test server doesn&amp;rsquo;t actually do anything. Yes, it runs a test server and serves pages on your workstation. But it doesn&amp;rsquo;t actually make the site. Once the test site looks good, terminate the server and run the Hugo command with no options. &lt;em>Then&lt;/em> deploy the public folder.&lt;/li>
&lt;li>Hugo doesn&amp;rsquo;t like when you add multiple MarkDown files to the site. Work on one at a time. Also, keep a backup copy of your content files outside of your main branch in git. I have broken things so badly that it&amp;rsquo;s easier to just start over from scratch with a new git repo.&lt;/li>
&lt;/ol>
&lt;p>If you are interested in the tale of this quest for this knowledge, please read on:&lt;/p></description></item></channel></rss>