Tag Archives: DIY

Do It Yourself

Countryside Discovery

I really expected to be chasing down this repair job from vendor to vendor trying to track down the right outfit for the job. I got lucky and scored first try.  I knew that I was ill equipped tool wise and vague on metallurgy. My Sheet Block, built back in the day, sheet blockwas non-replaceable.  The fixture was warped; bent by the powerful loading of the jib sheet when a pivot pin partially backed out.  A massive bench vice or a hammer, or a heating torch or all of the above would be needed. Finding a metal fabricator with a Google search led me, not to an enterprise in a business park, but a guy named Johnny at a leanto shed in a rural setting on a dirt road.  He went right to work (how rare is that? but halfway through the job I realized that my credit card would be of no use out here and I began to search pockets to see if they had Cash!).

hammer persuasion

Johnny persuaded the heavy piece back into shape and the pin was straightened with several strategic blows and aligned.

Next, Silver Solder was applied to hold the pin in place. If this proves an area of weakness, I may peen the housing bracket or secure the pin with a set screw. Turns out that the entire mass of metal is cast Brass with a Copper plated finish. This explains the malleability and the  blue green oxidation. Old school. I don’t think they make ’em like this any more.

I mentally noted a placard sign affixed to the wall that proclaimed the shop rate at $65/hr. with a minimum job amount of 30. I had all of 26 dollars in 3 Fives and the rest Ones. Uh oh…  I asked what I owed. A delayed response gave pause and I interjected that I had only 26 bucks on me. Johnny said I’ll take 25 of those.

https://youtu.be/zZKvTingf1Y

new halyard Victory

The easier method is to whip the two ends together – new to old, and haul away on the old halyard until the new rope takes its place. mast

The existing halyard was AWOL however, sheared due to chafe when the mainsail failed and flogged, so a raw procedure was required using gravity. Climbing 50′ above deck to the masthead with the new cordage takes some preparation for planning. Have the necessary items with you as you arrive at the top because it does involve physical effort to ascend and descend. It would be good to only have to make one  safe roundtrip.

The 1/2″ (12mm) X 150′ Braided Rope replacement, while quite flexible, is a bit unwieldy so a much smaller lead line was attached to a spliced end to guide the big rope over the sheave at the knot to splice lead weights masthead and down through the hollow interior of the mast itself and then out the shield plate exit at its base. This lead line is light  in weight so to keep it straight and true for its descent, a length of nylon fishing line with small lead weights was fashioned. This was probably overkill. 50′ of fishing line might have done the job ( but I imagined that I would arrive at mast peak with a snarled mess of knots to sort). The biggest challenge as it turns out was passing the lead weights over the sheave within the confines of the mast head. There was scarce wiggle room for line , mass of weights, and one finger to poke, prod, cajole,  through the narrow passage. The weights tended to rear up straight falling backwards over the top of themselves. I needed them to fold over the arch of the sheave and head downward. Finally, after many failed tries and with the insertion of a second finger to manually spin the sheave I was able to finesse the lot inward and onward.

The next task was to temporarily secure the lead line at the top. masthead heightOur friend Gravity, while assisting the placement of the feeder line would be just as happy to pull it all back down again once I turned loose of it. There was an elegant idea to use lightweight masking tape. It would have torn away freeing the line after a moderate tug.  An excellent solution but I lost my roll of tape to the silty bottom of the Marina when it got away from my tool belt. Not wanting to tie a knot, which would necessitate a revisit, I wrapped the exposed free end of the line around the backstay knowing that I could unwrap from below. The friction was enough to stabilize and hold in place as I commenced descent.

Finally a slim hook was used to probe the hollow spaces and the leader fished out of the mast at deck level.  The Ahhhh moment was  grasping the spliced end of the new halyard and knowing in the  success of the moment. probe

mObridge for the Cayenne radio head unit

The mObridge instruction manual that explains operation is a bit convoluted so follows is a step by step walk through.

Insert key into ignition switch.
This will supply power to the radio head unit.
Turn on the radio (if it wasn’t already on).
Wait for the radio to boot and then wait for
an additional 15 seconds as it will throw
the following error:

Press the button to clear the error.

If the radio head unit is not displaying
this screen then press the Audio
button (step 1) to display it.

Press the CD button (step 2).

The CD screen will be presented.

Note that you will want to be on CD 6
as shown above. The CD 12345 are
grayed.

If this is not the case then push the
button (shown below) to select
‘CD List’ … then rotate the button

until you arrive at the Menu/Aux Audio
line choice. Now press the button once
more to select that option.

The following screen will display next.

Press and hold the ‘ >> ‘ keypad button
to ‘ exit lock mode ‘. You will see
CD 12345 go to grayed.

Now you may plug in your iPod to the
iPod cable if desired.

Button 3 on the keypad is used to
select the Audio src (source)

There are three choices for source:
Aux (analog cable headphone jack)
A2DP (bluetooth digital playback)
iPod (digital iPod cable)

Select the source that you want by
pressing and holding the ‘ >> ‘ keypad
for 2 seconds until the source changes.
Then release. If you want a different
source then repeat the procedure.
Hint: If you didn’t hold the button in long enough
the source might not change as desired.
Instead the ‘ >> ‘ keypad button will scroll
out of ‘Audio src’. So, press keypad 3 to try again.

… and after

1-IMG_6165The fuel sending unit cleaned up nicely. An overnight solvent bath dissolved away the crud and freed the shaft. Unfortunately, the acetone melted the insulator spacers on the terminal posts. I sourced substitutes made of nylon to replace them.

A partial disassembly revealed  the innards and some fine wire too delicate to probe further. But it is interesting to see how it operates. I borrowed a multi-meter for an operational check and it appears serviceable.  The cork gasket which seals the underside of the sending unit attachment flange to the tank is too far gone to serve as a template so I will trace a pattern on paper. Hopefully all of this will seal properly without seepage or weepage when installed.

Fuel Sending Unit

1-IMG_6157Unearthed from the fuel tank, this piece looks like it has been salvaged from the sea floor. It is (or was) the business end of the fuel sending unit. The metal rod, partially in view, is connected to a plastic float at the extreme end. This float will bob up or down and mechanically position the arm as the fuel level changes. That pivot point, behind the gruesome mess, is locked up solid. I will attempt to chip away the corrosion and free the shaft.  Peering into the tank itself revealed no similar horrors.  Plenty of debris and rust but no stalactites or stalagmites artefacts.  It will need to be boiled out.

Long Term Effects

The contents were fresh 15 years ago and by today’s date, way past expiration. Old gas, while still flammable, will no longer combust reliably in an engine and will coat fuel systems with residue and varnish; in other words — gum up the works.

underside

A 22mm Hex Key socket inserted bottom of tank to unscrew drain plug. It was a nice thought that the engineers included one. Bean counters found out and you never see this feature anymore as you can imagine it is one that is seldom called for. I was concerned I would not be able to loosen it as threaded fittings have a tendency to seize. If the original was over torqued or there is rust corrosion then it might be impossible to remove. Steel tank but the plug is brass with an aluminum washer so no rust but dissimilar metals can still create problems. An extension arm (cheater bar) on this tool provided sufficient leverage to break it loose.

The discolored, stale, stinky gas and can be properly disposed of…

Draining the tank

Getting Fuel

 

 

 

 

20130917-121636.jpg

 

Lurking beneath the trunk floor mat is the wiring for the fuel sending unit. One wire to the fuel quantity gauge and one for the low fuel warning light. A 3rd wire, upper right, is for grounding. The 5 securing nuts with washers removed without grief as there was no corrosion on the threads but the unit itself will not separate from the fuel tank. Its cork gasket has bonded itself to the tank top.

Disconnecting these wires is only one step in the fuel tank removal. The fuel filler neck hose coupling, expansion line, fuel feed and fuel return lines all have to be detached. Finally there are 3 mounting bolts securing the tank to the chassis frame to be loosened.

The objective is to drain the stale gasoline that has deteriorated during long term storage. Residual varnish and gum must be flushed before fresh gas can be added, necessitating its removal.  And, after the tank has been dropped down I can better access that “glued on” sending unit and restore a fresh gasket.

soft top resto

Not exactly an easy DIY, in fact there was a skull & crossbones kind of warning to amateurs enclosed with the packing! There were no installation instructions included with the new top but fortunately there have been some ‘gone before me‘ who’ve posted walk throughs. I was grateful for the hints and spoilers. The most challenging, apart from remembering in which order to re-assemble the interior, was self learning the fundamentals of the Rivet fastener. Another bewildering moment was a ‘fish out of water‘ visit to a (women’s) fabric shop to procure new elastic material for the frame bows.Three days into the project and the new canvas is in place and may actually keep seats dry.

runmeter export display

Runmeter is an iPhone app useful for GPS tracking outdoor exercise and as such does a fine job eclipsing some of the other variants. Runmeter features the ability to export and share your (KML,GPX,CSV) data via email or link. Although Runmeter has excellent data analysis menu choices on the iPhone itself and can recall and layout event history; the Runmeter does not have a co-branded display and summary website. However, it is possible to mirror your events and statistics on a personal remote web page. Using the Runmeter export feature you might try uploading a GPX file to Everytrail or Trailguru. I prefer to roll my own and follows is a tutorial on how it can be done.

Add a table, which mimics Runmeters CVS file column headings, to your mysql database.

CREATE TABLE raw_runmeter_data (
  Route varchar(35) NOT NULL,
  Activity varchar(10) NOT NULL,
  Start_Time datetime NOT NULL,
  Time_normal time NOT NULL,
  Time_normal_seconds smallint(6) NOT NULL,
  Time_stopped time NOT NULL,
  Time_stopped_seconds int(11) NOT NULL,
  Distance decimal(5,2) NOT NULL,
  Average_speed decimal(5,2) NOT NULL,
  Average_pace time NOT NULL,
  Average_pace_seconds int(11) NOT NULL,
  Climb int(11) NOT NULL,
  Calories int(11) NOT NULL,
  Fastest_speed decimal(5,2) NOT NULL,
  Fastest_pace time NOT NULL,
  Fastest_pace_seconds int(11) NOT NULL,
  Notes text
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

With this table constructed use PHP to retrieve your event data from the Runmeter server and store it in the mysql table. This code downloads your Runmeter CSV file and after some housekeeping, imports the data events to your mysql.

import_cvs.php
[php]
<?php

/**********************************/
/* This file is named import_cvs.php
/* As the file name implies, this code will import your data from Runmeter. You may run this file manually or better still, by setting up a cron job.
/* Edit the entry below to reflect the appropriate value i.e. your unique Runmeter export URL which should look something like this: “http://share.abvio.com/438h2 53u978cd/Runmeter-Route-All.csv”
/*********************************/
$inp = file(‘http://share.abvio.com/***********/Runmeter-Route-All.csv’);
/*********************************/
/* If you use this code, find a flaw, enhance or otherwise improve it then please let me know
/* via comment or link.
/* End Edit (nothing to do below this line)
/*********************************/

include ‘dbinfo.inc.php’; // your variable constants for database access

if (!$inp) {
echo “<p>Unable to open remote file.\n”;
exit;
}
$out = fopen(‘runmeter_clean.csv’,’w’); // a flat file which will temporaily hold your imported data
for ($i=1;$i<count($inp)-1;$i++) // step through the cvs file to leave out the first line ($i=1) and the last line of the file (count($inp)-1) because the first line is a header row and the last line has extraneous data
{
fwrite($out,$inp[$i]);
}
fclose($out);

echo “<font color=red>{$i} Runmeter events</font><br>”;

$file_handle = fopen(‘runmeter_clean.csv’,”r”);

$con = @mysql_connect($databasehost,$databaseusername,$databasepassword) or die(mysql_error());
@mysql_select_db($databasename) or die(mysql_error());

// first task: let’s empty the mysql table (remove all existing recors)
mysql_query(“TRUNCATE $databasetable”);

// now insert the new recent data. Process Each Line
while (!feof($file_handle) ) {

$data = fgetcsv($file_handle);

$Route = mysql_real_escape_string($data[0]); // this function escapes out the pesky apostrophe character (and double quuotes etc.

$sql_insert = “insert into $databasetable ( Route, Activity, Start_Time, Time_normal, Time_normal_seconds, Time_stopped, Time_stopped_seconds, Distance, Average_speed, Average_pace, Average_pace_seconds, Climb, Calories, Fastest_speed, Fastest_pace, Fastest_pace_seconds, Notes)
values ( ‘$Route’, ‘$data[1]’, ‘$data[2]’, ‘$data[3]’, ‘$data[4]’, ‘$data[5]’ ,’$data[6]’ ,’$data[7]’, ‘$data[8]’, ‘$data[9]’, ‘$data[10]’ , ‘$data[11]’, ‘$data[12]’ , ‘$data[13]’, ‘$data[14]’, ‘$data[15]’, ‘$data[16]’ )”;

echo $data[0].”<br>”;

mysql_query($sql_insert);
}
fclose($file_handle);
@mysql_close($con);
?>
[/php]

Runmeter furnishes a unique and user specific download URL. Replace the URL (line #8) in import_csv.php file code above with yours. If not already familiar with the Runmeter app, review the screenshots from the app below. Start with the Routes Tab then touch Email/Export All. Next screen choose CSV File URL. (Runmeter sends your event data from your device to update your file CSV File on their server) In the third screen you are provided the discreet link which you will need for access. This URL does not normally change so you will not necessarily need to alter your php configuration above but note that current Runmeter app behavior does require you to refresh their data by doing this little procedure each time.

You can run import_csv.php as needed manually from a web browser. I created a cron job that will do this automatically. (once daily so as not to hammer the Runmeter server)

* * * * * wget -q http://www.strombotne.com/import_cvs.php > /dev/null 2>&1

With the event data in place. It is a simple task of writing some queries that will display the information in meaningful way. For example, this snippet will count the number of days run within the last 30.
[php]
<?php
include (“../dbinfo.inc.php”);
/********************************/
/* Code from http://strombotne.com/
/* The query in this file is for PHP5 only
/* If you use this code, find a flaw, enhance or otherwise improve it then please let me know
/* via comment or link.
/********************************/
$con = @mysql_connect($databasehost,$databaseusername,$databasepassword) or die(mysql_error());
@mysql_select_db($databasename) or die(‘Could not connect: ‘ . mysql_error());

$dataArray=array();

//get data from database
$sql=”SELECT COUNT(*) AS Last30Days FROM $databasetable WHERE Activity = ‘run’ AND DATE_SUB(CURDATE(),INTERVAL 30 DAY) <= Start_Time”;
$result = mysql_query($sql) or die(‘Query failed: ‘ . mysql_error());
$event_count=mysql_fetch_object($result);
$event_count=$event_count->Last30Days;

// days run will be $count_events_data from 30 == days off
$days_off = 30 – $event_count;

@mysql_close($con);
?>
[/php]

Google has an API for charting that neatly displays the query output.
[php]

<img src=”http://chart.apis.google.com/chart?cht=p3&chs=375×125&chd=t:<?php echo $event_count.’,’.$days_off.’&chl=’.$event_count.’+Days+Run|Days+Off&chtt=Last+30+Days’;?>”>
<!– uses query_count_events_last_30.php –>

[/php]

And the output looks like this:




There are additional queries and charts in the zip file, along with the complete code for this project for download here. Please share a link to YOUR Runmeter Statistics display in the comments section.

iphone stuck in recovery

With earlier iOS iterations, a manipulation of the sleep/wake and home buttons would abort iPhone recovery mode. There are plenty of helpful youTube video simplifications and mini tutorials on this subject, none of which apply to the newer (e.g. 3.1.3) devices. I spent hours sifting thru them and after attempting all combinations of holding down and sequentially releasing and reapplying buttons while counting for n seconds, I was still stuck in recovery loop with the Connect to iTunes screen. Here’s the fix:Download iRecovery iHackintosh iRecovery Package for Windows & Mac, which is a compressed RAR file. Likely you will have to download a utility app to extract from it.

To start iRecovery on a mac, simply open the command line application (Terminal), and then DRAG the iRecovery file from the location you’ve extracted it and DROP it inside the Terminal window A command line is automatically written. Now type the following:

  • Append ‘-s’ so that the command line now reads ‘irecovery -s’ “hit enter”
  • setenv auto-boot true “hit enter”
  • saveenv “hit enter”
  • /exit “hit enter”

Finally, reboot your iPhone by pressing and holding the sleep/power button and the home button until the iPhone display turns off (black). Release the buttons.

This – saved the day – procedure courtesy of Rafay on this forum was found after exhaustive trial & error Google searching and worked perfectly.