summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--about.html0
-rw-r--r--computing/2019-04-06-why-have-a-website-in-2019.md100
-rw-r--r--computing/school-server-closets-are-utopic.md11
-rw-r--r--contact.html16
-rw-r--r--includes/icons/.!26569!card-account-mail.svg0
-rw-r--r--includes/icons/.!89047!card-account-mail.svg0
-rw-r--r--includes/icons/at.svg1
-rw-r--r--includes/icons/card-account-mail.svg1
-rw-r--r--includes/icons/desktop-tower.svg1
-rw-r--r--includes/icons/git.svg1
-rw-r--r--includes/icons/home-roof.svg1
-rw-r--r--includes/icons/information-variant.svg1
-rw-r--r--includes/icons/rss-box.svg1
-rw-r--r--includes/icons/rss.svg1
-rw-r--r--includes/icons/server.svg1
-rw-r--r--includes/iosevka-slab-regular.woff2bin0 -> 376848 bytes
-rw-r--r--includes/rss.xml17
-rw-r--r--includes/stylesheet.css84
-rw-r--r--index.html70
-rw-r--r--life/2019-07-21-dancing-the-shag-and-the-new-lion-king.md41
-rw-r--r--life/2019-07-28-i-finally-found-a-drink-i-like.md32
-rw-r--r--life/2019-08-11-marrying-my-best-friend.md24
-rw-r--r--life/2020-04-10-the-obligatory-covid-19-post.md49
-rw-r--r--life/2020-04-10-wedding-photos-are-here.md40
-rw-r--r--life/playing-with-leaves.md10
-rw-r--r--programming/what-is-a-scripting-language-really.md11
-rw-r--r--services.html30
-rw-r--r--software.html10
-rw-r--r--template.html92
-rw-r--r--unix/2019-07-04-the-best-way-to-transfer-gopro-files-with-linux.md64
-rw-r--r--unix/2019-09-28-my-preferred-method-for-data-recovery.md203
-rw-r--r--unix/2020-07-26-now-this-is-a-minimal-install.md54
-rw-r--r--unix/dear-god-why-are-pdf-editors-such-an-ordeal.md18
-rw-r--r--unix/the-quest-for-automated-bluray-ripping.md10
-rw-r--r--wheels/2019-06-07-how-to-start-and-drive-a-hudson-hornet.md202
-rw-r--r--wheels/2019-07-04-yabs-yet-another-bad-shop.md158
-rw-r--r--wheels/2019-08-30-keep-right-except-to-pass.md51
-rw-r--r--wheels/my-first-car-is-a-1953-hudson-hornet.md9
-rw-r--r--wheels/oh-sh-t-or-the-case-for-safer-classic-cars.md10
-rw-r--r--wheels/old-cars-are-perfectly-viable-machines.md15
-rw-r--r--wheels/sketchy-looking-gas-stations-aren-t-that-sketchy.md10
41 files changed, 1450 insertions, 0 deletions
diff --git a/about.html b/about.html
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/about.html
diff --git a/computing/2019-04-06-why-have-a-website-in-2019.md b/computing/2019-04-06-why-have-a-website-in-2019.md
new file mode 100644
index 0000000..96b659f
--- /dev/null
+++ b/computing/2019-04-06-why-have-a-website-in-2019.md
@@ -0,0 +1,100 @@
+---
+permalink: /posts/{{categories}}/{{slug}}
+title: Why Have a Website in 2019?
+categories:
+ - technology
+tags:
+ - website
+ - self-hosted
+ - blog
+ - online presence
+published_date: "2019-04-06 20:50:19 +0000"
+layout: post.liquid
+is_draft: false
+excerpt_separator: "\n\n\n"
+---
+
+> Adam, why on earth do you have a website? Wait... Is this a *blog*? It's
+> 2019, why don't you just use Facebook?!
+
+I've wanted to have my own website for a long time mostly because I like
+playing with technology. I think it's cool that I can make a few files on a
+computer in my closet available for the entire world to see. The web has become
+a near-necessity in our daily lives and it's only been around for a couple of
+decades. That has always fascinated me enough to drive me to see if I can do it
+on my own. I started self-hosting my own web server about a year ago now and
+it's been an awesome study in the way all of the tech we use on the web works.
+
+A written website is also a good way to keep up on my writing skills. I've
+graduated college and won't be writing essays for the foreseeable eternity.
+Which is fine except that I have no reason to write creatively or formally
+anymore. Having this site encourages me to continue turning thoughts into
+words, even though it's more casual than a term paper.
+
+This extends into the professionalism of a personal website. Normally you can't
+point your employer towards your Twitter profile as the distillation of your
+online footprint. Having a website, especially one that separates professional
+and personal interests, is ten times better than a resume, especially in the
+world of technology. It lets you tell people exactly who you are and what you
+do, without forcing them to navigate through an auth wall or a bunch of puppy
+photos. Your professional and personal lives don't bleed together quite as much
+and it makes for a kick-ass business card.
+
+Most importantly however, I enjoy the level of control that I gain with
+creating and operating my own website, something I have also sought for a long
+time. In high school I set up an old Dell from my school's recycling center
+with Windows XP and Microsoft Internet Information Services. It didn't have SSL
+or even a domain name but it was reachable over the WAN. I set up an upload
+system so that my friends and I could 'post' memes and funny messages for each
+other on raw html pages written with Microsoft Word. That was the extent of its
+functionality. It was slow, insecure, and went offline every time the router
+got a new IP assigned to it. But I didn't care. It was a site the school
+couldn't block. It had no name and no rules and nobody could tell us what to do
+with it because it was ours. And we called it the *Troll Nexus Center* because
+we were 15 and brimming with creativity.
+
+My reasons then for building the Troll Nexus Center still stand now. *Having
+your own website is having your own piece of internet property.* I first heard
+this wording from [Luke Smith over on his YouTube
+channel](https://www.youtube.com/watch?v=azkWYxyqh3Y) and it's one-hundred
+percent true. Tumblogs, Google Sites, Facebook profiles, and GitHub Pages are
+all like renting an apartment. Sure, there are some really nice apartments out
+there ([we love ours!](https://www.thecommonwealthapts.com)) but it's not the
+same as owning your own home. You have to pay rent obviously, and rent is
+subject to change once your lease is up. If anything breaks you text your
+landlord and wait to have it fixed. You aren't allowed to fix it yourself and
+sometimes it doesn't get fixed at all. And of course you're limited by how much
+you can customize things to your own liking. Whether it's painting walls or
+knocking them down.
+
+These limitations may or may not apply to you. Whether you're paying for
+storage, server space, metrics, or watching an ad every five seconds, these
+services aren't free either. And you certainly can't fix everything that goes
+wrong with them. I started on Google Sites. It's a truly fantastic system.
+Building a site is like putting a PowerPoint slide together. I just plain
+outgrew it. There were too many things I wanted to do that I simply couldn't. I
+was also at the mercy of Google's constant change. After I finished
+constructing my first site, Google [announced they would be shutting down the
+old Google Sites in favor of an entirely new platform under the same
+name](https://gsuiteupdates.googleblog.com/2016/11/a-totally-rebuilt-google-sitesnow.html).
+Weeks of work got thrown out the window. You might also not care about ads or
+customization. You may be intimidated by doing things yourself and prefer that
+the landlord take care of everything. Personally, I like the challenge and the
+craftsmanship that comes with doing something oneself. And I like being in
+total control of my server, site, and content. Not from a tinfoil hat
+perspective but from a "gosh I really wish I could just share more than 15
+gigabytes of family video with my relatives in New York and Ohio" perspective.
+
+So that's why I created my own website. If you want to know *how* I host my own
+website, look for another post about my server setup where I'll explain
+everything I'm hosting and how I got it all hooked up. And that's a wrap. Now
+you know why I'm here instead of somewhere else online. Sure, I do have
+Facebook and YouTube accounts but I don't frequently update anything on either
+of them. This site is my home online. It's where I keep all of my interests,
+hobbies, and memories for sharing with others.
+
+Now you know where to find me. If you want to keep up with me, subscribe to my
+RSS feed up top!
+
+
+
diff --git a/computing/school-server-closets-are-utopic.md b/computing/school-server-closets-are-utopic.md
new file mode 100644
index 0000000..cb9dc93
--- /dev/null
+++ b/computing/school-server-closets-are-utopic.md
@@ -0,0 +1,11 @@
+---
+excerpt_separator: "\n\n\n"
+permalink: /posts/{{categories}}/{{slug}}
+title: School Server Closets are Utopic
+categories:
+- technology
+tags: []
+layout: post.liquid
+is_draft: true
+---
+Start writing already...
diff --git a/contact.html b/contact.html
new file mode 100644
index 0000000..af3ea4a
--- /dev/null
+++ b/contact.html
@@ -0,0 +1,16 @@
+You can send me mail at this address:
+<a href="mailto:mail@53hor.net">mail@53hor.net</a>. I also exist on the
+following sites but may or may not use them that often.
+
+<ul>
+ <li><a href="#">Discord</a></li>
+ <li><a href="#">Facebook</a></li>
+ <li><a href="#">Reddit</a></li>
+ <li><a href="#">Twitter</a></li>
+ <li><a href="#">YouTube</a></li>
+ <li><a href="https://www.linkedin.com/in/adam-carpenter/">LinkedIn</a></li>
+ <li><a href="https://steamcommunity.com/id/53hornet/">Steam</a></li>
+</ul>
+
+If you were looking for source code repositories, see
+<a href="/software.html">Software</a>.
diff --git a/includes/icons/.!26569!card-account-mail.svg b/includes/icons/.!26569!card-account-mail.svg
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/includes/icons/.!26569!card-account-mail.svg
diff --git a/includes/icons/.!89047!card-account-mail.svg b/includes/icons/.!89047!card-account-mail.svg
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/includes/icons/.!89047!card-account-mail.svg
diff --git a/includes/icons/at.svg b/includes/icons/at.svg
new file mode 100644
index 0000000..d2d76d4
--- /dev/null
+++ b/includes/icons/at.svg
@@ -0,0 +1 @@
+<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="24" height="24" viewBox="0 0 24 24"><path fill="#ffffff" d="M12,15C12.81,15 13.5,14.7 14.11,14.11C14.7,13.5 15,12.81 15,12C15,11.19 14.7,10.5 14.11,9.89C13.5,9.3 12.81,9 12,9C11.19,9 10.5,9.3 9.89,9.89C9.3,10.5 9,11.19 9,12C9,12.81 9.3,13.5 9.89,14.11C10.5,14.7 11.19,15 12,15M12,2C14.75,2 17.1,3 19.05,4.95C21,6.9 22,9.25 22,12V13.45C22,14.45 21.65,15.3 21,16C20.3,16.67 19.5,17 18.5,17C17.3,17 16.31,16.5 15.56,15.5C14.56,16.5 13.38,17 12,17C10.63,17 9.45,16.5 8.46,15.54C7.5,14.55 7,13.38 7,12C7,10.63 7.5,9.45 8.46,8.46C9.45,7.5 10.63,7 12,7C13.38,7 14.55,7.5 15.54,8.46C16.5,9.45 17,10.63 17,12V13.45C17,13.86 17.16,14.22 17.46,14.53C17.76,14.84 18.11,15 18.5,15C18.92,15 19.27,14.84 19.57,14.53C19.87,14.22 20,13.86 20,13.45V12C20,9.81 19.23,7.93 17.65,6.35C16.07,4.77 14.19,4 12,4C9.81,4 7.93,4.77 6.35,6.35C4.77,7.93 4,9.81 4,12C4,14.19 4.77,16.07 6.35,17.65C7.93,19.23 9.81,20 12,20H17V22H12C9.25,22 6.9,21 4.95,19.05C3,17.1 2,14.75 2,12C2,9.25 3,6.9 4.95,4.95C6.9,3 9.25,2 12,2Z" /></svg>
diff --git a/includes/icons/card-account-mail.svg b/includes/icons/card-account-mail.svg
new file mode 100644
index 0000000..a55c913
--- /dev/null
+++ b/includes/icons/card-account-mail.svg
@@ -0,0 +1 @@
+<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="24" height="24" viewBox="0 0 24 24"><path fill="#ffffff" d="M21,8V7L18,9L15,7V8L18,10M22,3H2A2,2 0 0,0 0,5V19A2,2 0 0,0 2,21H22A2,2 0 0,0 24,19V5A2,2 0 0,0 22,3M8,6A3,3 0 0,1 11,9A3,3 0 0,1 8,12A3,3 0 0,1 5,9A3,3 0 0,1 8,6M14,18H2V17C2,15 6,13.9 8,13.9C10,13.9 14,15 14,17M22,12H14V6H22" /></svg>
diff --git a/includes/icons/desktop-tower.svg b/includes/icons/desktop-tower.svg
new file mode 100644
index 0000000..c1e7cfb
--- /dev/null
+++ b/includes/icons/desktop-tower.svg
@@ -0,0 +1 @@
+<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="24" height="24" viewBox="0 0 24 24"><path fill="#ffffff" d="M8,2H16A2,2 0 0,1 18,4V20A2,2 0 0,1 16,22H8A2,2 0 0,1 6,20V4A2,2 0 0,1 8,2M8,4V6H16V4H8M16,8H8V10H16V8M16,18H14V20H16V18Z" /></svg>
diff --git a/includes/icons/git.svg b/includes/icons/git.svg
new file mode 100644
index 0000000..2c8a80d
--- /dev/null
+++ b/includes/icons/git.svg
@@ -0,0 +1 @@
+<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="24" height="24" viewBox="0 0 24 24"><path fill="#ffffff" d="M2.6,10.59L8.38,4.8L10.07,6.5C9.83,7.35 10.22,8.28 11,8.73V14.27C10.4,14.61 10,15.26 10,16A2,2 0 0,0 12,18A2,2 0 0,0 14,16C14,15.26 13.6,14.61 13,14.27V9.41L15.07,11.5C15,11.65 15,11.82 15,12A2,2 0 0,0 17,14A2,2 0 0,0 19,12A2,2 0 0,0 17,10C16.82,10 16.65,10 16.5,10.07L13.93,7.5C14.19,6.57 13.71,5.55 12.78,5.16C12.35,5 11.9,4.96 11.5,5.07L9.8,3.38L10.59,2.6C11.37,1.81 12.63,1.81 13.41,2.6L21.4,10.59C22.19,11.37 22.19,12.63 21.4,13.41L13.41,21.4C12.63,22.19 11.37,22.19 10.59,21.4L2.6,13.41C1.81,12.63 1.81,11.37 2.6,10.59Z" /></svg>
diff --git a/includes/icons/home-roof.svg b/includes/icons/home-roof.svg
new file mode 100644
index 0000000..f4776ef
--- /dev/null
+++ b/includes/icons/home-roof.svg
@@ -0,0 +1 @@
+<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="24" height="24" viewBox="0 0 24 24"><path fill="#ffffff" d="M19 16H22L12 7L2 16H5L12 9.69L19 16M7 8.81V7H4V11.5L7 8.81Z" /></svg>
diff --git a/includes/icons/information-variant.svg b/includes/icons/information-variant.svg
new file mode 100644
index 0000000..f345aea
--- /dev/null
+++ b/includes/icons/information-variant.svg
@@ -0,0 +1 @@
+<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="24" height="24" viewBox="0 0 24 24"><path fill="#ffffff" d="M13.5,4A1.5,1.5 0 0,0 12,5.5A1.5,1.5 0 0,0 13.5,7A1.5,1.5 0 0,0 15,5.5A1.5,1.5 0 0,0 13.5,4M13.14,8.77C11.95,8.87 8.7,11.46 8.7,11.46C8.5,11.61 8.56,11.6 8.72,11.88C8.88,12.15 8.86,12.17 9.05,12.04C9.25,11.91 9.58,11.7 10.13,11.36C12.25,10 10.47,13.14 9.56,18.43C9.2,21.05 11.56,19.7 12.17,19.3C12.77,18.91 14.38,17.8 14.54,17.69C14.76,17.54 14.6,17.42 14.43,17.17C14.31,17 14.19,17.12 14.19,17.12C13.54,17.55 12.35,18.45 12.19,17.88C12,17.31 13.22,13.4 13.89,10.71C14,10.07 14.3,8.67 13.14,8.77Z" /></svg>
diff --git a/includes/icons/rss-box.svg b/includes/icons/rss-box.svg
new file mode 100644
index 0000000..691a07a
--- /dev/null
+++ b/includes/icons/rss-box.svg
@@ -0,0 +1 @@
+<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="24" height="24" viewBox="0 0 24 24"><path fill="#ffffff" d="M5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3M7.5,15A1.5,1.5 0 0,0 6,16.5A1.5,1.5 0 0,0 7.5,18A1.5,1.5 0 0,0 9,16.5A1.5,1.5 0 0,0 7.5,15M6,10V12A6,6 0 0,1 12,18H14A8,8 0 0,0 6,10M6,6V8A10,10 0 0,1 16,18H18A12,12 0 0,0 6,6Z" /></svg> \ No newline at end of file
diff --git a/includes/icons/rss.svg b/includes/icons/rss.svg
new file mode 100644
index 0000000..9321e73
--- /dev/null
+++ b/includes/icons/rss.svg
@@ -0,0 +1 @@
+<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="24" height="24" viewBox="0 0 24 24"><path fill="#ffffff" d="M6.18,15.64A2.18,2.18 0 0,1 8.36,17.82C8.36,19 7.38,20 6.18,20C5,20 4,19 4,17.82A2.18,2.18 0 0,1 6.18,15.64M4,4.44A15.56,15.56 0 0,1 19.56,20H16.73A12.73,12.73 0 0,0 4,7.27V4.44M4,10.1A9.9,9.9 0 0,1 13.9,20H11.07A7.07,7.07 0 0,0 4,12.93V10.1Z" /></svg>
diff --git a/includes/icons/server.svg b/includes/icons/server.svg
new file mode 100644
index 0000000..131c08b
--- /dev/null
+++ b/includes/icons/server.svg
@@ -0,0 +1 @@
+<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="24" height="24" viewBox="0 0 24 24"><path fill="#ffffff" d="M4,1H20A1,1 0 0,1 21,2V6A1,1 0 0,1 20,7H4A1,1 0 0,1 3,6V2A1,1 0 0,1 4,1M4,9H20A1,1 0 0,1 21,10V14A1,1 0 0,1 20,15H4A1,1 0 0,1 3,14V10A1,1 0 0,1 4,9M4,17H20A1,1 0 0,1 21,18V22A1,1 0 0,1 20,23H4A1,1 0 0,1 3,22V18A1,1 0 0,1 4,17M9,5H10V3H9V5M9,13H10V11H9V13M9,21H10V19H9V21M5,3V5H7V3H5M5,11V13H7V11H5M5,19V21H7V19H5Z" /></svg>
diff --git a/includes/iosevka-slab-regular.woff2 b/includes/iosevka-slab-regular.woff2
new file mode 100644
index 0000000..fda41e3
--- /dev/null
+++ b/includes/iosevka-slab-regular.woff2
Binary files differ
diff --git a/includes/rss.xml b/includes/rss.xml
new file mode 100644
index 0000000..2e6890e
--- /dev/null
+++ b/includes/rss.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE xml>
+<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
+ <channel>
+ <title>53hornet's Feed</title>
+ <link>https://www.53hor.net</link>
+ <description>The World Wide Web pages of Adam T. Carpenter.</description>
+ <atom:link href="https://www.53hor.net/rss.xml" rel="self" type="application/rss+xml" />
+ <item>
+ <title>Entry Title</title>
+ <link>https://www.53hor.net/wheels/2020-11-21-this-url.html</link>
+ <guid>https://www.mysite.com/?p=584674</guid>
+ <description>ho! thanketh thee f'r subscribing to mine own rss feedeth</description>
+ <pubDate>Wed, 02 Oct 2002 08:00:00 EST</pubDate>
+ </item>
+ </channel>
+</rss>
diff --git a/includes/stylesheet.css b/includes/stylesheet.css
new file mode 100644
index 0000000..a24fc46
--- /dev/null
+++ b/includes/stylesheet.css
@@ -0,0 +1,84 @@
+@font-face {
+ font-family: "Iosevka Slab";
+ src: url("/includes/iosevka-slab-regular.woff2");
+}
+
+:root {
+ --balboa: #195970;
+ --charcoal: #32444a;
+ --ruby: #9b111e;
+ --slate: #798d94;
+ --white: white;
+ --box-radius: 1em;
+ --box-border: 0.5em solid var(--white);
+}
+
+body {
+ font-family: "Iosevka Slab", monospace;
+ font-size: 1.5em;
+ background-color: var(--balboa);
+ color: var(--white);
+ max-width: 50em;
+ margin: auto;
+ padding: 1em;
+}
+
+nav {
+ list-style-type: none;
+ text-align: center;
+}
+
+nav ul {
+ padding: 0;
+ margin: 0;
+}
+
+nav li {
+ display: inline-block;
+ margin: 0.5em;
+ padding: 0.5em;
+}
+
+nav img {
+ padding-right: 0.5em;
+}
+
+nav a:link,
+nav a:visited,
+nav a:hover,
+nav a:active {
+ display: flex;
+ align-items: center;
+ color: var(--white);
+ text-decoration: none;
+}
+
+a:link {
+ color: var(--slate);
+}
+
+a:visited {
+ color: var(--charcoal);
+}
+
+code {
+ display: block;
+ background-color: var(--charcoal);
+ padding: 1em;
+ border-radius: var(--box-radius);
+ border-left: var(--box-border);
+ border-right: var(--box-border);
+}
+
+.description {
+ background-color: var(--ruby);
+ padding: 1em;
+ border-radius: var(--box-radius);
+ border-left: var(--box-border);
+ border-right: var(--box-border);
+}
+
+h1,
+blockquote {
+ font-style: oblique;
+}
diff --git a/index.html b/index.html
new file mode 100644
index 0000000..38d1231
--- /dev/null
+++ b/index.html
@@ -0,0 +1,70 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <link rel="stylesheet" href="/includes/stylesheet.css" />
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
+ <meta
+ property="og:description"
+ content="The World Wide Web pages of Adam Carpenter"
+ />
+ <meta property="og:image" content="test.jpg" />
+ <meta property="og:site_name" content="53hor.net" />
+ <meta property="og:title" content="Adam Carpenter (53hornet)" />
+ <meta property="og:type" content="website" />
+ <meta property="og:url" content="https://www.53hor.net" />
+ <title>53hornet -- Home</title>
+ </head>
+
+ <body>
+ <header>
+ <noscript>
+ You don't have JavaScript enabled? That's cool, neither do I.
+ </noscript>
+ </header>
+ <nav>
+ <ul>
+ <li>
+ <a href="/">
+ <img src="/includes/icons/home-roof.svg" />
+ Home
+ </a>
+ </li>
+ <li>
+ <a href="/about.html">
+ <img src="/includes/icons/information-variant.svg" />
+ About
+ </a>
+ </li>
+ <li>
+ <a href="/software.html">
+ <img src="includes/icons/git.svg" />
+ Software
+ </a>
+ </li>
+ <li>
+ <a href="/services.html">
+ <img src="/includes/icons/server.svg" />
+ Services
+ </a>
+ </li>
+ <li>
+ <a href="/rss.xml">
+ <img src="/includes/icons/rss-box.svg" />
+ RSS
+ </a>
+ </li>
+ <li>
+ <a href="/contact.html">
+ <img src="/includes/icons/card-account-mail.svg" />
+ Contact
+ </a>
+ </li>
+ </ul>
+ </nav>
+
+ <h1>53hornet</h1>
+
+ <h2>The World Wide Web pages of Adam Carpenter (53hornet)</h2>
+ </body>
+</html>
diff --git a/life/2019-07-21-dancing-the-shag-and-the-new-lion-king.md b/life/2019-07-21-dancing-the-shag-and-the-new-lion-king.md
new file mode 100644
index 0000000..f567ea5
--- /dev/null
+++ b/life/2019-07-21-dancing-the-shag-and-the-new-lion-king.md
@@ -0,0 +1,41 @@
+---
+permalink: "/posts/{{categories}}/{{slug}}"
+title: Dancing the Shag and The New Lion King
+categories:
+ - life
+tags:
+ - carolina
+ - shag
+ - dancing
+ - wedding
+ - lion
+ - king
+ - remake
+published_date: "2019-07-21 12:38:48 +0000"
+layout: post.liquid
+is_draft: false
+excerpt_separator: "\n\n\n"
+---
+Not all of my posts are huge, and they probably shouldn't be. Amy and I had a
+really great time yesterday at Two Left Feet Dance Studio, learning more about
+how to dance the Carolina Shag in preparation for our wedding (which is in less
+than 20 days)! An enormous swing band is going to play all of our favorites
+from the brass band/swing era, and one of the easiest dances to do to that
+music is the Shag. I wrote a paper on the Shag a few years ago for school but
+never actually learned how to do it. The steps are simple for us to remember
+and it's easy enough to add flair or mix it up so we look like we know what
+we're doing during our first dance.
+
+We also got out to see the new Lion King remake and I can honestly say it was
+worth it. If anyone's a Lion King purist, it's Amy. It's easily been her
+favorite movie since she was a toddler, and to see it tastefully redone almost
+25 years after it was first released was thoroughly enjoyable. There were minor
+alterations to literal sentences in the script that all added some context to
+things that were always kind of assumed in the original (clarification on
+Scar's backstory, etc.). I did however feel like they were trying to throw
+Beyonce lines the way a middle-schooler tries to turn a 500-word paper into a
+700-word paper. Regardless, it's definitely re-living the classic, not
+re-hashing it.
+
+
+
diff --git a/life/2019-07-28-i-finally-found-a-drink-i-like.md b/life/2019-07-28-i-finally-found-a-drink-i-like.md
new file mode 100644
index 0000000..aaf6e86
--- /dev/null
+++ b/life/2019-07-28-i-finally-found-a-drink-i-like.md
@@ -0,0 +1,32 @@
+---
+permalink: "/posts/{{categories}}/{{slug}}"
+title: I Finally Found a Drink I Like!
+categories:
+ - life
+tags:
+ - mixed
+ - drinks
+excerpt_separator: "\n\n\n"
+published_date: "2019-07-28 01:36:47 +0000"
+layout: post.liquid
+is_draft: false
+---
+Anyone who knows me even slightly well probably knows that I don't drink. And
+it's not out of moral obligation or anything like that. I just plain can't
+stand the taste of alcohol. So it's no surprise that my entire family has been
+trying to throw different alcoholic beverages in my direction to see what
+sticks.
+
+But it finally happened! I finally found a drink with alcohol in it. And not
+only did I not gag, but I genuinely enjoy it, think it tastes great, and mix it
+myself.
+
+It's called *Blackberry Cream Soda*. It's just blackberries, ginger ale, and
+spiced rum. It's darn good. And it's going to be the signature drink at our
+wedding, whatever that means. All I know is I can finally order something at a
+bar and that's cool by me.
+
+![Behold, Blackberry Cream Soda](https://nextcloud.53hor.net/s/Jdpp8QYwo6nY9Fx/preview)
+
+
+
diff --git a/life/2019-08-11-marrying-my-best-friend.md b/life/2019-08-11-marrying-my-best-friend.md
new file mode 100644
index 0000000..c70a3b0
--- /dev/null
+++ b/life/2019-08-11-marrying-my-best-friend.md
@@ -0,0 +1,24 @@
+---
+permalink: "/posts/{{categories}}/{{slug}}"
+title: Marrying My Best Friend
+categories:
+ - life
+tags:
+ - wedding
+ - honeymoon
+ - carpenter
+ - squire
+excerpt_separator: "\n\n\n"
+published_date: "2019-08-11 14:56:58 +0000"
+layout: post.liquid
+is_draft: false
+---
+It was an inexplicable mixture of joy and butterflies getting to marry my best
+friend. It was truly like a dream come true, so much so that it drove me to
+tears multiple times. Now that we're on our honeymoon, it feels simultaneously
+like everything and nothing has changed but I think that's a good thing.
+
+More to come!
+
+
+
diff --git a/life/2020-04-10-the-obligatory-covid-19-post.md b/life/2020-04-10-the-obligatory-covid-19-post.md
new file mode 100644
index 0000000..b0fe492
--- /dev/null
+++ b/life/2020-04-10-the-obligatory-covid-19-post.md
@@ -0,0 +1,49 @@
+---
+permalink: "/posts/{{categories}}/{{slug}}"
+title: The Obligatory COVID-19 Post
+categories:
+ - life
+tags: [coronavirus, update, 8 months]
+excerpt_separator: "\n\n\n"
+published_date: "2020-04-10 02:41:15 +0000"
+layout: post.liquid
+is_draft: false
+---
+We're alive! All three of us: Amy, Clementine, and myself. We're doing what we
+do best and that is being hermits with zero social contact. That's pretty okay
+by us though because it lets us slow down from all the fast-paced life changes
+we've made in the past few months.
+
+In January Amy and I bought a house! We couldn't have done it without the
+wonderful help of everyone who gave us wedding gifts. We got a nice little
+standalone place in Suffolk, much closer to where I work and centrally located
+for Amy's tutoring business. We spent all of January painting and prepping for
+the big move. Late January and early February were all moving and unpacking and
+trying to get back in the groove. Since the outbreak, we've been using the
+extra time at home to finish up all the move-in projects we wanted to:
+finishing painting, putting up shelves, hanging pictures, and rewiring
+electrical outlets.
+
+Amy also finally got the chance to pursue her dream job: she started up her own
+private tutoring business. She's been working hard with clients all over
+Hampton Roads, from college students all the way to first-graders. Business was
+booming before schools closed but I know she'll bring it back once things have
+returned to normal again. No worries though, she's spending this time helping
+William and Mary handle remote operations and students in need. She's also
+[supposed to be] writing her master's thesis so she can graduate in May but you
+know how it is.
+
+We're also working through a family illness, which is benign but difficult
+nonetheless. We expect a speedy recovery and we're really excited for that.
+All-in-all, we're really enjoying our lives as a happily married couple. It's
+been about eight months now and I've enjoyed every minute of it: the glad, the
+slightly stressed, and the overarching worry as the world took a strange turn.
+But we're looking forward to a good Summer now. The weather has turned nice --
+really nice -- and Clementine is forcing us to get outside. She's in love with
+her nice, big fenced-in yard and refuses to come in after catching hoops most
+of the time.
+
+Stay safe!
+
+
+
diff --git a/life/2020-04-10-wedding-photos-are-here.md b/life/2020-04-10-wedding-photos-are-here.md
new file mode 100644
index 0000000..cfe73d2
--- /dev/null
+++ b/life/2020-04-10-wedding-photos-are-here.md
@@ -0,0 +1,40 @@
+---
+permalink: "/posts/{{categories}}/{{slug}}"
+title: Wedding Photos Are Here!
+categories:
+ - life
+tags:
+ - wedding
+ - photos
+ - reception
+ - ceremony
+ - bachelor
+ - bachelorette
+ - honeymoon
+excerpt_separator: "\n\n\n"
+published_date: "2020-04-10 03:06:00 +0000"
+layout: post.liquid
+is_draft: false
+---
+
+At long last we have all of our wedding photos together! Unfortunately a large
+portion of the professional ones were lost during editing but we're extremely
+fortunate to everyone who took pictures throughout the festivities so we have
+more to share! We hope you enjoy flipping through them as much as we did! There
+is also a collection of the photos we took while we were on our honeymoon on
+Mackinac Island, MI. It was an absolutely magical place and truly the
+experience of a lifetime for us to run away there. We're in contact with our
+videographer, who's working on the final cut now.
+
+Everything is available at the links down below. You can scroll through the
+photos, view them in fullscreen, and even download them or share them
+elsewhere. We hope you have as much fun flipping through them as we did!
+
+# [Bachelor & Bachelorette Parties](https://nextcloud.53hor.net/s/eYLqeMGnSPGRNFE)
+
+# [Wedding Day](https://nextcloud.53hor.net/s/FxekyGQFTFKG5ot)
+
+# [Honeymoon](https://nextcloud.53hor.net/s/mgZ6M4ayqX73DqL)
+
+
+
diff --git a/life/playing-with-leaves.md b/life/playing-with-leaves.md
new file mode 100644
index 0000000..9ab26f8
--- /dev/null
+++ b/life/playing-with-leaves.md
@@ -0,0 +1,10 @@
+---
+excerpt_separator: "\n\n\n"
+permalink: "/posts/{{categories}}/{{slug}}"
+title: Playing with Leaves
+categories: []
+tags: []
+layout: post.liquid
+is_draft: true
+---
+Start writing already...
diff --git a/programming/what-is-a-scripting-language-really.md b/programming/what-is-a-scripting-language-really.md
new file mode 100644
index 0000000..88ad7fd
--- /dev/null
+++ b/programming/what-is-a-scripting-language-really.md
@@ -0,0 +1,11 @@
+---
+permalink: /posts/{{categories}}/{{slug}}
+excerpt_separator: "\n\n\n"
+title: What Is a Scripting Language Really?
+categories:
+ - technology
+tags: []
+layout: post.liquid
+is_draft: true
+---
+Start writing already...
diff --git a/services.html b/services.html
new file mode 100644
index 0000000..bc1e844
--- /dev/null
+++ b/services.html
@@ -0,0 +1,30 @@
+<h2>Self-Hosted Applications</h2>
+
+<ul>
+ <li>FreeBSD Package Repository</li>
+ <li>Nextcloud Files, Contacts, Calendars</li>
+ <li>Plex Media Streaming</li>
+</ul>
+
+<h2>Game Servers</h2>
+
+If I know you and you're welcome to join one of my game servers, you can find
+those here. Non-public ones are password-protected.
+
+<ul>
+ <li>
+ <h3>[The Ultimate] Co-op (Chocolate Doom)</h3>
+ <a href="doom.53hor.net:3343">doom.53hor.net:3343</a>
+ </li>
+ <li>
+ <h3>DooM II (Chocolate Doom)</h3>
+ <a href="doom3.53hor.net:3343">doom3.53hor.net:3343</a>
+ </li>
+ <li>
+ <h3>
+ Skyrim Together (The Elder Scrolls V: Skyrim Special Edition w/ "Skyrim
+ Together" mod)
+ </h3>
+ <a href="st.53hor.net:10578">st.53hor.net:10578</a>
+ </li>
+</ul>
diff --git a/software.html b/software.html
new file mode 100644
index 0000000..af0d66d
--- /dev/null
+++ b/software.html
@@ -0,0 +1,10 @@
+You can find my source code repositories here:
+<a href="https://git.53hor.net">Gitea</a>
+I also exist on the following repository sites but don't really use them.
+
+<ul>
+ <li><a href="https://github.com/53hornet">GitHub</a></li>
+ <li><a href="https://gitlab.com/53hornet">GitLab</a></li>
+</ul>
+
+If you were looking to contact me, see <a href="/contact.html">Contact</a>.
diff --git a/template.html b/template.html
new file mode 100644
index 0000000..b263d6b
--- /dev/null
+++ b/template.html
@@ -0,0 +1,92 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <link rel="stylesheet" href="/includes/stylesheet.css" />
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
+ <meta
+ property="og:description"
+ content="The World Wide Web pages of Adam Carpenter"
+ />
+ <meta property="og:image" content="test.jpg" />
+ <meta property="og:site_name" content="53hor.net" />
+ <meta property="og:title" content="Adam Carpenter (53hornet)" />
+ <meta property="og:type" content="website" />
+ <meta property="og:url" content="https://www.53hor.net" />
+ <title>{{ title }}</title>
+ </head>
+
+ <body>
+ <header>
+ <noscript>
+ You don't have JavaScript enabled? That's cool, neither do I.
+ </noscript>
+ </header>
+ <nav>
+ <ul>
+ <li>
+ <a href="/">
+ <img src="/includes/icons/home-roof.svg" />
+ Home
+ </a>
+ </li>
+ <li>
+ <a href="/about.html">
+ <img src="/includes/icons/information-variant.svg" />
+ About
+ </a>
+ </li>
+ <li>
+ <a href="/software.html">
+ <img src="includes/icons/git.svg" />
+ Software
+ </a>
+ </li>
+ <li>
+ <a href="/services.html">
+ <img src="/includes/icons/desktop-tower.svg" />
+ Hosted
+ </a>
+ </li>
+ <li>
+ <a href="/rss.xml">
+ <img src="/includes/icons/rss.svg" />
+ RSS
+ </a>
+ </li>
+ <li>
+ <a href="/contact.html">
+ <img src="/includes/icons/at.svg" />
+ Contact
+ </a>
+ </li>
+ </ul>
+ </nav>
+
+ <h1>
+ {{ title }}
+ </h1>
+
+ <article>
+ <p class="description">
+ {{ description }}
+ </p>
+
+ {{ article }}
+
+ <pre>
+ <code>
+int sample_code() {
+ let x = 1;
+ let y = x;
+ return 0;
+}
+ </code>
+ </pre>
+
+ <blockquote cite="wikipedia.org is a terrible primary source">
+ {{ blockquote }}
+ </blockquote>
+ </article>
+ </body>
+</html>
diff --git a/unix/2019-07-04-the-best-way-to-transfer-gopro-files-with-linux.md b/unix/2019-07-04-the-best-way-to-transfer-gopro-files-with-linux.md
new file mode 100644
index 0000000..89ebe97
--- /dev/null
+++ b/unix/2019-07-04-the-best-way-to-transfer-gopro-files-with-linux.md
@@ -0,0 +1,64 @@
+---
+permalink: "/posts/{{categories}}/{{slug}}"
+title: The Best Way to Transfer GoPro Files with Linux
+categories:
+ - technology
+tags:
+ - gopro
+ - camera
+ - video
+ - download
+ - linux
+ - wireless
+published_date: "2019-07-04 21:54:49 +0000"
+layout: post.liquid
+is_draft: false
+excerpt_separator: "\n\n\n"
+---
+
+Transferring files off of most cameras to a Linux computer isn't all that
+difficult. The exception is my GoPro Hero 4 Black. For 4th of July week I took
+a bunch of video with the GoPro, approximately 20 MP4 files, about 3GB each.
+The annoying thing about the GoPro's USB interface is you need additional
+software to download everything through the cable. The camera doesn't just show
+up as a USB filesystem that you can mount. The GoPro does have a micro-SD card
+but I was away from home and didn't have any dongles or adapters. Both of these
+solutions also mean taking the camera out of its waterproof case and off of its
+mount. So here's what I did.
+
+GoPro cameras, after the Hero 3, can open up an ad-hoc wireless network that
+lets you browse the GoPro's onboard files through an HTTP server. This means
+you can open your browser and scroll through the files on the camera at an
+intranet address, `10.5.5.9`, and download them one by one by clicking every
+link on every page. If you have a lot of footage on there it kinda sucks. So, I
+opened up the manual for `wget`. I'm sure you could get really fancy with some
+of the options but the only thing I cared about was downloading every single
+MP4 video off of the camera, automatically. I did not want to download any of
+the small video formats or actual HTML files. Here's what I used:
+
+```sh
+wget --recursive --accept "*.MP4" http://10.5.5.9:8080/
+```
+
+This tells `wget` to download all of the files at the GoPro's address
+recursively and skips any that don't have the MP4 extension. Now I've got a
+directory tree with all of my videos in it. And the best part is I didn't have
+to install the dinky GoPro app on my laptop. Hopefully this helps if you're
+looking for an easy way to migrate lots of footage without manually clicking
+through the web interface or installing additional software. The only downside
+is if you're moving a whole lot of footage, it's not nearly as quick as just
+moving files off the SD card. So I'd shoot for using the adapter to read off
+the card first and only use this if that's not an option, such as when the
+camera is mounted and you don't want to move it.
+
+Some things I would like to change/add:
+
+- Download all image files as well; should be easy, just another `--accept`
+- Initiate parallel downloads
+- Clean up the directory afterwards so I just have one level of depth
+
+I could probably write a quick and dirty shell script to do all of this for me
+but I use the camera so infrequently that it's probably not even worth it.
+
+
+
diff --git a/unix/2019-09-28-my-preferred-method-for-data-recovery.md b/unix/2019-09-28-my-preferred-method-for-data-recovery.md
new file mode 100644
index 0000000..14aaab4
--- /dev/null
+++ b/unix/2019-09-28-my-preferred-method-for-data-recovery.md
@@ -0,0 +1,203 @@
+---
+permalink: "/posts/{{categories}}/{{slug}}"
+title: My Preferred Method for Data Recovery
+categories:
+ - life
+tags:
+ - data
+ - file
+ - photo
+ - recovery
+ - linux
+ - photorec
+excerpt_separator: "\n\n\n"
+published_date: "2019-09-28 20:20:05 +0000"
+layout: post.liquid
+is_draft: false
+---
+This week Amy plugged in her flash drive to discover that there were no files
+on it. Weeks before there had been dozens of large cuts of footage that she
+needed to edit down for work. Hours of recordings were seemingly gone. And the
+most annoying part was the drive had worked perfectly on several other
+occasions. Just not now that the footage was actually needed of course.
+Initially it looked like everything had been wiped clean, however both Amy's
+Mac and her PC thought the drive was half full. It's overall capacity was 64GB
+but it showed only about 36GB free. So there still had to be data on there if
+we could find the right tool to salvage it.
+
+Luckily this wasn't the first time I had to recover accidentally (or magically)
+deleted files. I had previously done so with some success at my tech support
+job, for some college friends, and for my in-laws' retired laptops. So I had a
+pretty clear idea of what to expect. The only trick was finding a tool that
+knew what files it was looking for. The camera that took the video clips was a
+Sony and apparently they record into `m2ts` files, which are kind of a unique
+format in that they only show up on Blu-Ray discs and Sony camcorders. Enter my
+favorite two tools for dealing with potentially-destroyed data: `ddrescue` and
+`photorec`.
+
+## DDRescue
+
+`ddrescue` is a godsend of a tool. If you've ever used `dd` before, forget
+about it. Use `ddrescue`. You might as well `alias dd=ddrescue` because it's
+that great. By default it has a plethora of additional options, displays the
+progress as it works, recovers and retries in the event of I/O errors, and does
+everything that good old `dd` can do. It's particularly good at protecting
+partitions or disks that have been corrupted or damaged by rescuing undamaged
+portions first. Oh, and have you ever had to cancel a `dd` operation? Did I
+mention that `ddrescue` can pause and resume operations? It's that good.
+
+## PhotoRec
+
+`photorec` is probably the best missing file recovery tool I've ever used in my
+entire life. And I've used quite a few. I've never had as good results as I've
+had with `photorec` with other tools like Recuva et. al. And `photorec` isn't
+just for photos, it can recover documents (a la Office suite), music, images,
+config files, and videos (including the very odd `m2ts` format!). The other
+nice thing is `photorec` will work on just about any source. It's also free
+software which makes me wonder why there are like $50 recovery tools for
+Windows that look super sketchy.
+
+## In Practice
+
+So here's what I did to get Amy's files back. Luckily she didn't write anything
+out to the drive afterward so the chances (I thought) were pretty good that I
+would get *something* back. The first thing I always do is make a full image of
+whatever media I'm trying to recover from. I do this for a couple of reasons.
+First of all it's a backup. If something goes wrong during recovery I don't
+have to worry about the original, fragile media being damaged or wiped.
+Furthermore, I can work with multiple copies at a time. If it's a large image
+that means multiple tools or even multiple PCs can work on it at once. It's
+also just plain faster working off a disk image than a measly flash drive. So I
+used `ddrescue` to make an image of Amy's drive.
+
+```shell
+$ sudo ddrescue /dev/sdb1 amy-lexar.dd
+GNU ddrescue 1.24
+Press Ctrl-C to interrupt
+ ipos: 54198 kB, non-trimmed: 0 B, current rate: 7864 kB/s
+ opos: 54198 kB, non-scraped: 0 B, average rate: 18066 kB/s
+non-tried: 63967 MB, bad-sector: 0 B, error rate: 0 B/s
+ rescued: 54198 kB, bad areas: 0, run time: 2s
+pct rescued: 0.08%, read errors: 0, remaining time: 59m
+ time since last successful read: n/a
+Copying non-tried blocks... Pass 1 (forwards)
+```
+
+The result was a very large partition image that I could fearlessly play around
+with.
+
+```shell
+$ ll amy-lexar.dd
+-rw-r--r-- 1 root root 60G Sep 24 02:45 amy-lexar.dd
+```
+
+Then I could run `photorec` on the image. This brings up a TUI with all of the
+listed media that I can try and recover from.
+
+```shell
+$ sudo photorec amy-lexar.dd
+
+PhotoRec 7.0, Data Recovery Utility, April 2015
+Christophe GRENIER <grenier@cgsecurity.org>
+http://www.cgsecurity.org
+
+ PhotoRec is free software, and
+comes with ABSOLUTELY NO WARRANTY.
+
+Select a media (use Arrow keys, then press Enter):
+>Disk amy-lexar.dd - 64 GB / 59 GiB (RO)
+
+>[Proceed ] [ Quit ]
+
+Note:
+Disk capacity must be correctly detected for a successful recovery.
+If a disk listed above has incorrect size, check HD jumper settings, BIOS
+detection, and install the latest OS patches and disk drivers.
+```
+
+After hitting proceed `photorec` asks if you want to scan just a particular
+partition or the whole disk (if you made a whole disk image). I can usually get
+away with just selecting the partition I know the files are on and starting a
+search.
+
+```shell
+PhotoRec 7.0, Data Recovery Utility, April 2015
+Christophe GRENIER <grenier@cgsecurity.org>
+http://www.cgsecurity.org
+
+Disk amy-lexar.dd - 64 GB / 59 GiB (RO)
+
+ Partition Start End Size in sectors
+ Unknown 0 0 1 7783 139 4 125042656 [Whole disk]
+> P FAT32 0 0 1 7783 139 4 125042656 [NO NAME]
+
+>[ Search ] [Options ] [File Opt] [ Quit ]
+ Start file recovery
+```
+
+Then `photorec` asks a couple of questions about the formatting of the media.
+It can usually figure them out all by itself so I just use the default options
+unless it's way out in left field.
+
+```shell
+PhotoRec 7.0, Data Recovery Utility, April 2015
+Christophe GRENIER <grenier@cgsecurity.org>
+http://www.cgsecurity.org
+
+ P FAT32 0 0 1 7783 139 4 125042656 [NO NAME]
+
+To recover lost files, PhotoRec need to know the filesystem type where the
+file were stored:
+ [ ext2/ext3 ] ext2/ext3/ext4 filesystem
+>[ Other ] FAT/NTFS/HFS+/ReiserFS/...
+```
+
+Now this menu is where I don't just go with the default path. `photorec` will
+offer to search just unallocated space or the entire partition. I always go for
+the whole partition here; sometimes I'll get back files that I didn't really
+care about but more often than not I end up rescuing more data this way. In
+this scenario searching just unallocated space found no files at all. So I told
+`photorec` to search everything.
+
+```shell
+PhotoRec 7.0, Data Recovery Utility, April 2015
+Christophe GRENIER <grenier@cgsecurity.org>
+http://www.cgsecurity.org
+
+ P FAT32 0 0 1 7783 139 4 125042656 [NO NAME]
+
+
+Please choose if all space need to be analysed:
+ [ Free ] Scan for file from FAT32 unallocated space only
+>[ Whole ] Extract files from whole partition
+```
+
+Now it'll ask where you want to save any files it finds. I threw them all into
+a directory under home that I could zip up and send to Amy's Mac later.
+
+```shell
+PhotoRec 7.0, Data Recovery Utility, April 2015
+
+Please select a destination to save the recovered files.
+Do not choose to write the files to the same partition they were stored on.
+Keys: Arrow keys to select another directory
+ C when the destination is correct
+ Q to quit
+Directory /home/adam
+ drwx------ 1000 1000 4096 28-Sep-2019 12:10 .
+ drwxr-xr-x 0 0 4096 26-Jan-2019 15:32 ..
+>drwxr-xr-x 1000 1000 4096 28-Sep-2019 12:10 amy-lexar-recovery
+```
+
+And then just press `C`. `photrec` will start copying all of the files it finds
+into that directory. It reports what kinds of files it found and how many it
+was able to locate. I was able to recover all of Amy's lost footage this way,
+past, along with some straggler files that had been on the drive at one point.
+This has worked for me many times in the past, both on newer devices like flash
+drives and on super old, sketchy IDE hard drives. I probably won't ever pay for
+data recovery unless a drive has been physically damaged in some way. In other
+words, this software works great for me and I don't foresee the need for
+anything else out there. It's simple to use and is typically pretty reliable.
+
+
+
diff --git a/unix/2020-07-26-now-this-is-a-minimal-install.md b/unix/2020-07-26-now-this-is-a-minimal-install.md
new file mode 100644
index 0000000..9936ad4
--- /dev/null
+++ b/unix/2020-07-26-now-this-is-a-minimal-install.md
@@ -0,0 +1,54 @@
+---
+permalink: "/posts/{{categories}}/{{slug}}"
+title: Now This is a Minimal Install!
+categories:
+ - technology
+ - unix
+tags:
+ - FreeBSD
+ - packages
+ - poudriere
+ - saneness
+excerpt_separator: "\n\n\n"
+published_date: "2020-07-26 15:21:13 +0000"
+layout: post.liquid
+is_draft: false
+---
+Now this is a minimal install!
+
+I just got done configuring Poudriere on Freebsd 12.1-RELEASE. The awesome
+thing about it is it allows you to configure and maintain your own package
+repository. All of the ports and their dependencies are built from source with
+personalized options. That means that I can maintain my own repo of just the
+packages I need with just the compile-time options I need. For example, for the
+Nvidia driver set I disabled all Wayland related flags. I use Xorg so there was
+no need to have that functionality built in.
+
+Compile times are pretty long but I hope to change that by upgrading my home
+server to FreeBSD as well (from Ubuntu Server). Then I can configure poudriere
+to serve up a ports tree and my own pkg repo from there. The server is a lot
+faster than my laptop and will build packages way faster, and I'll be able to
+use those packages on both the server and my laptop and any jails I have
+running. Jails (and ZFS) also make poudriere really cool to use as all of the
+building is done inside a jail. When the time comes I can just remove the jail
+and poudriere ports tree from my laptop and update pkg to point to my web
+server.
+
+This is, as I understand it, the sane way to do package management in FreeBSD.
+The binary package repo is basically the ports tree pre-assembled with default
+options. Sometimes those packages are compiled without functionality that most
+users don't need. In those situations, you're forced to use ports. The trouble
+is you're not really supposed to mix ports and binary packages. The reason,
+again as I understand it, is because ports are updated more frequently. So
+binary packages and ports can have different dependency versions, which can
+sometimes break compatibility on an upgrade. Most FreeBSD users recommend
+installing everything with ports (which is just a make install inside the local
+tree) but then you lose the package management features that come with pkg.
+Poudriere lets you kind of do both by creating your "own personal binary repo"
+out of a list of preconfigured, pre-built ports.
+
+FreeBSD rocks.
+
+
+
+
diff --git a/unix/dear-god-why-are-pdf-editors-such-an-ordeal.md b/unix/dear-god-why-are-pdf-editors-such-an-ordeal.md
new file mode 100644
index 0000000..5d7e5f4
--- /dev/null
+++ b/unix/dear-god-why-are-pdf-editors-such-an-ordeal.md
@@ -0,0 +1,18 @@
+---
+permalink: "/posts/{{categories}}/{{slug}}"
+title: Dear God Why Are PDF Editors Such an Ordeal?
+categories: []
+tags: []
+excerpt_separator: "\n\n\n"
+layout: post.liquid
+is_draft: true
+---
+
+All PDF editors/mergers/tools either:
+
+1. Cost hundreds of dollars
+1. Require uploading private documents to a server for processing
+1. Leave watermarks or charge you for "pro" features
+1. Are blatant malware
+
+Except mupdf and mutool, which are absolutely amazing.
diff --git a/unix/the-quest-for-automated-bluray-ripping.md b/unix/the-quest-for-automated-bluray-ripping.md
new file mode 100644
index 0000000..6e20c14
--- /dev/null
+++ b/unix/the-quest-for-automated-bluray-ripping.md
@@ -0,0 +1,10 @@
+---
+excerpt_separator: "\n\n\n"
+permalink: "/posts/{{categories}}/{{slug}}"
+title: The Quest for Automated BluRay Ripping
+categories: []
+tags: []
+layout: post.liquid
+is_draft: true
+---
+-> Start here <-
diff --git a/wheels/2019-06-07-how-to-start-and-drive-a-hudson-hornet.md b/wheels/2019-06-07-how-to-start-and-drive-a-hudson-hornet.md
new file mode 100644
index 0000000..312ad8c
--- /dev/null
+++ b/wheels/2019-06-07-how-to-start-and-drive-a-hudson-hornet.md
@@ -0,0 +1,202 @@
+---
+permalink: "/posts/{{categories}}/{{slug}}"
+title: How to Start and Drive a Hudson Hornet
+categories:
+ - automotive
+tags:
+ - hudson
+ - hornet
+ - start
+ - drive
+published_date: "2019-06-07 00:30:37 +0000"
+layout: post.liquid
+is_draft: false
+excerpt_separator: "\n\n\n"
+---
+
+My understanding is there are a lot of people out there for whom driving a car
+from the mid-20th century is an oddity, a curiosity, or a life experience they
+can't relate to. It's hard to capture what the actual experience is like in
+words (hopefully my YouTube channel does a better job) but I think instead I
+can do my best here to walk through the procedure of actually *operating* a
+Hudson Hornet.
+
+There are some significant differences between driving the Hornet and most
+other cars you come across today. Some of them are just because there are
+sixty-six years between the Hudson and the 2019 model year. Others are
+Hudson-specific. Many people who I've talked to have said that they would feel
+intimidated driving my car (whether that's because of its perceived complexity
+or obvious value to me). So, for those who just want to know how it's done:
+here is how you start and drive a Hudson Hornet.
+
+# The Gauge Cluster, Switches, and Controls
+
+Open the door, slide onto the bench seat, and sit behind the [massive] steering
+wheel. For those who haven't experienced it before, it feels like you have a
+whole lot of room at your disposal, almost like there *should* be more matter
+occupying the space around you. In front of you is probably the shiniest
+dashboard you've ever seen. It's simple, and probably slightly familiar.
+
+From left to right above the steering wheel you have:
+
+- A speedometer that tops out at 120 mph (with 99K odometer inside)
+- Fuel and coolant temperature gauges (and two warning lights; more on those
+ later)
+- A mechanical, electrically-wound clock
+- An AM radio
+- A glove compartment
+
+From left to right under the steering wheel you have:
+
+- A 2-speed wiper control knob
+- A weather control (heater) temperature slider
+- A 2-speed weather control fan knob
+- The ignition barrel
+- A headlight switch
+- A cigar-lighter (yes, cigar. Check out the owner's manual)
+
+Also, underneath the dashboard on the left there is a parking brake handle and
+hood latch release and on the right there is an arm which raises and lowers the
+fresh air cowl vent. Think of it as "recirculate" in more modern vehicles. If
+you're looking for the turn signal lever it's the tiny stick to the left of the
+steering wheel. The indicator is the little yellow light on the far left of the
+dash. There's only one so it flashes when you're signalling left or right. We
+also added our own air conditioning system, something Hudsons never came with
+from the factory.
+
+# Dual-Range Hydramatic
+
+The first thing that might confuse some folks when they first see the car
+running is the shift lever. Many Hornets came with three-speed manual
+transmissions that were shifted from the column (overdrive was an option).
+However, lots of owners paid extra for the optional "Dual-range Hydramatic", a
+fully automatic transmission from General Motors. Truly, this car has a 4-speed
+automatic that requires no manual shifting during normal use, making it that
+much easier to take a boatload of people to get milkshakes.
+
+Behind the steering wheel is a shift indicator that deviates from the "PRNDL"
+pattern most folks are familiar with. From left to right (shift arm fully at
+the top to arm fully towards the bottom), the 'gears' are:
+
+- N (Neutral)
+- 4-Dr (Drive, all four speeds)
+- 3-Dr (Drive, three speeds only)
+- Lo (Low gear)
+- R (Reverse)
+
+Neutral isn't just a mid-way point between reverse and drive in this car. It's
+a necessity. With automatic Hornets (and Hydramatics in general), neutral is
+used to start the car. There is an electric lockout preventing the car from
+being started in any gear but neutral, so you do have to put the car in neutral
+before you turn the key (if you're on a hill put your foot on the brake or
+engage the parking brake).
+
+Drive is split into 4-Dr and 3-Dr, which basically decides whether the
+transmission utilizes high gear. In the owner's manual, Hudson recommends using
+3-Dr for driving around town (as the low RPMs delivered by high gear means
+unnecessary shifting in and out of 4th gear) and 4-Dr for highway driving. It
+really depends on what speed you're going to be driving at but there isn't
+anything wrong with driving around in 4 all the time. I typically leave it in
+4th at sustained speeds above 45MPH. You can switch between these gears any
+time while moving.
+
+Low gear basically locks the transmission in 2nd gear so you don't spin the
+wheels. The owner's manual says this is for pulling out of sand or dirt if you
+get stuck.
+
+Reverse works just about how you might expect but with an added catch: if the
+engine is off it acts as park. That's right. When you turn the car off you can
+put it in reverse and the transmission will engage a lock pin to prevent the
+car from rolling. You can't start the car in this gear because of the lockout
+however so you have to shift into neutral to start the car. So for starting,
+put it in neutral, for stopping, put it in reverse.
+
+# Choke and Gas
+
+For cold starts, our Hornet (and I believe this was common for other Hudsons of
+the time) is equipped with an automatic 2-stage choke. Push the pedal all the
+way to the floor once to set the choke. After the car has started and has
+warmed up, kick the gas quickly to the floor and release to cancel the choke.
+
+For warm starts the engine doesn't need the choke but likes to be given just a
+little bit of gas while cranking.
+
+# The Keys, Ignition, and Warning Lights
+
+Hudsons like mine come with two keys. The octagonal one is for starting the
+car, it's used in the ignition. The round one is used for the door and trunk
+locks (and I believe in my case the glove box). My understanding is this is
+actually reversed from the majority of Hudsons and is due to a locksmith error
+at one point or another.
+
+The ignition switch sits so that the teeth of the key enter vertically. Turning
+the key left powers accessories like the radio. Turning the key right once
+switches the car to "ON" which will allow the engine to be started and remain
+running.
+
+Here's where some things may vary depending on the year of the car. For '51
+Hornets, there's a separate starter button located all the way on the left
+control pod. For these cars, you put the key in and turn it to "ON", and then
+press and hold the button until the car has started up. For '52 Hornets
+onwards, the ignition switch also activates the starter if you turn the key
+past "ON" (like in most modern vehicles).
+
+If you turn the key to "ON" you'll see two red warning lights appear on the
+dash next to the indicators marked "AMP" and "OIL". These are [alternator]
+charging status and oil pressure status lights. Our car is equipped with a 12-V
+alternator system so the AMP light really comes on if there is low voltage
+while the oil pressure light comes on when there's low oil pressure. These
+lights will only appear with engine off, key "ON" or if something has gone very
+wrong.
+
+# Starting and Driving
+
+So now that I've gone over the basics of all the components, here is the normal
+starting procedure. It actually varies depending on whether the engine has been
+warmed up. That's life with carburetors.
+
+## From cold:
+
+- Put your foot on the brake, and shift the lever into neutral. Just push it
+ vertically, pulling towards you slightly if you need to.
+- Push the gas pedal all the way to the floor once and let your foot back up
+ again to set the choke.
+- Put the key in the ignition and start the car (the "AMP" and "OIL" lights
+ should switch off.
+- Wait for the engine to smooth out so you know that it's warm enough to cancel
+ the choke, and kick the gas pedal once to cancel it. (If the RPMs are still
+higher than idle then it's not quite at operating temperature yet)
+- Pull the shifter down into 4-Dr or 3-Dr (or R), and release the parking brake
+ by twisting the handle towards the steering wheel
+- Let off the brake and you're off!
+
+## From warm:
+
+- Put your foot on the brake and shift into neutral.
+- While giving just a little bit of gas, start the car. Both warning lights
+ should disappear. When the engine fires up you can let off the gas and let it
+idle.
+- Pull the shifter into 4-Dr or 3-Dr (or R), and release the parking brake by
+ twisting the handle towards the steering wheel.
+- Done.
+
+# Stopping and parking
+
+- Hold your foot on the brake and twist the parking brake handle towards the
+ door of the car, and pull it towards you
+- When you're ready to shut off the engine, you can shift it into either
+ neutral or reverse and turn the key off. Shift it into reverse if you haven't
+already to lock the transmission.
+
+Note: I usually engage the parking brake AND put the car in reverse, just to be
+safe. If you had to pick one however I would use the transmission in case
+you're on a steep hill and your brakes fail for whatever reason.
+
+And there you have it! Not much is different from most cars around today but
+there are one or two quirks (more about old cars than about Hudsons in
+particular). The only major thing to keep track of while driving is that you
+have no power steering, so get ready to anticipate turns sooner and use more of
+the wheel with every turn.
+
+
+
diff --git a/wheels/2019-07-04-yabs-yet-another-bad-shop.md b/wheels/2019-07-04-yabs-yet-another-bad-shop.md
new file mode 100644
index 0000000..d123d92
--- /dev/null
+++ b/wheels/2019-07-04-yabs-yet-another-bad-shop.md
@@ -0,0 +1,158 @@
+---
+permalink: "/posts/{{categories}}/{{slug}}"
+title: YABS - Yet Another Bad Shop
+categories:
+ - automotive
+tags:
+ - yabs
+ - sucky
+ - auto
+ - repair
+ - shops
+published_date: "2019-07-04 22:12:46 +0000"
+layout: post.liquid
+is_draft: false
+excerpt_separator: "\n\n\n"
+---
+
+Today I received a text message from a local mechanic/auto shop asking me to
+leave them a Google review. It was an automated message from a shop that I know
+well and have used many times in the past. Unfortunately, I have had several
+poor experiences (at the time they seemed horrific) with them in the past year
+and I can honestly say they'll never receive my business again. Now I could
+have used this as an opportunity to leave them an anonymous nasty-gram but
+instead I'm going to do the opposite. I'm going to write about everything I
+don't like about them without telling you who they are or hiding who I am. Why
+would I do that? Well for one, they were an excellent shop for many years. I
+believe a recent change in management is to blame and I'm not going to ruin
+their chances of making a comeback (because frankly I would like for them to
+rebound). And secondly, I don't believe in hiding. This page and its author are
+public knowledge. Now, in no particular order: a sample of awful work from yet
+another bad shop.
+
+# Mom's Truck -- Balls Out
+
+Mom's truck is a 2007 Chrysler Aspen that she loves very much. Dad does a whole
+lot of work on it himself (the both of us do pretty much everything we can
+in-house so long as we have the right equipment). We've been taking her truck
+into this shop for years because we've found them to be reliable, efficient,
+and economical. As I said before, at some point in their recent history they
+changed hands -- either ownership or management, I can't remember which. It was
+around this time that Dad decided to overhaul Mom's front suspension. He
+replaced the ball joints, tie rod ends, and a few other worn out parts. He then
+did his own best-guess front-end alignment, but left everything loose so that
+YABS could finish up the alignment and tighten everything. Now read that again
+because it's important. Dad did his own alignment in our driveway (as a
+cost-saving measure), got it decently close, but then instructed this shop to
+finish the job and tighten everything up.
+
+Now here's where things fall apart. This shop full of professional mechanics
+took one look at the alignment Dad did and decided it was good enough. Hooray
+for Dad and supernatural mechanical skills, but the shop didn't even touch the
+car. They called Dad back to come pick up the car, telling him it was already
+good to go. They never tightened a thing, even after Dad explicitly told them
+everything was loose and needed to be tightened but they didn't to touch a
+thing. So what happened? Dad picked up the car assuming everything was A-OK and
+Mom drove the car for about a week before the two front tires wore down so
+badly they had to be replaced immediately. Everything fell out of alignment as
+things loosened further and further and the tires wore unevenly until they
+ripped themselves to shreds. The worst part? These weren't tires with 6+ years
+on them. These were brand new tires. So YABS got to install two more front
+tires and then tighten everything. They did not cover the costs, presumably
+because it was Dad who had done the alignment. Strike one.
+
+# Friend's Minivan -- Crude Necessities
+
+A good friend of ours drives a 2005-2006 Chrysler Town and Country. It was
+actually Mom's car before upgrading to the Aspen (the minivan was perfect in
+every way but it couldn't tow). Our friend has been using YABS for just a long
+as we have. Once again, things started getting kinda strange after several
+years of good service. She started getting charged extra for simple repairs she
+had them doing very consistently. They also started tacking on extra items for
+routine jobs. She would go in for an inspection and they would claim she needed
+a new Part X. Now this in and of itself isn't an uncommon or even strange
+request to make. As cars age they need things and sometimes you don't know what
+they need until you visit a professional mechanic. They remember the things you
+forget about.
+
+One day they did all the forgetting, and they forgot a pretty important, nay,
+crucial engine component: motor oil. Our friend took her minivan into YABS for
+a routine oil change. Good diligence on her part. And she's not the type to do
+that change on her own. She's too old to get under a car anyway (no offense!).
+So she took the van to YABS and they did a job they've done thousands of times:
+drain oil, replaced the filter, and gave her back the car. Easy peasy right?
+Now I know I'm not a professional but I'm thinking someone might have wanted to
+double-check that several quarts of synthetic had left the shop shelf and gone
+into the car they just backed out of the bay door. Now this part of the story
+I'm a little fuzzy on so take it with a large, heaping grain of salt, but I can
+say for a fact that they failed to *completely* refill the engine oil before
+returning her car. Supposedly there was enough in there such that the minivan
+survived long enough for them to realize it before she drove off.
+
+# Monty, My 2013 Ford Focus -- Nut Allergy
+
+I decided to give YABS another try after a long leave of absence. I needed new
+tires all around for my daily driver. I also needed an inspection and an
+alignment. A simple set of tasks for any shop (you see where this is going). I
+initially tried to go to another local shop but they were all out of the tires
+I was looking to get so I caved and went to YABS. About halfway through the job
+they gave me a call and told me they had some bad news. They said that there
+were some issues getting the lug nuts off my wheels and that they had all been
+stripped, warped, or otherwise destroyed in the process. They told me the only
+fix was to get new ones from a supplier in town for about $160. Keep in mind
+the entire job (inspection, tires, etc.) was going to cost $650. Furthermore,
+dad and I had no problem getting those lug nuts off and back on again just a few
+weeks prior when we changed the transmission fluid.
+
+They didn't have an explanation that I could reconcile with. Joe Schmo over
+the phone told me this is typical of Fords and Chryslers these days and that
+they'd like to keep my lug nuts for a class action lawsuit they're participating
+in. Now why on Earth would any sane mechanic, with full knowledge they are
+dealing with a defective set of lug nuts, take a high power impact wrench to
+those wheels without speaking with the owner about it first? Smelled fishy to
+me honestly. But what was I gonna do? Dad went out and grabbed twenty new
+lug nuts for cheaper than they wanted to sell them for.
+
+Oh the tires were Cooper GTs by the way and they're amazing. They're smooth
+and quiet and came with a very nice warranty. They're also made in the USA,
+which is very important to me. 10/10 would recommend.
+
+# Ole Blue -- Tunnel Vision
+
+This was the real kicker. And this one doesn't really have any trailing
+narrative. I got four new tires on Ole Blue, my 1953 Hudson Hornet. They were
+delivered to our house: four brand new Diamond Back wide white wall radials.
+Super nice tires, with a super nice road hazard warranty (as a side note I
+totally recommend you [check out Diamond Back's website]() if you're looking
+for white wall radials). So we brought the car to YABS with the new tires and
+asked them to mount them on the car.
+
+When we went to pick up the car everything looked great and I drove off. I made
+it all the way to the Monitor Merrimack Memorial Bridge Tunnel before I heard a
+loud rattling and a bang. I looked in the rear-view mirror and swore I could
+see my precious hubcap rolling off to eternity. When they replaced the hubcaps
+they didn't fully press one of them on. And it's not that difficult. These hub
+caps are very secure when pressed on the rim, we've never had problems with
+them. Oh and we're talking about Hudson hubcaps that came with the car, and
+aren't super easy to find. And I couldn't stop to get out and grab it because I
+was right at the mouth of the tunnel. We went back later to try and see it but
+we couldn't. And it was probably destroyed getting thrown from the car anyways.
+
+The worst part is, the hubcap took a chunk out of my white wall on its way out
+from under the wheel skirt. So the day I got the tires I had to take a picture
+and redeem my road hazard warranty. Luckily, Diamond Back were true to their
+word and sent me a new one no questions asked. The beat up tire is now my
+spare.
+
+# Not All Bad
+
+Like I said before, YABS used to be a very nice shop with friendly people that
+did good work. And they didn't charge exorbitant prices for their work. Times
+have changed, and I believe management has as well. I've stopped visiting their
+shop completely. I found a new one that I trust and will be taking all of my
+cars to. They've already done a safety inspection on Ole Blue and didn't put up
+a fuss. They're clean and friendly and don't seem to be out to screw me. But as
+with everything else, your mileage may vary.
+
+
+
diff --git a/wheels/2019-08-30-keep-right-except-to-pass.md b/wheels/2019-08-30-keep-right-except-to-pass.md
new file mode 100644
index 0000000..0e6daba
--- /dev/null
+++ b/wheels/2019-08-30-keep-right-except-to-pass.md
@@ -0,0 +1,51 @@
+---
+permalink: "/posts/{{categories}}/{{slug}}"
+title: Keep Right Except to Pass
+categories:
+ - automotive
+tags:
+ - left lane hogs
+ - virginia drivers
+ - passing lane
+ - thru lanes
+excerpt_separator: "\n\n\n"
+published_date: "2019-08-30 19:57:34 +0000"
+layout: post.liquid
+is_draft: false
+---
+Greetings fellow drivers of Hampton Roads. You may have noticed a new sign on
+I264 today that befuddled or confused you. It went something along the lines of
+
+> LEFT LANE IS
+> FOR PASSING
+> NOT CRUISING
+
+Believe it or not this has been the law throughout Virginia for years ([read
+about it
+here](https://law.lis.virginia.gov/vacode/title46.2/chapter8/section46.2-804/)
+and
+[here](https://law.lis.virginia.gov/vacode/title46.2/chapter8/section46.2-842.1/)).
+The law states you keep right except while passing. In most other states things
+work this way but in Virginia, especially around here, the left lane is treated
+as a moving, cruising lane. If you're in the left lane and you've completed a
+pass please be mindful of the cars behind you and move back over into the
+right-hand lane(s) so that other drivers can do the same.
+
+It's really nice when this is practiced (like I said, I've experienced it in
+other states) because you can easily move over when there are slow vehicles
+ahead and then continue on your merry way. It reduces congestion and prevents
+people from having to pass in the right lane, which is both annoying and
+dangerous. Especially since this is typically the lane cars from entrance and
+exit ramps are merging with.
+
+Don't forget too that it isn't rude or road-rage-y for someone behind you to
+honk their horn or flash their lights if you're moving too slowly in the
+passing lane. This is a perfectly polite request to pass you. You don't set or
+enforce the speed limit. The correct (and legal) thing to do, believe it or
+not, is to move over and slow down to let them pass you. It's all about safe
+and sane driving etiquette. If you aren't actively passing other cars, move on
+over to the right. It goes a long way.
+
+
+
+
diff --git a/wheels/my-first-car-is-a-1953-hudson-hornet.md b/wheels/my-first-car-is-a-1953-hudson-hornet.md
new file mode 100644
index 0000000..d03da5a
--- /dev/null
+++ b/wheels/my-first-car-is-a-1953-hudson-hornet.md
@@ -0,0 +1,9 @@
+---
+title: My First Car Is a 1953 Hudson Hornet
+categories: []
+tags: []
+layout: post.liquid
+is_draft: true
+excerpt_separator: "\n\n\n"
+---
+Start writing already...
diff --git a/wheels/oh-sh-t-or-the-case-for-safer-classic-cars.md b/wheels/oh-sh-t-or-the-case-for-safer-classic-cars.md
new file mode 100644
index 0000000..d48093c
--- /dev/null
+++ b/wheels/oh-sh-t-or-the-case-for-safer-classic-cars.md
@@ -0,0 +1,10 @@
+---
+permalink: "/posts/{{categories}}/{{slug}}"
+excerpt_separator: "\n\n\n"
+title: "Oh, Sh*t, or, the Case for Safer Classic Cars"
+categories: ["automotive"]
+tags: []
+layout: post.liquid
+is_draft: true
+---
+Start writing already...
diff --git a/wheels/old-cars-are-perfectly-viable-machines.md b/wheels/old-cars-are-perfectly-viable-machines.md
new file mode 100644
index 0000000..2f4e104
--- /dev/null
+++ b/wheels/old-cars-are-perfectly-viable-machines.md
@@ -0,0 +1,15 @@
+---
+excerpt_separator: "\n\n\n"
+permalink: "/posts/{{categories}}/{{slug}}"
+title: Old Cars are Perfectly Viable Machines
+categories: []
+tags: []
+layout: post.liquid
+is_draft: true
+---
+
+- tow boats
+- road trips
+- groceries
+- commuting
+
diff --git a/wheels/sketchy-looking-gas-stations-aren-t-that-sketchy.md b/wheels/sketchy-looking-gas-stations-aren-t-that-sketchy.md
new file mode 100644
index 0000000..d81b295
--- /dev/null
+++ b/wheels/sketchy-looking-gas-stations-aren-t-that-sketchy.md
@@ -0,0 +1,10 @@
+---
+excerpt_separator: "\n\n\n"
+permalink: "/posts/{{categories}}/{{slug}}"
+title: "Sketchy-Looking Gas Stations Aren't That Sketchy"
+categories: []
+tags: []
+layout: post.liquid
+is_draft: true
+---
+Start writing already...