<?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>Emacs setup voor Ruby en Rails</title>
      <link>http://blog.remvee.net/2008/11/24/Emacs_setup_voor_Ruby_en_Rails</link>
      <guid>http://blog.remvee.net/2008/11/24/Emacs_setup_voor_Ruby_en_Rails</guid>
      <description>&lt;p&gt;Gisteren in de kroeg heb ik &lt;a href="http://sam.aaron.name/"&gt;Sam&lt;/a&gt; z&amp;#8217;n interesse in &lt;a href="http://www.gnu.org/software/emacs/"&gt;Emacs&lt;/a&gt; weer wat aangewakkerd.  Hij is een van de vele die vanuit het &lt;a href="http://macromates.com/"&gt;TextMate&lt;/a&gt; kamp opzoek zijn naar een krachtigere ontwikkelomgeving.  Ik zelf ben een paar maanden geleden van TextMate, via &lt;a href="http://www.vim.org/"&gt;Vim&lt;/a&gt;, bij Emacs beland.  Het is even wennen en het kost wat tijd om je nieuwe omgeving naar je hand te zetten, maar eenmaal ingericht wil je niet anders meer, ik in ieder geval niet.&lt;/p&gt;
&lt;p&gt;Voor Ruby en Rails ontwikkeling heb ik de volgende modules ge&amp;iuml;nstalleerd:&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;&lt;a href="http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/misc/"&gt;ruby-mode&lt;/a&gt;, actief onderhouden door het Ruby core team.&lt;/li&gt;
	&lt;li&gt;&lt;a href="http://github.com/remvee/emacs-rails/"&gt;emacs-rails&lt;/a&gt;, deze &amp;#8220;minor-mode&amp;#8221; heeft goede navigatie features, maakt het gemakkelijk je tests te draaien, de console op te starten, server etc.&lt;/li&gt;
	&lt;li&gt;&lt;a href="http://github.com/joodie/iswitch-menu/"&gt;iswitch-menu&lt;/a&gt;, een goed alternatief voor het popup of tekst menu dat emacs-rails aanbiedt voor navigatie.  Een aanrader!&lt;/li&gt;
	&lt;li&gt;&lt;a href="http://github.com/eschulte/rhtml/"&gt;rhtml-mode&lt;/a&gt; erg goed voor het bewerken van &lt;span class="caps"&gt;HTML&lt;/span&gt;-&lt;span class="caps"&gt;ERB&lt;/span&gt; templates.&lt;/li&gt;
	&lt;li&gt;&lt;a href="http://yaml-mode.clouder.jp/"&gt;yaml-mode&lt;/a&gt; prima voor het schrijven van &lt;span class="caps"&gt;YAML&lt;/span&gt; files.&lt;/li&gt;
	&lt;li&gt;&lt;a href="http://git.kernel.org/?p=git/git.git;a=tree;hb=HEAD;f=contrib/emacs"&gt;git&lt;/a&gt;, de standaard ondersteuning welke meegeleverd wordt met &lt;a href="http://git.or.cz/"&gt;git&lt;/a&gt; zelf.&lt;/li&gt;
	&lt;li&gt;&lt;a href="http://code.google.com/p/js2-mode/"&gt;js2-mode&lt;/a&gt;, hiermee heb ik een haat-liefde verhouding.&lt;/li&gt;
	&lt;li&gt;&lt;a href="http://github.com/nex3/haml/tree/master/extra"&gt;haml-mode&lt;/a&gt; lijkt goed te werken maar heb ik nog niet veel gebruikt.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;De beste bron voor meer informatie over Emacs en bijbehoren, buiten de bijgesloten documentatie natuurlijk, is &lt;a href="http://www.emacswiki.org/"&gt;EmacsWiki&lt;/a&gt;.  Snuffelen in de configuratie van anderen kan ook; op github zijn een paar &lt;a href="http://github.com/search?q=dot+emacs"&gt;dot-emacs&lt;/a&gt; repositories te vinden waar je van af kunt kijken.&lt;/p&gt;
&lt;p&gt;Dus stroop je mouwen op en plak eigen omgeving in elkaar met een paar druppeltjes Lisp!&lt;/p&gt;</description>
      <author>remco@remvee.net (Remco van 't Veer)</author>
      <pubDate>Mon, 24 Nov 2008 23:26:00 +0100</pubDate>
    </item>
    <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>Plugins naar Github</title>
      <link>http://blog.remvee.net/2008/09/03/Plugins_naar_Github</link>
      <guid>http://blog.remvee.net/2008/09/03/Plugins_naar_Github</guid>
      <description>&lt;p&gt;In blinde opruimwoede heb ik m&amp;#8217;n huis plugins op &lt;a href="http://github.com/"&gt;GitHub&lt;/a&gt; gezet.&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;&lt;a href="http://github.com/remvee/active_form/tree/master"&gt;ActiveForm&lt;/a&gt;; zie ook &lt;a href="http://blog.remvee.net/category/active_form"&gt;active_form&lt;/a&gt;&lt;br /&gt;
  &lt;code&gt;ruby script/plugin install git://github.com/remvee/active_form.git&lt;/code&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href="http://github.com/remvee/dutchify/tree/master"&gt;Dutchify&lt;/a&gt;; zie ook &lt;a href="http://blog.remvee.net/category/dutchify"&gt;dutchify&lt;/a&gt;&lt;br /&gt;
  &lt;code&gt;ruby script/plugin install git://github.com/remvee/dutchify.git&lt;/code&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href="http://github.com/remvee/labelify/tree/master"&gt;Labelify&lt;/a&gt;; Yet Another Form Builder&lt;br /&gt;
  &lt;code&gt;ruby script/plugin install git://github.com/remvee/labelify.git&lt;/code&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href="http://github.com/remvee/nullable_booleans/tree/master"&gt;NullableBooleans&lt;/a&gt;; boolean attributen gemakkelijker op &lt;code&gt;nil&lt;/code&gt; zetten&lt;br /&gt;
  &lt;code&gt;ruby script/plugin install git://github.com/remvee/nullable_booleans.git&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;</description>
      <author>remco@remvee.net (Remco van 't Veer)</author>
      <pubDate>Wed, 03 Sep 2008 13:13:00 +0200</pubDate>
    </item>
    <item>
      <title>Registratie balie RubyEnRails2008 geopend!</title>
      <link>http://blog.remvee.net/2008/05/06/Registratie_balie_RubyEnRails2008_geopend</link>
      <guid>http://blog.remvee.net/2008/05/06/Registratie_balie_RubyEnRails2008_geopend</guid>
      <description>&lt;p&gt;&lt;a href="http://2008.rubyenrails.nl/"&gt;Meld je snel aan!&lt;/a&gt;&lt;/p&gt;</description>
      <author>remco@remvee.net (Remco van 't Veer)</author>
      <pubDate>Tue, 06 May 2008 11:31:00 +0200</pubDate>
    </item>
    <item>
      <title>Safe data migrations</title>
      <link>http://blog.remvee.net/2008/04/09/Safe_data_migrations</link>
      <guid>http://blog.remvee.net/2008/04/09/Safe_data_migrations</guid>
      <description>&lt;div style="font-size: 5pt; line-height: 7pt; margin-top: 12pt"&gt;
&lt;p&gt;Something ago I &lt;a href="http://blog.rubyenrails.nl/articles/2007/06/22/migraties-en-data"&gt;wrote&lt;/a&gt; about the problems which arise when using models in your Rails migrations.  Meanwhile I developed a really simple solution to this problem and today I wrapped it up in to a plugin called &lt;del&gt;&lt;a href="http://svn.remvee.net/plugins/safe_data_migrations/"&gt;SafeDataMigrations&lt;/a&gt;&lt;/del&gt;.&lt;/p&gt;
&lt;p&gt;How to use it?  Install it in your Rails application:&lt;/p&gt;
&lt;pre&gt;ruby script/plugin install &lt;strike&gt;http://svn.remvee.net/plugins/safe_data_migrations&lt;/strike&gt;&lt;/pre&gt;
&lt;p&gt;and apply it in your migration:&lt;/p&gt;
&lt;pre&gt;class DowncaseUserNames &amp;lt; ActiveRecord::Migration
  models :user
  
  def self.up
    User.find(:all).each do |user|
      user.update_attributes(:names, user.name.downcase)
    end
  end&lt;/pre&gt;
&lt;p&gt;Look at the &lt;del&gt;&lt;a href="http://svn.remvee.net/plugins/safe_data_migrations/README"&gt;&lt;span class="caps"&gt;README&lt;/span&gt;&lt;/a&gt;&lt;/del&gt; file for a more elaborate example.&lt;/p&gt;
&lt;p&gt;So how does it work?  It simply undefines the models your referring to and redefines an empty ActiveRecord class;&lt;/p&gt;
&lt;pre&gt;Object.send :remove_const, :User rescue nil
class User &amp;lt; ActiveRecord::Base; end&lt;/pre&gt;
&lt;p&gt;Now you are sure to have a &lt;code&gt;User&lt;/code&gt; model available in your migration without any validations which may make data manipulations impossible.  The undefining of an already available model also ensures you don&amp;#8217;t need to use &lt;code&gt;ActiveRecord::Base.reset_column_information&lt;/code&gt; before updating new fields, unless you use your model before altering the table of course.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Update:&lt;/strong&gt; As &lt;a href="http://coderrr.wordpress.com"&gt;coderrr&lt;/a&gt; points out you don&amp;#8217;t need to clobber the global scope model class because a nested model works fine too.  I wrongly assumed introducing a new model class in side (!) a migration class would only reopen my original model class and keep validations intact.  To illustrate:&lt;/p&gt;
&lt;pre&gt;class User; def top; end; end

class Migration
  class User; def nested; end; end
  
  def self.go
    p User.instance_methods - Object.instance_methods
  end
end

Migration.go&lt;/pre&gt;
&lt;p&gt;yields &lt;code&gt;["nested"]&lt;/code&gt; and not &lt;code&gt;["top", "nested"]&lt;/code&gt; as I suspected.  Apparently I was bitten too hard by a problem which arose when I used an original model class to even try the above.  I&amp;#8217;ll pull the plugin because it&amp;#8217;s pointless..  Bad me, thanks coderrr!&lt;/p&gt;</description>
      <author>remco@remvee.net (Remco van 't Veer)</author>
      <pubDate>Wed, 09 Apr 2008 05:02:00 +0200</pubDate>
    </item>
    <item>
      <title>amsterdam.rb</title>
      <link>http://blog.remvee.net/2008/01/17/amsterdam_rb</link>
      <guid>http://blog.remvee.net/2008/01/17/amsterdam_rb</guid>
      <description>&lt;p&gt;Op maandag 28 januari wordt de eerste &lt;a href="http://groups.google.com/group/amsterdam-rb"&gt;amsterdam.rb&lt;/a&gt; bijeenkomst georganiseerd.  Het idee is onder het genot van &lt;a href="http://www.fngtps.com/2007/12/december-20th-morning-coffee-meeting-in-amsterdam"&gt;kop koffie ontstaan&lt;/a&gt; en leek, toen de &lt;a href="http://nl.wikipedia.org/wiki/Cafe%C3%AFne"&gt;cafe&#239;ne&lt;/a&gt; eenmaal uitgewerkt was, nog steeds een goed plan.&lt;/p&gt;
&lt;p&gt;Komt allen rond 20u naar &lt;a href="http://www.debekeerdesuster.nl/"&gt;de bekeerde suster&lt;/a&gt; aan &lt;a href="http://maps.google.nl/maps?hl=en&amp;amp;safe=off&amp;amp;client=firefox-a&amp;amp;q=amsterdam+nieuwmarkt&amp;amp;ie=UTF8&amp;amp;z=16&amp;amp;iwloc=addr&amp;amp;om=0"&gt;de nieuwmarkt&lt;/a&gt; om de geboorte van amsterdam.rb te vieren!  Zegt het voort!&lt;/p&gt;</description>
      <author>remco@remvee.net (Remco van 't Veer)</author>
      <pubDate>Thu, 17 Jan 2008 10:55:00 +0100</pubDate>
    </item>
    <item>
      <title>Mongrel handlers</title>
      <link>http://blog.remvee.net/2007/12/24/Mongrel_handlers</link>
      <guid>http://blog.remvee.net/2007/12/24/Mongrel_handlers</guid>
      <description>&lt;p&gt;Voor &lt;a href="http://blog.rubyenrails.nl/"&gt;rubyenrails.nl&lt;/a&gt; heb ik een artikel geschreven over mongrel handlers: &lt;a href="http://blog.rubyenrails.nl/articles/2007/12/24/rails-mvc-aan-je-laars-lappen-met-mongrel-handlers"&gt;Rails &lt;span class="caps"&gt;MVC&lt;/span&gt; aan je laars lappen met Mongrel handlers&lt;/a&gt;.&lt;/p&gt;</description>
      <author>remco@remvee.net (Remco van 't Veer)</author>
      <pubDate>Mon, 24 Dec 2007 03:21:00 +0100</pubDate>
    </item>
    <item>
      <title>ActiveForm plugin</title>
      <link>http://blog.remvee.net/2007/09/24/ActiveForm_plugin</link>
      <guid>http://blog.remvee.net/2007/09/24/ActiveForm_plugin</guid>
      <description>&lt;p&gt;Last week at &lt;a href="http://www.railsconfeurope.com/"&gt;RailsConf Europe&lt;/a&gt; I met some people who are using my &lt;a href="http://blog.remvee.net/2006/04/26/vluchtige_ActiveRecord_objecten"&gt;ActiveForm&lt;/a&gt; code to make forms in their Rails sites.  It&amp;#8217;s about time to wrap it up as a plugin, so here it is.&lt;/p&gt;
&lt;p&gt;From the &lt;a href="http://svn.remvee.net/plugins/active_form/README"&gt;&lt;span class="caps"&gt;README&lt;/span&gt;&lt;/a&gt;:&lt;br /&gt;
&lt;blockquote&gt;&lt;/p&gt;
&lt;p&gt;This plugin provides a base class for making forms with ActiveRecord validations without having a corresponding database table.  You can use ActiveForm for:&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;making forms which don&amp;#8217;t needed storage, like simple email forms&lt;/li&gt;
	&lt;li&gt;provide extra validations on existing ActiveRecord models&lt;/li&gt;
	&lt;li&gt;make forms for composite objects&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;
&lt;p&gt;Installation:&lt;/p&gt;
&lt;pre&gt;script/plugin install http://svn.remvee.net/plugins/active_form&lt;/pre&gt;
&lt;p&gt;I know, there already is a plugin called &lt;a href="http://www.realityforge.org/svn/code/active-form/trunk/"&gt;active_form&lt;/a&gt; but I don&amp;#8217;t like it.  It doesn&amp;#8217;t provide a &amp;#8220;real&amp;#8221; AR object causing all kinds of things to not work (like &lt;code&gt;ActiveRecordHelper#form&lt;/code&gt; and &lt;code&gt;DateHelper#datetime_select&lt;/code&gt; for instance), it doesn&amp;#8217;t include any tests and my version is a lot simpler (&lt;a href="http://ruby.sadi.st/"&gt;flog&lt;/a&gt; score 20 versus 74).&lt;/p&gt;
&lt;p&gt;Why not change the name?  I like it!  If you can come up with something better, please leave a comment.&lt;/p&gt;</description>
      <author>remco@remvee.net (Remco van 't Veer)</author>
      <pubDate>Mon, 24 Sep 2007 12:49:00 +0200</pubDate>
    </item>
    <item>
      <title>dutchify update voor Ruby 1.8.6</title>
      <link>http://blog.remvee.net/2007/04/09/dutchify_update_voor_Ruby_1_8_6</link>
      <guid>http://blog.remvee.net/2007/04/09/dutchify_update_voor_Ruby_1_8_6</guid>
      <description>&lt;p&gt;In &lt;a href="http://www.ruby-lang.org/en/news/2007/03/12/ruby-1-8-6-released/"&gt;Ruby 1.8.6&lt;/a&gt; zijn er wat kleine verhuizingen met betrekking tot de &lt;code&gt;Date&lt;/code&gt; class doorgevoerd, met als gevolg dat m&amp;#8217;n hackwerk, ter vernederlandsing van datum formaten, applicaties, welke gebruik maken van de dutchify plugin, onklaar heeft gemaakt.  In de nieuwste versie is dit probleem opgelost;&lt;/p&gt;
&lt;pre&gt;ruby script/plugin install --force http://svn.remvee.net/plugins/dutchify&lt;/pre&gt;
&lt;p&gt;&lt;em&gt;&lt;strong&gt;&lt;a name="update"&gt;Update&lt;/a&gt;&lt;/strong&gt; probleem gevonden &lt;a href="http://blog.remvee.net/2007/04/09/dutchify_update_voor_Ruby_1_8_6#comment_920"&gt;door Stephan&lt;/a&gt; gerepareerd; &lt;code&gt;Time&lt;/code&gt; wel vertaald &lt;code&gt;Date&lt;/code&gt; niet&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;strong&gt;&lt;a name="update2"&gt;Update 2&lt;/a&gt;&lt;/strong&gt; probleem gevonden &lt;a href="http://blog.remvee.net/2006/08/28/dutchify_plugin#comment_926"&gt;door Bertus&lt;/a&gt; gerepareerd; &lt;code&gt;date_select&lt;/code&gt; niet meer vertaald&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;strong&gt;&lt;a name="update3"&gt;Update 3&lt;/a&gt;&lt;/strong&gt; oeps, niet alle tests gedraaid..  Dank je Stephan.&lt;/em&gt;&lt;/p&gt;</description>
      <author>remco@remvee.net (Remco van 't Veer)</author>
      <pubDate>Mon, 09 Apr 2007 08:27:00 +0200</pubDate>
    </item>
    <item>
      <title>RubyEnRails 2007</title>
      <link>http://blog.remvee.net/2007/03/08/RubyEnRails_2007</link>
      <guid>http://blog.remvee.net/2007/03/08/RubyEnRails_2007</guid>
      <description>&lt;p&gt;Er wordt hard gewerkt om voor eind mei, &lt;a href="http://blog.rubyenrails.nl/articles/2007/03/07/rubyenrails-2007"&gt;RubyEnRails 2007&lt;/a&gt; te organiseren.  Waarschijnlijk heb ik dit jaar geen &lt;a href="http://blog.remvee.net/2006/05/19/Jelle_van_t_Veer"&gt;waterdichte smoes&lt;/a&gt;.  Zie je daar?&lt;/p&gt;</description>
      <author>remco@remvee.net (Remco van 't Veer)</author>
      <pubDate>Thu, 08 Mar 2007 00:11:00 +0100</pubDate>
    </item>
  </channel>
</rss>

