There are lots of these lamps online but I think there are a few problems:
1. They can have exposed 120v or 220v wiring which is unsafe and
2. They make it looks like this is a fast project
Overall, this project cost me about $50 if parts from a big box home improvement store and about 3 hours, most of which were fishing the wire through the tubing.
Step 1: Gather Your Parts
These are all of the parts that I picked up at the store:
1. Various black (cast) iron fittings
2. Lamp sockets, note that the screw terminals are not exposed
3. Threaded pipe for attaching the lamp sockets
4. Several feet of "lamp" cord
5. Outlet plug
6. Optionally, a switch
Picking the lamp shape is the fun part. Gather whatever you think will look good. This is 1/2 inch tube but you could go bigger.
For safety, I am going to use the plug to join wires from the two lamps rather than using exposed wire nuts.
Step 2: Wiring the Socket
These sockets come apart into three parts which fully encapsulate the screw terminals. The second picture shows how the cord passes through the socket base, the threaded pipe and the first cast iron fitting. Do a fit check before proceeding. Figure out how far the threaded pipe fits into the socket and mark that depth. In the next steps we will be using that mark.
Step 3: Epoxy the Threaded Pipe to the Pipe Fitting
In this step, use epoxy or another construction adhesive to glue the threaded rod pipe into the iron fittings. Using the mark you made in the previous step, make sure you glue it to the right depth so you don't have too much or too little sticking out.
Step 4: Spend 2 Hours Assembling and Feeding Wire
It is best to do this in parts. Assemble a few fittings and feed the wire through those fittings. You can bend the end of the wire into a hook shape to help it navigate some bends. The T fittings will be the hardest, particularly if you are feeding multiple wires through them. I found a pair of hemostats helped a lot with this.
This is also when you will learn how dirty the pipe is. Use some oil (I used vegetable cooking oil) and towels to clean them up.
Step 5: Finish Wiring
This plug has enough room to feed two wires into it. I left the wires short and used this plug to join them together. This way, one can avoid any exposed junctions and wire nuts. A short extension cord can then run from this plug to the outlet.