Reading List

The most recent articles from a list of feeds I subscribe to.

My First Impressions of MeshCore Off-Grid Messaging

When my wife saw me playing with my new encrypted radio, she asked what it was for.

“Imagine,” I said, “if I could type a message on my phone and send it to you, and the message would appear on your phone. Instantly!”

She wasn’t impressed.

“It also works if phone lines are down due to a power outage… or societal collapse.” Still nothing.

“If we’re not within radio range of each other, we can route our messages through a mesh network of our neighbors’ radios. But don’t worry! The radios encrypt our messages end-to-end, so nobody else can read what we’re saying.” By this point, she’d left the room.

Add a VLAN to OPNsense in Just 26 Clicks Across 6 Screens

How many clicks does it take to add a new VLAN to an OPNsense firewall?

Nothing fancy. Just your regular, basic VLAN with its own IPv4 range.

How many clicks should that take? Maybe two or three? Five if we’re real wild?

Every time I add a new VLAN to OPNsense, the process feels strangely tedious, so I decided to measure exactly how many clicks it takes to add a simple VLAN to my firewall.

Refactoring English: Month 11

New here?

Hi, I’m Michael. I’m a software developer and founder of small, indie tech businesses. I’m currently working on a book called Refactoring English: Effective Writing for Software Developers.

Every month, I publish a retrospective like this one to share how things are going with my book and my professional life overall.

Highlights

  • I’m running late on my book.
  • A great blog post inspired me to think more about convenience shell scripts.
  • The game Oxygen Not Included is fun.

Goal grades

At the start of each month, I declare what I’d like to accomplish. Here’s how I did against those goals:

Hold Off on Litestream 0.5.0

Litestream is an open-source tool that backs up SQLite databases to cloud storage in real time. I love it and use it in all of my projects.

Litestream is owned by Fly.io, and they paused development on Litestream for almost two years in favor of an alternative project called LiteFS. Two weeks ago, Ben Johnson, Litestream’s creator and lead developer, announced that they were shifting focus back to Litestream and had just published a new release, 0.5.0.

Read My Blog With JavaScript

You can now read my blog with client-side JavaScript. I’m not sure why you’d want to, but you can.

Maybe you want to add a blogroll to your site with a list of recent posts from your favorite blogs, but you don’t want to fetch them server side. If you wanted to use JavaScript to show my five most recent post titles, you’d write some code like this:

fetch("https://mtlynch.io/index.xml")
 .then((response) => response.text())
 .then((str) => new DOMParser().parseFromString(str, "application/xml"))
 .then((data) => {
 const articles = [...data.querySelectorAll("item")].map((item) => ({
 title: item.querySelector("title").textContent,
 date: new Date(item.querySelector("pubDate").textContent),
 }));

 // Sort articles by date, newest to oldest.
 articles.sort((a, b) => b.date - a.date);

 // Print the titles of the 5 most recent articles.
 articles.slice(0, 5).forEach((article) => console.log(article.title));
 });

The above code produces this output: