First Piece of Furniture

Sep 7

Image of finished dresser

It took a lot longer than I wanted, and it is really far from perfect, but it is pretty satisfying to see it all done. I’ve made some shelving and stuff before but this is the first thing I have made that wasn’t destined for a basement or garage. My plan to finish a small woodworking project each week took a bit of a hit, but hey, nobody’s perfect. On top of that, my son came 5 weeks early, so it wasn’t quite on time.  I’ve been learning a lot about woodworking online lately, and really enjoy when people post their thoughts on a project, so I thought I would do the same.

Making Plans

I had a lot of trouble finding plans that I liked for this. Originally, I had wanted to make a simpler version of a changing table that I had found online here. My wife wasn’t a fan of the open design because she thought it would look messy when it was full. I then looked around at plans online and decided to make a split dresser with drawers on one half and a section for hanging clothes on the other. I’m glad she said something because this is a lot more practical for us, especially since what we really needed was storage for clothes.

I found a few designs, but none that worked exactly, I decided to roughly follow this design, but substitute dowels to hold the panels together and box joints for the drawers. I also made the changing pad holder a separate piece and just attached it with mending plates in the back so that once we don’t need it anymore we can take it off and just use it as a dresser.

The Build

All in all, it went fairly well, but took a lot more time than I was anticipating, and cost a bit more as well. It’s all made of pine, the larger panels are all pine plywood. It hurt to have to buy the nicer “select” grade pine but I think it was the right call in the end. I ended up making the top from a piece of edge-banded 3/4″ plywood I had left over from the sides to save some money, as I was planning on putting a changing pad holder on top of it anyways. The doweling jig I bought was pretty easy to use and I will definitely make some more things using it. The pocket screws were quick and easy, I borrowed a jig for this project, and it’s definitely on my list of things to get now.

I tried making a cross-cut sled before I started to help get accurate cuts. I didn’t do a ton of research and it turns out I made all the mistakes I would read not to make later. It was huge, way too big to use easily, and I made the runners too short, so when I got all the way to the end of a cut it started losing its accuracy and wiggling. As a result, I spent a few nights and a Saturday making something that I promptly set in the corner in anger and haven’t moved since.

I also made a tapering jig to taper the legs and that worked pretty well. I needed a jointer jig as well, so I kind of cheated and went for a two in one. The clamps on the risers were for the 2×2’s that I tapered, the ones without can hold 1/2″-1″ boards to prep them for jointing. Got the clamps at Harbor Freight so it was pretty inexpensive. To use it to taper, I just eyeball how much I want to taper, clamp a stop block on the end and a scrap piece in the middle that pushes the far end out how far I need. It’s not high tech or probably the best way to do it, but it worked great for me.

Speaking of tapered legs, if you look close, the taper on the front right leg is going the wrong way, I wasn’t paying attention when I drilled the dowel holes and I didn’t have any more 2×2 stock so I left it. Oh well, adds character right?

Finishing took a lot of time. I painted the dresser itself with semi-gloss white paint we had left over from the trim in our house and top coated it with spray on polycrylic. I decided on polycrylic as a top coat because I assume this thing will be getting peed on a lot. I finished the drawers with spray lacquer. I went with lacquer because it dries so fast, I was able to knock out all of the drawers in an afternoon.  The top I finished with a stain and polyurethane in one. I went with the two in one to save time, since the child it was for was already 8 weeks old at that point. It doesn’t look great, but since it is mostly covered anyways I just put the best side forward and called it good. I had wanted to turn my own drawer pulls, but with the timeline so far behind, I just bought some. My wife picked them out, she has a better eye for it than I do and I really liked them.

After Thoughts

If you asked me anytime in the last three to five weeks, I probably would have told you I will never do anything like it again. Now that it’s done, I can say I totally will, but I think I might stick to smaller things for a while.

Some More Pictures

First Dresser Build

Tags: , , , , , | No Comments

Goals for 2018

Mar 14

I used to post yearly resolutions here, but haven’t for a few years and wanted to get back into it. I’ll call these goals because resolutions start at the beginning of the year and it’s….later.

Finish one woodworking project a week

I got a wood lathe as a Christmas present this year, and I would like to get decent at it. I’ve also wanted to do more work with the other tools I have. Practice makes perfect and all, so the goal is to finish at least one woodworking project a week, even if it sucks.

Eat out less

Specifically, lunch. I used to NEVER eat lunch out, then at some point I got in the habit of it and if I’m honest it’s only ever gotten worse since. So this year I’m going to try to do a better job prepping lunch the day before work so I can try to break that habit.

Brew 6 times

I started brewing beer two years ago, and the results were decent, but I haven’t given it the time that I wanted. So this year I would like to make at least 6 batches. I drink most of the beer I make, and 6 full batches would be around 30 gallons. So, I’d also like to start looking into smaller one-gallon batches. That would be cool because then I could try all grain brewing without needing any more equipment. 

5 Web Projects

I already have a few side projects lined up and have a few of my own ideas that have been percolating. I’m hoping to get at least five of them live this year, including at least a face-lift for this site.

Write/Post three things a month

 This kind of goes along with the last goal. I’ve had some sites that have languished on without updates for far too long. This is the year they either make the cut and I start posting again, or they go away. Here you will see more about my web projects and foray into woodworking. You might even witness the long-awaited return of the teageek… 

Solidify a morning routine

I’m a natural night-owl. It’s actually 11:53 p.m. as I write this. Last year though, I started getting up about an hour before I normally do. It was really great to have some time in the morning to cook a real breakfast and not rush around. I want to expand on that and make a little more structured daily routine. Hopefully, that will solidify the habit and set up some time in the morning. I’ve read a little about journaling and meditation recently and would like to try it out.
 Well, there you have it, my goals for (the rest of) 2018.

Tags: | No Comments

An Accessible Color Scheme for Bootstrap Buttons

Nov 6

A while ago while doing an accessibility review of a site I was working on, I realized that the button styles I was using, which I imported from Bootstrap 3, were failing my accessibility checker. The default colors of the primary, default, and warning buttons all fall short of the 4.5:1 contrast ratio required for WCAG 2.0 specs.

At first, I assumed I just didn’t have the latest version of bootstrap, but after searching around I found a post on bootstrap’s Github page, which essentially said they aren’t interested in changing their design to accommodate at this time. Disheartening to see from a big company/framework, but not to be deterred, I headed over to Google. I assumed I could find some neat little CSS classes someone had created, and continue my day. I found a post from Scott Galloway on Codepen that I thought was perfect, but when I ran it by my coworker for review, he pointed out that if someone was color-blind (as he was), it was really difficult to determine which button was which:

Screenshot showing bootstrap buttons with simulated color-blindness

Out of easier options, I took a shot at it myself. Working with some of my coworkers, I came up with some requirements we had for the buttons:

  1. Pass WCAG 2.0 Guidelines
  2. Work well for common color-blind variants
  3. Maintained the look and feel of the Bootstrap

A common recommendation was making a custom color palette and changing them completely. Our issue with that solution was that the buttons were part of a custom CMS, and if you’ve never worked on a CMS, users tend to get unhappy when you drastically change their designs without warning. Because of this, the last point of maintaining the look and feel was important. In a perfect world, we could change the buttons without anyone noticing.

Here is a demo of what we came up with

(The trick was to invert the hover/active color to have a white background and colored text, otherwise making the info and warning buttons dark enough to pass accessibility made them either hard to differentiate, or just plain ugly.)

It worked! We swapped the styles out in our custom CMS and have never received a complaint from our users about the change, and can feel good that the buttons now pass accessibility. I figured there may be some other developer out there right now looking for the same thing and threw it on Github. Hopefully, it can save someone a little bit of time and make their site more accessible.

(On a side note, yes, my site has some accessibility issues, it’s on the to-do list, my only excuse is I made the theme about 5 years ago, and am just getting back into writing here.)


Tags: , , , | No Comments

HighEdWeb Michigan 2016

May 27

Had a chance to present at HighWEdWeb Michigan again this year. I had a great time, if you work in Higher Education, I would definitely try to find a regional conference like that to check out.  To be honest, I was dragging my feet about presenting this year, but afterwords I was really glad I did it. I always have a great time, and my presentation turned into a pretty good conversation with a lot of smart developers – can’t complain about that. My slides are below, and it you are looking for a link to the tools I talked about, you can find them on my github page.


Tags: , , | No Comments

Jumping Into Local Development

May 7

I realize that I am probably at least a few years behind the curve, but my office is finally switching from working directly on a development server to working locally and using git for version control. The last couple of weeks have been fun, and I am finally able to do some of the things that I have wanted to for a while. I thought I might share a few of things that have been most useful, mostly so my coworkers would have a place to find it all.


I develop on a MacBook Pro and decided to use the iTerm terminal replacement program. It certainly isn’t necessary, but the biggest reason I like it is I can open split panes, new tabs, or new windows with ease. This lets me keep my commands and ssh sessions organized, which can be really helpful. You can use Cmd+d to open a new vertical tab,  or Cmd+Shift+d to open a horizontal one. The other feature I  have come to like is copy on select. Regardless of whether you use iTerm or the built in terminal, there are a few other things below you can do to make your command line life a little easier.



The first thing I did add some aliases. If you are not familiar with what an alias is or how they work, there are is a good article here.

The first thing I did was upgrade the “ls” command a little bit:

So all together the alias is: alias ls=’ls -GFh’

Sublime provides a fairly robust command line tool called ‘subl’ to make it easier to launch files in sublime, so make that a little shorter I created the following alias:

alias st=’/Applications/Sublime\ Text\’

I also created some aliases to restart, stop and start my local servers. This saves time if you do something wrong that requires a server reboot. It will vary by your local setup, but for example this restarts my apache and Coldfusion servers:

alias serverrestart='sudo apachectl restart && /Applications/ColdFusion10/cfusion/bin/coldfusion restart'

Git Command Completion

Add this to your .bash_profile to enable git command completion on tab.
source /usr/local/git/contrib/completion/git-completion.bash

Display the git branch and commit status in the command Prompt

#include required libraries
source /usr/local/git/contrib/completion/
source /usr/local/git/contrib/completion/git-completion.bash

#enable the commit status
#Display the branch and status to the right of the working directory
export PS1='local: /\W\[\e[0;30m\]$(__git_ps1)\[\e[m\]]\$ '

Do you see the \[\e[0;30m\]? That’s how you see colors in the command prompt, it can be really useful, like setting your remote server to be red so you don’t accidentally delete files from the wrong server. You can learn more here and here.

Adding Some More Color


Based on this excellent article, I added the following to my git config, which makes git color coded and easier to read:

ui = true
branch = auto
diff = auto
status = auto
[color "branch"]
current = yellow reverse
local = yellow
remote = green
[color "diff"]
meta = yellow bold
frag = magenta bold
old = red bold
new = green bold
[color "status"]
added = yellow
changed = green
untracked = cyan


Even if you don’t want to, you will probably end up in vim sooner or later, might as well make it pretty!

Sublime Text 2

After watching  Ben Alman live code at jQuery conference last year, I was very intrigued by sublime text. There are a lot of nice features, but so far I have enjoyed the command line integration and the extensibility the most.


The first thing to do is set up the excellent package control plug-in. After that, adding new plug-ins is as easy as hitting Cmd+Shift+P. The packages I have found useful, in no particular order:

*A quick note about Coldfusion code completion, it didn’t have camelCasing so I fixed that, you can learn more here.

Multiple Cursors


I haven’t had a lot of time to plan with these, but I have found the clips2snippets library useful. It takes exported coda clips and translates them into snippets, although it does seem to be more then a little buggy.


Switching from the excellent  Coda2, one of the biggies I lost was not having the close terminal integration with the remote server, to fix that I have a few tips:

  1. Set up ssh keys to allow password-less logins
  2. Set up a ssh alias to your test server, that way you don’t have to type the long, and usually obscure, name every time.
  3. Update your remote .bash_profile to mimic your local one, nothing is more frustrating then typing an alias on your local machine only to have it yell at you.
  4. Set a color on the remote server’s command prompt so you always know where to go.

Well I think that’s about it for now, I’m sure as I continue to develop locally I will have more resources, so I will try to update the page as I go along.

Tags: , , , , , , | No Comments