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.

Standard
Android, Firefox OS, iOS, Mozilla, Reenact, Swift

Reenact for iOS

Reenact, the world’s most popular app for reenacting photos,* is now available for iOS. It is free and ad-free.

Reenact for iOS: Reenact photos with Reenact.

Reenact for iOS was written in Swift in about three days. It’s compatible with any iPod Touch, iPhone, or iPad running iOS 8 or newer. It’s open-source, just like the Android version.

Take a few minutes during the holidays this month while you’re visiting your family, and reenact a photo from your childhood. Wouldn’t your mom and/or dad and/or sister and/or brother just love that? It won’t cost you anything, and you might even have fun!

You can find Reenact on the App Store. Try it out and let me know what you think!

* Probably

Standard
Android, Firefox OS, Mozilla, Reenact

Reenact Now Available for Android

I’ve increased the audience for Reenact (an app for reenacting photos) by 100,000% by porting it from Firefox OS to Android.

reenact-android

It took me about ten evenings to go from “I don’t even know what language Android apps are written in” to submitting the .apk to the Google PlayTM store. I’d like to thank Stack Overflow, the Android developer docs, and Android Studio’s autocomplete.

Reenact for Android, like Reenact for Firefox OS, is open-source; the complete source for both apps is available on GitHub. Also like the Firefox OS app, Reenact for Android is free and ad-free. Just think: if even just 10% of all 1 billion Android users install Reenact, I’d have $0!

In addition to making Reenact available on Android, I’ve launched Reenact.me, a home for the app. If you try out Reenact, send your photo to gallery@reenact.me to get it included in the photo gallery on Reenact.me.

You can install Reenact on Google Play or directly from Reenact.me. Try it out and let me know how it works on your device!

Standard
Firefox OS, Mozilla, Reenact

A visual refresh for Reenact

After I released Reenact (an app for reenacting photos) last week, Joen Asmussen graciously offered to provide some professional design guidance. I could never say no to design help, and in almost no time at all, Joen put together a new look for Reenact. I love it, and it has given me extra motivation to get working on Reenact for Android.

This new look is now live on the Firefox Marketplace and will hopefully be making an appearance on other platforms soon. Thanks, Joen!

reenact-on-firefox-os

intro

capture

confirm

share

Standard
Firefox OS, JavaScript, Mozilla, Open Source, Programming, Software, Web Applications

Introducing Reenact: an app for reenacting photos

Here’s an idea that I’ve been thinking about for a long time: a camera app for your phone that helps you reenact old photos, like those seen in Ze Frank’s “Young Me Now Me” project. For example, this picture that my wife took with her brother, sister, and childhood friend:

IMG_8943

Reenacting photographs from your youth, taking pregnancy belly progression pictures, saving a daily selfie to show off your beard growth: all of these are situations where you want to match angles and positions with an old photo. A specialized camera app could be of considerable assistance, so I’ve developed one for Firefox OS. It’s called Reenact.

The app’s opening screen is simply a launchpad for choosing your original photo.

intro

The photo picker in this case is handled by any apps that have registered themselves as able to provide a photo, so these screens come from whichever app the user chooses to use for browsing their photos.

pick

gallery

The camera screen of the app begins by showing the original photo at full opacity.

capture-init

The photo then will continually fade out and back in, allowing you to match up your current pose to the old photo.

capture

Take your shot and then compare the two photos before saving. The thumbs-up icon saves the shot, or you can go back and try again.

confirm

Reenact can either save your new photo as its own file or create a side-by-side composite of the original and new photos.

save-type

And finally, you get a choice to either share this photo or reenact another shot.

share

Voila!

youngmeyoungson

If you’re running Firefox OS 2.5 or later, you can install Reenact from the Firefox OS Marketplace, and the source is available on GitHub. I used Firefox OS as a proving ground for the concept, but now that I’ve seen that the idea works, I’ll be investigating writing Android and iOS versions as well.

What do you think? Let me know in the comments.

Standard
Life, Woodworking

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

IMG_2821

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.

IMG_2794

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

IMG_2795

The damage hiding beneath the scrap.

IMG_2796

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

IMG_2797

…so I removed it.

IMG_2801

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

IMG_2802

IMG_2805

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

IMG_2806

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

IMG_2807

IMG_2808

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

IMG_2809

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

IMG_2811

IMG_2812

IMG_2818

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

IMG_2819

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

IMG_2820

After sanding, it was all smooth and continuous.

IMG_2824

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.

IMG_2833

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

IMG_2844

The new birch plywood back panel.

IMG_2845

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.

IMG_2853

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.

IMG_2854

IMG_2856

The repaired corner. Imperceptible. Undetectable.

IMG_2857

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

IMG_2858

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.

IMG_2860

With arms wide open.

IMG_2859

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

Standard