<?xml version="1.0"?>
<!-- Generated on Tue, 26 Aug 2008 13:09:00 +0200 -->
<rss version="2.0">
  <channel>
    <title></title>
    <link></link>
    <description></description>
    <language>nl-nl</language>
    <managingEditor>info@ibuildings.nl</managingEditor>
    <webMaster>info@ibuildings.nl</webMaster>
    <pubDate>Tue, 26 Aug 2008 13:09:00 +0200</pubDate>
    <generator>PHP RSS Feed Generator</generator>
    <item>
      <title>PHP Belgium meeting</title>
      <description>
    &lt;img src=&quot;http://phpworks.mtacon.com/img/sponsors/media/phpbelgium.png&quot; align=&quot;right&quot; /&gt;&lt;br /&gt;
A few months ago I attended the Dutch PHP TestFest. It really shoud have been called the Belgian/Dutch PHP TestFest, since about half of the people there were from the &lt;a href=&quot;http://phpbelgium.be&quot;&gt;Belgian PHP user group&lt;/a&gt;. One of them, &lt;a href=&quot;http://felix.phpbelgium.be/blog/&quot;&gt;Felix de Vliegher&lt;/a&gt;, even got a PHP CVS account because of the amount and quality of his tests. All in all, the TestFest was a great succes. &lt;br /&gt;
&lt;br /&gt;
Last week the Belgian PHP User group held their second meeting. Because the venue was fairly close to our office in Vlissingen, some of us decided to have a look. We were early, so there weren't many people yet, but soon the room began to fill up and in the end there were a little over 30 people. Not bad, given that this was only the second meeting.&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;&lt;a href=&quot;http://www.ibuildings.nl/blog/archives/1251-PHP-Belgium-meeting.html#extended&quot;&gt;Ga door met lezen van &quot;PHP Belgium meeting&quot;&lt;/a&gt;
    </description>
      <link>http://www.ibuildings.nl/blog/archives/1251-PHP-Belgium-meeting.html</link>
      <pubDate>Tue, 26 Aug 2008 11:45:00 +0200</pubDate>
      <guid isPermaLink="true">http://www.ibuildings.nl/blog/archives/1251-PHP-Belgium-meeting.html#item650</guid>
    </item>
    <item>
      <title>Implementing Iterators</title>
      <description>
    Let's kickstart this blogpost by defining what an iterator actually is. According to wikipedia, an iterator is: &lt;blockquote&gt;&quot;an object which allows a programmer to traverse through all the elements of a collection, regardless of its specific implementation.&quot;&lt;/blockquote&gt; A collection can pretty much be anything. The most obvious sources would be arrays, but other than that, iterations can be done over database resultsets, strings, datetime intervals, directories, file content and XML listings, to name a few. The real benefit of using a standard iterator implementation, is that every implemented iterator does its job obeying a standard interface. Whether said collection is a database resultset or a directory structure; it can be iterated using the same method names. And that's neat, because it will save us developers a trip to the manual on many occasions (... yeah it does... just admit it... ).&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;&lt;a href=&quot;http://www.ibuildings.nl/blog/archives/1241-Implementing-Iterators.html#extended&quot;&gt;Ga door met lezen van &quot;Implementing Iterators&quot;&lt;/a&gt;
    </description>
      <link>http://www.ibuildings.nl/blog/archives/1241-Implementing-Iterators.html</link>
      <pubDate>Tue, 19 Aug 2008 14:45:00 +0200</pubDate>
      <guid isPermaLink="true">http://www.ibuildings.nl/blog/archives/1241-Implementing-Iterators.html#item649</guid>
    </item>
    <item>
      <title>The definition of evil</title>
      <description>
    Recently a colleague stated that in theory, caching could be considered 'evil'.&lt;br /&gt;
&lt;br /&gt;
Now 'evil' is a very broad term which is used a lot in the IT community, but what does it really mean when we're talking about technical solutions?&lt;br /&gt;
&lt;br /&gt;
I asked around, but couldn't find a clear cut definition, so I went searching...&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;&lt;a href=&quot;http://www.ibuildings.nl/blog/archives/1211-The-definition-of-evil.html#extended&quot;&gt;Ga door met lezen van &quot;The definition of evil&quot;&lt;/a&gt;
    </description>
      <link>http://www.ibuildings.nl/blog/archives/1211-The-definition-of-evil.html</link>
      <pubDate>Tue, 12 Aug 2008 16:11:00 +0200</pubDate>
      <guid isPermaLink="true">http://www.ibuildings.nl/blog/archives/1211-The-definition-of-evil.html#item638</guid>
    </item>
    <item>
      <title>Dutch PHP TestFest - A Big Success</title>
      <description>
    In May, I helped organize the Dutch PHP TestFest in my position as board member of the &lt;a target=&quot;_blank&quot; href=&quot;http://www.phpgg.nl/&quot;&gt;Dutch PHP User Group&lt;/a&gt;. This dutch event, which was sponsored by Ibuildings, was part of the global &lt;a target=&quot;_blank&quot; href=&quot;http://qa.php.net/testfest.php&quot;&gt;PHP TestFest&lt;/a&gt; initiative, which aims to get a higher test coverage for the PHP language and with that stabilize the language even more - something that will benefit all users of PHP. Back in May, we already deemed our event a big success with 10 attendees, a great presentation by &lt;a target=&quot;_blank&quot; href=&quot;http://sebastian-bergmann.de/&quot;&gt;Sebastian Bergmann&lt;/a&gt; and a huge number of tests written. But it turns out to be an even bigger success...&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;&lt;a href=&quot;http://www.ibuildings.nl/blog/archives/1191-Dutch-PHP-TestFest-A-Big-Success.html#extended&quot;&gt;Ga door met lezen van &quot;Dutch PHP TestFest - A Big Success&quot;&lt;/a&gt;
    </description>
      <link>http://www.ibuildings.nl/blog/archives/1191-Dutch-PHP-TestFest-A-Big-Success.html</link>
      <pubDate>Mon, 11 Aug 2008 11:07:00 +0200</pubDate>
      <guid isPermaLink="true">http://www.ibuildings.nl/blog/archives/1191-Dutch-PHP-TestFest-A-Big-Success.html#item637</guid>
    </item>
    <item>
      <title>PHP Events in the UK and Ireland</title>
      <description>
    Following the success of our two PHP seminars in London, we have decided to make it a tour and to visit other parts of the UK and Ireland as well. Next up are Leeds and Dublin - come and meet us in your city! Find out more about our events below.&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;Early-Bird Offer:&lt;/strong&gt; Sign up for any of our events by 15th August, and receive a free copy of the new php|architect book on Enterprise PHP Development, written by our CTO Ivo Jansch!&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;&lt;a href=&quot;http://www.ibuildings.nl/blog/archives/1201-PHP-Events-in-the-UK-and-Ireland.html#extended&quot;&gt;Ga door met lezen van &quot;PHP Events in the UK and Ireland&quot;&lt;/a&gt;
    </description>
      <link>http://www.ibuildings.nl/blog/archives/1201-PHP-Events-in-the-UK-and-Ireland.html</link>
      <pubDate>Mon, 04 Aug 2008 16:22:00 +0200</pubDate>
      <guid isPermaLink="true">http://www.ibuildings.nl/blog/archives/1201-PHP-Events-in-the-UK-and-Ireland.html#item635</guid>
    </item>
    <item>
      <title>Client side migration from CVS to SVN</title>
      <description>
    Migration from CVS to SVN is often described on the repository server side only. When migrating you would normally delete your CVS working copies and check out a fresh one from SVN. However in case of a live website you may not want to reinstall the entire working copy (including locally changed configuration files and unversioned files). Reinstalling the website may cost time, increase server load and cause website downtime.&lt;br /&gt;
&lt;br /&gt;
To overcome this problem you can convert the working copy from a CVS working copy to an SVN working copy, by replacing the CVS meta data with SVN meta data directories in your working copy: &lt;br /&gt;&lt;a href=&quot;http://www.ibuildings.nl/blog/archives/1161-Client-side-migration-from-CVS-to-SVN.html#extended&quot;&gt;Ga door met lezen van &quot;Client side migration from CVS to SVN&quot;&lt;/a&gt;
    </description>
      <link>http://www.ibuildings.nl/blog/archives/1161-Client-side-migration-from-CVS-to-SVN.html</link>
      <pubDate>Thu, 31 Jul 2008 09:17:00 +0200</pubDate>
      <guid isPermaLink="true">http://www.ibuildings.nl/blog/archives/1161-Client-side-migration-from-CVS-to-SVN.html#item634</guid>
    </item>
    <item>
      <title>Symfony 1.1</title>
      <description>
    The official stable release of symfony 1.1 is now nearly a month old, and response so far has been fairly positive. This is not surprising, as this new version adds a lot of flexibility to the already flexible system that symfony offered. Let's have a look at symfony 1.1, and specifically to the points that I feel are especially exciting in this new release.&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;&lt;a href=&quot;http://www.ibuildings.nl/blog/archives/1171-Symfony-1.1.html#extended&quot;&gt;Ga door met lezen van &quot;Symfony 1.1&quot;&lt;/a&gt;
    </description>
      <link>http://www.ibuildings.nl/blog/archives/1171-Symfony-1.1.html</link>
      <pubDate>Tue, 29 Jul 2008 09:45:00 +0200</pubDate>
      <guid isPermaLink="true">http://www.ibuildings.nl/blog/archives/1171-Symfony-1.1.html#item633</guid>
    </item>
    <item>
      <title>Dependency Injection and Zend Framework Controllers</title>
      <description>
    &lt;p&gt;Among the standard object oriented principles is favouring composition over inheritance, and there are plenty of design patterns that work along this line. However, one of the most useful day-to-day facets of the idea doesn't seem to get a lot of attention from PHP developers, namely dependency injection.&lt;/p&gt;&lt;p&gt;The general idea is, that if your class depends on some other object, that object should be passed in rather than generated internally or retrieved via a global variable or singleton. &lt;/p&gt; &lt;br /&gt;&lt;a href=&quot;http://www.ibuildings.nl/blog/archives/1181-Dependency-Injection-and-Zend-Framework-Controllers.html#extended&quot;&gt;Ga door met lezen van &quot;Dependency Injection and Zend Framework Controllers&quot;&lt;/a&gt;
    </description>
      <link>http://www.ibuildings.nl/blog/archives/1181-Dependency-Injection-and-Zend-Framework-Controllers.html</link>
      <pubDate>Sun, 27 Jul 2008 17:02:46 +0200</pubDate>
      <guid isPermaLink="true">http://www.ibuildings.nl/blog/archives/1181-Dependency-Injection-and-Zend-Framework-Controllers.html#item632</guid>
    </item>
    <item>
      <title>My little cron Bash framework (locking and logging)</title>
      <description>
    Occasionally, I have a maintenance task for one of my programs: something has to be done in the background every so often.&lt;br /&gt;
From &lt;a href=&quot;http://everythinglinux.org/rsync/&quot;&gt;rsyncing content between servers&lt;/a&gt; to importing data received from external parties into my application.&lt;br /&gt;
&lt;br /&gt;
Most of the products we make run on Linux servers, so I use &lt;a href=&quot;http://www.linuxhelp.net/guides/cron/&quot;&gt;cron&lt;/a&gt; to make scripts run every x amount of minutes/hours/days/etc.&lt;br /&gt;
&lt;br /&gt;
With most of these small scripts I want the following:&lt;br /&gt;
&lt;ul&gt;&lt;br /&gt;
  &lt;li&gt;Locking (so if a script takes particularly long time, it won't be running twice concurrently)&lt;/li&gt;&lt;br /&gt;
  &lt;li&gt;Logging (Never blindly trust the machine, or a human for that matter, to always do the right thing)&lt;/li&gt;&lt;br /&gt;
  &lt;li&gt;Cleaning up aformentioned logs (because over time they can grow very fast)&lt;/li&gt;&lt;br /&gt;
&lt;/ul&gt; &lt;br /&gt;&lt;a href=&quot;http://www.ibuildings.nl/blog/archives/1091-My-little-cron-Bash-framework-locking-and-logging.html#extended&quot;&gt;Ga door met lezen van &quot;My little cron Bash framework (locking and logging)&quot;&lt;/a&gt;
    </description>
      <link>http://www.ibuildings.nl/blog/archives/1091-My-little-cron-Bash-framework-locking-and-logging.html</link>
      <pubDate>Thu, 24 Jul 2008 10:21:00 +0200</pubDate>
      <guid isPermaLink="true">http://www.ibuildings.nl/blog/archives/1091-My-little-cron-Bash-framework-locking-and-logging.html#item631</guid>
    </item>
    <item>
      <title>About Open Source software projects</title>
      <description>
    I have been involved in several Open Source projects, some of which have been successful and some... less successful. I really enjoy starting new projects but absolutely hate maintaining and documenting the old ones, to the extent that someone even implied that I am allergic to documentation.&lt;br /&gt;
&lt;br /&gt;
There are a few ingredients that make a project successful, the most important being a good idea. An idea can be a tool or a library that you need and think others might find useful; a new technology innovation; or something you think you could implement better than the existing tools. Extra care has to be taken if you decide to create a new tool to replace an old one. In most cases, these projects end up reinventing the wheel without any added value. A wheel is wheel, right? But of course there are exceptions. One of these exceptions is Magento [1]. It's an e-commerce tool in PHP that&lt;br /&gt;
does things differently: PHP5 only, uses a framework (ZF) and the code is nice and clean. A good implementation makes it easier to attract skilled developers to contribute to the project and to build a community around it.&lt;br /&gt;
 &lt;br /&gt;&lt;a href=&quot;http://www.ibuildings.nl/blog/archives/1141-About-Open-Source-software-projects.html#extended&quot;&gt;Ga door met lezen van &quot;About Open Source software projects&quot;&lt;/a&gt;
    </description>
      <link>http://www.ibuildings.nl/blog/archives/1141-About-Open-Source-software-projects.html</link>
      <pubDate>Mon, 21 Jul 2008 11:23:25 +0200</pubDate>
      <guid isPermaLink="true">http://www.ibuildings.nl/blog/archives/1141-About-Open-Source-software-projects.html#item629</guid>
    </item>
  </channel>
</rss>