Thursday, May 14, 2020

How To: Bitbucket and Sourcetree OAuth token refresh

Bitbucket, Atlassian's hosted GIT source control management repository, can use either a user id and password, or you can connect your user id to an oauth provider like Google.  My account is linked via OAuth.  But occasionally, and I have not tracked down the cause, my local machine's connection to that OAuth process fails.

I admit I am a bit "Windows, Icons, Mouse and Pointer (WIMP) impaired" when it comes to using get command line, so my tool of preference is Sourcetree.  So when the OAuth connection fails, I have to rediscover where the settings is for refreshing the connection.  Therefore I am writing it down for myself and anyone else who needs to refresh OAuth in Bitbucket or SourceTree.

  1. In the Sourcetree application, from the menu bar, select Tools --> Options
    Tools --> Optoins
  2. In the options Options dialog, select the "Authentication" tab
    Authentication tab
  3. Click to focus on the account, it will expand showing edit options, select "Edit"
    Click account, click "Edit"
  4. Click the "Refresh OAuth Token"
    "Refresh OAuth Token"

Monday, October 07, 2019

2007 Chevrolet Cobalt 2.2L Ecotec L61 Engine Rebuild

Hints from my BlueDriver
It's a long story, but the car is a 2007 with fewer than 60,000 miles on it, and the engine needed some serious work done to it.  It all started with a pretty aggressive oil leak, followed shortly by an "open wallet soon" light on the dashboard.

The oil appeared to be leaking from both ends of the engine.  On the front from behind the crankshaft pulley, and on the back out of the bell-housing where the engine attached to the transmission.  It had blown the main seals on both end.

I pondered what could have caused both seals to fail and then remembered the check-engine light.  It occurred to me they might be related.  One of the suggestions was to check for leaks in the PCV (Positive Crankcase Ventilation) System.  This system is supposed to recover a nominal amount of pressure from the inside of the engine and draw it back into the intake.  Could the misfire be related to a pressurization of the crank case?  But the PCV in this car is overly simple, and it is fine.

I continued to ponder and read.  Could excess exhaust be leaking out of the cylinders and into the crankcase?  How would I test for that?  I tried my compression tester, and the standard compression tests came out reasonable.

80 psi in, all leaking out.  That's not good.
Then I thought about how airplane mechanics do compression tests.  On my airplane we perform "Leak Down" tests.  Take a look at this Eric the Car Guy video -- it is a pretty good dive into the differences.  Instead of letting the engine's normal action create the pressure for a moment, a leak down test injects compressed air into the spark plug hole, and measures how much stays in the cylinder.  I bought a leak down test set and went about testing.  Here I discovered that neither of the end cylinders would hold any compression.  Out of 80 psi in, nearly all leaked out.

The interesting thing about this type of compression testing is that you can HEAR the hissing of the air escaping.   If the leak is occurring out the valves, you can hear the leak either in the intake system or the exhaust system.  I could hear this leak out the oil passages in the top of the head -- the air was escaping into the crankcase and venting up the oil return passages.

Left the A/C hoses in place so I would not have to recharge it.
I had to get the engine out of the car.  I started by draining all the oil and coolant, then removing all of the stuff hanging on the outside of the engine...  Fuel injection rails, ignition system, intake manifold, alternator, air conditioning pump, starter, exhaust manifold...  Basically stripping it down to just the engine block left in the car.  I then removed the bolts holding the engine to the transmission (this was a mistake) and the engine mount, attached a lift and started to pick it up.

The torque converter was still attached to the back of the engine, and when it came loose from the transmission, the transmission fluid drained all over my shoes.  Bummer.  And there was not enough space in the engine bay to slide the engine far enough away from the transmission to get the torque converter to clear the transmission's bell housing.  So I went to the internet.  On YouTube I discovered there are three bolts accessible through the starter hole holding the torque converter to the flex-plate.

Boom.  10 minutes later the engine was hanging in the lift.  (note to self:  watch YouTube before starting any major repairs.)

I tore into the engine, removing the front cover, timing chain, heads, connecting rods, crankshaft and pistons.

It was not until I got the pistons out of the engine block that I found the cause of the engine's problems.  The rings had pretty much corroded into the pistons, preventing them from moving freely.  This resulted in a poor seal between the piston and the cylinder walls, allowing exhaust gas to escape past the rings and into the crankcase, pressurizing it and blowing the main seals out each end of the engine, and allowing oil to drain out, along with lighting up the "open wallet soon" light on the dashboard. 

I brought the block and head to a local machine shop where they could assure me that it was still within tolerance for rebuild.  A complete new gasket kit was obtained.  The head got new seals around the valves, and the cylinders were honed so they would suspend engine oil after rebuild.

I bought the repair manual so I would have specifications for the more technical aspects of the repair and reassembly started in earnest with attaching new pistons and rings to the connecting rods, renting a ring compressor, and putting the pistons back into the engine block.  The crankshaft got all new bearings, new "torque to yield" bolts were installed, torqued, and then rotated the specified number of additional degrees (I got a new tool).

Aligning the timing marks
Soon the balancing shafts were being installed with the water pump. The oil pan was going back on, and the head, with it's new torque specifications, and the camshafts were being realigned with the crankshaft and timing chain.

With all of the parts set out in front of me, I could also see that there was plenty of room to reinstall the engine with the exhaust manifold in place, so it was installed too.

Back in place
Eric showed up at the house just in time for the installation to occur, and together we slid the engine back into the car and started reattaching bolts and connectors.  And I discovered I had lost TWO bolts.  By then it was too late to go buy them and I had to wait for the next day to finish installing and connecting everything.  Then next morning the engine fired up without a hitch.

A new engine would have cost over $4,000.  For about $1,000 and several days out of my life, I was able to complete the repairs.  I've driven the car around the neighborhood a couple of times, and am monitoring the engine, and so far, so good!

All secure
Here are some photos.

Monday, June 24, 2019

Becoming a pilot

I completed my Flight Instructor certificate (CFI) a little over a year ago,  Since then I have had several people ask me "How do I become a pilot," so I decided to write a blog post about it.

Obtaining a Private Pilot certificate

It is best to think of learning to fly as three parts:  Knowledge, Skill, and Exam.


Knowledge is about leaning the fundamental science and rules of flight - Newton, Bernoulli, et al. - as well as the basic rules of the air.  The traditional way to gain the Knowledge is through ground school -- about 40 hours of classroom time.  But there are also online options where you can watch videos and read at your convenience, or you can have a flight instructor give you the ground lessons one on one.


Skill is about developing the motor-skills and and judgement to safely manipulate the controls.  The skill part is developed by taking flight lessons.  Going out with an instructor and flying the airplane. Watching, doing, practicing...  The FAA requires a minimum of 40 hours, and in those hours there are other specific amounts of time that must be spent in focused training.

Most people take closer to 70 hours. But that includes folks that start, stop, take a couple years off, and start up again.

Knowledge and Skill are best done in parallel, working on both at the same time.  Doing ground school and flying gives you a way to immediately tie the knowledge and skill together in a concrete application.


The exam is the third part, and you should think of the exam as being its own three part process. A Knowledge tests (often called the "written").  A computer based multiple choice test.  There are several hundred questions, and the computer randomly chooses a subset of them for you to answer.

An oral exam.  You sit down with a Designated Pilot Examiner (DPE) and he or she asks you about flying scenarios to evaluate your knowledge and application of regulations and judgement.

And finally a flight test, (usually immediately after successful completion of the oral) where you go out and fly your first passenger, the DPE.

Sunday, March 31, 2019

1999 Ford F-250 Super Duty ball joints.

I had a couple of projects I really wanted to get done around the house during my "gap year" from working.  I KNOW you guys are just dying to know how they are going, so I decided to update you.

The hub with the ball joints to be replaced
Back around the first of March, I noticed my truck was making a funny "clunk" every time I stepped on the brakes.  I jacked it up, shook the front wheel, and found the whole wheel assembly would wobble just a tiny bit, enough to cause the clunking noise.  I traced the movement to the ball joints -- the pivot the front wheels rotate about when steering.

Axle, wheel bearings, and protective cover
Turns out the ball joints are a notable weakness in the turn of the century Super Duties.  It is a pretty common problem.  There are a hand full of videos on how to do it.  This one is the one I used.  I skipped the step of pressing the joints out and brought them to a nearby shop.  Since the truck is four wheel drive, there was a fair amount of stuff that had to be removed to get to the ball joints.  Once they were out, I deviated from the video and had a shop do the pressing for me.  After that I reassembled the the front end.

Back in, fitting the axle.
The whole album.

Tuesday, August 07, 2018

This is hard. This is right.

The day after Valentine's day, I was at work on a video conference when my desk phone rang, I could see it was my wife calling and I let it go to voicemail.  No sooner did my phone stop ringing, and my cell phone buzzed.  Again, my wife.  OK, this might be important.  I muted the video conference and picked up the call from my wife.

"The foster care placement desk called with a brand new baby about to be discharged from the hospital and they need a home NOW.  Can I go get it?"

It?  Girl or Boy?  How long has "it" been in the hospital?  Do they have another plan?  How long do they guess "it" will be with us?

"He's a boy, and he is only 4 days old.  No other plan right now.  He's Native American / Alaskan Eskimo.  And they need an answer within an hour."

OK, let me finish this video conference, and I will call you back.

Four days is significant.  The last baby we had was held in the hospital for nearly three weeks while he was given morphine to ease the physical pain of withdrawal, and gained a pound or two.  But this new baby is ready to be released at only four days.  He must be pretty healthy.

I called Sandra back and we agreed together we were ready to dive into another infant.  In our mid 50's, we recognize new-born babies demand a lot of physical and mental stamina that is more often found in 20 and 30 year-olds.  Sandra went to pick up the baby.

I arrived home to find a tiny blond, blue-eyed (yeah, about that Eskimo thing...), delicate, frail, peanut of a baby that, at just over six pounds, occupied little more than my left hand.  His legs still folded up into his abdomen where they had been tucked for the previous nine months.  And he was tired.

For the next couple weeks, our new roommate could eat about an ounce or two at a time.  He would wake during the night every couple hours, and we would change his diaper, snuggle him up, poke a couple of ounces of formula in him, remind him "no failure to thrive on our watch," and tuck him back into his cradle.

Taking him anywhere with us required strapping him into a car-seat.  Because he was so tiny, we moved the straps down to their lowest setting and added the extra supplied padding around his head to keep him from being tossed about.  But even more so, it required tugging on his left leg to get it pulled out from under the car-seat straps.  More than once I had to unbuckle him to get his leg out.

About mid-March he started to perk up, and he would be awake for more than an hour at a time.  But he still slept a lot.  He started being able to eat a little more, and was going nearly four hours between feedings.  He loved his pacifier and it went everywhere with us.  We had also established a bit of a routine.  Being at work most of the day, I would step in when I got home. I would feed him about 7:PM.  He would often sleep on my chest in the evening while Sandra and I watched a show.  I also got the 11:PM feeding, which usually involved me reclining in the loveseat and falling asleep with him nestled up on my chest.

He continued to gain weight, unfold, and grow longer.  We found he was quick to smile, and had a very sweet disposition.  At the end of March we took him to Arizona to attend the wedding of one of Sandra's friends.  On the flight down, we gave him a bottle as we took off and landed to keep his ears clear.  As we were unloading, the elderly couple in the seat in front of us stood to collect their belongings.  Glancing over the seat they exclaimed, "You have a baby!" (yep, we noticed) "We had no idea you had a baby back there!"  He was just that good.

About three months he started sleeping through the night.

Our 17 year-old daughter soon claimed him.  She's not too keen on the frail little babies, but he was supporting his own head, and his ready smile provided entertainment.  He became a prized companion.  We would debate who's turn it was to carry him into church, or who got to sit by him in a restaurant.  In public, his toothless grin and clear blue eyes drew strangers in.  But you could see puzzled looks in people's faces.  Sandra and I are old enough to easily be his grandparents.  But our daughter, while old enough, would be a very young mom.  Some days we would let people wonder, others days we found subtle ways to explain. "We got him at four days old."  or "He's one of the sweetest babies we have gotten."

It gave people an opening for them to ask questions without us having to say "None of us gave birth to him, he is a foster-baby."

At the end of May he got his first ride in a personal aircraft.  After a short flight, we spent the day with good friends in Friday Harbor, and then enjoyed a delicious dinner.  That evening we flew home and tucked him into his own bed.

Being in foster care, and having received negligible prenatal care or medical attention, we monitor his development carefully and seek the support of professionals.  At four months we brought him in for a developmental evaluation.  Not only did he do well, he excelled.  Well beyond his physical age, his ability to track and manipulate toys was consistently at least double his chronological age.  At five months he started army-crawling around the room.

The months have passed quickly.  This Sunday he will be six months old.  But it appears he is on track to be moved to his forever family on Thursday.  I am going to miss his grin and the excitement of watching him discover the world around him.

He's not the cutest baby we've had, nor is he the one I have felt the greatest family connection to.  But he is one of the sweetest.  And every night as I give him is bed-time bottle and rock him to sleep, looking into his face I am reminded that he is a tiny, sacred life.  It is clear he knows he can trust, and that he is safe in my house.  He is easy to love.

Yet later this week I have to break that trust for his benefit, and he will need to learn to trust a new family.  And they are an awesome family.  Young Husband and Wife, four really nice kids, and a baby just a couple months younger than him.  He'll be loved, and played with, and trained, and tormented as the "little" brother...  There will be joy, and laughter, and disappointment, and success, and hope, and failure, and heartache, and achievement, but most of all, he will be loved.  Loved well.  Without us.  By the time he is two he will have forgotten his time at our house, and have no significant memory of life beyond his new family.

But at our house he will have been given a chance to grow, and to thrive, and to develop, and to know how to be loved.  And we will have done our job.

Later this week, we will sit on the kitchen floor, eat ice cream, and grieve our loss -- while celebrating his new hope.

This is hard.

Tuesday, March 13, 2018

You Can't Legislate Morality

(or can you?)

When someone says "you cannot legislate morality," I think "what a bunch of crap."  Because really we do it all the time.  There is a whole body of law we make because we think something is moral or immoral.

Laws of Morality

There are some obvious laws we all agree on, and I like to think of these as the Non-Aggression-Principle laws.  Don't kill, don't imprison, don't steal...  pretty straight forward.  But there are also the don't deceive laws because they use trickery to kill, imprison, or steal.  And we often wander into some questionable areas, like "don't cut down your tree because I want the oxygen."  Don't throw your stuff out on the edge of the road because it could make me sick, or detract from beauty.  Don't build a theme park on your property next to my property...  But all of these derive from enough of society believing the act is right or wrong (moral or immoral) to bring about a law.  This category of laws evolves like this:  world view (religion, philosophy, person or object of veneration) --> morality --> need for justice --> law. We legislate morality all the time.

Laws of Convention

Sometimes there is no right or wrong in behavior, as long as everyone does it the same way.  A simple example is driving on left or right side of the road.  Is one side more moral than the other?  No.  But if some of us drove on the left, and some of us drove on the right, chaos would ensue.  Same with green mean go, red means stop.  It could just as well be orange means go and purple means stop.  We just have to do it all the same.

But wait there's more!

I realized there is another category of laws that I had missed out on.  All the laws above we can break, and if those laws above are broken we, as a society, must step in to meter out justice.  All these legislative laws require an "if you do this, then I must act to pass out justice on you" kind of response.  It turns out there are "laws" that exist without the requirement of legislation or predefined retributive acts of justice.  Gravity, Friction, Newton...

Natural Laws

There is this additional set of laws that cannot be broken.  We cannot break the law of gravity.  As hard as we try, we cannot make gravity go away.  We can create forces to counteract it, but a soon as we remove those forces, gravity wins.  Same with Friction, or "two sides of a triangle have to sum to more than the third."  You just cannot break these laws.  And as a dutiful adherent to Austrian economics, I would throw "law of supply and demand" into the list.  We can try to override it, but in the end, the law of supply and demand will create a bubble to burst our feeble attempt to defeat it.

The important thing about natural law is that the consequences occur on their own.  There are no gravity police standing around with ropes to pull people back to earth, no F=MA police near by waiting to squish folks who decelerate too quickly into the ground, a wall, or another vehicle.  Nature itself meters out justice without any help from us.

What is Really Meant

We cannot make people moral through laws.  We can't make them believe the same thing as someone else by making a law about it.  We can put laws in place to govern people’s moral behavior.  And we do that regularly.

Other Resources

Why We Can’t Help But Legislate Morality
You can't NOT legislate morality
You can't NOT legislate morality (again)
A counter view (requires linguistic gymnastics)