The "tubalcain" videos

In general I strongly dislike internet videos, probably because certain people are always annoying me by emailing links to videos they find entertaining, remarkable, or whatever.

A noteworthy exception are the instructional videos on machine shop work by "tubalcain" aka mrpete222 on "You Tube". These have all but changed my attitude towards the whole internet video business. Instructional videos are ideally suited to communicating skills like machine shop work.

You Tube is apparently absolutely clueless (or at least at this point in time featureless) with regard to providing a ways to organize a large collection of videos like this, hence this page.

The place to start is his (mrpete222) You Tube "channel". What I do is to click on the "Uploads" button and keep asking for more.

Sometime much later, I discovered the following "digest" feature that lists all of his videos, but apparently in a random order:

I felt it was worthwhile (and maybe a service to others) to build an index of his videos. It should last as long as You Tube keeps its URL scheme stable.

Before we get started, I want to provide links to some other videos that are recommended by tubacain himself, namely these instructional movies that were filmed by Southbend Lathe Company, perhaps in the late 1930's. There are only 4 of these online, although the numbering in the videos themselves indicates there are at least 7.

Somewhere along the line, tubalcain began numbering his machine shop videos and calling them "Machine Shop Tips", but don't miss the earlier videos (not in this series) that are indexed below.

Assorted Machine Shop Videos

Foundry Videos

Tubalcain has many other interesting videos, in particular, a bunch on various engines:

And some videos of general interest:

I have omitted his videos on agricultural topics and his music videos, you will have to go to You Tube to find those.

You Tube hacking

From here on has nothing to do with machine shop work, but documents (mostly for my later reference) the process I went through to interact with You Tube and get a full list of one users videos.

I first wrote a short ruby script to visit the users channel, fetched and parsed the html after poking around in it a while, and was able to get more than half of his upload list. I have no idea just why I did not get the full list, but it was better than nothing for starters and we could move on from there.

Next, I did some research and learned that youtube has a published API for doing the kinds of things I want to do. To do this, they would like you to become a You Tube Developer (though they also say that you can access the public parts of the API without doing this). Take a look at:

What I want to do is to access the "Data API". There is a "ruby gem" youtube-0.8.6 that I obtained via:
yum install rubygems
gem install youtube
Unfortunately, it is completely unusable with methods missing. Another fellow (Tony Stubblebine) posted an example of a short bit of ruby code he wrote (short, shows that the API is simple).
#!/usr/bin/env ruby
require 'open-uri'

tag = "dancing"
per_page = "100"
def_id = "YOUR_DEV_ID_HERE"
url = "http://www.youtube.com/api2_rest?" \
+ "method=youtube.videos.list_by_tag" \
+ "&tag=#{tag}&per_page=#{per_page}&dev_id=#{dev_id}&page=1"

open(url) do |f|
xml = f.read
end

doc = REXML::Document.new(xml)

elements = doc.root.get_elements("//video")
elements.each do |v|
puts v.get_elements("id").first.get_text.to_s
puts v.get_elements("title").first.get_text.to_s
puts v.get_elements("tags").first.get_text.to_s
puts v.get_elements("thumbnail_url").first.get_text.to_s
end

To use the above code, I need a You Tube developer ID, which google freely will give out (actually it was rather a pain in the rear, because they refused to give it to me using my real email address, forcing me to set up a whole new google identity (namely trebiskytom@gmailcom) and then using that google identity to obtain a developer credential). Sure are a lot of flaming hoops to go through to do something that ought to be simple. Now that I have a key (not a developer ID mind you), I must submit it along with every request.

On top of that, they no longer use a developer ID (as many of the language interfaces expect), but have now switched to using a developer key.

When you make an API request, use the X-GData-Key request header to specify your developer key as shown in the following example:

X-GData-Key: key=

-- or --

Include the key query parameter in the request URL.

https://gdata.youtube.com/feeds/api/videos?q=SEARCH_TERM&key=DEVELOPER_KEY
Apparently the youtube API changes frequently, based on the fact that a lot of information on it is online and out of date - which is unfortunate. I am sure that this discourages many developers who find the rug being thus yanked out from under them.
Have any comments? Questions? Drop me a line!

Tom's home page / tom@mmto.org