<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0"><channel><atom:link rel="hub" href="http://tumblr.superfeedr.com/" xmlns:atom="http://www.w3.org/2005/Atom"/><description>Hi there, I’m Eelco WiersmaI bake usable and beautiful apps
Get in touch with me: +31 6 24169448 or eelco@pagebakers.nl</description><title>Pagebakers</title><generator>Tumblr (3.0; @pagebakers)</generator><link>http://pagebakers.nl/</link><item><title>isUnique validation with Lithium</title><description>&lt;p&gt;This validation rule allows you to validate unique values of any field in any model.&lt;/p&gt;
&lt;p&gt;&lt;a target="_blank" href="http://twitter.com/mgiglesias"&gt;Mariano Iglesias&lt;/a&gt; posted an updated version of the validator rule, which supports existing records. Here is the updated version.&lt;/p&gt;
&lt;pre&gt;&amp;lt;?php
/**
 * isUnique validator for any model. Example usage in model:
 *
 * public $validates = array(
 *     'email' =&amp;gt; array('isUnique', 'message' =&amp;gt; 'This email is already used')
 * );
 */
Validator::add('isUnique', function ($value, $format, $options) {
    $conditions = array($options['field'] =&amp;gt; $value);
    foreach((array) $options['model']::meta('key') as $field) {
        if (!empty($options['values'][$field])) {
            $conditions[$field] = array('!=' =&amp;gt; $options['values'][$field]);
        }
    }
    $fields = $options['field'];
    return is_null($options['model']::find('first', compact('fields', 'conditions')));
});
?&amp;gt;&lt;/pre&gt;
&lt;p&gt;&lt;a href="http://lithify.me/docs/lithium/util/Validator"&gt;More about validation with Lithium&lt;/a&gt;&lt;/p&gt;</description><link>http://pagebakers.nl/post/11311358482</link><guid>http://pagebakers.nl/post/11311358482</guid><pubDate>Tue, 11 Oct 2011 10:41:00 +0200</pubDate></item><item><title>"Design is how it works"</title><description>“Design is how it works”&lt;br/&gt;&lt;br/&gt; - &lt;em&gt;Steve Jobs&lt;/em&gt;</description><link>http://pagebakers.nl/post/10158221235</link><guid>http://pagebakers.nl/post/10158221235</guid><pubDate>Tue, 13 Sep 2011 09:16:55 +0200</pubDate></item><item><title>Enable SSH Agent (key) forwarding on Mac OS Lion</title><description>&lt;p&gt;It looks like in some occasions ssh agent (key) forwarding doesn&amp;#8217;t work anymore after upgrading to Mac OS Lion.&lt;/p&gt;
&lt;p&gt;Gladly the solution is easy, you just need to run the following command in your Terminal and reboot after that.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;ssh-add&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;This adds your &lt;span&gt;identity back to the authentication agent again.&lt;/span&gt;&lt;/p&gt;</description><link>http://pagebakers.nl/post/8039752501</link><guid>http://pagebakers.nl/post/8039752501</guid><pubDate>Mon, 25 Jul 2011 13:48:28 +0200</pubDate><category>mac os</category><category>lion</category><category>ssh</category><category>public key</category><category>forwarding</category></item><item><title>CloudProvider’s Cloud Portal almost ready to go live!</title><description>&lt;img src="http://25.media.tumblr.com/tumblr_lmiojpCog81qgpfqyo1_500.png"/&gt;&lt;br/&gt; &lt;br/&gt;&lt;img src="http://24.media.tumblr.com/tumblr_lmiojpCog81qgpfqyo2_500.png"/&gt;&lt;br/&gt; &lt;br/&gt;&lt;img src="http://25.media.tumblr.com/tumblr_lmiojpCog81qgpfqyo5_r1_500.png"/&gt;&lt;br/&gt; &lt;br/&gt;&lt;img src="http://25.media.tumblr.com/tumblr_lmiojpCog81qgpfqyo6_r1_500.png"/&gt;&lt;br/&gt; &lt;br/&gt;&lt;p&gt;&lt;a href="http://www.cloudprovider.nl"&gt;CloudProvider&lt;/a&gt;’s Cloud Portal almost ready to go live!&lt;/p&gt;</description><link>http://pagebakers.nl/post/6349295536</link><guid>http://pagebakers.nl/post/6349295536</guid><pubDate>Thu, 09 Jun 2011 11:47:00 +0200</pubDate><category>cloudservers</category><category>cloud</category><category>api</category><category>development</category><category>lithium</category></item><item><title>Preview of the first iPad app I’m working on.</title><description>&lt;img src="http://25.media.tumblr.com/tumblr_lmh90dBVd81qgpfqyo1_500.png"/&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;Preview of the first iPad app I’m working on.&lt;/p&gt;</description><link>http://pagebakers.nl/post/6320850448</link><guid>http://pagebakers.nl/post/6320850448</guid><pubDate>Wed, 08 Jun 2011 17:14:00 +0200</pubDate><category>ipad</category><category>design</category></item><item><title>Op maat gemaakte apps voor MKB'ers met bestaande online software</title><description>&lt;a href="http://www.cloudtools.nl/algemeen/op-maat-gemaakte-apps-voor-mkbers-met-bestaande-online-software/"&gt;Op maat gemaakte apps voor MKB'ers met bestaande online software&lt;/a&gt;: &lt;blockquote&gt;
&lt;p&gt;&lt;span&gt;&lt;strong&gt;“Komende jaren zal mijn werk steeds minder uit het zelf ontwikkelen van online software bestaan, maar meer uit het koppelen van bestaande Software as a Service (SaaS)-oplossingen en het in een logisch geheel gieten.”&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/blockquote&gt;</description><link>http://pagebakers.nl/post/6320115023</link><guid>http://pagebakers.nl/post/6320115023</guid><pubDate>Wed, 08 Jun 2011 16:31:00 +0200</pubDate></item><item><title>Downgrading a PECL module</title><description>&lt;p&gt;Downgrading a PECL module is quite easy.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;span&gt;pecl &lt;span&gt;install&lt;/span&gt; &lt;span&gt;-f&lt;/span&gt; module-x.x.x&lt;/span&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;-f makes sure the current installed version of the module will be overwritten.&lt;/p&gt;</description><link>http://pagebakers.nl/post/5447529259</link><guid>http://pagebakers.nl/post/5447529259</guid><pubDate>Fri, 13 May 2011 13:12:00 +0200</pubDate></item></channel></rss>

