Pinned Posts
Making A Userscript For Micro.blog
My youtube-dl Setup
A Thank You Letter To Developers 
Custom Post Type Indicator
Making A Board Game - Part 6
September 11, 2020

Hemispheric Views Podcast

Everyone has a podcast now!”

It’s true, and they even let me be on one!? 😱

Join Martin, Andrew, and Me as we make our way through topics such as technology, coffee, books, culture, and more from different hemispheric views.

Plus, cool Australian accents! 😉


Give it a listen and let us know what you think!

SUBSCRIBE 😀

Web: https://hemisphericviews.com Email: hello@hemisphericviews.com

Podcast Hemispheric Views
August 27, 2020

HomeKit 2020 Update!

It’s been a while since I have mapped out our HomeKit setup. Heck, it’s not even the same house anymore!

Some of the biggest changes

  1. All IKEA TRÅDFRI lights are gone. I found them to be too unreliable.
  2. Rather than swapping bulbs to smart bulbs, we are doing smart switches instead this time. More reliable and gives you a real” switch on the wall for anyone to use without special (annoying) instructions.

Lighting

Cameras

Shades / Blinds

Other

Homebridge

We don’t actually have a need for Homebridge with our new setup yet. Everything has native HomeKit so far. 🤞
- One exception is the Eufy doorbell but this should be coming soon”..

HomeKit Lutron Caséta Serena Shades Eve Phillips Hue VOCOlinc Eufy Doorbell Camera LG TV Insignia August Apple TV HomePod Lux KONO Homebridge Level Lock IKEA TRÅDFRI Lighting Garage
August 24, 2020

Making A Board Game - Part 6

Not strictly related to the game, but I have found that setting aside a very reasonable amount of time helps get more done in the long run. It’s so easy to tell yourself

if you can’t give 100% of your time, it’s not worth working on”.

Nothing could be further from the truth! My new approach is to set aside 1-5 hours per week that will be strictly used for working on the game. This has been a massive win for me in getting stuff done!

Now, for game news.

  • At a finished state barring any last min tweaks. 🤞
    • Card Artwork
    • Box Lid Artwork Still have not decided if the box bottom will have any printing. It’s a matter of cost vs. benefit. I am currently feeling that if the lid is super awesome, the box bottom doesn’t need elaborate artwork as well.. I have been flipping back and forth on this one. For a first run it’s probably best to go with no printing on bottom.
  • Game boards are roughly 40% complete. The template has been completely redone to allow for creation of new board layouts more quickly. The plan is to have the game ship with a couple different board options, however in order to get this over the finish line AND try and keep the cost down, I think it’s probably a better idea to start with one.
  • Lots of progress on the rule book. The Affinity Publisher layout is very close to final. There is a now a home printed version, cut out and held together with tape sitting on my desk! [I really prefer having physical versions of game components whenever possible (no matter the fidelity). It’s the only way I can 100% be sure that it is right.]

That’s all for now. It’s feeling very close to a 1.0 that is at a level that I am happy to get a complete set printed to see what a final retail” version will look like.

Previous Updates
Making A Board Game - Part 5
Making A Board Game - Part 4
Making A Board Game - Part 3
Dusting Off An Old Project - Part 2
Dusting Off An Old Project - Part 1

Project Board Games
July 20, 2020

What You Wanted

You wanted your country to be run like a business,” but didn’t specify which one.
You got it.

You wanted to make America great again,” but didn’t identify what great’ means.
You got it.

You wanted someone who would take charge,” but didn’t say of what.
You got it.

You got a liar. You got a cheat. You got an ego. You got a monster. You got a dictator. You got a murderer. You got a clown. You got a racist. You got a jackass. You got a bigot. You got an asshole. You got a bully. You got a Xenophobe. You got an opportunist. You got a fascist.

You did not get a human being.
You did not get a patriot.
You did not get a President.

If this makes you upset because you feel personally attacked, I am deeply saddened that you voted for and still support this person. 🤷‍♂️

If this makes you fired up and shaking your head yes, vote this piece of shit out of office so fast his head spins like a pumpkin on a pike. 🔥🗳

Holy Shit, Fucking Vote

Vote 2020
July 12, 2020

Right to Repair — Medical Devices

I have been working in the medical device space for a while, including both Class II and Class III devices, and although I very much support the right to repair” movement in general, when it comes to medical devices, I have a different opinion.

There is more at stake here than what is on the surface. If you try and repair your printer and fuck it up, no big deal, you can’t print. If you try and repair a medical device without having a full and complete understanding of the device, people can be severely injured or die.

There is no answer that solves the problem given the current setup of medical device regulation, but as a start, approval can be given based on device classes perhaps.

We only have a small number of classes currently, so this most likely needs to be expanded, but given current classes, maybe something like this..?

Class I: Right to repair
Class II: Conditional Approval
Class III: Must be repaired by manufacturer

This is all swirling in my mind so I obviously don’t have the answers yet, but I do know that lumping medical devices into the same discussion as consumer electronics is a BIG mistake.

What are your thoughts?

LINKS

Medical Devices Right To Repair FDA
June 1, 2020

Challenge: Build Something In Your Garage!

We are all in our homes looking for things to do from time to time and this week was no different! A friend of mine and I were on a video call talking about past photo challenges we have done with each other over the last couple months and we were heading down the conversational path toward doing another photo project when I got a crazy idea.. What if we did something completely outside the realm of a photo challenge!? We both like and enjoy the art of knife blade creation so the first thing I thought of for a challenge was

make a cool knife with only the raw materials and tools that exist in your garage right now!”

At the time I said this, I had no real idea what I personally even had to work with in terms of materials since I am not at my own house with my own tools currently, but who cares, it was going to be fun no matter how it went! I gave an arbitrary deadline of two weeks, which would have the challenge ending on June 1, 2020. Spoiler, we were both very impatient and finished far earlier than this 🤣

Let the games begin!

So, what was I able to make? Glad you are still reading and thought to ask! Thanks! Below are some progress photos of the project and then the final result photos.

I really enjoyed this project! It was so great to get away from the computer, put down my camera, and work with my hands for a while to create something from nothing. I highly suggest a challenge like this, pandemic or not, as it has been a great mental cleanser!

Total time tracked: 4 Hours 10 Minutes.

Raw Materials Used

  • Steel Angle Piece
  • Old Flooring Scraps
  • 2x Bolts & 2x Nuts

Tools Used

  • Hand Hacksaw
  • Sand Paper
  • Drill
  • Dremel
  • Small Bench Vice

Questions? Comments? Shoot them my way! hello@burk.io



Project Challenge
June 1, 2020

We Are Moving! (During A Pandemic?)

We have been talking about it for a while and thinking about it even longer, and as of May 28, we have done it! We sold our house in Silicon Valley, and after much searching, and a couple offers not working out, we have closed on a new house in Oregon! 🎉

On to the next chapter of our story!

Buying a house in a different state during a global pandemic was an interesting journey to say the least!

Even with the unknowns arising from the pandemic, the whole process went far smoother than I was imagining from the start. It was a longer escrow than usual, but given everything that needed to happen within the constraints of social distancing, shelter in place orders, etc, it ended up being the proper amount of time.

Some Random Stats Regarding What It Took:

  • 52 days from start to finish
  • 90+ iMessages & text messages
  • 200+ emails sent & received
  • 400+ pieces of paper created (that we know about)
  • 11 DocuSign documents
  • 1 physical trip prior to purchase
  • 11.5 hours driving a U-Haul

We couldn’t be happier with the home we found and are so excited to get settled in!

🏡 🎉

House Moving California Oregon
May 25, 2020

I Served For This?

I served in the United States Air Force from June 2001 - June 2005. This was not an easy time in my life. Especially given how drastically the military and world changed on September 11, 2001, after being in for only three months. On September 11th I felt a lot of different emotions, but one of them was a sense of, this is why I am here.” Joining the military is never an easy decision, but it was the right thing for me at that time in my life. Being enlisted in the military means following rules; a lot of rules. The benefit of this however is that everyone from the top to the bottom should adhere to the same rules, and for the most part, this is the case. Every service member should be held to the same ultra-high standard, and when they do not meet that standard, there should be swift and harsh consequences. This goes for the lowest ranking enlisted person, all the way to the President of the United States.

My entire enlistment was under a single President: George W. Bush. He was a polarizing President, but at the same time he was the command-in-chief. There is an implied and deserved respect for the President of the United States. I took that very seriously during my military enlistment, and I take it seriously now. There must be a chain of trust throughout the ranks in the military or it does not work. Many people make the ultimate sacrifice for their country, and that sacrifice should not be wasted.

When I look at the current commander-in-chief (2016-2020), I feel nothing but disdain, disgust, and a sense of dread. He stands for nothing decent; just himself. He is downright dangerous to democracy, the United States, its citizens, and service members who must put their life on the line in the name of a petty, selfish, childish, and unstable individual. This is not ok, and should not be looked at as a passing phase. If his path of destruction continues to be left unchecked, it will continue to get worse. Boil the frog and all that.

As I said above, there is an implied and deserved respect in place for the President of the United States that should be adhered to as a service member. I am no longer an active duty service member, but rather, an honorably discharged veteran.

So with that, Fuck You Mr. President, may your actions forever be remembered in history as a lesson to the future, reminding them that anything resembling the likes of you shall never happen again. The death and destruction you have left in your tragic path will not be fixed in my lifetime, but with some hope, the next few generations can clean up your filthy mess. Your goal in life was to be remembered, and you have accomplished that.

Unites States Military President
May 23, 2020

Playing Games - Good Job!

As the clumsy child of a CEO, you must climb the corporate ladder one office-themed puzzle at a time! Complete puzzles in multiple ways as you experiment with the interactive environments—a projector can be wheeled gently through an electric door…or catapulted through the wall. So toil (or tumble) your way to the top and make your father proud!

-Nintendo.com

We have finished Good Job! and it was a blast! I say we” because this was a co-op venture with Valerie. On the surface this game looks very silly, and that’s exactly what it is! Although this game can be played solo or with a friend, I think the real charm of the game comes from playing with a friend. On that note, this game can really be played with anyone, regardless of how much they play games. The mechanics are easy to learn and there isn’t a need for high precision. No elaborate button incantations needed. You can break a bunch of stuff (I have to admit, this is really one of my favorite parts), or play very carefully to complete each job perfectly. It doesn’t really make a lot of difference in the end; it’s just fun.

Your job duties can vary from fixing the office’s internet connection to cleaning up experimental goo. You may bump into your coworkers or knock over a priceless item or two in the process, but as long as you get the job done you’re one step closer to the executive suite! True star employees can also replay stages to try to earn a higher score by maximizing speed while minimizing damages.

-Nintendo.com

Each of the job levels build on one another as you learn new skills, so even though the game is mostly the same throughout, the gameplay doesn’t get stale. I actually was hoping for more levels after we completed the last one. Maybe some DLC!? Pleeeease!

The game is fairly priced and worth checking out! Enjoy!

Good Job! Screenshot
-Nintendo.com

Good Job! Screenshot
-Nintendo.com

Games Nintendo Switch GoodJob!
May 15, 2020

Example NaN Of Poor Security Practices

Background
I needed some specific bank statements from my bank to send to someone else for a transactional record. 🏦

How The Process Went

  1. Called my bank to request the specific statements as pdfs. (yep. called.) ☎️

  2. My bank said they would send me the encrypted pdfs via email and send me the password separately via the online banking communication system. Ok cool, that’s easy enough. Also, thanks for not sending my personal banking info as clear text through email! 📧 🔐

  3. Received the emails in my email, and they opened right up.. No password needed. Hmm. Ok, well, I guess they forgot to actually encrypt them..? Nice. 🤷‍♂️

  4. I forwarded the pdfs along to the party that needed them and assumed I was done. I then got a reply from them asking for the password to unlock the pdfs.” WTF?! 🔓

No idea what they used to encrypt the pdf” but apparently that security only goes as far as the Windows operating system and does absolutely nothing when it comes to viewing the pdfs on a Mac via Preview, Quick Look, PDF Expert, or any other pdf viewer you can think of. 🤦‍♂️

As usual, security is given the least emphasis and lowest budget when it comes to securing our personal data. 😡

Security Mac Windows Banking
May 11, 2020

Making A Userscript For Micro.blog

One thing I absolutely love about the web is the fact that if you are viewing a webpage you can see all the code that makes up that page with a few simple clicks. This is great if you are trying to debug something, are curious how a feature was implemented, or even if you want to change the appearance of something. Clean, simple, and useful!

I use a social blogging service called Micro.blog every single day, throughout the day. When using an iPhone or iPad, I generally use the third party app, Gluon. When I am on a Mac I tend to use the web version of Micro.blog. I like the functionality of the web version, but find the stark white appearance to be a little much on my eyes toward the night hours. As I said above, because it’s the web, it’s pretty trivial to make changes to the appearance of the page that is displaying on my screen, so I did just that. A couple days ago I started playing around with different color schemes that were a darker palette, to see if I could land on something that still looked clean and nice, but achieved the goal of being less bright.

I started off by hacking different parts of the css all within the browser inspector, and then moved to creating something a little bit more permanent after I started getting to something that felt good. Because I wanted this custom palette to automatically load every time I visited Micro.blog, I created a userscript that can be used with various browser plugins. This means I can use the style on all my computers, and when I make an update to the userscript, it will update on each machine when it checks for updates to the styles.

For simple userscript management I am using the browser add-on Tampermonkey.

UPDATE I started the updates to account for Micro.blog 2.0. There is an initial version out that fixes most of the majorly broken stuff. If you check for updates in Tampermonkey it should pull it automatically.

If you want to use my userscript for Micro.blog to try it out or tweak yourself, you can find it here!

Keep in mind it’s not done yet, so there are some rough edges to be worked out in further revisions!

Github Changelog

Using userscript in dark

Here are a couple screenshots of what it looks like at version 2020.05.17.1

Micro.blog userscript example screenshot

Micro.blog userscript example screenshot

Web Userscript Tampermonkey Micro.blog Dark Mode
May 10, 2020

Making A Board Game - Part 5

Things are progressing, albeit slowly, but they are! We have done some more play testing with beta components, and I think the game is coming along nicely. I obviously am biased, but that’s the only perspective I have on it. 😉

Given the global pandemic, the work being done on the game can only be digital, as I am unable to get any samples printed from the supplier. This, for the most part, is ok, since the samples I have so far are enough to do play-through testing and then update the digital assets as we go. The most important part is trying to catch any weirdness with the game mechanics anyway.

Keep pushing things forward!

Couple Things Knocked Out
✅ The Coffee Pot Games site is up! coffeepot.games
✅ One of the fonts in the game’s title was proving to be a big problem, but I am happy to say that problem is now resolved!
✅ All assets for the game are now in GitHub so we can have better version control of each piece.

Over the next few weeks I plan to work on the following items and get them to a 1.0” status. The main focus will be the following updates to digital assets:

  • Cards
  • Game Boards
  • Box Art
  • Rule Book

At the beginning of the year I was planning to have the game ready to sell by July 1. A lot has happened since then (personally, and in the world) so I don’t have high confidence that will still be the case, but am going to work toward that goal anyway!

I am so incredibly anxious and excited to have the opportunity to put this game into the hands of others and hope they get even a fraction of the joy that I have had putting it together.

Until the next update.. 👋

Previous Updates
Making A Board Game - Part 4
Making A Board Game - Part 3
Dusting Off An Old Project - Part 2
Dusting Off An Old Project - Part 1

Project Board Games
March 29, 2020

My youtube-dl Setup

The YouTube apps on the various platforms (iOS, Apple TV, web, and so on) are ok. I was looking for a better way to watch videos that I saved to view later (especially with pip on the iPad). There is a utility called youtube-dl that you may or may not have seen mentioned online. Here is a rundown of how I am now using it to manage all my YouTube videos I want to watch.

youtube-dl Configuration

The utility can be downloaded here: https://github.com/ytdl-org/youtube-dl
Check out the documentation on youtube-dl to get it all setup for your platform. Then it’s time to setup the configuration.

Here is what I am using for my current configuration file.

youtube-dl.conf
Located here: /private/etc/youtube-dl.conf
Plus ~/archive.txt to keep an archive and only download videos that have not already been downloaded.

# Save all videos to download folder
-o /Volumes/LaCie/Media/YouTube/%(title)s.%(ext)s

# Mark video as watched
--mark-watched

# download playlist
--yes-playlist

# Dowload new videos only
--download-archive ~/archive.txt

# Download best quality
-f 299+140/137+140/best

# ffmpeg location
--ffmpeg-location /usr/local/Cellar/ffmpeg/4.3_2/bin/ffmpeg

Automating The Setup

Shell Script (ytdl_playlist_download.sh)
pointing to the YouTube playlist that I am using ytdl

#!/bin/bash
/usr/local/bin/youtube-dl "https://www.youtube.com/playlist?list=PL-XXXXXX"

Launch Agent (download_videos.plist)
A simple .plist that is placed in /Library/LaunchAgents set to run the .sh every 90 seconds. There is also a .log file in this example that I was using while testing everything.

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">

<plist version="1.0">
    <dict>
        <key>Label</key>
        <string>ytdl</string>
        <key>StartInterval</key>
        <integer>90</integer>
        <key>StandardErrorPath</key>
        <string>/Users/jason/Desktop/ytdl_error_logfile2.log</string>
        <key>EnableGlobbing</key>
        <true/>
        <key>RunAtLoad</key>
        <true/>
        <key>KeepAlive</key>
        <dict>
            <key>SuccessfulExit</key>
            <false/>
        </dict>
        <key>Program</key>
        <string>/Users/jason/Scripts/ytdl_playlist_download.sh</string>
    </dict>
</plist>

This is all running on a 2018 Mac mini that is always on.

Plex Viewing

Now that the videos are being saved to a YouTube folder on the LaCie 6Big, this is where Plex comes in. This folder is monitored by Plex and updated with new videos so I can watch them right in the Plex app on iPhone, iPad, Mac, AppleTV, really anywhere you can get Plex running.

Managing the videos that are on the 6Big Storage.
Once I am done watching a video, Plex has an option to delete the video, which will delete the actual file on the server, so this keeps the folder from getting too out of control.

That’s it! Simply add a video to the ytdl” playlist on YouTube and this handles the rest!

Side Note - Alfred Workflow

Because youtube-dl is so useful and supports many different video platforms, I also have an Alfred workflow that I use for one-off downloads. Since this workflow is different from what I want the above system to accomplish with a YouTube playlist, I have set this up slightly different.

I don’t want the videos downloaded via this workflow to go to the same YouTube folder on the LacIe, so I decided to go with a one off config just for this workflow, it looks like this:

youtube-dl -o "~/Downloads/%(title)s.%(ext)s" -f "mp4" --ignore-config "{query}"

This ignores my standard config file and sets the download location to Downloads’.

  1. Copy the video URL to clipboard
  2. Trigger Alfred
  3. Use the keyword yt followed by pasting the video URL
  4. Hit enter and your video begins downloading!

YouTube-dl Alfred Workflow

iOS Shortcut

I realized I didn’t have a way to complete the workflow if I got a link on my iPhone / iPad, so here is a shortcut to fix that.

HELP!!!

  • If your automated downloads stop and you are getting an error in the console related to keyerror: u'content_html' the issue may be that your YouTube playlist has gotten too large. This happened to me and my list was over 400 items! 😱 Probably a good idea to clean that list up from time to time. 👍
YouTube Automation YouTube-dl Mac Plex Alfred Workflow iOS Shortcuts
March 22, 2020

Animated Color Change Blog Logo

I have been wanting to swap the logo on my blog to my own logo (instead of the Animoji face I have been using) but I wanted it to be something more fun than just a static image of the logo. I landed on wanting a color changing animation that would randomly cycle through a set of colors. Now, how to do that..

I started down the path of using SVG or PNG transformation using filter because I wanted to do it without the need for javascript, and it worked ok. In the end it didn’t really create the look I wanted though. The biggest issue with filter is that you aren’t using standard #ff33cc values for colors, but rather a cluster of properties like this:

filter: invert(70%) sepia(80%) saturate(344%) hue-rotate(168deg) brightness(108%) contrast(98%)

You can get pretty close doing this, but it’s not perfect, and the transition was hard to make smooth. It also creates some unwanted shades of color as it transitions. You can see it working” here in this code pen.

See the Pen PNG logo Color Change w/filters by Jason Burk (@jasonburk) on CodePen.

Next I went down the road of using javascript to create the desired effect and ended with something I much preferred! Here is the code pen for this version.

See the Pen PNG Blog Logo Color Change w/js by Jason Burk (@jasonburk) on CodePen.

You can also just look at the top of this page to see it in action. 😉

So there you have it, a color changing logo! Do you have ideas of ways to do this with less code? Let me know for sure!

Design Theme Code
March 8, 2020

Custom Post Type Indicator

Another day, another self imposed challenge to add something cool to my blog theme! 😀

This time I set out to add a post type indicator’ for each blog post. This is basically a small visual indication as to what the post content is about. For example, a game controller for something video game related, or code brackets for something related to code (like this post).

My blog / website runs on blot so the system fully supports custom metadata types, it was simply a matter of figuring it all out. It wasn’t an easy journey, but it was a fruitful one! I learned a lot about how various formats and technologies work. I went through the city of Mustache, and passed by the town of JSON, all while walking the familiar path of HTML and CSS.

I started out by building/designing the small container that I wanted the indicator to live in. This ended up being this:

Pretty simple CSS for this:

.post_type {
  display: block;
  font-size: 1.5em;
  line-height: 46px;
  color: #f1fa8c;
  background: #282a36;
  height: 45px;
  Width: 45px;
  border: solid 1.5px #bd93f9;
  border-radius: 20%;
  text-align: center;
  left: -12%;
  top: 40px;
  position: absolute;
}

Next, it was time to figure out what would go into the little boxes. Thanks to my wife, she turned me on to Font Awesome which was the perfect solution. This allowed me to build the template in such a way that I could use Font Awesome codes as the meta data string and customize each post with the perfect indicator icon!

The standard metadata in a blot post is:

Date: 2020-01-01 12:00:00  
Tags: Some, Sample, Tags

So I added another line: Type:

This Type metadata is the Font Awesome code you want to use for a post. For example if I wanted it to be a text based post, I can use fas fas-font to render a large A’ inside the indicator box. Such as this:

Now that the individual components are there, it’s time to pull it all together. Shoutout to David (seriously one of the nicest people ever) over at blot for helping me with this as well, I was heading down a path that would probably work but he showed me a way to accomplish it that was much easier.

Quick little heads up: for some reason it appears to be all but impossible to escape Mustache tags (This is a problem I will have to solve another day..) so I have replaced all the double curly braces for the Mustache tags with square brackets [[ ]] in this post. Just remember that all Mustache tags are enclosed with double curly braces.

The metadata value of Type is what I use with Mustache tags to auto populate the Font Awesome code into the html of the template. So in the example of this post, [[entry.metadata.type]] turns into fas fa-font.

The HTML template for each post:

<span class="post_type">
    <span class="[[entry.metadata.type]]"></span>
</span>

And with that, every post with a Type: metadata tag will have a little icon in the indicator box next to it.

There are four other small things to deal with concerning this setup. These are really just related to design and layout.

One. Since Pages’ are essentially Posts’ within blot, I added a line of CSS to each Page to hide this post indicator box. I have to imagine there is a better way to do this, but this will do for now.

/* Used to remove post type indicator from Pages */
.post_type {
    display: none;
}

Two. The Archives page needs smaller icons given the layout, so there is another CSS class for the archives pages .post_type_small. Here is an example of that:

/* Used on archive page */
.post_type_small {
  display: inline-block;
  font-size: 0.8em;
  line-height: 20px;
  color: #f1fa8c;
  background: #282a36;
  height: 20px;
  Width: 20px;
  border: solid 1.5px #bd93f9;
  border-radius: 20%;
  text-align: center;
  margin-right: 10px;
}

Three. On the main page of the blog Entries”, the Mustache tag of [[entry.metadata.type]] needs to be [[metadata.type]].

Four. I have this all turned off for mobile layout currently. Still working out how I want that look. This is what it looks like currently.

/* overrides for mobile media query */
.post_type {
    font-size: 1em;
    line-height: 28px;
    height: 25px;
    width: 25px;
    left: 0%;
    top: -30px;
  }

I think that’s it! It was a fun journey and I am very happy with where I ended up. Hopefully if you were wondering about how to setup custom metadata on your blot site, this project may be of some help to you.

Design Theme Code Blot
Jason Burk | 1999-2020
blot.im! | 🧛‍♂️
📦 Blog Archives 📦

#FreeAds
top