summaryrefslogtreecommitdiff
path: root/posts
diff options
context:
space:
mode:
authorAdam T. Carpenter <atc@53hor.net>2020-11-29 08:53:22 -0500
committerAdam T. Carpenter <atc@53hor.net>2020-11-29 08:53:22 -0500
commitaa6ade8c1bc51bc8f379442bb00710438d1385fd (patch)
treed0a99de1f2ceec24c6fe15d61661f96a33a05d3b /posts
parentdaa21252743400c83f9d46c7fdefc00058553d7f (diff)
download53hor-aa6ade8c1bc51bc8f379442bb00710438d1385fd.tar.xz
53hor-aa6ade8c1bc51bc8f379442bb00710438d1385fd.zip
organized posts, added profile, started makefile
Diffstat (limited to 'posts')
-rw-r--r--posts/computing/2019-04-06-why-have-a-website-in-2019.html176
-rw-r--r--posts/life/2019-07-21-dancing-the-shag-and-the-new-lion-king.html91
-rw-r--r--posts/life/2019-07-28-i-finally-found-a-drink-i-like.html92
-rw-r--r--posts/life/2019-08-11-marrying-my-best-friend.html74
-rw-r--r--posts/life/2020-04-10-the-obligatory-covid-19-post.html109
-rw-r--r--posts/life/2020-04-10-wedding-photos-are-here.html102
-rw-r--r--posts/programming/2020-07-11-why-computer-science-at-w-m.html255
-rw-r--r--posts/programming/2020-11-24-i-like-hyper-more-than-actix.html23
-rw-r--r--posts/unix/2019-07-04-the-best-way-to-transfer-gopro-files-with-linux.html133
-rw-r--r--posts/unix/2019-09-28-my-preferred-method-for-data-recovery.html282
-rw-r--r--posts/unix/2020-07-26-now-this-is-a-minimal-install.html107
-rw-r--r--posts/unix/dear-god-why-are-pdf-editors-such-an-ordeal.html79
-rw-r--r--posts/wheels/2019-06-07-how-to-start-and-drive-a-hudson-hornet.html328
-rw-r--r--posts/wheels/2019-07-04-yabs-yet-another-bad-shop.html241
-rw-r--r--posts/wheels/2019-08-30-keep-right-except-to-pass.html114
15 files changed, 2206 insertions, 0 deletions
diff --git a/posts/computing/2019-04-06-why-have-a-website-in-2019.html b/posts/computing/2019-04-06-why-have-a-website-in-2019.html
new file mode 100644
index 0000000..f8520d4
--- /dev/null
+++ b/posts/computing/2019-04-06-why-have-a-website-in-2019.html
@@ -0,0 +1,176 @@
+<!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="/includes/images/logo_diag.png" />
+ <meta property="og:site_name" content="53hor.net" />
+ <meta property="og:title" content="Why Have a Web Site in 2019?" />
+ <meta property="og:type" content="website" />
+ <meta property="og:url" content="https://www.53hor.net" />
+ <title>53hornet ➙ Why Have a Web Site in 2019?</title>
+ </head>
+
+ <body>
+ <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="/hosted.html">
+ <img src="/includes/icons/desktop-tower.svg" />
+ Hosted
+ </a>
+ </li>
+ <li>
+ <a type="application/rss+xml" 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>
+
+ <article>
+ <h1>Why Have a Web Site in 2019?</h1>
+ <blockquote>
+ Adam, why on earth do you have a website? Wait... Is this a
+ <em>blog</em>? It's 2019, why don't you just use Facebook?!
+ </blockquote>
+
+ <p>
+ 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.
+ </p>
+
+ <p>
+ 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.
+ </p>
+
+ <p>
+ 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.
+ </p>
+
+ <p>
+ 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
+ <em>Troll Nexus Center</em> because that's what you do when you're 15
+ </p>
+
+ <p>
+ My reasons then for building the Troll Nexus Center still stand now.
+ <em
+ >Having your own website is having your own piece of internet
+ property.</em
+ >
+ I first heard this wording from
+ <a href="https://www.youtube.com/watch?v=azkWYxyqh3Y"
+ >Luke Smith over on his YouTube channel</a
+ >
+ 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 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.
+ </p>
+
+ <p>
+ 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
+ <a
+ href="https://gsuiteupdates.googleblog.com/2016/11/a-totally-rebuilt-google-sitesnow.html"
+ >announced they would be shutting down the old Google Sites in favor
+ of an entirely new platform under the same name</a
+ >. 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 myself. 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.
+ </p>
+
+ <p>
+ So that's why I created my own website. If you want to know
+ <em>how</em> 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.
+ </p>
+
+ <p>
+ Now you know where to find me. If you want to keep up with me, be
+ old-fashioned and subscribe to my RSS feed.
+ </p>
+ </article>
+ </body>
+</html>
diff --git a/posts/life/2019-07-21-dancing-the-shag-and-the-new-lion-king.html b/posts/life/2019-07-21-dancing-the-shag-and-the-new-lion-king.html
new file mode 100644
index 0000000..692a132
--- /dev/null
+++ b/posts/life/2019-07-21-dancing-the-shag-and-the-new-lion-king.html
@@ -0,0 +1,91 @@
+<!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="/includes/images/logo_diag.png" />
+ <meta property="og:site_name" content="53hor.net" />
+ <meta property="og:title" content="Dancing the Shag & Two Left Feet" />
+ <meta property="og:type" content="website" />
+ <meta property="og:url" content="https://www.53hor.net" />
+ <title>53hornet ➙ Dancing the Shag & Two Left Feet</title>
+ </head>
+
+ <body>
+ <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="/hosted.html">
+ <img src="/includes/icons/desktop-tower.svg" />
+ Hosted
+ </a>
+ </li>
+ <li>
+ <a type="application/rss+xml" 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>
+
+ <article>
+ <h1>Dancing the Shag & Two Left Feet</h1>
+ <p>
+ 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.
+ </p>
+
+ <p>
+ 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.
+ </p>
+ </article>
+ </body>
+</html>
diff --git a/posts/life/2019-07-28-i-finally-found-a-drink-i-like.html b/posts/life/2019-07-28-i-finally-found-a-drink-i-like.html
new file mode 100644
index 0000000..447c454
--- /dev/null
+++ b/posts/life/2019-07-28-i-finally-found-a-drink-i-like.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="/includes/images/logo_diag.png" />
+ <meta property="og:site_name" content="53hor.net" />
+ <meta property="og:title" content="Finally Found a Drink I Like" />
+ <meta property="og:type" content="website" />
+ <meta property="og:url" content="https://www.53hor.net" />
+ <title>53hornet ➙ Finally Found a Drink I Like</title>
+ </head>
+
+ <body>
+ <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="/hosted.html">
+ <img src="/includes/icons/desktop-tower.svg" />
+ Hosted
+ </a>
+ </li>
+ <li>
+ <a type="application/rss+xml" 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>
+
+ <article>
+ <h1>Finally Found a Drink I Like</h1>
+ <p>
+ 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.
+ </p>
+
+ <p>
+ 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.
+ </p>
+
+ <p>
+ It's called <em>Blackberry Cream Soda</em>. 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.
+ </p>
+
+ <p>
+ <img
+ src="https://nextcloud.53hor.net/s/Jdpp8QYwo6nY9Fx/preview"
+ alt="Behold, Blackberry Cream Soda"
+ />
+ </p>
+ </article>
+ </body>
+</html>
diff --git a/posts/life/2019-08-11-marrying-my-best-friend.html b/posts/life/2019-08-11-marrying-my-best-friend.html
new file mode 100644
index 0000000..ab348e7
--- /dev/null
+++ b/posts/life/2019-08-11-marrying-my-best-friend.html
@@ -0,0 +1,74 @@
+<!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="/includes/images/logo_diag.png" />
+ <meta property="og:site_name" content="53hor.net" />
+ <meta property="og:title" content="I Married My Best Friend!" />
+ <meta property="og:type" content="website" />
+ <meta property="og:url" content="https://www.53hor.net" />
+ <title>53hornet ➙ I Married My Best Friend!</title>
+ </head>
+
+ <body>
+ <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="/hosted.html">
+ <img src="/includes/icons/desktop-tower.svg" />
+ Hosted
+ </a>
+ </li>
+ <li>
+ <a type="application/rss+xml" 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>
+
+ <article>
+ <h1>I Married My Best Friend!</h1>
+ <p>
+ 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.
+ </p>
+
+ <p>More to come!</p>
+ </article>
+ </body>
+</html>
diff --git a/posts/life/2020-04-10-the-obligatory-covid-19-post.html b/posts/life/2020-04-10-the-obligatory-covid-19-post.html
new file mode 100644
index 0000000..aa948f6
--- /dev/null
+++ b/posts/life/2020-04-10-the-obligatory-covid-19-post.html
@@ -0,0 +1,109 @@
+<!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="/includes/images/logo_diag.png" />
+ <meta property="og:site_name" content="53hor.net" />
+ <meta property="og:title" content="Obligatory COVID-19 Post" />
+ <meta property="og:type" content="website" />
+ <meta property="og:url" content="https://www.53hor.net" />
+ <title>53hornet ➙ Obligatory COVID-19 Post</title>
+ </head>
+
+ <body>
+ <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="/hosted.html">
+ <img src="/includes/icons/desktop-tower.svg" />
+ Hosted
+ </a>
+ </li>
+ <li>
+ <a type="application/rss+xml" 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>
+
+ <article>
+ <h1>Obligatory COVID-19 Post</h1>
+ <p>
+ 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.
+ </p>
+
+ <p>
+ 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.
+ </p>
+
+ <p>
+ 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.
+ </p>
+
+ <p>
+ We're also working through a family illness, which adds difficulty . We
+ expect a speedy recovery though 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.
+ </p>
+
+ <p>Stay safe, smart, and sane!</p>
+ </article>
+ </body>
+</html>
diff --git a/posts/life/2020-04-10-wedding-photos-are-here.html b/posts/life/2020-04-10-wedding-photos-are-here.html
new file mode 100644
index 0000000..01fc955
--- /dev/null
+++ b/posts/life/2020-04-10-wedding-photos-are-here.html
@@ -0,0 +1,102 @@
+<!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="/includes/images/logo_diag.png" />
+ <meta property="og:site_name" content="53hor.net" />
+ <meta property="og:title" content="Wedding Photo Debacle" />
+ <meta property="og:type" content="website" />
+ <meta property="og:url" content="https://www.53hor.net" />
+ <title>53hornet ➙ Wedding Photo Debacle</title>
+ </head>
+
+ <body>
+ <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="/hosted.html">
+ <img src="/includes/icons/desktop-tower.svg" />
+ Hosted
+ </a>
+ </li>
+ <li>
+ <a type="application/rss+xml" 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>
+
+ <article>
+ <h1>Wedding Photo Debacle</h1>
+
+ <p>
+ 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.
+ </p>
+
+ <p>
+ 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!
+ </p>
+
+ <ul>
+ <li>
+ <a href="https://nextcloud.53hor.net/s/eYLqeMGnSPGRNFE"
+ >Bachelor &amp; Bachelorette Parties</a
+ >
+ </li>
+
+ <li>
+ <a href="https://nextcloud.53hor.net/s/FxekyGQFTFKG5ot"
+ >Wedding Day</a
+ >
+ </li>
+
+ <li>
+ <a href="https://nextcloud.53hor.net/s/mgZ6M4ayqX73DqL">Honeymoon</a>
+ </li>
+ </ul>
+ </article>
+ </body>
+</html>
diff --git a/posts/programming/2020-07-11-why-computer-science-at-w-m.html b/posts/programming/2020-07-11-why-computer-science-at-w-m.html
new file mode 100644
index 0000000..9d98c9c
--- /dev/null
+++ b/posts/programming/2020-07-11-why-computer-science-at-w-m.html
@@ -0,0 +1,255 @@
+<!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="/includes/images/logo_diag.png" />
+ <meta property="og:site_name" content="53hor.net" />
+ <meta
+ property="og:title"
+ content="Why Computer Science at William and Mary"
+ />
+ <meta property="og:type" content="website" />
+ <meta property="og:url" content="https://www.53hor.net" />
+ <title>53hornet ➙ Why Computer Science at William and Mary</title>
+ </head>
+
+ <body>
+ <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="/hosted.html">
+ <img src="/includes/icons/desktop-tower.svg" />
+ Hosted
+ </a>
+ </li>
+ <li>
+ <a type="application/rss+xml" 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>
+
+ <article>
+ <h1>Why Computer Science at William and Mary</h1>
+
+ <p class="description">
+ Recently a rising high-school senior asked for input on what going to
+ the College of William and Mary was like for a Computer Science degree.
+ They were asking about the program itself as well as what it's like on
+ and off campus. Here's what I sent to them.
+ </p>
+
+ <h2>Quick Intro</h2>
+
+ <p>
+ I graduated with a Bachelor's in Computer Science from W&amp;M in 2018.
+ I'm a couple years in the workforce now but can still remember my
+ experiences well enough to hopefully add my honest opinion on my time
+ there as well as how it prepared me for my career. I will also add a
+ little bit about my time on campus in a dorm and off-campus in Colonial
+ Williamsburg.
+ </p>
+
+ <h2>Courses and Curriculum</h2>
+
+ <p>
+ I felt very positively about the array of courses that were offered
+ while I was a student. I took a variety of core prerequisites, just like
+ everyone else, and a good mix of electives. The courses I took include
+ Data Structures and Algorithms, Software Development/Engineering,
+ Computer Organization/Architecture, UNIX Systems Programming, Computer
+ Graphics/Animation, and Computer and Network Security. This list is not
+ exhaustive and I'm sure they aren't all offered anymore. I was also
+ required to take a few math classes (Calc I, II, Discrete Math, Linear
+ Algebra, and Finite Automata).
+ </p>
+
+ <p>
+ It is true that the courses listed at <code>cs.wm.edu</code> aren't all
+ offered at the same time. And it is also true that the higher-level
+ electives pretty much all required my core prerequisites to be
+ completed. The result is that the electives all came in my final two
+ years. My understanding is the curriculum is designed to give someone
+ the best possible background in computing as a whole. A lot of the
+ topics may seem like they would never be useful in the "real world" but
+ I have found the opposite is true. I am an application developer at a
+ three-letter company. My day-to-day work is building and debugging web
+ apps, but there's been a lot more to it than that. My first assignment
+ on the job was scraping bytes off a remote shell and writing a parser to
+ sift through them. The level of understanding I gathered from my core
+ classes helped more than I expected they would. I think as a whole they
+ give me an edge at work and help me teach my colleagues about
+ algorithms, performance, and systems administration.
+ </p>
+
+ <p>
+ That being said, course registration was always nightmarish. It was very
+ difficult to get into the limited seats in the classes I was most
+ interested in. Eventually the heads of the department had to pass around
+ a sign up sheet and organize every student into courses, classrooms, and
+ professors so that seniors would graduate on time and we could all get
+ <em>something</em> on our schedules. I hope the shortage of teachers has
+ caught up since I graduated. I learned from a long-time faculty member
+ that this is largely a result of the exponential growth of incoming CS
+ degree-seekers. The program has grown very popular in the last ten years
+ and I like to think grads are catching on to that.
+ </p>
+
+ <h2>Teaching</h2>
+
+ <p>
+ CS@W&amp;M had neutral to good instructors for me. Some were far worse
+ than others, as with all subjects. When I was there, lots of the older
+ faculty were retiring and quickly being replaced with younger, newer
+ instructors, which added to the growing pains of the program. The most
+ important thing again was making sure there were enough teachers to
+ teach all of the students.
+ </p>
+
+ <p>
+ I know a few of my peers were very upset about what they described as a
+ lack of communication or availability from their professors. Some have
+ also mentioned they didn't like having to learn material on their own
+ and wanted more to come from instruction. I don't deny that the material
+ itself was difficult and there was a lot of hard work I had to do on my
+ own to understand very involved concepts in intense, fast-paced courses.
+ I think that hard work has paid off. I don't think there's realistically
+ anywhere someone can learn about computing where they won't do any
+ learning on their own. I am also a very visual, and hands-on learner so
+ I suppose your mileage may vary.
+ </p>
+
+ <p>
+ The most important takeaway from this for me was the ability to pick up
+ new concepts and technologies quickly and apply them productively. The
+ majority of professors had project-driven courses. Lots of due dates
+ meant learning how to transform what I read or learned in class into
+ practical applications in short amounts of time. This has become,
+ according to those I work with, one of my greater assets. I am
+ constantly learning new things in my career and I don't have a lecturer
+ to explain things to me. It's very powerful to have that and I am
+ thankful for it. It also helps me teach that knowledge to my colleagues
+ so we can move faster as a team.
+ </p>
+
+ <h2>Campus</h2>
+
+ <p>
+ I agree with my peers about the conditions of classrooms and buildings
+ on campus. Some are old. I guess that comes with an old university but
+ there are a choice few that haven't been kept up as best they could.
+ Since CS is growing so fast it's also long outgrown its own offices.
+ Classrooms are scattered throughout every academic building on campus
+ and I probably had a CS course in at least 80% of them. That meant
+ jumping from one side of campus to another and back again in between
+ periods.
+ </p>
+
+ <p>
+ The College itself isn't too sprawling. I am long-legged and I found I
+ could get from one end of campus to another in fifteen minutes on foot.
+ I rode bike a lot to get to classes where I only had ten minutes to do
+ it. It's also pretty marshy and woodsy in a lot of areas, so during the
+ rainy season some walking paths got muddy or flooded. Good boots
+ required. I have never been in as good shape as when I had to do all
+ that walking but I definitely got soaked and winded making those
+ transitions.
+ </p>
+
+ <p>
+ I appreciate history and architecture and was drawn in by the look and
+ feel of William and Mary as a result. Without getting too romantic, it's
+ definitely a beautiful place to attend classes. The ancient Wren
+ building still holds classes and it's a monument to the College's
+ tradition. However, I really appreciated the modern academic buildings
+ on the other side of campus where all of the new construction was taking
+ place. Modern lab equipment and the library lived there.
+ </p>
+
+ <p>
+ The dorms were nothing to write home about. Lots of them were nested in
+ the woods and built ages ago so they were a little tired and even dingy.
+ Others are brand new and well maintained; ask around and get opinions on
+ which ones to go for first chance you get. I made do with what I got for
+ the first couple of years by keeping it clean and decorated. My last two
+ years I lived in a couple of off-campus apartments. It was well worth
+ the switch. Depending on where you are on campus you may need at least a
+ bike to access local restaurants, shops, and the grocery store. A bike
+ is a good idea anyway but it's not necessary for every dorm.
+ </p>
+
+ <h2>Colonial Williamsburg</h2>
+
+ <p>
+ Lots of my peers didn't appreciate CW as a "college town" but I enjoyed
+ my time there. I can't speak about parties or clubbing, I was boring and
+ didn't do any of that. I made a great group of friends and we would walk
+ into town to get ice cream, see historical attractions (most of which
+ are free as a student, IIRC), and see movies or plays when we weren't
+ studying or playing video games in the dorm. There are some good,
+ sort-of-affordable restaurants but they're kind of driving distance.
+ </p>
+
+ <p>
+ The best part about living there was meeting my wife. We would go on
+ long walks to get away from studying and wound up seeing
+ horse-and-carriages and the Governor's Palace and things like that. We
+ would also escape with her car to go to some of the surrounding towns to
+ get away to nice grocery stores and fun places to eat and explore on the
+ weekends. I also have family in the area so it was easy for me to stop
+ by home and say hi, although I know lots of students wanted to get as
+ far away from home as possible.
+ </p>
+
+ <h2>Parting Words</h2>
+
+ <p>
+ I don't consider myself a gung ho alumnus. There are lots of things I
+ think could be improved, both in CS and at W&amp;M as a whole but I do
+ not regret my going there. There is no such thing as "everything is
+ great" or "everything is terrible". It's not so definitive. I had my
+ fair share of gripes and at times it strained me. There were pros and
+ cons but I think I have a lot to be thankful for (I landed my job
+ through W&amp;M recruiting and the career center as well, which are
+ fantastic resources). I cannot say "do this instead of that." I haven't
+ gone to any other colleges and don't know enough about them to recommend
+ them as better or worse. What I can recommend is the same path I took
+ for folks who want to pursue a degree in Computer Science. I think
+ you'll come away from it all the more knowledgable, resourceful, and
+ dedicated.
+ </p>
+ </article>
+ </body>
+</html>
diff --git a/posts/programming/2020-11-24-i-like-hyper-more-than-actix.html b/posts/programming/2020-11-24-i-like-hyper-more-than-actix.html
new file mode 100644
index 0000000..33c5d9e
--- /dev/null
+++ b/posts/programming/2020-11-24-i-like-hyper-more-than-actix.html
@@ -0,0 +1,23 @@
+<h1>
+ I Like <a href="https://hyper.rs">hyper</a> more than
+ <a href="https://actix.rs">Actix Web</a>
+</h1>
+
+<article>
+ <p>
+ I've been using Actix Web as the HTTP service layer for some web
+ applications for a while now. I've written several APIs for work and
+ personal projects on top of Actix and always thought it was pretty spiffy
+ for what it does: listen for HTTP requests and respond to them with code
+ I've written. I was always a little bummed about how large the dependency
+ tree was with the project though, and how long it took to compile.
+ </p>
+
+ <p>
+ Recently I've been trying to write or depend on as little code as is
+ possible to get the job done, so I've been trying to take a look at whether
+ or not I
+ <em>need</em> what I've written or imported or even though of implementing
+ before I've written anything.
+ </p>
+</article>
diff --git a/posts/unix/2019-07-04-the-best-way-to-transfer-gopro-files-with-linux.html b/posts/unix/2019-07-04-the-best-way-to-transfer-gopro-files-with-linux.html
new file mode 100644
index 0000000..15c776f
--- /dev/null
+++ b/posts/unix/2019-07-04-the-best-way-to-transfer-gopro-files-with-linux.html
@@ -0,0 +1,133 @@
+<!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="/includes/images/logo_diag.png" />
+ <meta property="og:site_name" content="53hor.net" />
+ <meta
+ property="og:title"
+ content="Offloading GoPro Footage the Easy Way!"
+ />
+ <meta property="og:type" content="website" />
+ <meta property="og:url" content="https://www.53hor.net" />
+ <title>53hornet ➙ Offloading GoPro Footage the Easy Way!</title>
+ </head>
+
+ <body>
+ <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="/hosted.html">
+ <img src="/includes/icons/desktop-tower.svg" />
+ Hosted
+ </a>
+ </li>
+ <li>
+ <a type="application/rss+xml" 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>
+
+ <article>
+ <h1>Offloading GoPro Footage the Easy Way!</h1>
+
+ <p>
+ 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.
+ </p>
+
+ <p>
+ 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, <code>10.5.5.9</code>, 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
+ <code>wget</code>. 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:
+ </p>
+
+ <pre>
+ <code>
+sh wget --recursive --accept "*.MP4" http://10.5.5.9:8080/
+ </code>
+ </pre>
+
+ <p>
+ This tells <code>wget</code> 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.
+ </p>
+
+ <p>Some things I would like to change/add:</p>
+
+ <ul>
+ <li>
+ Download all image files as well; should be easy, just another
+ <code>--accept</code>
+ </li>
+ <li>Initiate parallel downloads</li>
+ <li>
+ Clean up the directory afterwards so I just have one level of depth
+ </li>
+ </ul>
+
+ <p>
+ 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.
+ </p>
+ </article>
+ </body>
+</html>
diff --git a/posts/unix/2019-09-28-my-preferred-method-for-data-recovery.html b/posts/unix/2019-09-28-my-preferred-method-for-data-recovery.html
new file mode 100644
index 0000000..b63ba5a
--- /dev/null
+++ b/posts/unix/2019-09-28-my-preferred-method-for-data-recovery.html
@@ -0,0 +1,282 @@
+<!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="/includes/images/logo_diag.png" />
+ <meta property="og:site_name" content="53hor.net" />
+ <meta property="og:title" content="How I Do Data Recovery" />
+ <meta property="og:type" content="website" />
+ <meta property="og:url" content="https://www.53hor.net" />
+ <title>53hornet ➙ How I Do Data Recovery</title>
+ </head>
+
+ <body>
+ <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="/hosted.html">
+ <img src="/includes/icons/desktop-tower.svg" />
+ Hosted
+ </a>
+ </li>
+ <li>
+ <a type="application/rss+xml" 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>
+
+ <article>
+ <h1>How I Do Data Recovery</h1>
+
+ <p>
+ 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.
+ </p>
+
+ <p>
+ 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 <code>m2ts</code> 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:
+ <code>ddrescue</code> and <code>photorec</code>.
+ </p>
+
+ <h2>DDRescue</h2>
+
+ <p>
+ <code>ddrescue</code> is a godsend of a tool. If you've ever used
+ <code>dd</code> before, forget about it. Use <code>ddrescue</code>. You
+ might as well <code>alias dd=ddrescue</code> 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 <code>dd</code> 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
+ <code>dd</code> operation? Did I mention that <code>ddrescue</code> can
+ pause and resume operations? It's that good.
+ </p>
+
+ <h2>PhotoRec</h2>
+
+ <p>
+ <code>photorec</code> 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 <code>photorec</code> with other
+ tools like Recuva et. al. And <code>photorec</code> isn't just for
+ photos, it can recover documents (a la Office suite), music, images,
+ config files, and videos (including the very odd
+ <code>m2ts</code> format!). The other nice thing is
+ <code>photorec</code> 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.
+ </p>
+
+ <h2>In Practice</h2>
+
+ <p>
+ 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 <em>something</em> 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 <code>ddrescue</code> to make an image of Amy's drive.
+ </p>
+
+ <pre><code>
+$ 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)
+ </code></pre>
+
+ <p>
+ The result was a very large partition image that I could fearlessly play
+ around with.
+ </p>
+
+ <pre>
+ <code>
+$ ll amy-lexar.dd
+-rw-r--r-- 1 root root 60G Sep 24 02:45 amy-lexar.dd
+ </code>
+ </pre>
+
+ <p>
+ Then I could run <code>photorec</code> on the image. This brings up a
+ TUI with all of the listed media that I can try and recover from.
+ </p>
+
+ <pre><code>
+$ sudo photorec amy-lexar.dd
+
+PhotoRec 7.0, Data Recovery Utility, April 2015
+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.
+ </code></pre>
+
+ <p>
+ After hitting proceed <code>photorec</code> 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.
+ </p>
+
+ <pre><code>
+PhotoRec 7.0, Data Recovery Utility, April 2015
+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
+ </code></pre>
+
+ <p>
+ Then <code>photorec</code> 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.
+ </p>
+
+ <pre><code>
+PhotoRec 7.0, Data Recovery Utility, April 2015
+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/...
+ </code></pre>
+
+ <p>
+ Now this menu is where I don't just go with the default path.
+ <code>photorec</code> 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
+ <code>photorec</code> to search everything.
+ </p>
+
+ <pre><code>
+PhotoRec 7.0, Data Recovery Utility, April 2015
+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
+ </code></pre>
+
+ <p>
+ 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.
+ </p>
+
+ <pre><code>
+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
+ </code></pre>
+
+ <p>
+ And then just press <code>C</code>. <code>photrec</code> 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.
+ </p>
+ </article>
+ </body>
+</html>
diff --git a/posts/unix/2020-07-26-now-this-is-a-minimal-install.html b/posts/unix/2020-07-26-now-this-is-a-minimal-install.html
new file mode 100644
index 0000000..07a398a
--- /dev/null
+++ b/posts/unix/2020-07-26-now-this-is-a-minimal-install.html
@@ -0,0 +1,107 @@
+<!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="/includes/images/logo_diag.png" />
+ <meta property="og:site_name" content="53hor.net" />
+ <meta property="og:title" content="Now This is a Minimal Install!" />
+ <meta property="og:type" content="website" />
+ <meta property="og:url" content="https://www.53hor.net" />
+ <title>53hornet ➙ Now This is a Minimal Install!</title>
+ </head>
+
+ <body>
+ <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="/hosted.html">
+ <img src="/includes/icons/desktop-tower.svg" />
+ Hosted
+ </a>
+ </li>
+ <li>
+ <a type="application/rss+xml" 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>
+
+ <article>
+ <h1>Now This is a Minimal Install!</h1>
+
+ <p>
+ 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.
+ </p>
+
+ <p>
+ 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.
+ </p>
+
+ <p>
+ 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.
+ </p>
+
+ <p>FreeBSD rocks.</p>
+ </article>
+ </body>
+</html>
diff --git a/posts/unix/dear-god-why-are-pdf-editors-such-an-ordeal.html b/posts/unix/dear-god-why-are-pdf-editors-such-an-ordeal.html
new file mode 100644
index 0000000..9adc833
--- /dev/null
+++ b/posts/unix/dear-god-why-are-pdf-editors-such-an-ordeal.html
@@ -0,0 +1,79 @@
+<!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="/includes/images/logo_diag.png" />
+ <meta property="og:site_name" content="53hor.net" />
+ <meta property="og:title" content="All PDF Readers/Editors Suck" />
+ <meta property="og:type" content="website" />
+ <meta property="og:url" content="https://www.53hor.net" />
+ <title>53hornet ➙ All PDF Readers/Editors Suck</title>
+ </head>
+
+ <body>
+ <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="/hosted.html">
+ <img src="/includes/icons/desktop-tower.svg" />
+ Hosted
+ </a>
+ </li>
+ <li>
+ <a type="application/rss+xml" 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>
+
+ <article>
+ <h1>All PDF Readers/Editors Suck</h1>
+
+ <p>All PDF editors/mergers/tools either:</p>
+
+ <ol>
+ <li>Cost hundreds of dollars</li>
+ <li>Require uploading private documents to a server for processing</li>
+ <li>Leave watermarks or charge you for "pro" features</li>
+ <li>Are blatant malware</li>
+ </ol>
+
+ <p>
+ Except mupdf and mutool, which are absolutely amazing and I can't live
+ without them.
+ </p>
+ </article>
+ </body>
+</html>
diff --git a/posts/wheels/2019-06-07-how-to-start-and-drive-a-hudson-hornet.html b/posts/wheels/2019-06-07-how-to-start-and-drive-a-hudson-hornet.html
new file mode 100644
index 0000000..e60e5f4
--- /dev/null
+++ b/posts/wheels/2019-06-07-how-to-start-and-drive-a-hudson-hornet.html
@@ -0,0 +1,328 @@
+<!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="/includes/images/logo_diag.png" />
+ <meta property="og:site_name" content="53hor.net" />
+ <meta
+ property="og:title"
+ content="How to Start and Drive a Hudson Hornet"
+ />
+ <meta property="og:type" content="website" />
+ <meta property="og:url" content="https://www.53hor.net" />
+ <title>53hornet ➙ How to Start and Drive a Hudson Hornet</title>
+ </head>
+
+ <body>
+ <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="/hosted.html">
+ <img src="/includes/icons/desktop-tower.svg" />
+ Hosted
+ </a>
+ </li>
+ <li>
+ <a type="application/rss+xml" 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>
+
+ <article>
+ <h1>How to Start and Drive a Hudson Hornet</h1>
+
+ <p class="description">
+ 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. This is for the non-experts, and
+ non-Hudsonites to get an idea of what it's like.
+ </p>
+
+ <p>
+ 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.
+ </p>
+
+ <h2>The Gauge Cluster, Switches, and Controls</h2>
+
+ <p>
+ 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
+ <em>should</em> 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.
+ </p>
+ <p>From left to right above the steering wheel you have:</p>
+ <ul>
+ <li>
+ A speedometer that tops out at 120 mph (with 99K odometer inside)
+ </li>
+ <li>
+ Fuel and coolant temperature gauges (and two dummy lights; more on
+ those later)
+ </li>
+ <li>A clock</li>
+ <li>An AM radio</li>
+ <li>A glove compartment</li>
+ </ul>
+
+ <p>From left to right under the steering wheel you have:</p>
+ <ul>
+ <li>A 2-speed wiper control knob</li>
+ <li>A weather control (heater) temperature slider</li>
+ <li>A 2-speed weather control fan knob</li>
+ <li>The ignition barrel</li>
+ <li>A headlight switch</li>
+ <li>
+ A cigarette-lighter (the owner's manual calls it a cigar lighter!)
+ </li>
+ </ul>
+
+ <p>
+ 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.
+ </p>
+
+ <h2>Dual-Range Hydramatic</h2>
+
+ <p>
+ 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.
+ </p>
+
+ <p>
+ 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:
+ </p>
+ <ul>
+ <li>N (Neutral)</li>
+ <li>4-Dr (Drive, all four speeds)</li>
+ <li>3-Dr (Drive, three speeds only)</li>
+ <li>Lo (Low gear)</li>
+ <li>R (Reverse)</li>
+ </ul>
+
+ <p>
+ 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).
+ </p>
+
+ <p>
+ 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.
+ </p>
+
+ <p>
+ 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.
+ </p>
+
+ <p>
+ 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.
+ </p>
+
+ <h2>Choke and Gas</h2>
+
+ <p>
+ 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.
+ </p>
+
+ <p>
+ For warm starts the engine doesn't need the choke but likes to be given
+ just a little bit of gas while cranking.
+ </p>
+
+ <h2>The Keys, Ignition, and Warning Lights</h2>
+
+ <p>
+ 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.
+ </p>
+
+ <p>
+ 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.
+ </p>
+
+ <p>
+ 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).
+ </p>
+
+ <p>
+ 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.
+ </p>
+
+ <h2>Starting and Driving</h2>
+
+ <p>
+ 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.
+ </p>
+
+ <h3>From cold:</h3>
+
+ <ul>
+ <li>
+ Put your foot on the brake, and shift the lever into neutral. Just
+ push it vertically, pulling towards you slightly if you need to.
+ </li>
+ <li>
+ Push the gas pedal all the way to the floor once and let your foot
+ back up again to set the choke.
+ </li>
+ <li>
+ Put the key in the ignition and start the car (the "AMP" and "OIL"
+ lights should switch off.
+ </li>
+ <li>
+ 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)
+ </li>
+ <li>
+ 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
+ </li>
+ <li>Let off the brake and you're off!</li>
+ </ul>
+
+ <h3>From warm:</h3>
+
+ <ul>
+ <li>Put your foot on the brake and shift into neutral.</li>
+ <li>
+ 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.
+ </li>
+ <li>
+ Pull the shifter into 4-Dr or 3-Dr (or R), and release the parking
+ brake by twisting the handle towards the steering wheel.
+ </li>
+ <li>Done.</li>
+ </ul>
+
+ <h2>Stopping and Parking</h2>
+
+ <ul>
+ <li>
+ Hold your foot on the brake and twist the parking brake handle towards
+ the door of the car, and pull it towards you
+ </li>
+ <li>
+ 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.
+ </li>
+ </ul>
+
+ <p>
+ 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.
+ </p>
+
+ <p>
+ 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.
+ </p>
+ </article>
+ </body>
+</html>
diff --git a/posts/wheels/2019-07-04-yabs-yet-another-bad-shop.html b/posts/wheels/2019-07-04-yabs-yet-another-bad-shop.html
new file mode 100644
index 0000000..e1dcaa2
--- /dev/null
+++ b/posts/wheels/2019-07-04-yabs-yet-another-bad-shop.html
@@ -0,0 +1,241 @@
+<!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="/includes/images/logo_diag.png" />
+ <meta property="og:site_name" content="53hor.net" />
+ <meta property="og:title" content="YABS: Yet Another Bad Shop" />
+ <meta property="og:type" content="website" />
+ <meta property="og:url" content="https://www.53hor.net" />
+ <title>53hornet ➙ YABS: Yet Another Bad Shop</title>
+ </head>
+
+ <body>
+ <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="/hosted.html">
+ <img src="/includes/icons/desktop-tower.svg" />
+ Hosted
+ </a>
+ </li>
+ <li>
+ <a type="application/rss+xml" 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>
+
+ <article>
+ <h1>YABS: Yet Another Bad Shop</h1>
+ <p>
+ 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.
+ </p>
+
+ <h2>Mom's Truck -- Balls Out</h2>
+
+ <p>
+ 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.
+ </p>
+
+ <p>
+ 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.
+ </p>
+
+ <h2>Friend's Minivan -- Crude Necessities</h2>
+
+ <p>
+ 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.
+ </p>
+
+ <p>
+ 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
+ <em>completely</em> 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.
+ </p>
+
+ <h2>Monty, My 2013 Ford Focus -- Nut Allergy</h2>
+
+ <p>
+ 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.
+ </p>
+
+ <p>
+ 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.
+ </p>
+
+ <p>
+ 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.
+ </p>
+
+ <h2>Ol' Blue -- Tunnel Vision</h2>
+
+ <p>
+ This was the real kicker. And this one doesn't really have any trailing
+ narrative. I got four new tires on Ol' 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
+ <a href="https://dbtires.com/">check out Diamond Back's website</a> 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.
+ </p>
+
+ <p>
+ 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.
+ </p>
+
+ <p>
+ 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.
+ </p>
+
+ <h2>Not All Bad</h2>
+
+ <p>
+ 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 Ol' 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.
+ </p>
+ </article>
+ </body>
+</html>
diff --git a/posts/wheels/2019-08-30-keep-right-except-to-pass.html b/posts/wheels/2019-08-30-keep-right-except-to-pass.html
new file mode 100644
index 0000000..61f329f
--- /dev/null
+++ b/posts/wheels/2019-08-30-keep-right-except-to-pass.html
@@ -0,0 +1,114 @@
+<!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="/includes/images/logo_diag.png" />
+ <meta property="og:site_name" content="53hor.net" />
+ <meta
+ property="og:title"
+ content="Left Lane is for Passing, Not Cruising"
+ />
+ <meta property="og:type" content="website" />
+ <meta property="og:url" content="https://www.53hor.net" />
+ <title>53hornet ➙ Left Lane is for Passing, Not Cruising</title>
+ </head>
+
+ <body>
+ <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="/hosted.html">
+ <img src="/includes/icons/desktop-tower.svg" />
+ Hosted
+ </a>
+ </li>
+ <li>
+ <a type="application/rss+xml" 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>
+
+ <article>
+ <h1>Left Lane is for Passing, Not Cruising</h1>
+
+ <p>
+ 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
+ </p>
+
+ <blockquote>LEFT LANE IS FOR PASSING NOT CRUISING</blockquote>
+
+ <p>
+ Believe it or not this has been the law throughout Virginia for years
+ (<a
+ href="https://law.lis.virginia.gov/vacode/title46.2/chapter8/section46.2-804/"
+ >read about it here</a
+ >
+ and
+ <a
+ href="https://law.lis.virginia.gov/vacode/title46.2/chapter8/section46.2-842.1/"
+ >here</a
+ >). 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.
+ </p>
+
+ <p>
+ 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.
+ </p>
+
+ <p>
+ 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.
+ </p>
+ </article>
+ </body>
+</html>