DIY bi-fold window shades

March 14th, 2012 by Joe

Challenge: covering the large window above the tub in our master bathroom

  • It’s an odd-size window, and large. Custom-order blinds aren’t cheap.
  • We didn’t want to cover up the whole window, but we did need privacy since it’s a bathroom. Bottom-up blinds would work, but Chrissy & I weren’t sure we’d like that look.

While searching the web for alternative ideas, I saw someone who had used wooden shutters to cover the bottom 3/4 of their kitchen sink window.  It provided privacy, while still letting them look out the window and letting light shine in.  I liked that idea, but shutters would be too folksy for our bathroom style.  Another neat idea I came across was shoji paper blinds, which would let light through and look more elegant.  The 3rd piece of inspiration was this article about DIY bottom-up blinds, from which I got the idea of using cheap temporary shades to keep the cost down.  Combine that with the leftover oak boards from our stair landing, and an idea started to form for a fun project.

Solution:  Homemade bi-fold wooden-framed shades



  • Hardwood boards (I used a few oak floorboards left over from a bundle that we’d bought to do the stairway landings.  They were a bit of a pain to rip, but I still had Chrissy’s grandfather’s table saw which is more powerful and smooth than my own.)
  • 1 temporary shade — bought for $4 at Home Depot, and cut into sections, which I stapled to the back of the shade frame.
  • 8 small hinges — I found these in a hobby section at HD.  They didn’t have the size I wanted in black, so I bought some unfinished ones and a can of matte-finish black spraypaint.

I did all the joints as half-lap, something I’d never tried before.  Other than taking a long time to cut all the slots with a plain table saw blade , this was pretty easy and I was happy with the result.  Since the backside is covered with paper, I could get away with a little bit of a sloppy fit, so it was a good project to practice this skill on.

I nailed a frame around the outside of the window, so that I would have something consistent to screw into and to border the top of the window.

Tracking my workouts

February 17th, 2012 by Joe

I posted about my workout logger page a few months back. I’ve been using it steadily since then, but with the house project I had no time to work on improving the page. Recently I’ve gone back to it and added a few tiny bits of functionality, like straight-to-wordpress blogging of my workouts, and persistent storage so that I won’t lose my workout details if I accidentally navigate away from the page. I’ve also been tweaking the UI gradually, to make it a smoother experience on my phone’s browser: bigger buttons so I don’t have to concentrate so hard on pressing the right thing, dynamically hiding controls when they aren’t needed, etc.

workout logger page for mobile phone

App screens

It’s been fun doing a some coding with purpose again, and it’s also helped me focus my workouts better. Try it out at the pictured url if you want. Next I think I might add a real backend, to do more interesting things with the collected data.


Thinking about a career change

February 4th, 2012 by Joe

Three months ago I left my job of 14 years, where I’d worked on the same product with many of the same people since I started part-time in college. There were a lot of things that I had loved about that job, and a lot of things that I still thought were great, but I had this growing sense that it was time to move on. The only problem was, I had no idea how to do that. Of course I was aware of some of the basics — I hadn’t been living in a vacuum — but I didn’t know firsthand where to start and how to proceed.

I set out analyzing my feelings, figuring out what my options were, and creating a plan for how to go forward. I rarely use pen & paper anymore, but this was one of those tough brain-dumping exercises where I needed to blurt ideas out freely on a pad, then spend time later exploring them and fleshing them out. After lots of days & hours working through the ideas, tossing some out and adding new ones in, and talking them out with Chrissy and others, I settled on a plan that I could believe in.

My next step was to document the plan, and to keep revising it as I went along in my job hunt. I didn’t get very far with that: fortunately, I found a great new job very quickly. So I guess I could say that the plan worked very well, or that I just had dumb luck and never really put the plan to the test. Either way, I thought the plan was useful in building my confidence and in focusing my sights on a specific goal. If you’re interested, see below:

The plan in LucidChart: (Click Open this Example to zoom in.)

Click the image below to see the chart full-size, or download it as a pdf file.
job and career change plan

If you’ve read this far, maybe you’re in a similar spot. I know it’s a very scary place to be, but it’s also exciting to have such an opportunity to steer your future. I hope my chart can help you in some small way, and I wish you the best of luck!

Product search

January 31st, 2012 by Joe

Last weekend I set out to build a shelf for G’s room. My main goals were to custom-fit it to a particular wall in her room, and to keep the cost low. I’d done a few shelves like this in our last house, using melamine boards from Home Depot or Lowe’s.

After sketching my rough plans, my usual next step is to drive over to Home Depot and look at what boards they have in stock. I then adjust my plans on the fly while standing in the store aisles. This time I decided to try doing that step at home, via the web. That way I could know the exact cost ahead of time, compare other stores’ prices, look at alternative materials, and decide whether to buy vs. build.

Home Depot’s site made this appallingly difficult to do. After 5 minutes of drilling down through vague category names, I gave up and tried keyword searching. That turned up a donut machine as the top result by relevancy for “melamine“, as shown in the below image. (The model number contains “MDF”, and MDF must be a synonym for melamine — but why is Home Depot selling donut makers anyway?)

product search results from home depot

I persevered and clicked through several pages of results on the Home Depot site, eventually finding the few different boards that I had in mind. The exercise made me think, though, that there is potential for a retailer that can provide a great user experience and great results for this kind of situation.

A simple trunk hack

January 26th, 2012 by Joe

Tired of your stuff rolling around in the trunk of your car? Here’s a quick hack that can help.

trunk hack

  1. Find a medium-sized plastic bin. An old cardboard box would work, too.
  2. Find a small block of scrap wood.
  3. Put the bin against one edge of your trunk, then put the block up against it.
  4. Temporarily tape the block down to the trunk liner.
  5. Take the bin out, set it aside, and then take the whole liner out.
  6. Flip the liner upside down and put a couple of screws into the block, to fasten it permanently to the liner.
  7. Remove tape.
  8. Put the liner back in your trunk.
  9. Put the bin back into its spot.

You can put small or delicate items inside the bin to keep them from rolling around.   And it’s easy to take the bin out whenever you need to carry something that takes up the whole trunk.

Jurassic Park source code

January 20th, 2012 by Joe

Jurassic Park is on AMC right now (one of Chrissy’s all-time favorite movies). Dennis (aka Newman) is hacking away at a computer, just before he explains that some systems may go down, and runs out to drop off the dino eggs. I decided to pause and take a look at the code. It was blurry when paused, but I could pick out a few strings keywords, some comments, and regexes. A little bit of googling, and I found the exact file:

Surprisingly, I didn’t find any trivia sites or references to this fact. So, here’s my first, tiny, and probably last contribution to the pile of movie trivia available on the internet. Click the thumbnail below to see the code up close.

Jurassic Park source code

Now that I’ve posted an image which contains both a copyrighted movie and copyrighted source code, I feel I can take the SOPA & PIPA thing more personally. (Not that I didn’t take it seriously before, I just need to experience things myself in order to take them to heart.)

# CheckOutActive - Check the active window out for modification
# Usage: Called by a user­defined menu item
# CheckOutActive uses the ProjectInfo command to determine the
# parent project for the file open as the Active window. Once this
# project has been determined, the file open as the Active window
# can be properly checked out.
# © Apple Computer, Inc. 1988
# All rights reserved.


# Request a comment before we check the file out. It is still possible
# that the checkout will fail because the lastest revision on the trunk
# is already checked out for modification by someone else.

(Set comment "`Request -d "{Task}" "What changes will you make?" || Set error {Status}`")
If {error} == 0
Evaluate "{®3}" =~ /(,([0-9.]+[a-z]*)*)®4[0-9.]+/ # {®4} contains the branch
If "{comment}" ‚ ""
Checkout -t "{comment}" -c -m -project "{®2}" "{Active}{®4}"
Checkout -c -m -project "{®2}" "{Active}{®4}"
If {Status} ‚ 0

Update Aug 2016 — Got this message from Lawrence D’Oliveiro at :

Came across your blog item about the source code extracted from the Jurassic Park screen shot.

I can tell you what language that is: it’s MPW Shell script. This was Apple’s integrated development environment that ran native on the old (non-protected, non-Unixy, not-quite-multitasking) MacOS. I used it for many years from the 1980s into the 1990s, to write code in Pascal, then Modula-2, then C. Those “Checkout” commands are for the integrated version control system, called “Projector”, which I never quite figured out how to use.

Ultra-quick mockup, using Balsamiq

September 19th, 2011 by Joe

Just tried out the web demo of a wireframing tool that a coworker had mentioned, Balsamiq Mockups.  I was very impressed.  I was able to jump in and start dragging and typing, and finish my initial layout in about 2 minutes.  Then I tweaked, re-arranged, added, and removed elements with absolute ease.  Not once did I have to pause and think about where a particular function might be located, or have to fight against awkward dragging or resizing behavior.


The simple power of b-sides

September 17th, 2011 by Joe

The digital native generation has never experienced owning music in the form of a physical tape or disc. CD’s have become relics, as useless as 8-track tapes. Growing up in the 80’s (the heyday of the cassette tape), moving to CD’s in the 90’s, and then to streaming radio, podcasts, and downloads in the last decade, I have to acknowledge the leaps & bounds that the music industry has made in improving the quality, portability, and durability of their product. However, since I spend a decent amount of my time listening to DJ’s playing old vinyl, I sometimes ponder other aspects of what was better, worse, or just different with the old modes of distribution.

One big difference: iTunes lets you buy any single song, one at a time. We’ve always had singles, and record companies have always pushed individual songs rather than whole albums, but we’ve lost an important piece of the concept: the b-side.
Read the rest of this entry »

Commuting isn’t so bad, part 1

September 16th, 2011 by Joe

For much of my career I had a 5-minute commute. I wondered how coworkers could stand spending 2 hours a day in their cars. In 2010 Numara moved, bringing my drive to 20 minutes. Not ideal, but I still felt lucky to have a relatively short drive. This year, my family & I acted on a really great opportunity to move. One of the few downsides that I feared was my commute: it would be 50-60 minutes each way.

I asked friends about their commuting habits, and searched the web for advice. I am amazed at how quickly I’ve adapted my daily rhythm, so much that I actually look forward to the drive on most days! I’ve been jotting down some of my trials, successes, and failures over the past 3 months of learning to commute, and I figured I’d share them in occasional blog posts.

I’ll start with a simple tip: snacks & drinks.

Read the rest of this entry »

Do it without titles

September 9th, 2011 by Joe

Dear Gmail,

Why do you insist that every mail I send should have both a subject and a body?

I just want to send a single nugget of thought, sprinkled with #hashtags. I don’t want to spend extra time typing out a meaningless extra field (especially if I’m mailing from my phone and trying to finish before the light turns green).

If you expect to continue in your pivotal role as the glue between all of my apps and devices, you should stop hassling me with these silly warnings.

P.S. Most of the rest of everything you do is reliably awesome.

P.P.S. I stole the subject of this post from another blog, Launching a start-up? Do it without titles.