Christmas, Life

Our 2016 Christmas Letter

I am trying something new this year. Instead of typing out the Christmas letter, I am dictating it to our new digital assistant, Alexa. Hopefully, this will save me some time, as I will be able to take care of some other important tasks while I update you on our lives. Yeah, hi, could I get two Big Macs, a large fry, and a medium chocolate shake? Actually, a large chocolate shake. Alexa, you’re not writing this part down, are you?

Continue reading

Life, Woodworking

I Built a Treehouse

After we moved into our new house last month, my kids started asking for a treehouse.  I told them I’d need to see some plans before I could get started, and the next morning, I found this on my workbench:


Fair enough.  The previous owners said that there had previously been a tree fort built in these trees, and some of the detritus was still visible:


These trees didn’t look so hardy, but there is no shortage of other trees to choose from on our property.



We settled on this one. V-shaped, about 200 feet from the house, and with good views in all directions.

The most important thing to consider when building a treehouse is that the tree will move, especially in a strong wind.   To account for this, the main supports should have slots where the bolts attach the beams to the tree so that a swaying tree doesn’t tear apart the entire structure.  (You can also use special hardware like Garnier Limbs or treehouse attachment bolts.) I used 2×12 treated lumber and started by drilling holes about 5″ apart.


Then I removed the wood between the holes to create a slot for the bolt to slide in.


The bolt holes need to be pre-drilled, otherwise you’ll never get them in all the way. I drilled 9/16″ holes for the 3/4″ bolts.


As long as you only put a few holes into the tree, it should be able to survive. It’s actually worse to put a bunch of small holes in a tree by using nails or screws than a few big holes for bolts, since many small holes may cause the tree to compartment that entire area, causing the wood between the small holes to rot.


Here’s the first beam attached with two of the 10″ long 3/4″ bolts. It’s about 5′ off the ground on the left side, 8′ off the ground on the right.


I put up the other beam and attached the joists above them to support the treehouse floor.  Here’s a side-view that shows better the shape of the tree and the main support V.


The ladder on the ground means “Kids, don’t try and climb up there yet.”

At this point, I was able to put in the floor boards. There’s nothing complicated about this; just leave space around the trunks so that the tree has room to grow.



With this kind of support system, the platform will be wobbly without additional support, so I added the first of two corner supports and bolted them to the trunk near the ground.



The kids brought up some tools to help out.


I started on the railing and added a second vertical V support.


A view from behind the treehouse, looking down the hill.


I added a ladder, built out of 2x6s. It’s steeper than a stairway but shallower than a vertical ladder.


I trimmed off most of the floorboards, but the kids asked me to leave this one long.


I don’t know if their original intention was to mount the disembodied head of Vader on it, but that’s what they did.

To avoid too much weight and too much work, I went with a canopy roof. If I had planned ahead, I wouldn’t have had to replace the railing posts on both sides with taller ones to support the roof, but I did not. I was able to reuse the shorter posts anyway, so the only thing I lost was a bunch of time and energy.


I used a big PVC pipe as the peak of the roof, and I think that was probably dumb. I wanted to avoid using something that would wear out the tarp if it rubbed against it, but a sanded 2×4 probably would have been fine, and stronger too. Oh well.

The canopy is tied down using horn cleats. This worked well, but I should have planned their spacing a little better to get the roof as taut as possible.


Time for glamour shots!




And here’s a before-and-after shot, taken with Reenact, of course.

Life, OpenSCAD, Programming, Woodworking

I Built a Tilt-Out Trash Can Cabinet

I’m going on a work trip later this month, and Christina asked me if I would be able to build something to hide the kitchen trash and recycling cans before I leave (and before her mom visits). Challenge accepted!

We brainstormed and came up with a tilt-out cabinet design.  The first thing I did was model the cabinet in OpenSCAD. We hadn’t bought any garbage cans yet, so I made it customizable; I could specify any number of cans of any size, and the model would adjust and print out a cut list for me to bring to the lumberyard.

The script is available at on GitHub, and as you can see, it can even animate the tilting mechanism:


We settled on a two-can design (one for trash and one for recycling), but we did contemplate more… grandiose… ideas.


The sides and bottom of the cabinet were cut from one sheet of sanded plywood. I don’t have a track saw, so I made do with a circular saw and a straight edge.


After making these cuts, I finally ordered a dedicated fine-tooth blade for my circular saw to avoid tearout the next time I need to cut nice wood without a table saw.  A 24-tooth blade is fine for 2x4s, but not for any visible edges on furniture.

The first thing I built was the part of the tilting door that holds the cans to make sure that the spacing and measurements were right.



The spacing and measurements were right.

I cut the sides and center of the cabinet and then used a biscuit joiner to cut slots that will be used to attach the top with tabletop fasteners. This is similar to how I build our kitchen table, and this cabinet will be stained and painted to match.


I used my 90º clamps to hold the boards in place while I joined them with pocket screws.



Oops. It’s been a while since I’ve used pocket screws, and I forgot that it matters how long they are.

The center divider was joined with regular 2.5″ screws straight up the bottom.




This is how the cabinet bases will sit in the box. They sit closer to the center board than the side boards because the face frame will take up more space on the ends (where the board is flush with one side of the plywood) than in the middle, where the board is centered.

The face frame is 1×2″ poplar and pocket screws.  I used poplar because it’s a cheap hardwood (although not too hard), and it takes paint well. It’s the same wood I built the apron of our kitchen table out of.



The cabinet top is made up of three red oak boards joined with biscuits and glue. These boards were left over from last year’s table build, so it will match exactly.  When we moved in, I inherited a powerful jointer from the previous owner, so I was able to use that to square up the rough side of each board rather than using a router and a straightedge — major timesaver.


Here’s the top, cut to length and width and then sanded smooth. My new saw blade hadn’t come yet, so I had to cut these by hand. I should probably order a new handsaw too.  It’s about 18″x33″, and sanding went a lot quicker than the 40″x84″ kitchen tabletop. I would say 83% quicker.

I stained the tabletop with Varethane’s Kona stain.


The cabinet doors are more 1×2 poplar with a groove on the inside to accept beadboard panels.  Here’s a shot from behind after I nailed and glued the cabinet doors to the tilting bases.  In the background, you can see a mystery bag, a computer desk, my shop treadmill, and a “telephone chair” that I’m going to refinish.



There’s 1/8″ space around each door, but I should have left an additional 1/8″ or at least 1/16″ on the bottom to allow for the space the hinges are going to take.  It worked out in the end though, just a little closer than I would have liked.

Here’s the top after two coats of polyurethane and the cabinet after the first coat of paint (Sherwin Williams Creamy White).



I attached the doors with hinges at the bottom and added a stop block to each side of the middle divider so the doors can’t fall all the way open. They stop at about 40º from vertical, leaving just enough room to remove the trash cans.


These spacers in the back ensure that the doors sit flush with the face frame. Since the hinges aren’t mortised in, they lift the fronts of the cabinet up about 3/16″, so the backs needs to be lifted accordingly.


Tada! The handles match the arts and crafts cabinet in the next room, so this piece really brings the whole house together.


Double tada!

After using it for a couple of days, it’s clear that I’m going to want to add some sort of soft-close mechanism. Other than that, I’m very happy with how it turned out.  It was my first time building my own cabinet doors, my first time using a jointer, and the last time I’ll ever have to see garbage cans in my kitchen.

Christmas, Life

Our 2015 Christmas Letter

You’ll never believe what this family did this year! Read on to learn their one weird tip for beating the cold!

Fast forward to July, because nothing before that matters. We sold our house and three of our belongings and moved 2,000 miles away to Oregon, the land where water is liquid year-round and your snot never freezes and the mailman delivers fresh homemade marshmallows every day! To be honest though, I’m starting to get sick of so many marshmallows! I mean, how many marshmallows can a guy eat?! After the first 20 or 30 each day, it’s a real chore to keep all these marshmallows down!

When we sold our house, we got top dollar for it. (The realtors and the bank took all of the other dollars in the stack.) We took that dollar and used it to put gas in our car for the long trip out to Medford, Oregon. Fun fact: You could drive from Minneapolis to any of the state capitals in less time than it takes to drive to Medford. Especially if you speed!

On our journey to Oregon, we saw all of the sights the North has to offer: Mount Rushmore, a cow, Old Faithful, and that thing where two swans touch their heads together and their necks make the shape of a heart. We almost slept in a teepee, and I’m happy to report that not a single member of our party died of dysentery, but we did see a lot of tombstones mentioning cheese and pepperoni.

“Fortunately,” we did not move to Oregon until after our yearly Minnesota camping trip. Even more “fortunately,” Oregon’s camping season is much longer than Minnesota’s, so we “got” to go camping again after we moved. How “fortunate” are we that we “got” to go camping two times in one year?? Two times. Imagine that. Can you even imagine it? I couldn’t. Until it happened to me.

Oregon is a magical place. Here’s proof: in October, I guessed the combination of a Master Lock on the first try. The first try! In Minnesota, it would take me two tries, but not in Oregon!

Gloria had two surgeries to clear her tear ducts so that her tears would drain normally and not smear all over her cute little face. Now the only thing smeared all over her cute little face is boogers and food and markers and juice.

While Minnesota is the land of 10,000 lakes, Oregon is the land of approximately one lake. But what a lake! It was formed by a volcano and has an island in the middle! Gee willikers! It’s called Crater Lake, and we visited it to give it the Minnesotan Lake Stamp of Approval, but they didn’t know what we were talking about so we had to just stamp it on a rock and run away real quick.

Gabriel is in first grade now, and Gideon has started Pre-K. Most of Gabriel’s credits transferred from Minnesota, so he only has to retake Shapes 101 and Introduction to Glitter Applications.

In Oregon, you cannot pump your own gas, but you can grow your own grass, so that’s been quite an adjustment to make.

I hear it’s snowing in Minnesota. LOL.

Life, Woodworking

What’s Old is New Again… and Then Old Again


My father-in-law built this hutch in the 1980s, and after being used as a bookshelf for twenty years, it sat unused in a rabbit shed. My wife asked me to repair it and refinish it.


Here’s the main problem: one of the legs broke and had been replaced by a piece of scrap. Such an elegant solution!


The damage hiding beneath the scrap.


The back panels were in pretty bad shape. The bottom section was literally held together with tape…


…so I removed it.


Very carefully, I cut out the broken leg. I believe this is also how a doctor repairs a broken leg.



I used the leg on the other side to trace a template onto the new wood.


A handsaw and a coping saw took care of the cuts.



The bottom shelf sits inside a dado, so I had to add that to the new piece.


I hand-cut the dado because my table saw was covered in boxes, since I was reorganizing the garage during this project.




You can hardly tell where the new wood starts and the old wood ends!


Copious amounts of wood filler took care of the screw holes and the gaps between the two pieces.


After sanding, it was all smooth and continuous.


I took the top panel off of the back too because it was water-damaged, and since I was going to replace the bottom panel, I could just replace them both with a single sheet of plywood.


I sanded the entire hutch until the finish was gone. This is my least favorite part of any refinishing project.


The new birch plywood back panel.


Ready for paint. Oh no, paint? Yes paint. I wouldn’t have used non-matching wood plus wood filler if it wasn’t going to be painted anyway.


My wife says this color is popular right now. (I believe its official name is “57 Chevy Bel Air Seafoam.”) She asked that I use chalk paint to get the “old” look; this paint should wear more easily than regular paint and begin to look even more distressed as we use the hutch.



The repaired corner. Imperceptible. Undetectable.


I reused the old hardware, since we were going for an old look anyway.


Oops. I probably should have checked that the doors lined up before screwing them back on. Maybe that’s why one had been taken off. I ended up filling the screw holes for one set of hinges and rehanging the door 1/8″ higher.


With arms wide open.


The finished product. I have a “huntch” that this hutch is ready for another thirty years of use.

Life, Woodworking

…And Some Benches

After I finished our kitchen table, I started on two benches: one for each long side of the table. At the last minute, my wife and I decided (a.k.a., my wife decided) to include some storage areas in the benches too.

Just like with the table, I started with a design in OpenSCAD:

Screen Shot 2015-09-25 at 10.55.27 AM

(And just like with the table, the source file is on GitHub.) Both the benches and the table are actually generated by the same code, so they literally are miniature versions of the table.

I bought some 15″ pine legs from Home Depot, but I wanted an 18″ tall bench. What to do? Stretch the legs out, of course.


I cut some blocks out of 3×3 poplar and glued them to the ends of the legs.



After sanding, the transition is totally smooth. After paint, you won’t have a clue that these legs weren’t 17″ long.


I cut mortises in the bench legs to accept the apron pieces. Not all of the legs received an accidental third mortise like this one.


I cut tenons into the ends of the apron boards and added a groove to accept the panel that will act as the bottom of the storage area in each bench.


The first dry-fit. Everything fit, and the legs all mostly touched the ground.


I cut the panels to size and notched out the corners so that they’d fit around the legs. Each bench has two panels; I slid them in from the end before fitting the short sides of the apron onto the tenons.


Glue-up time: I glued all the short sides separately.


And the long sides plus stretcher.


I did two coats of paint at this step so that I could avoid a lot of taping to not get paint all over the bottom panels.


Remember what I said about how the legs would look after paint? You can’t tell that each leg has a block of poplar glued to it.


I slid the panels in from each end and glue all of the mortise and tenon joints. This is immediately after removing the clamps.


Enough about the bases, time to make the seats. I cut four pieces of 7″ 3/4″ red oak and joined them into two bench seats with biscuits.


A single bench seat.


After sanding, I rounded the edges over with a trim router.


Before staining.


After staining.


I installed some wrap-around hinges on each bench to make accessing the storage as easy as possible.


The hinges from the back. Subtle and refined.


Benches and table, together at last.


The benches fit underneath the table, exactly like a Transformer.

Life, OpenSCAD, Woodworking

I Built a Table

Before we moved to Oregon (by the way, we moved to Oregon), we sold our kitchen table. We had bought it new a few years ago; it was expensive, but it got so thoroughly scratched and dinged up (and it couldn’t be refinished, since it was basically a plasticky veneer over fiberboard) that we didn’t want to bring it with us. So we sold it, but we didn’t buy a replacement; the plan was that after we moved, I’d build us a table that would last.

I opted for a farmhouse-style table with breadboard ends for two reasons: I had never done breadboard ends before and I wanted to try it, and also Christina liked that style best.  I designed the project in OpenSCAD first, which really helped with visualizing the joints and knowing how much wood to buy.


(The files are all on GitHub. It will even print out a cut list in the console when you render it.)


The supplies: four legs from Lowes and S3S lumber from a local lumberyard. (S3S means “surfaced three sides;” the top and bottom have been planed smooth, and one edge is smooth and square. Anything you’d get from Home Depot would be S4S, but at as much as 4x the cost.)

I chose red oak for the top, since I’m familiar with it and it was reasonably priced. It’s a nice hard wood that should stand up to the abuse that a kitchen table gets. I did splurge and get the quarter-sawn boards which cost a little more, but they display some really pretty grain patterns. Also, they don’t expand and contract as much with humidity as the flat-sawn boards do; that’s a plus.

For the apron (also known as the skirt, also known as the base, also known as “those boards under the top”), I chose poplar. I chose poplar because I asked the guy at the lumberyard what I should choose and he said poplar.


I cut the apron boards by hand because I couldn’t find the sled for my table saw. Also, you’re not a real woodworker if you use anything but hand tools. Just kidding I love power tools.


I beveled one edge of each of the table legs so that they’d fit more snugly with the corner brackets.


A couple of quick 45º cuts on the table saw gave me the corner brackets that join the apron edges together and connect the apron to the legs.


Here are all of the apron pieces cut to length and ripped to width. Take note that there are four boards in the left stack. This will be relevant later on.


I cut dadoes with my table saw in the long apron pieces to accept the stretchers (the long boards that go inside the middle of the apron). They’re called “stretchers” because they played basketball in high school.


The aforementioned dadoes.


Dado closeup. Notice how they’re great.


I decided to make the table longer than I had initially planned, and my trip back to the lumberyard yielded this 8″ wide board with a neat stripey pattern that I knew would look great as the breadboard ends. Batman’s appearance in the previous and next pictures is courtesy of my sons Gabriel and Gideon.


This is the initial fitting of the apron. I’ve said it before and I’ll say it again: I love my 90º clamps.


The stretchers were attached with screws after being fit into the aforementioned aforementioned dadoes.


This is how I cut the pocket holes in the corner brackets. I guess I could have used my pocket hole jig, but that didn’t occur to me until just now.


The glued and screwed apron. Remember how there were four stretchers in the pile earlier? When I was cutting the dadoes, I miscalculated and only cut three, so one stretcher didn’t make the team. Sorry stretcher. Maybe try out for cross-country instead.


I used threaded inserts in the legs in order to make them removable, since this table will be traveling with me for the rest of my life.


The base of the table, “base”-ically ready for paint…


…but not before I cover the screw holes with oak plugs and sand them flush. It’s the little things.


A closeup of the corner brackets. See how the beveled edge on the leg helps the fit.


Here are the boards I chose for the top, cut to length, but not yet ripped to width. Those gaps between them will disappear by the end of the process.


After ripping the boards to even widths, I cut slots for the biscuits that I used to join them together. “Biscuits” are just little cardboardy ovals, much like you might be served in a hospital cafeteria.


You can never use too many biscuits. The only reason I didn’t use more is because Oregon is in the middle of a biscuit shortage right now.


The middle of the tabletop, dry-fit. See, those gaps are starting to disappear.


This is the glue-up. The 2x4s help keep the boards flat while the pipe clamps squeeze them together. (The technical terms for the 2x4s are “cauls.” ♫ The More You Know ♫)

Here’s a before-and-after showing how the tabletop looked immediately after being glued and then again after some light sanding. The glue disappears entirely, and the boards are so close together, you can’t easily see the seam.


Some sawdust mixed with wood glue filled any larger gaps. After sanding, you couldn’t tell that a gap had existed.


The breadboard ends need a groove (aka “mortise”) to accept the tenon (aka “thing sticking out”) from the middle of the table.  I couldn’t get my router working, so I tried to cut the mortise in the breadboard end with a drill press and Forstner bit. It technically worked, but it was a little messy.


I got my router working and used it to shave down the thickness of the tenons, which were cut out with a jigsaw.


Mortise, meet tenon. You two will be working together very closely for a long time.


This dry-fit felt so good.


These pins are what hold the breadboard end on the table. The center pin is glued in, but the outer ones just kind of float, since they need to be able to move from side to side as the wood in the table expands and contracts.


This little peg went to market…


This little peggy stayed home.


The completed table top, ready for sanding and stain.


I flipped the top over and stained the bottom as a test run (and also since the bottom needed to be stained).


The legs were painted a color called “Creamy,” which coincidentally is the same color as my actual legs.


After painting the apron, I cut slots in it with a biscuit joiner to accept the tabletop fasteners. This was done late at night by the light of the moon, which was actually just sunlight that the moon reflected. (♫ The More You Know ♫)


These fasteners allow the tabletop to be attached to the apron but still move from side to side as the wood grows and shrinks throughout the year.



Here’s the top of the table after sanding but before staining.  The sanding process took about three hours and included sanding the entire top to 80, 120, 150, and 220 grits.


The top was stained with Varathane’s “Kona” stain color, but it looks more like Kailua to me.


I really like how the stain brought out the stripes in the breadboard ends.


The top after three coats of semi-gloss polyurethane. I liked the table so much at this point, I decided to replace the top of my workbench with it.






The finished product. The total materials cost was around $300, and my time invested into it was about 60 hours.

The return on that investment will be infinite: instead of just being a piece of furniture that we bought to eat at, this table is now (and will be) a part of all the memories we’ll make around it as a family.