Pinned Content
A New Board Game: {macro}Dungeon
1000 Words
Making A Userscript For Micro.blog
My youtube-dl Setup
A Thank You Letter To Developers 
Custom Post Type Indicator
April 1, 2022

Plain Text is Portable! Or is it?

This was originally written in March 2022 for the Hemispheric Newsletter as part of One Prime Plus for the Hemispheric Views podcast.

It seems to depend on what portable means to you. I have been a long-time backup person. Back up something, then backup that backup, and then go ahead and copy it again to somewhere else. No such thing as too many copies as they say… (Wait, who says that? I don’t know, but let’s just pretend they said it.) Having a plan B is fantastic, but a backup plan is a two-stage approach.

  1. Backup the data.
  2. Verify the integrity of the data so it can be repurposed.

A number of years back the term Data Portability started to be thrown around the internet. The idea is that your data should not be trapped in a silo of some company, but rather, you should be able to freely export that data so you can use it elsewhere. Well, that’s kind of true…

I think we tend to confuse portable with convenient when talking about our digital assets. The idea of getting your data out” of a silo is only part of the story. The format that data is stored in plays a huge role in what can be done with it after the fact. I have not been bitten by this too badly in recent memory, but I am having some mildly concerning thoughts as of late.

Example One: my blog.

I host my blog on Blot and love the service. All my posts are a series of Markdown (.md) files. Plain text. What could be more portable than that? Nothing, really. Unless I want to move those blog posts to another platform with any bit of efficiency. To be convenient I would really only be able to move to another service that works almost identically to Blot. I don’t have any reason to want to move away from them, but it does make me rethink this whole data portability thing.

Example Two: my notes.

I use Craft. I love Craft. I talk about Craft (a lot). They have a great export system that I went over in a previous newsletter about How I Craft.” Similar issue here, however. I can export my data in a bunch of ways, which is fantastic, but then the pesky second half stands up in your way again when trying to import it into another service. Depending on the content of the notes this may be more or less effective.

So what are you supposed to do? Well, you can hope you pick the perfect service for you on the first try and then never leave. That would be nice, but probably not realistic. The next best thing is to look at what kind of data export options exist and see how standard” they are across the industry. It’s obviously not strictly in a service’s best interest to make leaving easy, but I see that as a strength of a product or service to do exactly that. Make it so good and useful that leaving isn’t something I want. Should I outgrow the service or it simply doesn’t perform the actions I require, the platform should either adapt or acknowledge the fact and let me go in the easiest way possible.

It may seem counterintuitive, but the next time you are going to sign up for a new service, look at these two things first:

  1. How easy is it to export your data and in what formats? (simply exporting to their proprietary format does not count)

  2. How easy is it to truly delete your account and remove your data from their servers?

Plain Text Blot Craft
March 1, 2022

Read Like No One Is Watching

This was originally written in February 2022 for the Hemispheric Newsletter as part of One Prime Plus for the Hemispheric Views podcast.

With the internet being so ubiquitous throughout the things we use every day, it’s increasingly easy to fall into a trap of needing to track everything we do. Sometimes this even means the time and effort that goes into this tracking outweighs the actual activity being performed. Whether these activities are active like writing, photography, and artwork, or passive like reading, there are endless ways to track and manage all these activities. When it comes to something like reading, I have fallen into this trap many times in the past. Attempting to find the perfect solution for tracking what books I want to read, which I am currently reading, and of course what have I completed. My good friend Andrew even talked about this exact issue on the show.

There is no solution that fits everyone, of course, but for me I have come to the realization that when it comes to reading, none of this stuff actually matters when it comes to the actual act of reading a book. I have attempted to use all the usual suspects such as GoodReads, Literal, Micro.blog bookshelves, and although somewhat different, more than a fair share of highlighting services. In the end I came to the same handful of conclusions for myself:

  1. I don’t read more than one book at a time.
    The idea of having two or three books going at once gives me anxiety just thinking about it. My book queue is a single binary slot. There is either a book in the slot, or there isn’t. It is also important to note that there is no requirement for when the slot must be refilled after finishing a book.

  2. What is the goal? Reading the book or logging the fact that I am reading the book?
    I do not have a reading goal to hit a certain number of books, or pages per day. It’s simply a passive disconnect. I read a few pages or a few chapters each night in bed before I go to sleep and that’s it. There is no plan set up in advance; just get in bed, read something, and be done.

  3. Book recommendations are hard.
    I have a queue for music, tv shows, movies, video games, and probably a few others I am not thinking of right now. Point is, books require a different level of dedication and focus. This makes it very difficult to simply add a book to the list and give it a try”. Having this many areas of disparate focus is a whole other issue, but given this is the way of things currently, I am ultra selective about what goes into a book selection. I find books to be much more deeply personal than something like a tv show or movie so the likelihood of someone having a recommendation that is going to fit perfectly for me is very low. And I would say that the opposite is true for me telling others.

The whole time I am writing this I realize I am not providing any great insight or words of wisdom, but I do think this topic is something that a lot of people have some level of worry but try to ignore, especially given external forces and pressures to track and join in. (Believe me, I am not immune to this!) I would just suggest giving it a second (or 9th) thought as far as why you are reading, writing, watching, playing, etc. Who is it for?

​_____________ like no one is watching.
Reading Books
February 7, 2022

Creating My Own Dynamic DNS Using Porkbun API

Most people don’t have a static IP with their home internet service. Some ISPs do offer you one for an added fee each month, but for some reason my ISP thinks that is somehow worth a $75 setup fee and then an addition $15 a month. Considering the monthly bill is $65, that seems a like a bit much. I don’t strictly need a static IP, but it would be nice to have a memorable address to remotely access my home network. Think something like remote.mydomain.com rather than 97.234.76.276. I started looking at the various services out there that provide Dynamic DNS services with small apps that will automatically update upon your IP changing. These services are pretty nice, but are also a monthly fee, so at the end of the day why not just go the static IP route? They also generally have weird urls that I am not really a fan of, something like yourname.ninjadnscoffeeaddict.net. I would prefer to just use my own domain.

I never really thought about doing this myself until I realized that my awesome domain provider, Porkbun, has an API that allows you to programmatically update aspects of DNS records! That’s pretty sweet, huh? I got to work with some web searches and used Paw, which is part of Setapp to start messing with some calls to see if I could get something figured out. After a bit of fiddling, trial and error, and some more searching, I ended up getting a script working that would do the following:

  1. Check to see what my current WAN IP is
  2. Make a call out to Porkbun with my credentials and update sub.domain.com with the WAN IP from step one above.

This is what that script looks like. Bare with me, I know it’s probably not the best scripting out there.

#!/bin/bash

#grab wan ip from canhazip and set variable to output
output=$(curl http://canhazip.com)

#display wan ip for troubleshooting
echo "$output";

#wait 2 seconds
sleep 2s

#update dns ip of sub.domain.com via porkbun api
curl \
--header "Content-type: application/json" \
--request POST \
--data '{"secretapikey":"sectret_key","apikey":"my_key","content":"'$output'"}' \
https://porkbun.com/api/json/v3/dns/editByNameType/domain.com/A/sub

I then made this script run on a semi-frequent basis via a launch daemon. Since the IP from my ISP only changes every few weeks (or after a reboot of my gateway), I have it set to update once every 12 hours. This is not a mission critical feature so If I have to wait a bit for it to get sorted, it’s fine. I assume it’s obvious this is not mission critical given the way I am going about this. 😬

What would make this better? Well, a couple things.

  1. I really should be checking to see if the IP has even changed, and if it hasn’t, don’t push an update.
  2. The call I am using to get the WAN IP is hacky and should probably be done by pulling from inside vs outside.

Not usre if this is actually useful for anyone, but I wanted to make it public in case it triggers some other ideas for people. 😀👍

Porkbun API DNS IP WAN
February 1, 2022

Stop Driving Wedges.

This was originally written in December 2021 for the Hemispheric Newsletter as part of One Prime Plus for the Hemispheric Views podcast.

Not everything needs a deadline. For that matter, not everything needs to be finished. Whether you look at January 1 as a new year, a fresh start, a major life reset, or a continuation of the last month, a deadline is still a deadline.

deadline
dĕd′līn″

noun

A date on or before which something must be completed.

We all have projects going all the time. They may be professional, personal, or somewhere in between. Hell, you may not even realize or call it a project, but it is. For the vast majority of projects in a professional capacity, there are at least fairly clear boundaries around start and end. Those are not the projects I want to focus on here. Here I want to talk about the projects that are for you, or at least mostly for you. Organizing that comic book collection, sewing some new curtains for the bedroom, writing your first book, landscaping the backyard, getting your bookshelf in order, anything will fit, pick your project. More than likely you have at least once tried to impose a deadline on that project, and it was most likely an arbitrary one. You then felt bad for not meeting that timeline, and this put a wedge between you and the reason you wanted to work on that project to begin with. Soon, enough wedges have been put in place that you lose all sight of what the project meant to you to begin with.

I suppose it’s natural for us humans to set these boundaries and a lot of it comes from cultural conditioning as well. (Don’t get me started on the idiotic notion of hustle culture 🤮). I don’t have any affinity for the new year” meaning anything special for me, but time off around the holidays did get me back to thinking about some unfinished projects and going down the immediate guilt route of reasons they are not finished.

I will pick two examples for this narrative.

Example One: Board games and projects that are in a partially completed state. I was thinking about the second board game that I started creating and how it was feeling a lot like the first in terms of progression. I got a lot done, then it sat for over a year, and then I got back to it and got it released. This second game is a lot like that. A large percentage of the game is completed and needs to be pushed over the finish line. I have set several end goal dates and they have all passed, putting more of those pesky wedges in place. After some more thinking about this situation, I had a realization. That first game was left in a state that was perfect to pick back up when I needed a project like that in my life. Because I had that project in a state that could be picked up at any time, it was there for me when I needed it. I was making the game for myself, I was not beholden to a publisher, just myself, so the arbitrary due dates were serving no purpose other than driving those wedges.

Example Two: Photography projects that are not yet started and simply exist as ideas jotted down. Unlike the 1000 Words project that I managed to convince myself from the start would be over when it’s over, this other project was not so lucky. This other project immediately was assigned a due date, for no reason at all, and has been passed by. I want to take this opportunity (writing this letter) to realize that a wedge has been created and instead use this project as a type of therapy. I will leave this project open-ended, and work on it and add to it as I need to, not because there is a deadline. Not all things need to be done by a certain time and/or date. Heck, not everything needs to be done at all.

For whatever we are calling this January 1 and beyond, I want to explore the use of personal projects as therapy, not additional unneeded stress on top of the real-world stress you are already buried underneath. It’s hard to believe when we look around, but, life isn’t about the volume of output. When the uncontrollable outside forces are crashing down, I want to climb under an umbrella of a personal passion project and enjoy it. I am no longer going to hang my existence or emotional worth on whether it gets done, but rather on the interactions along the way. Remember, it’s for you, not someone else.

Projects Hobbies Deadlines Photography
January 1, 2022

Internet Bucket of Consumption

This was originally written in December 2021 for the Hemispheric Newsletter as part of One Prime Plus for the Hemispheric Views podcast.

Generally I tend to prefer applications that focus on a single task and just do that single task well. However, lately, I am liking the idea of having a single place to read things that originate from the web.

Over the years my collection of things from the web has changed more times than I can count. One thing that was always a trend however was the use of multiple apps. Instapaper, Pocket, Raindrop, GoodLinks, Abyss, ReadKit, Pinboard, Feedly, News Explorer, NetNewsWire, insert 1000 more app names.

After some exploration and experimentation I have landed on a new setup for getting stuff into and out of my internet bucket of consumption™.

TL;DR The Bucket” is Reeder 5 on macOS, iOS, and iPadOS and the net that scoops everything up is Feedbin. This is also the sync system.

IMG_3094.jpeg

The Longer Version

The Consumption Sources”

  1. Newsletters

    These are subscribed through Feedbin using a special email address (xxxxxxxx@newsletters.feedbin.com) provided by Feedbin. When they hit Feedbin I use a couple features built into automate where to end up. They are tagged Newsletter automatically and then ::starred.:: Reeder then recognizes this starred state so they are easy to get to when I am ready to dive into some newsletters. This also means they won’t be accidentally skipped (marked as read) in my main reeder feed. One quick tap to the starred section in Reeder and all my available Newsletters are waiting to be read. 👍

  2. RSS Feeds

    Nothing too special here. All RSS links are added to Feedbin. Done. One special reason to use Feedbin is that you can setup actions based on keywords within the feeds you subscribe to. I use this to filter out content that I don’t care to see in my river of news.

IMG_0007.jpeg

  1. Read It Later

    Reeder 5 has a Read It Later feature now that syncs through iCloud. I use this to store articles that comes from RSS, my email, or just randomly on the web. There are extensions that are baked into the system that stem from Reeder as you would expect.

    Sharing

    Reeder does a nice job of letting me share items out as well, from a simple copy of the source link, to more advanced send-to locations, it covers all my needs for sharing neat things I find on my travels through the web.

    This system has been working very smoothly for me and has made my travels across the web a little easier and more more enjoyable. ::One thing of note: the only thing that made me go away from Reeder a while back was due to the animations making me feel nauseous. Weird? yeah I know. But, never fear, they can be disabled and all is well now.::

IMG_3095.jpeg

Feedbin Read It Later RSS Newsletter
Jason Burk | 1999-2022
blot.im! | 🧛‍♂️
📦 Blog Archives 📦

#FreeAds
top