Replicating the Perfect Bubble Tea

• bubble-tea

(this post has referral links)

Lately I’ve been enjoying some bubble tea. It’s really, really good, but:

Fixing Samsung Phone Reverting Your Muzei Wallpaper

• samsung

A quick blog, but one that I keep forgetting how to do because it takes me at least 10 minutes to rediscover it and figure out how to do it again, but it happens infrequently enough where it’s something I had hoped I’d remember. After 3 times, it’s time to write it down!

First off, the problem: Samsung decided it wanted me to see it’s garbage lockscreen wallpaper, when all I really want is to use Muzei.

The solution: Go to “My Wallpapers”, hit the triple dots, hit Live wallpapers, and from there choose Muzei.

Yep, really simple, but the location of this option and what it’s buried under makes no sense.

A Better Deployment Process (Monorepos, CapRover, and Netlify)

• monorepo,, deployment,, caprover,, and netlify

Deployment, one of the first pipelines to set up and one of the most important pipelines to have. I recently set up a really handy deployment process with Github Actions and wanted to share more, for anyone who finds themselves in a similar situation. Here’s an overview of my situation:

Your Idea Isn't Bad

• gamedev

As an indie game dev, I get a ton of feedback and ideas from the various communities who play my games. A topic that’s been on my mind for probably years now is how to deal with those community members who feel like they aren’t heard when they suggest something for a game, and either the discussion stops there or they feel slighted when it is added later. As I sat down to brainstorm the numerous reasons why, I came up with a lot more than I expected. The long and short of it, though, is that these ideas often aren’t bad, but there are a number of external factors that just make it not work out. I came up with a ton of reasons on my own, but it’s certainly non-exhaustive!

Tabletop Simulator Debugging Errors

• tabletopsimulator

A quick little post, but something that is strangely hard to search for, so here’s hoping this becomes a good search result for this error.

Setting Up Auto-deploy With Dokku

• dokku, and autodeploy

As a continuation to my previous post on setting up a VPS and moving away from a PaaS (like heroku), this small post goes into detail how you can get back one of the greatest features of the average PaaS: autodeploy!

Making a Reddit Reply Bot

• javascript, and reddit

There’s a lot of documentation on writing a reddit bot in Python, but I had a lot of trouble finding even basic documentation for Node - even some of the libraries that are listed on reddits official wiki are dead or 5 years old (read: don’t support new reddit very well). So, I wanted to write about a simple and common use-case: replying to a user who tags you.

Automation 🤝 Mobile Games

• javascript, and automation

Sup. Lately I’ve been playing a mobile game called Star Ocean: Anamnesis. It’s a mobile gacha game. It’s the kind of game where you farm a ton of resources to improve your characters and items, which is pretty enjoyable and zen overall. The problem, also, is that these games require a metric fuckton of farming, and therefore, time investment. This isn’t inherently bad, but sometimes they can load a ton of it onto you at once, which you’re then expected to spread out amongst several weeks.

Pshaw, lets automate this.

Performance in Game Dev

• gamedev, and performance

When you’re making a game, performance is important. This goes without saying. However, to what extent is it important?

Creating an Auth0 rule to attach username to your id token

• auth0

It’s no secret that I use Auth0 for nearly all of my projects. Generally, I’ll just use the base offering, take the token it gives me, and move on. However, this time, I wanted to actually try to more fully utilize some of the features Auth0 provides. I didn’t want to keep having to do a back-and-forth “sign up” flow, where I give my server a token, the server validates it, then checks if I’ve signed up before. If not, it would send a message back saying “hey, you need a username” and that dance would continue until the user is fully registered.

Setting up a self-hosted Deepstream auth service

• deepstream

Lately, I’ve been playing with deepstream.io@3.1.1 making a realtime game engine (read: wrapper) on top of it. This has provided me with an innumerable amount of challenges. One of them, today, was trying to set up an authentication service for my self hosted Deepstream instance. Reason being, I’m transitioning away from DSHub, because my needs will not scale with their plans. So, I took the plunge and worked on setting up the basics to get my small project working again.

Moving To Scaleway (From Any NodeJS PaaS)

• server, and dokku

Or, really, any PaaS, but my examples will use JS.

There are a lot of NodeJS PaaS’ that I’ve worked with previously - I really wanted to take the headache out of managing my own infrastructure. They provide headaches of their own, though. What if:

730 Days of Github

• life,, javascript,, and github

Today marks 2 years of my doing “one thing a day” on Github.

contribution graph

I’ve got work to do today, but I wanted to blog first, so today appears empty

I posted about last year, and now I’m posting about this year! I’m not going to do monthly graphs or anything this time around, but I’ll talk about a bunch of projects that I worked on. I’ll split it between my own projects, and other projects. Here are my projects (or projects I’m affiliated with):

Reactive Retro: Proof of Concept

• reactive-retro

Hey folks!

So I have a proof of concept build for Reactive Retro ready. What is Reactive Retro, you say? Well, it’s a location-based game that aims to be like an older JRPG, with a focus on cooperative play. Right now, there isn’t a whole lot though.

365 Days of GitHub

• javascript,, github,, and life

So, today marks my 365th day of GitHub contributions. I started last year on June 25th, and today is June 24th. I’d like to talk about what I did, and why I did it. Maybe some tidbits about discipline, too.

Code Quality and You

• javascript, and quality

Welcome! Today I’d like to talk about another subject which can’t be emphasized enough: Code Quality. This entails a lot of tools and patterns that ultimately come together to make your game more solid and programmer friendly. Even if you’re working alone on a project, these tools can save you some precious debugging time by pointing out simple errors, if not more complex ones. I’ll be using my current project, c as an example where possible.

Common Pitfalls in JS-based Games

• javascript, and incremental

Welcome! You might be reading this out of curiosity, or because you want to improve your programming capabilities to stop people from exploiting your JS games. Given that the first thing I do when I open a new incremental is open the terminal and start messing around with your games, I figured it’s about time to write something about what I see and how I break your games. Consequently, I’ll describe ways you can protect your games from the basic code manipulations I perform. Some might say “you’re just ruining the game for yourself!” while I’m going to turn around and say “I don’t care” – that’s not the point of this!

NB: This will only apply to vanilla JS applications, which I see more commonly. Frameworks like AngularJS and such are out of scope for this post. Advanced techniques such as using a debugger, while slightly more on topic, will also be disregarded for now.