deploy: c9bd65f2b9
22
about/index.html
Normal file
BIN
android-chrome-192x192.png
Normal file
After Width: | Height: | Size: 3.8 KiB |
BIN
android-chrome-512x512.png
Normal file
After Width: | Height: | Size: 9.6 KiB |
BIN
apple-touch-icon.png
Normal file
After Width: | Height: | Size: 3.6 KiB |
72
blog/2020/03/16/appgate-sdp-on-arch-linux/index.html
Normal file
19
blog/2021/09/06/what-to-do-with-a-homelab/index.html
Normal file
BIN
blog/2021/09/06/what-to-do-with-a-homelab/netdata.png
Normal file
After Width: | Height: | Size: 69 KiB |
BIN
blog/2021/09/06/what-to-do-with-a-homelab/proxmox.png
Normal file
After Width: | Height: | Size: 157 KiB |
BIN
blog/2021/09/06/what-to-do-with-a-homelab/uptime-kuma.png
Normal file
After Width: | Height: | Size: 117 KiB |
123
blog/2021/09/08/why-i-threw-out-my-dotfiles/index.html
Normal file
57
blog/2021/11/14/running-k3s-in-lxc-on-proxmox/index.html
Normal file
16
blog/2022/03/13/backing-up-gmail-with-synology/index.html
Normal file
After Width: | Height: | Size: 30 KiB |
After Width: | Height: | Size: 52 KiB |
After Width: | Height: | Size: 33 KiB |
After Width: | Height: | Size: 42 KiB |
After Width: | Height: | Size: 36 KiB |
After Width: | Height: | Size: 36 KiB |
After Width: | Height: | Size: 90 KiB |
BIN
blog/2022/12/10/watching-youtube-in-private/computerphile.png
Normal file
After Width: | Height: | Size: 935 KiB |
55
blog/2022/12/10/watching-youtube-in-private/index.html
Normal file
BIN
blog/2022/12/10/watching-youtube-in-private/requestly-rules.png
Normal file
After Width: | Height: | Size: 86 KiB |
After Width: | Height: | Size: 72 KiB |
After Width: | Height: | Size: 45 KiB |
9
browserconfig.xml
Normal file
@@ -0,0 +1,9 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<browserconfig>
|
||||
<msapplication>
|
||||
<tile>
|
||||
<square150x150logo src="/mstile-150x150.png"/>
|
||||
<TileColor>#282828</TileColor>
|
||||
</tile>
|
||||
</msapplication>
|
||||
</browserconfig>
|
14
categories/index.html
Normal file
1
categories/index.xml
Normal file
@@ -0,0 +1 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Categories on davegallant.ca</title><link>/categories/</link><description>Recent content in Categories on davegallant.ca</description><generator>Hugo -- gohugo.io</generator><language>en</language><copyright>Dave Gallant</copyright><atom:link href="/categories/index.xml" rel="self" type="application/rss+xml"/></channel></rss>
|
2
categories/page/1/index.html
Normal file
@@ -0,0 +1,2 @@
|
||||
<!doctype html><html lang=en><head><title>/categories/</title>
|
||||
<link rel=canonical href=/categories/><meta name=robots content="noindex"><meta charset=utf-8><meta http-equiv=refresh content="0; url=/categories/"></head></html>
|
0
css/.gitkeep
Normal file
@@ -0,0 +1,5 @@
|
||||
/*! purgecss start ignore */div.code-toolbar{position:relative}div.code-toolbar>.toolbar{opacity:0;position:absolute;right:.2em;top:.3em;transition:opacity .3s ease-in-out;z-index:10}div.code-toolbar:hover>.toolbar{opacity:1}div.code-toolbar:focus-within>.toolbar{opacity:1}div.code-toolbar>.toolbar>.toolbar-item{display:inline-block}div.code-toolbar>.toolbar>.toolbar-item>a{cursor:pointer}div.code-toolbar>.toolbar>.toolbar-item>button{background:none;border:0;color:inherit;font:inherit;line-height:normal;overflow:visible;padding:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}div.code-toolbar>.toolbar>.toolbar-item>a,div.code-toolbar>.toolbar>.toolbar-item>button,div.code-toolbar>.toolbar>.toolbar-item>span{background:#f5f2f0;background:hsla(0,0%,88%,.2);border-radius:.5em;box-shadow:0 2px 0 0 rgba(0,0,0,.2);color:#bbb;font-size:.8em;padding:0 .5em}div.code-toolbar>.toolbar>.toolbar-item>a:focus,div.code-toolbar>.toolbar>.toolbar-item>a:hover,div.code-toolbar>.toolbar>.toolbar-item>button:focus,div.code-toolbar>.toolbar>.toolbar-item>button:hover,div.code-toolbar>.toolbar>.toolbar-item>span:focus,div.code-toolbar>.toolbar>.toolbar-item>span:hover{color:inherit;-webkit-text-decoration:none;text-decoration:none}.command-line-prompt{border-right:1px solid #999;display:block;float:left;font-size:100%;letter-spacing:-1px;margin-right:1em;pointer-events:none;text-align:right;-webkit-user-select:none;-moz-user-select:none;user-select:none}.command-line-prompt>span:before{content:" ";display:block;opacity:.7;padding-right:.8em}.command-line-prompt>span[data-user]:before{content:"[" attr(data-user) "@" attr(data-host) "] $"}.command-line-prompt>span[data-user=root]:before{content:"[" attr(data-user) "@" attr(data-host) "] #"}.command-line-prompt>span[data-prompt]:before{content:attr(data-prompt)}.command-line-prompt>span[data-continuation-prompt]:before{content:attr(data-continuation-prompt)}.command-line span.token.output{opacity:.7}
|
||||
|
||||
/*! purgecss end ignore */
|
||||
|
||||
/*! MIT License | github.com/schnerring/hugo-theme-gruvbox */code,code[class*=language-],footer,kbd,pre[class*=language-]{font-family:var(--font-monospace)}footer{align-items:center;color:var(--fg3);display:flex;font-size:.8rem;justify-content:center;padding-bottom:.5rem;padding-top:2rem;text-align:center}.pagination{display:flex;margin-top:2rem}.pagination__button{color:var(--primary-alt);font-family:var(--font-monospace);font-size:1.125rem}.pagination__button:hover{color:var(--primary)}.pagination__button--next{margin-left:auto}
|
14
de/404.html
Normal file
14
de/categories/index.html
Normal file
1
de/categories/index.xml
Normal file
@@ -0,0 +1 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Categories on davegallant.ca</title><link>/de/categories/</link><description>Recent content in Categories on davegallant.ca</description><generator>Hugo -- gohugo.io</generator><language>de</language><copyright>Dave Gallant</copyright><atom:link href="/de/categories/index.xml" rel="self" type="application/rss+xml"/></channel></rss>
|
2
de/categories/page/1/index.html
Normal file
@@ -0,0 +1,2 @@
|
||||
<!doctype html><html lang=de><head><title>/de/categories/</title>
|
||||
<link rel=canonical href=/de/categories/><meta name=robots content="noindex"><meta charset=utf-8><meta http-equiv=refresh content="0; url=/de/categories/"></head></html>
|
14
de/index.html
Normal file
1
de/index.xml
Normal file
@@ -0,0 +1 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>davegallant.ca</title><link>/de/</link><description>Recent content on davegallant.ca</description><generator>Hugo -- gohugo.io</generator><language>de</language><copyright>Dave Gallant</copyright><atom:link href="/de/index.xml" rel="self" type="application/rss+xml"/></channel></rss>
|
2
de/page/1/index.html
Normal file
@@ -0,0 +1,2 @@
|
||||
<!doctype html><html lang=de><head><title>/de/</title>
|
||||
<link rel=canonical href=/de/><meta name=robots content="noindex"><meta charset=utf-8><meta http-equiv=refresh content="0; url=/de/"></head></html>
|
1
de/sitemap.xml
Normal file
@@ -0,0 +1 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="yes"?><urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:xhtml="http://www.w3.org/1999/xhtml"><url><loc>/de/categories/</loc><xhtml:link rel="alternate" hreflang="en" href="/categories/"/><xhtml:link rel="alternate" hreflang="de" href="/de/categories/"/></url><url><loc>/de/</loc><xhtml:link rel="alternate" hreflang="en" href="/"/><xhtml:link rel="alternate" hreflang="de" href="/de/"/></url><url><loc>/de/tags/</loc><xhtml:link rel="alternate" hreflang="en" href="/tags/"/><xhtml:link rel="alternate" hreflang="de" href="/de/tags/"/></url></urlset>
|
14
de/tags/index.html
Normal file
1
de/tags/index.xml
Normal file
@@ -0,0 +1 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Tags on davegallant.ca</title><link>/de/tags/</link><description>Recent content in Tags on davegallant.ca</description><generator>Hugo -- gohugo.io</generator><language>de</language><copyright>Dave Gallant</copyright><atom:link href="/de/tags/index.xml" rel="self" type="application/rss+xml"/></channel></rss>
|
2
de/tags/page/1/index.html
Normal file
@@ -0,0 +1,2 @@
|
||||
<!doctype html><html lang=de><head><title>/de/tags/</title>
|
||||
<link rel=canonical href=/de/tags/><meta name=robots content="noindex"><meta charset=utf-8><meta http-equiv=refresh content="0; url=/de/tags/"></head></html>
|
2
en/index.html
Normal file
@@ -0,0 +1,2 @@
|
||||
<!doctype html><html lang=en><head><title>/</title>
|
||||
<link rel=canonical href=/><meta name=robots content="noindex"><meta charset=utf-8><meta http-equiv=refresh content="0; url=/"></head></html>
|
1
en/sitemap.xml
Normal file
BIN
favicon-16x16.png
Normal file
After Width: | Height: | Size: 824 B |
BIN
favicon-32x32.png
Normal file
After Width: | Height: | Size: 1.1 KiB |
BIN
favicon.ico
Normal file
After Width: | Height: | Size: 15 KiB |
BIN
fonts/fira-code-latin-300.woff
Normal file
BIN
fonts/fira-code-latin-300.woff2
Normal file
BIN
fonts/fira-code-latin-400.woff
Normal file
BIN
fonts/fira-code-latin-400.woff2
Normal file
BIN
fonts/fira-code-latin-500.woff
Normal file
BIN
fonts/fira-code-latin-500.woff2
Normal file
BIN
fonts/fira-code-latin-600.woff
Normal file
BIN
fonts/fira-code-latin-600.woff2
Normal file
BIN
fonts/fira-code-latin-700.woff
Normal file
BIN
fonts/fira-code-latin-700.woff2
Normal file
BIN
fonts/roboto-slab-latin-100.woff
Normal file
BIN
fonts/roboto-slab-latin-100.woff2
Normal file
BIN
fonts/roboto-slab-latin-200.woff
Normal file
BIN
fonts/roboto-slab-latin-200.woff2
Normal file
BIN
fonts/roboto-slab-latin-300.woff
Normal file
BIN
fonts/roboto-slab-latin-300.woff2
Normal file
BIN
fonts/roboto-slab-latin-400.woff
Normal file
BIN
fonts/roboto-slab-latin-400.woff2
Normal file
BIN
fonts/roboto-slab-latin-500.woff
Normal file
BIN
fonts/roboto-slab-latin-500.woff2
Normal file
BIN
fonts/roboto-slab-latin-600.woff
Normal file
BIN
fonts/roboto-slab-latin-600.woff2
Normal file
BIN
fonts/roboto-slab-latin-700.woff
Normal file
BIN
fonts/roboto-slab-latin-700.woff2
Normal file
BIN
fonts/roboto-slab-latin-800.woff
Normal file
BIN
fonts/roboto-slab-latin-800.woff2
Normal file
BIN
fonts/roboto-slab-latin-900.woff
Normal file
BIN
fonts/roboto-slab-latin-900.woff2
Normal file
15
index.html
Normal file
52
index.xml
Normal file
@@ -0,0 +1,52 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Welcome on davegallant.ca</title><link>/</link><description>Recent content in Welcome on davegallant.ca</description><generator>Hugo -- gohugo.io</generator><language>en</language><copyright>Dave Gallant</copyright><atom:link href="/index.xml" rel="self" type="application/rss+xml"/><item><title>Setting up Gitea Actions with Tailscale</title><link>/blog/2023/12/10/setting-up-gitea-actions-with-tailscale/</link><pubDate>Sun, 10 Dec 2023 17:22:11 -0500</pubDate><guid>/blog/2023/12/10/setting-up-gitea-actions-with-tailscale/</guid><description><p>In this post I&rsquo;ll go through the process of setting up Gitea Actions and <a
|
||||
href="https://tailscale.com/"
|
||||
|
||||
|
||||
class="link--external" target="_blank" rel="noreferrer"
|
||||
|
||||
>Tailscale</a>, unlocking a simple and secure way to automate workflows.</p></description></item><item><title>Using AKS and SOCKS to connect to a private Azure DB</title><link>/blog/2023/05/22/using-aks-and-socks-to-connect-to-a-private-azure-db/</link><pubDate>Mon, 22 May 2023 16:31:29 -0400</pubDate><guid>/blog/2023/05/22/using-aks-and-socks-to-connect-to-a-private-azure-db/</guid><description><p>I ran into a roadblock recently where I wanted to be able to conveniently connect to a managed postgres database within Azure that was not running on public subnets. And by conveniently, I mean that I&rsquo;d rather not have to spin up an ephemeral virtual machine running in the same network and proxy the connection, and I&rsquo;d like to use a local client (preferably with a GUI). After several web searches, it became evident that Azure does not readily provide much tooling to support this.</p></description></item><item><title>Watching YouTube in private</title><link>/blog/2022/12/10/watching-youtube-in-private/</link><pubDate>Sat, 10 Dec 2022 21:46:55 -0500</pubDate><guid>/blog/2022/12/10/watching-youtube-in-private/</guid><description><p>I recently stumbled upon <a
|
||||
href="https://yewtu.be"
|
||||
|
||||
|
||||
class="link--external" target="_blank" rel="noreferrer"
|
||||
|
||||
>yewtu.be</a> and found it intriguing. It not only allows you to watch YouTube without <em>being on YouTube</em>, but it also allows you to create an account and subscribe to channels without a Google account. What sort of wizardry is going on under the hood? It turns out that it&rsquo;s a hosted instance of <a
|
||||
href="https://invidious.io/"
|
||||
|
||||
|
||||
class="link--external" target="_blank" rel="noreferrer"
|
||||
|
||||
>invidious</a>.</p></description></item><item><title>Virtualizing my router with pfSense</title><link>/blog/2022/04/02/virtualizing-my-router-with-pfsense/</link><pubDate>Sat, 02 Apr 2022 18:50:09 -0400</pubDate><guid>/blog/2022/04/02/virtualizing-my-router-with-pfsense/</guid><description><p>My aging router has been running <a
|
||||
href="https://en.wikipedia.org/wiki/OpenWrt"
|
||||
|
||||
|
||||
class="link--external" target="_blank" rel="noreferrer"
|
||||
|
||||
>OpenWrt</a> for years and for the most part has been quite reliable. OpenWrt is an open-source project used on embedded devices to route network traffic. It supports many different configurations and there exists a <a
|
||||
href="https://openwrt.org/packages/index/start"
|
||||
|
||||
|
||||
class="link--external" target="_blank" rel="noreferrer"
|
||||
|
||||
>large index of packages</a>. Ever since I&rsquo;ve connected some standalone wireless access points, I&rsquo;ve had less of a need for an off-the-shelf all-in-one wireless router combo. I&rsquo;ve also recently been experiencing instability with my router (likely the result of a combination of configuration tweaking and firmware updating). OpenWrt has served me well, but it is time to move on!</p></description></item><item><title>Backing up gmail with Synology</title><link>/blog/2022/03/13/backing-up-gmail-with-synology/</link><pubDate>Sun, 13 Mar 2022 18:49:10 -0400</pubDate><guid>/blog/2022/03/13/backing-up-gmail-with-synology/</guid><description><p>I&rsquo;ve used gmail since the beta launched touting a whopping 1GB of storage. I thought this was a massive leap in email technology at the time. I was lucky enough to get an invite fairly quickly. Not suprisingly, I have many years of emails, attachments, and photos. I certainly do not want to lose the content of many of these emails. Despite the redundancy of the data that Google secures, I still feel better retaining a copy of this data on my own physical machines.</p></description></item><item><title>Running K3s in LXC on Proxmox</title><link>/blog/2021/11/14/running-k3s-in-lxc-on-proxmox/</link><pubDate>Sun, 14 Nov 2021 10:07:03 -0500</pubDate><guid>/blog/2021/11/14/running-k3s-in-lxc-on-proxmox/</guid><description>It has been a while since I&rsquo;ve actively used Kubernetes and wanted to explore the evolution of tools such as Helm and Tekton. I decided to deploy K3s, since I&rsquo;ve had success with deploying it on resource-contrained Raspberry Pis in the past. I thought that this time it&rsquo;d be convenient to have K3s running in a LXC container on Proxmox. This would allow for easy snapshotting of the entire Kubernetes deployment.</description></item><item><title>Replacing docker with podman on macOS (and Linux)</title><link>/blog/2021/10/11/replacing-docker-with-podman-on-macos-and-linux/</link><pubDate>Mon, 11 Oct 2021 10:43:35 -0400</pubDate><guid>/blog/2021/10/11/replacing-docker-with-podman-on-macos-and-linux/</guid><description><p>There are a number of reasons why you might want to replace docker, especially on macOS. The following feature bundled in Docker Desktop might have motivated you enough to consider replacing docker:</p></description></item><item><title>Automatically rotating AWS access keys</title><link>/blog/2021/09/17/automatically-rotating-aws-access-keys/</link><pubDate>Fri, 17 Sep 2021 12:48:33 -0400</pubDate><guid>/blog/2021/09/17/automatically-rotating-aws-access-keys/</guid><description>Rotating credentials is a security best practice. This morning, I read a question about automatically rotating AWS Access Keys without having to go through the hassle of navigating the AWS console. There are some existing solutions already, but I decided to write a script since it was incredibly simple. The script could be packed up as a systemd/launchd service to continually rotate access keys in the background.
|
||||
In the longer term, migrating my local workflows to aws-vault seems like a more secure solution.</description></item><item><title>Why I threw out my dotfiles</title><link>/blog/2021/09/08/why-i-threw-out-my-dotfiles/</link><pubDate>Wed, 08 Sep 2021 00:42:33 -0400</pubDate><guid>/blog/2021/09/08/why-i-threw-out-my-dotfiles/</guid><description><p>Over the years I have collected a number of dotfiles that I have shared across both Linux and macOS machines (<code>~/.zshrc</code>, <code>~/.config/git/config</code>, <code>~/.config/tmux/tmux.conf</code>, etc). I have tried several different ways to manage them, including <a
|
||||
href="https://www.atlassian.com/git/tutorials/dotfiles"
|
||||
|
||||
|
||||
class="link--external" target="_blank" rel="noreferrer"
|
||||
|
||||
>bare git repos</a> and utilities such as <a
|
||||
href="https://www.gnu.org/software/stow/"
|
||||
|
||||
|
||||
class="link--external" target="_blank" rel="noreferrer"
|
||||
|
||||
>GNU Stow</a>. These solutions work well enough, but I have since found what I would consider a much better solution for organizing user configuration: <a
|
||||
href="https://github.com/nix-community/home-manager"
|
||||
|
||||
|
||||
class="link--external" target="_blank" rel="noreferrer"
|
||||
|
||||
>home-manager</a>.</p></description></item><item><title>What to do with a homelab</title><link>/blog/2021/09/06/what-to-do-with-a-homelab/</link><pubDate>Mon, 06 Sep 2021 01:12:54 -0400</pubDate><guid>/blog/2021/09/06/what-to-do-with-a-homelab/</guid><description><p>A homelab can be an inexpensive way to host a multitude of internal/external services and learn <em>a lot</em> in the process.</p></description></item><item><title>AppGate SDP on Arch Linux</title><link>/blog/2020/03/16/appgate-sdp-on-arch-linux/</link><pubDate>Mon, 16 Mar 2020 22:00:15 -0400</pubDate><guid>/blog/2020/03/16/appgate-sdp-on-arch-linux/</guid><description><p>AppGate SDP provides a Zero Trust network. This post describes how to get AppGate SDP <code>4.3.2</code> working on Arch Linux.</p></description></item><item><title>About</title><link>/about/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/about/</guid><description>👋 I&rsquo;m a software tinkerer with a passion for infra, security and self-hosting.
|
||||
My primary motivation for hosting this website is to document my learnings and share them with others. I hope you find something useful here. Continuous improvement is what motivates me to keep learning.
|
||||
I choose to self-host this site and other tools instead of relying exclusively on larger platforms because I believe in the open web. Interoperability is often not a primary concern for popular platforms today and I find that concerning.</description></item></channel></rss>
|
0
js/.gitkeep
Normal file
BIN
mstile-144x144.png
Normal file
After Width: | Height: | Size: 2.9 KiB |
BIN
mstile-150x150.png
Normal file
After Width: | Height: | Size: 2.8 KiB |
BIN
mstile-310x150.png
Normal file
After Width: | Height: | Size: 3.2 KiB |
BIN
mstile-310x310.png
Normal file
After Width: | Height: | Size: 6.0 KiB |
BIN
mstile-70x70.png
Normal file
After Width: | Height: | Size: 2.3 KiB |
2
page/1/index.html
Normal file
@@ -0,0 +1,2 @@
|
||||
<!doctype html><html lang=en><head><title>/</title>
|
||||
<link rel=canonical href=/><meta name=robots content="noindex"><meta charset=utf-8><meta http-equiv=refresh content="0; url=/"></head></html>
|
15
page/2/index.html
Normal file
15
post/index.html
Normal file
50
post/index.xml
Normal file
@@ -0,0 +1,50 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Posts on davegallant.ca</title><link>/post/</link><description>Recent content in Posts on davegallant.ca</description><generator>Hugo -- gohugo.io</generator><language>en</language><copyright>Dave Gallant</copyright><lastBuildDate>Sun, 10 Dec 2023 17:22:11 -0500</lastBuildDate><atom:link href="/post/index.xml" rel="self" type="application/rss+xml"/><item><title>Setting up Gitea Actions with Tailscale</title><link>/blog/2023/12/10/setting-up-gitea-actions-with-tailscale/</link><pubDate>Sun, 10 Dec 2023 17:22:11 -0500</pubDate><guid>/blog/2023/12/10/setting-up-gitea-actions-with-tailscale/</guid><description><p>In this post I&rsquo;ll go through the process of setting up Gitea Actions and <a
|
||||
href="https://tailscale.com/"
|
||||
|
||||
|
||||
class="link--external" target="_blank" rel="noreferrer"
|
||||
|
||||
>Tailscale</a>, unlocking a simple and secure way to automate workflows.</p></description></item><item><title>Using AKS and SOCKS to connect to a private Azure DB</title><link>/blog/2023/05/22/using-aks-and-socks-to-connect-to-a-private-azure-db/</link><pubDate>Mon, 22 May 2023 16:31:29 -0400</pubDate><guid>/blog/2023/05/22/using-aks-and-socks-to-connect-to-a-private-azure-db/</guid><description><p>I ran into a roadblock recently where I wanted to be able to conveniently connect to a managed postgres database within Azure that was not running on public subnets. And by conveniently, I mean that I&rsquo;d rather not have to spin up an ephemeral virtual machine running in the same network and proxy the connection, and I&rsquo;d like to use a local client (preferably with a GUI). After several web searches, it became evident that Azure does not readily provide much tooling to support this.</p></description></item><item><title>Watching YouTube in private</title><link>/blog/2022/12/10/watching-youtube-in-private/</link><pubDate>Sat, 10 Dec 2022 21:46:55 -0500</pubDate><guid>/blog/2022/12/10/watching-youtube-in-private/</guid><description><p>I recently stumbled upon <a
|
||||
href="https://yewtu.be"
|
||||
|
||||
|
||||
class="link--external" target="_blank" rel="noreferrer"
|
||||
|
||||
>yewtu.be</a> and found it intriguing. It not only allows you to watch YouTube without <em>being on YouTube</em>, but it also allows you to create an account and subscribe to channels without a Google account. What sort of wizardry is going on under the hood? It turns out that it&rsquo;s a hosted instance of <a
|
||||
href="https://invidious.io/"
|
||||
|
||||
|
||||
class="link--external" target="_blank" rel="noreferrer"
|
||||
|
||||
>invidious</a>.</p></description></item><item><title>Virtualizing my router with pfSense</title><link>/blog/2022/04/02/virtualizing-my-router-with-pfsense/</link><pubDate>Sat, 02 Apr 2022 18:50:09 -0400</pubDate><guid>/blog/2022/04/02/virtualizing-my-router-with-pfsense/</guid><description><p>My aging router has been running <a
|
||||
href="https://en.wikipedia.org/wiki/OpenWrt"
|
||||
|
||||
|
||||
class="link--external" target="_blank" rel="noreferrer"
|
||||
|
||||
>OpenWrt</a> for years and for the most part has been quite reliable. OpenWrt is an open-source project used on embedded devices to route network traffic. It supports many different configurations and there exists a <a
|
||||
href="https://openwrt.org/packages/index/start"
|
||||
|
||||
|
||||
class="link--external" target="_blank" rel="noreferrer"
|
||||
|
||||
>large index of packages</a>. Ever since I&rsquo;ve connected some standalone wireless access points, I&rsquo;ve had less of a need for an off-the-shelf all-in-one wireless router combo. I&rsquo;ve also recently been experiencing instability with my router (likely the result of a combination of configuration tweaking and firmware updating). OpenWrt has served me well, but it is time to move on!</p></description></item><item><title>Backing up gmail with Synology</title><link>/blog/2022/03/13/backing-up-gmail-with-synology/</link><pubDate>Sun, 13 Mar 2022 18:49:10 -0400</pubDate><guid>/blog/2022/03/13/backing-up-gmail-with-synology/</guid><description><p>I&rsquo;ve used gmail since the beta launched touting a whopping 1GB of storage. I thought this was a massive leap in email technology at the time. I was lucky enough to get an invite fairly quickly. Not suprisingly, I have many years of emails, attachments, and photos. I certainly do not want to lose the content of many of these emails. Despite the redundancy of the data that Google secures, I still feel better retaining a copy of this data on my own physical machines.</p></description></item><item><title>Running K3s in LXC on Proxmox</title><link>/blog/2021/11/14/running-k3s-in-lxc-on-proxmox/</link><pubDate>Sun, 14 Nov 2021 10:07:03 -0500</pubDate><guid>/blog/2021/11/14/running-k3s-in-lxc-on-proxmox/</guid><description>It has been a while since I&rsquo;ve actively used Kubernetes and wanted to explore the evolution of tools such as Helm and Tekton. I decided to deploy K3s, since I&rsquo;ve had success with deploying it on resource-contrained Raspberry Pis in the past. I thought that this time it&rsquo;d be convenient to have K3s running in a LXC container on Proxmox. This would allow for easy snapshotting of the entire Kubernetes deployment.</description></item><item><title>Replacing docker with podman on macOS (and Linux)</title><link>/blog/2021/10/11/replacing-docker-with-podman-on-macos-and-linux/</link><pubDate>Mon, 11 Oct 2021 10:43:35 -0400</pubDate><guid>/blog/2021/10/11/replacing-docker-with-podman-on-macos-and-linux/</guid><description><p>There are a number of reasons why you might want to replace docker, especially on macOS. The following feature bundled in Docker Desktop might have motivated you enough to consider replacing docker:</p></description></item><item><title>Automatically rotating AWS access keys</title><link>/blog/2021/09/17/automatically-rotating-aws-access-keys/</link><pubDate>Fri, 17 Sep 2021 12:48:33 -0400</pubDate><guid>/blog/2021/09/17/automatically-rotating-aws-access-keys/</guid><description>Rotating credentials is a security best practice. This morning, I read a question about automatically rotating AWS Access Keys without having to go through the hassle of navigating the AWS console. There are some existing solutions already, but I decided to write a script since it was incredibly simple. The script could be packed up as a systemd/launchd service to continually rotate access keys in the background.
|
||||
In the longer term, migrating my local workflows to aws-vault seems like a more secure solution.</description></item><item><title>Why I threw out my dotfiles</title><link>/blog/2021/09/08/why-i-threw-out-my-dotfiles/</link><pubDate>Wed, 08 Sep 2021 00:42:33 -0400</pubDate><guid>/blog/2021/09/08/why-i-threw-out-my-dotfiles/</guid><description><p>Over the years I have collected a number of dotfiles that I have shared across both Linux and macOS machines (<code>~/.zshrc</code>, <code>~/.config/git/config</code>, <code>~/.config/tmux/tmux.conf</code>, etc). I have tried several different ways to manage them, including <a
|
||||
href="https://www.atlassian.com/git/tutorials/dotfiles"
|
||||
|
||||
|
||||
class="link--external" target="_blank" rel="noreferrer"
|
||||
|
||||
>bare git repos</a> and utilities such as <a
|
||||
href="https://www.gnu.org/software/stow/"
|
||||
|
||||
|
||||
class="link--external" target="_blank" rel="noreferrer"
|
||||
|
||||
>GNU Stow</a>. These solutions work well enough, but I have since found what I would consider a much better solution for organizing user configuration: <a
|
||||
href="https://github.com/nix-community/home-manager"
|
||||
|
||||
|
||||
class="link--external" target="_blank" rel="noreferrer"
|
||||
|
||||
>home-manager</a>.</p></description></item><item><title>What to do with a homelab</title><link>/blog/2021/09/06/what-to-do-with-a-homelab/</link><pubDate>Mon, 06 Sep 2021 01:12:54 -0400</pubDate><guid>/blog/2021/09/06/what-to-do-with-a-homelab/</guid><description><p>A homelab can be an inexpensive way to host a multitude of internal/external services and learn <em>a lot</em> in the process.</p></description></item><item><title>AppGate SDP on Arch Linux</title><link>/blog/2020/03/16/appgate-sdp-on-arch-linux/</link><pubDate>Mon, 16 Mar 2020 22:00:15 -0400</pubDate><guid>/blog/2020/03/16/appgate-sdp-on-arch-linux/</guid><description><p>AppGate SDP provides a Zero Trust network. This post describes how to get AppGate SDP <code>4.3.2</code> working on Arch Linux.</p></description></item></channel></rss>
|
2
post/page/1/index.html
Normal file
@@ -0,0 +1,2 @@
|
||||
<!doctype html><html lang=en><head><title>/post/</title>
|
||||
<link rel=canonical href=/post/><meta name=robots content="noindex"><meta charset=utf-8><meta http-equiv=refresh content="0; url=/post/"></head></html>
|
15
post/page/2/index.html
Normal file
@@ -0,0 +1 @@
|
||||
code[class*=language-],pre[class*=language-]{color:#ebdbb2;font-family:Consolas,Monaco,andale mono,monospace;direction:ltr;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none}pre[class*=language-]::-moz-selection,pre[class*=language-] ::-moz-selection,code[class*=language-]::-moz-selection,code[class*=language-] ::-moz-selection{color:#fbf1c7;background:#7c6f64}pre[class*=language-]::selection,pre[class*=language-] ::selection,code[class*=language-]::selection,code[class*=language-] ::selection{color:#fbf1c7;background:#7c6f64}pre[class*=language-]{padding:1em;margin:.5em 0;overflow:auto}:not(pre)>code[class*=language-],pre[class*=language-]{background:#1d2021}:not(pre)>code[class*=language-]{padding:.1em;border-radius:.3em}.token.comment,.token.prolog,.token.cdata{color:#a89984}.token.delimiter,.token.boolean,.token.keyword,.token.selector,.token.important,.token.atrule{color:#fb4934}.token.operator,.token.punctuation,.token.attr-name{color:#a89984}.token.tag,.token.tag .punctuation,.token.doctype,.token.builtin{color:#fabd2f}.token.entity,.token.number,.token.symbol{color:#d3869b}.token.property,.token.constant,.token.variable{color:#fb4934}.token.string,.token.char{color:#b8bb26}.token.attr-value,.token.attr-value .punctuation{color:#a89984}.token.url{color:#b8bb26;text-decoration:underline}.token.function{color:#fabd2f}.token.regex{background:#b8bb26}.token.bold{font-weight:700}.token.italic{font-style:italic}.token.inserted{background:#a89984}.token.deleted{background:#fb4934}
|
@@ -0,0 +1 @@
|
||||
code[class*=language-],pre[class*=language-]{color:#3c3836;font-family:Consolas,Monaco,andale mono,monospace;direction:ltr;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none}pre[class*=language-]::-moz-selection,pre[class*=language-] ::-moz-selection,code[class*=language-]::-moz-selection,code[class*=language-] ::-moz-selection{color:#282828;background:#a89984}pre[class*=language-]::selection,pre[class*=language-] ::selection,code[class*=language-]::selection,code[class*=language-] ::selection{color:#282828;background:#a89984}pre[class*=language-]{padding:1em;margin:.5em 0;overflow:auto}:not(pre)>code[class*=language-],pre[class*=language-]{background:#f9f5d7}:not(pre)>code[class*=language-]{padding:.1em;border-radius:.3em}.token.comment,.token.prolog,.token.cdata{color:#7c6f64}.token.delimiter,.token.boolean,.token.keyword,.token.selector,.token.important,.token.atrule{color:#9d0006}.token.operator,.token.punctuation,.token.attr-name{color:#7c6f64}.token.tag,.token.tag .punctuation,.token.doctype,.token.builtin{color:#b57614}.token.entity,.token.number,.token.symbol{color:#8f3f71}.token.property,.token.constant,.token.variable{color:#9d0006}.token.string,.token.char{color:#797403}.token.attr-value,.token.attr-value .punctuation{color:#7c6f64}.token.url{color:#797403;text-decoration:underline}.token.function{color:#b57614}.token.regex{background:#797403}.token.bold{font-weight:700}.token.italic{font-style:italic}.token.inserted{background:#7c6f64}.token.deleted{background:#9d0006}
|