<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet title="XSL formatting" type="text/xsl" href="http://mirmodynamics.com/feed/rss2/xslt" ?><rss version="2.0"
  xmlns:dc="http://purl.org/dc/elements/1.1/"
  xmlns:wfw="http://wellformedweb.org/CommentAPI/"
  xmlns:content="http://purl.org/rss/1.0/modules/content/"
  xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
  <title>Mirmo Dynamics - Geekeries</title>
  <link>http://mirmodynamics.com/</link>
  <atom:link href="http://mirmodynamics.com/feed/category/Geekeries/rss2" rel="self" type="application/rss+xml"/>
  <description>Si tu kiffes pas reunoi, t'écoutes pas et puis c'est tout.</description>
  <language>en</language>
  <pubDate>Tue, 02 Mar 2010 13:27:59 +0100</pubDate>
  <copyright>2003-2009 &amp;copy; Geoffrey Bachelet</copyright>
  <docs>http://blogs.law.harvard.edu/tech/rss</docs>
  <generator>Dotclear</generator>
  
    
  <item>
    <title>The 2.0 resume</title>
    <link>http://mirmodynamics.com/post/2010/01/21/The-2.0-resume</link>
    <guid isPermaLink="false">urn:md5:88ef1187bc59d8aaa9698a796f5d72c1</guid>
    <pubDate>Thu, 21 Jan 2010 14:42:00 +0100</pubDate>
    <dc:creator>Geoffrey</dc:creator>
        <category>Geekeries</category>
        <category>2.0</category><category>cia.vc</category><category>github</category><category>industry</category><category>IT</category><category>resume</category><category>stackoverflow</category>    
    <description>    &lt;p&gt;With the emergence of new web-based developper tools like &lt;a href=&quot;http://www.github.com/&quot;&gt;Github&lt;/a&gt; and &lt;a href=&quot;http://www.stackoverflow.com/&quot;&gt;Stack Overflow&lt;/a&gt;. Building a concrete resume has never been so easy.&lt;/p&gt;


&lt;p&gt;If you're French (or maybe there have been attempts as well in other countries but I've not heard of them), and working in &lt;acronym&gt;IT&lt;/acronym&gt;, you must have already seen those crappy video-resume attempts, so-called 2.0 resumes meant to show off one's mastering of bleeding edge technologies. Why were those attempts miserable failures ? Apart from being ridiculous, they did not demonstrate anything. Anyone can fire up any newbie-friendly video editing software and come up with a video or flash based resume, or even build a dynamic one using &lt;acronym&gt;PHP&lt;/acronym&gt;, python, javascript or something.&lt;/p&gt;


&lt;p&gt;With Github for example, not only can they see the result of your work, but they can see your real work, the actual code you wrote, the project you participed in, the actual code you contributed. In a nutshell, they can truly see what you're worth (that is, technically speaking). Stack Overflow, and LinkedIn Q&amp;amp;A before it, etc, has the same quality. They make you go public.&lt;/p&gt;


&lt;p&gt;In an industry where profiles and adaptability matter at least as much as pure skill, having a way to see how people work, what project they get involved in and how they behave with fellow developers is an invaluable resource for recruiters. So here's one piece of advice I'd give to any developer looking forward to being hired: work your numeric identity:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Answer questions on Stack Overflow and/or LinkedIn Q&amp;amp;A&lt;/li&gt;
&lt;li&gt;Host your projects on public websites like GitHub or &lt;a href=&quot;http://cia.vc/&quot;&gt;CIA.vc&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Contribute to opensource projects (not only it permits you to show off your skill, but you are going to learn stuff as well)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;And Don't forget to include them in your online resume through RSS/Atom feeds or direct link to your profiles!&lt;/p&gt;</description>
    
    
    
          <comments>http://mirmodynamics.com/post/2010/01/21/The-2.0-resume#comment-form</comments>
      <wfw:comment>http://mirmodynamics.com/post/2010/01/21/The-2.0-resume#comment-form</wfw:comment>
      <wfw:commentRss>http://mirmodynamics.com/feed/atom/comments/1207</wfw:commentRss>
      </item>
    
  <item>
    <title>Introducing IPS, a PHP interactive shell</title>
    <link>http://mirmodynamics.com/post/2009/12/10/Introducint-IPS%2C-a-PHP-interactive-shell</link>
    <guid isPermaLink="false">urn:md5:26bf8a93a71a8a8d92c38c88c479cf50</guid>
    <pubDate>Thu, 10 Dec 2009 00:03:00 +0100</pubDate>
    <dc:creator>Geoffrey</dc:creator>
        <category>Geekeries</category>
        <category>github</category><category>ips</category><category>php</category><category>phpinteractiveshell</category><category>shell</category>    
    <description>    &lt;p&gt;It's been a while now since I first looked up for an interactive PHP shell. There quite a lot of projects in the wild, such as PHP_Shell, PHPInteractiveTerminal, iphp, phpsh, etc, but none that would actually satisfy me (either they didn't fulfill my requirements or they were only toy projects or...). Until today ! I am very pleased to announce &lt;a href=&quot;http://github.org/geoffrey/PHPInteractiveShell&quot;&gt;PHPInteractiveShell&lt;/a&gt;, a (nearly) full-featured interactive shell for PHP.&lt;/p&gt;


&lt;p&gt;Key features include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Fault tolerant: will not die on fatal errors&lt;/li&gt;
&lt;li&gt;Readline support (only history for now)&lt;/li&gt;
&lt;li&gt;Multiline support: start your if on a line and finish it on another&lt;/li&gt;
&lt;li&gt;Plugins support: easily extend the shell capabilities&lt;/li&gt;
&lt;li&gt;Bootstrap support: easily setup an environment inside your shell&lt;/li&gt;
&lt;li&gt;Config file support: easily configure your shell behavior&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The whole thing is still in beta stage, so feel free to fork it, play with it and report any issue!&lt;/p&gt;</description>
    
    
    
          <comments>http://mirmodynamics.com/post/2009/12/10/Introducint-IPS%2C-a-PHP-interactive-shell#comment-form</comments>
      <wfw:comment>http://mirmodynamics.com/post/2009/12/10/Introducint-IPS%2C-a-PHP-interactive-shell#comment-form</wfw:comment>
      <wfw:commentRss>http://mirmodynamics.com/feed/atom/comments/1206</wfw:commentRss>
      </item>
    
  <item>
    <title>Help Symfony: fix one bug per day and win some gifts !</title>
    <link>http://mirmodynamics.com/post/2009/07/01/Help-Symfony%3A-fix-one-bug-per-day-and-win-some-gifts-%21</link>
    <guid isPermaLink="false">urn:md5:601fa602193a596a65fe14b912586ba1</guid>
    <pubDate>Wed, 01 Jul 2009 19:31:00 +0200</pubDate>
    <dc:creator>Geoffrey</dc:creator>
        <category>Geekeries</category>
        <category>1day1ticket</category><category>symfony</category>    
    <description>    &lt;p&gt;Today is the first day of the &amp;quot;1 day / 1 ticket&amp;quot; Symfony event.&lt;/p&gt;


&lt;p&gt;Starting from today, each ticket you close (or help closing) from &lt;a href=&quot;http://trac.symfony-project.org/wiki/1day1ticket&quot;&gt;this list&lt;/a&gt; by either submitting a patch, submitting unit tests, etc will earn you points. At the end of the month, gifts are attributed to people with the most points.&lt;/p&gt;


&lt;p&gt;This is a fun and exciting way to help your (hopefuly) favorite opensource project ;)&lt;/p&gt;


&lt;p&gt;For more details on rules, please &lt;a href=&quot;http://trac.symfony-project.org/wiki/1day1ticket&quot;&gt;see the official page&lt;/a&gt;.&lt;/p&gt;</description>
    
    
    
          <comments>http://mirmodynamics.com/post/2009/07/01/Help-Symfony%3A-fix-one-bug-per-day-and-win-some-gifts-%21#comment-form</comments>
      <wfw:comment>http://mirmodynamics.com/post/2009/07/01/Help-Symfony%3A-fix-one-bug-per-day-and-win-some-gifts-%21#comment-form</wfw:comment>
      <wfw:commentRss>http://mirmodynamics.com/feed/atom/comments/1197</wfw:commentRss>
      </item>
    
  <item>
    <title>subversion, tags and externals</title>
    <link>http://mirmodynamics.com/post/2009/06/15/subversion%2C-tags-and-externals</link>
    <guid isPermaLink="false">urn:md5:ae722a347e5f29838f36f81c6dd904cf</guid>
    <pubDate>Mon, 15 Jun 2009 16:14:00 +0200</pubDate>
    <dc:creator>Geoffrey</dc:creator>
        <category>Geekeries</category>
        <category>fail</category><category>git</category><category>svn</category><category>tags</category>    
    <description>    &lt;p&gt;It's been brought to my attention today (by my fellow developper &lt;a href=&quot;http://dakrazy.net/&quot;&gt;hartym&lt;/a&gt;) that there is a HUGE problem with tags in subversion.&lt;/p&gt;


&lt;p&gt;The problem is very simple, when you create a tag for your project, and that your project uses &lt;code&gt;svn:externals&lt;/code&gt; (quite a common situation), externals in the tags ARE NOT FROZEN. Which means that, if you checkout your tag at a T time, and an external gets modified at T+x, a checkout at T+x will not be the same than the one at T.&lt;/p&gt;


&lt;p&gt;Wow.&lt;/p&gt;


&lt;p&gt;I'm going to seriously consider switching to git.&lt;/p&gt;</description>
    
    
    
          <comments>http://mirmodynamics.com/post/2009/06/15/subversion%2C-tags-and-externals#comment-form</comments>
      <wfw:comment>http://mirmodynamics.com/post/2009/06/15/subversion%2C-tags-and-externals#comment-form</wfw:comment>
      <wfw:commentRss>http://mirmodynamics.com/feed/atom/comments/1196</wfw:commentRss>
      </item>
    
  <item>
    <title>SQLSTATE[HY000]: General error: 1005 Can't create table '*' (errno: 150)</title>
    <link>http://mirmodynamics.com/post/2009/04/02/SQLSTATE%5BHY000%5D%3A-General-error%3A-1005-Can-t-create-table-%2A-%28errno%3A-150%29</link>
    <guid isPermaLink="false">urn:md5:d13814e8b3b075af9b6b090d2a89778c</guid>
    <pubDate>Thu, 02 Apr 2009 15:18:00 +0200</pubDate>
    <dc:creator>Geoffrey</dc:creator>
        <category>Geekeries</category>
        <category>doctrine</category><category>error</category><category>foreignkey</category><category>frustration</category><category>mysql</category><category>schema</category>    
    <description>    &lt;p&gt;You may or may have not already stumbled upon this rather obscure error message (no, I'm not starting a serie on &lt;a href=&quot;http://mirmodynamics.com/post/2009/03/31/Ajax-query-failing-unexpectedly&quot;&gt;obscures error messages&lt;/a&gt;). Well the first thing to think when you encounter this is your foreign keys. This message generally denotes a failure in foreign keys creation, for example when the two columns you are trying to link are not of the &lt;strong&gt;exact&lt;/strong&gt; same type (that is, you can't link an &lt;code&gt;integer(4)&lt;/code&gt; to an &lt;code&gt;integer(11)&lt;/code&gt;).&lt;/p&gt;


&lt;p&gt;Now what if you are absolutely certain that your two columns are of the same type ? I just had the problem with this piece of doctrine schema (simplified for example purpose):&lt;/p&gt;

&lt;pre&gt;
Media:
  columns:
    image:           { type: string(255), notnull: true, unique: true }

ExplorationMission:
  columns:
    probe_image:         { type: integer, notnull: true }
  relations:
    ProbeImage:          { class: Media, local: probe_image, foreign: id, onDelete: 'SET NULL' }
&lt;/pre&gt;


&lt;p&gt;Can you spot the problem ?&lt;/p&gt;


&lt;p&gt;It's rather obvious when you know it, but I spent rather some time cursing mysql in vain. The point is that there is a major logic error in this schema. it declares the &lt;code&gt;probe_image&lt;/code&gt; as &lt;code&gt;NOT NULL&lt;/code&gt; while it gently asks the &lt;acronym&gt;FK&lt;/acronym&gt; to set it null on delete. See ?&lt;/p&gt;


&lt;p&gt;Hope it saves some frustration :-)&lt;/p&gt;</description>
    
    
    
          <comments>http://mirmodynamics.com/post/2009/04/02/SQLSTATE%5BHY000%5D%3A-General-error%3A-1005-Can-t-create-table-%2A-%28errno%3A-150%29#comment-form</comments>
      <wfw:comment>http://mirmodynamics.com/post/2009/04/02/SQLSTATE%5BHY000%5D%3A-General-error%3A-1005-Can-t-create-table-%2A-%28errno%3A-150%29#comment-form</wfw:comment>
      <wfw:commentRss>http://mirmodynamics.com/feed/atom/comments/1190</wfw:commentRss>
      </item>
    
  <item>
    <title>Ajax query failing unexpectedly ?</title>
    <link>http://mirmodynamics.com/post/2009/03/31/Ajax-query-failing-unexpectedly</link>
    <guid isPermaLink="false">urn:md5:4c0e02c551d601e2c8ce02bc4b6e1a52</guid>
    <pubDate>Tue, 31 Mar 2009 18:14:00 +0200</pubDate>
    <dc:creator>Geoffrey</dc:creator>
        <category>Geekeries</category>
        <category>adblock</category><category>ajax</category><category>exception</category><category>firebug</category><category>jquery</category>    
    <description>    &lt;p&gt;I was gently doing some ajax black voodoo when I came upon this obscure-ish error in my firebug console:&lt;/p&gt;

&lt;pre&gt;
Error: uncaught exception: [Exception... &amp;quot;Component returned failure code: 0x805e000a [nsIXMLHttpRequest.open]&amp;quot;  nsresult: 0x805e000a (&amp;lt;unknown&amp;gt;)&amp;quot;
&lt;/pre&gt;


&lt;p&gt;&lt;em&gt;What the fuck&lt;/em&gt; I though. And then after some (useless) firefox rebooting, I decided to ask the all-mighty Google.&lt;/p&gt;


&lt;p&gt;&lt;em&gt;No shit&lt;/em&gt;, he said, &lt;em&gt;I know what you are talking about, and thou shall find more informations at this place&lt;/em&gt;, and to point me to &lt;a href=&quot;http://groups.google.com/group/jquery-en/browse_thread/thread/44cd7c8352a11e4a&quot;&gt;this thread&lt;/a&gt;, where you can read the following:&lt;/p&gt;


&lt;p&gt;&lt;em&gt;AdBlock Plus was killing it HAH!&lt;/em&gt;&lt;/p&gt;


&lt;p&gt;And then I disabled AdBlock Plus, and exactly as the writings told, it worked.&lt;/p&gt;</description>
    
    
    
          <comments>http://mirmodynamics.com/post/2009/03/31/Ajax-query-failing-unexpectedly#comment-form</comments>
      <wfw:comment>http://mirmodynamics.com/post/2009/03/31/Ajax-query-failing-unexpectedly#comment-form</wfw:comment>
      <wfw:commentRss>http://mirmodynamics.com/feed/atom/comments/1189</wfw:commentRss>
      </item>
    
  <item>
    <title>Rewrite rule to add missing www</title>
    <link>http://mirmodynamics.com/post/2009/03/17/Rewrite-rule-to-add-missing-www</link>
    <guid isPermaLink="false">urn:md5:0bab59ade6517a990b75546554dba814</guid>
    <pubDate>Tue, 17 Mar 2009 19:30:00 +0100</pubDate>
    <dc:creator>Geoffrey</dc:creator>
        <category>Geekeries</category>
        <category>apache</category><category>mod_rewrite</category><category>rewritecond</category><category>rewriterule</category>    
    <description>    &lt;pre&gt;
  RewriteEngine on
  RewriteCond %{SERVER_NAME} !^www\..*$
  RewriteRule ^/(.*)$ http://www.%{SERVER_NAME}/$1 [L,QSA,R=302]
&lt;/pre&gt;


&lt;p&gt;From &lt;a href=&quot;http://httpd.apache.org/docs/2.0/mod/mod_rewrite.html#rewriterule&quot;&gt;the manual&lt;/a&gt;, using &lt;code&gt;%1&lt;/code&gt; as a back reference from the &lt;code&gt;RewriteCond&lt;/code&gt; in the &lt;code&gt;RewriteRule&lt;/code&gt; should work, but it didn't on my installation. Weird.&lt;/p&gt;</description>
    
    
    
          <comments>http://mirmodynamics.com/post/2009/03/17/Rewrite-rule-to-add-missing-www#comment-form</comments>
      <wfw:comment>http://mirmodynamics.com/post/2009/03/17/Rewrite-rule-to-add-missing-www#comment-form</wfw:comment>
      <wfw:commentRss>http://mirmodynamics.com/feed/atom/comments/1183</wfw:commentRss>
      </item>
    
  <item>
    <title>Rebooting the iphone without touching the screen</title>
    <link>http://mirmodynamics.com/post/2008/12/26/Rebooting-the-iphone-without-touching-the-screen</link>
    <guid isPermaLink="false">urn:md5:1c8f75eb7d4104554af24947b2b42d2e</guid>
    <pubDate>Fri, 26 Dec 2008 11:46:00 +0100</pubDate>
    <dc:creator>Geoffrey</dc:creator>
        <category>Geekeries</category>
        <category>bug</category><category>iphone</category><category>tips</category>    
    <description>    &lt;p&gt;Yesterday, I had a bug with my iphone that prevented me to use the touchscreen. Weird. &lt;em&gt;No problem&lt;/em&gt; I though, &lt;em&gt;I'll just reboot the damn thing and it'll be fine&lt;/em&gt;. Except you need the touch screen to turn the iPhone off. After a few manipulation and frustration, I found out that you can actually reboot the iphone by holding the &lt;em&gt;power button&lt;/em&gt; and &lt;em&gt;main button&lt;/em&gt; simultaneously for a few seconds. Handy heh.&lt;/p&gt;</description>
    
    
    
          <comments>http://mirmodynamics.com/post/2008/12/26/Rebooting-the-iphone-without-touching-the-screen#comment-form</comments>
      <wfw:comment>http://mirmodynamics.com/post/2008/12/26/Rebooting-the-iphone-without-touching-the-screen#comment-form</wfw:comment>
      <wfw:commentRss>http://mirmodynamics.com/feed/atom/comments/1164</wfw:commentRss>
      </item>
    
  <item>
    <title>Charset detection with python</title>
    <link>http://mirmodynamics.com/post/2008/12/17/Charset-detection-with-python</link>
    <guid isPermaLink="false">urn:md5:e9f7e6241350bbcc5987a9894e6ba490</guid>
    <pubDate>Wed, 17 Dec 2008 12:30:00 +0100</pubDate>
    <dc:creator>Geoffrey</dc:creator>
        <category>Geekeries</category>
        <category>chardet</category><category>charset</category><category>detection</category><category>encoding</category><category>python</category>    
    <description>    &lt;p&gt;I was looking for a way to easily determine a file's charset when I stumbled upon the &lt;a href=&quot;http://chardet.feedparser.org/&quot;&gt;Universal Encoding Detector&lt;/a&gt;. Just wanted to share it.&lt;/p&gt;


&lt;h3&gt;Installation:&lt;/h3&gt;
&lt;pre&gt;
$ wget http://chardet.feedparser.org/download/chardet-1.0.1.tgz -O - | tar xz
$ cd chardet-1.0.1
$ python ./setup.py build
$ sudo python ./setup.py install
&lt;/pre&gt;


&lt;h3&gt;Usage:&lt;/h3&gt;

&lt;p&gt;From a python console:&lt;/p&gt;
&lt;pre&gt;
&amp;gt;&amp;gt;&amp;gt; import chardet
&amp;gt;&amp;gt;&amp;gt; chardet.detect(open('/path/to/your/file', 'r').read())
{'confidence': 0.98999999999999999, 'encoding': 'utf-8'}
&lt;/pre&gt;


&lt;p&gt;Nice !&lt;/p&gt;</description>
    
    
    
          <comments>http://mirmodynamics.com/post/2008/12/17/Charset-detection-with-python#comment-form</comments>
      <wfw:comment>http://mirmodynamics.com/post/2008/12/17/Charset-detection-with-python#comment-form</wfw:comment>
      <wfw:commentRss>http://mirmodynamics.com/feed/atom/comments/1161</wfw:commentRss>
      </item>
    
  <item>
    <title>[Pub] Monitoria: track your websites downtime</title>
    <link>http://mirmodynamics.com/post/2008/10/29/%5BPub%5D-Monitoria%3A-track-your-websites-downtime</link>
    <guid isPermaLink="false">urn:md5:201a110af90904ac3bba0bcb85640dfa</guid>
    <pubDate>Wed, 29 Oct 2008 22:40:00 +0100</pubDate>
    <dc:creator>Geoffrey</dc:creator>
        <category>Geekeries</category>
        <category>discount</category><category>downtime</category><category>friends</category><category>kolibria</category><category>monitoria</category><category>webservice</category>    
    <description>    &lt;p&gt;&lt;a href=&quot;http://www.monitorianow.com/&quot;&gt;Monitoria&lt;/a&gt; is a web service developped by &lt;a href=&quot;http://www.kolibria.com/&quot;&gt;some friends of mine&lt;/a&gt; and designed to help you track and minimize downtime on your sites. Excerpt from the homepage:&lt;/p&gt;



&lt;blockquote&gt;&lt;p&gt;Monitoria is a &lt;a href=&quot;http://www.monitorianow.com/&quot;&gt;website uptime monitoring service&lt;/a&gt; designed to help you detect website downtime which can mean lost revenue and profits.&lt;br /&gt;
The worst thing is customers who may never return to your website again if they experience difficulties opening your website.&lt;br /&gt;
&lt;a href=&quot;http://www.monitorianow.com/#offers&quot;&gt;Register now&lt;/a&gt; and take control over downtime today!&lt;br /&gt;
Let Monitoria monitor your website 24/7/365 and alert you immediately upon your website accessibility, availability or performance problems.&lt;/p&gt;&lt;/blockquote&gt;


&lt;p&gt;And because you're smart enough to read my blog, here is a 20% discount coupon code: phpmafia20-87361.&lt;/p&gt;</description>
    
    
    
          <comments>http://mirmodynamics.com/post/2008/10/29/%5BPub%5D-Monitoria%3A-track-your-websites-downtime#comment-form</comments>
      <wfw:comment>http://mirmodynamics.com/post/2008/10/29/%5BPub%5D-Monitoria%3A-track-your-websites-downtime#comment-form</wfw:comment>
      <wfw:commentRss>http://mirmodynamics.com/feed/atom/comments/1149</wfw:commentRss>
      </item>
    
  <item>
    <title>PHP's april's fool</title>
    <link>http://mirmodynamics.com/post/2008/10/26/PHP-s-april-s-fool</link>
    <guid isPermaLink="false">urn:md5:b00f9114207d4796105a4401b1164b47</guid>
    <pubDate>Sun, 26 Oct 2008 00:13:00 +0200</pubDate>
    <dc:creator>Geoffrey</dc:creator>
        <category>Geekeries</category>
        <category>namespace</category><category>php</category><category>separator</category><category>stupid</category><category>wtf</category>    
    <description>    &lt;p&gt;&lt;a href=&quot;http://wiki.php.net/rfc/namespaceseparator&quot; title=&quot;http://wiki.php.net/rfc/namespaceseparator&quot;&gt;http://wiki.php.net/rfc/namespacese...&lt;/a&gt;&lt;/p&gt;


&lt;p&gt;wait, we're not April 1st ?&lt;/p&gt;</description>
    
    
    
          <comments>http://mirmodynamics.com/post/2008/10/26/PHP-s-april-s-fool#comment-form</comments>
      <wfw:comment>http://mirmodynamics.com/post/2008/10/26/PHP-s-april-s-fool#comment-form</wfw:comment>
      <wfw:commentRss>http://mirmodynamics.com/feed/atom/comments/1148</wfw:commentRss>
      </item>
    
  <item>
    <title>Mass vim file opening reloaded</title>
    <link>http://mirmodynamics.com/post/2008/10/16/Mass-vim-file-opening-reloaded</link>
    <guid isPermaLink="false">urn:md5:043b3c3596084fc127d581eb3ee0bb15</guid>
    <pubDate>Thu, 16 Oct 2008 21:20:00 +0200</pubDate>
    <dc:creator>Geoffrey</dc:creator>
        <category>Geekeries</category>
        <category>bash</category><category>grep</category><category>handy</category><category>script</category><category>tips</category><category>vim</category>    
    <description>    &lt;p&gt;Thinking about it, &lt;a href=&quot;http://mirmodynamics.com/post/2008/10/14/Mass-vim-file-opening&quot;&gt;the snippet I posted earlier&lt;/a&gt; was a bit silly as vim can open by itself multiple files way more efficiently. The only benefit from my script is that I don't have to type the &lt;code&gt;--servername&lt;/code&gt; and &lt;code&gt;--remote-silent-tab&lt;/code&gt;.&lt;/p&gt;


&lt;p&gt;So let's add some usefulness ! First, when I need this script, it's often that I first grepped the files, and then decide that I want to edit them all. From this point of view, having to pass them as &lt;em&gt;arguments&lt;/em&gt; is not that handy, so we'll add a way to pass them via &lt;code&gt;STDIN&lt;/code&gt;.&lt;/p&gt;


&lt;p&gt;Also, what if I want to send them to another vim server ? We'll add this ability too.&lt;/p&gt;


&lt;p&gt;Here is the resulting script:&lt;/p&gt;

&lt;pre&gt;
#!/usr/bin/env bash

# set a default SERVERNAME
SERVERNAME=&amp;quot;ash0&amp;quot;

# look for files on stdin
if ! [ -t 0 ]; then
  FILES=`cat /dev/stdin`
else
  exit;
fi;

# now let's check if we want a specific vim server
if ! [ -z $1 ]; then
  SERVERNAME=$1
fi;

# we can now open the files
/usr/bin/gvim --servername $SERVERNAME --remote-silent-tab $FILES
&lt;/pre&gt;


&lt;p&gt;Tada !&lt;/p&gt;


&lt;p&gt;You can now do the followings:&lt;/p&gt;

&lt;pre&gt;
grep foo | sendtovim
grep foo | sendtovim grep0
&lt;/pre&gt;</description>
    
    
    
          <comments>http://mirmodynamics.com/post/2008/10/16/Mass-vim-file-opening-reloaded#comment-form</comments>
      <wfw:comment>http://mirmodynamics.com/post/2008/10/16/Mass-vim-file-opening-reloaded#comment-form</wfw:comment>
      <wfw:commentRss>http://mirmodynamics.com/feed/atom/comments/1144</wfw:commentRss>
      </item>
    
  <item>
    <title>Mass vim file opening</title>
    <link>http://mirmodynamics.com/post/2008/10/14/Mass-vim-file-opening</link>
    <guid isPermaLink="false">urn:md5:d2b7afaa2aaf18ada08b02c96c5185fc</guid>
    <pubDate>Tue, 14 Oct 2008 19:40:00 +0200</pubDate>
    <dc:creator>Geoffrey</dc:creator>
        <category>Geekeries</category>
        <category>grep</category><category>handy</category><category>script</category><category>tips</category><category>vim</category>    
    <description>    &lt;p&gt;Remember &lt;a href=&quot;http://mirmodynamics.com/post/2006/11/28/Linux-gVim-Rox-filer-Mon-IDE&quot;&gt;my old post about vim and rox-filer&lt;/a&gt; ? Well I've got one tiny and silly addition to it now, I can mass open files from any shell command line, with this little script placed in my &lt;code&gt;~/bin/&lt;/code&gt; (don't forget to &lt;code&gt;chmod +x&lt;/code&gt;):&lt;/p&gt;

&lt;pre&gt;
for i in $*; do
  /usr/bin/gvim --servername ash0 --remote-silent-tab $i
  sleep 1
done;
&lt;/pre&gt;


&lt;p&gt;The &lt;code&gt;sleep 1&lt;/code&gt; is necessary as vim does not seem to like being flooded with files.&lt;/p&gt;


&lt;p&gt;Example usage:&lt;/p&gt;

&lt;pre&gt;
sendtovim `grep foo *`
&lt;/pre&gt;


&lt;p&gt;Opens in vim all files containing &amp;quot;foo&amp;quot; in the current directory. Who said handy ?&lt;/p&gt;


&lt;p&gt;Note: I know have an &lt;a href=&quot;http://mirmodynamics.com/post/2008/10/16/Mass-vim-file-opening-reloaded&quot;&gt;updated and useful version of this script&lt;/a&gt;&lt;/p&gt;</description>
    
    
    
          <comments>http://mirmodynamics.com/post/2008/10/14/Mass-vim-file-opening#comment-form</comments>
      <wfw:comment>http://mirmodynamics.com/post/2008/10/14/Mass-vim-file-opening#comment-form</wfw:comment>
      <wfw:commentRss>http://mirmodynamics.com/feed/atom/comments/1141</wfw:commentRss>
      </item>
    
  <item>
    <title>The Eight Irrestitible Principles of Fun</title>
    <link>http://mirmodynamics.com/post/2008/07/28/The-Eight-Irrestitible-Principles-of-Fun</link>
    <guid isPermaLink="false">urn:md5:f72089ca54dc1d2a87e5390a0e98cd3b</guid>
    <pubDate>Mon, 28 Jul 2008 23:57:00 +0200</pubDate>
    <dc:creator>Geoffrey</dc:creator>
        <category>Geekeries</category>
        <category>facile à dire</category><category>flash</category><category>fun</category><category>pmog</category><category>rigolo</category>    
    <description>    &lt;p&gt;&lt;a href=&quot;http://www.eightprinciples.com/&quot; title=&quot;http://www.eightprinciples.com/&quot;&gt;http://www.eightprinciples.com/&lt;/a&gt;&lt;/p&gt;


&lt;p&gt;(&lt;em&gt;via&lt;/em&gt; &lt;a href=&quot;http://pmog.com/&quot;&gt;pmog&lt;/a&gt;)&lt;/p&gt;</description>
    
    
    
          <comments>http://mirmodynamics.com/post/2008/07/28/The-Eight-Irrestitible-Principles-of-Fun#comment-form</comments>
      <wfw:comment>http://mirmodynamics.com/post/2008/07/28/The-Eight-Irrestitible-Principles-of-Fun#comment-form</wfw:comment>
      <wfw:commentRss>http://mirmodynamics.com/feed/atom/comments/1114</wfw:commentRss>
      </item>
    
  <item>
    <title>La Défense / Puteaux a pied</title>
    <link>http://mirmodynamics.com/post/2008/07/23/La-Defense-/-Puteaux-a-pied</link>
    <guid isPermaLink="false">urn:md5:ae53a18970909942b372c656c62dafb6</guid>
    <pubDate>Wed, 23 Jul 2008 11:51:00 +0200</pubDate>
    <dc:creator>Geoffrey</dc:creator>
        <category>Geekeries</category>
        <category>google maps</category><category>inutile</category><category>la défense</category><category>marcher</category><category>puteaux</category><category>t2</category><category>tram</category>    
    <description>    &lt;p&gt;J'aime beaucoup &lt;a href=&quot;http://maps.google.fr/&quot;&gt;google maps&lt;/a&gt;, et pour fêter ça, et à cause des travaux sur le tram qui coupent la circulation entre la défense et puteaux, j'ai fait une &lt;em&gt;map&lt;/em&gt; avec &lt;a href=&quot;http://maps.google.fr/maps/ms?ie=UTF8&amp;amp;hl=fr&amp;amp;t=h&amp;amp;msa=0&amp;amp;msid=107173777445575658543.0004510a4ec7961deb761&amp;amp;ll=48.889503,2.235546&amp;amp;spn=0.00491,0.009345&amp;amp;z=17&amp;amp;mid=1216805983&quot;&gt;le trajet optimal (je pense) entre le parvis de la défense et la station de tram de puteaux&lt;/a&gt;.&lt;/p&gt;


&lt;p&gt;Voilà c'était la minute &lt;em&gt;je kiff gmaps&lt;/em&gt;.&lt;/p&gt;</description>
    
    
    
          <comments>http://mirmodynamics.com/post/2008/07/23/La-Defense-/-Puteaux-a-pied#comment-form</comments>
      <wfw:comment>http://mirmodynamics.com/post/2008/07/23/La-Defense-/-Puteaux-a-pied#comment-form</wfw:comment>
      <wfw:commentRss>http://mirmodynamics.com/feed/atom/comments/1113</wfw:commentRss>
      </item>
    
  <item>
    <title>Rename directories to lowercase</title>
    <link>http://mirmodynamics.com/post/2008/07/10/Rename-directories-to-lowercase</link>
    <guid isPermaLink="false">urn:md5:2cd7b053554f36efc38f1eedf42f7089</guid>
    <pubDate>Thu, 10 Jul 2008 15:35:00 +0200</pubDate>
    <dc:creator>Geoffrey</dc:creator>
        <category>Geekeries</category>
        <category>bash</category><category>handy</category><category>lowercase</category><category>shell</category><category>useless</category>    
    <description>    &lt;p&gt;Using a single (and somewhat simple) shell line, you can rename any directory to its lowercase version.&lt;/p&gt;

&lt;pre&gt;
for i in *; do lcase=`echo $i | tr A-Z a-z`; if [ ! -d $lcase ]; then mv $i $lcase; fi; done;
&lt;/pre&gt;


&lt;p&gt;Viva el chell !&lt;/p&gt;</description>
    
    
    
          <comments>http://mirmodynamics.com/post/2008/07/10/Rename-directories-to-lowercase#comment-form</comments>
      <wfw:comment>http://mirmodynamics.com/post/2008/07/10/Rename-directories-to-lowercase#comment-form</wfw:comment>
      <wfw:commentRss>http://mirmodynamics.com/feed/atom/comments/1111</wfw:commentRss>
      </item>
    
  <item>
    <title>Apache and mod_rewrite to subdirectories</title>
    <link>http://mirmodynamics.com/post/2008/06/26/Apache-and-mod_rewrite-to-subdirectories</link>
    <guid isPermaLink="false">urn:md5:e1fd6a0a067fd54399d7439b28f06814</guid>
    <pubDate>Thu, 26 Jun 2008 18:17:00 +0200</pubDate>
    <dc:creator>Geoffrey</dc:creator>
        <category>Geekeries</category>
        <category>apache</category><category>mod_rewrite</category><category>naneau</category>    
    <description>    &lt;p&gt;&lt;a href=&quot;http://naneau.nl&quot;&gt;Naneau&lt;/a&gt; just poke me with a little problem he had with &lt;a href=&quot;http://httpd.apache.org/docs/2.0/mod/mod_rewrite.html&quot;&gt;mod_rewrite&lt;/a&gt; when trying to rewrite to a subdirectory. Imagine you've got the following setup:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Apache's document root is /document_root/&lt;/li&gt;
&lt;li&gt;You application's bootstrap is /document_root/public/index.php&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You could come to the following rewrite rules quite easily:&lt;/p&gt;

&lt;pre&gt;
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ public/index.php/$1 [L]
&lt;/pre&gt;


&lt;p&gt;And you'd be horribly wrong.&lt;/p&gt;


&lt;p&gt;The problem here is that when you hit &lt;code&gt;/&lt;/code&gt; on your server, mod_rewrite will populate &lt;code&gt;%{REQUEST_FILENAME}&lt;/code&gt; it to &lt;code&gt;/document_root/&lt;/code&gt;, which obviously fails the &lt;code&gt;!-d&lt;/code&gt; rewrite condition. By the magic of &lt;code&gt;DirectoryIndex&lt;/code&gt;, you'll eventually hit &lt;code&gt;/index.html&lt;/code&gt; (or whatever your directory index is set to), and there we go for another rewrite magic. At this point, things get a little messy, and if you're like naneau, you'll end up crying while rolling on the floor and calling for help on irc (that's quite a set of hard things to achieve at the same time).&lt;/p&gt;


&lt;p&gt;The solution is not that simple, and actually, I've not found a fully satisfying solution yet (although naneau is satisfied with the partial solution). The quick hack is to simpy remove the &lt;code&gt;!-d&lt;/code&gt; condition. The obvious drawback is that any existing directory &lt;strong&gt;will&lt;/strong&gt; get rewritten, but you'll be able to access the files inside it. I'm still working on a more complete solution, but as it's not my main concerne for the moment, it'll wait a bit (unless someone posts a solution in the comments).&lt;/p&gt;</description>
    
    
    
          <comments>http://mirmodynamics.com/post/2008/06/26/Apache-and-mod_rewrite-to-subdirectories#comment-form</comments>
      <wfw:comment>http://mirmodynamics.com/post/2008/06/26/Apache-and-mod_rewrite-to-subdirectories#comment-form</wfw:comment>
      <wfw:commentRss>http://mirmodynamics.com/feed/atom/comments/1107</wfw:commentRss>
      </item>
    
  <item>
    <title>Symfonians, un site pour les maestros en herbe</title>
    <link>http://mirmodynamics.com/post/2008/01/21/Symfonians-un-site-pour-les-maestros-en-herbe</link>
    <guid isPermaLink="false">urn:md5:0affcf89b7f27a2ea360dbc68f206e4d</guid>
    <pubDate>Mon, 21 Jan 2008 11:06:00 +0100</pubDate>
    <dc:creator>Geoffrey</dc:creator>
        <category>Geekeries</category>
        <category>communauté</category><category>prendreuncafe</category><category>pub</category><category>symfonians</category><category>symfony</category>    
    <description>    &lt;p&gt;Les utilisateurs du framework &lt;a href=&quot;http://www.symfony-project.org/&quot;&gt;symfony&lt;/a&gt; ont désormais leur cafet' dédiée pour aller prendre un ptit café ! Pour résumer, &lt;a href=&quot;http://www.symfonians.net/&quot;&gt;symfonians&lt;/a&gt; se propose de réunir la petite communauté symfony autour de fonctionnalités aussi conviviales qu'utiles, telles que la création d'un profile développeur symfony, des offres d'emploi, ce genre de choses quoi. Le projet est chapoté par &lt;a href=&quot;http://www.prendreuncafe.com/&quot;&gt;NiKo&lt;/a&gt;, ce qui au moins est un gage de bonne qualité.&lt;/p&gt;</description>
    
    
    
          <comments>http://mirmodynamics.com/post/2008/01/21/Symfonians-un-site-pour-les-maestros-en-herbe#comment-form</comments>
      <wfw:comment>http://mirmodynamics.com/post/2008/01/21/Symfonians-un-site-pour-les-maestros-en-herbe#comment-form</wfw:comment>
      <wfw:commentRss>http://mirmodynamics.com/feed/atom/comments/1082</wfw:commentRss>
      </item>
    
  <item>
    <title>Zend Framework 1.0.3 PEAR package</title>
    <link>http://mirmodynamics.com/post/2008/01/02/Zend-Framework-103-PEAR-package</link>
    <guid isPermaLink="false">urn:md5:89dd71f9a10d4805182d561de4012180</guid>
    <pubDate>Wed, 02 Jan 2008 23:50:00 +0100</pubDate>
    <dc:creator>Geoffrey</dc:creator>
        <category>Geekeries</category>
        <category>package</category><category>pear</category><category>phpmafia</category><category>zend framework</category>    
    <description>    &lt;p&gt;Just to say I packaged the 1.0.3 version of the zend framework on the phpmafia pear channel. It's a bit late I know, but at least it's here. Please note that I already have been notified of a problem regarding the Zend Locale's xml datafiles and that I hope to have worked out a solution for the next release (1.5 if all goes well).&lt;/p&gt;</description>
    
    
    
          <comments>http://mirmodynamics.com/post/2008/01/02/Zend-Framework-103-PEAR-package#comment-form</comments>
      <wfw:comment>http://mirmodynamics.com/post/2008/01/02/Zend-Framework-103-PEAR-package#comment-form</wfw:comment>
      <wfw:commentRss>http://mirmodynamics.com/feed/atom/comments/1080</wfw:commentRss>
      </item>
    
  <item>
    <title>Ubuntu est chez Dell</title>
    <link>http://mirmodynamics.com/post/2007/09/21/Ubuntu-est-chez-Dell</link>
    <guid isPermaLink="false">urn:md5:af8dad27b814b1313254fef74b8ec7df</guid>
    <pubDate>Fri, 21 Sep 2007 12:21:00 +0200</pubDate>
    <dc:creator>Geoffrey</dc:creator>
        <category>Geekeries</category>
        <category>dell</category><category>linux</category><category>matériel</category><category>sympa</category><category>ubuntu</category>    
    <description>    &lt;p&gt;Je ne sais pas si c'est récent ou non, mais toujours est-il qu'hier j'ai remarqué sur  &lt;a href=&quot;http://www.dell.fr/&quot;&gt;le site de dell france&lt;/a&gt; la &lt;a href=&quot;http://www.dell.fr/ubuntu&quot;&gt;posibilité d'acheter un ordinateur dell équipé d'Ubuntu Linux&lt;/a&gt;. L'initiative est vraiment sympa, d'autant plus que le matériel proposé me semble tout à fait abordable: on arrive à une configuration desktop équipée d'un core duo et d'1 Go de ram plus un écran 19 pouces pour moins de 600 euros (livraison comprise). J'achète.&lt;/p&gt;</description>
    
    
    
          <comments>http://mirmodynamics.com/post/2007/09/21/Ubuntu-est-chez-Dell#comment-form</comments>
      <wfw:comment>http://mirmodynamics.com/post/2007/09/21/Ubuntu-est-chez-Dell#comment-form</wfw:comment>
      <wfw:commentRss>http://mirmodynamics.com/feed/atom/comments/1037</wfw:commentRss>
      </item>
    
</channel>
</rss>