<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Too Far Afield &#187; web development</title>
	<atom:link href="http://blog.nachtarbeiter.net/tag/web-development/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.nachtarbeiter.net</link>
	<description></description>
	<lastBuildDate>Mon, 09 Jan 2012 05:41:26 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Type Hinting in PHP</title>
		<link>http://blog.nachtarbeiter.net/2009/09/05/type-hinting-in-php/</link>
		<comments>http://blog.nachtarbeiter.net/2009/09/05/type-hinting-in-php/#comments</comments>
		<pubDate>Sat, 05 Sep 2009 03:26:21 +0000</pubDate>
		<dc:creator>Patrick</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[fail]]></category>
		<category><![CDATA[oop]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[rant]]></category>
		<category><![CDATA[web development]]></category>

		<guid isPermaLink="false">http://blog.nachtarbeiter.net/?p=874</guid>
		<description><![CDATA[PHP 5 introduces Type Hinting. But it does so in the usual PHP way: It&#8217;s neither fish nor fowl. You&#8217;ll be exited at first when you discover the new feature. And then you&#8217;ll be disappointed. Because things do not work like you&#8217;d expect. Suppose you do something like this: &#60;?php &#160; function foo ( string [...]]]></description>
			<content:encoded><![CDATA[<p>PHP 5 introduces Type Hinting. But it does so in the usual PHP way: It&#8217;s neither fish nor fowl. You&#8217;ll be exited at first when you discover the new feature. And then you&#8217;ll be disappointed. Because things do not work like you&#8217;d expect. Suppose you do something like this:</p>
<ol class="code">
<li><code>&lt;?php</code></li>
<li><code>&nbsp;</code></li>
<li><code>function foo ( string $bar) {</code></li>
<li><code>   echo $bar;</code></li>
<li>}</li>
<li><code>foo ('Hello World!');</code></li>
<li><code>&nbsp;</code></li>
<li><code>?&gt;</code></li>
</ol>
<p>What happens, when you execute the above code? You will get a rather cryptic error message:</p>
<ol class="code">
<li><code>Catchable fatal error: Argument 1 passed to foo() must be an instance of string, string given.</code></li>
</ol>
<p>So the method expected a string as the first parameter and you passed a string to it, but PHP chose to throw up regardless. Great, isn&#8217;t it? Of course, the reason for this is right at the very bottom of the <a href="http://de.php.net/manual/en/language.oop5.typehinting.php">PHP documentation on Type Hinting</a>. All the way down the page below a number of examples:</p>
<p><cite>Type Hints can only be of the object and array  (since PHP 5.1) type. Traditional type hinting with int and string isn&#8217;t supported.</cite></p>
<p>Doh!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.nachtarbeiter.net/2009/09/05/type-hinting-in-php/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Where have all the records gone?</title>
		<link>http://blog.nachtarbeiter.net/2009/08/16/where-have-all-the-records-gone/</link>
		<comments>http://blog.nachtarbeiter.net/2009/08/16/where-have-all-the-records-gone/#comments</comments>
		<pubDate>Sun, 16 Aug 2009 07:12:10 +0000</pubDate>
		<dc:creator>Patrick</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[botnet]]></category>
		<category><![CDATA[dns]]></category>
		<category><![CDATA[life]]></category>
		<category><![CDATA[web development]]></category>

		<guid isPermaLink="false">http://blog.nachtarbeiter.net/?p=824</guid>
		<description><![CDATA[I&#8217;m currently working on a web application and I set up a development version of this application on my local box. For my convenience I set up a number of unit tests to ensure that I do not accidentally break stuff when implementing new features. A number of unit tests that involved DNS failed repeatedly [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m currently working on a web application and I set up a development version of this application on my local box. For my convenience I set up a number of <a href="http://en.wikipedia.org/wiki/Unit_testing">unit tests</a> to ensure that I do not accidentally break stuff when implementing new features. A number of unit tests that involved <abbr title="Domain Name System">DNS</abbr> failed repeatedly with a time-out. For various different reasons I&#8217;m using a router provided by my <abbr title="telephone company">telco</abbr>. During my investigation of the matter, I found out that the internal <abbr title="Domain Name System">DNS</abbr> server of the router did only answer requests for <code>A</code> records. Requests for any other record types timed out. I wonder why they do this. The only reason I can think of is that it&#8217;s part of my <abbr title="Internet Service Provider">ISP</abbr>s fight against malware installed on their customers Windows boxes, so this is not exactly evil. On the other hand, it is not very nice of them, because I&#8217;m sure that it cost me a few hours to debug problems that resulted out of this. I think that I&#8217;ll call them and at least tell them that there are customers out there who really need the real, full, unfiltered <abbr title="Domain Name System">DNS</abbr> service to get their work done.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.nachtarbeiter.net/2009/08/16/where-have-all-the-records-gone/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Quick and dirty: Disable web cache in Firefox 3.5 (Shiretoko)</title>
		<link>http://blog.nachtarbeiter.net/2009/04/16/quick-and-dirty-disable-web-cache-in-firefox-35-shiretoko/</link>
		<comments>http://blog.nachtarbeiter.net/2009/04/16/quick-and-dirty-disable-web-cache-in-firefox-35-shiretoko/#comments</comments>
		<pubDate>Thu, 16 Apr 2009 12:36:19 +0000</pubDate>
		<dc:creator>Patrick</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[cache]]></category>
		<category><![CDATA[Firefox]]></category>
		<category><![CDATA[Shiretoko]]></category>
		<category><![CDATA[web development]]></category>

		<guid isPermaLink="false">http://blog.nachtarbeiter.net/?p=685</guid>
		<description><![CDATA[It&#8217;s sometimes necessary to disable your web browser&#8217;s cache, especially, if you&#8217;re doing web development. If you&#8217;re using a legacy Firefox build (e.g. Firefox prior to 3.5), you could use the excellent Web Developer Toolbar by Chris Pederik to do this (on the Disable menu, select Disable caching). But if you&#8217;re living on the cutting [...]]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s sometimes necessary to disable your web browser&#8217;s cache, especially, if you&#8217;re doing web development. If you&#8217;re using a legacy <a href="http://getfirefox.com/">Firefox</a> build (e.g.  Firefox prior to 3.5), you could use the excellent <a href="https://addons.mozilla.org/en-US/firefox/addon/60">Web Developer Toolbar</a> by <a href="http://chrispederick.com/">Chris Pederik</a> to do this (on the <cite>Disable</cite> menu, select <cite>Disable caching</cite>). But if you&#8217;re living on the cutting edge of things and use a nightly build or a beta build of the current Firefox 3.5 (code name: <cite>Shiretoko</cite>) like I do, you can&#8217;t use the extension, because it is not compatible with nightly builds or recent beta builds (as of this writing).</p>
<p>Thus, a quick and dirty approach: First, type <code>about:config</code> into the URL bar. You&#8217;ll see a warning, that advises you to be careful. Be careful. After carefully dismissing the warning, enter <code>network.http.use-cache</code> into the filter bar. You should now see the preference of the same name. Double click on the value to change its value. If the value is set to <code>false</code>, the cache is disabled. If the value is set to <code>true</code>, which is the default, the cache is enabled. Despite the name, caching of sites using the <code>https</code> protocol will be disabled, too. And don&#8217;t forget to re-enable the cache after you&#8217;re done with whatever you wanted to do.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.nachtarbeiter.net/2009/04/16/quick-and-dirty-disable-web-cache-in-firefox-35-shiretoko/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

