Sunday, August 19, 2012

The Pearly Gates

Reposted from Saturday, February 25, 2006.  IK like this post.  I have my moments. 
"It's all in the journey," the mystery biker states as he rides away from our conversation climbing up the "backside" of Usery Pass. I had remarked that at 7 miles an hour, it was going to some time to get up that 4 mile incline. He had a cool seat mounted holder for two water bottles. I'll need one of those in a month or so. Notice the temperature of today's ride is over 80 degrees. Today's ride was quite thought provoking. I guess there's some advantage to spending 3 hours in the saddle. Gilby will be happy to note that my love affair with my Brooks™ saddle has started. Maybe I won't be so lonely from now on.

Date: February 25, 2006
Today's Mileage: 34.12
Temperature at Departure: 83 F.
Average Speed: 11.7
Total for February: 192.8

One thing that it wasn't today is lonely out on the road. I had conversations with several people today, including one interesting group of hikers over at the drinking fountain at the base of the Wind Cave trail. I don't know if this is just because I spent more time out, or as a result of the rather outstanding weather. The hikers were talking about a 50 mile ride tomorrow. So I asked them what the thing I just climbed was called -- "The backside of Usery Pass" was the definitive answer. It seems this is one of the more notorious climbs in the area. Another -- namely "King Kong," or just "Kong," was responsible for last weeks cramping incident. During this conversation -- I learned of a third, The Pearly Gates. "That will break your hump," says the elder hiker.

The Pearly Gates was a nice ride. I don't know how far it was, but it actually required me to use all my gears. The ride requires that you one, trespass, and two, avoid the copious amounts of coyote crap on the road, and three, work. I can just hear her saying it now, "Coyotes do not prefer to crap in the road. I know you say you've seen them, but it just isn't true." Coyotes and foxes, both share this desire (perhaps wolves too). They would really rather do thier business in the middle of the road. I have seen them more than once, me slamming on the brakes to avoid killing them, trying to take their picture, them, hobbling off so as not to soil themselves, and me again -- failing to get the picture. I want to show it to my friends, and say "See, if you spent any time outta the house you would know this. I secretly suspect they like to do this because it is warmer in the road (you know how you like it warmer in the john than anywhere else). The other possibility is that they know that this is one part of the world that is pretty much screwed, so no one (none of the other critters - except maybe the crows who eat off the road) will mind if they take a squat there.

Anyway, the road to the Pearly Gates is closed (go figure, eh?), which means all those instances of Coyote squat, aren't getting run over, so there are many there to prove my theory, which finally may become a law. It is interesting to note that coyotes seem to urinate and deficate in the same place, leaving two kinds of evidence to both prove my theory, and prove that they are not dogs. The ride, as a result of the road being closed (not the coyotesquatsi) was very nice. With the exception of the automatic machine gun fire from the neighboring shooting range, the ride was oh so quiet and worry free.

Out on the road I was reflecting on this article I read last night, and thinking yet again that I have too much stuff (she -- the woman from above -- said that too), and wondering if I could change my life just by cutting down on the stuff I have (not that I want to suffer a fire), when I remembered the end of that article, which reminds me of what inevitably happens as we force ourselves to dig deeper:
I've learned to recognize a particular moment on a backcountry trip. It's the moment when I can't remember what I'm doing there. It usually comes after some grueling slog, after the pack mysteriously gains weight against all rules of fairness and physics. Everything rubs against me-the shoulder harness, the salt of my sweat, the relentless weather, the earth against my feet.
It's like pushing through a membrane, that instant when misery transforms into surrender. Nothing becomes lighter, faster, easier. Now I can keep on, just for the power, the quiet ecstasy, of keeping on, discarding burdens as I go, growing lighter and lighter with every step, because this-this freedom, this moment, this willingness to trust myself in an untrustworthy world-this is the one thing I cannot do without.
Meanwhile, Pearl the Cat is out the window trying to catch a cottontail. It's hysterical. It's all in the journey, kitty. Look for that quiet ecstasy. Discard your burdens.

Wednesday, June 13, 2012

Hoppy the Crow

Hoppy the crow.  My pet for 9 years.  Some time ago. he's enjoying a shower in case you wonder.

Wednesday, April 4, 2012

Migrating Your Bugtracker Database to Jira

I have been working on this new project, It's a bug database migration.  Not necessarily simple but pretty straight forward.  Take the entire contents of a DB and migrate it to a new DB, Jira.   

Step one, analyze the DB for current fields, number of records, organization of date and export capability.  Although the (BT) has export to excel and some backup capabilities it doesn't look all the smart or convenient or easy, in terms of exporting the entire DB.  I start by reading the docs on Bugtracker and searching for info from other folks that have done.  I ask the guy the who wrote it, Corey Trager.  He's happy to help, if I pay him (Gee, thanks guy).   There's not that much info about it out there. 

So I start looking around -- find the front-end code and reverse engineer it -- pull out the connect string for the DB.  Its a SQL Server 2005 Database (it could have been Mysql, just as well)  running on XP or whatever.  I download a SQL Server Management Studio and connect to the DB.  Pick it apart. 

The initial take, ~6500 records, ~70000 comments and updates, 3211 attachments.   

Next I analyze the target, Jira.  Jira has a great and robust import tool.  If you have to do this project.  By all means use it.  The only convenient way, though, from the BT was to use the comma seperated value method of the Import Tool.  So that became my target.

Create a tab delimited file containing the BT database in it entirety.  Programmatiaclly and reliably extract the entire content of the BT and convert it into a tab delimited file to be ingested by the Jira Import Plug-In. 

I wrote three queries to extract the data from the BT backend SQL Server DB.   I wrote 6 tcl scripts that assemble the BT data into a huge tab delimited file.   

For the comments, attachments, updates, and emails:

set nocount on SELECT a.bp_bug, a.bp_type, b.us_username, a.bp_date, a.bp_comment,
        a.bp_email_to, a.bp_file, a.bp_size, a.bp_content_type, a.bp_id,
        (select '#@#@#@#' newcol) #@#@#@#
    FROM dbo.bug_posts a, dbo.users b
    WHERE b.us_id = bp_user
    ORDER BY a.bp_bug, a.bp_type, a.bp_date;

For the bug relationships:

set nocount on SELECT re_bug1, re_bug2, re_type 
    FROM dbo.bug_relationships 
    ORDER BY re_bug1;

For the issues:

set nocount on SELECT bg_id bugtrackerID,
        (select pj_name from dbo.projects where bg_project = pj_id) project,
        (select 'projectKey' newcol) projectKey,
        bg_short_desc summary,
        (select us_username from dbo.users
              WHERE bg_reported_user = us_id) reporter,
        (select ct_name from dbo.categories 
              WHERE bg_category = ct_id) issueType,
        (select pr_name from dbo.priorities 
              WHERE bg_priority = pr_id) priority,
        (select pr_name from dbo.priorities 
               WHERE bg_priority = pr_id) urgency,
        "Custom Field 1" customField1,
        "Custom Field 2" customField2,
        (select us_username from dbo.users 
               WHERE bg_assigned_to_user = us_id) assignee,
        (select st_name from dbo.statuses 
               WHERE bg_status = st_id) status,
        (select 'newcol' newcol) resolution,
        bg_reported_date reported_date,
        bg_last_updated_date lastUpdatedDate,
        (select udf_name from dbo.user_defined_attribute 
                WHERE bg_user_defined_attribute = udf_id)
        component from bugs,projects
WHERE bg_project = pj_id
ORDER BY bg_id ;

That should get you started. 

Ultimately Corey Trager did give me a one interesting clue, asking me "what are you going to do about attachments, like screenshots, if they were posted as blobs into the db?"  I looked all over for evidence of inline attachements, blobs in the db, or a way to post them.   I didn't find that at all.  I did find the attachments in a very unusual place on the file system for the Web front end to Bugtraacker.  They were in c:\Temp\Uploads.   Basically these were copied into a place were the Jira import tool could find them and poof ... it was done. 

The import tool for the Jira went extremetely well.  There were issues around the organization of data and arranging the file for the successful import of comments, and attachments, but overall the tools is well designed and works quite well.  Error reporting is good and the process can be a bit tedious, but that is just the way it is with delimited files. 

Here's a snippet from a conversation about the import between my colleague and I:

4:50 PM L: Ah no
4:50 PM Shawn Kielty:ok
4:50 PM L: it's shows up correctly in the wizard !
4:50 PM Shawn Kielty:yeah ... stunning thing -- that wizard
4:51 PM L: Ok, importing issues is in progress
4:52 PM Shawn Kielty: sweet
4:52 PM L:Yes, this wizard is very good

Sunday, January 22, 2012

Johnny's Cookies

These are a big hit around my family at Christmas and originally came from my grandmother Gertrude Kielty.

1 cup shortening (I use butter)
1 cup brown sugar
1 egg
1 3/4 cup sifted flour
1/2 teaspoon salt
1/2 teaspoon soda
1/4 cup thick sour milk (I use sour cream)
3/4 cup pecan haves broken into pieces
1 cup candied cherries (a small container) cut into pieces.
1 pecan half for the top of each cookie

Mix all the ingredients together reserving the pecan halves for the cookie tops. Drop small teaspoonfuls of dough onto a greased cookie sheet. Place a pecan halve on top of each cookie. Bake @ 400 degrees for about 10-11 minutes.

Makes 3 dozen cookies or so.

Wednesday, January 18, 2012


Near the end of last year, someone at zipfizz contacted me to ask if I would consider reviewing their product.  Since this is not really the kind of product I would normally use, I was somewhat reluctant.  I agreed. 

It came in the mail, and got mixed in with Christmas.  It was basically their Multi-pack deal with an addition in the form of a zipdrive containing promotional materials.  So, nice water bottle, small free zipdrive, and some sample flavors of the energy drink mix. 

Everyone, you know me.  Good food, good tasting and hearty.  That's what I like.  Foods with names like eggs, butter, cream, meat, fries, rice.  Wholesome foods.  During an expedition in the desert, I might drink a 50% solution of Gatorade™ and water.  But Gatorade™ is this huge success story, a victory of the mind over the failings of the body.  In a crazy pinch on a bike ride or wicked hike where I need some real calories I might use a Honey Stinger™.  Typically, I am opposed to this kind of food.    Like Dr. David Agus, I am opposed to vitamins, prefer "a good fat diet, olive oil, canola oil, heart healthy eggs, cold water fish."  Real food.  Good food.  On a regular schedule.

Skeptically, I unwrap the package, look at the stuff.  Go to the web site and look at the ingredients.  A little scary.  There's a lot of what I call science ingredients. I notice a couple of foods I recognize, ginger root, ginseng, caffeine.  I mix it up.  Taste is good.   Generally good, a bit vitaminey. 

I have a formula for fueling my body during extreme activities, It's an extension of my normal diet. Nothing is quite as good as a pint of ice cream to overcome a major calorie deficit. Possibly, I will keep a few of these zipfizz around for those moments when I need an extra shot of caffeine.

If you like this sort of thing, zipfizz™ is probably a good choice.