<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE rdf:RDF [
<!ENTITY % HTMLlat1 PUBLIC
 "-//W3C//ENTITIES Latin 1 for XHTML//EN"
 "http://www.w3.org/TR/xhtml1/DTD/xhtml-lat1.ent">
]>
<rdf:RDF
 xmlns="http://purl.org/rss/1.0/"
 xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
 xmlns:dc="http://purl.org/dc/elements/1.1/"
 xmlns:content="http://purl.org/rss/1.0/modules/content/"
 xmlns:admin="http://webns.net/mvcb/"
>
<channel rdf:about="http://schwehr.org/blog/index.xml">
<title>Kurt's Weblog</title>
<link>http://schwehr.org/blog</link>
<description>electronic work log</description>
<dc:language>en-us</dc:language>
<dc:creator>Kurt</dc:creator>
<dc:date>2012-02-02T18:00:09-05:00</dc:date>
<admin:generatorAgent rdf:resource="http://nanoblogger.sourceforge.net" />
<items>
<rdf:Seq>
<rdf:li rdf:resource="http://schwehr.org/blog/archives/2012-02.html#e2012-02-02T11_30_32.txt" />
<rdf:li rdf:resource="http://schwehr.org/blog/archives/2012-02.html#e2012-02-01T09_18_35.txt" />
<rdf:li rdf:resource="http://schwehr.org/blog/archives/2012-01.html#e2012-01-28T08_26_35.txt" />
<rdf:li rdf:resource="http://schwehr.org/blog/archives/2012-01.html#e2012-01-22T07_47_40.txt" />
<rdf:li rdf:resource="http://schwehr.org/blog/archives/2012-01.html#e2012-01-22T07_12_59.txt" />
<rdf:li rdf:resource="http://schwehr.org/blog/archives/2012-01.html#e2012-01-18T21_22_24.txt" />
<rdf:li rdf:resource="http://schwehr.org/blog/archives/2012-01.html#e2012-01-18T07_34_48.txt" />
<rdf:li rdf:resource="http://schwehr.org/blog/archives/2012-01.html#e2012-01-16T19_47_17.txt" />
<rdf:li rdf:resource="http://schwehr.org/blog/archives/2012-01.html#e2012-01-16T13_13_33.txt" />
<rdf:li rdf:resource="http://schwehr.org/blog/archives/2012-01.html#e2012-01-15T15_53_48.txt" />
</rdf:Seq>
</items>
</channel>
<item rdf:about="http://schwehr.org/blog/archives/2012-02.html#e2012-02-02T11_30_32.txt">
<link>http://schwehr.org/blog/archives/2012-02.html#e2012-02-02T11_30_32.txt</link>
<title>Google Ocean new data</title>
<dc:date>2012-02-02T11:30:32-05:00</dc:date>
<dc:creator>Kurt</dc:creator>

<description><![CDATA[Today the Google LatLong blog announced the new bathymetry update in
Google Earth.  I'm having a blast working on Oceans in the Geo group
at Google.  The work on this release was done before I got to Google,
so I had very little to do with the release, but I'm super excited to 
work with the community at making Google Oceans even more useful than
it already is!
<br /><br />
Read the whole post here!  <a href="http://google-latlong.blogspot.com/2012/02/clearer-view-of-seafloor-in-google.html">A clearer view of the seafloor in Google Earth</a> [ Google Lat Long Blog ]
<br /><br />
<a href="http://scrippsnews.ucsd.edu/Releases/?releaseID=1247">Google Earth Ocean Terrain Receives Major Update - 
Data from Scripps, NOAA sharpen resolution of seafloor maps, correct "discovery" of Atlantis</a> [ SIO ]
<br /><br />
<iframe width="560" height="315" src="http://www.youtube.com/embed/_NBFjVY6kKc" frameborder="0" allowfullscreen></iframe>
<br /><br />
The bathymetry goes well with the just released better look for land:
<a
href="http://google-latlong.blogspot.com/2012/01/google-earth-62-its-beautiful-world.html">Google
Earth 6.2: It's a beautiful world</a>
<br /><br />
You can try out the historical image button to see before and after at the moment (this might not be available down the road).
<br /><br />
<img width="600" height="479" title="before" withgrayborder="True" src="http://schwehr.org/blog/attachments/2012-02/google-ocean-before.jpg"/>
<br /><br />
<img width="600" height="481" title="After the new update" withgrayborder="True" src="http://schwehr.org/blog/attachments/2012-02/google-ocean-updated.jpg"/>]]></description>
</item>
<item rdf:about="http://schwehr.org/blog/archives/2012-02.html#e2012-02-01T09_18_35.txt">
<link>http://schwehr.org/blog/archives/2012-02.html#e2012-02-01T09_18_35.txt</link>
<title>libais fixes by Roland</title>
<dc:date>2012-02-01T09:18:35-05:00</dc:date>
<dc:creator>Kurt</dc:creator>

<description><![CDATA[Thanks go to Roland for catching some bad code in libais that has been
in there the entire time.  I was masking the parents member data with
child definitions of the same member variables.  Not good!  This is an
awesome demonstration of getting more eyes on code.
<br /><br />
This libais build system is <a href="https://github.com/schwehr/libais/issues/4">definitely a mess</a>, but at least the code base
is getting better.
<br /><br />
<a href="https://github.com/schwehr/libais">libais in github</a>
<br /><br />
<img width="600" height="315" title="libais tree in github" withgrayborder="True" src="http://schwehr.org/blog/attachments/2012-02/libais-roland-github-pullrequest.png"/>]]></description>
</item>
<item rdf:about="http://schwehr.org/blog/archives/2012-01.html#e2012-01-28T08_26_35.txt">
<link>http://schwehr.org/blog/archives/2012-01.html#e2012-01-28T08_26_35.txt</link>
<title>emacs rocks</title>
<dc:date>2012-01-28T08:26:35-05:00</dc:date>
<dc:creator>Kurt</dc:creator>

<description><![CDATA[The <a href="http://www.youtube.com/user/emacsrocks">emacsrocks
channel</a> on youtube looks pretty awesome.  The first episode shows
you <i>C-x r t &lt;RET&gt; for retangular region replace.  Nice!
<br /><br />
<iframe width="560" height="315" src="http://www.youtube.com/embed/O0UgY-DmFbU" frameborder="0" allowfullscreen></iframe>]]></description>
</item>
<item rdf:about="http://schwehr.org/blog/archives/2012-01.html#e2012-01-22T07_47_40.txt">
<link>http://schwehr.org/blog/archives/2012-01.html#e2012-01-22T07_47_40.txt</link>
<title>John Konrad gives a play by play of the Costa Concordia</title>
<dc:date>2012-01-22T07:47:40-05:00</dc:date>
<dc:creator>Kurt</dc:creator>

<description><![CDATA[John did an excellent job describing what was going on with the Costa
Concordia based on what is visible in the AIS vessel tracking data.
<a
href="http://gcaptain.com/gcaptains-john-konrad-narrates-the-final-maneuvers-of-the-costa-concordia-video/">gCaptain’s
John Konrad Narrates the Final Maneuvers of the Costa Concordia</a>.
He was on a small sail boat at the time so there is some wave noise in
the video.  I hope John makes another video once the details are out.
The vessel should have the maritime equivalent of a black box recorder
called a <a
href="http://en.wikipedia.org/wiki/Voyage_data_recorder">Voyage Data
Recorder (VDR)</a>.  These devices are supposed to record the thruster
and rudder commands along with a voice recording of the bridge.
<br /><br />
<iframe src="http://player.vimeo.com/video/35351659?title=0&amp;byline=0&amp;portrait=0" width="400" height="300" frameborder="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframe><p><a href="http://vimeo.com/35351659">Reconstruction of the Costa Concordia Tragedy, Narration by John Konrad</a> from <a href="http://vimeo.com/gcaptain">gCaptain.com</a> on <a href="http://vimeo.com">Vimeo</a>.</p>]]></description>
</item>
<item rdf:about="http://schwehr.org/blog/archives/2012-01.html#e2012-01-22T07_12_59.txt">
<link>http://schwehr.org/blog/archives/2012-01.html#e2012-01-22T07_12_59.txt</link>
<title>GNU m4 - a macro language</title>
<dc:date>2012-01-22T07:12:59-05:00</dc:date>
<dc:creator>Kurt</dc:creator>

<description><![CDATA[Learning new programming languages, especially if they are very
different from what you are accustomed to, is good for the mind.
Hoever, IMHO, the only reason to learn GNU m4 is help with
understanding GNU autoconf.  There are so many "better" templating
systems out there that you can now use.  My current favorite is to
write python with the format string method.  e.g. 
<pre><font color="#FF0000">'{0} for position or {name} to use var name'</font><font color="#990000">.</font><b><font color="#000000">format</font></b><font color="#990000">(</font><font color="#FF0000">'by number'</font><font color="#990000">,</font><font color="#993399">2</font><font color="#990000">,</font><font color="#993399">3</font><font color="#990000">,</font><font color="#993399">4</font><font color="#990000">,</font>name<font color="#990000">=</font><font color="#FF0000">'var name'</font><font color="#990000">)</font></pre>
gives
<pre>'by number for position or var name to use var name'</pre>
And it gets easier when you use "**locals()" to expand everything into
your template environment for initial development.  Warning the locals 
function can end up being super slow.
<br /><br />
I just spent some time with Michael
Breen's <a href="http://mbreen.com/m4.html">Notes on the M4 Macro
Language</a>.  This was a good way to get familar with the language
and I added what I built to my <a href="https://github.com/schwehr/templates">github template repository</a>: <a href="https://github.com/schwehr/templates/blob/master/m4/overview.m4">overview.m4</a>
<pre><i><font color="#9A1900">#!/usr/bin/env m4 </font></i>
<b><font color="#0000FF">dnl</font></b><i><font color="#9A1900"> -*- compile-command: "m4 --define=REPLACEME=Rascal --define=CAT=yes try.m4" -*-</font></i>
<b><font color="#0000FF">dnl</font></b><i><font color="#9A1900"> the first line ends up in the output if you ./try.m4</font></i>
<b><font color="#0000FF">dnl</font></b><i><font color="#9A1900"> The second line tells emacs how we want to run this command with M-x compile</font></i>
<b><font color="#0000FF">dnl</font></b><i><font color="#9A1900"> SEE ALSO: http://mbreen.com/m4.html</font></i>
<!-- -->
<b><font color="#0000FF">dnl</font></b><i><font color="#9A1900"> This file should be considered public domain. -Kurt Schwehr 2012-Jan-21</font></i>
<!-- -->
NOTE: why would be use m4 rather than python?  Outside of GNU
autoconf, I really think we should not be using m4.  Please use python
with the string <font color="#FF0000">".format"</font> method instead.
<!-- -->
<i><font color="#9A1900"># This is a comment in m4 that goes through</font></i>
<b><font color="#0000FF">dnl</font></b><i><font color="#9A1900"> is do not print to the end of the line</font></i>
<b><font color="#0000FF">dnl</font></b>
define(AUTHOR, Kurt Schwehr)
`AUTHOR' is AUTHOR and there is a newline in there???
<!-- -->
define(TITLE, M4 language by example)<b><font color="#0000FF">dnl</font></b>
This TITLE has no newline <b><font color="#0000FF">dnl</font></b>
<!-- -->
`<i><font color="#9A1900">#' is not a comment hash.  Macros will still work... TITLE</font></i>
<!-- -->
<b><font color="#0000FF">dnl</font></b><i><font color="#9A1900"> The next line comes from the --define command line</font></i>
This REPLACEME is comes from outside the file
<!-- -->
define(MacroWithNewline, `line with
newline after the first with')<b><font color="#0000FF">dnl</font></b>
Use MacroWithNewline here.
<!-- -->
define(PARENS, ())<b><font color="#0000FF">dnl</font></b>
brackets: PARENS
undefine(`PARENS')<b><font color="#0000FF">dnl</font></b><i><font color="#9A1900"> MUST quote the value</font></i>
PARENS
<!-- -->
define(LPAREN,`(')<b><font color="#0000FF">dnl</font></b>
define(RPAREN,`)')<b><font color="#0000FF">dnl</font></b>
LPAREN bracketed RPAREN  <b><font color="#0000FF">dnl</font></b><i><font color="#9A1900"> -&gt; ( bracketed )</font></i>
define(`LEFT',`[')<b><font color="#0000FF">dnl</font></b>
LEFTSQUARE
define(`LEFT',`{')<b><font color="#0000FF">dnl</font></b>
LEFTCURL
<!-- -->
define(`plus', `+')<b><font color="#0000FF">dnl</font></b>
plusplus <i><font color="#9A1900"># oops!</font></i>
plus()plus <i><font color="#9A1900"># works!</font></i>
<!-- -->
define(`oper', `plus')
oper()oper <i><font color="#9A1900"># oops!</font></i>
oper`'oper <i><font color="#9A1900"># best </font></i>
<!-- -->
define(`oper',`plus`'')<b><font color="#0000FF">dnl</font></b><i><font color="#9A1900"> safest</font></i>
oper()plus
<!-- -->
ifelse(`provides
multiline
comments')<b><font color="#0000FF">dnl</font></b>
<!-- -->
CAT
ifdef(`CAT',We have a cat)
ifdef(`HORSE',We have a horse) <i><font color="#9A1900"># No. We do not have a horse</font></i>
<!-- -->
define(a,1)<b><font color="#0000FF">dnl</font></b>
define(b,1)<b><font color="#0000FF">dnl</font></b>
define(c,3)<b><font color="#0000FF">dnl</font></b>
define(d,4)<b><font color="#0000FF">dnl</font></b>
a b
ifelse(a,b,c,d)
<!-- -->
define(`b',2)<b><font color="#0000FF">dnl</font></b>
a b
ifelse(a,b,c,d)
<!-- -->
We have math
1+1 =&gt; eval(1+1)
2**8 =&gt; eval(2**8)
incr(41)
bools:
0 || 1 =&gt; eval(0||1)
0 &amp;&amp; 1 =&gt; eval(0&amp;&amp;1)
<!-- -->
len(`string length')
substr(`my string',1,3) counts start at 0 and includes the character at position [3] (4th)
<!-- -->
<b><font color="#0000FF">dnl</font></b><i><font color="#9A1900"> You can call external programs</font></i>
syscmd(`ls -l')</tt></pre>
I feel like I have a much better handle on what it is to be 
m4.  The parts on looping demonstrate how constrained/annoying the 
language is.]]></description>
</item>
<item rdf:about="http://schwehr.org/blog/archives/2012-01.html#e2012-01-18T21_22_24.txt">
<link>http://schwehr.org/blog/archives/2012-01.html#e2012-01-18T21_22_24.txt</link>
<title>Down With Gravity</title>
<dc:date>2012-01-18T21:22:24-05:00</dc:date>
<dc:creator>Kurt</dc:creator>

<description><![CDATA[This makes me wonder what happened to my juggling pins!  Yeah, I was never
even close to this level.
<br /><br />
<iframe width="560" height="315" src="http://www.youtube.com/embed/TTjK0r7V950" frameborder="0" allowfullscreen></iframe>]]></description>
</item>
<item rdf:about="http://schwehr.org/blog/archives/2012-01.html#e2012-01-18T07_34_48.txt">
<link>http://schwehr.org/blog/archives/2012-01.html#e2012-01-18T07_34_48.txt</link>
<title>Prowd to be a googler</title>
<dc:date>2012-01-18T07:34:48-05:00</dc:date>
<dc:creator>Kurt</dc:creator>

<description><![CDATA[Protect IP and SOPA are just out and out dumb.  I have lots of respect
for people who create content, but non for the MPAA, RIAA, the
software equivalent thing called the BSA.
<br /><br />
<img width="527" height="375" title="Down with SOPA" withgrayborder="True" src="http://schwehr.org/blog/attachments/2012-01/sopa-google.png"/>
<br /><br />
I am glad that wikipedia is doing this, but ouch! I needed to look
something up this morning.  Dear congress, make the insanity stop.
<br /><br />
<img width="600" height="375" title="" withgrayborder="True" src="http://schwehr.org/blog/attachments/2012-01/sopa-wikipedia.png"/>
<br /><br />
<a href="https://www.google.com/landing/takeaction/">Google's End
Piracy, Not Liberty</a>.]]></description>
</item>
<item rdf:about="http://schwehr.org/blog/archives/2012-01.html#e2012-01-16T19_47_17.txt">
<link>http://schwehr.org/blog/archives/2012-01.html#e2012-01-16T19_47_17.txt</link>
<title>AIS time series of the Costa Concordia grounding</title>
<dc:date>2012-01-16T19:47:17-05:00</dc:date>
<dc:creator>Kurt</dc:creator>

<description><![CDATA[I'm glad someone else was doing an AIS time series plot.  I've done
enough of them to last a life time.
<br /><br />
<a
href="https://plus.google.com/101174951617223562800/posts/6YpkskMH3Vu">Brian
Fitzpatrick posted on G+</a> about the Costa Concordia.  The track
makes you wonder what in world was happening on the ship!  Was there a mechanical failure or something to seriously distract the bridge crew (like small non-AIS vessels in the way)?  It would be better visualized with a chart rather than just shorelines.
<br /><br />
<iframe width="420" height="315" src="http://www.youtube.com/embed/aw4pVWYeplU" frameborder="0" allowfullscreen></iframe>]]></description>
</item>
<item rdf:about="http://schwehr.org/blog/archives/2012-01.html#e2012-01-16T13_13_33.txt">
<link>http://schwehr.org/blog/archives/2012-01.html#e2012-01-16T13_13_33.txt</link>
<title>MB-System and the USCGC Healy</title>
<dc:date>2012-01-16T13:13:33-05:00</dc:date>
<dc:creator>Kurt</dc:creator>

<description><![CDATA[Dale, Monica and I tested Google Hangout today to make sure we could
do video, chat, screen sharing etc.  I even tried the Reindeer button.
I wish I were able to actually be there for all the MB-System discussions,
but a handout is the next best thing.
<br /><br />
<img width="" height="" title="Google Hangout with Reindeer" withgrayborder="True" src="http://schwehr.org/blog/attachments/2012-01/google-hangout.png"/>
<br /><br />
On my list of things to do is to fix my code that handles science and
image data from the USCGC Healy.  Dale pointed out that the Aloftcon camera
has snapped some spectacular images in the last few days.
<br /><br />
First, the Healy showing the ship it is trying to get to <a href="http://en.wikipedia.org/wiki/Nome,_Alaska">Nome, AK</a>:  <a href="http://icefloe.net/Aloftcon_Photos/index.php?album=2012&image=20120111-0101.jpeg">20120111-0101.jpeg</a>
<br /><br />
<img width="595" height="446" title="Healy doing escort duty" withgrayborder="True" src="http://schwehr.org/blog/attachments/2012-01/healy-20120111-0101_595.jpg"/>
<br /><br />
Nightime view of the ice with the lights of Nome off in the distance:
<br /><br />
<a href="http://icefloe.net/Aloftcon_Photos/index.php?album=2012&image=20120111-1601.jpeg">20120111-1601.jpeg</a>
<br /><br />
<img width="600" height="450" title="Healy at night with Nome in the distance" withgrayborder="True" src="http://schwehr.org/blog/attachments/2012-01/healy-20120111-1601.jpeg"/>]]></description>
</item>
<item rdf:about="http://schwehr.org/blog/archives/2012-01.html#e2012-01-15T15_53_48.txt">
<link>http://schwehr.org/blog/archives/2012-01.html#e2012-01-15T15_53_48.txt</link>
<title>Video introduction to fink</title>
<dc:date>2012-01-15T15:53:48-05:00</dc:date>
<dc:creator>Kurt</dc:creator>

<description><![CDATA[If you are new to using fink on the Mac for installing software, I
hope this helps you get more comfortable with the process!
<br /><br />
<iframe width="560" height="315" src="http://www.youtube.com/embed/Ao3_UtsIOgM" frameborder="0" allowfullscreen></iframe>]]></description>
</item>
</rdf:RDF>

