<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.netfactory.dk/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:thr="http://purl.org/syndication/thread/1.0" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" xml:lang="en" xml:base="http://netfactory.dk/wp-atom.php">
	<title type="text">Netfactory</title>
	<subtitle type="text">WebDevelopment</subtitle>

	<updated>2011-01-23T15:56:41Z</updated>

	<link rel="alternate" type="text/html" href="http://netfactory.dk" />
	<id>http://netfactory.dk/feed/atom/</id>
	

	<generator uri="http://wordpress.org/">WordPress</generator>
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.netfactory.dk/netfactory" /><feedburner:info uri="netfactory" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><geo:lat>55.4553</geo:lat><geo:long>12.2957</geo:long><entry>
		<author>
			<name>admin</name>
					</author>
		<title type="html"><![CDATA[Moving to PHP on 64 bit&#8230; the isssues &amp; challenges]]></title>
		<link rel="alternate" type="text/html" href="http://feeds.netfactory.dk/~r/netfactory/~3/Vf89KQ_4vGo/" />
		<id>http://netfactory.dk/?p=2912</id>
		<updated>2011-01-23T15:56:41Z</updated>
		<published>2011-01-23T15:56:41Z</published>
		<category scheme="http://netfactory.dk" term="PHP" /><category scheme="http://netfactory.dk" term="64bit" /><category scheme="http://netfactory.dk" term="hash" /><category scheme="http://netfactory.dk" term="integer" /><category scheme="http://netfactory.dk" term="mysql" /><category scheme="http://netfactory.dk" term="php" />		<summary type="html"><![CDATA[So your current website &#8211; if running PHP &#8211; and it seems to work just fine. I am however working on a project, where the new servers are running on a 64 bit version of the OS. This change seem to cause a number of potential issues, and as there didn&#8217;t seem to be a [...]]]></summary>
		<content type="html" xml:base="http://netfactory.dk/2011/01/23/moving-to-php-on-64-bit-the-isssues-challenges/">&lt;p&gt;&lt;a  href="http://netfactory.dk/wp-content/uploads/2011/01/64bitshield.png" class="thickbox no_icon" rel="gallery-2912" title="64bitshield"&gt;&lt;img class="alignright size-full wp-image-2913" title="64bitshield" src="http://netfactory.dk/wp-content/uploads/2011/01/64bitshield.png" alt="" width="100" height="100" /&gt;&lt;/a&gt;So your current website &amp;#8211; if running PHP &amp;#8211; and it seems to work just fine. I am however working on a project, where the new servers are running on a 64 bit version of the OS. This change seem to cause a number of potential issues, and as there didn&amp;#8217;t seem to be a resource collection the issues, I&amp;#8217;ll try to post a few notes on the experience. Please feel free to add applicable notes and links in the comments.&lt;/p&gt;
&lt;p&gt;Our first experience was that all our scripts seemed to use a lot more memory than it did on the old server, but there are also number of other 64 bit challenges, you should be aware of. This post is trying to provide an overview of these changes.&lt;/p&gt;
&lt;h2&gt;The Integer issue&lt;/h2&gt;
&lt;p&gt;On a 32bit OS, PHP uses 4 bytes (of 8 bit) to define an integer. On a 64 bit system, PHP uses 8 bytes (of 8 bit) to define an integer and thus allows it to store a far langer range of numbers.&lt;/p&gt;
&lt;p&gt;You can test this with a simple script such as this:&lt;/p&gt;

&lt;div class="wp_syntax"&gt;&lt;table&gt;&lt;tr&gt;&lt;td class="line_numbers"&gt;&lt;pre&gt;1
2
3
4
5
&lt;/pre&gt;&lt;/td&gt;&lt;td class="code"&gt;&lt;pre class="php" style="font-family:monospace;"&gt; &lt;span style="color: #b1b100;"&gt;echo&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;'The integer size on this system is: '&lt;/span&gt;&lt;span style="color: #339933;"&gt;;&lt;/span&gt;
 &lt;span style="color: #b1b100;"&gt;echo&lt;/span&gt; PHP_INT_SIZE&lt;span style="color: #339933;"&gt;.&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;'&amp;lt;br&amp;gt;'&lt;/span&gt;&lt;span style="color: #339933;"&gt;;&lt;/span&gt;
&amp;nbsp;
 &lt;span style="color: #b1b100;"&gt;echo&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;'The maximum value you can save in an integer is: '&lt;/span&gt;&lt;span style="color: #339933;"&gt;;&lt;/span&gt;
 &lt;span style="color: #b1b100;"&gt;echo&lt;/span&gt; PHP_INT_MAX&lt;span style="color: #339933;"&gt;;&lt;/span&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;On 32 bit, the script will output:&lt;/p&gt;
&lt;pre&gt;
The integer size on this system is: 4
The maximum value you can save in an integer is: 2147483647
&lt;/pre&gt;
&lt;p&gt;On 64 bit, the script will output:&lt;/p&gt;
&lt;pre&gt;
The integer size on this system is: 8
The maximum value you can save in an integer is: 9223372036854775807
&lt;/pre&gt;
&lt;p&gt;Generally speaking the only drawbacks of this approach is an increased memory usage and maybe a lower performance &amp;#8211; given you script doesn&amp;#8217;t need the etra 32 bits provided on a 64 bit system.&lt;/p&gt;
&lt;p&gt;This simple little script can simply illustrate the increased memory use:&lt;/p&gt;

&lt;div class="wp_syntax"&gt;&lt;table&gt;&lt;tr&gt;&lt;td class="line_numbers"&gt;&lt;pre&gt;1
2
3
4
5
6
7
&lt;/pre&gt;&lt;/td&gt;&lt;td class="code"&gt;&lt;pre class="php" style="font-family:monospace;"&gt;&lt;span style="color: #000088;"&gt;$test&lt;/span&gt; &lt;span style="color: #339933;"&gt;=&lt;/span&gt; &lt;span style="color: #990000;"&gt;array&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt;&lt;span style="color: #339933;"&gt;;&lt;/span&gt;
&amp;nbsp;
&lt;span style="color: #b1b100;"&gt;for&lt;/span&gt; &lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #000088;"&gt;$counter&lt;/span&gt; &lt;span style="color: #339933;"&gt;=&lt;/span&gt; &lt;span style="color: #cc66cc;"&gt;0&lt;/span&gt;&lt;span style="color: #339933;"&gt;;&lt;/span&gt; &lt;span style="color: #000088;"&gt;$counter&lt;/span&gt; &lt;span style="color: #339933;"&gt;&amp;lt;&lt;/span&gt; &lt;span style="color: #cc66cc;"&gt;10000&lt;/span&gt;&lt;span style="color: #339933;"&gt;;&lt;/span&gt; &lt;span style="color: #000088;"&gt;$counter&lt;/span&gt;&lt;span style="color: #339933;"&gt;++&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt; &lt;span style="color: #009900;"&gt;&amp;#123;&lt;/span&gt;
  &lt;span style="color: #000088;"&gt;$test&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#91;&lt;/span&gt;&lt;span style="color: #000088;"&gt;$counter&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#93;&lt;/span&gt; &lt;span style="color: #339933;"&gt;=&lt;/span&gt; &lt;span style="color: #000088;"&gt;$counter&lt;/span&gt;&lt;span style="color: #339933;"&gt;;&lt;/span&gt;
&lt;span style="color: #009900;"&gt;&amp;#125;&lt;/span&gt;
&amp;nbsp;
&lt;span style="color: #b1b100;"&gt;echo&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;&amp;quot;Memory peak usage: &amp;quot;&lt;/span&gt;&lt;span style="color: #339933;"&gt;,&lt;/span&gt; &lt;span style="color: #990000;"&gt;memory_get_peak_usage&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt;&lt;span style="color: #339933;"&gt;;&lt;/span&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;On a 32 bit system the number output from the script is (roughly):&lt;br /&gt;
810020.&lt;br /&gt;
On a 64 bit system the number output from the script is (roughly):&lt;br /&gt;
1517960.&lt;br /&gt;
That&amp;#8217;s an increase of memory usage of more than 80% on a simple integer array!&lt;/p&gt;
&lt;h3&gt;Time and dates&lt;/h3&gt;
&lt;p&gt;Beware that many time related functions in PHP works with integers &amp;#8211; such as &lt;a  href="http://php.net/manual/en/function.mktime.php"&gt;mktime&lt;/a&gt;, &lt;a  href="http://php.net/manual/en/function.strtotime.php"&gt;strtotime&lt;/a&gt; and others uses integers as return values. As long as you use and work with these within the 32bit boundaries, you should be fine.&lt;/p&gt;
&lt;p&gt;On 64 bit systems, they are able to handle much larger ranges, which could cause issues, if you allow that to happen.&lt;/p&gt;
&lt;h3&gt;Memory and performance&lt;/h3&gt;
&lt;p&gt;As the data volumes being moved around is increased, you could expect a performance penalty. On sites with low traffic volumes, it&amp;#8217;s probably not an issue, but if you&amp;#8217;re hosting a high volume site, it might be to some extend.&lt;/p&gt;
&lt;p&gt;The extra memory seems to be a much larger issue to be aware of. While you may only assume you use a small number of integers, PHP itself does use them many places. When you&amp;#8217;re creating arrays &amp;#8211; they probably are indexed by integers and many functions return integers as control codes. While the required memory doesn&amp;#8217;t double, do expect an overhead of 25-50% depending on what the script does &amp;#8211; from the initial experiences; it does seem to be the case.&lt;/p&gt;
&lt;h2&gt;Bit shifting&lt;/h2&gt;
&lt;p&gt;Generally speaking, you should be aware every where you use &lt;a  href="http://php.net/manual/en/language.operators.bitwise.php"&gt;bit shifting operations&lt;/a&gt;, as they by their very nature, is quite dependent on the number of bits in the variables available.&lt;/p&gt;
&lt;h2&gt;Handling Hashes&lt;/h2&gt;
&lt;p&gt;If you&amp;#8217;re using hashes for checksums, beware. Some 64 bit issues may occur.&lt;/p&gt;
&lt;p&gt;We&amp;#8217;ve seen this issue on the crc32-function. If the result of the CRC32 is a positive number (on a 32 bit system), it will be the same on a 64 bit system. If the CRC32 results in a negative number however, the return result on a 64 bit sytem will be different.&lt;/p&gt;
&lt;p&gt;This script:&lt;/p&gt;

&lt;div class="wp_syntax"&gt;&lt;table&gt;&lt;tr&gt;&lt;td class="line_numbers"&gt;&lt;pre&gt;1
2
3
&lt;/pre&gt;&lt;/td&gt;&lt;td class="code"&gt;&lt;pre class="php" style="font-family:monospace;"&gt;  &lt;span style="color: #b1b100;"&gt;echo&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;&amp;quot;&amp;lt;p&amp;gt;Letters 'ab'&amp;lt;br&amp;gt;&amp;quot;&lt;/span&gt;&lt;span style="color: #339933;"&gt;;&lt;/span&gt;
  &lt;span style="color: #b1b100;"&gt;echo&lt;/span&gt; &lt;span style="color: #990000;"&gt;crc32&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;'ab'&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt;&lt;span style="color: #339933;"&gt;;&lt;/span&gt;
  &lt;span style="color: #b1b100;"&gt;echo&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;&amp;quot;&amp;lt;/p&amp;gt;&amp;quot;&lt;/span&gt;&lt;span style="color: #339933;"&gt;;&lt;/span&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Produces the following output on a 32bit system:&lt;/p&gt;
&lt;pre&gt;
Letters 'ab'
-1635563411
&lt;/pre&gt;
&lt;p&gt;But on a 64 bit system, it produces this output:&lt;/p&gt;
&lt;pre&gt;
Letters 'ab'
2659403885
&lt;/pre&gt;
&lt;p&gt;Note the returned hash is always the same, so if you&amp;#8217;re using the crc32-hash on a completely 32bit setup OR a complete 64 bit setup, you&amp;#8217;re might see any issues, whereas a mixed environment probably will cause issues.&lt;/p&gt;
&lt;p&gt;Hash functions such as MD5, SHA1 and others &amp;#8211; will always produce the same result no matter what system they&amp;#8217;re running on.&lt;/p&gt;
&lt;h2&gt;PHP, MySQL and 64 bit&lt;/h2&gt;
&lt;p&gt;Mysql handles integers different than PHP. An integer in mysql has always the same size no matter if it&amp;#8217;s running on 32 or 64 bit systems. An integer is always 32 bit. If you need to store a 64bit integer, mysql has an explicit data type &amp;#8211; BigInt for this purpose, which is a 64 bit Integer (see &lt;a  href="http://dev.mysql.com/doc/refman/5.0/en/numeric-types.html"&gt;mysql manual on Numerical types&lt;/a&gt;).&lt;/p&gt;
&lt;p&gt;How to handle mysql seems to depend on what kind of PHP solution you&amp;#8217;re building. If your application is deployed across several servers (which may be a mix of 32 and 64 bit systems), to two core strategies &amp;#8211; is to either handle it in PHP or in Mysql.&lt;/p&gt;
&lt;p&gt;Handling the issue in PHP would probably suggest, that you some how &amp;#8220;range check&amp;#8221; the PHP integer values and make sure the value is within the range allowed by a 32 bit integer.&lt;/p&gt;
&lt;p&gt;Handling the issue in Mysql, would mean to just change the integers in the database to BigInts. This would always work, but for all 32 bit system be a less efficient solution.&lt;/p&gt;
&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.netfactory.dk/~ff/netfactory?a=Vf89KQ_4vGo:sfzK4mqwX0o:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/netfactory?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.netfactory.dk/~ff/netfactory?a=Vf89KQ_4vGo:sfzK4mqwX0o:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/netfactory?i=Vf89KQ_4vGo:sfzK4mqwX0o:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.netfactory.dk/~ff/netfactory?a=Vf89KQ_4vGo:sfzK4mqwX0o:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/netfactory?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/netfactory/~4/Vf89KQ_4vGo" height="1" width="1"/&gt;</content>
		<link rel="replies" type="text/html" href="http://netfactory.dk/2011/01/23/moving-to-php-on-64-bit-the-isssues-challenges/#comments" thr:count="0" />
		<link rel="replies" type="application/atom+xml" href="http://netfactory.dk/2011/01/23/moving-to-php-on-64-bit-the-isssues-challenges/feed/atom/" thr:count="0" />
		<thr:total>0</thr:total>
	<feedburner:origLink>http://netfactory.dk/2011/01/23/moving-to-php-on-64-bit-the-isssues-challenges/</feedburner:origLink></entry>
		<entry>
		<author>
			<name>admin</name>
					</author>
		<title type="html"><![CDATA[The Big Switch]]></title>
		<link rel="alternate" type="text/html" href="http://feeds.netfactory.dk/~r/netfactory/~3/JSBAAqEvLCk/" />
		<id>http://netfactory.dk/?p=2883</id>
		<updated>2011-01-09T18:58:39Z</updated>
		<published>2011-01-09T18:58:39Z</published>
		<category scheme="http://netfactory.dk" term="Site News" />		<summary type="html"><![CDATA[Housekeeping is happening and this site moving and changing. After almost 15 years of pro bono hosting at TDC, this site is now moved to it&#8217;s own home funded by myself. The move isn&#8217;t quite done yet, but as most is in place, the DNS has been updated and you&#8217;re watching the new netfactory.dk site. [...]]]></summary>
		<content type="html" xml:base="http://netfactory.dk/2011/01/09/the-big-switch/">&lt;p&gt;Housekeeping is happening and this site moving and changing. After almost 15 years of pro bono hosting at TDC, this site is now moved to it&amp;#8217;s own home funded by myself. The move isn&amp;#8217;t quite done yet, but as most is in place, the DNS has been updated and you&amp;#8217;re watching the new netfactory.dk site.&lt;/p&gt;
&lt;p&gt;During the move, I&amp;#8217;ve now split the contents of the old netfactory.dk site in to three pieces, and if some content is missing, it&amp;#8217;s probably moved to a new home. Moving forward you should expect my (former netfactory.dk web) presence to be layout as follows:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a  href="http://netfactory.dk/"&gt;netfactory.dk&lt;/a&gt; will be the techinically oriented site containing various internet-technology focused pieces in English. Anything not fitting within this category will probably be moved or removed from the site eventually.&lt;/li&gt;
&lt;li&gt;&lt;a  href="http://mahler.io/"&gt;mahler.io&lt;/a&gt; will contain content with a broad appeal in English.&lt;/li&gt;
&lt;li&gt;&lt;a  href="http://dk.mahler.io/"&gt;dk.mahler.io&lt;/a&gt; will contain the content in Danish &amp;#8211; no matter what it may be.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;If you&amp;#8217;re able to read this post, all DNS should be updated and the changes be in place. Sorry for any inconvenience the change may cause.&lt;/p&gt;
&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.netfactory.dk/~ff/netfactory?a=JSBAAqEvLCk:NOAYzam3xDg:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/netfactory?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.netfactory.dk/~ff/netfactory?a=JSBAAqEvLCk:NOAYzam3xDg:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/netfactory?i=JSBAAqEvLCk:NOAYzam3xDg:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.netfactory.dk/~ff/netfactory?a=JSBAAqEvLCk:NOAYzam3xDg:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/netfactory?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/netfactory/~4/JSBAAqEvLCk" height="1" width="1"/&gt;</content>
		<link rel="replies" type="text/html" href="http://netfactory.dk/2011/01/09/the-big-switch/#comments" thr:count="0" />
		<link rel="replies" type="application/atom+xml" href="http://netfactory.dk/2011/01/09/the-big-switch/feed/atom/" thr:count="0" />
		<thr:total>0</thr:total>
	<feedburner:origLink>http://netfactory.dk/2011/01/09/the-big-switch/</feedburner:origLink></entry>
		<entry>
		<author>
			<name>admin</name>
					</author>
		<title type="html"><![CDATA[Defaults may be wrong&#8230;]]></title>
		<link rel="alternate" type="text/html" href="http://feeds.netfactory.dk/~r/netfactory/~3/rxWMEBatFpo/" />
		<id>http://netfactory.dk/?p=2586</id>
		<updated>2011-01-07T17:32:34Z</updated>
		<published>2010-12-30T10:35:18Z</published>
		<category scheme="http://netfactory.dk" term="Development" /><category scheme="http://netfactory.dk" term="optimizing" /><category scheme="http://netfactory.dk" term="php" /><category scheme="http://netfactory.dk" term="refactoring" />		<summary type="html"><![CDATA[Just a word of warning when using PHP and Mysql &#8211; if you&#8217;re trying to make efficient code and not utilizing all sort of frameworks and abstractions, you might be in for a small surprise in a default setting. Usually is slightly lazy and often use the mysql_fetch_assoc function. It provides each row as an [...]]]></summary>
		<content type="html" xml:base="http://netfactory.dk/2010/12/30/defaults-may-be-wrong/">&lt;p&gt;Just a word of warning when using PHP and Mysql &amp;#8211; if you&amp;#8217;re trying to make efficient code and not utilizing all sort of frameworks and abstractions, you might be in for a small surprise in a default setting.&lt;/p&gt;
&lt;p&gt;Usually is slightly lazy and often use the &lt;a  href="http://php.net/manual/en/function.mysql-fetch-assoc.php"&gt;mysql_fetch_assoc&lt;/a&gt; function. It provides each row as an associative array, and is quite convenient to work with. Recently however while optimizing some code, I figured I&amp;#8217;d switch to using &lt;a  href="http://dk2.php.net/manual/en/function.mysql-fetch-array.php"&gt;mysql_fetch_array&lt;/a&gt; assuming it should be more efficient. The logic being that mapping hash keys to array values wouldn&amp;#8217;t be needed and it should use less memory.&lt;/p&gt;
&lt;p&gt;It wasn&amp;#8217;t the case out of the box. Switching from mysql_fetch_assoc to mysql_fetch_array without doing anything else actually increases you memory use, and is probably slightly slower. By default mysql_fetch_array does not just provide the field values as array indexes, but still maintains the hash keys too.&lt;/p&gt;
&lt;p&gt;If you only want the indexes in the returned rows, you need to add an extra parameter to the function stating this explicitly.&lt;/p&gt;

&lt;div class="wp_syntax"&gt;&lt;div class="code"&gt;&lt;pre class="php" style="font-family:monospace;"&gt;  &lt;span style="color: #000088;"&gt;$row&lt;/span&gt; &lt;span style="color: #339933;"&gt;=&lt;/span&gt; &lt;span style="color: #990000;"&gt;mysql_fetch_array&lt;/span&gt;&lt;span style="color: #009900;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #000088;"&gt;$result&lt;/span&gt;&lt;span style="color: #339933;"&gt;,&lt;/span&gt; MYSQL_NUM&lt;span style="color: #009900;"&gt;&amp;#41;&lt;/span&gt;&lt;span style="color: #339933;"&gt;;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;I wonder why it was made so. It seems like an odd choice when mysql_fetch_assoc kan provide the row indexed with hash keys &amp;#8211; The correct behavior for mysql_fetch_array (by default) ought to be to just return the array without the hashkeys &amp;#8211; and have that option available if needed.&lt;/p&gt;
&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.netfactory.dk/~ff/netfactory?a=rxWMEBatFpo:WAUaMikkbwY:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/netfactory?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.netfactory.dk/~ff/netfactory?a=rxWMEBatFpo:WAUaMikkbwY:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/netfactory?i=rxWMEBatFpo:WAUaMikkbwY:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.netfactory.dk/~ff/netfactory?a=rxWMEBatFpo:WAUaMikkbwY:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/netfactory?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/netfactory/~4/rxWMEBatFpo" height="1" width="1"/&gt;</content>
		<link rel="replies" type="text/html" href="http://netfactory.dk/2010/12/30/defaults-may-be-wrong/#comments" thr:count="3" />
		<link rel="replies" type="application/atom+xml" href="http://netfactory.dk/2010/12/30/defaults-may-be-wrong/feed/atom/" thr:count="3" />
		<thr:total>3</thr:total>
	<feedburner:origLink>http://netfactory.dk/2010/12/30/defaults-may-be-wrong/</feedburner:origLink></entry>
		<entry>
		<author>
			<name>admin</name>
					</author>
		<title type="html"><![CDATA[Function names as signaling]]></title>
		<link rel="alternate" type="text/html" href="http://feeds.netfactory.dk/~r/netfactory/~3/o19BxkOQPMQ/" />
		<id>http://netfactory.dk/?p=2569</id>
		<updated>2010-05-16T20:49:08Z</updated>
		<published>2010-05-16T20:49:08Z</published>
		<category scheme="http://netfactory.dk" term="Development" /><category scheme="http://netfactory.dk" term="tips" />		<summary type="html"><![CDATA[In most web applications there&#8217;s a host of functions (or methods if speaking in the object-oriented world). It&#8217;s widely recognized, that it&#8217;s probably a good idea to name them something, which may suggest the purpose or functionality of what the function is doing, but often developers seem to fail at making a stringent naming convention. [...]]]></summary>
		<content type="html" xml:base="http://netfactory.dk/2010/05/16/function-names-as-signaling/">&lt;p&gt;In most web applications there&amp;#8217;s a host of functions (or methods if speaking in the object-oriented world). It&amp;#8217;s widely recognized, that it&amp;#8217;s probably a good idea to name them something, which may suggest the purpose or functionality of what the function is doing, but often developers seem to fail at making a stringent naming convention. Before starting on your next big development adventure, here are a three suggested rules for naming functions.&lt;br /&gt;
&lt;!-- more --&gt;&lt;/p&gt;
&lt;h3&gt;1. It&amp;#8217;s more important to have a suggestive name, than a short one.&lt;/h3&gt;
&lt;p&gt;Never call a function something short but meaningless. Instead use CamelCase and make a sentence suggesting what the function does.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Bad examples found in live code: &amp;#8220;process&amp;#8221;, &amp;#8220;fixit&amp;#8221;, &amp;#8220;cleanup&amp;#8221;.&lt;/li&gt;
&lt;li&gt;Good examples: &amp;#8220;saveToDatabase&amp;#8221;, &amp;#8220;convertIpnumberToDomainName&amp;#8221;, &amp;#8220;calculateTotalPricing&amp;#8221;.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;2. Use prefixes on functions &lt;/h3&gt;
&lt;p&gt;Reserve common names (more if you like) for specific type of functions. Here are a few suggested rules:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt; &amp;#8220;get&amp;#8221;-functions should always retrieve and return data &amp;#8211; never print data.&lt;/li&gt;
&lt;li&gt; &amp;#8220;print&amp;#8221;-functions shoudl always print data to &amp;#8220;standard out&amp;#8221;.&lt;/li&gt;
&lt;li&gt; &amp;#8220;set&amp;#8221;-functions should ways set data to an object (and choose if &amp;#8220;set&amp;#8221; also saves data or not).&lt;/li&gt;
&lt;li&gt; &amp;#8220;save&amp;#8221;-functions (if set-functions doesn&amp;#8217;t save properties) saves all current properties to the persistent storage (usually database).&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;3. Reuse data model objects in function names&lt;/h3&gt;
&lt;p&gt;If you&amp;#8217;re data model (or object model) already contains names of entities, reuse these in function names. If a table is named &amp;#8220;Travel&amp;#8221;, call the function &amp;#8220;saveTravelRecord&amp;#8221;, Not just &amp;#8220;saveDataRecord&amp;#8221;.&lt;br /&gt;
Make consistent use of the same names, field names, properties and other entities found in the application. Using the same name for the same object all across the application, may seem obvious, but somehow developers seem to find slightly different names for the same object again and again.&lt;/p&gt;
&lt;p&gt;While the three above tips may seem simple, do check your code and see how many places they are broken. I&amp;#8217;ve seen countless times, and getting it right from the beginning would have cost a small effort, refactoring  the code years later is a much bigger effort.&lt;/p&gt;
&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.netfactory.dk/~ff/netfactory?a=o19BxkOQPMQ:SxS5W18zoO8:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/netfactory?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.netfactory.dk/~ff/netfactory?a=o19BxkOQPMQ:SxS5W18zoO8:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/netfactory?i=o19BxkOQPMQ:SxS5W18zoO8:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.netfactory.dk/~ff/netfactory?a=o19BxkOQPMQ:SxS5W18zoO8:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/netfactory?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/netfactory/~4/o19BxkOQPMQ" height="1" width="1"/&gt;</content>
		<link rel="replies" type="text/html" href="http://netfactory.dk/2010/05/16/function-names-as-signaling/#comments" thr:count="0" />
		<link rel="replies" type="application/atom+xml" href="http://netfactory.dk/2010/05/16/function-names-as-signaling/feed/atom/" thr:count="0" />
		<thr:total>0</thr:total>
	<feedburner:origLink>http://netfactory.dk/2010/05/16/function-names-as-signaling/</feedburner:origLink></entry>
		<entry>
		<author>
			<name>admin</name>
					</author>
		<title type="html"><![CDATA[Copenhagen Zoo]]></title>
		<link rel="alternate" type="text/html" href="http://feeds.netfactory.dk/~r/netfactory/~3/iyqbjj0mmyw/" />
		<id>http://netfactory.dk/?p=2511</id>
		<updated>2010-05-15T14:06:27Z</updated>
		<published>2010-05-15T14:06:27Z</published>
		<category scheme="http://netfactory.dk" term="gallery" /><category scheme="http://netfactory.dk" term="Photography" /><category scheme="http://netfactory.dk" term="zoo" />		<summary type="html"><![CDATA[For anyone interested in animals or photography, a Zoo is a wonderful place and somehow we stumbled across the Copenhagen Zoo yesterday. While it would have been somewhat more fun with a Zoom lens on the Nikon D300, I still got a few nice shots. Here are a small selection. Currently there is a lot [...]]]></summary>
		<content type="html" xml:base="http://netfactory.dk/2010/05/15/copenhagen-zoo/">&lt;p&gt;For anyone interested in animals or photography, a Zoo is a wonderful place and somehow we stumbled across the Copenhagen Zoo yesterday. While it would have been somewhat more fun with a Zoom lens on the Nikon D300, I still got a few nice shots. Here are a small selection.&lt;/p&gt;
&lt;p&gt;Currently there is a lot of construction going on in the Zoo &amp;#8211; the Polar bears are getting a new residence and a new aviary is under construction to. Despite this, is well worth a visit.&lt;/p&gt;
&lt;p&gt;&lt;!-- more --&gt;&lt;/p&gt;

&lt;a  href="http://netfactory.dk/2010/05/15/copenhagen-zoo/copenhagen-zoo-tower/" title="Copenhagen Zoo Tower"&gt;&lt;img width="150" height="150" src="http://netfactory.dk/wp-content/uploads/2010/05/cph_zoo_01-150x150.jpg" class="attachment-thumbnail" alt="Copenhagen Zoo Tower" title="Copenhagen Zoo Tower" /&gt;&lt;/a&gt;
&lt;a  href="http://netfactory.dk/2010/05/15/copenhagen-zoo/lions/" title="Lions"&gt;&lt;img width="150" height="150" src="http://netfactory.dk/wp-content/uploads/2010/05/cph_zoo_02-150x150.jpg" class="attachment-thumbnail" alt="Lions" title="Lions" /&gt;&lt;/a&gt;
&lt;a  href="http://netfactory.dk/2010/05/15/copenhagen-zoo/camel-3/" title="Camel"&gt;&lt;img width="150" height="150" src="http://netfactory.dk/wp-content/uploads/2010/05/cph_zoo_03-150x150.jpg" class="attachment-thumbnail" alt="Camel" title="Camel" /&gt;&lt;/a&gt;
&lt;a  href="http://netfactory.dk/2010/05/15/copenhagen-zoo/camel-4/" title="Camel"&gt;&lt;img width="150" height="150" src="http://netfactory.dk/wp-content/uploads/2010/05/cph_zoo_04-150x150.jpg" class="attachment-thumbnail" alt="Camel" title="Camel" /&gt;&lt;/a&gt;
&lt;a  href="http://netfactory.dk/2010/05/15/copenhagen-zoo/dsc_4844/" title="DSC_4844"&gt;&lt;img width="150" height="150" src="http://netfactory.dk/wp-content/uploads/2010/05/cph_zoo_05-150x150.jpg" class="attachment-thumbnail" alt="DSC_4844" title="DSC_4844" /&gt;&lt;/a&gt;
&lt;a  href="http://netfactory.dk/2010/05/15/copenhagen-zoo/yellowish-bird/" title="Yellowish Bird"&gt;&lt;img width="150" height="150" src="http://netfactory.dk/wp-content/uploads/2010/05/cph_zoo_06-150x150.jpg" class="attachment-thumbnail" alt="Yellowish Bird" title="Yellowish Bird" /&gt;&lt;/a&gt;
&lt;a  href="http://netfactory.dk/2010/05/15/copenhagen-zoo/bird/" title="Bird"&gt;&lt;img width="150" height="150" src="http://netfactory.dk/wp-content/uploads/2010/05/cph_zoo_07-150x150.jpg" class="attachment-thumbnail" alt="Bird" title="Bird" /&gt;&lt;/a&gt;
&lt;a  href="http://netfactory.dk/2010/05/15/copenhagen-zoo/bird-2/" title="Bird"&gt;&lt;img width="150" height="150" src="http://netfactory.dk/wp-content/uploads/2010/05/cph_zoo_08-150x150.jpg" class="attachment-thumbnail" alt="Bird" title="Bird" /&gt;&lt;/a&gt;
&lt;a  href="http://netfactory.dk/2010/05/15/copenhagen-zoo/lizards-in-tree/" title="Lizards in tree"&gt;&lt;img width="150" height="150" src="http://netfactory.dk/wp-content/uploads/2010/05/cph_zoo_09-150x150.jpg" class="attachment-thumbnail" alt="Lizards in tree" title="Lizards in tree" /&gt;&lt;/a&gt;
&lt;a  href="http://netfactory.dk/2010/05/15/copenhagen-zoo/poisenous-frog/" title="Poisenous Frog"&gt;&lt;img width="150" height="150" src="http://netfactory.dk/wp-content/uploads/2010/05/cph_zoo_10-150x150.jpg" class="attachment-thumbnail" alt="Poisenous Frog" title="Poisenous Frog" /&gt;&lt;/a&gt;
&lt;a  href="http://netfactory.dk/2010/05/15/copenhagen-zoo/poisenous-frog-2/" title="Poisenous Frog"&gt;&lt;img width="150" height="150" src="http://netfactory.dk/wp-content/uploads/2010/05/cph_zoo_11-150x150.jpg" class="attachment-thumbnail" alt="Poisenous Frog" title="Poisenous Frog" /&gt;&lt;/a&gt;
&lt;a  href="http://netfactory.dk/2010/05/15/copenhagen-zoo/spider-2/" title="Spider"&gt;&lt;img width="150" height="150" src="http://netfactory.dk/wp-content/uploads/2010/05/cph_zoo_12-150x150.jpg" class="attachment-thumbnail" alt="Spider" title="Spider" /&gt;&lt;/a&gt;
&lt;a  href="http://netfactory.dk/2010/05/15/copenhagen-zoo/bugs/" title="Bugs"&gt;&lt;img width="150" height="150" src="http://netfactory.dk/wp-content/uploads/2010/05/cph_zoo_13-150x150.jpg" class="attachment-thumbnail" alt="Bugs" title="Bugs" /&gt;&lt;/a&gt;
&lt;a  href="http://netfactory.dk/2010/05/15/copenhagen-zoo/bugs-2/" title="Bugs"&gt;&lt;img width="150" height="150" src="http://netfactory.dk/wp-content/uploads/2010/05/cph_zoo_14-150x150.jpg" class="attachment-thumbnail" alt="Bugs" title="Bugs" /&gt;&lt;/a&gt;
&lt;a  href="http://netfactory.dk/2010/05/15/copenhagen-zoo/green-lizard-in-tree/" title="Green Lizard in tree"&gt;&lt;img width="150" height="150" src="http://netfactory.dk/wp-content/uploads/2010/05/cph_zoo_15-150x150.jpg" class="attachment-thumbnail" alt="Green Lizard in tree" title="Green Lizard in tree" /&gt;&lt;/a&gt;
&lt;a  href="http://netfactory.dk/2010/05/15/copenhagen-zoo/lizard-2/" title="Lizard"&gt;&lt;img width="150" height="150" src="http://netfactory.dk/wp-content/uploads/2010/05/cph_zoo_16-150x150.jpg" class="attachment-thumbnail" alt="Lizard" title="Lizard" /&gt;&lt;/a&gt;
&lt;a  href="http://netfactory.dk/2010/05/15/copenhagen-zoo/dsc_4884/" title="DSC_4884"&gt;&lt;img width="150" height="150" src="http://netfactory.dk/wp-content/uploads/2010/05/cph_zoo_17-150x150.jpg" class="attachment-thumbnail" alt="DSC_4884" title="DSC_4884" /&gt;&lt;/a&gt;
&lt;a  href="http://netfactory.dk/2010/05/15/copenhagen-zoo/bird-3/" title="Bird"&gt;&lt;img width="150" height="150" src="http://netfactory.dk/wp-content/uploads/2010/05/cph_zoo_18-150x150.jpg" class="attachment-thumbnail" alt="Bird" title="Bird" /&gt;&lt;/a&gt;
&lt;a  href="http://netfactory.dk/2010/05/15/copenhagen-zoo/butterfly/" title="Butterfly"&gt;&lt;img width="150" height="150" src="http://netfactory.dk/wp-content/uploads/2010/05/cph_zoo_19-150x150.jpg" class="attachment-thumbnail" alt="Butterfly" title="Butterfly" /&gt;&lt;/a&gt;
&lt;a  href="http://netfactory.dk/2010/05/15/copenhagen-zoo/butterfly-2/" title="Butterfly"&gt;&lt;img width="150" height="150" src="http://netfactory.dk/wp-content/uploads/2010/05/cph_zoo_20-150x150.jpg" class="attachment-thumbnail" alt="Butterfly" title="Butterfly" /&gt;&lt;/a&gt;
&lt;a  href="http://netfactory.dk/2010/05/15/copenhagen-zoo/butterfly-3/" title="Butterfly"&gt;&lt;img width="150" height="150" src="http://netfactory.dk/wp-content/uploads/2010/05/cph_zoo_21-150x150.jpg" class="attachment-thumbnail" alt="Butterfly" title="Butterfly" /&gt;&lt;/a&gt;
&lt;a  href="http://netfactory.dk/2010/05/15/copenhagen-zoo/butterfly-4/" title="Butterfly"&gt;&lt;img width="150" height="150" src="http://netfactory.dk/wp-content/uploads/2010/05/cph_zoo_22-150x150.jpg" class="attachment-thumbnail" alt="Butterfly" title="Butterfly" /&gt;&lt;/a&gt;
&lt;a  href="http://netfactory.dk/2010/05/15/copenhagen-zoo/chimp/" title="Chimp"&gt;&lt;img width="150" height="150" src="http://netfactory.dk/wp-content/uploads/2010/05/cph_zoo_23-150x150.jpg" class="attachment-thumbnail" alt="Chimp" title="Chimp" /&gt;&lt;/a&gt;
&lt;a  href="http://netfactory.dk/2010/05/15/copenhagen-zoo/laughing-birds/" title="Laughing birds"&gt;&lt;img width="150" height="150" src="http://netfactory.dk/wp-content/uploads/2010/05/cph_zoo_24-150x150.jpg" class="attachment-thumbnail" alt="Laughing birds" title="Laughing birds" /&gt;&lt;/a&gt;
&lt;a  href="http://netfactory.dk/2010/05/15/copenhagen-zoo/tigers/" title="Tigers"&gt;&lt;img width="150" height="150" src="http://netfactory.dk/wp-content/uploads/2010/05/cph_zoo_25-150x150.jpg" class="attachment-thumbnail" alt="Tigers" title="Tigers" /&gt;&lt;/a&gt;
&lt;a  href="http://netfactory.dk/2010/05/15/copenhagen-zoo/red-panda/" title="Red Panda"&gt;&lt;img width="150" height="150" src="http://netfactory.dk/wp-content/uploads/2010/05/cph_zoo_26-150x150.jpg" class="attachment-thumbnail" alt="Red Panda" title="Red Panda" /&gt;&lt;/a&gt;
&lt;a  href="http://netfactory.dk/2010/05/15/copenhagen-zoo/elephants/" title="Elephants"&gt;&lt;img width="150" height="150" src="http://netfactory.dk/wp-content/uploads/2010/05/cph_zoo_27-150x150.jpg" class="attachment-thumbnail" alt="Elephants" title="Elephants" /&gt;&lt;/a&gt;
&lt;a  href="http://netfactory.dk/2010/05/15/copenhagen-zoo/malayan-tapir/" title="Malayan Tapir"&gt;&lt;img width="150" height="150" src="http://netfactory.dk/wp-content/uploads/2010/05/cph_zoo_28-150x150.jpg" class="attachment-thumbnail" alt="Malayan Tapir" title="Malayan Tapir" /&gt;&lt;/a&gt;
&lt;a  href="http://netfactory.dk/2010/05/15/copenhagen-zoo/penguins/" title="Penguins"&gt;&lt;img width="150" height="150" src="http://netfactory.dk/wp-content/uploads/2010/05/cph_zoo_29-150x150.jpg" class="attachment-thumbnail" alt="Penguins" title="Penguins" /&gt;&lt;/a&gt;
&lt;a  href="http://netfactory.dk/2010/05/15/copenhagen-zoo/sealion/" title="Sealion"&gt;&lt;img width="150" height="150" src="http://netfactory.dk/wp-content/uploads/2010/05/cph_zoo_30-150x150.jpg" class="attachment-thumbnail" alt="Sealion" title="Sealion" /&gt;&lt;/a&gt;
&lt;a  href="http://netfactory.dk/2010/05/15/copenhagen-zoo/monkey-3/" title="Monkey"&gt;&lt;img width="150" height="150" src="http://netfactory.dk/wp-content/uploads/2010/05/cph_zoo_31-150x150.jpg" class="attachment-thumbnail" alt="Monkey" title="Monkey" /&gt;&lt;/a&gt;
&lt;a  href="http://netfactory.dk/2010/05/15/copenhagen-zoo/monkey-4/" title="Monkey"&gt;&lt;img width="150" height="150" src="http://netfactory.dk/wp-content/uploads/2010/05/cph_zoo_32-150x150.jpg" class="attachment-thumbnail" alt="Monkey" title="Monkey" /&gt;&lt;/a&gt;
&lt;a  href="http://netfactory.dk/2010/05/15/copenhagen-zoo/rat/" title="Rat"&gt;&lt;img width="150" height="150" src="http://netfactory.dk/wp-content/uploads/2010/05/cph_zoo_33-150x150.jpg" class="attachment-thumbnail" alt="Rat" title="Rat" /&gt;&lt;/a&gt;
&lt;a  href="http://netfactory.dk/2010/05/15/copenhagen-zoo/baboon/" title="Baboon"&gt;&lt;img width="150" height="150" src="http://netfactory.dk/wp-content/uploads/2010/05/cph_zoo_34-150x150.jpg" class="attachment-thumbnail" alt="Baboon" title="Baboon" /&gt;&lt;/a&gt;
&lt;a  href="http://netfactory.dk/2010/05/15/copenhagen-zoo/sealion-2/" title="Sealion"&gt;&lt;img width="150" height="150" src="http://netfactory.dk/wp-content/uploads/2010/05/cph_zoo_35-150x150.jpg" class="attachment-thumbnail" alt="Sealion" title="Sealion" /&gt;&lt;/a&gt;
&lt;a  href="http://netfactory.dk/2010/05/15/copenhagen-zoo/reindeer/" title="Reindeer"&gt;&lt;img width="150" height="150" src="http://netfactory.dk/wp-content/uploads/2010/05/cph_zoo_36-150x150.jpg" class="attachment-thumbnail" alt="Reindeer" title="Reindeer" /&gt;&lt;/a&gt;
&lt;a  href="http://netfactory.dk/2010/05/15/copenhagen-zoo/polar-bear/" title="Polar bear"&gt;&lt;img width="150" height="150" src="http://netfactory.dk/wp-content/uploads/2010/05/cph_zoo_37-150x150.jpg" class="attachment-thumbnail" alt="Polar bear" title="Polar bear" /&gt;&lt;/a&gt;
&lt;a  href="http://netfactory.dk/2010/05/15/copenhagen-zoo/brown-bear/" title="Brown bear"&gt;&lt;img width="150" height="150" src="http://netfactory.dk/wp-content/uploads/2010/05/cph_zoo_38-150x150.jpg" class="attachment-thumbnail" alt="Brown bear" title="Brown bear" /&gt;&lt;/a&gt;
&lt;a  href="http://netfactory.dk/2010/05/15/copenhagen-zoo/polar-bear-2/" title="Polar bear"&gt;&lt;img width="150" height="150" src="http://netfactory.dk/wp-content/uploads/2010/05/cph_zoo_39-150x150.jpg" class="attachment-thumbnail" alt="Polar bear" title="Polar bear" /&gt;&lt;/a&gt;
&lt;a  href="http://netfactory.dk/2010/05/15/copenhagen-zoo/common-european-viper/" title="Common European viper"&gt;&lt;img width="150" height="150" src="http://netfactory.dk/wp-content/uploads/2010/05/cph_zoo_40-150x150.jpg" class="attachment-thumbnail" alt="Common European viper" title="Common European viper" /&gt;&lt;/a&gt;
&lt;a  href="http://netfactory.dk/2010/05/15/copenhagen-zoo/rhinoceros-3/" title="Rhinoceros"&gt;&lt;img width="150" height="150" src="http://netfactory.dk/wp-content/uploads/2010/05/cph_zoo_41-150x150.jpg" class="attachment-thumbnail" alt="Rhinoceros" title="Rhinoceros" /&gt;&lt;/a&gt;
&lt;a  href="http://netfactory.dk/2010/05/15/copenhagen-zoo/dsc_5028/" title="DSC_5028"&gt;&lt;img width="150" height="150" src="http://netfactory.dk/wp-content/uploads/2010/05/cph_zoo_42-150x150.jpg" class="attachment-thumbnail" alt="DSC_5028" title="DSC_5028" /&gt;&lt;/a&gt;
&lt;a  href="http://netfactory.dk/2010/05/15/copenhagen-zoo/dsc_5035/" title="DSC_5035"&gt;&lt;img width="150" height="150" src="http://netfactory.dk/wp-content/uploads/2010/05/cph_zoo_43-150x150.jpg" class="attachment-thumbnail" alt="DSC_5035" title="DSC_5035" /&gt;&lt;/a&gt;
&lt;a  href="http://netfactory.dk/2010/05/15/copenhagen-zoo/dsc_5041/" title="DSC_5041"&gt;&lt;img width="150" height="150" src="http://netfactory.dk/wp-content/uploads/2010/05/cph_zoo_44-150x150.jpg" class="attachment-thumbnail" alt="DSC_5041" title="DSC_5041" /&gt;&lt;/a&gt;
&lt;a  href="http://netfactory.dk/2010/05/15/copenhagen-zoo/dsc_5043/" title="DSC_5043"&gt;&lt;img width="150" height="150" src="http://netfactory.dk/wp-content/uploads/2010/05/cph_zoo_45-150x150.jpg" class="attachment-thumbnail" alt="DSC_5043" title="DSC_5043" /&gt;&lt;/a&gt;
&lt;a  href="http://netfactory.dk/2010/05/15/copenhagen-zoo/dsc_5045/" title="DSC_5045"&gt;&lt;img width="150" height="150" src="http://netfactory.dk/wp-content/uploads/2010/05/cph_zoo_46-150x150.jpg" class="attachment-thumbnail" alt="DSC_5045" title="DSC_5045" /&gt;&lt;/a&gt;
&lt;a  href="http://netfactory.dk/2010/05/15/copenhagen-zoo/stork/" title="Stork"&gt;&lt;img width="150" height="150" src="http://netfactory.dk/wp-content/uploads/2010/05/cph_zoo_47-150x150.jpg" class="attachment-thumbnail" alt="Stork" title="Stork" /&gt;&lt;/a&gt;
&lt;a  href="http://netfactory.dk/2010/05/15/copenhagen-zoo/dsc_5059/" title="DSC_5059"&gt;&lt;img width="150" height="150" src="http://netfactory.dk/wp-content/uploads/2010/05/cph_zoo_48-150x150.jpg" class="attachment-thumbnail" alt="DSC_5059" title="DSC_5059" /&gt;&lt;/a&gt;
&lt;a  href="http://netfactory.dk/2010/05/15/copenhagen-zoo/emu/" title="Emu"&gt;&lt;img width="150" height="150" src="http://netfactory.dk/wp-content/uploads/2010/05/cph_zoo_49-150x150.jpg" class="attachment-thumbnail" alt="Emu" title="Emu" /&gt;&lt;/a&gt;
&lt;a  href="http://netfactory.dk/2010/05/15/copenhagen-zoo/dsc_5064/" title="DSC_5064"&gt;&lt;img width="150" height="150" src="http://netfactory.dk/wp-content/uploads/2010/05/cph_zoo_50-150x150.jpg" class="attachment-thumbnail" alt="DSC_5064" title="DSC_5064" /&gt;&lt;/a&gt;
&lt;a  href="http://netfactory.dk/2010/05/15/copenhagen-zoo/tasmanian-devil/" title="Tasmanian Devil"&gt;&lt;img width="150" height="150" src="http://netfactory.dk/wp-content/uploads/2010/05/cph_zoo_51-150x150.jpg" class="attachment-thumbnail" alt="Tasmanian Devil" title="Tasmanian Devil" /&gt;&lt;/a&gt;
&lt;a  href="http://netfactory.dk/2010/05/15/copenhagen-zoo/kangaroo-and-child/" title="Kangaroo and child"&gt;&lt;img width="150" height="150" src="http://netfactory.dk/wp-content/uploads/2010/05/cph_zoo_52-150x150.jpg" class="attachment-thumbnail" alt="Kangaroo and child" title="Kangaroo and child" /&gt;&lt;/a&gt;
&lt;a  href="http://netfactory.dk/2010/05/15/copenhagen-zoo/goats-in-the-petting-zoo/" title="Goats in the petting zoo"&gt;&lt;img width="150" height="150" src="http://netfactory.dk/wp-content/uploads/2010/05/cph_zoo_53-150x150.jpg" class="attachment-thumbnail" alt="Goats in the petting zoo" title="Goats in the petting zoo" /&gt;&lt;/a&gt;
&lt;a  href="http://netfactory.dk/2010/05/15/copenhagen-zoo/rabbit/" title="Rabbit"&gt;&lt;img width="150" height="150" src="http://netfactory.dk/wp-content/uploads/2010/05/cph_zoo_54-150x150.jpg" class="attachment-thumbnail" alt="Rabbit" title="Rabbit" /&gt;&lt;/a&gt;
&lt;a  href="http://netfactory.dk/2010/05/15/copenhagen-zoo/horse/" title="Horse"&gt;&lt;img width="150" height="150" src="http://netfactory.dk/wp-content/uploads/2010/05/cph_zoo_55-150x150.jpg" class="attachment-thumbnail" alt="Horse" title="Horse" /&gt;&lt;/a&gt;
&lt;a  href="http://netfactory.dk/2010/05/15/copenhagen-zoo/cow/" title="Cow"&gt;&lt;img width="150" height="150" src="http://netfactory.dk/wp-content/uploads/2010/05/cph_zoo_56-150x150.jpg" class="attachment-thumbnail" alt="Cow" title="Cow" /&gt;&lt;/a&gt;

&lt;p&gt;Website of &lt;a  href="http://uk.zoo.dk/"&gt;Copenhagen Zoo&lt;/a&gt;.&lt;/p&gt;
&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.netfactory.dk/~ff/netfactory?a=iyqbjj0mmyw:Asq_21oG5BE:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/netfactory?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.netfactory.dk/~ff/netfactory?a=iyqbjj0mmyw:Asq_21oG5BE:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/netfactory?i=iyqbjj0mmyw:Asq_21oG5BE:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.netfactory.dk/~ff/netfactory?a=iyqbjj0mmyw:Asq_21oG5BE:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/netfactory?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/netfactory/~4/iyqbjj0mmyw" height="1" width="1"/&gt;</content>
		<link rel="replies" type="text/html" href="http://netfactory.dk/2010/05/15/copenhagen-zoo/#comments" thr:count="0" />
		<link rel="replies" type="application/atom+xml" href="http://netfactory.dk/2010/05/15/copenhagen-zoo/feed/atom/" thr:count="0" />
		<thr:total>0</thr:total>
	<feedburner:origLink>http://netfactory.dk/2010/05/15/copenhagen-zoo/</feedburner:origLink></entry>
		<entry>
		<author>
			<name>admin</name>
					</author>
		<title type="html"><![CDATA[Brede Værk]]></title>
		<link rel="alternate" type="text/html" href="http://feeds.netfactory.dk/~r/netfactory/~3/wWEUdTri0jQ/" />
		<id>http://netfactory.dk/?p=2495</id>
		<updated>2010-05-15T09:09:55Z</updated>
		<published>2010-05-15T09:09:55Z</published>
		<category scheme="http://netfactory.dk" term="gallery" /><category scheme="http://netfactory.dk" term="Fotografering" />		<summary type="html"><![CDATA[I hvad der engang var Danmarks største tekstil fabrik tilbage i 1800 tallet, findes i dag Brede Værk &#8211; en del af national museet. Her fortælles om livet i en tøjfabrik, industri samfundets udvikling og om velfærdssamfundet. Specielt deres interaktive udstilling, hvor man kan prøve samlebåndsarbejde. Der er gratis adgang. - In what was once [...]]]></summary>
		<content type="html" xml:base="http://netfactory.dk/2010/05/15/brede-v%c3%a6rk/">&lt;p&gt;I hvad der engang var Danmarks største tekstil fabrik tilbage i 1800 tallet, findes i dag Brede Værk &amp;#8211; en del af national museet. Her fortælles om livet i en tøjfabrik, industri samfundets udvikling og om velfærdssamfundet. Specielt deres interaktive udstilling, hvor man kan prøve samlebåndsarbejde. Der er gratis adgang.&lt;br /&gt;
-&lt;br /&gt;
In what was once Denmark’s biggest textile factory in the 1800s, new technology has now been used to tell the story of working life at the cloth mill, the growth of industrial society and the welfare state. It&amp;#8217;s part of the Danish National Museum and entrance is free (photo captions are in Danish).&lt;br /&gt;
&lt;!-- more --&gt;&lt;br /&gt;

&lt;a  href="http://netfactory.dk/2010/05/15/brede-v%c3%a6rk/kort-over-brede-va%c2%a6rk/" title="Kort over Brede Værk"&gt;&lt;img width="150" height="150" src="http://netfactory.dk/wp-content/uploads/2010/05/brede_vaerk_01-150x150.jpg" class="attachment-thumbnail" alt="Kort over Brede Værk" title="Kort over Brede Værk" /&gt;&lt;/a&gt;
&lt;a  href="http://netfactory.dk/2010/05/15/brede-v%c3%a6rk/dsc_4651/" title="Nogle af bygningerne omkring Brede Værk"&gt;&lt;img width="150" height="150" src="http://netfactory.dk/wp-content/uploads/2010/05/brede_vaerk_02-150x150.jpg" class="attachment-thumbnail" alt="Nogle af bygningerne omkring Brede Værk" title="Nogle af bygningerne omkring Brede Værk" /&gt;&lt;/a&gt;
&lt;a  href="http://netfactory.dk/2010/05/15/brede-v%c3%a6rk/gammel-bil-pa%c2%a5-brede-va%c2%a6rk/" title="Gammel bil på Brede Værk"&gt;&lt;img width="150" height="150" src="http://netfactory.dk/wp-content/uploads/2010/05/brede_vaerk_03-150x150.jpg" class="attachment-thumbnail" alt="Gammel bil på Brede Værk" title="Gammel bil på Brede Værk" /&gt;&lt;/a&gt;
&lt;a  href="http://netfactory.dk/2010/05/15/brede-v%c3%a6rk/spindemaskine/" title="Spindemaskine"&gt;&lt;img width="150" height="150" src="http://netfactory.dk/wp-content/uploads/2010/05/brede_vaerk_04-150x150.jpg" class="attachment-thumbnail" alt="Spindemaskine" title="Spindemaskine" /&gt;&lt;/a&gt;
&lt;a  href="http://netfactory.dk/2010/05/15/brede-v%c3%a6rk/farvekuffe/" title="Farvekuffe"&gt;&lt;img width="150" height="150" src="http://netfactory.dk/wp-content/uploads/2010/05/brede_vaerk_05-150x150.jpg" class="attachment-thumbnail" alt="Farvekuffe" title="Farvekuffe" /&gt;&lt;/a&gt;
&lt;a  href="http://netfactory.dk/2010/05/15/brede-v%c3%a6rk/noppebord/" title="Noppebord"&gt;&lt;img width="150" height="150" src="http://netfactory.dk/wp-content/uploads/2010/05/brede_vaerk_06-150x150.jpg" class="attachment-thumbnail" alt="Noppebord" title="Noppebord" /&gt;&lt;/a&gt;
&lt;a  href="http://netfactory.dk/2010/05/15/brede-v%c3%a6rk/ruemaskine/" title="Ruemaskine"&gt;&lt;img width="150" height="150" src="http://netfactory.dk/wp-content/uploads/2010/05/brede_vaerk_07-150x150.jpg" class="attachment-thumbnail" alt="Ruemaskine" title="Ruemaskine" /&gt;&lt;/a&gt;
&lt;a  href="http://netfactory.dk/2010/05/15/brede-v%c3%a6rk/tandhjul-pa%c2%a5-en-spindemaskine/" title="Tandhjul på en spindemaskine"&gt;&lt;img width="150" height="150" src="http://netfactory.dk/wp-content/uploads/2010/05/brede_vaerk_08-150x150.jpg" class="attachment-thumbnail" alt="Tandhjul på en spindemaskine" title="Tandhjul på en spindemaskine" /&gt;&lt;/a&gt;
&lt;a  href="http://netfactory.dk/2010/05/15/brede-v%c3%a6rk/model-af-vandma%c2%b8lle/" title="Model af vandmølle"&gt;&lt;img width="150" height="150" src="http://netfactory.dk/wp-content/uploads/2010/05/brede_vaerk_09-150x150.jpg" class="attachment-thumbnail" alt="Model af vandmølle" title="Model af vandmølle" /&gt;&lt;/a&gt;
&lt;a  href="http://netfactory.dk/2010/05/15/brede-v%c3%a6rk/model-af-en-vandma%c2%b8lle/" title="Model af en vandmølle"&gt;&lt;img width="150" height="150" src="http://netfactory.dk/wp-content/uploads/2010/05/brede_vaerk_10-150x150.jpg" class="attachment-thumbnail" alt="Model af en vandmølle" title="Model af en vandmølle" /&gt;&lt;/a&gt;
&lt;a  href="http://netfactory.dk/2010/05/15/brede-v%c3%a6rk/gamle-varema%c2%a6rker/" title="Gamle varemærker"&gt;&lt;img width="150" height="150" src="http://netfactory.dk/wp-content/uploads/2010/05/brede_vaerk_11-150x150.jpg" class="attachment-thumbnail" alt="Gamle varemærker" title="Gamle varemærker" /&gt;&lt;/a&gt;
&lt;a  href="http://netfactory.dk/2010/05/15/brede-v%c3%a6rk/stempelur/" title="Stempelur"&gt;&lt;img width="150" height="150" src="http://netfactory.dk/wp-content/uploads/2010/05/brede_vaerk_12-150x150.jpg" class="attachment-thumbnail" alt="Stempelur" title="Stempelur" /&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;Brede værk website:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a  href="http://bredevaerk.natmus.dk/"&gt;På Dansk&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a  href="http://bredevaerk.natmus.dk/language/uk/"&gt;In English&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.netfactory.dk/~ff/netfactory?a=wWEUdTri0jQ:zuJ_jHAT9ns:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/netfactory?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.netfactory.dk/~ff/netfactory?a=wWEUdTri0jQ:zuJ_jHAT9ns:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/netfactory?i=wWEUdTri0jQ:zuJ_jHAT9ns:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.netfactory.dk/~ff/netfactory?a=wWEUdTri0jQ:zuJ_jHAT9ns:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/netfactory?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/netfactory/~4/wWEUdTri0jQ" height="1" width="1"/&gt;</content>
		<link rel="replies" type="text/html" href="http://netfactory.dk/2010/05/15/brede-v%c3%a6rk/#comments" thr:count="0" />
		<link rel="replies" type="application/atom+xml" href="http://netfactory.dk/2010/05/15/brede-v%c3%a6rk/feed/atom/" thr:count="0" />
		<thr:total>0</thr:total>
	<feedburner:origLink>http://netfactory.dk/2010/05/15/brede-v%c3%a6rk/</feedburner:origLink></entry>
		<entry>
		<author>
			<name>admin</name>
					</author>
		<title type="html"><![CDATA[Bread crumbs in version control]]></title>
		<link rel="alternate" type="text/html" href="http://feeds.netfactory.dk/~r/netfactory/~3/3pzeXAl8oMc/" />
		<id>http://netfactory.dk/?p=2491</id>
		<updated>2010-05-09T21:32:34Z</updated>
		<published>2010-05-09T21:32:34Z</published>
		<category scheme="http://netfactory.dk" term="Development" /><category scheme="http://netfactory.dk" term="cvs" />		<summary type="html"><![CDATA[I’m sorry but sometimes I really don’t get why even seasoned developers doesn’t learn the art of the commit message in version control system. All too often I’ve come across check-ins where the entire commit message just reads “bugfix”, “change”, “oops” or something just as mindless. The effort of writing a useful message compared to [...]]]></summary>
		<content type="html" xml:base="http://netfactory.dk/2010/05/09/bread-crumbs-in-version-control/">&lt;p&gt;I’m sorry but sometimes I really don’t get why even seasoned developers doesn’t learn the art of the commit message in version control system. All too often I’ve come across check-ins where the entire commit message just reads “bugfix”, “change”, “oops” or something just as mindless.&lt;/p&gt;
&lt;p&gt;The effort of writing a useful message compared to the potential benefit seems to be one the best ratios &amp;#8211; but of course the pay-back is usually some time away &amp;#8211; too bad. Once you work on the same code for years &amp;#8211; or even better inherit code from others, you’ll quickly learn to appreciate anyone who used more than 10 seconds on composing a thoughtful message for the future.&lt;/p&gt;
&lt;p&gt;Here are 3 rules you should always, always obey when committing to a version control system.&lt;br /&gt;
&lt;!-- more --&gt;&lt;/p&gt;
&lt;h3&gt;Always leave a reference to the issue/bug tracking system.&lt;/h3&gt;
&lt;p&gt;All professional development uses some sort of issue tracking system, to keep track of bugs, new features and other changes to the system. The issue tracking system should always be able to tell who asked for a change, why it was asked for and what considerations was made before the code change. By leaving a reference to the issue tracker, it’s often much easier to get “the big picture” if the change need to be changed years later. To make sure you get it in, just write “Bug #number#: “ as the initial part of the commit message.&lt;/p&gt;
&lt;h3&gt;Don’t write what, write why&lt;/h3&gt;
&lt;p&gt;Don’t write it’s a bug fix &amp;#8211; most people will know it from look either at the code or in the issue tracking system (see point 1 above), rather write why it fixes the issue (“New check to check for missing parameters”, “Now handles no search result from db correct” &amp;#8211; not just “bugfix”).&lt;/p&gt;
&lt;h3&gt;Keep it brief.&lt;/h3&gt;
&lt;p&gt;Log messages are not a place to store documentation, user guides or any other important information. You can assume it’s the future you (or another future fellow developer) who will look at the code and try to make sense of it. Think of this, when writing the message &amp;#8211; it’s not for the project manager, it’s not for the end-users &amp;#8211; it’s for a developer doing maintenance work on the code in the future.&lt;/p&gt;
&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.netfactory.dk/~ff/netfactory?a=3pzeXAl8oMc:ZEsnuqXKydM:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/netfactory?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.netfactory.dk/~ff/netfactory?a=3pzeXAl8oMc:ZEsnuqXKydM:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/netfactory?i=3pzeXAl8oMc:ZEsnuqXKydM:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.netfactory.dk/~ff/netfactory?a=3pzeXAl8oMc:ZEsnuqXKydM:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/netfactory?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/netfactory/~4/3pzeXAl8oMc" height="1" width="1"/&gt;</content>
		<link rel="replies" type="text/html" href="http://netfactory.dk/2010/05/09/bread-crumbs-in-version-control/#comments" thr:count="0" />
		<link rel="replies" type="application/atom+xml" href="http://netfactory.dk/2010/05/09/bread-crumbs-in-version-control/feed/atom/" thr:count="0" />
		<thr:total>0</thr:total>
	<feedburner:origLink>http://netfactory.dk/2010/05/09/bread-crumbs-in-version-control/</feedburner:origLink></entry>
		<entry>
		<author>
			<name>admin</name>
					</author>
		<title type="html"><![CDATA[PHP best practice: Function Parameters]]></title>
		<link rel="alternate" type="text/html" href="http://feeds.netfactory.dk/~r/netfactory/~3/9hPf47mMyLA/" />
		<id>http://netfactory.dk/?p=2474</id>
		<updated>2010-05-01T17:00:33Z</updated>
		<published>2010-05-01T17:00:33Z</published>
		<category scheme="http://netfactory.dk" term="Development" /><category scheme="http://netfactory.dk" term="best practice" /><category scheme="http://netfactory.dk" term="php" /><category scheme="http://netfactory.dk" term="Security" />		<summary type="html"><![CDATA[I&#8217;ve been developing web applications for some years now, and while I make no claims to being the world greatest developer, I do figure, that I do have some solid experience which may help others &#8211; or at least encourage thoughts and discussion. This is the first in a series of posts, and while it [...]]]></summary>
		<content type="html" xml:base="http://netfactory.dk/2010/05/01/php-best-practice-function-parameters/">&lt;p&gt;I&amp;#8217;ve been developing web applications for some years now, and while I make no claims to being the world greatest developer, I do figure, that I do have some solid experience which may help others &amp;#8211; or at least encourage thoughts and discussion. This is the first in a series of posts, and while it may be from a PHP developers point of view, it may applicable to other programming languages, and maybe even beyond web applications. Here are my four tips on function parameters.&lt;/p&gt;
&lt;h3&gt;Always have a default value on all parameters&lt;/h3&gt;
&lt;p&gt;Functions parameters are often used as input to SQL queries, calling webservices or computations. Null or non-existing values often tend to break these things and throws horrible messages to the end-user.&lt;/p&gt;
&lt;p&gt;While the parts of the program using your function always should provide proper values, laziness, oversights or unexpected scenarios, may prove it not to be the case. If at all possible, always try to provide default values on all parameters to a function &amp;#8211; and if you really can&amp;#8217;t make sure it&amp;#8217;s handled gracefully.&lt;/p&gt;
&lt;h3&gt;Choose reasonable defaults&lt;/h3&gt;
&lt;p&gt;When providing default values, don&amp;#8217;t choose extremes. If you&amp;#8217;re browsing in a list of usernames, don&amp;#8217;t use a (pure) wildcard as default value &amp;#8211; use an &amp;#8220;A&amp;#8221; to list all users starting with the letter A.  If you&amp;#8217;re function allows a limit on the number of rows returned form a database query (say for paging purposes), set the default to 10, 20 or some other low number, don&amp;#8217;t go for worst case scenarios like 9999, or 999999.&lt;/p&gt;
&lt;p&gt;If the developer using the function needs plenty of rows, it&amp;#8217;s easy to pass a specific value, and if the developer forgets to specify the number of rows, expected, they get a reasonable result, which may help them to ask for more (if actually needed).&lt;/p&gt;
&lt;h3&gt;Always sanitize input&lt;/h3&gt;
&lt;p&gt;Even though a given function naturally only will be used with valid input and so on, every function should take steps to  secure them selves.&lt;br /&gt;
One of the most basic steps is to make sure all input is sanitized. Protecting your function from making &lt;a  href="http://en.wikipedia.org/wiki/SQL_injection"&gt;SQL injection&lt;/a&gt; threats or other security issues, is not the responsibility of the places utilizing the function, but the responsibility of the function it self, and thus it should take steps to make sure it doesn&amp;#8217;t introduce security issues.&lt;/p&gt;
&lt;p&gt;As basic validation of simple input parameters, look at the &lt;a  href="http://php.net/manual/en/book.ctype.php"&gt;ctype functions in PHP&lt;/a&gt;. If you can always try to validate against &lt;a  href="http://en.wikipedia.org/wiki/Whitelist"&gt;a whitelist&lt;/a&gt; (which characters are allowed) instead of &lt;a  href="http://en.wikipedia.org/wiki/Blacklist"&gt;blacklists&lt;/a&gt; (these characters are not allowed) as missing things which may introduce issues in a black list is harder, than allowing what you expect, to pass through.&lt;/p&gt;
&lt;h3&gt;Accept an array of key value pairs&lt;/h3&gt;
&lt;p&gt;If a simple function accepts a single or two parameters, they may be passed as regular parameters, but once the list of possible parameters starts to grow, changing it a single parameter &amp;#8211; which is an array with key/value-pairs, seems to be a much more solid long-term solution on keeping the interface developer friendly. Sure you can have endless lists of 10-15 parameters, but if you have default values on the first 14 values and just need to change the last, the code ought to be much more clean by being able to pass an array with the single key/value-pair needed to be changed from the default value.&lt;/p&gt;
&lt;p&gt;That was the first four tips on function parameters. More on &lt;a  href="http://netfactory.dk/tag/php/"&gt;PHP&lt;/a&gt; and &lt;a  href="http://netfactory.dk/tag/security/"&gt;Security&lt;/a&gt;.&lt;/p&gt;
&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.netfactory.dk/~ff/netfactory?a=9hPf47mMyLA:qLV-bC756dM:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/netfactory?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.netfactory.dk/~ff/netfactory?a=9hPf47mMyLA:qLV-bC756dM:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/netfactory?i=9hPf47mMyLA:qLV-bC756dM:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.netfactory.dk/~ff/netfactory?a=9hPf47mMyLA:qLV-bC756dM:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/netfactory?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/netfactory/~4/9hPf47mMyLA" height="1" width="1"/&gt;</content>
		<link rel="replies" type="text/html" href="http://netfactory.dk/2010/05/01/php-best-practice-function-parameters/#comments" thr:count="0" />
		<link rel="replies" type="application/atom+xml" href="http://netfactory.dk/2010/05/01/php-best-practice-function-parameters/feed/atom/" thr:count="0" />
		<thr:total>0</thr:total>
	<feedburner:origLink>http://netfactory.dk/2010/05/01/php-best-practice-function-parameters/</feedburner:origLink></entry>
		<entry>
		<author>
			<name>admin</name>
					</author>
		<title type="html"><![CDATA[Florence, Italy]]></title>
		<link rel="alternate" type="text/html" href="http://feeds.netfactory.dk/~r/netfactory/~3/qFP5D51Zc2U/" />
		<id>http://netfactory.dk/?p=2417</id>
		<updated>2010-04-26T10:00:36Z</updated>
		<published>2010-04-26T10:00:36Z</published>
		<category scheme="http://netfactory.dk" term="gallery" /><category scheme="http://netfactory.dk" term="europe" /><category scheme="http://netfactory.dk" term="Photography" /><category scheme="http://netfactory.dk" term="travel" />		<summary type="html"><![CDATA[As part of our trip to Pisa, we to a day trip to Florence. Florence was once the capital of Italy (before Rome), and is a beautiful historic town with plenty of interesting things to see. The train ride from from Pisa was slightly more than an hour, and most of the time was spend [...]]]></summary>
		<content type="html" xml:base="http://netfactory.dk/2010/04/26/florence-italy/">&lt;p&gt;As part of &lt;a  href="http://netfactory.dk/2010/04/24/pisa-italy/"&gt;our trip to Pisa&lt;/a&gt;, we to a day trip to Florence. Florence was once the capital of Italy (before Rome), and is a beautiful historic town with plenty of interesting things to see. The train ride from from Pisa was slightly more than an hour, and most of the time was spend just walking around from sight to sight. Once the feet was tired, we took a hop-on, hop-off bus, which brought us to the Piazza Micheangelo &amp;#8211; where you&amp;#8217;ll find probably the most beautiful sight of the town.&lt;/p&gt;
&lt;p&gt;&lt;!-- more --&gt;&lt;/p&gt;

&lt;a  href="http://netfactory.dk/2010/04/26/florence-italy/street-painter-in-florence/" title="Street painter in Florence"&gt;&lt;img width="150" height="150" src="http://netfactory.dk/wp-content/uploads/2010/05/florence_01-150x150.jpg" class="attachment-thumbnail" alt="Street painter in Florence" title="Street painter in Florence" /&gt;&lt;/a&gt;
&lt;a  href="http://netfactory.dk/2010/04/26/florence-italy/church-of-santa-croce/" title="Church of Santa Croce"&gt;&lt;img width="150" height="150" src="http://netfactory.dk/wp-content/uploads/2010/05/florence_02-150x150.jpg" class="attachment-thumbnail" alt="Church of Santa Croce" title="Church of Santa Croce" /&gt;&lt;/a&gt;
&lt;a  href="http://netfactory.dk/2010/04/26/florence-italy/small-city-bus-in-florence/" title="Small city bus in Florence"&gt;&lt;img width="150" height="150" src="http://netfactory.dk/wp-content/uploads/2010/05/florence_03-150x150.jpg" class="attachment-thumbnail" alt="Small city bus in Florence" title="Small city bus in Florence" /&gt;&lt;/a&gt;
&lt;a  href="http://netfactory.dk/2010/04/26/florence-italy/cattedrale-di-santa-maria-del-fiore/" title="Cattedrale di Santa Maria del Fiore"&gt;&lt;img width="150" height="150" src="http://netfactory.dk/wp-content/uploads/2010/05/florence_04-150x150.jpg" class="attachment-thumbnail" alt="Cattedrale di Santa Maria del Fiore" title="Cattedrale di Santa Maria del Fiore" /&gt;&lt;/a&gt;
&lt;a  href="http://netfactory.dk/2010/04/26/florence-italy/cross-near-cattedrale-di-santa-maria-del-fiore/" title="Cross near Cattedrale di Santa Maria del Fiore"&gt;&lt;img width="150" height="150" src="http://netfactory.dk/wp-content/uploads/2010/05/florence_05-150x150.jpg" class="attachment-thumbnail" alt="Cross near Cattedrale di Santa Maria del Fiore" title="Cross near Cattedrale di Santa Maria del Fiore" /&gt;&lt;/a&gt;
&lt;a  href="http://netfactory.dk/2010/04/26/florence-italy/cattedrale-di-santa-maria-del-fiore-2/" title="Cattedrale di Santa Maria del Fiore"&gt;&lt;img width="150" height="150" src="http://netfactory.dk/wp-content/uploads/2010/05/florence_06-150x150.jpg" class="attachment-thumbnail" alt="Cattedrale di Santa Maria del Fiore" title="Cattedrale di Santa Maria del Fiore" /&gt;&lt;/a&gt;
&lt;a  href="http://netfactory.dk/2010/04/26/florence-italy/cattedrale-di-santa-maria-del-fiore-3/" title="Cattedrale di Santa Maria del Fiore"&gt;&lt;img width="150" height="150" src="http://netfactory.dk/wp-content/uploads/2010/05/florence_07-150x150.jpg" class="attachment-thumbnail" alt="Cattedrale di Santa Maria del Fiore" title="Cattedrale di Santa Maria del Fiore" /&gt;&lt;/a&gt;
&lt;a  href="http://netfactory.dk/2010/04/26/florence-italy/cattedrale-di-santa-maria-del-fiore-4/" title="Cattedrale di Santa Maria del Fiore"&gt;&lt;img width="150" height="150" src="http://netfactory.dk/wp-content/uploads/2010/05/florence_08-150x150.jpg" class="attachment-thumbnail" alt="Cattedrale di Santa Maria del Fiore" title="Cattedrale di Santa Maria del Fiore" /&gt;&lt;/a&gt;
&lt;a  href="http://netfactory.dk/2010/04/26/florence-italy/sculpture-near-city-hall-florence/" title="Sculpture near city hall, Florence"&gt;&lt;img width="150" height="150" src="http://netfactory.dk/wp-content/uploads/2010/05/florence_09-150x150.jpg" class="attachment-thumbnail" alt="Sculpture near city hall, Florence" title="Sculpture near city hall, Florence" /&gt;&lt;/a&gt;
&lt;a  href="http://netfactory.dk/2010/04/26/florence-italy/cattedrale-di-santa-maria-del-fiore-5/" title="Cattedrale di Santa Maria del Fiore"&gt;&lt;img width="150" height="150" src="http://netfactory.dk/wp-content/uploads/2010/05/florence_10-150x150.jpg" class="attachment-thumbnail" alt="Cattedrale di Santa Maria del Fiore" title="Cattedrale di Santa Maria del Fiore" /&gt;&lt;/a&gt;
&lt;a  href="http://netfactory.dk/2010/04/26/florence-italy/campanelle-di-giotto/" title="Campanelle di Giotto"&gt;&lt;img width="150" height="150" src="http://netfactory.dk/wp-content/uploads/2010/05/florence_11-150x150.jpg" class="attachment-thumbnail" alt="Campanelle di Giotto" title="Campanelle di Giotto" /&gt;&lt;/a&gt;
&lt;a  href="http://netfactory.dk/2010/04/26/florence-italy/cattedrale-di-santa-maria-del-fiore-6/" title="Cattedrale di Santa Maria del Fiore"&gt;&lt;img width="150" height="150" src="http://netfactory.dk/wp-content/uploads/2010/05/florence_12-150x150.jpg" class="attachment-thumbnail" alt="Cattedrale di Santa Maria del Fiore" title="Cattedrale di Santa Maria del Fiore" /&gt;&lt;/a&gt;
&lt;a  href="http://netfactory.dk/2010/04/26/florence-italy/campanelle-di-giotto-2/" title="Campanelle di Giotto"&gt;&lt;img width="150" height="150" src="http://netfactory.dk/wp-content/uploads/2010/05/florence_13-150x150.jpg" class="attachment-thumbnail" alt="Campanelle di Giotto" title="Campanelle di Giotto" /&gt;&lt;/a&gt;
&lt;a  href="http://netfactory.dk/2010/04/26/florence-italy/piazza-del-repubblica/" title="Piazza del Repubblica"&gt;&lt;img width="150" height="150" src="http://netfactory.dk/wp-content/uploads/2010/05/florence_14-150x150.jpg" class="attachment-thumbnail" alt="Piazza del Repubblica" title="Piazza del Repubblica" /&gt;&lt;/a&gt;
&lt;a  href="http://netfactory.dk/2010/04/26/florence-italy/piazza-del-repubblica-2/" title="Piazza del Repubblica"&gt;&lt;img width="150" height="150" src="http://netfactory.dk/wp-content/uploads/2010/05/florence_15-150x150.jpg" class="attachment-thumbnail" alt="Piazza del Repubblica" title="Piazza del Repubblica" /&gt;&lt;/a&gt;
&lt;a  href="http://netfactory.dk/2010/04/26/florence-italy/street-painting/" title="Street painting"&gt;&lt;img width="150" height="150" src="http://netfactory.dk/wp-content/uploads/2010/05/florence_16-150x150.jpg" class="attachment-thumbnail" alt="Street painting" title="Street painting" /&gt;&lt;/a&gt;
&lt;a  href="http://netfactory.dk/2010/04/26/florence-italy/street-painter/" title="Street painter"&gt;&lt;img width="150" height="150" src="http://netfactory.dk/wp-content/uploads/2010/05/florence_17-150x150.jpg" class="attachment-thumbnail" alt="Street painter" title="Street painter" /&gt;&lt;/a&gt;
&lt;a  href="http://netfactory.dk/2010/04/26/florence-italy/beautiful-old-house-florence/" title="Beautiful old house, Florence"&gt;&lt;img width="150" height="150" src="http://netfactory.dk/wp-content/uploads/2010/05/florence_18-150x150.jpg" class="attachment-thumbnail" alt="Beautiful old house, Florence" title="Beautiful old house, Florence" /&gt;&lt;/a&gt;
&lt;a  href="http://netfactory.dk/2010/04/26/florence-italy/ice-cream-bar/" title="Ice cream bar"&gt;&lt;img width="150" height="150" src="http://netfactory.dk/wp-content/uploads/2010/05/florence_19-150x150.jpg" class="attachment-thumbnail" alt="Ice cream bar" title="Ice cream bar" /&gt;&lt;/a&gt;
&lt;a  href="http://netfactory.dk/2010/04/26/florence-italy/figure-on-city-hall-florence/" title="Figure on City Hall, Florence"&gt;&lt;img width="150" height="150" src="http://netfactory.dk/wp-content/uploads/2010/05/florence_20-150x150.jpg" class="attachment-thumbnail" alt="Figure on City Hall, Florence" title="Figure on City Hall, Florence" /&gt;&lt;/a&gt;
&lt;a  href="http://netfactory.dk/2010/04/26/florence-italy/city-hall-florence/" title="City Hall, Florence"&gt;&lt;img width="150" height="150" src="http://netfactory.dk/wp-content/uploads/2010/05/florence_21-150x150.jpg" class="attachment-thumbnail" alt="City Hall, Florence" title="City Hall, Florence" /&gt;&lt;/a&gt;
&lt;a  href="http://netfactory.dk/2010/04/26/florence-italy/water-fountain-near-city-hall-florence/" title="Water fountain near City Hall, Florence"&gt;&lt;img width="150" height="150" src="http://netfactory.dk/wp-content/uploads/2010/05/florence_22-150x150.jpg" class="attachment-thumbnail" alt="Water fountain near City Hall, Florence" title="Water fountain near City Hall, Florence" /&gt;&lt;/a&gt;
&lt;a  href="http://netfactory.dk/2010/04/26/florence-italy/palazzo-pitti/" title="Palazzo Pitti"&gt;&lt;img width="150" height="150" src="http://netfactory.dk/wp-content/uploads/2010/05/florence_23-150x150.jpg" class="attachment-thumbnail" alt="Palazzo Pitti" title="Palazzo Pitti" /&gt;&lt;/a&gt;
&lt;a  href="http://netfactory.dk/2010/04/26/florence-italy/societa-canottieri-firenze/" title="Societa&amp;#039; Canottieri Firenze"&gt;&lt;img width="150" height="150" src="http://netfactory.dk/wp-content/uploads/2010/05/florence_24-150x150.jpg" class="attachment-thumbnail" alt="Societa&amp;#039; Canottieri Firenze" title="Societa&amp;#039; Canottieri Firenze" /&gt;&lt;/a&gt;
&lt;a  href="http://netfactory.dk/2010/04/26/florence-italy/scooter-row-in-florence/" title="Scooter row in Florence"&gt;&lt;img width="150" height="150" src="http://netfactory.dk/wp-content/uploads/2010/05/florence_25-150x150.jpg" class="attachment-thumbnail" alt="Scooter row in Florence" title="Scooter row in Florence" /&gt;&lt;/a&gt;
&lt;a  href="http://netfactory.dk/2010/04/26/florence-italy/ponte-vecchio-florence/" title="Ponte Vecchio, Florence"&gt;&lt;img width="150" height="150" src="http://netfactory.dk/wp-content/uploads/2010/05/florence_26-150x150.jpg" class="attachment-thumbnail" alt="Ponte Vecchio, Florence" title="Ponte Vecchio, Florence" /&gt;&lt;/a&gt;
&lt;a  href="http://netfactory.dk/2010/04/26/florence-italy/lunch-in-florence/" title="Lunch in Florence"&gt;&lt;img width="150" height="150" src="http://netfactory.dk/wp-content/uploads/2010/05/florence_27-150x150.jpg" class="attachment-thumbnail" alt="Lunch in Florence" title="Lunch in Florence" /&gt;&lt;/a&gt;
&lt;a  href="http://netfactory.dk/2010/04/26/florence-italy/the-church-of-santa-croce-florence/" title="The Church of Santa Croce, Florence"&gt;&lt;img width="150" height="150" src="http://netfactory.dk/wp-content/uploads/2010/05/florence_28-150x150.jpg" class="attachment-thumbnail" alt="The Church of Santa Croce, Florence" title="The Church of Santa Croce, Florence" /&gt;&lt;/a&gt;
&lt;a  href="http://netfactory.dk/2010/04/26/florence-italy/old-painted-building-near-city-hall-florence/" title="Old painted building near City Hall, Florence"&gt;&lt;img width="150" height="150" src="http://netfactory.dk/wp-content/uploads/2010/05/florence_29-150x150.jpg" class="attachment-thumbnail" alt="Old painted building near City Hall, Florence" title="Old painted building near City Hall, Florence" /&gt;&lt;/a&gt;
&lt;a  href="http://netfactory.dk/2010/04/26/florence-italy/market-in-florence/" title="Market in Florence"&gt;&lt;img width="150" height="150" src="http://netfactory.dk/wp-content/uploads/2010/05/florence_30-150x150.jpg" class="attachment-thumbnail" alt="Market in Florence" title="Market in Florence" /&gt;&lt;/a&gt;
&lt;a  href="http://netfactory.dk/2010/04/26/florence-italy/the-national-library-in-florence/" title="The national library in Florence"&gt;&lt;img width="150" height="150" src="http://netfactory.dk/wp-content/uploads/2010/05/florence_31-150x150.jpg" class="attachment-thumbnail" alt="The national library in Florence" title="The national library in Florence" /&gt;&lt;/a&gt;
&lt;a  href="http://netfactory.dk/2010/04/26/florence-italy/il-duomo-view-from-piazza-micheangelo-florence/" title="Il Duomo, View from Piazza Micheangelo, Florence"&gt;&lt;img width="150" height="150" src="http://netfactory.dk/wp-content/uploads/2010/05/florence_32-150x150.jpg" class="attachment-thumbnail" alt="Il Duomo, View from Piazza Micheangelo, Florence" title="Il Duomo, View from Piazza Micheangelo, Florence" /&gt;&lt;/a&gt;
&lt;a  href="http://netfactory.dk/2010/04/26/florence-italy/view-from-piazza-micheangelo-florence/" title="View from Piazza Micheangelo, Florence"&gt;&lt;img width="150" height="150" src="http://netfactory.dk/wp-content/uploads/2010/05/florence_33-150x150.jpg" class="attachment-thumbnail" alt="View from Piazza Micheangelo, Florence" title="View from Piazza Micheangelo, Florence" /&gt;&lt;/a&gt;
&lt;a  href="http://netfactory.dk/2010/04/26/florence-italy/view-from-piazza-micheangelo-florence-2/" title="View from Piazza Micheangelo, Florence"&gt;&lt;img width="150" height="150" src="http://netfactory.dk/wp-content/uploads/2010/05/florence_34-150x150.jpg" class="attachment-thumbnail" alt="View from Piazza Micheangelo, Florence" title="View from Piazza Micheangelo, Florence" /&gt;&lt;/a&gt;
&lt;a  href="http://netfactory.dk/2010/04/26/florence-italy/ponte-veccio-from-the-piazza-michelangelo/" title="Ponte Veccio from the PIazza Michelangelo"&gt;&lt;img width="150" height="150" src="http://netfactory.dk/wp-content/uploads/2010/05/florence_35-150x150.jpg" class="attachment-thumbnail" alt="Ponte Veccio from the PIazza Michelangelo" title="Ponte Veccio from the PIazza Michelangelo" /&gt;&lt;/a&gt;
&lt;a  href="http://netfactory.dk/2010/04/26/florence-italy/city-hall-florence-viewed-from-piazza-michelangelo/" title="City Hall, Florence, viewed from Piazza Michelangelo"&gt;&lt;img width="150" height="150" src="http://netfactory.dk/wp-content/uploads/2010/05/florence_36-150x150.jpg" class="attachment-thumbnail" alt="City Hall, Florence, viewed from Piazza Michelangelo" title="City Hall, Florence, viewed from Piazza Michelangelo" /&gt;&lt;/a&gt;
&lt;a  href="http://netfactory.dk/2010/04/26/florence-italy/public-libray-florence-viewed-from-piazza-micheangelo/" title="Public libray, Florence, viewed from Piazza Micheangelo"&gt;&lt;img width="150" height="150" src="http://netfactory.dk/wp-content/uploads/2010/05/florence_37-150x150.jpg" class="attachment-thumbnail" alt="Public libray, Florence, viewed from Piazza Micheangelo" title="Public libray, Florence, viewed from Piazza Micheangelo" /&gt;&lt;/a&gt;
&lt;a  href="http://netfactory.dk/2010/04/26/florence-italy/church-viewed-from-piazza-micheangelo-florence/" title="Church viewed from Piazza Micheangelo, Florence"&gt;&lt;img width="150" height="150" src="http://netfactory.dk/wp-content/uploads/2010/05/florence_38-150x150.jpg" class="attachment-thumbnail" alt="Church viewed from Piazza Micheangelo, Florence" title="Church viewed from Piazza Micheangelo, Florence" /&gt;&lt;/a&gt;
&lt;a  href="http://netfactory.dk/2010/04/26/florence-italy/city-hall-florence-viewed-from-piazza-michelangelo-2/" title="City Hall, Florence, viewed from Piazza Michelangelo"&gt;&lt;img width="150" height="150" src="http://netfactory.dk/wp-content/uploads/2010/05/florence_39-150x150.jpg" class="attachment-thumbnail" alt="City Hall, Florence, viewed from Piazza Michelangelo" title="City Hall, Florence, viewed from Piazza Michelangelo" /&gt;&lt;/a&gt;
&lt;a  href="http://netfactory.dk/2010/04/26/florence-italy/piazza-michelangelo/" title="Piazza Michelangelo"&gt;&lt;img width="150" height="150" src="http://netfactory.dk/wp-content/uploads/2010/05/florence_40-150x150.jpg" class="attachment-thumbnail" alt="Piazza Michelangelo" title="Piazza Michelangelo" /&gt;&lt;/a&gt;
&lt;a  href="http://netfactory.dk/2010/04/26/florence-italy/daniele-manin-near-piazza-micheangelo-florence/" title="Daniele Manin, near Piazza Micheangelo, Florence"&gt;&lt;img width="150" height="150" src="http://netfactory.dk/wp-content/uploads/2010/05/florence_41-150x150.jpg" class="attachment-thumbnail" alt="Daniele Manin, near Piazza Micheangelo, Florence" title="Daniele Manin, near Piazza Micheangelo, Florence" /&gt;&lt;/a&gt;
&lt;a  href="http://netfactory.dk/2010/04/26/florence-italy/arno-river-florence/" title="Arno River, Florence"&gt;&lt;img width="150" height="150" src="http://netfactory.dk/wp-content/uploads/2010/05/florence_42-150x150.jpg" class="attachment-thumbnail" alt="Arno River, Florence" title="Arno River, Florence" /&gt;&lt;/a&gt;
&lt;a  href="http://netfactory.dk/2010/04/26/florence-italy/stone-lion/" title="Stone Lion"&gt;&lt;img width="150" height="150" src="http://netfactory.dk/wp-content/uploads/2010/05/florence_43-150x150.jpg" class="attachment-thumbnail" alt="Stone Lion" title="Stone Lion" /&gt;&lt;/a&gt;
&lt;a  href="http://netfactory.dk/2010/04/26/florence-italy/florence-city-tram/" title="Florence city tram"&gt;&lt;img width="150" height="150" src="http://netfactory.dk/wp-content/uploads/2010/05/florence_44-150x150.jpg" class="attachment-thumbnail" alt="Florence city tram" title="Florence city tram" /&gt;&lt;/a&gt;
&lt;a  href="http://netfactory.dk/2010/04/26/florence-italy/figures-on-viale-fillipo-strozzi-florence/" title="Figures on Viale Fillipo Strozzi, Florence"&gt;&lt;img width="150" height="150" src="http://netfactory.dk/wp-content/uploads/2010/05/florence_45-150x150.jpg" class="attachment-thumbnail" alt="Figures on Viale Fillipo Strozzi, Florence" title="Figures on Viale Fillipo Strozzi, Florence" /&gt;&lt;/a&gt;
&lt;a  href="http://netfactory.dk/2010/04/26/florence-italy/graveyard-in-the-middle-of-a-roundabout-florence/" title="Graveyard in the middle of a roundabout, Florence"&gt;&lt;img width="150" height="150" src="http://netfactory.dk/wp-content/uploads/2010/05/florence_46-150x150.jpg" class="attachment-thumbnail" alt="Graveyard in the middle of a roundabout, Florence" title="Graveyard in the middle of a roundabout, Florence" /&gt;&lt;/a&gt;
&lt;a  href="http://netfactory.dk/2010/04/26/florence-italy/florence-city-archives/" title="Florence City Archives"&gt;&lt;img width="150" height="150" src="http://netfactory.dk/wp-content/uploads/2010/05/florence_47-150x150.jpg" class="attachment-thumbnail" alt="Florence City Archives" title="Florence City Archives" /&gt;&lt;/a&gt;
&lt;a  href="http://netfactory.dk/2010/04/26/florence-italy/building-viewed-across-the-arno-river/" title="Building viewed across the Arno River"&gt;&lt;img width="150" height="150" src="http://netfactory.dk/wp-content/uploads/2010/05/florence_48-150x150.jpg" class="attachment-thumbnail" alt="Building viewed across the Arno River" title="Building viewed across the Arno River" /&gt;&lt;/a&gt;
&lt;a  href="http://netfactory.dk/2010/04/26/florence-italy/basilica-di-san-miniato-al-monte-florence-italy/" title="Basilica di San Miniato al Monte, Florence Italy"&gt;&lt;img width="150" height="150" src="http://netfactory.dk/wp-content/uploads/2010/05/florence_49-150x150.jpg" class="attachment-thumbnail" alt="Basilica di San Miniato al Monte, Florence Italy" title="Basilica di San Miniato al Monte, Florence Italy" /&gt;&lt;/a&gt;
&lt;a  href="http://netfactory.dk/2010/04/26/florence-italy/chruch-in-florence/" title="Chruch in Florence"&gt;&lt;img width="150" height="150" src="http://netfactory.dk/wp-content/uploads/2010/05/florence_50-150x150.jpg" class="attachment-thumbnail" alt="Chruch in Florence" title="Chruch in Florence" /&gt;&lt;/a&gt;
&lt;a  href="http://netfactory.dk/2010/04/26/florence-italy/ponte-veccio-florence-italy/" title="Ponte Veccio, Florence, Italy"&gt;&lt;img width="150" height="150" src="http://netfactory.dk/wp-content/uploads/2010/05/florence_51-150x150.jpg" class="attachment-thumbnail" alt="Ponte Veccio, Florence, Italy" title="Ponte Veccio, Florence, Italy" /&gt;&lt;/a&gt;
&lt;a  href="http://netfactory.dk/2010/04/26/florence-italy/church-in-florence/" title="Church in Florence"&gt;&lt;img width="150" height="150" src="http://netfactory.dk/wp-content/uploads/2010/05/florence_52-150x150.jpg" class="attachment-thumbnail" alt="Church in Florence" title="Church in Florence" /&gt;&lt;/a&gt;

&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.netfactory.dk/~ff/netfactory?a=qFP5D51Zc2U:LwYdhdMeCrU:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/netfactory?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.netfactory.dk/~ff/netfactory?a=qFP5D51Zc2U:LwYdhdMeCrU:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/netfactory?i=qFP5D51Zc2U:LwYdhdMeCrU:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.netfactory.dk/~ff/netfactory?a=qFP5D51Zc2U:LwYdhdMeCrU:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/netfactory?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/netfactory/~4/qFP5D51Zc2U" height="1" width="1"/&gt;</content>
		<link rel="replies" type="text/html" href="http://netfactory.dk/2010/04/26/florence-italy/#comments" thr:count="0" />
		<link rel="replies" type="application/atom+xml" href="http://netfactory.dk/2010/04/26/florence-italy/feed/atom/" thr:count="0" />
		<thr:total>0</thr:total>
	<feedburner:origLink>http://netfactory.dk/2010/04/26/florence-italy/</feedburner:origLink></entry>
		<entry>
		<author>
			<name>admin</name>
					</author>
		<title type="html"><![CDATA[Pisa, Italy]]></title>
		<link rel="alternate" type="text/html" href="http://feeds.netfactory.dk/~r/netfactory/~3/F-OIr6P1Jfg/" />
		<id>http://netfactory.dk/?p=2376</id>
		<updated>2010-04-24T10:00:03Z</updated>
		<published>2010-04-24T10:00:03Z</published>
		<category scheme="http://netfactory.dk" term="gallery" /><category scheme="http://netfactory.dk" term="europe" /><category scheme="http://netfactory.dk" term="italy" /><category scheme="http://netfactory.dk" term="Photography" /><category scheme="http://netfactory.dk" term="pisa" /><category scheme="http://netfactory.dk" term="travel" />		<summary type="html"><![CDATA[Budget airlines is a wonderful way to have short holidays or extended weekends somewhere interesting. The carrier Norwegian has flights from Copenhagen to Pisa and we went to explore Pisa a few days saying at the Grand Hotel Bonanno. Getting around Getting to town&#8230; If you fly into Pisa Airport taking the train to Pisa [...]]]></summary>
		<content type="html" xml:base="http://netfactory.dk/2010/04/24/pisa-italy/">&lt;p&gt;Budget airlines is a wonderful way to have short holidays or extended weekends somewhere interesting. The carrier &lt;a  href="http://www.norwegian.com/"&gt;Norwegian&lt;/a&gt; has flights from Copenhagen to Pisa and we went to explore Pisa a few days saying at &lt;a  href="http://www.grandhotelbonanno.it/"&gt;the Grand Hotel Bonanno&lt;/a&gt;.&lt;br /&gt;
&lt;!-- more --&gt;&lt;/p&gt;
&lt;h3&gt;Getting around&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt; Getting to town&amp;#8230;
&lt;ul&gt;
&lt;li&gt; If you fly into Pisa Airport taking the train to Pisa Centrale is cheap and easy. It takes less than 15 minutes.&lt;/li&gt;
&lt;li&gt; The Pisa Centrale train station is in the middle of town, and walking distance to most hotels.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt; Exploring the city
&lt;ul&gt;
&lt;li&gt; Walking around in town is easy and the distances are fairly short between interesting sights. &lt;/li&gt;
&lt;li&gt; Many hotels offers bikes, and while the pavement is bumpy it shouldn&amp;#8217;t be a problem.&lt;/li&gt;
&lt;li&gt; Skip driving in town &amp;#8211; the streest are narrow, there are many one-way streets and finding your way can be a challenge.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;What to see&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;The leaning tower is the most famous sight in Pisa, but far from the only interesting sight. &lt;/li&gt;
&lt;li&gt;The historic center of the city contains many churches and other sights.&lt;/li&gt;
&lt;li&gt;The city is filled with small (local) restaurants hidden away in the many narrow streets.&lt;/li&gt;
&lt;li&gt;There&amp;#8217;s a big University in town &amp;#8211; and a large hospital.&lt;/li&gt;
&lt;li&gt;The Arno river runs across the town.&lt;/li&gt;
&lt;li&gt;There&amp;#8217;s a large train station with connections to Roma, Florence and other major Italian cities. &lt;/li&gt;
&lt;/ul&gt;

&lt;a  href="http://netfactory.dk/2010/04/24/pisa-italy/la-piazza-del-duomo/" title="La Piazza del Duomo"&gt;&lt;img width="150" height="150" src="http://netfactory.dk/wp-content/uploads/2010/05/pisa_01-150x150.jpg" class="attachment-thumbnail" alt="La Piazza del Duomo" title="La Piazza del Duomo" /&gt;&lt;/a&gt;
&lt;a  href="http://netfactory.dk/2010/04/24/pisa-italy/torre-pendente-leaning-tower-in-pisa/" title="Torre Pendente (Leaning Tower) in Pisa"&gt;&lt;img width="150" height="150" src="http://netfactory.dk/wp-content/uploads/2010/05/pisa_02-150x150.jpg" class="attachment-thumbnail" alt="Torre Pendente (Leaning Tower) in Pisa" title="Torre Pendente (Leaning Tower) in Pisa" /&gt;&lt;/a&gt;
&lt;a  href="http://netfactory.dk/2010/04/24/pisa-italy/la-piazza-del-duomo-2/" title="La Piazza del Duomo"&gt;&lt;img width="150" height="150" src="http://netfactory.dk/wp-content/uploads/2010/05/pisa_03-150x150.jpg" class="attachment-thumbnail" alt="La Piazza del Duomo" title="La Piazza del Duomo" /&gt;&lt;/a&gt;
&lt;a  href="http://netfactory.dk/2010/04/24/pisa-italy/torre-pendente-leaning-tower-in-pisa-2/" title="Torre Pendente (Leaning Tower) in Pisa"&gt;&lt;img width="150" height="150" src="http://netfactory.dk/wp-content/uploads/2010/05/pisa_04-150x150.jpg" class="attachment-thumbnail" alt="Torre Pendente (Leaning Tower) in Pisa" title="Torre Pendente (Leaning Tower) in Pisa" /&gt;&lt;/a&gt;
&lt;a  href="http://netfactory.dk/2010/04/24/pisa-italy/entrance-to-the-piazza-del-duomo/" title="Entrance to the Piazza del Duomo"&gt;&lt;img width="150" height="150" src="http://netfactory.dk/wp-content/uploads/2010/05/pisa_05-150x150.jpg" class="attachment-thumbnail" alt="Entrance to the Piazza del Duomo" title="Entrance to the Piazza del Duomo" /&gt;&lt;/a&gt;
&lt;a  href="http://netfactory.dk/2010/04/24/pisa-italy/la-piazza-del-duomo-3/" title="La Piazza del Duomo"&gt;&lt;img width="150" height="150" src="http://netfactory.dk/wp-content/uploads/2010/05/pisa_06-150x150.jpg" class="attachment-thumbnail" alt="La Piazza del Duomo" title="La Piazza del Duomo" /&gt;&lt;/a&gt;
&lt;a  href="http://netfactory.dk/2010/04/24/pisa-italy/sculpture-on-la-piazza-del-duomo/" title="Sculpture on La Piazza del Duomo"&gt;&lt;img width="150" height="150" src="http://netfactory.dk/wp-content/uploads/2010/05/pisa_07-150x150.jpg" class="attachment-thumbnail" alt="Sculpture on La Piazza del Duomo" title="Sculpture on La Piazza del Duomo" /&gt;&lt;/a&gt;
&lt;a  href="http://netfactory.dk/2010/04/24/pisa-italy/piazza-dei-cavelleri/" title="Piazza dei Cavelleri"&gt;&lt;img width="150" height="150" src="http://netfactory.dk/wp-content/uploads/2010/05/pisa_08-150x150.jpg" class="attachment-thumbnail" alt="Piazza dei Cavelleri" title="Piazza dei Cavelleri" /&gt;&lt;/a&gt;
&lt;a  href="http://netfactory.dk/2010/04/24/pisa-italy/old-aquaduct-of-pisa/" title="Old Aquaduct of Pisa"&gt;&lt;img width="150" height="150" src="http://netfactory.dk/wp-content/uploads/2010/05/pisa_09-150x150.jpg" class="attachment-thumbnail" alt="Old Aquaduct of Pisa" title="Old Aquaduct of Pisa" /&gt;&lt;/a&gt;
&lt;a  href="http://netfactory.dk/2010/04/24/pisa-italy/ponte-di-mezzo-over-the-arno-river/" title="Ponte di Mezzo over the Arno river"&gt;&lt;img width="150" height="150" src="http://netfactory.dk/wp-content/uploads/2010/05/pisa_10-150x150.jpg" class="attachment-thumbnail" alt="Ponte di Mezzo over the Arno river" title="Ponte di Mezzo over the Arno river" /&gt;&lt;/a&gt;
&lt;a  href="http://netfactory.dk/2010/04/24/pisa-italy/nicola-pisano-considered-to-be-the-founder-of-modern-sculpture/" title="Nicola Pisano - considered to be the founder of modern sculpture"&gt;&lt;img width="150" height="150" src="http://netfactory.dk/wp-content/uploads/2010/05/pisa_11-150x150.jpg" class="attachment-thumbnail" alt="Nicola Pisano - considered to be the founder of modern sculpture" title="Nicola Pisano - considered to be the founder of modern sculpture" /&gt;&lt;/a&gt;
&lt;a  href="http://netfactory.dk/2010/04/24/pisa-italy/wall-painting-pisa/" title="Wall painting, Pisa"&gt;&lt;img width="150" height="150" src="http://netfactory.dk/wp-content/uploads/2010/05/pisa_12-150x150.jpg" class="attachment-thumbnail" alt="Wall painting, Pisa" title="Wall painting, Pisa" /&gt;&lt;/a&gt;
&lt;a  href="http://netfactory.dk/2010/04/24/pisa-italy/tiny-street-in-pisa/" title="Tiny street in Pisa"&gt;&lt;img width="150" height="150" src="http://netfactory.dk/wp-content/uploads/2010/05/pisa_13-150x150.jpg" class="attachment-thumbnail" alt="Tiny street in Pisa" title="Tiny street in Pisa" /&gt;&lt;/a&gt;
&lt;a  href="http://netfactory.dk/2010/04/24/pisa-italy/santa-maria-della-spina-pisa/" title="Santa Maria della Spina, Pisa"&gt;&lt;img width="150" height="150" src="http://netfactory.dk/wp-content/uploads/2010/05/pisa_14-150x150.jpg" class="attachment-thumbnail" alt="Santa Maria della Spina, Pisa" title="Santa Maria della Spina, Pisa" /&gt;&lt;/a&gt;
&lt;a  href="http://netfactory.dk/2010/04/24/pisa-italy/torre-guelfa-pisa/" title="Torre Guelfa, Pisa"&gt;&lt;img width="150" height="150" src="http://netfactory.dk/wp-content/uploads/2010/05/pisa_15-150x150.jpg" class="attachment-thumbnail" alt="Torre Guelfa, Pisa" title="Torre Guelfa, Pisa" /&gt;&lt;/a&gt;
&lt;a  href="http://netfactory.dk/2010/04/24/pisa-italy/vespa-scooter-the-favorite-transport-for-italians/" title="Vespa Scooter - the favorite transport for Italians"&gt;&lt;img width="150" height="150" src="http://netfactory.dk/wp-content/uploads/2010/05/pisa_16-150x150.jpg" class="attachment-thumbnail" alt="Vespa Scooter - the favorite transport for Italians" title="Vespa Scooter - the favorite transport for Italians" /&gt;&lt;/a&gt;
&lt;a  href="http://netfactory.dk/2010/04/24/pisa-italy/old-ruins-in-pisa/" title="Old ruins in Pisa"&gt;&lt;img width="150" height="150" src="http://netfactory.dk/wp-content/uploads/2010/05/pisa_17-150x150.jpg" class="attachment-thumbnail" alt="Old ruins in Pisa" title="Old ruins in Pisa" /&gt;&lt;/a&gt;
&lt;a  href="http://netfactory.dk/2010/04/24/pisa-italy/santa-maria-della-spina-pisa-2/" title="Santa Maria della Spina, Pisa"&gt;&lt;img width="150" height="150" src="http://netfactory.dk/wp-content/uploads/2010/05/pisa_18-150x150.jpg" class="attachment-thumbnail" alt="Santa Maria della Spina, Pisa" title="Santa Maria della Spina, Pisa" /&gt;&lt;/a&gt;
&lt;a  href="http://netfactory.dk/2010/04/24/pisa-italy/cassa-di-risparmio-bank-headquarters/" title="Cassa di Risparmio - Bank headquarters?"&gt;&lt;img width="150" height="150" src="http://netfactory.dk/wp-content/uploads/2010/05/pisa_19-150x150.jpg" class="attachment-thumbnail" alt="Cassa di Risparmio - Bank headquarters?" title="Cassa di Risparmio - Bank headquarters?" /&gt;&lt;/a&gt;
&lt;a  href="http://netfactory.dk/2010/04/24/pisa-italy/dinner-in-pisa/" title="Dinner in Pisa"&gt;&lt;img width="150" height="150" src="http://netfactory.dk/wp-content/uploads/2010/05/pisa_20-150x150.jpg" class="attachment-thumbnail" alt="Dinner in Pisa" title="Dinner in Pisa" /&gt;&lt;/a&gt;
&lt;a  href="http://netfactory.dk/2010/04/24/pisa-italy/cattedrale-pisa-by-night/" title="Cattedrale, Pisa - by night"&gt;&lt;img width="150" height="150" src="http://netfactory.dk/wp-content/uploads/2010/05/pisa_21-150x150.jpg" class="attachment-thumbnail" alt="Cattedrale, Pisa - by night" title="Cattedrale, Pisa - by night" /&gt;&lt;/a&gt;
&lt;a  href="http://netfactory.dk/2010/04/24/pisa-italy/cattedrale-pisa/" title="Cattedrale, Pisa"&gt;&lt;img width="150" height="150" src="http://netfactory.dk/wp-content/uploads/2010/05/pisa_22-150x150.jpg" class="attachment-thumbnail" alt="Cattedrale, Pisa" title="Cattedrale, Pisa" /&gt;&lt;/a&gt;
&lt;a  href="http://netfactory.dk/2010/04/24/pisa-italy/the-piazza-dei-miracoli-miracle-square-of-pisa/" title="The Piazza dei Miracoli (Miracle Square) of Pisa"&gt;&lt;img width="150" height="150" src="http://netfactory.dk/wp-content/uploads/2010/05/pisa_23-150x150.jpg" class="attachment-thumbnail" alt="The Piazza dei Miracoli (Miracle Square) of Pisa" title="The Piazza dei Miracoli (Miracle Square) of Pisa" /&gt;&lt;/a&gt;
&lt;a  href="http://netfactory.dk/2010/04/24/pisa-italy/battistero-the-piazza-dei-miracoli-miracle-square-of-pisa/" title="Battistero, The Piazza dei Miracoli (Miracle Square) of Pisa"&gt;&lt;img width="150" height="150" src="http://netfactory.dk/wp-content/uploads/2010/05/pisa_24-150x150.jpg" class="attachment-thumbnail" alt="Battistero, The Piazza dei Miracoli (Miracle Square) of Pisa" title="Battistero, The Piazza dei Miracoli (Miracle Square) of Pisa" /&gt;&lt;/a&gt;
&lt;a  href="http://netfactory.dk/2010/04/24/pisa-italy/torre-pendente-leaning-tower-in-pisa-3/" title="Torre Pendente (Leaning Tower) in Pisa"&gt;&lt;img width="150" height="150" src="http://netfactory.dk/wp-content/uploads/2010/05/pisa_25-150x150.jpg" class="attachment-thumbnail" alt="Torre Pendente (Leaning Tower) in Pisa" title="Torre Pendente (Leaning Tower) in Pisa" /&gt;&lt;/a&gt;
&lt;a  href="http://netfactory.dk/2010/04/24/pisa-italy/cattedrale-viewed-from-the-leaning-tower/" title="Cattedrale viewed from the leaning tower"&gt;&lt;img width="150" height="150" src="http://netfactory.dk/wp-content/uploads/2010/05/pisa_26-150x150.jpg" class="attachment-thumbnail" alt="Cattedrale viewed from the leaning tower" title="Cattedrale viewed from the leaning tower" /&gt;&lt;/a&gt;
&lt;a  href="http://netfactory.dk/2010/04/24/pisa-italy/soccer-stadium-viewed-from-the-leaning-tower/" title="Soccer stadium viewed from the leaning tower"&gt;&lt;img width="150" height="150" src="http://netfactory.dk/wp-content/uploads/2010/05/pisa_27-150x150.jpg" class="attachment-thumbnail" alt="Soccer stadium viewed from the leaning tower" title="Soccer stadium viewed from the leaning tower" /&gt;&lt;/a&gt;
&lt;a  href="http://netfactory.dk/2010/04/24/pisa-italy/view-from-the-leaning-tower-pisa/" title="View from the leaning tower, Pisa"&gt;&lt;img width="150" height="150" src="http://netfactory.dk/wp-content/uploads/2010/05/pisa_28-150x150.jpg" class="attachment-thumbnail" alt="View from the leaning tower, Pisa" title="View from the leaning tower, Pisa" /&gt;&lt;/a&gt;
&lt;a  href="http://netfactory.dk/2010/04/24/pisa-italy/view-from-the-leaning-tower/" title="View from the leaning tower"&gt;&lt;img width="150" height="150" src="http://netfactory.dk/wp-content/uploads/2010/05/pisa_29-150x150.jpg" class="attachment-thumbnail" alt="View from the leaning tower" title="View from the leaning tower" /&gt;&lt;/a&gt;
&lt;a  href="http://netfactory.dk/2010/04/24/pisa-italy/view-from-the-leaning-tower-2/" title="View from the leaning tower"&gt;&lt;img width="150" height="150" src="http://netfactory.dk/wp-content/uploads/2010/05/pisa_30-150x150.jpg" class="attachment-thumbnail" alt="View from the leaning tower" title="View from the leaning tower" /&gt;&lt;/a&gt;
&lt;a  href="http://netfactory.dk/2010/04/24/pisa-italy/bell-in-the-leaning-tower/" title="Bell in the leaning tower"&gt;&lt;img width="150" height="150" src="http://netfactory.dk/wp-content/uploads/2010/05/pisa_31-150x150.jpg" class="attachment-thumbnail" alt="Bell in the leaning tower" title="Bell in the leaning tower" /&gt;&lt;/a&gt;
&lt;a  href="http://netfactory.dk/2010/04/24/pisa-italy/inside-the-leaning-tower/" title="Inside the leaning tower"&gt;&lt;img width="150" height="150" src="http://netfactory.dk/wp-content/uploads/2010/05/pisa_32-150x150.jpg" class="attachment-thumbnail" alt="Inside the leaning tower" title="Inside the leaning tower" /&gt;&lt;/a&gt;
&lt;a  href="http://netfactory.dk/2010/04/24/pisa-italy/santa-caterina-pisa/" title="Santa Caterina, Pisa"&gt;&lt;img width="150" height="150" src="http://netfactory.dk/wp-content/uploads/2010/05/pisa_33-150x150.jpg" class="attachment-thumbnail" alt="Santa Caterina, Pisa" title="Santa Caterina, Pisa" /&gt;&lt;/a&gt;
&lt;a  href="http://netfactory.dk/2010/04/24/pisa-italy/fiat-panda-van-from-telecom-italia/" title="Fiat Panda Van from Telecom Italia"&gt;&lt;img width="150" height="150" src="http://netfactory.dk/wp-content/uploads/2010/05/pisa_34-150x150.jpg" class="attachment-thumbnail" alt="Fiat Panda Van from Telecom Italia" title="Fiat Panda Van from Telecom Italia" /&gt;&lt;/a&gt;
&lt;a  href="http://netfactory.dk/2010/04/24/pisa-italy/sculpture-on-la-piazza-del-duomo-2/" title="Sculpture on La Piazza del Duomo"&gt;&lt;img width="150" height="150" src="http://netfactory.dk/wp-content/uploads/2010/05/pisa_35-150x150.jpg" class="attachment-thumbnail" alt="Sculpture on La Piazza del Duomo" title="Sculpture on La Piazza del Duomo" /&gt;&lt;/a&gt;

&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.netfactory.dk/~ff/netfactory?a=F-OIr6P1Jfg:54MCxc2XTjo:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/netfactory?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.netfactory.dk/~ff/netfactory?a=F-OIr6P1Jfg:54MCxc2XTjo:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/netfactory?i=F-OIr6P1Jfg:54MCxc2XTjo:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.netfactory.dk/~ff/netfactory?a=F-OIr6P1Jfg:54MCxc2XTjo:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/netfactory?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/netfactory/~4/F-OIr6P1Jfg" height="1" width="1"/&gt;</content>
		<link rel="replies" type="text/html" href="http://netfactory.dk/2010/04/24/pisa-italy/#comments" thr:count="1" />
		<link rel="replies" type="application/atom+xml" href="http://netfactory.dk/2010/04/24/pisa-italy/feed/atom/" thr:count="1" />
		<thr:total>1</thr:total>
	<feedburner:origLink>http://netfactory.dk/2010/04/24/pisa-italy/</feedburner:origLink></entry>
	</feed><!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using disk: basic
Page Caching using disk: basic

Served from: netfactory.dk @ 2012-05-19 02:08:49 -->

