/dev/null blogs http://www.nulldevice.eu/blog en No social network http://www.nulldevice.eu/no_social_network <p>Hey ho, I'm a proud member of <a href="http://nosoproject.com/?author=1241">NOSO</a> now... bad thing is, that the meetings are in San Fransisco only ;(</p> <p>Why not start a similar non-social-network for Germany? That's exactly what I need! Forget about XING, Myspace, StudiVZ, Facebook,... those sites absorb your time like a black hole... impoverishment at a high level... watching television instead is no better... what I want is time to relax from the constant information flow... SMS, Instant Messages, Emails, Mailinglists, Blogs,... I can't really stand it anymore ;)</p> http://www.nulldevice.eu/no_social_network#comments cybernetics noise Mon, 08 Oct 2007 20:28:39 +0200 Michael 756 at http://www.nulldevice.eu Comma separated list in SQL http://www.nulldevice.eu/comma_separated_list_sql <p>Just a short example of how to write a stored function that returns a comma separated list of values (Microsoft Transact-SQL):</p> <pre><code> CREATE FUNCION get_authors (@pubId int) RETURNS nvarchar(max) WITH EXECUTE AS CALLER AS BEGIN DECLARE @authorList nvarchar(max); SELECT @authorList = @authorList + ', ' + authorFirstName + ' ' + authorLastName FROM pdb_authors a, pdb_publicationAuthors b WHERE a.authorId = b.authorId AND b.pubId = @pubId; RETURN(SUBSTRING(@authorList, 3, LEN(@authorList) - 2)) END</code></pre> http://www.nulldevice.eu/comma_separated_list_sql#comments sql Sat, 06 Oct 2007 06:42:21 +0200 Michael 755 at http://www.nulldevice.eu Optimizing SQL - Part 1 http://www.nulldevice.eu/optimizing_sql_part_1 <h3 id="toc0">Design approaches for multi-lingual data</h3> <p>In this example, we're assuming a dataset consisting of 6 multi-lingual fields. Each field holds strings with an average length of 200 characters in the 4 locales en, de, zh and ru. A fallback function is implemented using the CASE expression (doesn't add much overhead and is faster than fetching data in two locales and implementing the fallback at application level).</p> <p><a href="http://www.nulldevice.eu/optimizing_sql_part_1">read more</a></p> http://www.nulldevice.eu/optimizing_sql_part_1#comments sql Tue, 18 Sep 2007 15:37:42 +0200 Michael 754 at http://www.nulldevice.eu PHP Magazin: Parlez-vous Zend? http://www.nulldevice.eu/zend_framework_unicode <p><img src="/files/images/php_mag.gif" align="right" width="222" height="60" alt="php_mag.gif" /> Wer sich fuer <strong><a href="http://phpmagazin.de/itr/online_artikel/psecom,id,916,nodeid,62,_language,de.html">mehrsprachige Unternehmens-Anwendungen mit Zend Framework</a></strong> interessiert, findet im aktuellen <a href="http://phpmagazin.de/">PHP Magazin</a> (5.07) einen Artikel von mir. Anhand eines Fallbeispiels wurde gezeigt, wie die Neuentwicklung einer PHP Anwendung mit modernen Technologien ablaufen kann und was es zu beachten gibt.</p> http://www.nulldevice.eu/zend_framework_unicode#comments php zend Wed, 11 Jul 2007 13:10:58 +0200 Michael 753 at http://www.nulldevice.eu Self fucking systems http://www.nulldevice.eu/node/751 <p>Check out this free online book about the relationship between journalism, management and cybernetics:</p> <p><a href="http://www.mariapruckner.com/PDF/ebook_2006_self%20fucking%20systems.pdf">http://www.mariapruckner.com/PDF/ebook_2006_self%20fucking%20systems.pdf</a></p> <blockquote><p>&quot;Es ist illusorisch, zu meinen, das noetige Wissen lasse sich am besten mit herkoemmlichen Bildungsmassnahmen erreichen. Menschen lernen in der Praxis voneinander anhand der Realitaet und Aktualitaet schneller und besser.&quot;</p> </blockquote> http://www.nulldevice.eu/node/751#comments cybernetics Thu, 05 Jul 2007 12:25:17 +0200 Michael 751 at http://www.nulldevice.eu Howto: vsftpd mit virtuellen Usern einrichten http://www.nulldevice.eu/vsftpd <p>This is a small vsftpd howto I wrote some months ago, while installing it on a <strong>SuSE Linux 10</strong> server - sorry to those who don't understand German or use another Linux distribution! Some hints may be useful anyways...</p> <p>The official vsftpd home page is: <a href="http://vsftpd.beasts.org/">http://vsftpd.beasts.org/</a></p> <h3 id="toc0">vsftpd installieren und anpassen</h3> <p>Zunaechst sollte man sicherstellen, dass man vsftpd ueberhaupt installiert hat:<br /> <pre><code> walrus:~ # rpm -q vsftpd vsftpd-2.0.2-3</code></pre> </p> <p><a href="http://www.nulldevice.eu/vsftpd">read more</a></p> http://www.nulldevice.eu/vsftpd#comments linux Fri, 22 Jun 2007 13:15:17 +0200 Michael 749 at http://www.nulldevice.eu Kate and Raimond http://www.nulldevice.eu/kate_and_raimond <p>Kate and Raimond from Melbourne, Australia stayed at my place for the last 5 days. They just left and I'd like to thank them for being my guests!</p> <p><img src="/files/images/kate_and_raimond.jpg" width="500" height="318" alt="kate_and_raimond.jpg" /></p> http://www.nulldevice.eu/kate_and_raimond#comments australia private Thu, 21 Jun 2007 14:27:58 +0200 Michael 748 at http://www.nulldevice.eu plat_forms 2007 results http://www.nulldevice.eu/plat_forms_results <p>The <a href="http://www.plat-forms.org/2007/documents/platformsTR.pdf">results of the plat_forms contest</a> are finally published! PHP was the best platform in terms of completeness, maintainablity and security. Also, the differences between the PHP teams were small compared to Perl and Java - that means, our <strong>Team 8</strong> was quite good, even if OXID (Team 6) is the winning team for PHP: Congratulations :)</p> <p>I'd like to mention that we had almost no defects in our solution:</p> <p><img src="/files/images/plat_forms_incorrectness.png" width="437" height="341" alt="plat_forms_incorrectness.png" /></p> <p><a href="http://www.nulldevice.eu/plat_forms_results">read more</a></p> http://www.nulldevice.eu/plat_forms_results#comments php zend Wed, 20 Jun 2007 13:37:02 +0200 Michael 745 at http://www.nulldevice.eu Fun with SQL http://www.nulldevice.eu/recursive_sql <p>I had heaps of fun with SQL today (again). Ever heard of Common Table Expressions? Here is an example of a recursive query:</p> <pre><code> WITH nodeCTE (nodeId, nodeName) AS ( SELECT a.nodeId, nodeName = CONVERT(varchar(8000), nodeName) FROM nodeNames a JOIN nodes b ON a.nodeId = b.nodeId AND a.locale = 'en' AND b.parentId = 0 UNION ALL SELECT y.nodeId, x.nodeName + ' -&gt; ' + CONVERT(varchar(8000), z.nodeName) FROM nodeCTE x JOIN nodes y ON y.parentId = x.nodeId JOIN nodeNames z ON z.nodeId = y.nodeId AND z.locale = 'en' ) SELECT * FROM nodeCTE;</code></pre> <p><a href="http://www.nulldevice.eu/recursive_sql">read more</a></p> http://www.nulldevice.eu/recursive_sql#comments php sql Fri, 08 Jun 2007 10:02:02 +0200 Michael 744 at http://www.nulldevice.eu Want to work at GROU.PS? http://www.nulldevice.eu/grou_ps_job_ad <p>I just found this funny job ad on <a href="http://grou.ps/jobs.do">http://grou.ps/jobs.do</a>:</p> <p>$q1 = Are you a master PHP Ninja?<br /> $q2 = Excel at object oriented PHP, MVC pattern, Smarty template engine, caching practices and PEAR?<br /> $q3 = Familiar with CSS, Javascript, XHTML, MySQL?<br /> $q4 = Experienced with Zend Studio, Subversion, wikis?<br /> $q5 = Love open source? Aware of RSS, XML-RPC, web services, memcached and all other geeky stuff?<br /> $q6 = Keen to learn much more?<br /> $q7 = Ready to move to Silicon Valley?</p> if ( $q1 &amp;&amp; $q2 &amp;&amp; $q3 &amp;&amp; $q4 &amp;&amp; $q5 &amp;&amp; $q6 ) {<br /> echo &quot;YOU SHOULD &lt;strong&gt;JOIN&lt;/strong&gt; US! drop your resume to contact@grou.ps &lt;br /&gt;&quot;;<br /> echo &quot;please include some php and javascript code snippets or refer us to an open source project you've&quot;;<br /> echo &quot;already made. tell us our coding mistakes in this call and let us know what you know about&quot;;<br /> echo &quot;the new javascript 1.7, mysql 5.2 and php 6. thanx,&quot;;<br /> exit;<br /> }<p>else {<br /> die(&quot;maybe next time...&quot;);<br /> }</p> <p><a href="http://www.nulldevice.eu/grou_ps_job_ad">read more</a></p> http://www.nulldevice.eu/grou_ps_job_ad#comments php Tue, 05 Jun 2007 12:14:27 +0200 Michael 743 at http://www.nulldevice.eu