Let’s Encrypt SSL Certs on Namecheap

I’ve been very happy with my move to Namecheap for hosting. The only downside so far has been their SSL certs. They don’t support Let’s Encrypt in their cpanel and instead make you pay for certs. The first year, however, is free! Well, it’s been about a year and I started to get emails about renewals. Reasonable prices, but would have added up to a lot for the number of websites I have on their service.

I went looking around for a way to do certs via let’s encrypt and finally found this guide that uses Acme to add/handle certs:

Simple guide to add TLS cert to cpanel

If all goes well about once a day it’ll check to see if I need a new cert and handle it for me.

Caldigit TS3 Plus Audio Jack and Spotify

Jan 12 2024 update: Zoom is definitely triggering the issue. Turning off the EQ in spotify has solved it for Spotify. I think when Zoom is trying to aggressively process audio it can sometimes trigger the issue across the system. Leaving the zoom call fixes it. As near as I can tell there isn’t a way to adjust Zoom’s settings to fix it.

Dec 19 2023 update: Zoom seems to trigger this issue somehow.

Currently attempting a fix by disabling the equalizer in Spotify. Will update this post if that doesn’t work.


This is one of those “blog about it to save someone else the hassle later on”: I use the Caldigit TS3+ dock with my M1 macbook(s) and have had a persistent issue with audio playback slowly becoming garbled and distorted when listening to music in Spotify. For whatever reason it seems that selecting a different audio source and then going back to the Caldigit one fixes it for a while.If I plug the audio cable directly into my macbook it never seems to have a problem.

The actual audio input shows up as a USB 3.0 device in System Report called: “Caldigit Thunderbolt 3 Audio”.

It also seems to effect Zoom, although I haven’t determined if that’s because Spotify is also open at the same time Zoom is open.

Something I discovered today buried in a forum is that the Spotify Equalizer might be a problem. I’m going to disable that and see how it goes for a few weeks. An hour in and it seems to be doing better.

Do you have any thoughts on programs or stacks for learning web development?


A friend asked me this recently and I wanted to capture my response. I’m curious to look back on it in a few years to see what will have changed.


Assuming they want to work on the web: there’s a few primary categories of programming computers you need to know about:

  • Command Line
  • Scripting language (with a backend focus)
  • Database
  • HTML, CSS, and plain ol’ JS
  • Frontend framework
  • Version Control
  • Hosting

I do think it’s important to understand a little bit of everything above. Even if, say, you end up as a front-end engineer you’ll be happy if you know about databases. Likewise back-end engineers should understand how all those services they’re writing will be used to present that information to the end user.

Command Line

If I could go back in time I would take a whole class on the command line. The reality is that you’ll be using it every day and without understanding the basics a lot of other parts of coding will just not make sense. Plus, it’s useful to understand what you _can_ do on the command line since sometimes that’s the best place to do your work.

Oh, and learn just enough Vim to open a file, make a change, and save it.

Backend Scripting

Some sort of backend scripting language. JavaScript could be an answer! Python is another strong choice. It used to be PHP and still is if depending on your company. What you use here will probably change at some point in your career so don’t get too attached. The core idea here is that you can use this language to do “backend things” like changing data in the database, or processing files, etc.

Databases

A relational database of some sort. MySQL or PostgreSQL. If you get into this it goes deep, but to start with you just need to understand how to make some databases, tables, and data.

Front End

HTML, CSS, Javascript

You should have some foundation of how to put a page together using HTML, CSS, and JavaScript. All frontend frameworks are just fancy ways of using these basic tools. My soapbox rant is that we’ve lost sight of that in the web world. You need essentially nothing to get text on a page at a domain name!

Frontend Framework

In 2023 I would recommend React. In 2024 it will probably be something else. The concepts should, mostly, transfer easily to whatever the next thing is. Get used to pining for some feature of some other framework. Get used to conversations about frameworks that start with “I’ve heard good things about…”

Version Control

Git. You don’t need to start with version control, but as soon as you can you should start implementing it into your workflow. If you work with other people you HAVE to use version control otherwise you’ll end up losing work or reinventing a worse version of Git in dropbox (ask me how I know!)

Hosting

You can make all of this work on your local computer, but the magic is putting it somewhere else and seeing it work elsewhere. There’s a deep rabbit hole here. Pick a cheap host and figure out how to get it live. You do not need to dive into AWS/Azure/Cloud infrastructure right now. You will need to later on!

What about Bootcamps?

If they want to go to a bootcamp the answer to “Which boot camp is best?” is constantly shifting. I would ask very recent graduates (as in: graduated in the past year) if they would recommend it. I certainly wouldn’t go to a bootcamp that doesn’t have a money back guarantee or some sort of job placement scheme. Your goal with a bootcamp is to get enough knowledge to land your first job. Everything you do in that bootcamp should be oriented around that goal.

Conclusion

I’ve been making websites for years and years and there’s still so much left to learn and everything is changing constantly. Getting comfortable with learning (or just being confused) is a key part of the job. The reward is that when you get things working the feeling is amazing. There’s just a lot of times where it’s not and that’s okay!

DuPage County Hardcore

There was a surprisingly robust hardcore music scene in the extremely suburban county I grew up in. I was never fully in that world for a lot of reasons; however, I hung out on the periphery and have a fondness for it.

Recently I ran across the work by Dave Hofer to digitize the music and video from that time period. It’s amazing to me just how much of that exists! This was before the ubiquity of cell phones and digital cameras. Apparently a lot of people thought to record what was going on and I’m sure I rolled my eyes at this effort back then and now I’m very glad for it.

Hofer’s youtube channel is full of concert videos and it’s wild to watch these. The music is often unlistenable (a really “you had to be there” sort of sound), but seeing glimpses of people I knew back in the day having a lot of fun playing music or just jumping around is delightful.

Strength in Numbers

I quickly scanned through this video and while I don’t think I was at this concert I was definitely at similar show in that basement for Strength in Numbers. As a parent I have to admit I’m a little alarmed at all these kids throwing elbows in a finished basement. That said, I also not-so-secretly hope my kids do the same someday:

A Stand for a Card and a Deck

Made this stand to display a single card from the Inquire Within Oracle Deck. There’s a slot to hold the deck in its box and a slot to hold the card.

My wife puts a card out every once in a while and this one hit me hard. I have not been woodworking much lately because I’ve been waiting for a “perfect” project to work on rather than just doing it for the joy of it.

Woodworking is not really “worth” my time. In just about every situation I’d save money and time by buying something off the shelf. But! That’s not the point.

Also, like, you can’t easily buy whatever it is that I made. I don’t even have a proper noun to refer to it.

Maybe if you had that noun in hand you could search and find something like this, but this one? You can’t buy this one.

Process

I cut the board to length and width the bandsaw from a scrap I had on hand. The slots were made custom to the deck and card. For the mortise I drilled out most of it with a forstner bit and then finished it with a chisel. To add stability and protection I added leather.

The card slot was carefully done with the same chisel. Draw a line and then put the chisel upright and smack it hard. The bevel on the chisel helped with the “resting” angle of the card. And, for kicks, I put a slight chamfer on the front edge with hand plane.

Finish is simply paste wax because the point of a stand is not the stand.

iPhone audio not working on a 2015 Mazda5

If your iPhone isn’t working with your Mazda5 the fix might be as simple as adding a song to your Music library. On a Mac I needed to do this by plugging the phone into my computer and choosing an album to sync to my phone. Once I did that everything else I cared about on my phone started to work with the car: Spotify and Overcast. I was ready to replace the stereo in our car before a kind person in the Mazda5 Owner’s Worldwide Facebook group mentioned this as a potential fix.

I believe the car will start auto playing the first track in your library whenever it starts. While I love the Chrono Trigger soundtrack I might change it out for some tracks of pure silence.

To be determined is why this works. The Mazda5 is old enough that when you plug in an iPhone it puts it in “iPod” mode. I’m guessing that Apple sets Music as the default audio app in iOS. If there’s nothing in there the car must not have a way to otherwise query the phone for an audio source. If anyone has a definitive answer I’d love to hear it!

Vinyl Record “Now Playing” Shelf

Finally tackled this project to make an record shelf for our currently playing record! We’ve needed one for a while and I couldn’t stomach buying one when I knew it’d be an easy project. Thanks to my wife for being so patient.

Shelf is made from a single oak board and finished with paste wax and adhered to the wall with brass screws:

Process

I started with a 2″x2″x20″ oak board. I cut it down to length and then raised the table saw blade up and started to remove the middle of it to create the spot where the record sits. Then another pass to shorten the front lip so you can see the full record. After that some sanding to clean it up and soften the edges.

This created a lot of sawdust. The “easier” way to do this would have been to glue up the back, front, and bottom from separate pieces of wood. The aesthetic wouldn’t be the same, but most people wouldn’t notice or care .

When looking around for examples of shelves like this I found that most of these things are hung using keyhole slots. I absolutely hate keyholes though! They assume a lot about the flatness of your wall and are just a pain to get lined up and installed. Made the call to have the screws visible and I’m happy with the result.

(Screws clocked, of course, because I’m not a scrub and don’t want Sam Firke to be disappointed in me.)

Also! I like this detail where the knot is part of the shelf:

You Can’t Win But You’re Still A Good Person is Now Free on iOS

Hello, good people, last night an update to “You Can’t Win But You’re Still a Good Person”, a game Scope Creep Studios made almost 6 years ago, went live on the iOS App Store!

About 30 days ago Apple emailed us to say we had 30 days to update it or they were going to remove it from the App Store. Since you are all such good people, we didn’t want to deprive you of the opportunity to lose at this game. Therefore, we had to update it and chose to do so in the following ways:

  • Removed all vestiges of ads and in-app purchases
  • Dropped the price from .99 US cents to FREE

Enjoy!

The icon for You Are Good hints at the lessons you are about to learn while playing the game.

On Confronting What You Did Before

It’s painful to look at code you wrote that long ago. However, to our credit, the game works and does what we intended, which was to make a digital game of endless whack-a-mole that purported to teach you patience and acceptance. You know, standard indie game nonsense from the 2010’s.

Revisiting the game itself was a delight though. The art design by Kyle Latino and the sounds/music by Steve Kemsley are phenomonal. It’s all so lovely and tranquil and maddening. Do yourself a favor and play with headphones on and chill for a few minutes making a little sonic landscape to yourself while you lose.

I will admit that the name is terrible and impossible to search for, that’s on me. I still love it.

On The Meaninglessness of High Scores

There’s nothing stopping any of you from overtaking Steve’s high score other than the fact that you just won’t do it.

Seriously, the strategy will be immediately obvious. It just takes a lot of patience to pull off and if you push your luck you can beat him faster. But if you push your luck you’ll get in trouble and lose. That’s okay though, being good at a video game doesn’t matter. Let Steve have the high score. You don’t need it to know you are good just as Steve is. You’re both on the leaderboard, after all, just he’s a little higher than you.

That’s okay!

It’s okay.

….Totally okay…

Bug Drop! Ad Findings

After releasing Bug Drop!, my collaborator, Steve, started to get curious about running ads for it using Apple’s ad platform. He decided to give it a shot because it wasn’t that expensive and, hey, if it works that means more people get to experience the game!

So he fired up a few ad types. CPM ads run a block of impressions for a fixed cost whereas the “cost per install” ads are a fixed cost per install and it’s up to Apple to effectively display the ad in order to get the install.

The ads ran for about a week and here’s what he found:

I ran $9 worth of ads on the CPM based “Advanced” Apple ads and it got 7 taps, 0 installs.

The other cost per install based “Basic” ads haven’t done anything yet. They are suggesting a $2.15 cost per install, making it not worth it.

Ads are a racket.

Look, I’m not a ruthless businessman; however, I can be practical when needed, but our initial experiments with Apple’s ads are dispiriting. We will not be continuing them.

I also find it galling that they would suggest we bump our price for the cost to install to above the current price of the app. Maybe we just need to charge more so we can pay apple more for people to buy the game. Oh well!

Anyway, go buy Bug Drop!. It’s fun!