<?xml version="1.0"?>
<!-- name="generator" content="blosxom/2.0" -->
<!DOCTYPE rss PUBLIC "-//Netscape Communications//DTD RSS 0.91//EN" "http://my.netscape.com/publish/formats/rss-0.91.dtd">

<rss version="0.91">
  <channel>
    <title>SVMOP:   </title>
    <link>http://www.maperl.com/cgi-local/journal</link>
    <description> Journal of s/v Mother of Perl and Ocean Mapping</description>
    <language>en</language>

  <item>
    <title>SVMOP:Tech: Hydrography pages complete, but can be beautified</title>
    <pubDate>Sun, 02 Nov 2008 11:30:00 EDT</pubDate>
    <link>http://www.maperl.com/cgi-local/journal/2008/11/02#Tech-081102-HydrographyPages</link>
    <description>
I have written and uploaded my discussion of the hydrographic
work that I did with Mother of Perl, and the tools that I 
used to do that work. The source code is part of the page 
set.

I still need to document my tide work and my data acquisition
software.

The URL is &lt;a href=&quot;http://www.maperl.com/Hydrography&quot;&gt;http://www.maperl.com/Hydrography&lt;/a&gt;</description>
  </item>
  <item>
    <title>SVMOP:Tech: Hydrography Pages</title>
    <pubDate>Tue, 21 Oct 2008 00:37:00 EDT</pubDate>
    <link>http://www.maperl.com/cgi-local/journal/2008/10/21#081020-HydrographyPages</link>
    <description>
The &lt;A HREF=&quot;http:/Hydrography/index.shtml&quot;&gt;pages describing hydrographic work&lt;/A&gt; on &lt;i&gt;Mother of Perl&lt;/i&gt; are progressing, slowly.</description>
  </item>
  <item>
    <title>SVMOP:Tech: A shell script to post blog file</title>
    <pubDate>Mon, 13 Oct 2008 16:29:00 EDT</pubDate>
    <link>http://www.maperl.com/cgi-local/journal/2008/10/13#Tech-081013-Post</link>
    <description>
Here is a little script to facilitate posting my blogs:
&lt;br&gt;
&lt;pre&gt;
#!/bin/bash
file=&quot;$1&quot;
pwd=`pwd`
category=`echo $pwd | sed 's/^.*\///'`
destbase=&quot;Wroninhouse@copper.mv.com:Journal/&quot;
echo -n &quot;Category? [$category] &quot;
read response
if [ ${#response} -gt 0 ]
	then	command=&quot;scp $file $destbase$response&quot;
	else	command=&quot;scp $file $destbase$category&quot;
fi
exec $command
&lt;/pre&gt;</description>
  </item>
  <item>
    <title>SVMOP:Sail: The Broken Sails Were Trailing in the Angry Sea</title>
    <pubDate>Mon, 13 Oct 2008 07:01:00 EDT</pubDate>
    <link>http://www.maperl.com/cgi-local/journal/2008/10/13#08-10-11-TheTripNorth</link>
    <description>
&lt;p&gt;
The trip from Virgin Gorda, BVIs to Portsmouth, New Hampshire wasn't without
a bit of adventure. We were, after all, doing this at the begining of huricane
season, first of August, 2008.
&lt;/p&gt;

&lt;p&gt;There were three of us: Capt. Ben (me), Bill T., and Sally K. The
crew had sailed on &lt;i&gt;Mother of Perl&lt;/i&gt; before; Sally for nearly a
month, island hopping from Tortola, BVI down to St. Lucia with
extended stay in Dominica. We all knew what is was like to live and
sail this rugged boat.&lt;/p&gt;

&lt;p&gt;The plan was to leave the mooring in Trellis Bay, Beef
Island/Tortola the morning after everyone was in the BVIs, motor
upwind to Spanish Town, Virgin Gorda (about one hour), fuel and
provision, then the next day depart due north to Bermuda, provided
that there were no storms threatening. We expected the passage to take
about a week, which it did. We ran with 4-hour watches. The captain
was on call 24-hours, so he had the morning and evening watches.&lt;/p&gt;

&lt;p&gt;We started out with a good strong wind on the starboard quarter,
but it settled down by the end of the first day. We motorsailed at
night and sometimes during the day when there wasn't enough wind to
get us going four knots. The wind and seas picked up the day before we
arrived in Bermuda, but the timing for a direct approach would have
brought us in near midnight, so we tacked far to the northeast and back
to the northwest to make our arrival at daybreak.&lt;/p&gt;

&lt;p&gt;Radio Bermuda, the coast guard VHF radio station, was extremely
helpful getting us in through the Town Cut and to the Customs and
Immigration dock. The formalities took only a few minutes and we moved
to the town dock where we spent that night. During the next day, we shopped
and did laundery. The next day, we fueled up and filled our water
tanks and were underway before the cruise ships had crowded the
harbor.&lt;/p&gt;

&lt;p&gt;As with the exit from the BVIs, we left Bermuda with a good stiff
breeze of 20 knots, but it died off to less than ten knots by the end
of the first day. We had barely gotten 150 miles north of Bermuda by
nightfall of the second. The forecast had our hopes up, however: &quot;15
to 20 knots from the southwest.&quot; Sure enough, the wind very gradually
rose to 15 knots as the day came to an end. By 2300 (11PM), we were
moving along well with jib, main, and mizzen. Because it was night
time sailing, we took the precaution of having two reefs in th
main. My watch ended at 2300, so I went to bed. (We had shifted the
watches when we left Bermuda.)&lt;/p&gt;

&lt;p&gt;I woke at 0300 and immediately noticed the boat motion felt like we
were surfing. In fact, we were. The boat speed was over ten
knots. (The maximum displacement speed is nine knots.) Within minutes,
there was a load crack followed by deafening flapping of sail. We
started the engine as an emergency response. Bill T., who was on
watch, and I made our way up on deck and found that the clew of jib
had ripped away. We dropped the jib (no roller furling made this easy)
and gatthered the sail onto deck. The wind was more than thirty knots
and gusting to forty.&lt;/p&gt;

&lt;p&gt;Without the jib, the sail plan was severely out of balance with
power shifted aft. But the wind was still over the quarter so the
consequence was not significant until the wind shifted. Nonetheless,
we atempted to drop the mizzen, a foolish plan considering the
strength of the wind. It jammed in the shrouds. We could neither drop
it nor bring it back up, and had to leave it billowing in the
shrouds.&lt;/p&gt;

&lt;p&gt;Since the jib had blown out, we were motorsailing and doing 1-hour
watches, the three of us. Around 0600, we heard another crack. This
time it was the rivits holding the pad-eye for the mainsails second
reef. The reef was blown and this sail was bilowing in its
shrouds. The wind was in the forties gusting into the fifties, too
dangerous on deck to do any work to prevent any more damage to the
sails. It was more important to stay safe below, out of the wind and
now heavy seas.&lt;/p&gt;

&lt;p&gt;Within a few hours, the wind had clocked around to northwest, our
rhumb line course. The wind had dropped back into the thirties, still
enough to build seas, now there were 15 foot seas from stern, 8 foot
seas on the bow, and an occasional wave directly on the beam. The
later was the most dangerous. The first danger is roll, but &lt;i&gt;Mother
of Perl&lt;/i&gt; is so beamy and has so much ballast in her full keel, that
she rolled a maximum of 45 degrees, and usually no more than twenty
degrees. The second danger comes from when she isn't rolled when the
beam sea hits. The majority of the hull is vertical and flat. When a
sea hits this surface, it is like a seawall, the water shoots straight
up and comes crashing down on deck, covering the deck with half a foot
of green water for the few moments before it drains away. The dorads
(vents) are designed for only two inches of water. The result is water
in through the vent pipes of the dorads, not much, but enough to make
a mess. One hatch, as well, had trouble holding back that much
water. When got around to cleaning up after the storm, it didn't
amount to more than ten gallons, total.&lt;/p&gt;

&lt;p&gt;By noon, the winds had subsided to twenty-five knots, and the seas
had become more regular. But before that happened, the vessel motion
was so choatic the the GPS couldn't give us a course or fix, nor could
the autopilot steer. Our velocity was down to one knot, at best. There
were times when we actually were going backwards in relation to the
bottom, but forwards through the seas. We were steering by hand and by
magnetic compass. Thank goodness for dampening the compass. In
reality, the seas governed our course more than the compass.&lt;/p&gt;

&lt;p&gt;Once the autopilot and GPS had reestablished themselves, Sally
K. and I went on deck to try to tidey things up and assest the damage
while Bill T. stood watch and kept us from being washed away by
seas. Using tethers on our harnesses to keep us secured, we relashed the
jib, which had come loose, secured the main to the boom, and did the
same with the mizzen, which had torn across near the top and was
trailing along with various sheets in the seas by the boat. We also
discovered that the dinghy had been destoyed and was hanging by a
single fall from the davits. The outboard had smashed against the
stern of the boat in the process. They were of little salvage value
and dangerous to recover, so I cut the dinghy free to drift off to the
Azores or Africa.&lt;/p&gt;

&lt;p&gt;There had been considerable damage to sails, and the loss of the
dinghy left us without any emergency liferaft as well as just being
financially a pain, but we and &lt;i&gt;Mother of Perl&lt;/i&gt; were in fine
shape, save a few bruises. She proved herself as an incredibly strong
and safe boat. Now the question was how we were going to get home. We
were 200 miles or more from Bermuda and 400 miles from the nearest
port in the USA. All we had was our little 80hp diesel engine.&lt;/p&gt;

&lt;p&gt;By 1600, the wind was down to less than twenty and seas were
flattening out, relatively speaking, so we returned to our regular
four hour watches. I sounded the fuel tanks and found we had about 500
liters (150 gallons) left. At 2000 RPM, the engine uses roughly 5
liters and pushes the boat 5 nautical miles in ideal wind and
seas. That works out to one liter per nautical mile. If we could avoid
any more adverse wind and seas, we should have plenty of fuel to motor
to our destination of Portsmouth, NH. If not, Nantucket and Cape Cod
were closer. We would at least be within radio range of fishing boats
when we ran out. To be sure that we got the most distance from the
fuel that we had, we kept the engine at 1800 RPM.&lt;/p&gt;

&lt;img src=&quot;/Journal/Sail/transit2NH.png&quot;&gt;

&lt;p&gt;For the next two days, the wind was less than ten knots, on the
nose, but light, and the ocean flattened out. We relaxed, ate and
slept well again, and remained patient about our arrival, despite a
certain urgency for Bill T. to get back in time for an important real
estate meeting on his new house. I sounded the tanks each day. We were
getting at least a nautical mile per liter.&lt;/p&gt;

&lt;p&gt;On the afternoon of the third day, we had reached George's Bank, a
prime commercial fishing ground. We wouldn't be able to pull in to
Nantucket or a Cape Cod port during the day, but we had plenty of
fuel. We were able to call the US Coast Guard on the radio and pass on
the information that we would be a day late in arrival. They would
call our families.&lt;/p&gt;

&lt;p&gt;The next day brought us close enough to Cape Ann that our cell
phones worked and we called and confirmed our arrival for that
afternoon. We didn't mention what condition the sails were in. We
arrived at the New Castle pier at 1600 and were greeted by our
wives. Sally would have to wait another day for her sweetheart to
arrive from Oregon, a big surprise visit.&lt;/p&gt;

&lt;p&gt;&lt;i&gt;Mother of Perl&lt;/i&gt; now sits in Portsmouth. Her sails are at the
sailmaker. The teak bowsprit decking which had been destroyed by the waves
is replaced with fiberglass reinforced plastic grating. She has her
own mooring thanks to the purchase of share by a local mariner with a
seldom used mooring.&lt;/p&gt;

&lt;p&gt;All is well, but none of us are quite ready to go out in the deep
blue sea.&lt;/p&gt;</description>
  </item>
  <item>
    <title>SVMOP:VSTP: Lessons learned (so far) from this project</title>
    <pubDate>Fri, 10 Oct 2008 07:13:00 EDT</pubDate>
    <link>http://www.maperl.com/cgi-local/journal/2008/10/10#VSTP-081010-lessons</link>
    <description>
&lt;p&gt;
Since I still am very green as a Python programmer and still think in Perl,
I have been learned from pain the differences in concept. For one, the concept
and implementation of global variables is different. 
&lt;/p&gt;
&lt;p&gt;
In Perl, the concept is that the language is more likely to be used for utilities
rather than applications, therefore everythink is global if not otherwise
declared. Global to the namespace (module/package) that is. Python, however,
assumes everything is private unless otherwise declared.
This brings up the question of when is it appropriate to use globals in Python.
&lt;/p&gt;
&lt;p&gt;
I asked Kurt, whom I regard as a seasoned Python programmer, when he used
globals. His answer: &quot;never!&quot; Where do I use globals? When variables (usually
application configuration settings and things like file pointers/objects) are
used in many of the subroutines/functions. Rather than continually passing
these variables as argument to the call, I just make them global.
&lt;/p&gt;
&lt;p&gt;
Here is another wierdness abouth Python globals: the calling function declares
them as global rather than the block enclosing the functions (as in Perl when
they are explicitly declared global). 
&lt;/p&gt;
&lt;p&gt;
I'll get used to it.
&lt;/p&gt;
&lt;p&gt;
Other things that take some getting used to are split, join, and string
formatting. They are just enough different that I am having to correct
myself often.
&lt;/p&gt;
&lt;p&gt;
I all, I really like Python for application development. I still want to
use Perl for utility programming, but I know I won't learn Python unless
I use it for utilities as well as applications. It is not likely I will
completely forget Perl in the process, at least not until so few of my
brain neurons are firing that it does make any difference.
&lt;/p&gt;</description>
  </item>
  <item>
    <title>SVMOP:VSTP: rsync - doesn't seem to work on the web server</title>
    <pubDate>Wed, 08 Oct 2008 06:28:00 EDT</pubDate>
    <link>http://www.maperl.com/cgi-local/journal/2008/10/08#VSTP-081008-rsync</link>
    <description>
This is a test to see if rsync works on mv.com. I don't think it is
installed, so I'm hoping that the rsh/rcp method works. Let's see.

Nope.. but rcp/scp does work. So I'll make a little script or alias
to shorten the call.  </description>
  </item>
  <item>
    <title>SVMOP:VSTP: SQLite experiences</title>
    <pubDate>Tue, 07 Oct 2008 23:03:00 EDT</pubDate>
    <link>http://www.maperl.com/cgi-local/journal/2008/10/07#VSTP-081006-SQL-2</link>
    <description>
Dropping down to pysqlite from SQLalchemy wasn't too difficult. But the last
few details took an experienced pysqlite programmer (Kurt Schwehr) to
get things working. The issues were:
&lt;ul&gt;
&lt;li&gt;Be sure that there is a connection.commit() on a regular basis&lt;/li&gt;
&lt;li&gt;Be sure that proper parameter format is used in the INSERT&lt;/li&gt;
&lt;/ul&gt;

There are five different ways of specifying parameters. I still need
to find the one that works the best for me. Some do automatic value
casting.</description>
  </item>
  <item>
    <title>SVMOP:VSTP: RDBMS and SQL -- the next phase for ShipTracking</title>
    <pubDate>Mon, 06 Oct 2008 22:09:00 EDT</pubDate>
    <link>http://www.maperl.com/cgi-local/journal/2008/10/06#VSTP-081005-SQL-1</link>
    <description>
The VOS (Voluntary Observation Ship) Tracking project has taken on a
new phase. The data will be read into a relational database as well as
the original XML format. 

For the application user, there is little change. The major difference
is the specification for the database fields. Compare the SQL output
specification to the XML specification:

&lt;pre&gt;
 &amp;lt;?xml version='1.0' encoding='iso-8859-1'?&amp;gt;
 &amp;lt;config&amp;gt;

  &amp;lt;inputDescr filetype=&quot;ASCII&quot;&amp;gt;
    &amp;lt;field name=&quot;year&quot;		start=&quot;1&quot;   	stop=&quot;4&quot; 	type=&quot;INT&quot;/&amp;gt;
    &amp;lt;field name=&quot;month&quot;		start=&quot;5&quot;   	stop=&quot;6&quot; 	type=&quot;INT&quot;/&amp;gt;
    &amp;lt;field name=&quot;day&quot;		start=&quot;7&quot;   	stop=&quot;8&quot; 	type=&quot;INT&quot;/&amp;gt;
    &amp;lt;field name=&quot;hour&quot;		start=&quot;9&quot;   	stop=&quot;12&quot; 	type=&quot;FLOAT&quot;/&amp;gt;
    &amp;lt;field name=&quot;lat&quot;		start=&quot;13&quot;  	stop=&quot;17&quot; 	type=&quot;FLOAT&quot;/&amp;gt;
    &amp;lt;field name=&quot;lon&quot;		start=&quot;18&quot;   	stop=&quot;23&quot; 	type=&quot;FLOAT&quot;/&amp;gt;
    &amp;lt;field name=&quot;callSign&quot;	start=&quot;35&quot;   	stop=&quot;44&quot; 	type=&quot;STR&quot;/&amp;gt;
  &amp;lt;/inputDescr&amp;gt;

  &amp;lt;outputDescr filetype=&quot;XML&quot; &amp;gt;
    &amp;lt;field name=&quot;year&quot; format=&quot;%d&quot; value=&quot;year&quot; /&amp;gt;
    &amp;lt;field name=&quot;month&quot; format=&quot;%d&quot; value=&quot;month&quot; /&amp;gt;
    &amp;lt;field name=&quot;day&quot; format=&quot;%d&quot; value=&quot;day&quot; /&amp;gt;
    &amp;lt;field name=&quot;hour&quot; format=&quot;%0.4d&quot; value=&quot;hour&quot; /&amp;gt;
    &amp;lt;field name=&quot;hrs&quot; format=&quot;%.2f&quot; value=&quot;float(int( hour /100) + ( hour /100.00 - int( hour /100))/.6)&quot; /&amp;gt;
    &amp;lt;field name=&quot;latitude&quot; format=&quot;%0.2f&quot; value=&quot;lat / 100&quot; /&amp;gt;
    &amp;lt;field name=&quot;longitude&quot; format=&quot;%0.2f&quot; value=&quot;lon / 100&quot; /&amp;gt;
    &amp;lt;field name=&quot;callSign&quot; format=&quot;%s&quot; value=&quot;trim( callSign )&quot; /&amp;gt;
  &amp;lt;/outputDescr&amp;gt;

  &amp;lt;outputDescr filetype=&quot;SQL&quot;&amp;gt;
    &amp;lt;field name=&quot;sqltime&quot; datatype=&quot;TEXT&quot; format=&quot;%s&quot; 
	   value = &quot;SQLtimeStr(year,month,day,0)&quot; /&amp;gt;
    &amp;lt;field name=&quot;latitude&quot; datatype=&quot;REAL&quot; format=&quot;%0.2f&quot; 
	   value=&quot;lat / 100&quot; /&amp;gt;
    &amp;lt;field name=&quot;longitude&quot; datatype=&quot;REAL&quot; format=&quot;%0.2f&quot; 
	   value=&quot;lon / 100&quot; /&amp;gt;
    &amp;lt;field name=&quot;wkt_geographic&quot; datatype=&quot;TEXT&quot; format=&quot;%s&quot;
	   value=&quot;wkt(lat,lon)&quot; /&amp;gt;
    &amp;lt;field name=&quot;callSign&quot; datatype=&quot;TEXT&quot; 
	   format=&quot;%s&quot; value=&quot;trim( callSign )&quot; /&amp;gt;
  &amp;lt;/outputDescr&amp;gt;

 &amp;lt;/config&amp;gt;
&lt;/pre&gt;

Internally, there are some serious additions for the database
specification parsing and record insertion. However, the hard part was
deciding which Python modules to use and non use. After looking at 
SQLalchemy, we have decided to keep it simple and just use pysqlite.
(SQLite is the database engine we have picked.)










</description>
  </item>
  <item>
    <title>SVMOP:Sail: Keeping busy</title>
    <pubDate>Tue, 22 Jan 2008 07:41:00 EDT</pubDate>
    <link>http://www.maperl.com/cgi-local/journal/2008/01/22#08-01-21-Busy</link>
    <description>
&lt;p&gt;Ah, life on a boat, even in the Caribbean, is a lot
of work when you have to do it all and pay for it all.&lt;/p&gt;

&lt;p&gt;I have a worklist, some fifteen or more items long. Some
of the items are not critical, such as: install the remote
microphone for the VHF radio. Others are very critical; for
example, stop the leak from the main engine sea water pump
so that it doesn't fill the bilge to alarming levels every
time I run the engine for more than an hour. Or, how about,
the fact that the dinghy is coming apart at the seams, or
the forestay (for the jib and a major structural elment
of the mast is untwisted at mast top threatening to part.&lt;/p&gt;

&lt;p&gt;
As Kristen, my stepdaughter, is so good at reminding me: take 
a deep breath. Put order and priorities to what can be 
done when and what it immediately necessary (water in  bilge).
And.. don't wince when you have to pay the bills in boat units.
One boat unit is $1000 USD.&lt;/p&gt;</description>
  </item>
  <item>
    <title>SVMOP:Sail: St. Lucia to Trellis Bay, Tortola, BVI</title>
    <pubDate>Tue, 22 Jan 2008 07:39:00 EDT</pubDate>
    <link>http://www.maperl.com/cgi-local/journal/2008/01/22#08-01-20-Passage</link>
    <description>
Thanks to the hard work of my crew, Kristen and Pete,&lt;br&gt;&lt;/p&gt;
we were able to launch Mother of Perl in St. Lucia in less than a week. Two days later, we had our sails on, provisioned and under way for 350 nm passage to Tortola.&amp;lt;/p&amp;gt;&lt;br&gt;&lt;/p&gt;
&lt;/p&gt;
&lt;p&gt;The first day was great. Seventeen knots of wind on the
beam. We able to get our hoped for 7 knots velocity made good. If we could keep this up, we would reach the Virgin Islands in 48 hours, 9 AM on Frisday. But that wasn't to be. The wind dropped to five knots in the middle of the night. We began motor-sailing slowly, assuming that we arrive in&lt;br&gt;&lt;/p&gt;
three days instead of two.&lt;/p&gt;
&lt;p&gt;It qas nor meant to be. On the second afteroon,
some 80 miles from the narrow reef bordered
passage into the BVI's, the wind completely
died and cross seas built. The seas were expected
at the northern most Windwards, but the trade winds
should have been 15 or 20, with sails preventing rolling.
&lt;/p&gt;

&lt;p&gt;
We have a chartplotter and decent radar. I knew where we were going (Round Rock Passage) 
and could do visuals using the lights of the islands beyond to be sure we had Round Rock on
our right. Rather than wallow in rough seas (and incure both the fatigue and stress on the
rigging), we pushed the throttle up to 80% and drove on to island. We approached Round
Rock at 1AM (0100hrs). Time drop all the sails. But no, the roller reefing jib was jammed.
As we were fast approaching the passage, Pete braved it on the bowsprit in the dark, and
unfouled the roller sheet.&lt;/p&gt;

&lt;p&gt;Since we had to check in the BVIs the next morning we headed for mooring field
outside Spanish Town. After making quite a din motoring around and shouting out
to a late night dinghy rider, we discovered there were no moorings available. So on
to Trellis Bay, about an hour away. No problem now that we were inside the protected
waters of the BVIs. In fact, there were several free moorings. It was a familiar 
place. Bruce and Carole bought a mooring here for Mother of Perl. It was not to
be trusted without daylight inspection, but we took an empty Moor Secure mooring
right next to it. Next morning, the private mooring was brought back into service
and we had moved to our old spot. Halleuia!&lt;/p&gt;</description>
  </item>
  </channel>
</rss>