June 2017

sun june 4
There’s a little tray under the Suzuki’s seat which, I suppose, is the motorcycle equivalent of a glove compartment. It’s about big enough for one glove, and I keep my registration and insurance card in it.
When my insurance card disappeared, I figured it got misplaced in the shop last winter while I installed the luggage racks. But when my registration disappeared too, I knew damned well I’d put it under the seat. I’m pretty sure that stray winds are getting under the seat and blowing stuff away. And I’m not talking farts!
There’s a museum in Waitsfield with an exhibit on “Evolution of Industrial Design, As Seen In Motorcycles” and, of course, I wanted to hop on the motorcycle and go see it. It was then that I noticed the missing paperwork, and I found that I had a nice day and a place to go, but no registration, no insurance card, and no current inspection sticker (for which you must show your registration  and insurance card). Not a good day to get stopped by a cop!
Thank God for the internet! I got online and printed off copies and duct taped them into the glove compartment and then headed for Waitsfield. They better not disappear again.

Let's hear it for the Bundys, a rich couple who decided to retire to a small town and built a house/gallery at the dead end of a 1-lane dirt road and don't charge admission.  I asked what's his business model, and he just laughed and shook his head.

Let’s hear it for the Bundys, a rich couple who decided to retire to a small town and built a house/gallery at the dead end of a 1-lane dirt road and don’t charge admission.
I asked what’s his business model, and he just laughed and shook his head.

Museum quality, with the gear shift lever on the wrong side. It makes me wonder: are Englishmen left-handed?

Museum quality British bike, with the gear shift lever on the wrong side. It makes me wonder: are the English left-handed?

tue june 6
One of the unresolved c3pr problems I’ve still got is my terrible RT jitter.
I must have had a bad dream about it, because I woke up the other day bound and determined to do something about it. I googled the living crap out of it and found a forum thread describing a new way to approach it. It was complicated, but it was worth a try.
I backed everything up, took a deep breath, formatted the last 50 Gig on my hard drive, and installed 64-bit Linux Mint. I downloaded a 4.x kernel, patched it to support RT-preempt, re-configured linuxcnc, re-compiled opencv, upgraded the bitflow drivers to 9.05, and ran the latency test. The nouveau drivers work, the jitter is perfect,  and I am a happy camper.
Nice job!, but does anybody besides me know what I’m talking about??

tue june 13

Fitting a shelf under a sink, where 3 sides are crooked, no angles are 'right,' and there are 2 2x4's in the way, I made a template 1 corner at a time and screwed it together and then transfered the pattern to a piece of plywood. It came out perfect.

Fitting a shelf under a sink, where 3 sides are crooked, no angles are ‘right,’ when there are 2 2×4’s  and a piece of pipe in the way, I made a template 1 corner at a time, screwed it together, and then transferred the pattern to a piece of plywood.
It came out perfect.

wed june 14
I went to the grocery store today and headed for the fish counter, where another customer was being serviced …. And serviced (she bought a lot of fish). I got tired of standing up, and I leaned on a product display in the middle of the aisle. It turned out the thing was on casters, and it started rolling out from under me, and I lost my balance. I flailed at the air for a second or two, regained my balance (but not my dignity), and got a round of applause from the other customers, and a stern look from the fish guy.
I broke nothing, so I bought nothing. Except a dozen scallops.

fri june 16
A few months ago, when sheetrocking was imminent next door, there was the usual last-minute flurry of details, getting everything inside the walls done. And for the most part, I did pretty good. But today, I was going putting in quarter-turn valves under the sinks and next to the toilets, and when I got upstairs, there was no water stub next to the toilet. Turns out I’d mounted a threaded elbow on a piece of blocking, plugged it, and forgot to go back and add a nipple to poke thru the drywall. So I had to cut a 16″ hole in the wall to find it, add the nipple, and now I have to plaster it back up. Duh.

Here's a calculus/robotics/nerd joke for you: The first derivative of the 'position' is the 'velocity,' right? And the second derivative of the position, when the velocity changes, is the 'acceleration,' right? So the third derivative of the position, when the acceleration changes, is what? It's the 'jerk.' So when I say I'm a 3rd derivative, here's the proof.

Here’s a calculus/robotics/nerd joke for you:
The first derivative of the ‘position’ is the ‘velocity,’ right?
And the second derivative of the position, when the velocity changes, is the ‘acceleration,’ right?
So the third derivative of the position, when the acceleration changes, is what?
Think about it: It’s a ‘jerk.’
So when I say I’m an occasional 3rd derivative, here’s the proof.

mon june 19
I was making the main countertop for the kitchen next door. It’s 10 feet long, fitted to crooked walls on 3 sides, and has 7 sides total, with a hole for a flue, a stovetop cutout, and a diagonal edge. It’s a very complicated assembly, and it was coming out perfect. Was.
I was almost done, and was using a router to put a smooth, straight face on the diagonal edge which, of all the edges in the room, is the one that draws the eye.
I was being very careful: Measure twice. Go slow. Take light cuts. All that.
It only took the merest wobble of my wrist and, faster than you can say “Shittagoddamn!” the bit caught on the workpiece and dragged itself down 2″ of edge, ripping it into shards. I blistered the air with invective, took a break, and worked out a Plan B.

The 'right' way to control tear-out when the grain is at an angle is to make sure the cutter is rotating the right way, and feed into it.  That's what I did the second time.

The ‘right’ way to control tear-out when the grain is at an angle is to make sure the cutter is rotating in the right direction, and to feed into it.
That’s what I did the second time.

fri june 23

With the downdraft stovetop, there is only one place the exhaust hole can go.  Right through a stud, of course.

With the downdraft stovetop, there is only one place the exhaust hole can go.
Right through a stud, of course.

sun june 25
There was a writeup in the local alternative weekly about a guy who makes chain mail, and it turns out that he’s got a booth at the “Renaissance Faire,” which is this week’s featured attraction in Stowe. Now I need some chain mail like I need lacy underwear, but I wanted to know how it’s made, so I waited for a break in the weather, got on the motorcycle, and rode to Stowe.
Fifteen bucks to get in!! WTF? I paid it anyway and hadn’t walked 20 steps past the gate before I was accosted by a roving magician who showed me a rope trick. I gave him a buck.
I haven’t seen such a collection of weirdos since the Calaveras County Frog Jumping Contest when I was a kid. The show’s put on by a subculture that likes to dress up in medieval garb and pretend to fight with wooden swords, with frequent breaks for alcohol. There was a jousting demonstration and lots of booths selling tunics, corsets, leather goods, armor, wooden swords, alcohol, and – yes – chain mail. I bought 2 bottles of mead and an “Artisanal Grilled Cheese Sandwich” and then got the hell out of there.

Serenading the lunchtime crowd.

Serenading the lunchtime crowd.

My worm farm is sick! It’s infested with thousands of tiny round globs that look like bug eggs. I checked the FAQs at unclejimswormfarm.com, but didn’t find anything useful.
There is no cloud of fruit flies, and the farm still smells good, but I sure hope these buggers don’t hatch!

See all those round things that

Pray for my poor worms.

Update: Uncle Jim’s support staff got back to me and says they look like mites, which are not actually harmful to the worms. Apparently the water we use to wash the grinds out of the coffee pot is making the farm too wet. Hey, at least they weren’t fruit fly eggs!

tue june 27
According to my focus group, my new motorcycle is a complete and total waste of time. It is a sick piece of shit which is – literally – bent out of shape. (To be clear, I refer to the motorcycle, not my focus group.)  He’s right, of course, and it makes me proud to have such perceptive readers!
Here’s a fun fact for you: a 1981 Honda, when converted to ‘motorcycle years,’ was born in 1928! It’s a genuine relic, with a few miles still in it before the odometer rolls over.

It turns out that my little Hondamatic is no longer bent out of shape. Here’s how that happened:

Close inspection of the frame convinced me that the front half, which consists of a very complicated forged and welded box beam, is un-damaged. Also, the swing-arm, which holds the rear wheel, seems to be OK. The ‘only’ part that’s bent seems to be the rear end, consisting of pipes and stamped sheet metal. A best case scenario! What are the odds??

Step 1: Using a clever arrangement of concrete blocks to hold the un-damaged part of the frame perfectly level and  the weight of the house to hold the frame DOWN, I jacked the bent part of the frame into gross alignment.

Step 1:
Using a clever arrangement of concrete blocks to hold the un-damaged part of the frame perfectly level, and
the weight of the house to hold the frame DOWN, I jacked the bent part of the frame UP into gross alignment.

Srep 2: It wasn't the rubber that hit the road, and it hit it on the left, squishing the rear end.  Using a torch and a jack, I un-squished it. So now it's symmetric, left-to-right.

Srep 2:
It wasn’t the rubber that hit the road, and it had been hit from the left, squishing the rear end.
Using a torch and a jack, I un-squished it.
So now it’s symmetric, left-to-right.

Step 3: Part of the impact smashed the left side of the frame DOWN.  (Hopefully the rider had falled out of the seat by now) After a little heat and hydraulic pressure, the air filter now fits square to the frame.

Step 3:
Part of the impact smashed the left side of the frame DOWN.
(Hopefully the rider had fallen out of the seat by now)
After a little heat and hydraulic pressure, the air filter now fits square to the frame.

Step 4: The tail end of the frame was still 1/4" low on the left, but there was no easy way to hold it down while I jacked it into position, so I ran an angle iron stabilizer thru the frame and encased the whole thing in concrete, giving the jack something to push against. After a little jostling, heat, and jacking, the whole back end seems to be straight. And if not, it's all set to "sleep with the fishes."

Step 4:
The tail end of the frame was still 1/4″ low on the left, messing up the loading on the rear shocks.  but there was no easy way to hold the frame down while I jacked it into position, so I ran an angle iron stabilizer thru the frame and encased the whole thing in concrete, giving the jack something to push against.
After a little jostling, heat, and jacking, the whole back end seems to be straight.
And if not, it’s all set to “sleep with the fishes.”

Step 5: Chip away everything that doesn't look like a motorcycle. It helps to use low quality concrete, add too much water, and don't let it cure for too long.  It took me 20 minutes.

Step 5:
Chip away everything that doesn’t look like a motorcycle.
It helps to use low quality concrete, add too much water, and don’t let it cure for too long.
It took me 20 minutes.

wed june 28
It seems like a long time ago, but it was only near the top of this Page that I described a milestone on the c3pr project. Something about ‘good jitter using a 64-bit custom linux kernel.’ (whatever that means)
Well a milestone is not the same thing as the finish line, and I got to thinking about my next big challenge. I’ve got my image processing latency down to somewhere around 20mS, which, in a perfect world, ought to be good for about 50 frames/sec.
The world is not perfect, though, and I know I’ll need to raise that bar. And the way to do that, I decided, is to offload my image processing to a GPU.
My GPU is an Nvidia, and it needs the closed-source drivers to take advantage of the Cuda API. But the word on the LCNC forums is that using those drivers is going to screw up my jitter – which is the very thing I was so proud to have fixed back on June 6!
Shit! Grumble. Hmmm. Lemme think this through….
Step 1. Don’t take their word for it: Prove that it’s a problem.
Long long story short: I proved it. It really is a problem. Cuda is not an option.
Step 2. Find another way.
I did a little research, and I bought an AMD Firepro W4300 GPU. This mid-range board is built for science, not gaming. It runs open source drivers and supports openCL, which enables the “cv::ocl::” family of openCV function overloads. Not only that, but it supports directGMA, so I should be able to transfer data directly from my frame grabber to the GPU, without wasting the CPU’s time. I’m hoping for a 10x reduction in my image pipeline, plus another 5mS off my transfer latency.
If I get this working, I’ll be in good shape. Meanwhile, I’ve got my work cut out for me.

It has been raining for 2 months straight, and the forecast is wet. The cat knew what to do.

It has been raining for 2 months straight, and the forecast is wet.
The cat knew what to do.

One Response to June 2017

Leave a Reply

Your email address will not be published. Required fields are marked *