Adding disk brakes to a bike frame without disk brake mounting holes

The electric hub motor I purchased had a set of six holes built in for adding a 140mm disk brake rotor. Unfortunately, the bike frame I had used was not set up to mount a disk brake caliper.


I purchased the cheapest cable actuated disk brake caliper and rotor set I could find on ebay ($50) and then had to figure out how to mount the caliper. After a bit of thought, I eventually decided to keep it classy and not weld the entire thing directly to the bike frame.

Disk brake calipers are mounted using two screws, hopefully with lock washers to make sure they don’t come out. M6 SHCS (Socket Head Cap Screw), typically 1.0 thread pitch and 18mm long)

Although my bike frame did not have built-in holes for a disk brake caliper, it did have some threaded M6 holes for other purposes (racks/mudguards, etc..), so I could use one of those, and only had to add a 2nd mounting hole at exactly the right place.


From chopping apart a lot of bike frames, I had some spare steel, and one of the spare front forks also had an M6 hole tapped into it, so I didn’t even have to drill and tap the 2nd hole. I used a cut-off wheel on an angle grinder to liberate the hole and surrounding steel, then screwed it to the 2nd hole in the caliper, using the caliper body itself to hold the steel piece in place while I welded it. (The caliper also has two screws that adjust the body slightly, so the weld doesn’t have to be 100% perfect…)


Getting the small piece of steel, and cleaning off all the excess paint to get the parts ready to weld took a lot longer than actually doing the small weld. (I could have brazed the two together, but since I have the welder just sitting there, and the welded joint will be stronger, always important for brakes…)


Of course, because the brake caliper itself has M6 threaded holes, you don’t want the holes on the frame to ALSO be threaded (because then you can’t use the screws to tighten the caliper to the frame of the bike effectively) so after I had the holes positioned where I wanted them, I used a drill bit to ream the threads out of the holes on the frame. (N.B….never use a drill bit as a reamer…unless you don’t have a reamer….)

Franken-bike: Back Rack, Rain-cover support


I needed a place to mount the back of my rain cover on the bike. I also needed a place to place my electric motor controller bag. I solved both problems with left over bike parts. This “rack” is made out of the top half of an unused fork welded together. I cut a 1 and 1/8″ hole in it to go over the bottom of my seat down tube. I also put a few weld nuts I had laying around on the top of it, just in case I need to mount something else securely to it.


Electrifying Franken-Trike

Franken-Trike is big and heavy. And it’s only going to get bigger and heavier once I finish the rain cover. So I added an electric motor to it… Weight with motor and battery is now 80 pounds.

This is a Chinese generic hub motor, controller, LCD display that includes speedometer and odometer, along with a “water bottle” style 36v 10aH Li-Ion battery pack. The motor claims to be 500 watts, and the battery claims to be able to provide 540 watts (15 amps * 36 volts), but on steep hills I have to petal a bit myself to maintain speed. On level ground it can get the bike up to a scary enough 10 mph by itself, and I expect it will fulfill its purpose of making my commute into less of a taxing workout of lugging the monster bike up the big hill…


Fabricating Gingerbread House Cookie Cutters


One of my relatives makes a large number of gingerbread houses for all the kids (and me!) to decorate for the holidays. They have been cutting the house panels out of rolled gingerbread dough using a knife and paper templates. I volunteered to make them some custom cookie cutters, as the three panels (2x roof, 2x wall, 2x end pieces) are geometrically very simple (two rectangles, and a triangle sitting on top of a rectangle.)

I bought some 1/2″ angle aluminum at the the big box (I would have preferred 3/4″…but they didn’t stock it…), along with some aluminum “welding rod” which is really a Continue reading

Using rsync to selectively restore a backup (with/without dotfiles)

If you have backed up your entire home directory, and are restoring it onto a new computer, sometimes you do not want to copy over all of the .dotfiles (hidden files and directories that start with a period) in your home directory. This can be especially useful if you are upgrading the operating system version and many applications are also upgraded, and you want to re-configure them manually.

To restore everything BUT the .dotfiles in the main root directory you can use the following rsync command (the command must be executed from inside the backed up home directory):

rsync -av - --exclude="/.*" ./ /home/NewHomeDir

Note that this WILL copy all .dotfiles in directories under the main home directory.

I do recommend keeping all of your old home directory dotfiles in a separate “dotfile” directory, because invariably you will need something from in them (such as an SSH private key, GPG key, etc…)

You can copy JUST the .dotfiles from the home directory (including recursing into .dotdirectories) with the following command:

rsync -av /path/to/sourcedir/.??* /path/to/dest

The .??* selects only files/directories in the sourcedir that start with a dot. Note that .* alone would select ALL files and directories in the sourcedir.

HOWTO: Full Disk encryption on Ubuntu 12.04

How to set up an entirely encrypted disk using Ubuntu 12.04 (LTS):

Use the Alternative installer (text based) ISO image so that you have access to the LVM and Encrypted Disk options.

Assuming you want to keep a windows partition or some other pre-existing partitions intact, you will have to manually partition things instead of using the guided partitioner, so select “manual”.

Set up two partitions. One will be your /boot partition and should be around 250MB. This is the only data that will be unencrypted on the disk. The other will be your encrypted volume, that will hold an LVM physical volume that will contain all of your other partitions such as your swap partition, / (root) partition and any /home /var etc partitions that you want to set up. You should select “Use as:” “physical volume for encryption” when setting it up.

Then go back up to the top of the menu to the “Configure encrypted volumes” option (You may have to write changes to the partition table before you can do this.) Use the “Create encrypted volumes” option, and “check” / select the large LVM partition you just created. Then select “Finished” and it will prompt you for a pass-phrase.

Now, go back up to the top of the menu to the “Configure the Logical Volume Manager” option. This will prompt you to write changes to disk, and create an encrypted volume (defaults to using ext4).

Now, go back up to the top of the menu to the “Configure the Logical Volume Manager” option. Create a volume group (vg0 is as good of a name as any) on the /dev/mapper encrypted volume you created above.

Create a logical volume (I named mine “swap”) that will hold your swap partition. It should be at least as large as the maximum amount of RAM you ever intend on installing in your computer if you want to use suspend to disk (hibernate).

Depending upon how many other partitions you want (one big root, or /home and /var, etc…) create other partitions using the rest of the space inside of your LVM volume group, and select Finished.

Once you leave the LVM configuration area, you will see all of the LVM logical partitions that you have created. Select each of them and configure their mount point and file system type. (or use as Swap in the case of your swap partition.)

Write everything to disk (which will also format partitions) and you are ready to continue with the rest of your installation!

Thinkpad X31 – PAE cpu options with newer Linux Kernels

The Pentium M CPU that comes on IBM Thinkpad X31 laptops (circa 1994…) claims to not support PAE (Physical Address Extension ). Luckily however it DOES support PAE if your kernel forces it, which you can do by following the instructions here:

They explain: “A number of older Pentium M processors produced around 2003-4 (the Banias family) do not display the PAE flag, and hence a normal installation fails. However, these processors are in fact able to run the latest (and PAE-demanding) kernels if only the installation process is modified a little. The problem is not missing PAE, it’s about the processor not displaying its full capabilities.”

I can just imagine an IBM or Intel engineering thinking…it’ll be 10 years before operating systems require a PAE extension…none of these chips will still be running then…lets call it a night and not bother displaying the PAE flag…

AT&T U-Verse upstream speed bump in June

I have an AT&T U-Verse “Internet Pro” DSL account. In the middle of June (near the 13th) my latency suddenly improved by 10ms.

Then around the 19th of June (2014) my upstream bandwidth jumped from around 1 Mb/s to around 1.4 Mb/s:

AT&T doesn’t advertise or make any promises about their upstream bandwidth, but these are welcome changes (especially the 40% boost in upstream bandwidth). My downstream bandwidth stayed just above the advertised 3 Mb/s rate.

I don’t know if this was due to a piece of equipment near my home getting upgraded, or the result of a policy change to upgrade the “Internet Pro” account, but I’ll take it!
Anybody else see a similar boost? Or have a negative counter example?