Lay a leg flat on your work surface, with the countersink side of the thru-holes down. Stick a piece of threaded rod in each hole. Take a stretcher that is marked to have one end adjoin the top of this leg, stick a dowel center in its dowel hole, line it up against the leg, using the threaded rod for positioning, You want the top of the stretcher to be even with the top of the leg, or just slightly above it. Give the end of the stretcher a whack with your rubber mallet. This will leave a mark indicating where the matching dowel hole in the leg needs to be drilled. Repeat with the lower stretcher than adjoins this leg. Then repeat for the other leg that will form this trestle, and the other ends of the two stretchers.
If you bought this superb polished table in a store, it would cost you a fortune, but our detailed instructions will help you make one for less than $100. And it looks like highly polished stone, but no-one would know it’s actually made from concrete with a wooden base. Also, you can embellish the top with leaf prints, like the table shown here, or personalize it with glass or mosaic tiles or imprints of seashells.
I decided to make my own top out of white ash because I had access to a planer and jointer at my local college where I was taking an intro woodworking class. Trim and vice jaws are white ash as well. Everything else is built pretty much as jdege describes. A plunge router with a 3/4" spiral up bit really made quick work of the dog holes. Finished with Danish oil.
So drill the benchdog holes through the MDF layer. Begin by laying out their positions. You'll want these to be precise, so that the distances between the holes are consistent. The vises you are using will constrain your benchdog spacing. My front vise worked most naturally with two rows of holes four inches apart, my end vise with two pairs of rows, with four inches between the rows and eight inches between the pairs. Because of this, I decided on a 4" by 4" pattern.

When you're working with linseed oil, never -- I mean NEVER -- leave used rags lying around. Hang them up outside, away from anything combustible, and where there's enough air circulation to keep them cool. Or put them in a bucket of water, and hang them outside later. If you're just setting a rag down for the moment, set it out flat, without folds, on something non-flammable. Hanging outside in the breeze, the oil in the rags won't retain heat while they oxidize. For the oil to completely oxidize can take in a couple of days, if it's warm, or more than a week, if it's cold and rainy. When fully oxidized, the oil will be solid and the rags will be stiff. At that point, they're safe, and can be thrown in the trash. Toss them in the trash before that, and you might as well say goodbye to your garage.

Of course, few benches can be ideal, and this one does have some drawbacks. That being said, most of the disadvantages of this bench are minor annoyances rather than deal breakers. For instance, this bench does not include any kind of storage whatsoever. Though, it does have the option of adding numerous additional features like a storage area. Still, for the bench, you would expect a drawer at the very least, maybe a shelf below the main table area.