<rss version="2.0">
  <channel>
    <title>Nicolas Pouillard&#39;s Blog</title>
    <link>http://blog.nicolaspouillard.fr</link>
    <description>Nicolas Pouillard&#39;s Blog</description>
    <item>
      <title>Starting a new Blog using Blogination</title>
      <link>http://blog.nicolaspouillard.fr/entries/2009-09-11-starting-a-new-blog-using-blogination.html</link>
      <description>&lt;p&gt;It&#39;s time for a new blog. The main non technical goal for this one is to be non-empty :)&lt;/p&gt;&lt;p&gt;This time, I&#39;m gonna force myself to write new posts on a regular basis.&lt;/p&gt;&lt;p&gt;The intended topics would be among: theory and practice of programming languages, in particular functional ones; some system administration tips and tools; and communication services/software like emails, &lt;a href=&quot;http://twitter.com&quot;&gt;twitter&lt;/a&gt; or &lt;a href=&quot;http://wave.google.com&quot;&gt;Google wave&lt;/a&gt;.&lt;/p&gt;&lt;div id=&quot;choosing-a-blogging-platform&quot;&gt;&lt;h2&gt;Choosing a blogging platform&lt;/h2&gt;&lt;p&gt;I wanted a really lightweight platform, at least from the developer point of view. I&#39;ve used &lt;a href=&quot;http://typosphere.org&quot;&gt;Typo&lt;/a&gt; then &lt;a href=&quot;http://mephistoblog.com&quot;&gt;Mephisto&lt;/a&gt; and they were really to heavyweight to maintain. So I wanted a system for which I can be responsible of the code in a sustainable way. Not that I couldn&#39;t fix the various issues I had with &lt;a href=&quot;http://typosphere.org&quot;&gt;Typo&lt;/a&gt; and &lt;a href=&quot;http://mephistoblog.com&quot;&gt;Mephisto&lt;/a&gt; but more that I no longer want to!&lt;/p&gt;&lt;p&gt;Here are the features I wanted:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Plain text&lt;/li&gt;&lt;li&gt;Really small code-base&lt;/li&gt;&lt;li&gt;Written in &lt;a href=&quot;http://haskell.org&quot;&gt;Haskell&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Static pages&lt;/li&gt;&lt;li&gt;Comments&lt;/li&gt;&lt;li&gt;Syndication&lt;/li&gt;&lt;li&gt;Tagging&lt;/li&gt;&lt;li&gt;UTF8&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;After some search, there were two competitors &lt;a href=&quot;http://chrisdone.com/blog/tags/Blogination.html&quot;&gt;Blogination&lt;/a&gt; and &lt;a href=&quot;http://all-thing.net/label/whisper/&quot;&gt;Whisper&lt;/a&gt;. However since only &lt;a href=&quot;http://chrisdone.com/blog/tags/Blogination.html&quot;&gt;Blogination&lt;/a&gt; was written in &lt;a href=&quot;http://haskell.org&quot;&gt;Haskell&lt;/a&gt; I opted for it.&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;http://chrisdone.com/blog/tags/Blogination.html&quot;&gt;Blogination&lt;/a&gt; was written by Chris Done and I must say that this tool fits almost all my needs.&lt;/p&gt;&lt;p&gt;Of course as I will go along with adapting &lt;a href=&quot;http://chrisdone.com/blog/tags/Blogination.html&quot;&gt;Blogination&lt;/a&gt; for my needs I will submit patches to Chris Done.&lt;/p&gt;&lt;p&gt;Let&#39;s go a bit deeper into the expected features:&lt;/p&gt;&lt;div id=&quot;plain-text-no-rdbmssql&quot;&gt;&lt;h3&gt;Plain text: No RDBMS/SQL&lt;/h3&gt;&lt;p&gt;Relying on plain text files makes the blogging code much more simpler. Indeed the blogging code only needs to read the files. All the CRUD (create, update, delete) is done with your favorite editor.&lt;/p&gt;&lt;p&gt;To quote William Morgan (&lt;a href=&quot;http://all-thing.net/label/whisper/&quot;&gt;Whisper&lt;/a&gt;&#39;s author):&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;Storing your blog entries in a RDBMS is like driving to work in the Space Shuttle.&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;So even if driving a Space Shuttle could be kind of cool, I don&#39;t consider RDBMS/SQL as cool in the long run.&lt;/p&gt;&lt;p&gt;Then it is really simple to keep track of the contents safely using a version control system, and here &lt;a href=&quot;http://darcs.net&quot;&gt;Darcs&lt;/a&gt; is a perfect match for the situation.&lt;/p&gt;&lt;/div&gt;&lt;div id=&quot;small-code-base&quot;&gt;&lt;h3&gt;Small code-base&lt;/h3&gt;&lt;p&gt;I want to acquire the control of the code almost as if I had written it. Being able to change it easily to fit my needs is of prime importance.&lt;/p&gt;&lt;/div&gt;&lt;div id=&quot;written-in-haskell&quot;&gt;&lt;h3&gt;Written in &lt;a href=&quot;http://haskell.org&quot;&gt;Haskell&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Because maintaining high level, well abstracted, well typed, purely functional code is a much more pleasant task to do than what one can find elsewhere.&lt;/p&gt;&lt;/div&gt;&lt;div id=&quot;static-pages&quot;&gt;&lt;h3&gt;Static pages&lt;/h3&gt;&lt;p&gt;Static pages generated in batch makes the administration much more simpler. Moreover there is almost no scalability issues with static pages.&lt;/p&gt;&lt;/div&gt;&lt;div id=&quot;tagging-and-utf8&quot;&gt;&lt;h3&gt;Tagging and UTF8&lt;/h3&gt;&lt;p&gt;Those speak for themselves.&lt;/p&gt;&lt;/div&gt;&lt;div id=&quot;comments&quot;&gt;&lt;h3&gt;Comments&lt;/h3&gt;&lt;p&gt;At the beginning no support for comments is not a problem. I think that blog comments should reuse an existing communication layer like emails.&lt;/p&gt;&lt;p&gt;Comments could be supported via emails like it is done in &lt;a href=&quot;http://all-thing.net/label/whisper/&quot;&gt;Whisper&lt;/a&gt;. However in the mean time that is not the main task, sending &lt;a href=&quot;http://nicolaspouillard.fr&quot;&gt;me&lt;/a&gt; emails will be enough.&lt;/p&gt;&lt;/div&gt;&lt;div id=&quot;syndication&quot;&gt;&lt;h3&gt;Syndication&lt;/h3&gt;&lt;p&gt;Some RSS support or Atom was really needed. I also like to experiment with some &lt;a href=&quot;http://code.google.com/p/pubsubhubbub&quot;&gt;pubsubhub&lt;/a&gt; support in the future.&lt;/p&gt;&lt;p&gt;Syndication will be also done with &lt;a href=&quot;http://twitter.com&quot;&gt;twitter&lt;/a&gt;, since every post will be accompanied by some tweets about it, answering to these tweets will be another way to comment on each post.&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;div id=&quot;future-improvements&quot;&gt;&lt;h2&gt;Future improvements&lt;/h2&gt;&lt;p&gt;On the list of improvements there is: A nicer design, an inspiring blog title, more features... All of these need to come, however as I said earlier the main task is to publish contents regularly and to stop keeping these thoughts for myself.&lt;/p&gt;&lt;/div&gt;</description>
      <pubDate>2009-09-11 00:00:00 UTC</pubDate>
    </item>
  </channel>
</rss>
