All Posts

Farewell, old friend!

I’ve been working on doing a “virtual” clean-up recently: taking down old projects, cleaning up some servers I manage, updating my about info, etc. One old project, in particular, is making me feel a bit nostalgic – I’m saying goodbye to It was a search engine for bootstrap and font awesome icons, which allowed users to tag icons so they were easier to find. Launched way back in June 2013 it was the first personal project I made that ever got any kind of traction. I still remember the first day it hit over 1000 monthly users – I had made it big time!

Okay, so maybe it didn’t exactly make me famous. Still, it got posted in a few bootstrap resource groups, had quite a few user-submitted tags for icons, and was really fun to work on. Alas, all good things must come to an end. Once Fontawesome introduced a similar search to their main icon list my traffic plummetted, and it had just kind of sat there since then. So sadly, for the common good of not having really old and likely at this point not incredibly secure projects sitting around the web, it is gone.

(PS: For anyone keeping score the cutting-edge technology powering this bad boy I believe was PHP 5.3, with a sweet jQuery powered autocomplete filter.)

Goals for 2021

Changing my Goals

I’m excited to start a new year, and am ready to set some new goals. Last year, I tried to simplify and only set one goal and that didn’t work so well. This year, I’ve spent some time thinking about why I set goals and how to make them better.

No more hobby related goals.

I think part of the reason I got burnt out on goals the past few years is that I started to include hobbies. I was setting goals for things that I do just for fun, like woodworking. I intended for this to make sure I made time for them. The result though, is that they became something stressful, exactly the opposite of the reason I do them. This year, the goals all have to relate to me bettering myself in some way. They are mostly things I enjoy still, but things that have a purpose too.

Goals for different periods of time

Instead of setting some number of goals for the year, I am setting one goal each for every day, week, month, and one for the year. My hope is that this will help me to set priorities better and not feel like I can do something later in the year to make up for not doing it now.

Well, enough about why I set them, here are my goals for this year:

Daily – Go for a walk outside

Like a lot of people lately, I work all day in an office in my basement. I actually love working remote full time, but one thing that is sure to make a day better is to get up and get outside. It doesn’t have to be long, and I won’t be tracking how long I go over the course of the year or anything. I just have to get up and get outdoors for a walk each day.

Weekly – Complete 10 lessons in Duolingo

I enjoy language learning, but I’m not great at it. I never seem to stick with it long enough to get past the passingly familiar stage. This year I want to commit to continuing learning German. To help with that I’m committing to at a minimum doing 10 lessons a week on Duolingo. It’s not the best way I’ve found to learn to speak a language, but it does help with vocabulary and is easy to access.

Monthly – Contribute to an open-source project

I’ve contributed to open-source projects (usually WordPress) on and off for the past few years. It’s fun, provides a break from the usual things I am working on, and helps me learn new things. With COVID, all the normal ways I connect with other developers outside work have been curtailed. I’ve found open-source to be a great way to connect and also to stave off burn-out. To make this more measurable as a goal I’ll define “contribute” as either submitting or reviewing a pull request to an open-source project on GitHub.

Yearly – Three fitness benchmarks

Last year, part of the problem I had with losing weight is I have never been overly motivated by what the scale says. I’ve been heavier and in better shape and lighter but in worse shape several times in my life. More importantly, it also is just…boring. I like big goals, so this year I am picking 3 fitness goals that I have always wanted to check off my bucket list. To meet them, I absolutely will need to lose some weight, but I like that it’s not the end goal. They are…ambitious, but I once decided to do an Olympic-length triathlon when I had never done any kind of race before and that was fun, so maybe it’s not so crazy?

  • 10 consecutive pull-ups
  • 100 consecutive pushups
  • 2 mile run under 12 minutes

2020 Goal Review

In what seems to be a different world last February, I made this post. I said that I wanted to simplify and was only going to focus on one thing – losing weight. When I wrote that I already knew that 2020 was going to be a busy year. We were in the midst of moving into a new house, and I knew we would be welcoming an addition to the family in the summer. I thought that setting a “simple” goal would help relieve that. I tend to shoot for the moon with big projects or goals and knew I wouldn’t be able to do that with everything going on – before I even knew anything about the pandemic.

Well, spoiler alert: I didn’t make it. There were some positives. I did work out more regularly for a long time last year and lost some weight. However, by the end of the year, I had gained most of it back and have been struggling to find time to work out as the year ends. Given everything that’s happened this past year, it’s not something that makes me overly ashamed. Still, I wish I had done better.

I like to look back at failures and see what went wrong. It’s easy to blame the pandemic for taking away my favorite forms of exercise (Weekly soccer and racquetball games) and making it harder to get out. It’s easy to blame the stress of a new house and lack of sleep from a newborn. Those were part of it, sure, but I can’t say they are the reason. The truth is that I just didn’t try all that hard. While losing weight is something that I truly want to do, it wasn’t something I was excited about. On top of that, it was too generic – it was a bad goal. I’ve been making goals for long enough I should have known better. It was my own fault both for setting a goal I wasn’t excited about and is not executing it anyway. It’s something to take to heart and move on: sometimes things don’t work out and that’s just part of life.

Having said all that, despite the pandemic, there were some really great things that happened this year. I love our new house and really enjoyed starting our garden here. We now have a happy healthy little boy that his older brother loves to hang out with. I’ve actually quite enjoyed working remotely full time. Most importantly, our family has been blessed to be healthy and safe despite everything going on, and after everything 2020 threw at us, I’m calling that a win.

Some Quarantine Projects

Like just about everyone, we’ve been cooped up around the house for quite a bit because of the pandemic. The one upside is that it’s given me some time I probably wouldn’t have gotten otherwise to get back up and running with woodworking. I thought I would share a few of my recent projects since nobody can come around to see them in person.

Walnut scroll saw bowl

Cutting board and matching plate

Some more lathe fun


I finished up another fun project at work a few weeks ago – a ground-up rebuild of the GVSU news site – The previous site wasn’t built to showcase photography very well and the new version highlights that to allow for more or a storytelling feel than just an information dump. Here are a few of the details on some of the fun parts as well as some of the challenges.

Another React Editor

Like the GVMagazine site, I created a while ago this site utilized React for the “article builder” – where content is actually added to stories by the authors. While getting React to play well without infrastructure can be a hassle, in cases like this it is really worth the effort. The editor ended up sharing so much with the GVMagazine that I am thinking of abstracting away some of the differences and writing a react library to use in both of them. With the Fall semester starting soon I probably won’t have time to work on it anytime soon, but I think it would be an interesting problem to solve and also cut down on ongoing maintenance of the two systems – maybe I could even open-source it.


One of the requirements for this project was that all of the old content be imported into the new system. While migrations are rarely fun, this was going to be taking content that was written in all the way back to 1999! The content had been imported into several versions of the site since then so mapping all of the images, tags and article content to the new system took some time.

Overall it was a fun project, it was on a but of a tight timeline and it integrates with so many projects at GVSU it was a bit overwhelming at first, but it’s also one of the most visited sites on, and it’s always fun working on things that really get used a lot.