DispatchGroup, Combine, and UrlSession

I ran into a bug a couple weeks ago at work that was quite interesting. We’re using a DispatchGroup and DispatchGroup.notify to stop our pull to refresh animation once all the microservices come back with results. Our QA team caught an issue where if you to a pull to refresh and then background the app it crashes. Of course you can’t simulate the error, it has to be on a physical device. [Read More]

Chippendale Mupp

I’ve been reading Dr. Seuss’s Sleep Book many, many times with my son1. I get stuck on the continuity and engineering/science questions in these books, here’s one… How Long is a Chippendale Mupp Tail? If you don’t know, the above creature is called a Chippendale Mupp2. He falls asleep each night after biting his tail which acts as its alarm. Its tail is so long that he apparently gets a full nights sleep before the pain wakes him up. [Read More]

Focus 3 Apple Watch Face

Update 2020-08-17: I got a new Apple Watch so I updated the wallpapers in this article to the new size. It should look much better on the new models. Below there’s now links for Old Model (Series 3 and below) and New Model (Series 4 and 5) I’ve been consuming a lot of podcasts and media by the Focus 3 team, Tim Kight and Brian Kight and I made some Apple Watch wallpapers to remind me of key points in their system. [Read More]

Ruby vs Go - Structuring Data

I’m trying to write a Taskpaper parser in Go. A very basic Taskpaper file looks like this: Home: - Mow the lawn Don't hit the flowers Work: - Fix all the bugs Seriously, all the bugs Projects end with a : and tasks begin with a - and any line that doesn’t have that is a note. Projects have tasks and notes and tasks can have notes. I got totally stuck yesterday on how to structure this data in Go. [Read More]

Brief Thoughts On Task Management

No task management means you’re completely interrupt driven. Whatever email arrives or whoever stops by your office always gets first priority. A lot of bosses will reward you and promote you for this because you’re reacting to their every whim, but that doesn’t mean it’s the best for the company. No task management means you’re not working on anything that’s important yet not urgent (at least not yet). There’s no goal-oriented, strategic thinking there. [Read More]

Taming Nightstand Device Charging

Like most modern-day geeks I have too many devices that need to be recharged regularly. The constant accumulation of new wall warts has turned into this situation next to my nightstand: I decided to use one of the new desktop USB chargers to get this mess of cords cleaned up. Having it sitting onto of my nightstand really didn’t solve the problem so where’s what I did. Materials List Anker 40 watt 5 port USB charger Photive 50 watt 6 port USB charger Quirky Cordie 3 ft USB Extension Cable Large 3M strips First attach the charger to the back of your nightsand using a 3M strip. [Read More]

Running Teamspeak 3 Server As a Regular User

In my previous article on How to run Teamspeak3 on Digital Ocean the instructions have you create a teamspeak3 user and change ownership of the files. I noticed in some of the comments over there that people noticed it was running as root, not the greatest thing for security. I noticed my server was also running as root, here’s how to fix it if you used my instructions: Shut down Teamspeak: [Read More]

Seven Years is too Long

I was at my last company for seven years. I moved between locations, projects, positions and responsibilities but I was at the same company for seven years, not really even thinking about moving. I worked for one of the major defense contractors and at the time it was fun and we were doing interesting work. It was mostly short lived research contracts for the service labs and the DoD so it was always something new. [Read More]

Bought and Unread Books

The Inspiration I also have a lot of books I’ve purchased and barely cracked the binding. This is an awesome goal to shoot for so I started thinking about how I would do it, here are my thoughts. My Books Scary Books These aren’t separated out but they warrant talking about. These books have been raised to such a level through fame and infamy that I’m scared to touch them. GEB and SICP and are firmly in this category for me. [Read More]

Running a Teamspeak 3 Server on Digital Ocean

Digital Ocean provides a Virtual Private Server for just $5 a month. It also happens to be perfect to run a Teamspeak 3 server on. Teamspeak is a great way to chat with friends while playing games or pair programming. This how-to assumes you’re running Ubuntu 12.04 (or something close to it) and that you already have your server spun up and ready to SSH into. Visit the Community section of Digital Ocean if you need further help. [Read More]