18 Years of Blogging

This blog has been alive in some form since 2002. As you can imagine a lot has changed in 18 years. The blog has moved physically from servers under desks, servers in closets, to finally virtual machines in the cloud. Even those VMs have changed AWS instance sizes and Ubuntu LTS versions over time. The blogging platform has also changed. I started this thing with a custom set of PHP pages that I wrote myself to pull entries from a MySQL database. I migrated to something called Serendipity for a while to get more features and then finally to WordPress. All the while the MySQL backend has been pretty much the same.

My photo sharing strategy has also changed. I moved from a directory of images, to Menalto Gallery, to Gallery3, and recently to Piwigo. Gallery3 has been unsupported for a VERY long time, but the nail in the coffin was that it required me to keep an older PHP version on the server. The switch to Piwigo allows me to ditch my Ubuntu PPAs for old PHP versions, and lets me use a photo sharing platform that receives updates, has themes, and works well on mobile.

The problem I face now is that in 18 years I’ve linked to a LOT of photos directly from the blog posts. In some places I wrote the HTML directly, in other places I inserted a link to an image using a WordPress block. In almost all of those cases I’m linking to Gallery3 album pages that no longer function. ALL of the older JPG images are still in the Gallery3 folders, taking up lots of space since they also exist in Piwigo.

I’m left with a few options:

  1. Go back and edit every single blog post that linked to images with the new Piwigo links.
    1. This may be easier if I create a LOT of permalinks inside Piwigo’s “category” structure for albums.
  2. Create some complicated mod_rewrite rule that intercepts the old links and sends to the new link.
    1. This will REQUIRE that I create a lot of permalinks in Piwigo.
  3. Put some boilerplate text at the top of every old post that points to the new high level photo gallery.
    1. Not great, because if I’ve learned anything – this won’t be the last platform migration I ever do.
  4. Do nothing. Leave the old links and images broken. Think only of now.
    1. This is tempting, but there is a lot of nostalgia in those old posts.

Wish me luck on this project. I still have some work to do, and next week I should have some time to focus on it.

Update 2020-04-29:

Crazy twist. I reinstalled a BUNCH of PHP packages from a custom PPA and replaced them with the default Ubuntu repo packages and now my old Gallery3 is working again. I suppose this gives me an option to keep old images on Gallery3, and new images in Piwigo. Still more thought needed here.

Brenneka’s Wedding

Brendan and Anneka’s Wedding

Our amazing friends Brendan and Anneka (henceforth known as Brenneka) got married in Colorado on New Years Eve 2019/2020. It was an awesome time and we used the trip to see old friends, get outdoors, and just have a great time.

Side note: This trip in December was also what partially inspired my “Dry January”.

We spent the first few days of the trip with Mark and Jennifer, Kat’s flight attendant friends who live in Denver. We had a good time exploring local breweries and hanging out while we were snowed in. They may THE BEST breakfast – definitely a great visit! We were a little jealous of how much they get to travel. So many great photos on the wall from so many places.

After two days in Denver we got picked up by Rama and Graciela and took a trip to Rocky Mountain National Park. It was freezing cold up there so we decided to go on a hike around the like, and even hike out onto a frozen lake.

At the end of the park day we headed back south to Como, Colorado to stay in a tiny AirBnB cabin. It was a neat little place up on a very cold very windswept plain right next to the town of Fairplay, which is apparently the hometown that South Park is based on.

Waking up in the frigid -15 F temps we decided to take it a little easy and roll on up to Breckenridge around 9ish for cross country skiing. We bundled up like crazy and even though it was below zero we were still sweating and had to drop layers.

After getting our skis under us we headed straight back to Denver for night 1 of friend hangout and partying. Day 2 we met friends for brunch in a giant group, took a quick nap, then had an amazing New Years Eve wedding and reception downtown.

This was a fantastic trip. It had been such a long time since the gang was all together. It was nice to mix up some exercising, exploring, and partying all in one trip.

Home Improvement Porch Project

Kat bought our house around the same time that I bought my condo in 2014, before we even met! It’s an amazing property on a large wooded lot with nice privacy and set back a bit from the street in a quiet neighborhood.

The house had a great back deck with room for an outdoor dining table. Being in the woods and in NC means we had quite a few usable months for the porch – but our nemesis, the Aedes aegypti mosquito, made the outdoors pretty much a no-go-zone whenever it was above freezing for a few weeks.

Old Back Deck – Tree Removal In Progress

For years we were spraying for mosquitoes trying to keep the situation under control. We weren’t happy about having a service spray chemicals, but the mosquitoes were so thick in the air as to create a visible blood-sucking cloud.

We stopped the spray service when our next-door neighbor started raising bees and at that point we ceded control back to the mosquitoes. We needed to take more drastic (and expensive) measures to maintain an outdoor dining experience.

Last year, we decided we were going to replace the rotting front and rear decks with new long-lasting Trex Deck material and build a covered screened in section in the back. Along the way we cut down a number of trees, replaced the roof, and are nearing the final point where the back porch gets a screen added. Check out the album below to see the house as it changed over time.

Photos of our house project

We’re excited to use the new covered section as the temperatures warm up. We even plan on spending a few of our work from home days out there. We made sure there was PLENTY of power and that the WiFi signal covers the area!

There are still a few finishing touches we’re waiting on in addition to the screens. We need gutters and downspouts, to finish the paint on the outside siding, a few more lights and switches wired in, and some interior trim.

The next part of this crazy project is landscaping – but that may have to wait a while. What do you think of the new porch and the new look?

Peru Trip Overview

It’s been a dream of Kat’s to explore Peru and hike Machu Picchu for years now. Thanks to her influence it also became a dream of mine.

Before we get started on the details, here’s a link to the curated photos of our trip. I took thousands of photos, and these are the ones that stood out the most. Click each of these images below to open up a gallery for that part of the trip.

Pre-trek in Cusco Photo Gallery
Choquequirao Photo Gallery
Machu Picchu Photo Gallery
Rainbow Mountain Photo Gallery
Cusco Post-trek Photo Gallery
Post-trek in Lima Photo Gallery

Last year we were able to make this happen! We trained for MONTHS leading up to the Peru trip with all sorts of hiking and biking to get ready for the physical part of the challenge. We spent hundreds at REI getting all the right packs and gear we thought we’d need. We took all this gear on hikes all over the Southeast in preparation (like Mt. Mitchell in NC and Dragon’s Tooth in VA). Kat even went all-out and put dive weights in her pack to prepare for climbing at higher elevation.

We found a guide company, Kusa Treks (who we’d highly recommend), and invited some of our closest friends to make the adventure with us. It wound up being a trip with 5 people total. This was fantastic as we got what amounted to a private trekking experience.

I’d like to write up a post in the future that contains some more details.

  • The cast of characters
    • Kat & Jason
    • Nicole & Justin
    • Jackie
  • Trip Highlights
    • Best part of the trip
    • New thing that we learned
    • Best food
    • Thing that surprised us the most

I think the format should probably be one post for the trip overview, and then one post for each individual section. It seems like I’m looking at a lot of writing work. Consider this post the pre-overview. Leave a comment if you’d like to see anything else covered.

Mom’s Christmas Cookies

Here is a Christmas cookie recipe that’s been passed down for a few generations. I’m assuming my mom got this one from my great grandmother.

These cookies wind up being soft and delicious. They’re rolled out and easily cut into all sorts of fun shapes to fit the holidays.

Cookie Ingredients

  • 1 cup – Lard or Shortening
  • 1 3/4 cup – Sugar
  • 2 – Eggs
  • 2 tsp – Baking Soda
  • 1 tsp – Baking Powder
  • 1/2 tsp – Salt
  • 1 tsp – Vanilla
  • 1 cup – Milk
  • 5-6 cup – Flour

Cookie Instructions

  • Stir in baking soda and baking powder with milk
  • Blend sugar with fat
  • Beat in eggs
  • Sift dry ingredients together
  • Add half the dry ingredients to wet and mix
  • Add rest of dry ingredients slowly, making sure to mix thoroughly
  • Bake at 350 for 8-10 minutes

Frosting Ingredients

  • 3 cups – Powdered Sugar
  • 1/4 cup – Butter
  • 1 tsp – Vanilla and Milk

Frosting Instructions

This frosting is a huge part of why I love these cookies! MMMM sugar.

  • Soften the butter
  • Add powdered sugar
  • Add milk until the right consistency while beating
  • All ingredients should become a bit lighter or fluffy

Note: A previous version of this recipe suggested using coconut oil as a partial lard replacement. I definitely can’t recommend that. We could never get the consistency right that way.

Radiolab – Single Transferrable Vote

This morning I’ve had my mind blown, listening to Podcasts on the drive in to work.

You should listen to Radiolab’s Tweak the Vote podcast on ranked choice voting, or “Single Transferrable Vote”.

I heard about California’s idea for ranked choice voting a few years back and it caught into my brain, but I never thought much about it again. The podcast this morning really made me think about it.

First I was confused because the story about counting in Ireland is complicated, but like the wikipedia page for Single Transferable Vote says, for the voter it’s dead simple.

ALSO – if you’re in the US you should go vote tomorrow.

And maybe read this article about Maine for a look at a sample ballot.

Ditching No-IP for DuckDNS

I’ve been using dynamic IP address services from no-ip.com for a long time to give a DNS name to my dynamic home IP. I remember having a no-ip.com address in college around the early 2000s for my dorm, then apartment, computer. I went through a hiatus after college where I managed my domain name to IP mappings manually for a few years (and my own Bind setup), until it seemed like the ISPs started giving me a new address monthly and the burden was too much. I also sold the hardware the DNS server ran on at some point during my moves.

I was happy to see that after over 10 years away, no-ip was still there, and got signed up right away. I have an Ubuntu Linux system as my home desktop (and server really) and was glad to find a client that seemed to run on it. It was a little finicky to get going and was a black box sort of client to install. That wasn’t a good sign to start.

Then came the emails. Oh my god, the emails. Every 30 days they want to make sure you’re still there, and have you verify your domain name. They give you a 1 week notice too, so this means every 21 days you’re getting an email to verify that you’re still there. If you don’t verify – they say they’ll delete your account. When you try to click the email and go to the site it’s VERY clear they’d rather have you sign up for a paid account. Every 21 days for a few years I got nagged until I couldn’t take it any more! They clearly told me that I should go somewhere else for my business if I didn’t want to pay.

This sort of things just bugs me.

At the Open Source conference All Things Open, someone mentioned DuckDNS and I decided to give it a try. It’s been a night and day difference from no-ip so far, for the better.

Here’s what I like:

  1. There is no black box app or script to install on my Linux box. They just use cron and wget.
  2. The instructions are clear and easy to copy and paste.
  3. No one has emailed me anything yet, and since they have ZERO marketing team, I’m assuming no one will.

If you want to get started I highly recommend them. If you’re running a Linux server it’s dead simple.

The whole idea is that you sign up on duckdns.org and get a unique key for your desired domain name. You take this unique key and their copy and paste script and run that every 5 minutes as a cron job.

Every 5 minutes, your server uses wget (called via cron) with the duckdns URL and key and their server figures out your external IP and updates it accordingly. It was ridiculously easy to get started and used systems I already know and love (bash and cron).

Hiking: New Hope Creek North

The adventure on tap for today was to find a hiking trail that was close to home that we haven’t hiked before. We’re lucky in the Durham area to be so close to Duke Forest and the Eno river.

After a bit of online searching with coffee and couch time, we settled on New Hope Creek North. Parking was at Hollow Rock Nature Park off Erwin Rd. From there we crossed the road (despite explicit advice from signs that say do not cross the road, which I had never seen anything like) and headed north.

Strava Activity Entry for New Hope Creek North

The morning was cold and the trail was covered in fall leaves. After a little bit of downhill through the woods we came to the creek and proceeded to turn the wrong way. After a little bit of backtracking we trekked up Piney Mountain and along the river until the spot marked “bridge”, before turning around and hiking back.

This hike along the river was incredibly scenic, full of spots where it would be nice to stop on a sunny day and have lunch. You can see the water winding its way through giant boulders in quite a few places. There was a little bit of stream crossing, bank climbing, and rock climbing involved that makes this trail exciting.

There was no current bridge to be found at the spot marked bridge. Only the remnants of where you can imagine a bridge might have been. I should probably check out Open Street Maps and see if there is a “way” here and tag it appropriately.

We were on the north side of the creek, and we could see lots of rock overhangs on the south side that might make interesting spots to hang out. In one location there was a large tree that fell across the river that looked too inviting NOT to climb. We skipped it today because it was just too cold to risk it – but maybe someday we’ll be back.


This tree looks like it came down during hurricane Michael. It was blocking the trail so we had to go around on the root side.

There were boulders lifted up with the root ball. I’m guessing this tree was here for a long time. One hundred years? More?

There were lots of interesting spots to get up close and personal with the running water. On a sunny day I can imagine this being a great spot to hang out.

All Things Open 2018

Last week I attended the All Things Open conference in Raleigh. This is a conference dedicated to Open Source Software, which is very different from the usual vendor led conferences I attend. It was also unusual to commute to a conference in the morning and then back home at night. Usually conference season means at least one or two visits to Vegas. It was great to skip that this time around!

I mainly went to attend a few session and pick up some skills I could leverage myself. I wasn’t really going to market anything for Nutanix. Here are a few memorable things I took away from the show.

Overall Impression

This was different from a vendor led conference because there was no main stage presentation where a single vendor pitched their view or vision. Instead a lot of different voices were heard on a number of different loosely related subjects. At first my impression was that this led to a little bit of incoherence, but upon reflection I took a little something away from each of the presentations. They all fit in the general theme of the open source community – which is broad ranging itself.

Some of the sessions I wanted to go to were just too packed to even get in the room, so you won’t get any notes on SE Linux or “How to write good docs” (since the presenter was from Google).

I did manage to attend some great sessions on content marketing, personal brand building, and writing

Session: Building Your Personal Brand

Dorothea, the presenter for the brand building session, was herself a lesson on branding. She immediately opened with a comment about the price and ostentatiousness of her “Lady Gaga” shoes.

Your brand is the perception of you that others hold, that lives outside you. Your reputation is what follows you from birth and even beyond death.

She continued with a fun example of Martha Stewart’s brand journey (starting at age 15) that I found really helpful because it tied concepts into real world examples. My key takeaway from this session was LESS on branding and more on how incorporating a good story and example can make a presentation memorable.

I still don’t know what my brand is after this, so you tell me. What is the impression that I’m leaving with you, that persists separate from myself? IT Superhero? Something else?

Session: Marketing Your Open Source Project

I’m not marketing any open source products, but I’m certainly in the marketing organization. I found this session pretty helpful and also example packed.

The thing I can’t forget is this quote:
“Everything that touches the customer is marketing.”

Yes, that sounds right. Sometimes I hear the phrase “We’re ALL in sales.” Yes, I think that’s true. We’re also ALL in marketing. There is no way around it – your interactions with customers, your product, these all leave an impression about your product with the customer whether you are conscious of it or not.

Logos came up in this and many other sessions. If you have a logo your community can rally around that logo. People will want your stickers even if they don’t know what the product is. I don’t know how to take this into the corporate world, where every single product within a company is clamoring to be a uniquely identified component.

Another thing that I really need to start working on:
“If you need to answer something more than three times, it should be in a document.”
I spend a lot of my time just responding to informational queries directly. This is a good point that maybe could be an end of week ritual. What questions have I answered this week. Go back and copy the answer from slack and email and put it into a doc. Repeat and build.

I also want to read a book as a result of this talk:
Kathy Sierra: Making Users Awesome
and a blog
Creating Passionate Users

Keynote: 5 Things You Didn’t Know About Python

This was a fun main stage keynote in the morning about the sort of projects Python is used for. I found it upbeat and chocked full of great project examples. That’s the theme of the show so far. Examples are king!

I took a note to investigate HomeAssistant, an open source home automation tool that’s core focus is on giving you control and privacy while also providing home automation. I don’t know how this fits into my home automation journey, but now I have an item to research.

Keynote: Money As An Open Protocol

My vote for “Most Impassioned Presentation” goes to Andreas Antonopoulos for “Money As An Open Protocol“. He delivered what seemed like a 20 minute slide-less monologue that had the audience putting down their cell phones and paying attention. That’s a skill to admire.

Here’s my ham fisted summary.
Digital Currencies and the block chain are a way of implementing rules that allow us to establish and scale trust beyond the Dunbar number. When you move to a distributed system of money you remove root control of money. Who has root? Finding out who controls the system of money and what rules the system operates on are imperative for the operation of a society. Today the system and rules are behind a gatekeeper. Today the subject of money is taboo. Today, when people learn how fractional reserve and other parts of the system function, they say “That must be a scam.”

Reform in society should start with taking back control of the mechanism for expressing value, money. You don’t have to trust everyone in the system, but you have to trust (and know) the rules that the other players operate by.

Here’s a fun analogy I pulled straight from my notes during the talk: Remember when the Internet ran on top of voice phone lines. The crappiest copper pair you could string together. Now all voice runs on top of the Internet as just a tiny fraction of traffic. Imagine the same thing for banking and BitCoin. Eventually all of commercial banking could run on top of a distributed ledger such as the BitCoin block chain as just a fraction if the chain’s functionality.

How to Write Your First Book or Just a Blog Post

Azat Mardan presented this session with advice on how to start writing. It’s why you’re reading this post in the first place! I’ve been stagnant in my writing and his tips were incredibly valuable. The key thought is to just start writing down your ideas. Start writing down your outline. Start iterating on the outline. The biggest problem he sees people falling into is getting stuck on tools and process, or not being able to break things up into small pieces.

Technology should be no barrier to writing. We’re all carrying notebooks, laptops, iPhones with us everywhere. We can start writing ANYWHERE for any amount of time. I woke up in a moment of sleeplessness a few nights ago and managed to come up with 15 blog ideas in just a few minutes before falling back to sleep. These all exist in my iPhone now!

I don’t have any immediate plans to start writing a book – but I’d like to be a little more active in the nerd blog here with some “How To” blog posts. I’d also like to start writing about my adventures with the wife, and sharing recipes that we love. It’s all a little bit of writing that exists for no other reason than to explore what makes me happy.

Doing it for myself was like the key to unlocking the project. It’s a thing I want to do, and if I break it into small enough pieces for short enough time periods it should be manageable.

Wish me luck!