tutorials

Encrypted Internet with WireGuard

9 minute read Enclosure Updated

How to install and configure WireGuard on Manjaro Linux, a step-by-step guide.

One of the motivations behind dual-booting Linux on my MacBook Pro was to take back control of my personal data. Not just because Apple uses faux encryption on iCloud. And not because macOS has been shown to leave users open to eavesdropping exploits. But because when I use my Mac with macOS the operating system gratuitously beams out activity records1, sharing information I’d rather keep private with people I don’t personally know nor have I ever met. And without the ability to shut it off, I find my privacy – the sentient and autonomous nature of my very being – constantly under attack.

In many instances, privacy is threatened not by singular egregious acts, but by a slow series of relatively minor acts which gradually begin to add up.

I've Got Nothing to Hide and Other Misunderstandings of Privacy

In this short guide I’ll show you how to encrypt and route your local Internet traffic through a fast, modern, and secure VPN tunnel called WireGuard using a free and open source operating system called Manjaro Linux. I will explain how to install WireGuard on Manjro, share a simple means of establishing and testing an encrypted Internet connection, and leave you with next steps and personal experience to help further your understanding and gain confidence getting started.

Dual-Boot Manjaro Linux & macOS Mojave

12 minute read Updated

Improve the utility and enjoyment of your MacBook. Learn how to dual-boot macOS Mojave and Manjaro Linux directly from your Apple SSD.

Are you familiar with the concept of “habit fields”? They’re these magical auras we give to everyday objects, assigning them purpose and allowing us to focus our awareness to accomplish tasks faster. But habit fields can work against you as well, if you’re not careful:

If you’ve been trying to do everything from one place and one device, then you may need to make a conscious decision to divide different modes of behavior.

Jack Cheng, Habit Fields (2010)

One device you may be trying to do everything from one place is the MacBook Pro. With the beefy specs on the flagship Apple notebook it can be easy to piledrive too many activities all into one place, affecting your Mac’s habit field.

But there’s a trick you can use to divide different modes of behavior on a Mac. And that’s to add a second operating system and dual-boot. Here’s how to install and dual-boot Manjaro Linux alongside macOS Mojave on a MacBook Pro.

How to Backup & Restore macOS Mojave

17 minute read Enclosure Updated

If there's one thing computers do well, it's malfunction. Plan ahead so you don't lose data should your Mac start behaving more like a computer.

Last month, while download Mojave patches for at least two zero-day exploits a malfunction occurred and I couldn’t upgrade, leaving my machine vulnerable:

During a 10 minute chat with Apple Care it was suggested I back-up and restore Mojave. The resolution wasn’t exactly what I’d hoped for. But not a big deal as I hadn’t created a backup in 3 years and it was about that time.

Self-host Gitea on Amazon Lightsail

9 minute read Enclosure Published

Learn how to self-host Gitea on Amazon Lightsail for only $3.50 USD per month.

Shortly after the buzz of MS purchasing GitHub I started self-hosting a Gitea stack using a Docker Compose file I threw together just for the occasion. The hosting I chose at the time was a $5 Vultr VPS with the following specs:

  • CPU: 1 vCore
  • RAM: 1024 MB
  • Storage: 25 GB SSD
  • Bandwidth: 1000 GB

I chose Vultr partly because they’ve been shown to be faster than DO and Lightsail. But really I just needed a testbed to prove things out. Something I did through sharing knowledge on the Gitea Support forums before, months later, finally feeling confident enough to abandon GitHub.

But Vultr isn’t cutting it anymore. Their $5/month VPS option, while arguably a great deal, isn’t delivering enough storage. Sure I could add block storage at $0.50 per GB or even consider switching to Linode. But I don’t see the point of either when Amazon offers a 40 GB SSD option at $5 an instance with double the bandwidth offered by Vultr and half the cost of the Linode equivalent plan.

As luck would have it, last night I ran out of disk space on Vultr. What better a time to make the switch over to Amazon Lightsail? And if you’re looking to self-host Gitea on Lightsail, here’s how you can too.

Unbrick a Micro SD Card using Tails and macOS Mojave

7 minute read Published

Learn to dual-boot a Mac using a second operating system running Linux and use it to troubleshoot hardware problems by unbricking a Micro SD card.

Recently, while creating a physical back-up of my Mac, I ended up corrupting the Micro SD card I was using to perform the back-up operation. This translated into a one line cautionary alert inside the related blog post:

Caution: DO NOT attempt to remove the SD card or adapter during this process.

Turns out removing an SD card during a 100+ GB 77,000 file transfer from a Mac to an SD card isn’t the best idea – despite what a five year-old might tell you.

After several hours of toiling with Disk Utility, diskutil and dd on macOS the furthest I got was to experience the same issues as another individual who posted on Apple Exchange 3 years ago - their question unresolved, until now.

Consolidate a Jekyll site with Hugo

8 minute read Published

How to migrate a website hosted on Jekyll into an existing Hugo site.

Three years ago I started a website called hackcabin.com to scratch an itch after discovering Hugo and starting development on After Dark. At the time my primary website was running Jekyll and build times were nearing the 2-3 minute mark for little more than 70-80 blog posts.

Swarm Clusters on Digital Ocean

9 minute read Updated

How to set-up a two-node Swarm cluster on Digital Ocean using Docker Machine.

Lately I’ve been learning more about cloud architecture and related tooling. Stuff like Lambda, Serverless, AWS CLI and – now that it’s a part of Docker Machine – container orchestration with Docker Swarm clusters.

As an AWS user I’m particularly geeked about the Docker Private Beta, which makes it possible to experiment with Swarm using Amazon Web Services. But rather than waiting for a private beta we’re going to experiment with Docker Swarm using one of my favorite prototyping tools apart from the RPi: Digital Ocean.

Zero to HTTP/2 with AWS and Hugo

5 minute read Updated

A step-by-step guide to creating your own JAMstack site using Amazon Web Services and the Hugo static site generator.

So you found out how Smashing Magazine got 10x faster and want to create your own JAMstack website with Hugo. If so, you’re in luck because I’m going to show you how to do it using Amazon Web Services so you don’t end up paying through the nose for hosting or locked into a provider which might disappear.

Optimize Images with Sketch App

4 minute read Updated

Optimize your image assets for the Web using Sketch app.

You know the drill. When you’re building for the Web or mobile performance is everything. Out of the box Sketch does not lend itself to producing flyweight images. But that doesn’t mean you need a second image editor, or even another tool, just to create performant images. Use these techniques to reduce file sizes and optimize images with Sketch.

Simple Websites with Jekyll and Docker

8 minute read Updated

How to host your own simple Jekyll websites on DigitalOcean using Docker.

Looking to create a simple website but don’t want to pay through the nose for hosting? Get started today for free with Jekyll and Docker.

Turbocharge Your Jekyll Blog

5 minute read Updated

How to dramatically speed up your static blog.

The need for speed is upon us. Out of the box the speed of an Octopress site kinda drags. However, there are a number of things you can do to to speed it up without a complete overhaul. Learn how to turbocharge your Octopress blog.