<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>RemVee.blog</title>
    <link>http://blog.remvee.net/</link>
    <description>RemVee.blog do { |item| item.mangle }</description>
    <item>
      <title>Upload Progress met Rails en Mongrel</title>
      <link>http://blog.remvee.net/2008/10/14/Upload_Progress_met_Rails_en_Mongrel</link>
      <guid>http://blog.remvee.net/2008/10/14/Upload_Progress_met_Rails_en_Mongrel</guid>
      <description>&lt;p&gt;&lt;img src="http://blog.remvee.net/attachment/progress-screenshot/progress.png" class="right" alt="" /&gt; Upload progress is lastig; aan de server kant bijhouden wat de voortgang is en gerommel met JavaScript om dat dan weer aan de gebruiker te kunnen tonen.  Eigenlijk zou een browser dit zelf voor je moeten doen &amp;#8212; bij een download kan ik toch ook zien hoe ver ik ben &amp;#8212; maar helaas is de realiteit anders.  Gebruikers van je applicaties opschepen met een &amp;#8220;hangende&amp;#8221; browsers als zij een paar fototjes uploaden is natuurlijk geen optie.&lt;/p&gt;
&lt;p&gt;Gelukkig ben ik niet de enige met dit probleem en kan ik, omdat ik mijn applicaties met &lt;a href="http://mongrel.rubyforge.org/"&gt;Mongrel&lt;/a&gt; deploy, gebruik maken van de &lt;a href="http://mongrel.rubyforge.org/wiki/UploadProgress"&gt;Mongrel Upload Progress&lt;/a&gt; plugin.  Vol enthousiasme heb ik me dan ook op deze plugin gestort maar heb na het lezen van de instructies met een vies gezicht een stapje terug genomen.&lt;/p&gt;&lt;br /&gt;&lt;a href="http://blog.remvee.net/2008/10/14/Upload_Progress_met_Rails_en_Mongrel#more" class="more"&gt;Lees verder &#8594;&lt;/a&gt;</description>
      <author>remco@remvee.net (Remco van 't Veer)</author>
      <pubDate>Tue, 14 Oct 2008 22:02:00 +0200</pubDate>
    </item>
    <item>
      <title>Laat je JavaScript zichzelf schrijven</title>
      <link>http://blog.remvee.net/2008/01/20/laat_je_javascript_zichzelf_schrijven</link>
      <guid>http://blog.remvee.net/2008/01/20/laat_je_javascript_zichzelf_schrijven</guid>
      <description>&lt;p&gt;Laatst werd me gevraagd wat mooier of beter is:&lt;/p&gt;
&lt;pre&gt;obj.getItem('Status')
obj.getItem('Status') == 'Completed'&lt;/pre&gt;
&lt;p&gt;of&lt;/p&gt;
&lt;pre&gt;obj.getStatus()
obj.isStatusCompleted()&lt;/pre&gt;
&lt;p&gt;Het laatste voorbeeld is beter omdat het minder foutgevoelig is; een tiepfoutje in het eerste geval kan heel lang blijven sluimeren terwijl in de tweede versie de foutmeldingen meteen om je oren vliegen.  Daarbij vind ik de tweede variant ook beter leesbaar.&lt;/p&gt;
&lt;p&gt;&lt;img src="http://blog.remvee.net/attachment/escher-hands/escher-hands.png" class="right" title="Drawing Hands, 1948, M.C. Escher" alt="Drawing Hands, 1948, M.C. Escher" /&gt; De degene die de vraag stelde, gaf me schoorvoetend gelijk.  Maar zou dit niet betekenen dat hij deze methoden voor alle 10 statussen uit zou moeten schrijven en is dat dan niet ook weer foutgevoelig?  Voorzichtig vroeg ik om welke taal het eigenlijk ging; &amp;#8220;JavaScript&amp;#8221;.  Maar natuurlijk hoef je dat niet helemaal zelf uit te schrijven!  JavaScript is, net als Ruby, Lisp en vele andere, een moderne taal en stelt je in staat te meta-programmeren, ofwel programma&amp;#8217;s zichzelf te laten schrijven.&lt;/p&gt;
&lt;p&gt;Dus geen gedonder met een preprocessor en/of rare annotaties meteen aan de slag met de programmeertaal waar je toch al mee bezig was!&lt;/p&gt;&lt;br /&gt;&lt;a href="http://blog.remvee.net/2008/01/20/laat_je_javascript_zichzelf_schrijven#more" class="more"&gt;Lees verder &#8594;&lt;/a&gt;</description>
      <author>remco@remvee.net (Remco van 't Veer)</author>
      <pubDate>Sun, 20 Jan 2008 03:46:00 +0100</pubDate>
    </item>
    <item>
      <title>AOP met JavaScript</title>
      <link>http://blog.remvee.net/2007/04/18/AOP_met_JavaScript</link>
      <guid>http://blog.remvee.net/2007/04/18/AOP_met_JavaScript</guid>
      <description>&lt;p&gt;Een collega en ik werken hard aan een web applicatie welke voor 90% uit client-side JavaScript bestaat.  In een dagelijkse &amp;#8220;kijken of het nog op IE draait&amp;#8221;-sessie begon ik weer wild met debug statements te smijten.  In het te testen geval ging er iets mis in een event handler en was de eventueel foutmelding nergens te bekennen.  Dus begin ik vlijtig alle functies die in aanmerking komen te voor zien van een alert (of wat dan ook) om te zien of dat punt bereikt wordt.&lt;/p&gt;
&lt;p&gt;Ugh, dit heb ik al zo vaak gedaan..  Dit moet makkelijker kunnen!  Kan ik niet een soort &lt;span class="caps"&gt;AOP&lt;/span&gt; dingen doen?&lt;/p&gt;&lt;br /&gt;&lt;a href="http://blog.remvee.net/2007/04/18/AOP_met_JavaScript#more" class="more"&gt;Lees verder &#8594;&lt;/a&gt;</description>
      <author>remco@remvee.net (Remco van 't Veer)</author>
      <pubDate>Wed, 18 Apr 2007 14:36:00 +0200</pubDate>
    </item>
    <item>
      <title>Phobos web framework</title>
      <link>http://blog.remvee.net/2007/01/15/Phobos_web_framework</link>
      <guid>http://blog.remvee.net/2007/01/15/Phobos_web_framework</guid>
      <description>&lt;p&gt;Voor de blog bij &lt;del&gt;&lt;a href="http://www.finalist.com/"&gt;m&amp;#8217;n werkgever&lt;/a&gt;&lt;/del&gt; heb ik een &lt;a href="http://blog.finalist.com/2007/01/15/phobos-lichtgewicht-en-scripting-vriendelijk/"&gt;artikel over Phobos&lt;/a&gt;, het JavaScript web framework op het Java platform, geschreven.&lt;/p&gt;</description>
      <author>remco@remvee.net (Remco van 't Veer)</author>
      <pubDate>Mon, 15 Jan 2007 10:33:00 +0100</pubDate>
    </item>
    <item>
      <title>slideshow met div's dmv scriptaculous</title>
      <link>http://blog.remvee.net/2006/01/23/slideshow_met_div_s_dmv_scriptaculous</link>
      <guid>http://blog.remvee.net/2006/01/23/slideshow_met_div_s_dmv_scriptaculous</guid>
      <description>&lt;div lang="en"&gt;
&lt;p&gt;&lt;strong&gt;Update:&lt;/strong&gt; I&amp;#8217;ve recently written a JQuery version of this slideshow.  It operates in roughly the same way and is a lot simpler.  You can find it on &lt;a href="https://gist.github.com/1035525"&gt;github&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Ge&amp;iuml;nspireerd door &lt;a href="http://www.bigbold.com/snippets/posts/show/1068"&gt;een post&lt;/a&gt; bij &lt;a href="http://www.bigbold.com/snippets/"&gt;code snippets&lt;/a&gt; heb ik met een kopje koffie zitten klungelen met javascript.  Ik wilde graag een &lt;a bbr title="Object Oriented"&gt;OO&lt;/abbr&gt; versie en daarmee dus de mogelijkheid om meerdere slideshows gemakkelijk op een pagina te kunnen plaatsen.  En, in tegenstelling tot de inspiratie bron wilde ik dat de foto&amp;#8217;s inelkaar over zouden gaan.  Het resultaat:&lt;/p&gt;
  &lt;style type="text/css"&gt;
    div.slideshow {
      position: relative;
      width: 240px;
      height: 180px;
    }
    .slideshow div {
      position: absolute;
      top: 0;
      left: 0;
    }
  &lt;/style&gt;
 
  &lt;div class="slideshow" id="slideshow"&gt;
    &lt;div class="slide"&gt;
      &lt;img style="margin:0" src="http://static.flickr.com/1/1142469_a5afbfe96e_m.jpg"/&gt;
    &lt;/div&gt;
    &lt;div class="slide"&gt;
      &lt;img style="margin:0" src="http://static.flickr.com/1/1142465_e24a573b8b_m.jpg"/&gt;
    &lt;/div&gt;
    &lt;div class="slide"&gt;
      &lt;img style="margin:0" src="http://static.flickr.com/1/479685_0e93e35553_m.jpg"/&gt;
    &lt;/div&gt;
  &lt;/div&gt;

  &lt;script type="text/javascript" src="/javascripts/prototype.js"&gt;&lt;/script&gt;
  &lt;script type="text/javascript" src="/javascripts/effects.js"&gt;&lt;/script&gt;
  &lt;script type="text/javascript" src="/attachment/slideshow/slideshow.js"&gt;&lt;/script&gt;
  &lt;script type="text/javascript"&gt;new Slideshow('slideshow', 3000);&lt;/script&gt;
&lt;/script&gt;
&lt;p&gt;Maar hoe werkt het?&lt;/p&gt;&lt;br /&gt;&lt;a href="http://blog.remvee.net/2006/01/23/slideshow_met_div_s_dmv_scriptaculous#more" class="more"&gt;Lees verder &#8594;&lt;/a&gt;</description>
      <author>remco@remvee.net (Remco van 't Veer)</author>
      <pubDate>Mon, 23 Jan 2006 01:03:00 +0100</pubDate>
    </item>
    <item>
      <title>tooltips voor accesskey's</title>
      <link>http://blog.remvee.net/2005/12/02/tooltips_voor_accesskey_s</link>
      <guid>http://blog.remvee.net/2005/12/02/tooltips_voor_accesskey_s</guid>
      <description>&lt;p&gt;De &lt;a href="http://www.w3.org/TR/REC-html40/interact/forms.html#adef-accesskey"&gt;accesskey eigenschap in &lt;span class="caps"&gt;HTML&lt;/span&gt;&lt;/a&gt; kan de gebruikers vriendelijkheid van een web-applicatie enorm verbeteren.  Het probleem is alleen dat je in de meeste browsers niet kan zien dat er sneltoest beschikbaar is voor een element.  Een elegante oplossing hiervoor is een stukje CSS2 te gebruiken zoals &lt;code&gt;a:after{content:" [" attr(accesskey) "]"}&lt;/code&gt;.  Helaas wordt deze constructie maar weinig ondersteund door browsers.&lt;/p&gt;
&lt;p&gt;In een verloren uurtje heb ik een alternatieve oplossing gemaakt gebaseerd op JavaScript.  Het onderstaande script doet twee dingen met een element met &lt;code&gt;accesskey&lt;/code&gt;.  Het voegt een &lt;code&gt;title&lt;/code&gt; toe (tooltip) met daarin de toets combinatie.  En, in het geval het element inline tekst bevat, wordt hier het eerste karakter opgezocht dat gelijk is aan de &lt;code&gt;accesskey&lt;/code&gt; en deze omsloten door een &lt;code&gt;span&lt;/code&gt; tag met als &lt;code&gt;class&lt;/code&gt; &lt;code&gt;shortcut&lt;/code&gt; zodat dat karakter te stylen valt.&lt;/p&gt;&lt;br /&gt;&lt;a href="http://blog.remvee.net/2005/12/02/tooltips_voor_accesskey_s#more" class="more"&gt;Lees verder &#8594;&lt;/a&gt;</description>
      <author>remco@remvee.net (Remco van 't Veer)</author>
      <pubDate>Fri, 02 Dec 2005 02:42:00 +0100</pubDate>
    </item>
  </channel>
</rss>

