<?xml version="1.0" encoding="utf-8" ?>

<rss version="2.0" 
   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
   xmlns:admin="http://webns.net/mvcb/"
   xmlns:dc="http://purl.org/dc/elements/1.1/"
   xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
   xmlns:wfw="http://wellformedweb.org/CommentAPI/"
   xmlns:content="http://purl.org/rss/1.0/modules/content/"
   xmlns:creativeCommons="http://backend.userland.com/creativeCommonsRssModule">
<channel>
    
    <title>Uncreative - Databases</title>
    <link>http://blog.wolff-hamburg.de/</link>
    <description>The blog with no witty title...</description>
    <dc:language>en</dc:language>
    <generator>Serendipity 1.5.5 - http://www.s9y.org/</generator>
    <pubDate>Wed, 19 Dec 2007 13:55:45 GMT</pubDate>

    <image>
        <url>http://blog.wolff-hamburg.de/templates/competition/img/s9y_banner_small.png</url>
        <title>RSS: Uncreative - Databases - The blog with no witty title...</title>
        <link>http://blog.wolff-hamburg.de/</link>
        <width>100</width>
        <height>21</height>
    </image>

<item>
    <title>Announcing the next unconference in Hamburg</title>
    <link>http://blog.wolff-hamburg.de/archives/21-Announcing-the-next-unconference-in-Hamburg.html</link>
            <category>Databases</category>
            <category>Events</category>
            <category>PHP</category>
            <category>Programming</category>
    
    <comments>http://blog.wolff-hamburg.de/archives/21-Announcing-the-next-unconference-in-Hamburg.html#comments</comments>
    <wfw:comment>http://blog.wolff-hamburg.de/wfwcomment.php?cid=21</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://blog.wolff-hamburg.de/rss.php?version=2.0&amp;type=comments&amp;cid=21</wfw:commentRss>
    

    <author>nospam@example.com (Markus)</author>
    <content:encoded>
    Hello fellow readers of PHP-Planet (at least the remaining ones who did not yet go on vacation &lt;img src=&quot;http://blog.wolff-hamburg.de/templates/default/img/emoticons/smile.png&quot; alt=&quot;:-)&quot; style=&quot;display: inline; vertical-align: bottom;&quot; class=&quot;emoticon&quot; /&gt;).

After the &lt;a href=&quot;http://blog.wolff-hamburg.de/archives/19-Looking-back-at-the-Hamburg-unconference....html&quot;&gt;success of this year&#039;s PHP Unconference&lt;/a&gt; in Hamburg, Germany, there was little doubt that the event would not remain a single incident. The remaining question was not if, but when should we do the next one?

This question can now be answered: On the weekend of April 26th / 27th, the PHP Unconference 2008 will once again take place in our beautiful city. We want to stick to the proven concept of some pre-announced sessions combined with a spontaneus program that is being proposed and voted for on-site by the attendees, as this has worked tremendously well during the first installment.

The unconference will most probably once again be held at the premises of the local University - we don&#039;t have a 100% official confirmation yet, but things are looking bright (also, the University officials seemed to have enjoyed this year&#039;s unconference just as much as the rest of us &lt;img src=&quot;http://blog.wolff-hamburg.de/templates/default/img/emoticons/smile.png&quot; alt=&quot;:-)&quot; style=&quot;display: inline; vertical-align: bottom;&quot; class=&quot;emoticon&quot; /&gt;).

The only downside is that at the same weekend, there&#039;s a huge sports event, the Hanse-Marathon, taking place in Hamburg, which is likely to block some of the traffic on Sunday and will also have an effect on available hotels - so if you&#039;re planning on coming (and you should &lt;img src=&quot;http://blog.wolff-hamburg.de/templates/default/img/emoticons/laugh.png&quot; alt=&quot;:-D&quot; style=&quot;display: inline; vertical-align: bottom;&quot; class=&quot;emoticon&quot; /&gt;), and wish to stay in a hotel, you should book well in advance.

I will announce more details as they&#039;re being fleshed out - all information will become available on the unconference blog first, though, so head over there and subscribe to the RSS feed &lt;img src=&quot;http://blog.wolff-hamburg.de/templates/default/img/emoticons/smile.png&quot; alt=&quot;:-)&quot; style=&quot;display: inline; vertical-align: bottom;&quot; class=&quot;emoticon&quot; /&gt;

&lt;a href=&quot;http://www.php-unconference.de/&quot;&gt;To the official unconference blog (sorry, German only for now)&lt;/a&gt; 
    </content:encoded>

    <pubDate>Tue, 18 Dec 2007 22:49:11 +0100</pubDate>
    <guid isPermaLink="false">http://blog.wolff-hamburg.de/archives/21-guid.html</guid>
    <creativeCommons:license>http://creativecommons.org/licenses/by/3.0/</creativeCommons:license>
</item>
<item>
    <title>Job Offer in Hamburg, Germany</title>
    <link>http://blog.wolff-hamburg.de/archives/15-Job-Offer-in-Hamburg,-Germany.html</link>
            <category>Databases</category>
            <category>Javascript</category>
            <category>PHP</category>
            <category>Programming</category>
            <category>XUL</category>
    
    <comments>http://blog.wolff-hamburg.de/archives/15-Job-Offer-in-Hamburg,-Germany.html#comments</comments>
    <wfw:comment>http://blog.wolff-hamburg.de/wfwcomment.php?cid=15</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://blog.wolff-hamburg.de/rss.php?version=2.0&amp;type=comments&amp;cid=15</wfw:commentRss>
    

    <author>nospam@example.com (Markus)</author>
    <content:encoded>
    Another one of the &quot;rather different&quot; blog entries today: My current employer, &lt;a href&quot;http://www.presswatch.de/&quot;&gt;PressWatch&lt;/a&gt;, is searching for a full-time PHP developer. We&#039;re in the media monitoring business - which means, we&#039;re basically searching newspapers, magazines, websites and even TV and radio shows for information relevant to our customers. You may extrapolate from the previous sentence that we&#039;re dealing with quite a lot of data &lt;img src=&quot;http://blog.wolff-hamburg.de/templates/default/img/emoticons/smile.png&quot; alt=&quot;:-)&quot; style=&quot;display: inline; vertical-align: bottom;&quot; class=&quot;emoticon&quot; /&gt;

Thus, we&#039;re not searching for someone who can barely code a guestbook. Requirements are:
&lt;ul&gt;&lt;li&gt;Good understanding of OOP in PHP5 (can you say &quot;SPL&quot;?)&lt;/li&gt;
&lt;li&gt;A few years of experience in real-life projects
&lt;/li&gt;&lt;li&gt;Basic knowledge of the Linux/Unix shell (we&#039;re using Linux, FreeBSD and Solaris) 
&lt;ul&gt;&lt;li&gt; Optional: Bash-Scripting basics&lt;/li&gt;&lt;/ul&gt; 
&lt;/li&gt;&lt;li&gt;Some knowledge of regular expressions (no need to be an expert, 
  but if your regex knowledge is very limited you should be willing 
  to learn this) 
&lt;/li&gt;&lt;li&gt;XML-processing with SimpleXML and PHP5-DOM
&lt;/li&gt;&lt;li&gt;Good knowledge in relational databases&lt;ul&gt; 
&lt;li&gt;you know about subqueries, views and triggers 
&lt;/li&gt;&lt;li&gt;you know about normalization and denormalization 
&lt;/li&gt;&lt;li&gt;Optional: PostgreSQL experience 
&lt;/li&gt;&lt;li&gt;Optional: Experience in database optimization (setting indexes, index-clustering, partitioning...)&lt;/li&gt;&lt;/ul&gt; 
&lt;/li&gt;&lt;li&gt;the ability (and willingness &lt;img src=&quot;http://blog.wolff-hamburg.de/templates/default/img/emoticons/laugh.png&quot; alt=&quot;:-D&quot; style=&quot;display: inline; vertical-align: bottom;&quot; class=&quot;emoticon&quot; /&gt;) to quickly grasp complex concepts 
&lt;/li&gt;&lt;li&gt;you have no fear of legacy code &lt;img src=&quot;http://blog.wolff-hamburg.de/templates/default/img/emoticons/laugh.png&quot; alt=&quot;:-D&quot; style=&quot;display: inline; vertical-align: bottom;&quot; class=&quot;emoticon&quot; /&gt; 
&lt;/li&gt;&lt;/ul&gt;

You should also be able to read (and maybe write) English - I suppose if you can read this, this won&#039;t be a problem &lt;img src=&quot;http://blog.wolff-hamburg.de/templates/default/img/emoticons/laugh.png&quot; alt=&quot;:-D&quot; style=&quot;display: inline; vertical-align: bottom;&quot; class=&quot;emoticon&quot; /&gt;. Spoken English is only a requirement if you don&#039;t speak German (and if you don&#039;t, you should be willing to learn &lt;img src=&quot;http://blog.wolff-hamburg.de/templates/default/img/emoticons/smile.png&quot; alt=&quot;:-)&quot; style=&quot;display: inline; vertical-align: bottom;&quot; class=&quot;emoticon&quot; /&gt;).

This is a job where you can learn a lot, have nice colleagues, an interesting environment, and lots of extremely delicious restaurants nearby (yes, this is &lt;strong&gt;vitally important&lt;/strong&gt; &lt;img src=&quot;http://blog.wolff-hamburg.de/templates/default/img/emoticons/laugh.png&quot; alt=&quot;:-D&quot; style=&quot;display: inline; vertical-align: bottom;&quot; class=&quot;emoticon&quot; /&gt;). Oh, and also very important: Free choice of your desktop operating system!

If you&#039;re interested, please send your application directly to my employer via &lt;a href=&quot;jobs@presswatch.de&quot;&gt;jobs@presswatch.de&lt;/a&gt;. If you&#039;re not, but know someone who is, please spread the word &lt;img src=&quot;http://blog.wolff-hamburg.de/templates/default/img/emoticons/smile.png&quot; alt=&quot;:-)&quot; style=&quot;display: inline; vertical-align: bottom;&quot; class=&quot;emoticon&quot; /&gt; 
    </content:encoded>

    <pubDate>Tue, 10 Apr 2007 18:00:58 +0200</pubDate>
    <guid isPermaLink="false">http://blog.wolff-hamburg.de/archives/15-guid.html</guid>
    <creativeCommons:license>http://creativecommons.org/licenses/by/3.0/</creativeCommons:license>
</item>
<item>
    <title>Announcing the PHP Unconference Hamburg</title>
    <link>http://blog.wolff-hamburg.de/archives/14-Announcing-the-PHP-Unconference-Hamburg.html</link>
            <category>Databases</category>
            <category>Javascript</category>
            <category>PHP</category>
            <category>Programming</category>
            <category>XUL</category>
    
    <comments>http://blog.wolff-hamburg.de/archives/14-Announcing-the-PHP-Unconference-Hamburg.html#comments</comments>
    <wfw:comment>http://blog.wolff-hamburg.de/wfwcomment.php?cid=14</wfw:comment>

    <slash:comments>1</slash:comments>
    <wfw:commentRss>http://blog.wolff-hamburg.de/rss.php?version=2.0&amp;type=comments&amp;cid=14</wfw:commentRss>
    

    <author>nospam@example.com (Markus)</author>
    <content:encoded>
    Today I have a little different blog entry for you: On behalf of the PHP Usergroup Hamburg I&#039;m announcing the first PHP Unconference in Hamburg, Germany! The event will take place on May 5th and 6th, at the facilities of the local University (which kindly acts as a co-organizer of the event).

As you may know, we Germans are some strange folks who tend to over-organize everything. Thus, even though it kind of defies the spirit of a true unconference, we&#039;re going to have one slot with pre-planned sessions (topics to be announced shortly before the conference). The University sponsors three rooms though, so even when there&#039;s a session going on, there&#039;ll be plenty opportunity to spontaneously organize two more sessions for all the folks who think the other stuff is completely lame &lt;img src=&quot;http://blog.wolff-hamburg.de/templates/default/img/emoticons/smile.png&quot; alt=&quot;:-)&quot; style=&quot;display: inline; vertical-align: bottom;&quot; class=&quot;emoticon&quot; /&gt;

Anyway, to cover the costs there&#039;s going to be a small fee of 20€. The University will provide an optional lunch on both days for an additional 20€. Students of the University of Hamburg rejoice: You&#039;re going to get in for free (lunch excluded &lt;img src=&quot;http://blog.wolff-hamburg.de/templates/default/img/emoticons/smile.png&quot; alt=&quot;:-)&quot; style=&quot;display: inline; vertical-align: bottom;&quot; class=&quot;emoticon&quot; /&gt;). Visitors from outside Hamburg will have to find some place to spend the night, though (alternatively, Hamburg&#039;s Night-Life offers plenty opportunity to get through the night without sleeping, although I think you&#039;d miss out on the second day of the event, then &lt;img src=&quot;http://blog.wolff-hamburg.de/templates/default/img/emoticons/smile.png&quot; alt=&quot;:-)&quot; style=&quot;display: inline; vertical-align: bottom;&quot; class=&quot;emoticon&quot; /&gt;).

We&#039;ve already sent out invitations to a few of the more prominent members of the PHP communities and got several &lt;strong&gt;yes&lt;/strong&gt; and some definite *maybes*, so we&#039;re off to a promising start &lt;img src=&quot;http://blog.wolff-hamburg.de/templates/default/img/emoticons/smile.png&quot; alt=&quot;:-)&quot; style=&quot;display: inline; vertical-align: bottom;&quot; class=&quot;emoticon&quot; /&gt;

Get more information at:
&lt;a href=&quot;http://www.php-unconference.de/&quot;&gt;http://www.php-unconference.de/&lt;/a&gt;

Oh, yeah, sorry - the site is in German only. I don&#039;t think I&#039;ll manage to fire up a fully translated site in my limited spare time, but if there&#039;s enough interest from non-German-speakers, I&#039;m sure I can manage to at least translate the registration form. Just drop your comments here or at the Unconference blog.

Hope to see many of you guys in a few weeks! &lt;img src=&quot;http://blog.wolff-hamburg.de/templates/default/img/emoticons/laugh.png&quot; alt=&quot;:-D&quot; style=&quot;display: inline; vertical-align: bottom;&quot; class=&quot;emoticon&quot; /&gt; 
    </content:encoded>

    <pubDate>Mon, 02 Apr 2007 22:30:46 +0200</pubDate>
    <guid isPermaLink="false">http://blog.wolff-hamburg.de/archives/14-guid.html</guid>
    <creativeCommons:license>http://creativecommons.org/licenses/by/3.0/</creativeCommons:license>
</item>
<item>
    <title>ActiveRecord enhancements</title>
    <link>http://blog.wolff-hamburg.de/archives/10-ActiveRecord-enhancements.html</link>
            <category>Databases</category>
            <category>PHP</category>
            <category>Programming</category>
    
    <comments>http://blog.wolff-hamburg.de/archives/10-ActiveRecord-enhancements.html#comments</comments>
    <wfw:comment>http://blog.wolff-hamburg.de/wfwcomment.php?cid=10</wfw:comment>

    <slash:comments>1</slash:comments>
    <wfw:commentRss>http://blog.wolff-hamburg.de/rss.php?version=2.0&amp;type=comments&amp;cid=10</wfw:commentRss>
    

    <author>nospam@example.com (Markus)</author>
    <content:encoded>
    After two weeks I finally managed to find a bit of time to continue working on CWAC_ActiveRecord - mainly thanks to the German PHP portal PHP-Center having some kind of server trouble (otherwise, I&#039;d probably have been writing some news posts for them &lt;img src=&quot;http://blog.wolff-hamburg.de/templates/default/img/emoticons/smile.png&quot; alt=&quot;:-)&quot; style=&quot;display: inline; vertical-align: bottom;&quot; class=&quot;emoticon&quot; /&gt;).

Requested by my friend Arnaud was the setConnection() method, that allows to reuse existing PDO objects with CWAC_ActiveRecord. Before this, you could only pass a DSN with the config array and a new connection would always be created.

I&#039;ve also added the limit() and orderBy() methods, whose purposes should be fairly obvious &lt;img src=&quot;http://blog.wolff-hamburg.de/templates/default/img/emoticons/laugh.png&quot; alt=&quot;:-D&quot; style=&quot;display: inline; vertical-align: bottom;&quot; class=&quot;emoticon&quot; /&gt;

Speaking of Arnaud, this friendly dude has recently installed &lt;a href=&quot;https://ssl.limbourg.com/websvn/listing.php?repname=CWAC&amp;path=%2F&amp;sc=0&quot;&gt;WebSVN on our machine&lt;/a&gt; (we&#039;re actually sharing the same server), so viewing the changes to CWAC is not only prettier, but also much more comfortable now, as you can now subscribe to RSS feeds for Subversion changesets.
 
    </content:encoded>

    <pubDate>Mon, 11 Sep 2006 00:03:58 +0200</pubDate>
    <guid isPermaLink="false">http://blog.wolff-hamburg.de/archives/10-guid.html</guid>
    <creativeCommons:license>http://creativecommons.org/licenses/by/3.0/</creativeCommons:license>
</item>
<item>
    <title>eZeAR_ActiveRecord implementation</title>
    <link>http://blog.wolff-hamburg.de/archives/3-eZeAR_ActiveRecord-implementation.html</link>
            <category>Databases</category>
            <category>PHP</category>
            <category>Programming</category>
    
    <comments>http://blog.wolff-hamburg.de/archives/3-eZeAR_ActiveRecord-implementation.html#comments</comments>
    <wfw:comment>http://blog.wolff-hamburg.de/wfwcomment.php?cid=3</wfw:comment>

    <slash:comments>21</slash:comments>
    <wfw:commentRss>http://blog.wolff-hamburg.de/rss.php?version=2.0&amp;type=comments&amp;cid=3</wfw:commentRss>
    

    <author>nospam@example.com (Markus)</author>
    <content:encoded>
    Just as threatened in my last post, I&#039;ll describe the first component of my &lt;a href=&quot;http://blog.wolff-hamburg.de/archives/2-Enter-eZeAR.html#extended&quot;&gt;upcoming eZeAR framework&lt;/a&gt;: The ActiveRecord implementation.

Since &lt;a href=&quot;http://www.akbkhome.com/blog.php&quot;&gt;Alan Knowles&#039;&lt;/a&gt; great &lt;a href=&quot;http://pear.php.net/package/DB_DataObject&quot;&gt;DB_DataObject&lt;/a&gt; package crossed my path a few years ago, I&#039;ve been using object-relational mapping as much as possible. It makes my code a lot more readable than embedding raw SQL queries whenever I need to get the tinyest bit of data out of a database. It also helps dividing the model (or business logic, if you will) from the controller and view scripts (which I have often intermixed for the sake of simplicity). Frankly, I&#039;ve never looked back.

I still like DB_DataObject a lot, mainly for its simplicity and flexibility. But it has some drawbacks: When working with large recordsets (tens of thousands of records), its caching mechanism ate up so much memory, that it had to be deactivated in batch processing scripts. Also, in said scripts it became apparent that performance wasn&#039;t quite what I&#039;d like it to be. In my usual use-cases (intranet applications with master/detail views and a relatively small number of concurrent users) this didn&#039;t have much of an impact, but with really huge databases and batch-processing of huge amounts of data, it was a bitch.

Just by reimplementing a batch script using pure &lt;a href=&quot;http://www.php.net/pdo&quot;&gt;PDO&lt;/a&gt; calls and hand-written SQL as opposed to DataObject I was able to cut down script runtime immensely. The script&#039;s job was to iterate over about 18.000 XML files, normalize the flat data structure and insert it into a schema consisting of about 30-40 database tables. The DataObject-based version of the script ran over one hour. The PDO version took about 6-8 minutes (mind that it was an older version of DBDO, so this may have changed in the meantime).
 &lt;br /&gt;&lt;a href=&quot;http://blog.wolff-hamburg.de/archives/3-eZeAR_ActiveRecord-implementation.html#extended&quot;&gt;Continue reading &quot;eZeAR_ActiveRecord implementation&quot;&lt;/a&gt;
    </content:encoded>

    <pubDate>Sat, 24 Jun 2006 16:20:13 +0200</pubDate>
    <guid isPermaLink="false">http://blog.wolff-hamburg.de/archives/3-guid.html</guid>
    <creativeCommons:license>http://creativecommons.org/licenses/by/3.0/</creativeCommons:license>
</item>

</channel>
</rss>
