<?xml version='1.0' encoding='UTF-8'?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/'><id>tag:blogger.com,1999:blog-2202291455234725216</id><updated>2008-10-02T00:05:37.761+01:00</updated><title type='text'>Piins Team Blog</title><subtitle type='html'></subtitle><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2202291455234725216/posts/default'/><link rel='alternate' type='text/html' href='http://blog.piins.com/'/><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://blog.piins.com/atom.xml'/><author><name>Karlheinz Toni</name><uri>http://www.blogger.com/profile/06199620377579825677</uri><email>noreply@blogger.com</email></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>13</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-2202291455234725216.post-6126745546862215156</id><published>2008-08-25T23:39:00.003+01:00</published><updated>2008-08-25T23:55:21.748+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='library'/><category scheme='http://www.blogger.com/atom/ns#' term='general help'/><category scheme='http://www.blogger.com/atom/ns#' term='programming'/><title type='text'>Check MySQL connection from shell (bash) and backup database</title><content type='html'>et voilà. In case you should ever be in a situation to check your mysql connection from a shell script you can easily do so by:&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 51);font-size:85%;" &gt;#!/bin/bash&lt;br /&gt;echo -n -e "Please enter the DB user: \t\t"&lt;br /&gt;read DB_USER&lt;br /&gt;&lt;br /&gt;echo -n -e "Please enter the DB password: \t\t"&lt;br /&gt;read DB_PWD&lt;br /&gt;&lt;br /&gt;DB_con_ok=$(mysql -u $DB_USER --password=$DB_PWD -e "show databases;"|grep "mysql")&lt;br /&gt;if [[ $DB_con_ok != "mysql" ]]&lt;br /&gt;then&lt;br /&gt;        echo&lt;br /&gt;        echo "The DB connection could not be established. Check you username and password and try again."&lt;br /&gt;        echo&lt;br /&gt;        exit;&lt;br /&gt;fi&lt;br /&gt;#whatever code is executed here, only is done so, IF the mysql credentials are valid&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;And above, if you need to back up your DB (e.g. in a cron), you can easily do so by&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 51);font-size:85%;" &gt;#!/bin/bash&lt;br /&gt;#DEFINITIONS FIRST&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(51, 51, 51);font-size:85%;" &gt;DB_USER="mysqlUser"&lt;br /&gt;DB_PWD="mysqlPwd"&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 51);font-size:85%;" &gt;VERSION&lt;/span&gt;&lt;span style="color: rgb(51, 51, 51);font-size:85%;" &gt;=$(date +"%d-%m-%Y") #store the day, month and year the backup was performed&lt;br /&gt;&lt;br /&gt;#CHANGE TO BACKUP DIRECTORY&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(51, 51, 51);font-size:85%;" &gt;cd /backup&lt;br /&gt;#PERFORM THE MYSQL BACKUP COMMAND&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(51, 51, 51);font-size:85%;" &gt;mysqldump --routines --all-databases -u $DB_USER --password=$DB_PWD  &gt; db_$VERSION.mysql&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;The &lt;span style="color: rgb(51, 51, 51);font-size:85%;" &gt;--routines &lt;/span&gt; command makes sure, you're backing up stored procedures as well.&lt;br /&gt;&lt;br /&gt;OR if you only want to backup specific databases, just use&lt;br /&gt;&lt;span style="color: rgb(51, 51, 51);font-size:85%;" &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(51, 51, 51);font-size:85%;" &gt;#!/bin/bash&lt;br /&gt;#DEFINITIONS FIRST&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(51, 51, 51);font-size:85%;" &gt;DB_USER="mysqlUser"&lt;br /&gt;DB_PWD="mysqlPwd"&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(51, 51, 51);font-size:85%;" &gt;DATABASES="database1 database2 database3" #define the databases that you want to backup (delimited by the ' ' whitespace character)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 51);font-size:85%;" &gt;VERSION&lt;/span&gt;&lt;span style="color: rgb(51, 51, 51);font-size:85%;" &gt;=$(date +"%d-%m-%Y") #store the day, month and year the backup was performed&lt;br /&gt;&lt;br /&gt;#CHANGE TO BACKUP DIRECTORY&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(51, 51, 51);font-size:85%;" &gt;cd /backup&lt;br /&gt;#PERFORM THE MYSQL BACKUP COMMAND&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 51);font-size:85%;" &gt; mysqldump --routines -u $DB_USER --password=$DB_PWD  --databases $&lt;/span&gt;&lt;span style="color: rgb(51, 51, 51);font-size:85%;" &gt;DATABASES &lt;/span&gt;&lt;span style="color: rgb(51, 51, 51);font-size:85%;" &gt;&gt; db_$VERSION.mysql&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;check out the &lt;a href="http://dev.mysql.com/doc/refman/5.0/en/mysqldump.html"&gt;MySQL manual for mysqldump&lt;/a&gt; as well. Hope this was useful to some of you :D&lt;br /&gt;&lt;br /&gt;Cheers,&lt;br /&gt;Charly</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2202291455234725216/posts/default/6126745546862215156'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2202291455234725216/posts/default/6126745546862215156'/><link rel='alternate' type='text/html' href='http://blog.piins.com/2008/08/check-mysql-connection-from-shell-bash.html' title='Check MySQL connection from shell (bash) and backup database'/><author><name>Karlheinz Toni</name><uri>http://www.blogger.com/profile/06199620377579825677</uri><email>noreply@blogger.com</email></author></entry><entry><id>tag:blogger.com,1999:blog-2202291455234725216.post-4394120716305917924</id><published>2008-08-07T13:08:00.001+01:00</published><updated>2008-08-07T16:07:15.749+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='API'/><category scheme='http://www.blogger.com/atom/ns#' term='library'/><category scheme='http://www.blogger.com/atom/ns#' term='general help'/><category scheme='http://www.blogger.com/atom/ns#' term='programming'/><title type='text'>PHP Performance Optimization</title><content type='html'>In every development cycle there comes the time, when you've got to optimize things. I really love the following article: guys &amp;amp; iris: you should all have a good read of http://c2.com/cgi/wiki?PrematureOptimization about this topic.&lt;br /&gt;&lt;br /&gt;It clearly explains and lays out why it is the best to:&lt;br /&gt;&lt;ol&gt;&lt;li&gt; Make it work. &lt;/li&gt;&lt;li&gt; Make it right. &lt;/li&gt;&lt;li&gt; Make it fast. &lt;/li&gt;&lt;/ol&gt;in exactly that order. To be even more precise it says:&lt;br /&gt;&lt;ol&gt;&lt;li&gt; Make it work. &lt;/li&gt;&lt;li&gt; Make it right &lt;/li&gt;&lt;li&gt; Make everything work. &lt;/li&gt;&lt;li&gt; Make everything right. &lt;/li&gt;&lt;li&gt; Use the system and find performance bottlenecks. &lt;/li&gt;&lt;li&gt; Use a profiler in those bottlenecks to determine what needs to be optimized.  &lt;/li&gt;&lt;li&gt; Make it fast. You maintained unit tests, right? Then you can refactor the code mercilessly in order to improve the performance. &lt;/li&gt;&lt;/ol&gt;So, I think we've hit that 2nd/4th point now. As you know from one of my last blogs, I massively like my MacBook. So of course, I'm not prepared to switch away for a simple performance analysis tool.&lt;br /&gt;&lt;br /&gt;As you might be well aware, a typical combination to identify PHP bottlenecks is &lt;a href="http://xdebug.org/"&gt;XDebug&lt;/a&gt; to log execution times and &lt;a href="http://kcachegrind.sourceforge.net/"&gt;KCacheGrind&lt;/a&gt; to make them human-readable. Unfortunately, the installation process of KCacheGrind of Mac OS X is not that straight forward, although it's pretty straightforward :).&lt;br /&gt;&lt;br /&gt;I've taken the following small tutorial from http://brent.izolo.com/blog/?p=4 and amended it where necessary.&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Install Fink. An excellent article on how to set up Fink on your Mac can be found in the &lt;a href="http://www.macdevcenter.com/pub/a/mac/2005/09/30/fink.html"&gt;O'Reilly macdevcenter&lt;/a&gt;. Check it out. Otherwise, you can just download the installable binaries for your version of Mac OS from the &lt;a href="http://www.google.co.uk/url?sa=t&amp;amp;ct=res&amp;amp;cd=1&amp;amp;url=http%3A%2F%2Fwww.finkproject.org%2F&amp;amp;ei=KeiaSO24MZGq0gS64rWqBQ&amp;amp;usg=AFQjCNGCLcv3EIIAz0RhNRqKbCOsshgG7Q&amp;amp;sig2=4oltjvmvMBzYoc5cyFZ_uQ"&gt;Fink homepage&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;install the X11 development package as hinted by this incredibly useful little tutorial:&lt;br /&gt;&lt;a href="http://overstimulate.com/articles/installing-x11-on-os-x-10-4-tiger"&gt;Installing X11 on OS X 10.4 Tiger&lt;/a&gt;. It's 5 years old, but still up to date.&lt;/li&gt;&lt;li&gt;edit /sw/etc/fink.conf and add:&lt;br /&gt;&lt;span style="font-style: italic;"&gt;unstable/main unstable/crypto&lt;/span&gt;&lt;br /&gt;to the &lt;span style="font-weight: bold;"&gt;Trees&lt;/span&gt; key. The line should now read like this:&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Trees: local/main stable/main stable/crypto unstable/main unstable/crypto&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-style: italic;"&gt;&lt;/span&gt;Open the command-line and enter:&lt;br /&gt;&lt;span style="font-style: italic;"&gt;fink selfupdate; fink index; fink scanpackages&lt;/span&gt;&lt;/li&gt;&lt;li&gt;After the update and reindexing finished enter:&lt;br /&gt;&lt;span style="font-style: italic;"&gt;sudo fink install kcachegrind&lt;/span&gt;&lt;br /&gt;in the command line&lt;/li&gt;&lt;li&gt;Answer all the questions by the script and prepare for a looooooooooong configuration and installation time (many, many package dependencies)&lt;/li&gt;&lt;/ol&gt;To run KCacheGrind:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;start X11 (e.g. by using the Spotlight and searching for "X11")&lt;/li&gt;&lt;li&gt;open the console and type:&lt;br /&gt;&lt;span style="font-style: italic;"&gt;/sw/bin/kcachegrind &lt;/span&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;That's it (hopefully!). Enjoy.&lt;br /&gt;&lt;br /&gt;Bests,&lt;br /&gt;Charly</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2202291455234725216/posts/default/4394120716305917924'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2202291455234725216/posts/default/4394120716305917924'/><link rel='alternate' type='text/html' href='http://blog.piins.com/2008/08/php-performance-optimization.html' title='PHP Performance Optimization'/><author><name>Karlheinz Toni</name><uri>http://www.blogger.com/profile/06199620377579825677</uri><email>noreply@blogger.com</email></author></entry><entry><id>tag:blogger.com,1999:blog-2202291455234725216.post-3660431180501125794</id><published>2008-07-07T15:29:00.000+01:00</published><updated>2008-07-07T15:37:01.589+01:00</updated><title type='text'>PHP exec output</title><content type='html'>We encountered a random problem while trying to execute a program via the &lt;a href="http://us.php.net/manual/en/function.exec.php"&gt;PHP exec command&lt;/a&gt; and trying to capture the output of the executed program; we always retrieved an empty String.&lt;br /&gt;&lt;br /&gt;This is due to not using the default I/O buffer. You have to tell the shell which output buffer to use. This can be simply done by appending "&lt;span style="font-weight: bold;"&gt;2&gt;&amp;amp;1&lt;/span&gt;" to the command.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153); font-weight: bold;"&gt;exec($command, $output); -&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153); font-weight: bold;"&gt;exec($command." 2&gt;&amp;amp;1", $output);&lt;/span&gt;&lt;span style="font-family:monospace;"&gt;&lt;/span&gt;&lt;span class="methodparam"&gt;&lt;tt class="parameter reference"&gt;&lt;/tt&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;et voilà, the output array variable should not be an empty string anymore.&lt;br /&gt;&lt;br /&gt;Hope this helps.&lt;br /&gt;&lt;br /&gt;Bests,&lt;br /&gt;Charly</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2202291455234725216/posts/default/3660431180501125794'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2202291455234725216/posts/default/3660431180501125794'/><link rel='alternate' type='text/html' href='http://blog.piins.com/2008/07/php-exec-output.html' title='PHP exec output'/><author><name>Karlheinz Toni</name><uri>http://www.blogger.com/profile/06199620377579825677</uri><email>noreply@blogger.com</email></author></entry><entry><id>tag:blogger.com,1999:blog-2202291455234725216.post-2152334185998833799</id><published>2008-07-03T00:11:00.010+01:00</published><updated>2008-07-03T00:25:28.817+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='vision'/><category scheme='http://www.blogger.com/atom/ns#' term='API'/><category scheme='http://www.blogger.com/atom/ns#' term='public statement'/><category scheme='http://www.blogger.com/atom/ns#' term='Philosophy'/><category scheme='http://www.blogger.com/atom/ns#' term='programming'/><category scheme='http://www.blogger.com/atom/ns#' term='user-info'/><title type='text'>Piins Contact API - The data is the users'</title><content type='html'>We just don't agree that platforms have the right to claim possession over user data in terms of completely restricting them from accessing/deleting/editing all their data in the most efficient way. CAVEAT: "most efficient" does definitely not refer to the way some platforms (we don't want to point with fingers here) define "efficient", i.e. only via their own platform.&lt;br /&gt;&lt;br /&gt;They might do a nice job to convince themselves that they are the best, and market valuation might suggest that they are, but all the data there is still the users'. We'd even go that far to say, that not only the direct data, but also all the inferred one is the users', although you can probably argue about that, so we'll cover that in another posting :)&lt;br /&gt;&lt;br /&gt;Anyways, as part of our movement to make all data as accessible to their respective users, being extremely aware of privacy and data protection standards, &lt;a href="http://piins.com/team"&gt;we&lt;/a&gt;'ve released our &lt;a href="http://api.piins.com"&gt;little contact-import and message sending API&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;If you are interested &lt;a href="http://piins.com/contact"&gt;contact us&lt;/a&gt; anytime, we're happy to discuss how you can help users to access all their data as easily as possible (well at least, as our little Piin-brains can do, if we piin down the time :). We want to speak to you first to assure, that you are not going to misuse the API in any malicious or harmful way.&lt;br /&gt;&lt;br /&gt;The link for &lt;a href="http://api.piins.com"&gt;the API&lt;/a&gt; is for testing only. WE DO NOT STORE ANY OF YOUR CONTACTS, NEITHER DO WE SPAM THEM. We hate spam ourselves and if we had a little bit more time, we'd be working on a giant fight-spam-forever project! This is why we disabled message sending via the Outlook upload as well. You will still be able to see the imported contacts directly after import from your Outlook CSV file, but not be able to send them messages.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;P.S.: If your are interested in an &lt;a href="http://blog.piins.com/2008/03/first-piins-os-release-smarty-i18n.html"&gt;internationalization library for PHP&lt;/a&gt;, we've developed one for &lt;a href="http://www.smarty.net/"&gt;Smarty&lt;/a&gt; in &lt;a href="http://php.net"&gt;PHP&lt;/a&gt;. A tutorial for this library can be found &lt;a href="http://blog.piins.com/api/smarty_i18n/index.php"&gt;here&lt;/a&gt;. We're planning to release many more APIs for the open source community and the startup community, so stay tuned with our blog.&lt;/span&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2202291455234725216/posts/default/2152334185998833799'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2202291455234725216/posts/default/2152334185998833799'/><link rel='alternate' type='text/html' href='http://blog.piins.com/2008/07/piins-contact-api-data-is-users.html' title='Piins Contact API - The data is the users&apos;'/><author><name>Karlheinz Toni</name><uri>http://www.blogger.com/profile/06199620377579825677</uri><email>noreply@blogger.com</email></author></entry><entry><id>tag:blogger.com,1999:blog-2202291455234725216.post-5501611733325828918</id><published>2008-06-27T16:57:00.000+01:00</published><updated>2008-06-27T17:16:02.534+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='API'/><category scheme='http://www.blogger.com/atom/ns#' term='general help'/><category scheme='http://www.blogger.com/atom/ns#' term='programming'/><title type='text'>Install Sphinx on Mac OSX Tiger (10.4)</title><content type='html'>Hello everyone (especially developers),&lt;br /&gt;&lt;br /&gt;I know, I know - you should NEVER use a development environment that is different from your deployment one, but I just can't help myself. I just love my Mac and don't want to replace my nice little black MacBook by a clumsy other one, just because I've to run a customized version of Gentoo on it :) - neither do I want to mess with BootCamp...&lt;br /&gt;&lt;br /&gt;That aside, I've struggled for a little bit getting &lt;a href="http://www.sphinxsearch.com/"&gt;Sphinx&lt;/a&gt; (the incredible indexing and search engine) to work on my machine, a MacBook with OSX Tiger (10.4) on it. Maybe some of you are struggling with the same problem, so I thought I put a short tutorial together that helped me compile and run it successfully.&lt;br /&gt;&lt;br /&gt;So here we go:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;download  version 2.5 of &lt;a href="http://developer.apple.com/tools/download/"&gt;XCode&lt;/a&gt; from the Apple page. Version 2.5 is for Tiger (10.4).&lt;br /&gt;&lt;/li&gt;&lt;li&gt;install the X11 development package as hinted by this incredibly useful little tutorial:&lt;br /&gt;&lt;a href="http://overstimulate.com/articles/installing-x11-on-os-x-10-4-tiger"&gt;Installing X11 on OS X 10.4 Tiger&lt;/a&gt;. It's 5 years old, but still up to date.&lt;/li&gt;&lt;li&gt;download and install MacPorts (if you haven't already): &lt;a href="http://www.macports.org/" target="_blank"&gt;http://www.macports.org/&lt;/a&gt;&lt;/li&gt;&lt;li&gt;open console and enter &lt;b&gt;sudo /opt/local/bin/port install mysql5-devel&lt;/b&gt;&lt;/li&gt;&lt;li&gt;wait, wait some more, wait, wait, get coffee and wait&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.sphinxsearch.com/downloads.html"&gt;Download Sphinx&lt;/a&gt; and untar it to any directory&lt;/li&gt;&lt;li&gt;in the console, change to the directory you just untar'd Sphinx to&lt;br /&gt;&lt;/li&gt;&lt;li&gt;enter in console: &lt;b&gt;./configure --with-mysql-libs=/opt/local&lt;wbr&gt;/lib/mysql5/mysql/ --with-mysql-includes=/opt&lt;wbr&gt;/local/include/mysql5/mysql/&lt;/b&gt;&lt;/li&gt;&lt;li&gt;enter in console: &lt;b&gt;./make&lt;/b&gt;&lt;/li&gt;&lt;li&gt;enter in console: &lt;b&gt;sudo ./make install&lt;/b&gt;&lt;/li&gt;&lt;/ul&gt;That should have done the trick!&lt;br /&gt;&lt;br /&gt;Enjoy.&lt;br /&gt;&lt;br /&gt;Bests,&lt;br /&gt;Charly</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2202291455234725216/posts/default/5501611733325828918'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2202291455234725216/posts/default/5501611733325828918'/><link rel='alternate' type='text/html' href='http://blog.piins.com/2008/06/install-sphinx-on-mac-osx-tiger-104.html' title='Install Sphinx on Mac OSX Tiger (10.4)'/><author><name>Karlheinz Toni</name><uri>http://www.blogger.com/profile/06199620377579825677</uri><email>noreply@blogger.com</email></author></entry><entry><id>tag:blogger.com,1999:blog-2202291455234725216.post-3579971438569863052</id><published>2008-04-29T02:09:00.000+01:00</published><updated>2008-04-29T02:13:44.730+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='public statement'/><category scheme='http://www.blogger.com/atom/ns#' term='user-info'/><category scheme='http://www.blogger.com/atom/ns#' term='PR'/><title type='text'>Piins - extended Beta</title><content type='html'>very, very soon (1st of May) Piins is entering an extended Beta version meaning that not only friends and family can see, live and breathe the spirit of Piins.&lt;br /&gt;&lt;br /&gt;If you are interested in participating in this extended beta, send us a mail to invitations@piins.com with a funny, exciting or otherwise catchy reason why you should be on it and you'll get an invitation code. If you want, you can also get on our "most famous reasons why I want to be on Piins" list :)&lt;br /&gt;&lt;br /&gt;Applications are open until 15th of May 2008.&lt;br /&gt;&lt;br /&gt;Hope to see you soon on Piins.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2202291455234725216/posts/default/3579971438569863052'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2202291455234725216/posts/default/3579971438569863052'/><link rel='alternate' type='text/html' href='http://blog.piins.com/2008/04/piins-extended-beta.html' title='Piins - extended Beta'/><author><name>Karlheinz Toni</name><uri>http://www.blogger.com/profile/06199620377579825677</uri><email>noreply@blogger.com</email></author></entry><entry><id>tag:blogger.com,1999:blog-2202291455234725216.post-4749346450535345711</id><published>2008-04-07T00:53:00.000+01:00</published><updated>2008-04-07T00:55:19.979+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Event'/><category scheme='http://www.blogger.com/atom/ns#' term='PR'/><category scheme='http://www.blogger.com/atom/ns#' term='London'/><title type='text'>Minibar honors Piins</title><content type='html'>Christian from Minibar allowed Piins do start the ‘web innovators in residence’ blog at the Minibar site. The first blog can be seen &lt;a href="http://www.openbusiness.cc/2008/04/06/piinscom-changing-the-internet-beta-invites-available/"&gt;here&lt;/a&gt; on the &lt;a href="http://www.openbusiness.cc/"&gt;Minibar site&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;More blogs of Piins to appear there. So stay tuned :)</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/2202291455234725216/4749346450535345711/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2202291455234725216&amp;postID=4749346450535345711' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2202291455234725216/posts/default/4749346450535345711'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2202291455234725216/posts/default/4749346450535345711'/><link rel='alternate' type='text/html' href='http://blog.piins.com/2008/04/minibar-honors-piins.html' title='Minibar honors Piins'/><author><name>Karlheinz Toni</name><uri>http://www.blogger.com/profile/06199620377579825677</uri><email>noreply@blogger.com</email></author></entry><entry><id>tag:blogger.com,1999:blog-2202291455234725216.post-7113259663564324438</id><published>2008-04-06T22:15:00.000+01:00</published><updated>2008-04-06T23:13:44.451+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='vision'/><category scheme='http://www.blogger.com/atom/ns#' term='public statement'/><category scheme='http://www.blogger.com/atom/ns#' term='Philosophy'/><category scheme='http://www.blogger.com/atom/ns#' term='Design'/><title type='text'>Designing Piins - Object and Issues –</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;div style="text-align: left;"&gt;&lt;span style="font-style: italic;font-size:100%;" &gt;“ Design refers to the will to interpret the meaning of human life and existence through the process of making things”.&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;div style="text-align: right;"&gt;                                                                                                                       &lt;span style="color: rgb(51, 51, 51);font-size:100%;" &gt;       &lt;/span&gt;&lt;span style="color: rgb(51, 51, 51);font-size:100%;" &gt;Kenya Hara&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;span style="font-size:100%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="color: rgb(51, 51, 51);"&gt;During Piin’s” stealth mode period” It is an interesting challenge to talk about the design of something without revealing the details of the actual object. But every design is based on interpreting how to make certain functionalities as easy to understand and accessible for their intended users. Talking about Piins’s ideas and philosophy is a good start for the conversation as it is the basis for every design decision made regarding the user interface and structure of the site itself.&lt;br /&gt;&lt;br /&gt;We’ve decided to start by approaching this discussion by talking about few common user pains that Piins addresses - When Piins comes out of it’s stealth mode we’ll be able to reveal more details on the solutions we’ve come up with.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);font-size:100%;" &gt;&lt;span style="font-weight: bold;"&gt;1)    Frustration -&lt;/span&gt;&lt;span style="font-style: italic;"&gt; “I like this site, how do I remember it and how can I comment on it?”-&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;    When browsing the Internet you often find information that interests you, it might be a                         paragraph, a sentence, a photograph or just anything that you would like to remember, find         again, comment on, share etc. while keeping it in the context of the original page. You can                 always bookmark the page but then it can still be a hassle finding it again within it.&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;br /&gt;    We believe in helping the user gain that flexibility with the information he finds. We believe         in convenience, being able to communicate, share and above all saving our precious lifetime         not having to deal with repetition.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);font-size:100%;" &gt;&lt;span style="font-weight: bold;"&gt;2) Limitedness - &lt;/span&gt;&lt;span style="font-style: italic;"&gt;“I have 3 computers: at home, a laptop and at work… How can they share     the same Internet data?”-&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;It’s a hassle having to export your bookmarks and reinstall them every time you change                         computers. There are a lot of sites out there that give you the chance to gather information                 such as bookmarks, favourite blogs etc. but users have to go to a specific website to access                 that content which breaks up the browsing experience. We like mobility and accessibility and         assume so do most other people.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);font-size:100%;" &gt;&lt;span style="font-weight: bold;"&gt;3) Perceived Privacy Threats - &lt;/span&gt;&lt;span style="font-style: italic;"&gt;“Which of my private data is floating in the Web? How secure is it?”-&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;Big brother always feels to be standing right behind your shoulder, especially these days                         when we enter so much information about ourselves online. Even worse, this information is            potentially trackable by “other users” We are becoming more paranoid about who is                                         accessing our personal data. We don’t like privacy threats and we don’t’ like being watched.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);font-size:100%;" &gt;&lt;span style="font-weight: bold;"&gt;4) Time - &lt;span style="font-style: italic;"&gt;“&lt;/span&gt;&lt;/span&gt;&lt;span style="font-style: italic;"&gt;I rather have the best search results rather than many!”-&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;The future of the Internet as we see it is about user helping user. It’s about being able to                         communicate with other users and being able to voice our opinions whatever they may be.                 Keeping those thoughts and ideas either private, for our own use or sharing them with others         that might benefit from them. Having other users with similar interests to help us find what          we are looking for would be ideal.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(51, 51, 51);font-size:100%;" &gt;The design solutions for Piins called for simplicity. The elements involved had to be visible but not obtrusive. Their structures, colours and shapes should not compete with other visible elements but exist in harmony with the other content. There where many design challenges facing us when we started Piins and there are still many more to come, most required a whole new way of thinking.&lt;br /&gt;&lt;br /&gt;We are creating something new and revolutionary but we have to make it comfortable for people to be able to use it straight away without having to learn something new. While sitting in the comfort of familiarity we can start browsing the unknown and have some new surprising, pleasurable experiences.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;We are here to try to make life better and we hope you will enjoy.&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/2202291455234725216/7113259663564324438/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2202291455234725216&amp;postID=7113259663564324438' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2202291455234725216/posts/default/7113259663564324438'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2202291455234725216/posts/default/7113259663564324438'/><link rel='alternate' type='text/html' href='http://blog.piins.com/2008/04/designing-piins-object-and-issues.html' title='Designing Piins - Object and Issues –'/><author><name>Iris Thorsteinsdottir</name><uri>http://www.blogger.com/profile/15894338698981436041</uri><email>noreply@blogger.com</email></author></entry><entry><id>tag:blogger.com,1999:blog-2202291455234725216.post-7886551349288721677</id><published>2008-04-05T20:46:00.000+01:00</published><updated>2008-04-05T20:47:11.852+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='public statement'/><category scheme='http://www.blogger.com/atom/ns#' term='user-info'/><category scheme='http://www.blogger.com/atom/ns#' term='PR'/><title type='text'>PIINS – AIMS AND PHILOSOPHY BLOG Nr. 1</title><content type='html'>&lt;p align="justify"&gt;&lt;span style="font-family:Arial;font-size:100%;"&gt;So people keep asking  us – “what’s Piins all about?”.  But as with many new concepts  when you first start working on them, it’s actually quite hard to  sum it up in one pithy sentence. Piins offers such a huge amount of  functionality in one clever application that focusing on one specific  thing never seems to do it justice.  &lt;/span&gt;&lt;/p&gt; &lt;p align="justify"&gt;&lt;span style="font-family:Arial;font-size:100%;"&gt;However, if we were pushed  to ‘piin it down’ we’d probably say that Piins simplifies your  online life.  That’s a bit vague and non-specific we hear you  say?  Well, the truth is that whatever you want to do on the internet  – Piins makes it easier.  It’s that simple.  And that  big.  &lt;/span&gt;&lt;/p&gt; &lt;p align="justify"&gt;&lt;span style="font-family:Arial;font-size:100%;"&gt;Piins is a unique combination  of social media applications and services accessible via a personalised  toolbar anywhere on the internet. In essence Piins turns the web into  your own personalised internet (you might call it the ‘Piinternet’). &lt;/span&gt;&lt;/p&gt; &lt;span style="font-family:Arial;font-size:100%;"&gt;We think Piins has the  potential to be as revolutionary as Google was.  Big words…but  we really believe this.  We are aiming to change forever the way  that people access and share online content and store personal data.   We also provide people with the tools to completely personalise the  online experience, turning every website into a social space that is  unique to the user.  We promise you it will change the way everyone  uses the internet.   &lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/2202291455234725216/7886551349288721677/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2202291455234725216&amp;postID=7886551349288721677' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2202291455234725216/posts/default/7886551349288721677'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2202291455234725216/posts/default/7886551349288721677'/><link rel='alternate' type='text/html' href='http://blog.piins.com/2008/04/piins-aims-and-philosophy-blog-nr-1.html' title='PIINS – AIMS AND PHILOSOPHY BLOG Nr. 1'/><author><name>Karlheinz Toni</name><uri>http://www.blogger.com/profile/06199620377579825677</uri><email>noreply@blogger.com</email></author></entry><entry><id>tag:blogger.com,1999:blog-2202291455234725216.post-544726369900829277</id><published>2008-03-23T19:29:00.000Z</published><updated>2008-03-25T18:27:30.214Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='charta'/><category scheme='http://www.blogger.com/atom/ns#' term='vision'/><category scheme='http://www.blogger.com/atom/ns#' term='public statement'/><title type='text'>be good</title><content type='html'>less evil is a proper wish&lt;br /&gt;to be made by oh so many&lt;br /&gt;but what they are prepared to give&lt;br /&gt;is seldom worth a penny&lt;br /&gt;&lt;br /&gt;For what? To stand, to fight, to live&lt;br /&gt;in a period of upheaval&lt;br /&gt;for one thing we cannot forgive:&lt;br /&gt;being passive, by &lt;a href="http://en.wikipedia.org/wiki/Don%27t_be_evil"&gt;not being evil&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/2202291455234725216/544726369900829277/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2202291455234725216&amp;postID=544726369900829277' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2202291455234725216/posts/default/544726369900829277'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2202291455234725216/posts/default/544726369900829277'/><link rel='alternate' type='text/html' href='http://blog.piins.com/2008/03/be-good.html' title='be good'/><author><name>Karlheinz Toni</name><uri>http://www.blogger.com/profile/06199620377579825677</uri><email>noreply@blogger.com</email></author></entry><entry><id>tag:blogger.com,1999:blog-2202291455234725216.post-5006550082686133772</id><published>2008-03-18T02:47:00.000Z</published><updated>2008-03-19T04:34:53.692Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='API'/><category scheme='http://www.blogger.com/atom/ns#' term='library'/><category scheme='http://www.blogger.com/atom/ns#' term='GPL'/><title type='text'>First Piins OS release: Smarty &amp; I18N</title><content type='html'>Yipiiieh, here we go. Our first public Piins open source release (&lt;a href="http://www.opensource.org/licenses/mit-license.php"&gt;MIT license&lt;/a&gt;). We've decided to release Smarty plugins that make life with Smarty and &lt;a href="http://en.wikipedia.org/wiki/I18N"&gt;i18n&lt;/a&gt; easy (well, at least as easy as I18N can be per se).&lt;br /&gt;&lt;br /&gt;Wolfram Schlich posted a nice overview of best practices to internationalize Smarty templates. His overview can be read in this &lt;a href="http://marc.info/?l=smarty-general&amp;amp;m=112349537707841&amp;amp;w=2"&gt;mailinglist archive&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Unfortunately none of the provided best practices seemed to be compliant to the standard GNU i18n library &lt;a href="http://en.wikipedia.org/wiki/Gettext"&gt;gettext&lt;/a&gt;, as employed in many applications. Hence we thought about implementing our own, which turned out to be both - incredibly easy and very handy.&lt;br /&gt;&lt;br /&gt;We would like to share this library with you including a &lt;a href="http://blog.piins.com/api/smarty_i18n/index.php"&gt; little tutorial&lt;/a&gt; how to use it. The files for the &lt;a href="http://blog.piins.com/api/smarty_i18n/i18n.tar.gz"&gt;i18n &amp;amp; smarty tutorial&lt;/a&gt; can be downloaded as well.&lt;br /&gt;&lt;br /&gt;We've also hosted it on Google code as the &lt;a href="http://code.google.com/p/piins-smarty"&gt;Google code piins-smarty project&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Help us making the library better by posting the bugs you found :) ah and by the way, there are many more libraries to come, such as:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;php-DAL&lt;/span&gt;: data access layer for PHP and MySQL, built on PDO. Allows stored procedure call with easy access&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;php-DAL-generator:&lt;/span&gt; auto generate the DAL (data access layer) for your MySQL database (including stored procedures).&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;php-MVC:&lt;/span&gt; a very lightweight MVC framework for PHP with complete i18n/L10n support&lt;/li&gt;&lt;li&gt;.NET enterprise libraries compiled for Mono on Unix systems&lt;/li&gt;&lt;li&gt;and much much more...&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;Enjoy &amp;amp; stay tuned!</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/2202291455234725216/5006550082686133772/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2202291455234725216&amp;postID=5006550082686133772' title='34 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2202291455234725216/posts/default/5006550082686133772'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2202291455234725216/posts/default/5006550082686133772'/><link rel='alternate' type='text/html' href='http://blog.piins.com/2008/03/first-piins-os-release-smarty-i18n.html' title='First Piins OS release: Smarty &amp; I18N'/><author><name>Karlheinz Toni</name><uri>http://www.blogger.com/profile/06199620377579825677</uri><email>noreply@blogger.com</email></author></entry><entry><id>tag:blogger.com,1999:blog-2202291455234725216.post-6519171484861122257</id><published>2008-03-01T02:31:00.000Z</published><updated>2008-03-18T21:42:35.440Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='Event'/><category scheme='http://www.blogger.com/atom/ns#' term='Presentation'/><category scheme='http://www.blogger.com/atom/ns#' term='PR'/><category scheme='http://www.blogger.com/atom/ns#' term='London'/><title type='text'>Piins @ Minibar - 28th of March</title><content type='html'>As many of you have read in our &lt;a href="http://blog.piins.com/2008/02/piins-hello-world.html"&gt;last post&lt;/a&gt;, Piins is still in 'stealth-mode'. We've received quite some e-mails regarding this and whether we can disclose anything yet. Please bare with us some more weeks. Be assured, no one except the team and our investors know what it is about yet, so it is just fair not to disclose to some individuals and not some others.&lt;br /&gt;&lt;br /&gt;For everyone who might care (and even for those who don't), we want to announce, that we're leaving our &lt;span style="font-style: italic;"&gt;strict&lt;/span&gt; 'stealth-mode' in the next &lt;a href="http://www.openbusiness.cc/2008/02/27/minibar-28th-of-march/"&gt;Minibar&lt;/a&gt;, where Christian, the organizer, secured one of the much sought-after presentation slots for Piins. We'd be very happy if you could mark the &lt;span style="color: rgb(255, 0, 0); font-weight: bold;"&gt;28th of March&lt;/span&gt; red in your calendar. Sign up at the &lt;a href="http://internetpro.meetup.com/10/calendar/7387397/"&gt;Meetup site&lt;/a&gt;, still room for about 30 people. It's worth it...&lt;br /&gt;&lt;br /&gt;We're going to distribute 100 &lt;a href="http://moo.com/products/minicards.php"&gt;MOO minicards&lt;/a&gt; with unique invitation-codes on them for our hopefully very dedicated first-ever user group. These will be the only ones to see the interiors of Piins for about another month until we're opening to a wider audience, well presumably the whole &lt;a href="http://openid.org/"&gt;OpenID&lt;/a&gt; community at least.&lt;br /&gt;&lt;br /&gt;In case you can't make it, don't worry - we're going to post at least some pictures of the event on this blog. So although, we're very sorry, that we didn't meet you personally at least you can see us - for whatever that's worth.&lt;br /&gt;&lt;br /&gt;See you there...!&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;Further Links: &lt;a href="http://maps.google.com/maps?f=q&amp;amp;hl=en&amp;amp;geocode=&amp;amp;q=Corbet+Pl,+London,+Greater+London,+E1,+UK&amp;amp;sll=37.0625,-95.677068&amp;amp;sspn=43.578243,104.0625&amp;amp;ie=UTF8&amp;amp;z=16"&gt;Minibar Location (GoogleMaps)&lt;/a&gt;&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/2202291455234725216/6519171484861122257/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2202291455234725216&amp;postID=6519171484861122257' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2202291455234725216/posts/default/6519171484861122257'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2202291455234725216/posts/default/6519171484861122257'/><link rel='alternate' type='text/html' href='http://blog.piins.com/2008/03/piins-minibar-28th-of-march.html' title='Piins @ Minibar - 28th of March'/><author><name>Karlheinz Toni</name><uri>http://www.blogger.com/profile/06199620377579825677</uri><email>noreply@blogger.com</email></author></entry><entry><id>tag:blogger.com,1999:blog-2202291455234725216.post-2050729775748392140</id><published>2008-02-27T17:22:00.000Z</published><updated>2008-02-27T17:57:21.632Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='charta'/><category scheme='http://www.blogger.com/atom/ns#' term='vision'/><category scheme='http://www.blogger.com/atom/ns#' term='public statement'/><category scheme='http://www.blogger.com/atom/ns#' term='user-info'/><title type='text'>Piins' "Hello World"</title><content type='html'>Over 2 years now have passed since the idea was first born. Unlike most births, it did not hurt very much but it rather was a feeling of complete freedom and happiness. It was a nice, maybe a little idealistic vision of being able to be more than "just not evil", it was a vision of actually "being good".&lt;br /&gt;&lt;br /&gt;Over the years we built a nice little prototype, that we're soon going to release to a very special closed group. And no, although it sounds a little odd and 90-ies to be in "stealth-mode", experience from previous ventures just proves that the user is everything you've got in the Internet world. The user is the single most important thing, so you have to give them a chance to help you.&lt;br /&gt;&lt;br /&gt;And as much as we think we can enrich the daily life of our users in the Internet, we are convinced that every individual out there enriches and challenges our vision on a daily basis allowing us not only just to "be good" but to even "be better".  So stealth-mode is not just another odd marketing gag or a way to make people talk about us (although that could not do any harm), but to allow everyone to participate in that vision without diluting it.&lt;br /&gt;&lt;br /&gt;One more thing: we know, that Piins is going to be quite disputed.  What we're doing is, as we see it, the next step in Web-Development (yeah, sounds opaque and fuzzy again, but we're happy to discuss with everyone) and it is going to require a possibly yet unmet amount of trust from our users. We're convinced that not only our personalities, everyone in the team, but also our users aim for nothing else than "being good" - naive again? Well, we say it's worth a try!&lt;br /&gt;&lt;br /&gt;In that sense, a warm "hello world!" to all you guys'n girls out there from the Piins team - let's go the next step in  the Web together.</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/2202291455234725216/2050729775748392140/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2202291455234725216&amp;postID=2050729775748392140' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2202291455234725216/posts/default/2050729775748392140'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2202291455234725216/posts/default/2050729775748392140'/><link rel='alternate' type='text/html' href='http://blog.piins.com/2008/02/piins-hello-world.html' title='Piins&apos; &quot;Hello World&quot;'/><author><name>Karlheinz Toni</name><uri>http://www.blogger.com/profile/06199620377579825677</uri><email>noreply@blogger.com</email></author></entry></feed>