Grandpa could fix just about anything and had the tools to prove it. He had a large collection of tools for wood working, construction, electrical work, plumbing, masonry and more.
When he died I inherited some of his tools. Most of them live in my toolboxes in the garage, but these ones seemed old enough that I decided to make a display with them.
The display is hung above my computers in my office. The tools are all hung on pegboard just like my daily-use tools in the garage.
The tools are above my desk and computers
Roughly top to bottom, left to right:
A brace, a tape measure (inside the brace), monkey wrench, an awl, a folding ruler, a putty knife, a level, a ball-peen hammer, a pocket knife, book, plumb bob, eggbeater drill, wire cutters, pipe wrench, needle nose pliers, screw driver, planer.
Some of grandpa's old tools
The book is The Complete Home Handyman’s Guide. I like it partly because it starts out with the very basics. Figure 1 is a diagram titled “Claw Hammer”. Trying to imagine grandpa ever needing such basic instruction makes me smile. The book does get into all sorts of home repairs though and is actually still very applicable to the 1950s rambler I live in now.
IMG_The Complete Home Handyman's Guide
Inside the cover is a short inscription showing that the book was given to grandpa by his father-in-law Walt Johnson.
Lathes are pretty sweet. You can turn table legs, fancy lamps, cool wooden bowls, pens, baseball bats… so many fun things you can make! Unfortunately little ones start at $400-ish and ones big enough to turn table legs and baluster start at about 2 grand. Some day maybe I’ll pick up a used one, but for now I just wanted to try making some homemade fishing lures.
I started by considering what tools I have that spin. The main contenders were the router, the drill and the drill press. I decided that I use the drill too often to use it, and I thought that the router might spin too fast. For a test, I put a screw into a piece of wood and put the screw into the router (where the router bit goes) the screw folded over the the wood whipped around sideways. Not good.
So, I went with the drill press. This green machine is a reliable but dated 1982 1/3 HP 6 Amp motor drill press. The lid lifts up so you can manually switch the belt between gears to change the speeds.
The old drill press
Step 1: Do a Little Jig
The first step was to turn the drill press sideways. I had to find a way to turn it sideways while supporting it securely and being able to access the power button. I was able to unscrew the arms of the drillpress height adjuster and then I built this:
A jig to use the drill press as a lathe
This jig holds the drill press drilling axis horizontal, and gives makes the drill press stable while operating in a horizontal position.
Step 2: Create a Dead Center
I used a grinder and a file to make the end of a bolt rounded and smooth, this would be my dead center. A live center would be better, but I didn’t have any appropriate parts available.
Failure Number 1 – Attaching Dead Center to a Wooden Platform
While a live center would be preferable, I decided to start with a dead center for simplicity. Since I don’t have any welding equipment, I used a piece of 3/4 inch plywood and some bolts to secure and provide the dead center.
The makeshift lathe with a wooden platform for the dead center
It started out find, but after about 5 minutes of spinning a piece of wood, the bold had vibrated loose from the wood.
Success! Bolting the Dead Center to The Drill Press Platform
Although I lost about 2.5 inches in doing so, I next tried bolting the dead center directly to the adjustable drill press platform.
Dead Center Bolted To Drill Press Platform
Failure Number 2: The Chuck Falls Off
After using the lathe for a short while, the chuck fell off. I pounded it on nice and hard, and have been using less lateral force. I hope that if I let the tools do more cutting and I do less pushing, it won’t be an ongoing problem.
Step 3: Cutting Some Blanks
I cut two blanks. One from a piece of lilac branch from the yard and one from a 2×4 (pine). I used a table saw and cut each blank to be 1.75×1.75×5 inches.
Step 4: Making Some Tools
I needed some tools to cut the wood so I turned to the two pieces of metal I had on my workbench which I wasn’t going to be using anytime soon.
Wood Turning Tools From a Chisel and A Railroad Spike
That’s right, a railroad spike. I have a handful of them, and I’m not sure that they’re good for anything else. As for the chisel, my grandpa had more chisels than he probably ever used, which means I have more than I know I will ever use. I sacrificed one of them to the grinder to make its cutting angle more appropriate for wood turning
Results
The pine (2×4) wood didn’t turn out well at all, but I didn’t really expect it to, I mean it’s a 2×4, not some nice wood. The lilac turned out pretty decent for a first time. A little bit more drilling and fiddling later and I am the happy owner of a drill press lathe and two through-wire construction fishing plugs that need to be painted.
If you’re the sort of person who heeds warnings, don’t turn your drill press into a lathe. The comments on this instructible which I found while researching my own lathe project indicate that the chuck coming off is a common problem and could be dangerous.
If you’re the sort of person who doesn’t heed warnings, I’m not sure what you’re doing reading this, but best of luck, and be safe. I assume no responsibility for your success, safety or lack thereof should you undertake this or a similar project.
Protocol Buffers are a binary data transfer protocol from Google. You define the structure of the data using a C-like text file, then compile that protocol buffer file into a library appropriate for the language you are using. Google officially supports Java, Python and C++.
PHP Protocol Buffers
UPDATE!
I haven’t tested it yet, but DRSlump commented below to let me know about a new, alive and mostly complete implementation he is using and working on. I haven’t tried it yet since it uses PHP 5.3 and we haven’t quite moved over from 5.2 yet, but here it is for your enjoyment:
I could find no complete implementation for PHP at this time. There are several 1/2 completed protocol buffer implementations out there for PHP, most of which date back to near the initial protocol buffer announcement from Google.
If you are going to use Protocol Buffers in a PHP project, you will probably want to evaluate the features and approach of each of these projects. For the project I am working on I decided to go with protoc-gen-php since it seemed to have the most complete (3/4ths complete?!) implementation and the most recent update.
Status of protoc-gen-php
There were two branches of protoc-gen-php when I started using it. Bramp was the original author and responded to emails, Iamamused has a few more features, but didn’t respond to any of my emails. I took the email response to mean, in part, that despite the lack of updates that Bramp was still interested in at least maintaining the project.After forking his project to add some features I needed, he did in fact indicate that he will indeed merge appropriate changes from my fork and from Iamamused back into the main branch.
Until that happens though you’ve got three choices:
Bramp’s branch — the original and probably best long-term choice
Iamamused’s branch — more features than Bramp’s branch (sint, for example) but no indication if he will be maintaining it long term
I don’t really have interest in being a project maintainer long term. If you use my branch, I’m happy to help in whatever capacity I’m able until Bramp merges the features I’ve added back into his branch.
Here’s what I’ve added:
Signed Int support (sint32 / sint64)
Float and Double support
Support for the [packed=false] option so that repeating packables can be used (ie. not packed support, just the ability to specify non-packed)
The big caveat with float support is that PHP uses doubles to represent both floats and doubles, so when a float-double gets packed into actual an actual float in the protocol format it does lose precision. The best solution will be to either use a string or a double.
Need Other Features Added?
I have implemented the features I did because I needed them for the project I am working on. I’d be happy to add other features on a consulting basis, or to merge in your changes if you submit patches to me. Like I said though, hopefully it will be merged back into Bramp’s branch pretty soon, and he can handle the patches. It would be one less thing for me to worry about!