Bench Retrospective

I’m back!

I got struck with the urge to update the blog and it seemed fitting to kick off its resurrection with a follow up about the bench I documented before my hiatus. I’ve been working with the bench in my apartment for several months now and have developed a few opinions that may or may not be useful to others. Here’s how she looks now, after ten months:


I should caveat this post with the disclaimer that while I do own several books on benches, I have not yet read any of them because honestly I’ve found the things that come out of the shop more interesting. It’s also hard for me to get excited about benches because I knew for a fact that mine was temporary. So, in light of that here’s some specific lessons that I’ve learned:

  1. I should have built this bench a foot longer. Being new to hand tools I didn’t realize how much a difference the length of the bench can make. Longer is better, even if only by a foot. Especially with the vise I have which has a way of pushing the natural working area to it’s right. Also, I had thought at the time that five feet would have worked and chose to do four to keep things simple. If I were back in my garage in California I’d have an eight foot bench.
  2. A few months ago I took the plunge and cut two inches off all the legs and I’ve been very happy. I even plan to do away with another inch once I get some time and energy. I don’t regret building the bench as high as I did though, as I got that experience and can now say that I’m a short bench kind of guy with some confidence.
  3. My next bench won’t have a center trough at all. It is nice being able keep tools there but that’s a minor convenience compared to the times I’ve swung a hold fast out over the gap in futility. I think this is especially critical on shorter benches where your surface area is limited. Also, it affects how large certain bench accessories can be as it’s annoying having bench or paring hooks hanging out over that space. If you think you’ll love the trough, consider putting it along the back. What I think would have been perfect for this bench and my learning would have been one of those Nicholson style strips down the center.
  4. I found myself wishing for a tail vise. I’ve become a huge fan of using batons to hold work, but on the shorter bench wedging batons don’t work very well for longer pieces. I suspect I would have had an easier time learning on a bench with a tail vise as I’ve had some frustrating work holding situations.
  5. I’d plan the dog holes better and reconsider purchasing any metal planing stops. It took me no time at all to realize that wooden planing stops and batons are superior to metal ones. Also, I’ve never regretted 3/4″ round dog holes.
  6. I wish I would have put the vise as far to the left as possible. I think it’s installed too far right by at least an inch and that, coupled with the way I find myself working to the vise’s right means I’ve got less natural working area.
  7. The vise. I do get some racking, mostly when clamping down heavily with the side of the vise on a long board for a resaw with my frame saw. That’s my only complaint with the vise and so far it’s served me well for the kinds of things I’ve used it for. I can definitely imagine future projects that the vise would be less than ideal for though and that said, my next bench will have proper face and tail vises if only so that I can try them for comparison.

I’m glad that I chose to build a “throw-away” bench first as I’ve been able to learn some useful lessons that I can bring to building its successor. I’ve also just finished building a Knockdown Nicholson bench at my local maker space (MakeHaven) which was a great experience that I’ll write about later. Building and using different kinds of benches has shaped how I look at my next bench. I have definitely accepted that I’m going to be a man of many benches. There’s a certain freedom in accepting that one single bench can’t really fill my needs as a woodworker over my lifetime and that the next bench I build doesn’t have to be my last. The bench I have now is serving me well and I have a feeling I’ll learn as much from my second bench as I have from my first. At least, I hope that’s the case.

Workbench Build

After watching Paul Sellers’ build a workbench on YouTube I was convinced that was the way to go for my first serious bench. It had everything I wanted, from mobility and stability to inexpensive materials. It seemed like such a low risk endeavor with so much learning potential that I just couldn’t convince myself to go any other way. I knew that because of my upcoming move a full length bench would be a risky commitment and so decided to go with a 4′ version.


I started at my local big box store, hunting for good boards. The only kiln dried lumber my local store sells is 2x4x8 whitewood. I poured over them for a while picking out the straightest and clearest boards. I knew I needed 6-8 boards with clear narrow edges for the top and 6 boards with clear faces for aprons and the well. I did my best to find 4 other clear everywhere boards for the legs. This part simply went OK. If I had more time I might try and do this in multiple trips, buying boards for the top in one trip and legs in another, for example. Even though I had access to a new pallet, I found it difficult to find that many solid picks. I did overbuy as well, which turned out to be a good idea.


I did all the dimensioning on this project using power tools and all of the joinery using hand tools. I’m slowly building my hand tool arsenal and didn’t feel prepared to work all the boards down by hand.

First, I ran all the boards through my planer, eliminating a bulk of the easing on the edges. Next, I started gluing a few things up, including the top, then the legs and then the well board and aprons. In the future, I would glue the top up and then the legs and only glue the aprons/well after I had assembled the legs. My aprons ended up slightly warped and I feel like waiting may have given me the chance to avoid that.


I crosscut the 8 foot pieces down to 4 using a sled on my table saw. I had to flip the top over to get all the way through and it turned out just fine. In fact I also did this to trim the rough ends off and was surprised at my ability to get a flush cut after flipping over.

After gluing up the legs, I cut them to length and started the mortises for the tenons. I didn’t get any pictures of this, which may be a testament to the job that I did on them. The first two were horrible and I quickly learned (despite Paul saying so) that I should flip them over and mortise from both sides. When the first mortise blew out around a knot there was a moment of panic and then a calming clarity that comes from knowing that I could just make that the inside face and hide the ugliness with the tenon. The others went better and I was feeling pretty good by the end of the fourth and then I realized there were four more. It was tough work. I did sharpen my chisel twice, but no matter how hard I tried I couldn’t drive the chisel as deeply as I felt I should be able to. Sometimes it would only go 1/16th in, sometimes 1/8th in. I used the same technique Paul did, and it’s important that even if you aren’t able to make the same kind of progress you still stick with the motions as it makes for a cleaner mortise than if you go rouge with your own approach. For example, one time I tried drilling some material out and didn’t feel that helped speed things at all.


Cutting the tenons went terrifically. I used my Lee Valley Tenon saw and was able to cut all eight extremely quick. The key here was to mark them out first and then cut them. I find that in general if I mark and then cut and mark and then cut it’s considerably slower than if I mark them all and then cut them all.

Fit went smoothly enough. I did some minor sanding and chiseling to get things to fit, but I wasn’t pleased to see so many gaps. All said and done, when they were glued up I was happy to see that they were square, but I definitely need to work on my through mortise and tenons. It was my first attempt at doing them by hand and I definitely learned a few things.

While the legs glued up I started on the aprons. My aprons ended up twisted a bit but I put the worse one in the “back” and started on the housing dados. This is another situation where I’m not sure how much to attribute my struggle to the wood, tools or my technique. I felt like I approached the problem the same as Paul did in the video but ended up with very uneven dado bottoms. I did make a Poor Man’s Router and that helped, as my Lee Valley router plane wasn’t wide enough to work comfortably.


I would estimate that the work on the major joinery on the bench took me about a week working a few hours a day.

Next came the wedges, which were straightforward to make. I used some Red Oak I had lying around for mine.

I used my brand new brace to drill the holes for the apron bolts. I should have recessed these from the start so I’ve got some tricky work ahead of me, probably involving some dowels in the existing holes to keep a forstner stable on the workpiece.


Here’s me gluing the tops to the aprons. I was patient and did this in two steps so I could use all my clamps for each one. I also took the time to ensure things were as square as possible first. Whenever I would walk by the bench in this state it was hard to not imagine it as a foosball table.


I wish I had more in progress pictures of the build. It was easy to forget, especially when you get into the zone chopping away.

Well, here’s how she looks today:


I’ll be adding a finish of danish oil to at least the legs and possibly the bench top. I haven’t decided yet. Also, I’ve got a vice on order from Lee Valley that will go through the apron you can see above.

Scaling Down a Wood Shop

Since we purchased our home a few years ago, we’ve known with near certainty that there was a temporary move in our future. My wife is getting a doctorate in Psychology and to get her degree she is required to complete an internship. For that internship, you interview at sites all over the country and then you and the sites rank each other. After a few weeks of anxious waiting you’re algorithmic-ally assigned to a mutually optimal choice in a stressful and sadistic process known as The Match. We knew it was highly likely and even desirable that she match outside of Southern California, given her concentration, and so have accepted from the beginning that our home would become another family’s for a short time while we took off on an adventure.

Fast forward to January, when the interview process began. She spent three long weeks in hotels and airports, interviewing at more than a dozen sites from Portland to Boston. She ranked them, and then we anxiously waited until we learned very early on a Friday morning in February that we’d be moving to New Haven, Connecticut – 2,500 miles away.

Standing in my three car garage among my saws, assembly table, benches, spare lumber, and ample floor space and storage I was confronted with a tough choice. It’s not often your reasons and assumptions for enjoying a hobby are tested in a way that reveal something deeper about why a hobby gives you joy. I was faced with a collision of competing desires. We wanted to be by the university for easy commuting. We wanted to be near the activities and the energetic life of our new city so we could leverage that energy and sling ourselves into the new community, engaging us so we felt comfortable leaving the 25 square mile patch of land in Southern California that’s been our home for a majority of our lives. I knew immediately that finding that and enough space for a workshop was unlikely, especially having to find a place to live remotely after only one visit to the area. Also, the thought of moving saws and equipment cross country daunted me more than I liked. Initially, I was a little depressed. I felt that losing the space meant that the hobby would have to lie dormant until we returned. I started to think about how I could pass the time. It was then that I stumbled upon an idea that should have been obvious to me from the beginning. The space I had was a luxury that someone interested in woodworking the way I was could easily sacrifice. With hand tools and a well-lit corner of a room I could easily create in a smaller way, hone skills and practice techniques.  The more I thought about the opportunity, the more excited I got. It was comforting because it cemented the realization that my journey into the hobby was born out of a desire to create and learn techniques rather than collecting a shop. I feel pangs of remorse at the idea of losing the shop, for sure, that’s unavoidable. Yet, I’m invigorated because I know that fully embracing hand tools for a few years will do wonders to enhance my woodworking in ways that probably would never have come my way had I stayed in the comfort zone of my shop.

So I begin a journey that many woodworkers usually take in the opposite direction. My power tools are going into storage and I’m compressing my hobby down into a single chest and a Paul Sellers inspired 4′ bench. Wish me luck.

Starting Woodworking

To further increase the diversity of topics on this blog, I’m going to talk about woodworking. I’ve been eager to try my hand at it for several years and I wasn’t able to find the space until recently when we moved out of our two bedroom apartment and into a home with a garage.

I have a tendency to over-commit when it comes to hobbies and so I’ve been purposefully trying to narrow my tooling focus to projects immediately in front of me. The first project I had in mind was a built-in bookshelf in our living room and I’ll write more about that project later. This post is more of a quick summary of how I navigated my initial burst of tooling up as a novice woodworker trying to adhere to a budget of less than $1000 over several months.

Circular Saw

I bought a Makita circular saw and have been very happy. The only complaint I’ve had applies to most circular saws on the market – zero dust and chip collection. There are kits you can buy to add a port for that and that’s something I’d like to look into later. I use this exclusively to break down plywood.

I’m going to make a custom guide very soon. Until recently I’ve been clamping down scrap pieces and accounting for the added width of the saw base manually and that’s getting old. I should have done this sooner.

Table Saw

This was one area where I wish I would have spent more money. I didn’t know how much deeper into the hobby I’d get after the first few projects and so I was wary of buying more than I needed. I ended up picking up a Ridgid R4510 portable table saw from HD using a HF coupon (only got 10% off though) If I could travel back in time, I’d tell myself to pay the extra few hundred for the R4512. Right now, I’m torn between making that upgrade immediately or waiting until I possibly can’t avoid the upgrade (something breaks?) or can justify spending the big dollars on professional table saw.

Some accessories that I’ve purchased are:

  • Bench Dog Push-Loc Push Stick – I really like this push stick. The only complaint I have is that the heel portion is a little shallow, though it’s never slipped off on me.
  • Gripper – I don’t use this as often as I thought I would. I’ve managed to keep my guard on for nearly all of my through cuts. I have never had to rip so narrow that I can’t get the push stick between the guard and the fence (<1.5″ on my saw). I do use this when making dados or rabbets, so it’s getting used and I’ve liked having it then.
  • Olshun Dado Stack + ZCI – I went with a 6″ stack instead of the 8″ and haven’t regretted the choice, yet. The stack came with a great case and I’ve not had a problem configuring it to get the width I need. The ZCI works good too, though now that I own a router I’ll probably make my own.
  • Fence Clamps – I’ve used these a few times on my sacrificial fence for making rabbets and been happy with them. They clamp.
  • Featherboard – This has worked ok, it’s too big though and the extra size isn’t that functional. I’d like a smaller one or one that’s length facilitates clamping.
  • 3M TEKK WorkTunes Hearing Protector – I should have bought these sooner, I’ve been wearing them more and more away from the saw and always when using the saw.

There have been other more random purchases but those are the things I use often enough or are non-standard enough that people may be considering them and aren’t sure.


A router was my first major tool purchase after the table saw. I didn’t stress too much over the first buy, especially having heard that it’s common once you get deeper to own more than one. I knew I wanted to get a fixed base and a plunge base in one go and that I wanted variable speed. For me, it came down to either a Porter Cable or a DeWalt. I went with the DeWalt because it was cheaper. I also picked up a few other things:

  • Edge Guide – I’ve used this a little, mainly experimented with using it to make some dados on some boards I had lying around. It seems to work good and I like that it has a micro-adjustment as that’s something I overlooked when buying. 
  • Set of Router Bits – A controversial choice, I think. I wasn’t sure which bits would get used initially and this seemed like an effective way to establish a baseline that I could use to determine where to focus my money. So far I’ve been happy and can see which are getting used more than others. So far my 1/4″ straight bit has gotten used the most. I’ve also used the 3/4″ rabbet’ing bit and the flush cutting bit.
  • Guide Bushings – Also happy with this purchase, though I wish they came with a case of some kind. I ended up just drilling some holes in a board with forstner bits and keeping them on that in a drawer.

I’ve used the router on a few things, mostly for dados and for routing some handles in some cases using a template. I’m very happy with the router so far.

Dust Collection

A more serious form of dust collection has been my latest endeavor. I got the HF 2-HP system because many people seemed satisfied with the value. It went together fine and seems to be doing a good job collecting. I still usually use my shop vac for the router, where having a high static pressure is nice. My table saw only has a 2 1/2″ port, so I made a cabinet with a hole in the top that it sits on and put a 4″ port in that. I then use a Y joint to pull from the bottom 4″ port and the built-in port. This is working nice, and the cabinet is much more convenient than the mobile stand I was using because it’s got some bottom storage and I can mount things on the sides.

What’s Next

I’m constantly researching for a table saw upgrade and for my first band saw. Craigslist hasn’t been too fruitful for me so far, at least for tools in my price and quality range. Right now for my first band saw I’ve got the Craftsman 14″ in my sights. Seems to be a good start and is in a price range I can justify. Also, I keep postponing buying an air compressor and brad nailer, despite having wished I had one at least twice.

So there you have it, that’s been the gist of my experience so far with choosing tools and accessories. I wanted to capture this, just in case there’s anyone else who’s thinking of going the same way I did.

Grandfather’s Power Supply Repair

My grandfather recently passed away and I was honored to inherit some of his electronics equipment. I could write a book about my grandfather and no blog post could do justice to how amazing his life nor how unquenchable his love of building and creating was. Included in what he left to me were several power supplies, one of which wasn’t working when I got it home:


It’s got a switch for changing between 14V and 28V and there’s a label indicating that it’s a 9A power supply he created in 1998. I decided it would be a pretty fitting task to repair it and so set about taking the thing apart. Here’s a picture with the casing off:


You can immediately see the transformer and rectifier as well as a very large smoothing capacitor. Alongside that there’s a board with the voltage regulation circuitry with the current sense resistor and trimpots for tuning the voltage to 14V and 28V. Along the bottom is a large heatsink where the power transistors are, which look like this:


I suspected these or the capacitor first. I don’t have much experience working on power supplies but figured they were the most likely culprits to fail. After some testing though, I started to suspect the voltage regular chip itself. A quick google for the chip got me the data sheet  and I was able to toss together a quick test circuit using parts I knew to be good.


This turned out to be the right track as I wasn’t able to get things working, so I was hopeful when I found a modern replacement for the chip for $0.60 and ordered one up. With that on the board and everything reattached the power supply was working again.



This was only one of the power supplies he left behind and I’m hoping to take some pictures of the others and their insides for a future post.

Bndtools Randomness

Over the past several weeks I’ve been tinkering with OSGi in my free time. My approach has been anything but systematic, rather, it’s been a sort of chaotic scrambling from one tool or problem to the next. I’ve got a loosely formed goal in mind, but I’ve been happy to take detours along the way. I started simply enough by downloading Karaf and getting some bundles deploying, tinkered with Camel and dove into building some simple case studies and test apps to get a feel for things. Eventually that work took me into Pax Exam and then Pax Runner, completely invaluable tools in learning the ropes of provisioning containers for specific purposes from the ground up.

Lately, I’ve been spending some playing with bndtools, an Eclipse plugin that kept popping up. The reason for my post is mainly to clear up some of the confusion that I myself had about how bndtools works and fits into the world of OSGi. First, I suggest you actually take one of the many tutorials that are out there. I’m not going to walk you through what others have already documented, rather, just point out some of the things that were critical to my understanding and accepting of bndtools into my development process.


I’ve actually gone from not minding Maven to hating Maven to liking Maven again. Despite the criticism it’s received it’s doing its job fantastically. At first, I thought that bndtools would require some duplication of my build (as an Ant build) or bundle metadata if I wanted to keep Maven alive in my project. Not true.  Because the bnd.bnd file is nothing more than a bnd configuration file, we can take full advantage of the UI and goodness that bndtools is providing and still use Maven. Bndtools is merely layering on some convention and Eclipse integration. Ant builds aren’t necessar, though using an Ant build can offer a little more flexibility than Maven can (i.e. sub-bundles). This made me happy as I was already using bnd as part of my Maven build. Most of what follows here is mentioned in this thread on the mailing list that I fortunately stumbled upon. The first step to getting things playing nicely is to update your maven-bundle-plugin configuration in your pom to reflect something like this:


This tells the plugin to read the bnd.bnd file for the configuration directly. Next, we need to update the project wide bnd settings and change some default directories:

bin: target/classes
src: src/main/java
target-dir: target/bndtools

Only the first property is actually necessary, the others don’t hurt and I do prefer my build artifacts in the target directory. Finally, in the bnd.bnd file itself you’ll need to specify the Bundle-SymbolicName and the Bundle-Version options, like so:

Bundle-SymbolicName: com.example.api
Bundle-Version: 1.0.0-SNAPSHOT

There were a few places that suggested you could use ${pom.artifactId} and ${pom.version} here if you enabled sub-bundles (via -sub: *.bnd) Enabling sub-bundles did cause those placeholders to work for me, though I ended up losing half of the useful tabs available when editing the bnd.bnd file.

After these changes, things worked great!

Web Applications

I had a few WARs that I was building and was able to get those working by moving to WABs – very easily done by adding the following lines to the respective bnd.bnd files:

wab: src/main/webapp/
Web-ContextPath: webapp

Random Tips

Bndtools is under pretty active development and things are still coming together. Here are some things I ran into that may help point others in the right direction, though I don’t imagine they will apply for much longer.

  1. Your cnf directory shoudd be immediately under the workspace directory and alongside your project directories. Some errors I was seeing that are related to this are:
    • No workspace found from <some project>
  2. Project names should match their bundle names. Some errors I was seeing that are related to this are:
    • NullPointerException’s in BsnValidator (actually a bug, once fixed you’d get a ‘Bundle-SymbolicName is not valid for builder’ message)
  3. If when you’re adding a bundle to your local repository and you get an error about a failure to rename, you’re likely using an older version of bndlib. When you upgrade the version of bndtools be sure that you also recreate the cnf directory. I hadn’t expected the bndlib version in cnf to affect the dialogs and messages I was seeing in Eclipse, but they were. I had upgraded bndtools but not changed cnf and was still seeing this error (The root cause is that the temporary Jar wasn’t being closed before being move into the repository)

Building Bndtools

I did build my own bndtools while toying with things, just to see if upgrading would fix some of the bizarre issues I had been seeing. Eventually I narrowed the problems down to others (like location of cnf, or the project names being wrong) Here are some issues I saw when getting bndtools compiled:

  • When I first tried building with Ant I got an error about Repo too few arguments. I fixed this by double checking the URLs in the repositories.bnd, specifically the repository for the bnd sources. In mine, bndBuildNum was for an older build that was no longer available on the Hudson server.  I changed this to a newer build number. Pay attention to version numbers in the Hudson builds though, newer builds will require you to change bndlib-version-base and bndlib-version-ceiling. I eventually just cloned bnd and used the localRepo option. I’m guessing that the ${repo} macro needs some better error handling of situations where files are missing or URLs are bad? Not sure.
  • I again ran into the “rename failed” problem when building the bnd distribution. I fixed that by copying the newer bndlib I had just built into the cnf/repo/biz.aQute.bnd directory and running again.

That’s all I got for now… hope that wasn’t too much and/or too scrambled. Good luck!

Type for TypedQuery incompatible with query return type.

I was playing around with an OSGi/Hibernate sample application that was using Apache Aries to provide EntityManagers to bundles and ran into a weird issue when I began querying. Take the following code:

TypedQuery<User> query = em.createQuery("FROM User", User.class);
List<User> users = query.getResultList();

At runtime, createQuery would throw “Type specified for TypedQuery [] is incompatible with query return type [interface java.util.Map]” which was very confusing. After some digging, I discovered this code deep inside Hibernate (EntityType)

private Class determineAssociatedEntityClass() {
  try {
    return ReflectHelper.classForName(getAssociatedEntityName());
  catch (ClassNotFoundException cnfe) {
    return java.util.Map.class;

Suddenly this is a common OSGi problem. ReflectHelper.classForName does what anybody familiar with OSGi class loading peculiarities would imagine – tries to use the TCCL and then falls back on Class.forName.  This took me some time to uncover and is fairly obscure given the error I was seeing and so I figured I’d write this post to help anybody else that runs into the same issue. You can avoid the problem a few ways:

  1. Export your model packages assuming DynamicImport-Package is enabled on whatever Hibernate bundle you’re using.
  2. Use non-TypedQuery createQuery (meh)

I’m still pretty new to this OSGi stuff so if there’s a better solution I’d love to hear about it… Hope this helps somebody!