Builtin Bookshelves

Last winter or so we decided to build bookshelves.   After much pondering we decided to make them built into the wall and have a window seat.   Here’s what we came up with (we never really got a good picture of it before leaving to the EC):

P1020674.JPG

Since this was my first woodworking project there was a fair amount of ramup.  I dedicated myself to the study of Norm Abram, watching as many New Yankee Workshop episodes as the Internet would yield unto me.

Step 1: Pedestal

The  process begin by pulling up the carpet and built a small platform of 2x4s.  This platform was needed to bring the shelves up high enough so the baseboard moulding could run under the shelves and connect up with the moulding on the connecting walls.

Step 2: Carcasses

Essentially the carcass is the cabinet / bookshelf – it forms the entire structure.  Virtually everything else is cosmetic.  This surprised me because people charge a ton for furniture work, but essentially you are just building boxes.  How’s that for a deprecating simplification of cabinet making!

Another surprise has to do with the building material.  Whenever I hear people talk about furniture it is clear that quality and hardwood are synonymous.  Yet all the guidlines for building furniture involve plywood.  How could this be?  It turns out plywood is stronger – much stronger – than using plain old hardwood.  And far less expensive.  I think I got my sheets of plywood for around $60 each.  The bulk of the cabinets were built for around $500 total!

One thing you appreciate from watching Norm Abram and others is joinery.  There are all kinds of ways to bind two peices of wood together: pocket screws, dowels, rabbet, mortise and tenon, etc.  I chose to join the carcasses with double rabbet joints.  To do this I bought a Diablo Dado Kit  for the table saw.  I passed the plywood edges through to take away half the width on each side.  I then glued the sides, held them in place with pipe clamps, and screwed them together.  As Norm would often say, the screws are not really there to hold the thing together – just to keep it from moving while the glue dried.  I think they do add strength, but they’re not the main source.

On that note, may i say: wood glue is amazing stuff.  I used a variety of glues: basically Tightbond II and Gorilla Glue.  Im not sure if Tightbond III would have made a difference – in looking at the bond strength, Tightbond II and III seemed about equal.  Essentially you’d have to be the incredible hulk to separate two fully-cured bonded pieces of wood.  The Gorilla Glue is also a  good option, but I didn’t find it any better (but it was more expensive).

Another amazing tool: the table saw.   Its the main tool to use in woodworking.  A few table saw truths now resonate with me:

  • The bigger the better.  Ideally you want to hold a full sheet of plywood on each side of the table saw.  Barring a big enough saw for that, at least buy a few roller stands to balance the plywood as you push it through
  • Buy a high-quality blade.  I tried using the stock blade that came with my Father-in-laws saw, and found it chipped the wood.  So I promptly went and bought a nice 90-some tooth diablo blade.  Cuts through the wood like butter!
  • Vacuum is essential.  You end up getting tons of sawdust in the air without a vacuum system.  I think even just using a shopvac is good – you can tape it into the output of the table saw.  Or just wear a mask.  The sawdust will get everywhere though.

To complete the boxes I glued in some 1/4″ plywood into a rabbet I had made to the back of the boxes (before joining them).

That brings me to my two main regrets about the carcasses:

  1. Not using 3/4″ for the backing.  I guess even 1/2″ would have been OK.  But building quality furniture just to skimp on the backing doesn’t make sense.  The only justification seems to be cost.  The 3/4″ white oak panels I got from home depot cost around $50 a sheet.  I think the 1/4″ panels were half that.  So all in all, I might have saved $100 total – big deal.   If I would have went with thicker backing I might have also been able to drill holes in it for supporting the middle of those large shelves, who knows.
  2. Not properly wiping glue of the carcasses.   Every woodworking tutorial mentions wiping the glue off once you’ve stuck the shelves together.  I did a good job at this later on, but not at first.    As a result there were parts of the shelves I had to vigorously sand just so the stain would apply evenly.  Just wipe it clean!

As can be seen below, I formed four carcases: 1) The left cabinet, with 1/3 of the window seat attached, 2) the left bookshelf, placed atop the left cabinet, 3) the right cabinet, and 4) the right bookshelf, also placed atop the right cabinet.  This left the middle section, which I finished after screwing the bookshelves to the pedestal.   To make that work, before bringing the caracses in I formed a rabbet on both the top and bottom edges of the window seat portions of the cabinet.  I also formed rabbets on two pieces of plywood.  I then slide one of the peices on the bottom of the middle area, and nailed it to the pedestal.  The other one went on top.

When this was all done I put another sheet of plywood on top of the window seat, to cover up the seams on the layer below.    When that was done I basically had the following:

 

P1070281 P1070089 P1070064

Step 3: Facade

I think they call this the face plate.  Its the only part that is actually solid hardwood.  I chose 3/4″ white oak from home depot.  It was fairly expensive – I’d say I spent at least as much on the faceplate as all the caracases, if not more.

I joined the faceplate using mortise and tenons.  I am proud to say I made a single faceplate for the bottom half that went from the left side of the room to the right .

To form the joints I used the table saw to form the tenons.  I used a drill press to form the mortises.  One note on that:  I bought a fairly cheap drill press, but it worked very well.  It just took a long time.  I investigated using mortising drill bits, however these really didnt make a ton of sense – the idea is they chisle as you go down.  Well, maybe that makes sense, but in the end the drill worked just fine.

Of course I applied copious glue in joining the mortise and tenon joints.  I also bought some pipe clamps to hold them in place as they dried.  A note on that: it is really important to let the glue dry in a warm room.  I tried doing it in the cold garage and found it didn’t dry at all.  I guess you have to follow the manufacturers recommendations – who knew!

I placed glue along the back of the faceplate and used finishing nails to hold it in place to the carcass.  Note again the nails really just hold it in place while the glue dries.

I also formed solid hardwood table tops for the bookshelves. Im not entirely sure why I did this.  Those things could hold a tank: two layers of 3/4″ plywood with a 3/4″ layer of hardwood.

Step 4: Shelves and Doors

The shelves are brain-dead easy.  I took plywood and cut some hardwood strips as a faceplate.  I then glued the faceplate to the hardwood, using a few finishing nails.  I filled the nail holes with putty.  Oh, and I did round the hardwood (before affixing it to the plywood) using some rounding bits on my router table.

As for the doors, this was the fancy part – the one that requires precision.  You have three elements to each door: stiles, rails, and panels.  The rails are the top part of the frame, the stiles are the sides, and the panel fills the middle.

For the panel I joined together three  6″ slabs of oak.  If I were Norm, and had his setup, I would have used a joiner to make sure the edges of the plywood were perfectly flat.  I don’t have joiner, but the stuff from Home Depot seemed pretty flat.  So I glued it together and clamped it tightly with some pipe clamps.

I then carefully measured, remeasured, marked the size of the panels.  It turns out you want the panel to float a bit inside of the rails/stiles.  You do this to allow for expansion in the panel.  The wood grain of the panel runs vertically.  Wood tends to expand with the grain, so the panels are supposed to be cut such that there is about 1/8″ wiggle room on each side.  Wood does not expand much against the grain, so only 1/16″ wiggle room is needed.

Cutting the panels wasn’t tricky, but it was a bit time consuming.  This is because I wanted to avoid ruining my router as it chomped through really thick wood with a big bit.  So i took two or three passes, each time getting closer and closer to the router bit.   I did end up burning the wood a bit on one panel, as can be seen below.

A note on router tables: I bought the Bench Dog router table from Amazon.  I was torn on this purchase – there were so many high quality expansive options.  For example, I would have loved to have one with a precise lift mechanism. In the end I think it would have saved time, but the cheap bench worked very well.  My only real regret with it was the size – it was hard to do these panels, as the bench couldnt support them.

Another note on improvising: The fun part of woodworking is being able to make anything.  Along the way, you have to make jigs and guides.  I think I made several for this project, including my own cross-cut sled for the table saw.  When i went to use the panel router, for example, i found it didn’t fit through the hole of the one that came with the router bench.  So i made my own!  It worked just fine.

Step 5: Staining and Finish

There were lots of other little steps, including forming a two-layer crown moulding along the top, but within a few months I was ready to stain things.   I tried to sand everything well with a palm sander.  We then decided to use a darker stain, partly because it actually looked nice, partly because i wanted to cover up some of my mistakes.

This part was actually fairly easy – i just applied a lot of stain, then wiped it off.  I did that twice or so in most cases, except on the hardwood where i had to do it three times or so.

My main regret here is not protecting the carpet.  I should have covered it with a thick drop cloth.  But i didnt, and of course ended up getting the carpet in several places.

Another note on stain: to make it more even, some people recommend using a diluted laqueer or pre-stain treater.  That might have been a great idea, but it made things too light for my likes.  Maybe next time.

Once the stain was dry (i gave it the recommended week or two) I applied a varnish.  I did two layers almost everywhere – three or four layers on high-impact areas like the window seat.

IMG_20140530_071124 IMG_20140530_071119 P1070431

 

 

IMG_20140517_181403

The first picture in this post is the best picture I have of the finished product.  Note there is some kind of a posterboard sitting atop the cabinet on the right – that’s not the crown moulding.  Pretty nice for a first timer!

Return of Blog

Here it is, my first post of the new blog!

My nephew inspired the thought that led me to bring back the blog.  I told him he could easily setup something on my website if he wants to learn web programming.  Then I realized that for me to share the website, I’d have to figure out how to actually setup apache for subdomains.  I also wanted it to support https and http.

Turns out this is fairly simple:

  • Add an A record to DNS for each subdomain
  • Inside apache, include at least the following:

NameVirtualHost *:80

NameVirtualHost *:443

  • For each subdomain make a conf file (in /etc/httpd/conf.d/) that includes a VirtualHost entry for each subdomain:

<VirtualHost *:80>
ServerName carson.fenimorefamily.com

# Index file and Document Root (where the public files are located)
DirectoryIndex index.html index.php
DocumentRoot <directoryForYourSubdomain>
</VirtualHost>

<VirtualHost *:443>
SSLEngine on
SSLCertificateFile <crtFileName>
SSLCertificateKeyFile <keyFileName>

ServerName carson.fenimorefamily.com

DirectoryIndex index.html index.php
DocumentRoot <directoryForYourSubdomain>
</VirtualHost>

Note that I basically repeat the same section for SSL and normal.  Why? Because in the SSL virtual host you actually turn on the SSL engine.  All the rest of the innards of each section could be placed in a separate file and included, I suppose, but prudence (or laziness) suggests otherwise for now.

Here’s looking forward to blogging about useful technical stuff; I’m purposefully not sharing juicy tidbits from my personal life, as I think the only interested parties for those things are web bots and terrorists.

I’ll even try to do some retroactive blogging of projects from the past eight years.  To that end I’ll write a TODO list here and see how well I do at whittling it down.

  • Mapping out the East Coast – Really keeping a log of places we’ve been and interesting facts
  • Becoming landlords
  • The chicken pi – my solution for monitoring a bunch of chickens
  • Some woodworking stuff – I have pictures, why not post
  • My recent raspberry-pi camera solutions
  • Some details from my thesis
  • My latest discoveries in web programming (oh how i used to loathe web, until angular came along)
  • Programming a game with my nephew

Photo Stitching

As the owner of a brand spanking new Canon SD1000, I unpackaged the included software and found a nifty tool called PhotoStitch.  The camera itself only provides a special function which assists you in providing overlap between successive images of a panorama. The magic of the stitchery is in the desktop software.

PhotoStitch does a descent job, given its design parameters: it is intended to do the stitching largely unaided.  Hugin, an open source tool for creating panoramas, requires that you specify the alignment control points.  Although seemingly daunting, the task is actually extremely easy.

As one majoring in computer vision, I should understand the algorithms a little better – to be able to compare the two on an algorithmic level.  What is clear, subjectively, is that Hugin is just more powerful. If it makes a mistake, i can go back and add a couple more control points and out pops a better alignment.  Here below is a sample of output from PhotoStitch (software from Canon) and Hugin (open source software).

PhotoStitch

PhotoStitch

Hugin

Hugin

A Matter of Definition

As someone who grew up mainly in the 90s, many of the societal norms I learned can be attributed to one of two main sources: Cool (e.g., Saved by the Bell and The Fresh Prince) and Uncool (e.g., Full House) TV shows. Although many positive social changes have been introduced over the last half century, as taught by mother TV, I think there are some supposed proscriptions that attempt to redefine what the dictionary already defines clearly. 

For example, one might conclude that it is sexist to use the word “he” to refer to an individual of unknown gender.  I have had english teachers attempt to codify a style rule for this situation, so that you use “they” to refer to such an individual; others have suggested using the more prolix “an individual” or “the person.”  The problem with using “they” is that “they” is plural, where “he” is attempting to address something in the singular.  The other suggestions violate the law of syllabic conservation.

“He” or “she” can certainly be used as anaphora.  Why not as a generic reference?  The truth is, you don’t have to reason about it: Webster already defines “he” as “used to refer to a person of unspecified sex.” By the way, “she” also includes the same definition allowing for gender-neutral references.  

PS, I got the definition while reading DeGroot “Probability and Statistics”, 2nd ed.  

Almost 2 Years With MacBook Pro

I have been wanting to write a bit about my experience as a computer scientist who switched to Mac about 2 years ago.  I bought a MacBook Pro after  talking with a coworker at the INL.  As most people, I had a bunch of misconceptions about the Macs shortcomings.  Most of all, I knew macs used PowerPCs – and although these seemed like cool chips from a nerd standpoint, I saw no compelling reason to switch.  But when Apple released its first iteration of the MacBook Pro, with the Intel Core Duo, I was thouroughly impressed with the whole package.  It was attractive – and had a whopping two cores (I am sure when my kids have 64 cores in their laptops two cores will seem a paltry amount). When I ordered one in August, 2006, I watched it ship from China – it felt like I was having a supercomputer delivered to my doorstep.  On top of that, I knew it was a good looking, quite laptop – all aesthetical parameters that have meant much more to me as I have grown older (I hate loud fans with a passion).

First some background.  I grew up as a nerd.  I tackled the most inane nerd tasks at an early age – even doing database applications in middle school (boooring).  That said, by the time I had decided to get a Mac I was not the same breed of nerd.  Fans drive me crazy – and I don’t care how powerful a computer is, I want it to have a bright screen, be quiet, powerful, and capable.  I like programming and Unix, but there are certain tasks, as a long time linux user, that I find repugnant – namely, rebuilding your kernel.  That’s a fun excercise once or twice, but when it becomes a useful skill for daily computer use in a particular OS, as it seems to be in Linux, I question whether that OS is ready for mainstream use.

How has the Mac measured up?  Truth is, it has meet my high hopes for it.  Here’s a list of Pros and Cons:

Pros:

  • It IS Unix.  It has the full suite of Unix tools, most of them open source.  It uses GCC.  It has a great Terminal and comes with Bash.  Its POSIX, BSD, and has done everything that I have ever expected a UNIX to do.  For many open source apps, if there are slight tweaks that need to be made to the source, one can easily download mac ports, and install apps in much the same way as with apt-get.  Bottom line: flawless unix environment.
  • It IS beautiful.  Or, as steve Jobs would say, “gorgeous.”  The keyboard lights up in the dark.  The screen is bright – even after 1.8 years. It is about noticeably  quieter than most laptops Ive put it next to.  The windowing environment makes Microsoft Windows look like a bad dream. Everything scrolls smoothly, looks slick, and works well together.  
  • It IS capable.  Lets face it, its Intel Inside.  It uses a standard intel chipset with some Apple BIOS.  But while the processor is standard Intel, the layout is definitely Apple – all laid out in the cleanest, cleverst, thinnest package.  As for the OS, the kernel OS X sports works wonders. I regularly have a dozen browser windows, the XCode development environment, NeoOffice (Open Office variant for OS X), iTunes, Mail, iPhoto, Gimp, and Final CutExpress all open at once – and it all runs smooth as butter.  Whatever they are doing to make it seem so smooth, they have me fooled. 
  • It IS upgradeable.  Even in a laptop!  I have doubled the ram, and just yesterday, using no “extra” tools, cloned my harddrive onto a new one that is 3x as big – all went flawlessly (even though I voided the warranty by opening the box myself.  Hey, Im not gonna let someone else do it if I can do it myself)
  • It IS different.  Apple does things differently.  They follow an 80% rule – they show the features that 80% of users want. Some people, even Mac Users, have complained, e.g., about the lack of resize handles around all sides of an application window.  I simply do not care about that.  Some people complain about a lack of games on the Mac.  In my opinion, computer games are a total waste of time (though I am sooo grateful to all the parents who buy their goober kids the latest video cards and drive down the price on fast graphics hardware for me to develop cool visualization applications)
Cons:
  • For some reason, in Leopard the Activity Monitor sometimes gets weird shapes drawn in it.  I am pretty sure this never happened in Tiger.  Weird.
  • All people in Apple Stores seem like goobers.  I avoid working with them at all costs now.
That is honestly it.  I am living the dream.  As a full time developer, I have been able to do web development more effectively (if ere I need windows I pop open Parallels and virtualize it – I did this once to develop an MS Access application).  As a home video enthusiast, I have made extremely fun, and cheesy, home videos in iMove and Final Cut Express (and with a single click of a button they are uploaded to YouTube).  All the productivity applications (NeoOffice for spreadsheet/word, Mail to aggregate my many email accounts, iPhoto for photo tagging and indexing, etc.) have all worked together harmoniously. 
Seem to good to be true? Maybe I am an anomaly – but Apple has definitely delivered a product to me, at least, that is about as good as I could have asked for.  It is the ultimate development platform, and the prettiest usable one I have yet to see.  And, with the looks of Microsoft’s Vista, it will be the only good platform, in my humble opinion, for years to come.

First Podcast

This is my version of Cristofori’s Dream by David Lanz.  I created this using garage band, making each note individually.  Conclusion: the real version, played by a human (such as David Lanz) has much more emotion and character to it.  

Hot Dog Evolution

We chose to take part in the long standing tradition of the hot dog bar today in the Magicc Lab.  The first hot dog bar started in the spring of 2007 while at the INL, established with the de facto condiments: ketchup, mustard, relish, and Sour Kraut.  Later that year mayonaise was added to the condiment canon. This year, beyond the sheer joy of partaking of hot dog goodness, we also investigated the evolutionary history of the dog.   Look below to see the four major stages of hot dog evolution:

  1. Emerging from the sea of primordial null dog soup, the basic frank emerged, exhibiting little taste or desirable texture.  These dogs have been given the name sawdust dog (SD), or just plain wiener.  This basic life form has survived deserved extinction for eons because of its low market price.
  2. Slight evolution spawned the Oscar Meyer Beef frank, a $5/pack dog with barely noticeable improvements over the SD. It is expected – or at least hoped – that this branch will dwindle into extinction soon.
  3. After steady evolution, the SD developed into the present day polish dog. The polish offshoot may optionally include a cheese core, but the basic idea is an infusion of more palatable spices into the same basic link.  Note the baboon buttox and lengthy arms that are crude predecessors to fully evolved bratwurst, below.
  4. The Bratwurst represents the apex of evolution.  Full-bodied taste is carried by its well-developed bipedal frame.  Sporting a refined neck tie and a full smile, this dog looks as good as it tastes.  Other names include heaven-on-a-bun, or the King of Dogs. Some have suggested the name of this species be changed from Bratwurst to BratBest, to better reflect its palatability.

Hot Dog Evolution:

Hot Dog Evolution

Link links:

Travis Millet, pictographer of the dogolution:

http://themilletfamily.blogspot.com/

The Crispy Dog, thanks to Jeff Kennington:

http://www.oakenweld.com/coppermine/thumbnails.php?album=20

Macbook Pro 85W Power Adapter Repair

A friend stopped by yesterday mourning the loss of his MacBook Pro power  adapter.  Since he had already ordered a new one from Apple, I asked if we could try to resuscitate the “broken” one.    It turned out to be a simple fix:

  • Chisel along the seam of the power adapter; this may be he hardest part – mainly because it seems so unreasonably hard to get the blasted thing open.  Keep on chiseling, it will give with time.
  • Snip the old wires and solder on the new ones.

Did I really need to make this list? Bottom line: if your macbook adapter broke because you bent the cord to death, just pop it open and resolder.

MacBook Power Adapter 2 MacBook Power Adapter 1