Posts

Featured Posts

Writing on various topics including travel, finance and technology.

Surfing the Uncensorable Web

11 minute read Enclosure Published

Testing the waters of ZeroNet to enjoy a Web without information gatekeepers.

Unless you’ve been living under a rock you already know the guy behind WikiLeaks, who was living at an Ecuadorian embassy in London, was recently arrested and now facing extradition to the United States – the country I’m originally from – and the country which forces tax payers to fund the second-largest stockpile of nuclear weaponry ever created.

But perhaps you didn’t know that WikiLeaks was at one point hosted by Amazon. Yep, right up until political pressure caused them to take it down. Afterall, nothing says freedom like a fear of misbehavior in a country with the highest incarceration rate in the entire world. I suppose Julian Assange’s situation could be worse… Maybe, had he also been practicing Falun Gong in China. But I digress. And there’s no telling what’s going to happen.

DarkDuckGo

2 minute read Published

Improve your search privacy on DuckDuckGo using custom URL parameters.

I’ve been using DuckDuckGo as my primary search engine since it was introduced to me by a colleague in Chicago. This was before I was able to close my Google account but some time after losing hundreds of photos leaving Facebook. And though I was aware DuckDuckGo maintains a hidden service for Tor users it wasn’t until recently I felt confident enough with my OS security to safely use it.

Rather than just bookmarking and using the DDG onion site, however, I decided to leverage some of the nifty URL params they’ve made available. Following is a quick rundown of the URL params I’m using to customize my DDG search experience for use with Tor. In After Dark fashion I’ve decided to name them “DarkDuckGo”.

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 {{ external “https://gitea.io/" “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 DigitalOcean and Lightsail. But really I just needed a testbed to prove things out to finally feel 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 cabinhack.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.

Adeng Adeng, GitHub

3 minute read Published

Why I deleted a 10 year-old GitHub account and how I expect it will improve my development workflow in the Saka New Year.

The P20 Pro blinked itself on the morning after Nyepi, alarm sounding as the Hindu island of Bali reopened at the first new moon in March. I looked over at the planning board on the wall. Unlike the day prior, it was now filled with cards ready to be transitioned to the DONE column. Leaving GH wasn’t one.

Brew Install Missing Formulas

4 minute read Published

How to recover deleted Homebrew formulas following a brew upgrade.

Okay so I was trying to upgrade to the latest version of Hugo today on macOS and didn’t have the time nor the patience to read man brew again.

tldr brew didn’t show how to install a specific version of a formula so I did what any reasonable person would do and read Jake Trent’s downgrading post so I knew how to go back after an upgrade.

Then I ran a brew upgrade hugo to get the latest Hugo version…

Managing Passwords on Android

2 minute read Updated

How to secure your passwords and keep them synced between devices.

After hacking Android onto an HD2 previously running Windows Mobile I quickly became challenged with the task of recalling passwords for frequently used apps – apps like Telegram, ProtonMail, Binance, Snapchat you name it.

And although long-term password management may feel like a burdensome task to some a steadfast approach is critical for security and relatively painless for anyone who’s been using a KeePass port the last decade.

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.

Using Neon Wallet with Ledger Nano S

2 minute read Updated

How to store NEO on Ledger Nano S using Neon Wallet.

Neon Wallet is an open source cross-platform light wallet for the NEO blockchain available on Windows, macOS and Linux. Neon Wallet enables you to tap into the NEO smart economy directly from your Ledger Nano S. Follow along to find out how.

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.