<?xml version="1.0" encoding="utf-8" ?>
<?xml-stylesheet href="/templates/default/atom.css" type="text/css" ?>

<feed 
   xmlns="http://www.w3.org/2005/Atom"
   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
   xmlns:dc="http://purl.org/dc/elements/1.1/"
   xmlns:admin="http://webns.net/mvcb/"
   xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
   xmlns:wfw="http://wellformedweb.org/CommentAPI/">
    <link href="http://www.olivierhill.ca/feeds/atom10.xml" rel="self" title="Olivier's Blog" type="application/atom+xml" />
    <link href="http://www.olivierhill.ca/"                        rel="alternate"    title="Olivier's Blog" type="text/html" />
    <link href="http://www.olivierhill.ca/rss.php?version=2.0"     rel="alternate"    title="Olivier's Blog" type="application/rss+xml" />
    <title type="html">Olivier's Blog</title>
    <subtitle type="html">Because they listen to me</subtitle>
    <icon>http://www.olivierhill.ca/templates/default/img/s9y_banner_small.png</icon>
    <id>http://www.olivierhill.ca/</id>
    <updated>2011-03-23T00:45:42Z</updated>
    <generator uri="http://www.s9y.org/" version="1.2.1">Serendipity 1.2.1 - http://www.s9y.org/</generator>
    <dc:language>en</dc:language>

    <entry>
        <link href="http://www.olivierhill.ca/archives/20-Who-am-I.html" rel="alternate" title="Who am I?" />
        <author>
            <name>Olivier Hill</name>
            <email>nospam@example.com</email>
        </author>
    
        <published>1970-01-01T00:00:01Z</published>
        <updated>2011-03-23T00:45:42Z</updated>
        <wfw:comment>http://www.olivierhill.ca/wfwcomment.php?cid=20</wfw:comment>
    
        <slash:comments>1</slash:comments>
        <wfw:commentRss>http://www.olivierhill.ca/rss.php?version=atom1.0&amp;type=comments&amp;cid=20</wfw:commentRss>
    
            <category scheme="http://www.olivierhill.ca/categories/1-Personal" label="Personal" term="Personal" />
    
        <id>http://www.olivierhill.ca/archives/20-guid.html</id>
        <title type="html">Who am I?</title>
        <content type="xhtml" xml:base="http://www.olivierhill.ca/">
            <div xmlns="http://www.w3.org/1999/xhtml">
                </p>

<div class="vcard"><p>For those of you that ignore who I am, my name is <span class="fn">Olivier Hill</span> and you are reading my <a href="http://www.olivierhill.ca" class="url">webpage / blog</a>.</p>

<p>(I'm the one on the right!):</p>

<a href="http://www.flickr.com/photos/talieu2/5325103130/" title="Penn &amp; Olivier by Talie, on Flickr"><img src="http://farm6.static.flickr.com/5201/5325103130_594e14549e.jpg" width="450" height="365" alt="Penn &amp; Olivier" /></a>

<p>If you are looking for facts, here they are:</p>

<ul>
  <li>White male, 5'8"</li>
  <li>Living in <span class="adr"><span class="locality">Laval</span>, <span class="region">QC</span>, Canada</span></li>
  <li>In a relationship with <a href="http://www.talie.ca/" rel="friend">this girl</a> (almost married now)</li>
  <li>Speaks French and English</li>
</ul>

<p>I am a young professionnal working in the computer industry. Couple of years ago, I graduated from the École Polytechnique de Montréal in Computer Engineering, earning my bachelor's degree with honors.</p>
 <br /><a href="http://www.olivierhill.ca/archives/20-Who-am-I.html#extended">Continue reading "Who am I?"</a>
            </div>
        </content>
        
    </entry>
    <entry>
        <link href="http://www.olivierhill.ca/archives/62-Update-VMware-tools-before-reboot.html" rel="alternate" title="Update VMware tools before reboot" />
        <author>
            <name>Olivier Hill</name>
            <email>nospam@example.com</email>
        </author>
    
        <published>2010-05-14T16:54:25Z</published>
        <updated>2011-03-20T14:06:37Z</updated>
        <wfw:comment>http://www.olivierhill.ca/wfwcomment.php?cid=62</wfw:comment>
    
        <slash:comments>0</slash:comments>
        <wfw:commentRss>http://www.olivierhill.ca/rss.php?version=atom1.0&amp;type=comments&amp;cid=62</wfw:commentRss>
    
            <category scheme="http://www.olivierhill.ca/categories/2-Computers" label="Computers" term="Computers" />
    
        <id>http://www.olivierhill.ca/archives/62-guid.html</id>
        <title type="html">Update VMware tools before reboot</title>
        <content type="xhtml" xml:base="http://www.olivierhill.ca/">
            <div xmlns="http://www.w3.org/1999/xhtml">
                I have searched the web and couldn't think of a simpler way to do this.<br />
<br />
When you upgrade your kernel, all modules that were installed by the VMware tools will be missing in the new <code>/lib/modules</code> directory. To reinstall those, you need to reboot first and then re-run the VMware tools. Problems arise if you need the modules prior to the next reboot (ie: if you are doing weird pvscsi on root partition for example).<br />
<br />
Out of the box, the VMware tools cannot regenerate modules and initrd for a kernel different than the running one. If you are upgrading the same distribution to a different patch level (RHEL 5 system to a bugfix kernel), chances are that the same modules will work, you just have to install them at the new location.<br />
<br />
Tricking the VMware tools software into installing some place else works very well in that case.<br />
<br />
This snippet is very RedHat specific, but could be adjusted for any distro. Main points include the uname hack, running a depmod and rebuilding initrd image.<br />
<br />
It is important to note that the tools do run depmod, but not specifying a kernel version, hence defaulting to the running kernel.<br />
<br />
<code><br />
# Get latest kernel installed<br />
VERSION="$(rpm -qa kernel | sort -r | head -n 1 | sed 's/kernel-//')"<br />
<br />
# uname hack (because VMware Tools are stupid)<br />
mv /bin/uname{,.orig} &amp;&amp;<br />
cat > /bin/uname &lt;&lt; EOF &amp;&amp;<br />
#!/bin/sh<br />
exec /bin/uname.orig "\$@" | sed 's/2.6.[^ ]*/${VERSION}/'<br />
EOF<br />
chmod 0755 /bin/uname<br />
<br />
# Launch VMware Tools install<br />
/usr/bin/vmware-config-tools.pl -d<br />
<br />
# Remove our uname hack<br />
mv /bin/uname{.orig,}<br />
<br />
# Redo what VMware missed<br />
depmod -a $VERSION<br />
mkinitrd -f /boot/initrd-$VERSION.img $VERSION<br />
</code><br />
<br />
Tested on RHEL 5.4 upgrading to a security fix kernel, works like a charm. 
            </div>
        </content>
        
    </entry>
    <entry>
        <link href="http://www.olivierhill.ca/archives/65-Its-a-GPS-Christmas.html" rel="alternate" title="It's a GPS Christmas" />
        <author>
            <name>Olivier Hill</name>
            <email>nospam@example.com</email>
        </author>
    
        <published>2010-12-26T16:57:09Z</published>
        <updated>2011-03-20T14:04:59Z</updated>
        <wfw:comment>http://www.olivierhill.ca/wfwcomment.php?cid=65</wfw:comment>
    
        <slash:comments>1</slash:comments>
        <wfw:commentRss>http://www.olivierhill.ca/rss.php?version=atom1.0&amp;type=comments&amp;cid=65</wfw:commentRss>
    
            <category scheme="http://www.olivierhill.ca/categories/5-Internet" label="Internet" term="Internet" />
    
        <id>http://www.olivierhill.ca/archives/65-guid.html</id>
        <title type="html">It's a GPS Christmas</title>
        <content type="xhtml" xml:base="http://www.olivierhill.ca/">
            <div xmlns="http://www.w3.org/1999/xhtml">
                <script src="http://maps.google.com/maps?file=api&amp;v=2&amp;sensor=false&amp;key=ABQIAAAA8lqqRGbN2NbM8rdtD0KUlRSIxyaL1R8Os519WJbE2gv7MMZ0XRR36frOVBfJMPjYcc-HNHSdAAw8kA" type="text/javascript">
  </script>
<script type="text/javascript">
function initialize65() {
      if (GBrowserIsCompatible()) {
        var map65 = new GMap2(document.getElementById("map_canvas65"));

var sw = new GLatLng(45.53562287, -74.3734210);
var ne = new GLatLng(46.03050200, -73.6397400);
var bounds = new GLatLngBounds(sw, ne);
var mapZoomLevel = map65.getBoundsZoomLevel(bounds);
var mapCenter = new GLatLng(45.783062435, -74.0065805)
map65.addControl(new GSmallMapControl());
map65.setCenter(mapCenter, mapZoomLevel);

var polyline1_1 = new GPolyline.fromEncoded({
  color: "#0000ff",
  weight: 4,
  opacity: 0.8,
  points: "qwuwGp`}dMNEf@E`@m@`@gAb@_Bp@_BpCqEl@uBt@cDHQr@y@j@[nAwAnCoDnAmAZSfAiBlA_DjAmBf@q@pA{CbBwEn@_C|@uD|DcMTsAfAuEfAyCxAkC|BiCnAoAp@mAn@kBzBGt@GhA]fBcBPU`BeCp@eBp@_D|B_M`@mBpBwI~@sCNUnAuArDoCvAkAV_@|DqIzAyDlAoDLWz@iA~AiBd@m@\\kATaAnEwTr@aDnAyBpD{EdCwDhAkAnEmBdKuHxDqD`FaGhAkAnA_AtAo@xA]nFi@lCc@pDgAtP{I~@a@`C}@jBc@bGeAdK_BtC_@tCFzA^vC|AfEpCfC`AnCP~BY`CgApBsB|AsC`AgDd@sDJ_E?sNFyKTqEp@uDdAsCtAwBdAcAjAs@rAa@xBUxADxAZvAj@nDbBx@\\xAV`BA~@OxBoAjCkDlBoC|AwAhAi@lBi@`Bo@zAeAv@y@jAgBj@qAv@kCZcBPeBH{C]eUAqBLgDl@oEhAgEhBsD~IaNxHuLxAcCbA_Cl@iC`@wDByEYkGg@}IQwECaHFkLG_G[}FuBgRI}DZiFr@uDlAqF`B_JdAuJx@mKdAiG|AqFrBgEfCmDrDaDrQ}MfEmCnCk@nB@tCj@hB|@tEjCrK~FzKxFr@VHAHINg@nFg_@zAwI~BsI`KsX|A}DbB_F~@gFb@mGE{GsAuWAmHh@gHxA{IxNsy@f@yFt@_Zl@yJxAuLdBoJ|FsVvH{ZlE{QlCoK|AeEfDqGjUo`@lFiJdEkItA{EjAoHvAyKhAiJb@aGAaFIuBm@gHaAeFsBeGcJaR}AgD_AyCk@{DOyDIiGe@eFcAyFyDiRiAuGaD{Oe@mB]_COqBEkCR}En@sE~BwHp@aCr@kBvB_HfAqFj@cFRaGXcFjAmHxF{[dF}X~AkJt@kHVwHE}Hu@cXGqKZcI|Cgd@vA_QlA}HnBkH~@mCtHmRbPya@|Nw_@dAiCnBaE~BoD|DiErEyC`FiBhF{@bJc@~I}@zGmBlBy@tEkCbG_EzFyDxK{Hfb@gY|HiF|FsDjIiE``Awe@`I{EvFgFf\\_[tCkCxC_C~CmB|EoB~G}A`QgD~EsBfG_E~I{HjPgNnKcJjF_GdGwInSo]rIyMpKuNjl@uu@`CkDzC_GfHoOhDkFtCiCdD_BjDw@pDQjQGbWDjL?bIG`j@?fUJvt@@zKKfFy@`FgBrEyCrCmCrD_F|HwNxQk\\|n@shAbJuPnEcKp[gy@pFeMlFyJ|Vwc@vEaHdEyDxEeCdFsAjFi@nFF~IbA~In@jFSdFeAzEyBlEiDvDsElEqHdNeVpJgPrOeXhDmGle@wy@lHsLzQs[lFmJpD_H|Rm]xIiOnFsIpGgLzFsK~OaYnGmKh_@}j@tGkK|H}M~G_LrXmf@~LqUpBqDpp@ajAx\\oj@fIgN~CyFdDqFrNoUhHyKjE{GhLyRtKgQ|Q{Z|KuQ|BkD`DsEVWbCeA`IyAfCeAxBmATIxBDxAjAnBjCjH`MhDdGdC~C~BfBbDrA`Ex@lFv@rGzApFhB`FtBjErBzOrI~OdJ|IzFpGlFzLvK~AhB|ArDf@dD\\|CjAxCtAp@~AGvAkAn@qArNsa@xDuKzEaMxEeJrEuGpIqJrVsXnJaLhKoMfb@ie@pMkN`KiKld@gg@rLyM~K}LhFgFbHgHrRiSzCmCxAo@|BD|GjCpBvBTh@|JzX`HtSdEnLhVts@tCxJbBbItAlJr@~I`@pJV~K@lIH|GZfL\\pHp@rGnAhGvBtGdChFzAjClBfCNx@Sj@}@h@e@`@Gt@hDlKvBlGj@`EzBzRlAnJnA|Gn@xB^fAJRd@Ql@o@MmAY{@I}ATg@f@q@|@y@nBU@}@MwAW{@m@g@m@]e@@i@NaAn@aA^Mv@ZlB`@hBl@z@DtARtAPf@E`AIHc@T_@IO_@mB_JkAwIoDk[oAgEeCaHy@gCg@gBAMNo@`AeAZSHMB}@We@yAsBsB_DoBaEyBsGiA_Gs@}G_@cJi@qPCyN_@cM_AcOkAwJaByImCoJm\\iaAc@qAYm@oDiLyAmFgHeXeB{HkI_b@g`Ai|EkHi^qCkJeDwIeF_KaZwi@uRo^ad@oy@sMqVsEuKsDkLqA}EcGyVySo|@iCuJ_D{I}EgKmEgHcFmGmUyU{EuGoFsJiAeCgBkE}DiLmYc{@q]_dAaCyG]mAqHcU}EmNsCgGiEoH}EuGoFsF{CwB}gAar@im@s_@gQoKkB{@aFwAmMeCsKgBkDSy@AiQXcJb@aHpAyGdCqG~CqIpCmItBuKdCkHrAoFh@oHBqr@}@eSIyMCy@@{Kj@}iArIgZrBeEEo@IkCu@mDoBuCqC_CkD_B}Dw@_EKkB@_@d@kBPQbAGx@t@~BvFpB|FNt@Dj@E`@GLIHwFlBg@JcAYQq@aAyCg@q@KWe@qBq@sEiA_FgCiIeEeMe@cB]kBQwBOgDUo@Y?yAZMbAt@bP@~@",
  levels: "P?BC?@BB??D@A@A@CAA?E?B?AA?CAF?CAD?AD?AEA@?BAE?AA@DA??C??E?@?EA@IBBDA?AEAB@BDA?G@A?EAD@AECBHCBEAB?BEBAHACAEAC??CBAFC@AC@?C@BI@B@DA?CAFBC@?CAGAC?@C@@DABFB?@B@BDBIBCDBGBD??@BA@J@@EB?@CFBCCBF?EBADAG@?BAFA?AEB@?HBC@EBC?BFB@BD?@@?@D@BHB?@@BDA@D@??BFABAEACBGAB?@C@BLCBEBADAF@A@@A?E?BE??CAFC@DBH??BFBADA@D@CBICBE@?@@A@AFBDBJB@@@EAAE@BHBDBFBADBFCBG?@?A@A@A?@A@B@@DAAD@BA?BDA??BA?B@?@B@?KBC@?CGAC?CBFB@ACAE@BAF@AEB@BEBJBC?ADBG?B@AC@A??E?@ADBKCAE@@BAGABD@A@ACAFBDB@EBC?BE?D@?CB@?GAD@ABD@CMA@C?E@B@FBBABA@DC?BG@C@D@@?E@B??BE??ADBFACAADCAGB??CA?F@ACBHBC??@FBD?@CAFBDBDBAF@A?@@?@DAKCBE?@FAC@I?BAECABD?CAFAA??FA@BH@BDBFBAE@CAGBCA@F@?CCBF?A?B@@C??DA@AG@CD?P",
  zoomFactor: 2, 
  numLevels: 18
});
map65.addOverlay(polyline1_1);

var polyline1_2 = new GPolyline.fromEncoded({
  color: "#0000ff",
  weight: 4,
  opacity: 0.8,
  points: "}`_vGnmn`MDfBE~@W^i@Bo@IMIq@q@WNgAzAENLp@v@zATdBCnGY~AiA|Bw@D{@y@g@BSd@y@pCgA~BsBhC[dANdAx@fDfAlGj@vDKTiGzBqFdCuDzC_C|CkJ`PeE~GgB~C}A`CaDpFeBbDqCzEwDhGeCrEu@lA_@lACp@HxCPrEl@hHrAbOnAdPbIjkAxAlKxB|JtCdJde@xhArHdRhEjKjFbMxGrOhi@zpAlFxM`KhVbJ~Slr@lbBfGjMxDrEpEzCbF`BjFf@lI^`c@zBpBLfDZvEvAlElCnD`EvC|EtK`Yx|@h{BrDdKzJn]hC|FfDbFbE`ElEvCz]~QjF|CpDjCdDtCdEpEbJ|KlLrNdLpNna@hg@|BpCnAhBb@p@t@rArAxCh@|AjA`EbAxE`@lCZxCxCr]^nFxAlWHjBF|GYdDkAvFg@bEq@lIs@`D{AvDgCtE_CbEoFvIiJzOeMhSoJdOaGtJe\\ri@aSb]oa@bq@wF|I}F|J_T`_@mUpa@}MhVgf@|z@eLtQ{JjOwJzNmJnOyRb]iFhJcFfJsSp^kJhP{E`IyDfGcYvf@iGdLaZrh@_MnSic@rv@}FpKoHxLoDxDaBlAsExByErA_D`@oEB}Hm@kGo@mGMaF^cFlAaFrBqEfDwDtEkEtH_NlVwLtT{EtK{JdXsDlJ{LlZ{DvIkMrUgP`YuJdQiZbi@oKpRiBzC}DdFgDfCcCxAgCdAyCl@cD^cFHiWLiKCaJKmJHiS?qMEiJMqLCiHR{ZBuJCwIBsNNmEv@cErBoDhDqAhBe@z@yFdMkGjM_CdDyj@ps@kK`NsH~KyS~]uFxIiFhGyElEw_@b\\mHpFsExBmGbBeN~BcG`ByFnC{DtCwI|HgIxHeL|KcGrF{E~CiJvE}NbHsGlDak@jYgG~DkShNut@zf@iGdDgF`BcFv@{Nr@aDXgDv@oDtAqBnAk@`@eCzByBjCeBjCgApBmBpEaHpQwNb_@kNx]_DxIsBdIeAxGu@~ImEdp@Y|IJ`Jr@fX?bIa@hIcAzHoRneAiBzIu@`C]x@gAfBkAxAsAlAo@\\}An@cB^q@FeBAs@GcBYq@Sq@Wo@]_e@cYuCwA{Cw@{CS_DJaDl@sEvBmEnDaBnB_BrB{AxBsAbCuFvKoA|BoArBsAbBoChB}Cr@gDDu@KqPcDyrAaWwCk@wDgA}BsAuCcD_BcDeAaEm@yEgA_[{@oGmAsDuCeEoCyBsEuCyCcCeCiDiBoEaEqLoByDe@u@aEmCs@WgDs@aF_AiFWmFViFlA}i@tQqEvB{DfDi@p@{C~EaCdGkAxEiA|HuE~`@mAzHq@pCoAnEuAdE{I|VcBfDsBpC_CtB}DnB_GxAmEnAcEtBuD~Ck@l@_DrEoHpMcD|E_FfFiCpB_HbEeCvByBlCiBdDsBzFcAhE_@nCUvCOlFFtFZpFtA`SNtFIrFa@bFy@tEoAbEaAxBsBfDwA~AoJbJuKpKiD`EwCxEiBtDcB~DuAhEyBjJsAbKm@hIMjDAhGJbGXdGh@hGfHho@p@lIJxFOvF[|CwAhHaBhEwBtDqCxC}E~CaMhHyEvCqEfDiHzGmIfJ{FfFwErCeFlBg^pIeF|AgDvAkGxDgEvDsFlFoE~CaDnAsB^sBPkFKoD[qDOkDVeD`AkEnCmD`EmCnFqAlEgAlHYnFApAJrFl@bIp@fKFxCEpHUtEu@lGcAfFiClLi@zCgCnSa@xBg@nB_BdFVb@PL~@fAt@nBH^TbBDnDQzFHjDVdEH~BEtBa@xAmAxBKX_@tAiBtTWxFg@tEg@`Do@|BILqAtB{AjCwAnDcAbDu@lCWjBMhBGtCBtAX~EFvABxA@tF@j@h@LxBYtJ_AbG]|Pa@jGg@tC{@rD}ApE_BvD_@xNB~FPhEv@lRpExBz@~AlBz@`DPfCElM@jBT`FbApGvE|TjAtElAlCfBxBxO|LhCjBdAj@nC`AvEnA~ElAtCjAxCrBtDpChC`AjARpAHnLVhAFdAN~@^nBpBj@jAl@tCRxC?t@SpJTbEv@|D`GtPhAzE\\hEDfHRhCx@lDxA~ClBjEhD~MrAtDfA|B`ChE`AhCjAhD|AxBx@f@tHjDXJxBr@~@E`DmAhAItBn@f@nAF^RxEI`F[bLWnH_@nENpBx@zARRz@p@|@fBDbFZ|N^bG?jAc@pCiAjE]fBw@~Eq@nCkBbGiBzCcAzC]dDEr@NhBd@j@HDPn@cAzBm@v@{AtAeB|Be@x@kAfCaAbDo@jDq@rCiBdFiAzDcAvEg@zAmAvCgA`CeBxBmAlCaAfCq@r@u@h@eAlA}@xA{@jAoAnA{@h@w@hAi@bDa@zAiCjEm@pAm@vBaA~BM@c@K",
  levels: "P@BE@B?D@@EAADBEDBBD@ABBF@A?GAADBF??@@??@B?AH@@B??BDBJB@?C?@@@A@BHCBEA?A?FBCHC@DBBHBDA@C@FAA??B?A?HA?C@E?B?F@DAABALAB??C??AAA@D?@?@D@?AD@?@A@?B@@AA@AHADCAFB@CBFBDBH?@EB@AAE@A??CAJBAD@F?B@A@A@@BA??EDBIAD?@D@?DB@FACHBDBCBFAB?@EB@A@E??FBDBABEA?CAJ@AC?@CBGABEC@CBFB@EA@C@K@B@DA@F?@BAECAHBCE?@C??B@ECBG@?B@IBDBEBCBGCA@CEAB?FC@@HBEBFBC@LBDABAE@ABGADB?DBF@BAECABADAH@C@DB?ADABGABD@?CAF@ADBG@C@AE@CAFACBIBD@@BDACBFBBAEC@CBF@CA@DBFCBIBBE@B?ACAFB?@BC?AF@?CA?EAB@?AFAA?DAB@E?B?AC?AK@B@?A?CBG@BAAEA@CFAEABIBDA?ADACAGBA@EA?AD?BE@AA@DBHABD?BDBBDAAEB?BAG@B?BF@A?DABDCJ?C?@AECB?AE@A@FA@A@CBBE?CB?AHB@AB?DA@A@AC@?EB@C@A@?B@AD@C@B@C@P",
  zoomFactor: 2, 
  numLevels: 18
});
map65.addOverlay(polyline1_2);

  }
}

</script>

What happens when you receive a good handheld GPS unit for Christmas and you have to travel a lot to see the family?</p>

<div align="center"><div id="map_canvas65" style="width: 450px; height: 300px"></div></div>
<script type="text/javascript">initialize65();</script>

<p>Guess what... Google is not up to date about certain streets... And guess what... OpenStreetMap is :) 
            </div>
        </content>
        
    </entry>
    <entry>
        <link href="http://www.olivierhill.ca/archives/66-Snowshoeing.html" rel="alternate" title="Snowshoeing" />
        <author>
            <name>Olivier Hill</name>
            <email>nospam@example.com</email>
        </author>
    
        <published>2011-02-13T20:31:29Z</published>
        <updated>2011-03-20T14:02:59Z</updated>
        <wfw:comment>http://www.olivierhill.ca/wfwcomment.php?cid=66</wfw:comment>
    
        <slash:comments>0</slash:comments>
        <wfw:commentRss>http://www.olivierhill.ca/rss.php?version=atom1.0&amp;type=comments&amp;cid=66</wfw:commentRss>
    
            <category scheme="http://www.olivierhill.ca/categories/1-Personal" label="Personal" term="Personal" />
    
        <id>http://www.olivierhill.ca/archives/66-guid.html</id>
        <title type="html">Snowshoeing</title>
        <content type="xhtml" xml:base="http://www.olivierhill.ca/">
            <div xmlns="http://www.w3.org/1999/xhtml">
                <script src="http://maps.google.com/maps/api/js?sensor=false&amp;libraries=geometry" type="text/javascript">
  </script>
<script type="text/javascript">
function initialize66() {
    var mapCenter = new google.maps.LatLng(45.6212635, -73.791298);
    var myOptions = {
      zoom: 14,
      center: mapCenter,
      mapTypeId: google.maps.MapTypeId.HYBRID
    };
    var map66 = new google.maps.Map(document.getElementById("map_canvas66"),
        myOptions);

var sw = new google.maps.LatLng(45.613853, -73.797394);
var ne = new google.maps.LatLng(45.628674, -73.785202);
var bounds = new google.maps.LatLngBounds(sw, ne);
//map66.fitBounds(bounds);

var polyline66_1 = google.maps.geometry.encoding.decodePath("{jluGpsjaMDODWIw@IWMEQDWPIBa@GK@i@Vy@ZOBGI[iASE[PSASWOa@MSM[GWO[USaA_@_@YKMO]QEIBKA[B[XMVOx@ITIJCTEr@Op@If@MtAKhB?ZJlB\\zBNzAC|@DNHHPJJL`Al@LPAA?@I^Bv@G`A_@nCMd@SjBSxAI`ECPEn@e@`AU|@@FOTK?_@Ky@WWEk@LSC_@Qc@MiAo@_Bw@[K_Ao@mBcAQKg@SOMg@Qu@g@_Aa@UESF[Pe@HQCYQ_A}@UIOOOGSS}@S[K{@o@SC[?a@BKAOKG?_@]a@KS?MCa@J_@GUQMWQSg@a@QSOKSFAJBREx@r@j@^t@DVBb@Db@C~@AvAJRHXTxAE|@BbASdBNpBGtD@PCFAKABHHVf@NFJ?NOh@}@LODALYN}@z@m@NEP?JCJ[LKNeANUJ[@e@EKHm@NSr@SHGBO?OIy@DaBD_@Ao@NeAPQ^?p@ZnAlAPHd@Gl@]`@Db@XHBPNVHnAt@LL`@LhCxAf@RLLfAf@PNbBx@h@P^TR@PCX@pATTDR?NQBQCYFOHQ^c@NWD_@?U?_@Gy@Ao@BuA`@cCv@{FFs@?q@BYVED?^ZdBjBPJTXd@z@f@Td@p@BJHHPITq@D[H[p@_CVs@BWz@{B`AkDNUFWLW^uAFO@YEOAQBIUYIc@Fc@H?LIb@c@FMC?EU@HHFBICkAGe@?i@jAm@XWd@WVIFI?SFQHKRI^a@TCp@WLK?E");

var path66 = new google.maps.Polyline({
    path: polyline66_1,
    strokeColor: "#FF0000",
    strokeOpacity: 0.8,
    strokeWeight: 3
  });

path66.setMap(map66);

}

</script>

It's snowing, the river is frozen, time to go snowshoeing:</p>

<div align="center"><div id="map_canvas66" style="width: 450px; height: 300px"></div></div>
<script type="text/javascript">initialize66();</script>
<p> 
            </div>
        </content>
        
    </entry>
    <entry>
        <link href="http://www.olivierhill.ca/archives/64-Dell-LCD-Display.html" rel="alternate" title="Dell LCD Display" />
        <author>
            <name>Olivier Hill</name>
            <email>nospam@example.com</email>
        </author>
    
        <published>2010-06-04T18:26:01Z</published>
        <updated>2011-03-20T14:01:20Z</updated>
        <wfw:comment>http://www.olivierhill.ca/wfwcomment.php?cid=64</wfw:comment>
    
        <slash:comments>0</slash:comments>
        <wfw:commentRss>http://www.olivierhill.ca/rss.php?version=atom1.0&amp;type=comments&amp;cid=64</wfw:commentRss>
    
            <category scheme="http://www.olivierhill.ca/categories/2-Computers" label="Computers" term="Computers" />
    
        <id>http://www.olivierhill.ca/archives/64-guid.html</id>
        <title type="html">Dell LCD Display</title>
        <content type="xhtml" xml:base="http://www.olivierhill.ca/">
            <div xmlns="http://www.w3.org/1999/xhtml">
                Dell LCD Display control from shell.

</p><pre>
#!/bin/bash

# Max length the LCD can accept. Typically 62
MAXLENGTH=62

# Read from first argument if present, else take first line of stdin
if [ $# -lt 1 ]; then
	read INPUT
	INPUT=$(echo $INPUT | tr -d [:cntrl:])
else
	INPUT=$(echo $1 | tr -d [:cntrl:])
fi

# Check if we respected the max length after removing control chars
if [ ${#INPUT} -gt $MAXLENGTH ]; then
	echo "Cannot use more than $MAXLENGTH characters"
	exit 1
fi

# Split by bytes and encode them as hex strings (0xff)
BYTES=$(echo -n $INPUT | od --width=1 -v -t x1 | grep " " |
	awk '{print $2}' | awk '{print "0x"$1}')

# Encode length of string as hex digit also
LENGTH=$(printf "0x%x" ${#INPUT})

# Go through all bytes, grouping them by chunk of 16 bytes
i=3
CMD="0x0 0x0 $LENGTH"
LINES=()
for BYTE in $BYTES; do
	# Chunk ready, append it to array and reset counters
	if [ $i -gt 16 ]; then
		LINES[${#LINES[*]}]="$CMD"
		CMD=$(printf "0x%x" ${#LINES[*]})
		i=1
	fi

	# Push byte on accumulator
	CMD="$CMD $BYTE"
	let i+=1
done

# Put last chunk into array
LINES[${#LINES[*]}]="$CMD"

# Tell BMC text to print on LCD, chunk by chunk
for i in "${LINES[@]}"; do
	/usr/bin/ipmitool raw 0x6 0x58 0xc1 $i > /dev/null
done

# Tell BMC to output our User String on LCD
/usr/bin/ipmitool raw 0x6 0x58 0xc2 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 > /dev/null

</pre><p> 
            </div>
        </content>
        
    </entry>
    <entry>
        <link href="http://www.olivierhill.ca/archives/68-BART-cushioned-seats.html" rel="alternate" title="BART cushioned seats" />
        <author>
            <name>Olivier Hill</name>
            <email>nospam@example.com</email>
        </author>
    
        <published>2011-03-19T18:39:17Z</published>
        <updated>2011-03-19T18:39:17Z</updated>
        <wfw:comment>http://www.olivierhill.ca/wfwcomment.php?cid=68</wfw:comment>
    
        <slash:comments>0</slash:comments>
        <wfw:commentRss>http://www.olivierhill.ca/rss.php?version=atom1.0&amp;type=comments&amp;cid=68</wfw:commentRss>
    
            <category scheme="http://www.olivierhill.ca/categories/8-Photography" label="Photography" term="Photography" />
    
        <id>http://www.olivierhill.ca/archives/68-guid.html</id>
        <title type="html">BART cushioned seats</title>
        <content type="xhtml" xml:base="http://www.olivierhill.ca/">
            <div xmlns="http://www.w3.org/1999/xhtml">
                Interesting use of one of my Flickr photo in a quite disgusting article: <a href="http://secondavenuesagas.com/2011/03/08/in-praise-of-hard-plastic-seats/">2nd Avenue Sagas: In praise of hard plastic seats</a>.<br />
<br />
<a href="http://www.flickr.com/photos/ohill/4792950499/" title="BART seats by Olivier Hill, on Flickr"><img src="http://farm5.static.flickr.com/4100/4792950499_82b32d60c1.jpg" width="500" height="333" alt="BART seats" /></a><br />
<br />
You should go read the article, as it points out why plastic seats are indeed the way to go in subways. I'm wondering if the seats in the AMT trains suffer from the same contamination. 
            </div>
        </content>
        
    </entry>

</feed>
