amiantos.net
Howdy!

My name is Brad Root and I'm a software engineer, music aficionado, video game junkie, and occasional unicyclist.

In my spare time, I build open source software, and write about my experiences as a programmer here on this blog.

You can also find me on Twitter, GitHub, and LinkedIn.


What I'm Up To - Week 22, 2020

Howdy! This is my weekly post where I write about whatever programming-related stuff I got up to in the past week. PiBar for macOS 1.1 This week I worked on and released PiBar 1.1. This release revolved around adding some often requested minor features and fixing some bugs by re-architecting parts of the app. You can see the complete list of issues and pull requests that went into this release on…

What I'm Up To - Week 21, 2020

Howdy! This is my weekly post where I write about whatever programming-related stuff I got up to in the past week. PiBar About two weeks ago I bought a Raspberry Pi Zero so that I could set up a Pi-hole at home. If you don't know, Pi-hole is a bit of software that can block advertisements and tracking scripts network wide at home. That's the easiest way to explain what it is. Why use it instead of…

PiBar for Pi-hole v1.0 Out Now!

Last week I bought a Raspberry Pi Zero W so that I could set up a Pi-hole on my home network. If you don't know what Pi-hole is: it's a network-level ad and tracking script blocker. It's different from using something like AdBlock or the Brave browser, because it works across all devices on your network automatically. Scripts and ads are blocked before the request can even be made, so in some…

What I'm Up To - Week 17, 2020

Howdy! This is my weekly post where I write about whatever programming-related stuff I got up to in the past week. Last Statement I finished Last Statement within my two week deadline. You can find the source code and a link to download in the last-statement GitHub repository. There's not a lot to say about it now that it's done. The trickiest parts of it I addressed in last week's WIUT post, so I…

What I'm Up To - Week 16, 2020

Howdy! This is my weekly post where I write about whatever programming-related stuff I got up to in the past week. Last Statement This week I began work on a small project I'd been thinking about for quite a while. The inspiration comes from a former co-worker who has a repo on GitHub called Last Statement, which is basically a scraper for the Texas Department of Criminal Justice website…

What I'm Up To - Week 15, 2020

Howdy! This is my weekly post where I talk about what I did over the past week. I've been taking the quarantine pretty easy, mostly playing games, but this past week I've started to get the itch to start building something again. What that is, I don't know yet, but I'm preparing... SwiftUI This weekend I started into Paul Hudson's SwiftUI By Example article series to learn SwiftUI. I figure…

Zip Multiple Files for Download from AWS S3

Recently we decided over at Lingo that we want to allow our customers to download multiple asset files at once. We store all assets in AWS S3, which doesn't offer a method of retrieving multiple files at the same time in a single zip file. (Why not!?) I did some Googling around and found a Python solution that purported to work in the most ideal way: no memory usage, and no disk usage. How can…

What I'm Up To - Week 6, 2020

Howdy! This is my weekly post where I talk about what I did over the past week. I'm still taking it easy, mostly playing videogames, but I did put some work into Aeon Garden's auto-camera feature, which I last played with about three months ago. Aeon Garden If you're interested in game development and you haven't been watching Yahtzee's Dev Diary video series you are really missing out. Not only…

Numu Tracker Shut Down

After three years of Numu Tracker being a part of my life (the first year of it spent slowly developing it), I am moving on and shutting it down as of today. There's several reasons for it, so I figure I will briefly talk about them as honestly as I can, and also reflect on what I learned along the way. Why shut it down? As Numu got more popular, I ended up getting forced into a fairly expensive…

What I'm Up To - Week 51, 2019

Howdy! This is my weekly post where I talk about what I did over the past week. In actuality, I haven't posted for nearly 10 weeks, so this is kind of a catch up post. I don't really have a lot to say. I expected that I would be back to programming in my free time by now, but I'm not. I've been enjoying the gaming PC I've built quite a bit and have played a number of video games. I might as well…

What I'm Up To - Week 42, 2019

Howdy! This is my weekly post where I talk about what I did over the past week. This post covers the past two weeks, because I did not write a full update for week 41. For these two weeks, I continued to spend time working on Aeon Garden's save functionality, and implemented a simple auto-camera. I also briefly promoted Gamebook Engine, and contemplated taking a little break from programming again…

What I'm Up To - Week 40, 2019

Howdy! This is my weekly post where I talk about what I did over the past week. This week I took a break from Gamebook Engine to give a little love to Aeon Garden. Aeon Garden Last week I talked about how "when I get Gamebook Engine out" I'd turn my attention back to Aeon Garden. Well, apparently I didn't want to wait that long, because I've turned away from Gamebook Engine and toward Aeon Garden…

What I'm Up To - Week 39, 2019

Howdy! This is my weekly post where I talk about what I did over the past week. This week I wrapped up the first version of Gamebook Engine and thought about the future... Gamebook Engine I took it pretty easy on Gamebook Engine this week, but I did wrap up the final couple of cards to feel good about closing the Alpha project on GitHub. In order words, in regards to version 1.0, Gamebook Engine…

What I'm Up To - Week 38, 2019

Hello! This is my weekly post where I talk about what I did over the past week. This is another week where I primarily just put some more time into Gamebook Engine. BRGamebookEngine This week I took it relatively easy and mainly focused on doing some refactoring, to try to get model / controller stuff out of the views. This is my first app that uses Core Data, and Core Data really encourages you…

What I'm Up To - Week 37, 2019

Hello! This is my weekly post where I talk about what I did over the past week. This week was really just a big continuation of work on BRGamebookEngine, yet again, for the fourth week in a row I think. BRGamebookEngine This week was the iPhone announcement, which means iOS 13 is right around the corner. This meant I got to download Xcode 11 and get BRGamebookEngine ready for all the new stuff…

What I'm Up To - Week 36, 2019

Hello! This is my weekly post where I talk about what I did over the past week. I'm spending basically literally all of my free time on BRGamebookEngine, so I hope you're prepared for another post about it! BRGamebookEngine Work on "Gamebook Engine" continues. Last weekend I talked about how I'd hoped to submit a beta to Beta App Review. Well, that didn't happen. If I had put the pedal to the…

What I'm Up To - Week 35, 2019

Hello! This is my weekly post where I talk about what I did over the past week. This week I really just worked on BRGamebookEngine in all of my free time, so... here we go. BRGamebookEngine I've been feeling really motivated to finish what I'd consider the alpha version of BRGamebookEngine, so I basically worked on it obsessively all week long, including most of last Sunday after I wrote that WIUT…

What I'm Up To - Week 34, 2019

Hello! This is my weekly post where I talk about what I did over the past week. This week I mostly focused on working on BRGamebookEngine, made the repo for it public for whatever reason, and played some old school FPS games. BRGamebookEngine This week I put a lot more work into BRGamebookEngine. It's not anywhere near a fully working prototype yet, but it's getting pretty close. It got to the…

What I'm Up To - Week 33, 2019

Hello! This is my weekly post where I talk about what I did over the past week. You might notice there's been a large gap between week 27 and week 33 without any WIUT posts. No, I didn't die in a fiery motorcycle crash, I just took a bit of a break from programming like I said I was going to, so I didn't end up with very much to write about. Life Saver I released Life Saver TV on the app store as…

What I'm Up To - Week 27, 2019

Hello! This is my weekly post where I talk about whatever I've been up to. This week, Life Saver TV went up on the App Store, and I began my first week as a motorcyclist. Life Saver TV This week I released Life Saver TV on the Apple TV App Store. You can buy it for the paltry sum of $2.99 over here. I wrote last week about some of the changes in it, so I won't rehash those here. I don't actually…

What I'm Up To - Week 26, 2019

Hi! Welcome, this is my weekly post where I talk about what I did over the course of the week. This week I mostly focused on getting Life Saver ready for a tvOS release. Life Saver TV Last week I talked about how I began work on Life Saver for the Apple TV, and that I was conflicted between programmatic UI or using storyboards. I ended up going full-steam into Storyboards and I'm glad I am. While…

Automating Python Lambda Deployments with Docker

I recently started working more with AWS Lambda functions, some of them with external dependencies, and I quickly ran into an issue where dependencies that are built on MacOS sometimes don't play nicely with Amazon Linux on Lambda. The solution, back in the early days of Lambda, was that you would have to spin up an EC2 box, and then build and zip up your dependencies there. Luckily, things are…

S3stat - Stats for AWS S3 Downloads

When I finished Life Saver it seemed obvious to host the downloads on S3, like the rest of the site. But I wanted to be able to track how many times it had been downloaded, and S3 doens't have this functionality built in. Coming from a traditional web background (Apache, cPanel, etc) I wasn't sure where to start, but luckily I saw a StackOverflow answer that pointed me toward S3stat. What's really…

What I'm Up To - Week 25, 2019

Hi! Welcome, this is my weekly post where I talk about what I did over the course of the week. Life Saver I released Life Saver v1.1 this weekend. It's a relatively small update that contains a lot of the work I mentioned previously on this blog: SpriteKit optimizations for performance gains, as well as a couple small bug fixes, and one new feature. The new feature is "random color preset" mode…

What I'm Up To - Week 24, 2019

Hi! Welcome, this is my weekly post where I talk about what I did over the course of the week. This week was another fairly easy week, because I took a mini-vacation Langton's Ant (Map) Early this week I continued work on the Langton's Ant experiment I wrote about last week. I decided to keep running with the "landscape generator" idea and made some big changes. Namely, the use of Langton's ant…

What I'm Up To - Week 23, 2019

Hi! Welcome, this is my weekly post where I talk about what I did over the course of the week. This week was WWDC, so there was a lot of excitement all over the internet about that, but I also learned some cool stuff outside of that later in the week. Langton's Ant Over the course of the week I was wrestling with the question of "what's next?". This seems a little silly because I have at least two…

What I'm Up To - Week 22, 2019

Hi! Welcome, this is my weekly post where I talk about, well, what I did over the course of the week. I took it relatively easy on myself this week, so there's not a ton to talk about. Life Saver I promoted the release of Life Saver a little on Reddit (on r/iOSProgramming, r/Swift) and on two Slack communities (iOS Developers HQ, LA Design & Development). Not a huge response in regards to comments…

What I'm Up To - Week 21, 2019

Hi! Welcome, this is my weekly post where I talk about, well, what I did over the course of the week. I might write about programming or anything else tangentially related. Life Saver I completed my short term project that that I started work on last week and released it complete with a simple page here on amiantos.net and I fleshed out the readme on GitHub with the same stuff. The joke about how…

What I'm Up To - Week 20, 2019

Hi! Welcome, this is my weekly post where I talk about, well, what I did over the course of the week. Life Saver After showing Aeon Garden at work I ended up talking about artificial life with a co-worker who'd asked if I'd ever heard of Conway's Game of Life. I had been kicking around the idea of creating a simple Game of Life implementation somehow, but all the Life apps on the app store are…

What I'm Up To - Week 19, 2019

I've decided to try to set myself a weekly goal of writing about whatever I did or learned about this week, just to get into the habit of writing regularly again. I'm always working on something, so I figure I should be able to find something to say about it. Aeon Garden Screensaver I'm going to include something I did at the end of last week: I got screensaver support merged in! It was really…

Refactoring Aeon Garden

Since I was a kid I've been pretty intrigued by artificial life simulations. It started most predictably with Tamagotchi, but when I got a PC in the mid-90's I learned that there were people out there interested in making their own, more elaborate, versions of artificial life. One that's still available today is Gene Pool, and I remember one that consisted of a 3D modelled woman who wandered…

My Favorite Development Tools

Allegedly someone named Emmert Wolf said or wrote, "A man is only as good as his tools". Now, no one seems to know who Emmert Wolf is or where he might have said this, but he probably lived sometime before the last 5 years because if he were alive today he'd probably know better and say something like, "an individual is only as good as their tools," instead. While the statement might only be…

Gatsby on AWS S3 and CloudFront

This is a quick hit and run post on how I got my Gatsby site up and running on S3 and CloudFront with minimal fuss. The main perk to running a site this way is that it is very nearly free. Unless my blog gets a lot traffic, I assume I'll be paying at most $6.00 a year to host my blog. That's cheaper than I've ever hosted a site for, and the entirety of that charge is just paying for Route 53 to…

Hello World!

Hi! Welcome to my new blog. I don't really know what I am going to put here, because I haven't blogged in so long that I feel mostly like I have nothing worth saying. I wanted to learn some React, and Gatsby seemed like a cool way to use React as sort of a framework for building simple websites. I'm only in the beginning stages, but components seem like a very nice thing for web development, and…