Of nothing in particular

by James Miller

PostedAugust 21st, 2018#iOS#iPhone#YNAB
Allowance for YNAB Application Icon

My wife and I have been using YNAB for several years now and really enjoy it. We have our ups and downs with it, but on the whole it's been a great addition to our financial lives. The main problem we have with it is just getting off the rails sometimes and not checking our balances before we purchase things (ahem, more groceries).

I've wanted a way to make certain category balances appear more prominently in places where I'm likely to passively see them. Places like on my Apple Watch, my Today Widgets, and within the app in a large, easy and quick to read way. It's not that YNAB makes it hard to see your category balances, but that I want them in my face in ways I'm not sure they'd ever add.

So that's how Allowance for YNAB was born. The You Need a Budget team announced an API a couple months ago and I jumped on it.

I also saw a potential for this to be used by people in a YNAB household who just want an answer to the question, "How much money can I spend on X right now?" People like kids in your family that have an allowance or maybe other members of the family that just aren't as interested in actively maintaining and monitoring the budget.

Hopefully it can help some of those people make better financial decisions. It's already been helpful for me.


PostedJune 27th, 2018#Mac#Screensaver

Other than memories of early computer gaming and getting interested in software development, I don’t have rose colored glasses for the Windows computing days of yore. Seeing where we are now and where we were, it’s hard for me to muster up much nostalgia. There are a few things, however, that do evoke that feeling. One of those things was After Dark screensavers. In particular, the Flying Toaster screensaver.

It exists on the web still in various forms for most platforms but seeing as how screensavers are a technology of the past, you don’t see them too much and most people don’t put much if any thought into them. Especially in todays world where so much computing happens on laptops and we simply shut the lid when we’re done.

I wanted this screensaver, however dumb that is. The problem being, I did not want to give up my beloved Padbury Clock Screensaver. I was also just generally curious what it takes to create a screensaver in 2018.

So I combined the two.

It was surprisingly easy, but with all things you can make it as difficult as you’d like. Many people opt to include SpriteKit in their screensaver to do simple animations. For what I was doing, that felt like unneeded complexity.

So I present to you, (probably) the stupidest thing I’ve ever developed.

Flying Toasters

Feel free to download it here, and if you’d like to modify it or just check out the source that can be done on the project’s Github repository.

Now if I can just get someone to recreate the Johnny Castaway screensaver for Mac, I’ll be living in 90s computing “bliss.”


PostedFebruary 21st, 2018#Puppies

Before we bought our house, I had always wanted to have a dog named Zero. At the time, my wife and I were studying Japanese for a trip we planned to take to visit a friend who was studying abroad in Tokyo (here are a few pictures from that trip). I made an offhand joke once to my wife that if I did ever get a dog named Zero, I'd have to also have one named Ichi (the number one in Japanese) so that I could have binary dogs.

Well, the day we bought our house my wife and parents surprised me with two Shiba puppies. It was a total shock and I couldn't have been more happy.

So. Cute.

Though they love to get in the trash and tear things up (you should have seen our baseboards on our beautiful new house...), they've been great dogs for our family. We even had an album we posted about them go semi viral when we had our daughter. Just stay away from the comments if you go searching... They're exactly what you'd expect.

Puppies and Ash by the fire

What face am I making?


PostedFebruary 13th, 2018#Alexa#Echo#Urban Dictionary

Several months ago, Amazon ran a promotion where they would give you a free Echo Dot if you wrote and published (read 'had approved') an Alexa skill. At the time, we were part of a D&D campaign with some friends and, as D&D campaigns are want to do, things often got off the rails. On more than one occasion someone would make a joke about something lewd and one or two of us would run to Urban Dictionary and, as you can probably guess, the game would come to a grinding halt once the definition was read aloud.

So, I thought why not cut out the middle man and add a middle woman named Alexa?

So that's what I did and Amazon didn't like it one bit...

Needless to say, I never got my Echo Dot but now I have this awesome Urban Dictionary skill which, honestly, is cooler than having yet another Echo Dot around the house (Seriously, they're like Tribbles. They're everywhere.).

If you'd like to have your very own bad-mouthed Alexa, I created a Github repository with all of the information and code you'll need.

Fair warning, you will need an Amazon Developer Account. It'll probably ask you for a credit card, but that card is only used if you actually somehow rack up a bill. That really shouldn't happen unless you use this skill A LOT or somehow manage to get Amazon to publish it and it becomes popular. Just a fair warning that you could be charged should it get a lot of use.

Like this, except with Echoes


PostedMarch 25th, 2017#Raspberry Pi#MQTT#GPIO#Go

I've wanted to formalize this project for a while and just recently got some free time to do so. gpio-to-mqtt is a Go application that monitors state changes to GPIO pins on a Raspberry Pi and relays those changes as JSON messages to an MQTT broker.

That's a mouthful. Hear me out though.

Say you have an old alarm system in your house that you aren't using. You have the little magnetic reed switches on your windows and maybe some door jamb switches that all run back to a central security system box somewhere in a laundry room, garage, basement, or wherever. With this application, you can repurpose those devices and make them smart. gpio-to-mqtt will notify anyone listening when the those switches are tripped.

All it requires is a Raspberry Pi, a network connection, and Go + gpio-to-mqtt to get running.

Once you have this up and running, you can write any number of utility applications to listen to the broker on your network and perform other actions. Maybe you get a notification every time your front door opens or when someone opens a window unexpectedly. You could even just connect physical buttons to the GPIO pins and use them as network attached buttons.

There is still some development work to be done at this point, a lot of which surrounds additional MQTT options (like the ability to connect using certificates). I'm going to follow this post up with my set up for people to reference if needed. For the time being, here's what my install looks like.

Have fun!

Raspberry Pi with a Pi EzConnect HAT running gpio-to-mqtt