<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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/" xmlns:creativeCommons="http://backend.userland.com/creativeCommonsRssModule" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>Blog in Black</title>
	
	<link>http://bloginblack.de</link>
	<description>Protecting the web from bad ColdFusion code (since 2003)</description>
	<lastBuildDate>Fri, 10 Feb 2012 11:04:54 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/BlogInBlack" /><feedburner:info uri="bloginblack" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><creativeCommons:license>http://creativecommons.org/licenses/by-sa/3.0/</creativeCommons:license><item>
		<title>Foto Feb: day 10</title>
		<link>http://feedproxy.google.com/~r/BlogInBlack/~3/5hHJTbnq6FI/</link>
		<comments>http://bloginblack.de/2012/02/foto-feb-day-10/#comments</comments>
		<pubDate>Fri, 10 Feb 2012 11:04:54 +0000</pubDate>
		<dc:creator>kai</dc:creator>
				<category><![CDATA[Funstuff]]></category>
		<category><![CDATA[Australia]]></category>
		<category><![CDATA[Fun]]></category>
		<category><![CDATA[Plane]]></category>
		<category><![CDATA[Sydney]]></category>
		<category><![CDATA[Travel]]></category>
		<category><![CDATA[Work]]></category>

		<guid isPermaLink="false">http://bloginblack.de/?p=1641</guid>
		<description><![CDATA[Just seen at Sydney Domestic T3 on my way out. Very nice. Made my day  

Foto Feb: day 10 is a post from: Blog in Black
   <p><a href="http://bloginblack.de/2012/02/foto-feb-day-10/">Foto Feb: day 10</a> is a post from: <a href="http://bloginblack.de">Blog in Black</a></p>
]]></description>
			<content:encoded><![CDATA[<p>Just seen at Sydney Domestic T3 on my way out. Very nice. Made my day <img src='http://bloginblack.de/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p style="text-align: center;"><a title="AVRO in Sydney Domestic T3 by grmblzmpf, on Flickr" href="http://www.flickr.com/photos/grmblzmpf/6850932605/"><img class="aligncenter" src="http://farm8.staticflickr.com/7174/6850932605_f9d51e46c8.jpg" alt="AVRO in Sydney Domestic T3" width="500" height="375" /></a></p>
<p><a href="http://bloginblack.de/2012/02/foto-feb-day-10/">Foto Feb: day 10</a> is a post from: <a href="http://bloginblack.de">Blog in Black</a></p>
<p align="right"><a class="tt" href="http://twitter.com/home/?status=Foto+Feb%3A+day+10+http://bloginblack.de/?p=1641" title="Post to Twitter"><img class="nothumb" src="http://bloginblack.de/wp-content/plugins/tweet-this/icons/tt-twitter-micro3.png" alt="Post to Twitter" /></a> <a class="tt" href="http://delicious.com/post?url=http://bloginblack.de/2012/02/foto-feb-day-10/&amp;title=Foto+Feb%3A+day+10" title="Post to Delicious"><img class="nothumb" src="http://bloginblack.de/wp-content/plugins/tweet-this/icons/tt-delicious-micro3.png" alt="Post to Delicious" /></a> <a class="tt" href="http://www.facebook.com/share.php?u=http://bloginblack.de/2012/02/foto-feb-day-10/&amp;t=Foto+Feb%3A+day+10" title="Post to Facebook"><img class="nothumb" src="http://bloginblack.de/wp-content/plugins/tweet-this/icons/tt-facebook-micro3.png" alt="Post to Facebook" /></a> <a class="tt" href="http://stumbleupon.com/submit?url=http://bloginblack.de/2012/02/foto-feb-day-10/&amp;title=Foto+Feb%3A+day+10" title="Post to StumbleUpon"><img class="nothumb" src="http://bloginblack.de/wp-content/plugins/tweet-this/icons/tt-su-micro3.png" alt="Post to StumbleUpon" /></a></p><img src="http://feeds.feedburner.com/~r/BlogInBlack/~4/5hHJTbnq6FI" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://bloginblack.de/2012/02/foto-feb-day-10/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://bloginblack.de/2012/02/foto-feb-day-10/</feedburner:origLink></item>
		<item>
		<title>Foto Feb: day 9</title>
		<link>http://feedproxy.google.com/~r/BlogInBlack/~3/5TwcXaa7VCY/</link>
		<comments>http://bloginblack.de/2012/02/foto-feb-day-9/#comments</comments>
		<pubDate>Thu, 09 Feb 2012 08:23:10 +0000</pubDate>
		<dc:creator>kai</dc:creator>
				<category><![CDATA[Funstuff]]></category>
		<category><![CDATA[Australia]]></category>
		<category><![CDATA[Coffee]]></category>
		<category><![CDATA[Fun]]></category>
		<category><![CDATA[New Zealand]]></category>
		<category><![CDATA[Wellington]]></category>
		<category><![CDATA[Work]]></category>

		<guid isPermaLink="false">http://bloginblack.de/?p=1637</guid>
		<description><![CDATA[This really is today&#8217;s Foto Feb post   I proudly present my Australian Keep Cup in a tradional good old &#8230; eh&#8230; Australian New Zealand German Danish colour scheme or red and white. It lives in @ilaerias desk drawer (together with its also white friend &#8211; my spare Apple mouse) when I&#8217;m not at [...]<p><a href="http://bloginblack.de/2012/02/foto-feb-day-9/">Foto Feb: day 9</a> is a post from: <a href="http://bloginblack.de">Blog in Black</a></p>
]]></description>
			<content:encoded><![CDATA[<p>This really is today&#8217;s Foto Feb post <img src='http://bloginblack.de/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  I proudly present my Australian Keep Cup in a tradional good old &#8230; eh&#8230; <span style="text-decoration: line-through;">Australian</span> <span style="text-decoration: line-through;">New Zealand</span> <span style="text-decoration: line-through;">German</span> Danish colour scheme or red and white. It lives in <a href="http://twitter.com/ilaeria">@ilaerias</a> desk drawer (together with its also white friend &#8211; my spare Apple mouse) when I&#8217;m not at the Gold Coast. I do wonder though if it was worth it from the point of view of my CO2-balance &#8211; the production &#8220;cost&#8221; of the Keep Cup must have been significantly higher than the extra bits of CO2 for taking one of my other Keep Cups across the Tasman&#8230;</p>
<p style="text-align: center;"><a title="AU Keep Cup by grmblzmpf, on Flickr" href="http://www.flickr.com/photos/grmblzmpf/6845344927/"><img class="aligncenter" src="http://farm8.staticflickr.com/7201/6845344927_3cde6e4cc7.jpg" alt="AU Keep Cup" width="375" height="500" /></a></p>
<p><a href="http://bloginblack.de/2012/02/foto-feb-day-9/">Foto Feb: day 9</a> is a post from: <a href="http://bloginblack.de">Blog in Black</a></p>
<p align="right"><a class="tt" href="http://twitter.com/home/?status=Foto+Feb%3A+day+9+http://bloginblack.de/?p=1637" title="Post to Twitter"><img class="nothumb" src="http://bloginblack.de/wp-content/plugins/tweet-this/icons/tt-twitter-micro3.png" alt="Post to Twitter" /></a> <a class="tt" href="http://delicious.com/post?url=http://bloginblack.de/2012/02/foto-feb-day-9/&amp;title=Foto+Feb%3A+day+9" title="Post to Delicious"><img class="nothumb" src="http://bloginblack.de/wp-content/plugins/tweet-this/icons/tt-delicious-micro3.png" alt="Post to Delicious" /></a> <a class="tt" href="http://www.facebook.com/share.php?u=http://bloginblack.de/2012/02/foto-feb-day-9/&amp;t=Foto+Feb%3A+day+9" title="Post to Facebook"><img class="nothumb" src="http://bloginblack.de/wp-content/plugins/tweet-this/icons/tt-facebook-micro3.png" alt="Post to Facebook" /></a> <a class="tt" href="http://stumbleupon.com/submit?url=http://bloginblack.de/2012/02/foto-feb-day-9/&amp;title=Foto+Feb%3A+day+9" title="Post to StumbleUpon"><img class="nothumb" src="http://bloginblack.de/wp-content/plugins/tweet-this/icons/tt-su-micro3.png" alt="Post to StumbleUpon" /></a></p><img src="http://feeds.feedburner.com/~r/BlogInBlack/~4/5TwcXaa7VCY" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://bloginblack.de/2012/02/foto-feb-day-9/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://bloginblack.de/2012/02/foto-feb-day-9/</feedburner:origLink></item>
		<item>
		<title>Foto Feb: day 8</title>
		<link>http://feedproxy.google.com/~r/BlogInBlack/~3/W5Lr3wYGP2I/</link>
		<comments>http://bloginblack.de/2012/02/foto-feb-day-8/#comments</comments>
		<pubDate>Thu, 09 Feb 2012 08:14:52 +0000</pubDate>
		<dc:creator>kai</dc:creator>
				<category><![CDATA[Funstuff]]></category>
		<category><![CDATA[Australia]]></category>
		<category><![CDATA[Christmas]]></category>
		<category><![CDATA[Fun]]></category>
		<category><![CDATA[Game]]></category>
		<category><![CDATA[Work]]></category>

		<guid isPermaLink="false">http://bloginblack.de/?p=1633</guid>
		<description><![CDATA[&#8220;Man Bites Dog&#8221; &#8211; a card game about news headlines. A belated photo (I just forgot to upload it yesterday, sorry) of a belated &#8220;Secret Santa&#8221; present (I joined my client&#8217;s office Secret Santa, left my present for person X there before Xmas; but I wasn&#8217;t around when the presents got distributed). Thx unknown giver [...]<p><a href="http://bloginblack.de/2012/02/foto-feb-day-8/">Foto Feb: day 8</a> is a post from: <a href="http://bloginblack.de">Blog in Black</a></p>
]]></description>
			<content:encoded><![CDATA[<p>&#8220;Man Bites Dog&#8221; &#8211; a card game about news headlines. A belated photo (I just forgot to upload it yesterday, sorry) of a belated &#8220;Secret Santa&#8221; present (I joined my client&#8217;s office Secret Santa, left my present for person X there before Xmas; but I wasn&#8217;t around when the presents got distributed). Thx unknown giver &#8211; looks like a lot of fun!</p>
<p style="text-align: center;"><a title="Man Bites Dog by grmblzmpf, on Flickr" href="http://www.flickr.com/photos/grmblzmpf/6845315629/"><img class="aligncenter" src="http://farm8.staticflickr.com/7062/6845315629_a7f70f14d5.jpg" alt="Man Bites Dog" width="375" height="500" /></a></p>
<p><a href="http://bloginblack.de/2012/02/foto-feb-day-8/">Foto Feb: day 8</a> is a post from: <a href="http://bloginblack.de">Blog in Black</a></p>
<p align="right"><a class="tt" href="http://twitter.com/home/?status=Foto+Feb%3A+day+8+http://bloginblack.de/?p=1633" title="Post to Twitter"><img class="nothumb" src="http://bloginblack.de/wp-content/plugins/tweet-this/icons/tt-twitter-micro3.png" alt="Post to Twitter" /></a> <a class="tt" href="http://delicious.com/post?url=http://bloginblack.de/2012/02/foto-feb-day-8/&amp;title=Foto+Feb%3A+day+8" title="Post to Delicious"><img class="nothumb" src="http://bloginblack.de/wp-content/plugins/tweet-this/icons/tt-delicious-micro3.png" alt="Post to Delicious" /></a> <a class="tt" href="http://www.facebook.com/share.php?u=http://bloginblack.de/2012/02/foto-feb-day-8/&amp;t=Foto+Feb%3A+day+8" title="Post to Facebook"><img class="nothumb" src="http://bloginblack.de/wp-content/plugins/tweet-this/icons/tt-facebook-micro3.png" alt="Post to Facebook" /></a> <a class="tt" href="http://stumbleupon.com/submit?url=http://bloginblack.de/2012/02/foto-feb-day-8/&amp;title=Foto+Feb%3A+day+8" title="Post to StumbleUpon"><img class="nothumb" src="http://bloginblack.de/wp-content/plugins/tweet-this/icons/tt-su-micro3.png" alt="Post to StumbleUpon" /></a></p><img src="http://feeds.feedburner.com/~r/BlogInBlack/~4/W5Lr3wYGP2I" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://bloginblack.de/2012/02/foto-feb-day-8/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://bloginblack.de/2012/02/foto-feb-day-8/</feedburner:origLink></item>
		<item>
		<title>Foto Feb: day 7</title>
		<link>http://feedproxy.google.com/~r/BlogInBlack/~3/YtAqcbKjTbk/</link>
		<comments>http://bloginblack.de/2012/02/foto-feb-day-7/#comments</comments>
		<pubDate>Tue, 07 Feb 2012 12:52:31 +0000</pubDate>
		<dc:creator>kai</dc:creator>
				<category><![CDATA[Funstuff]]></category>
		<category><![CDATA[Australia]]></category>
		<category><![CDATA[Candy]]></category>
		<category><![CDATA[Fun]]></category>
		<category><![CDATA[Thailand]]></category>

		<guid isPermaLink="false">http://bloginblack.de/?p=1629</guid>
		<description><![CDATA[Not much to say really &#8211; a bunch of &#8220;Nimm 2&#8243; lollies (one grows up with those in Germany) that someone among the people working at my client here brought from a recent trip home from Thailand.

Also, it shall be noted that @ilaeria dared to not like them and claimed instead that the Orange flavour [...]<p><a href="http://bloginblack.de/2012/02/foto-feb-day-7/">Foto Feb: day 7</a> is a post from: <a href="http://bloginblack.de">Blog in Black</a></p>
]]></description>
			<content:encoded><![CDATA[<p>Not much to say really &#8211; a bunch of &#8220;Nimm 2&#8243; lollies (one grows up with those in Germany) that someone among the people working at my client here brought from a recent trip home from Thailand.</p>
<p style="text-align: center;"><a title="Nimm 2 by grmblzmpf, on Flickr" href="http://www.flickr.com/photos/grmblzmpf/6835370875/"><img class="aligncenter" src="http://farm8.staticflickr.com/7166/6835370875_17678ee4eb.jpg" alt="Nimm 2" width="375" height="500" /></a></p>
<p>Also, it shall be noted that <a href="http://twitter.com/ilaeria">@ilaeria</a> dared to not like them and claimed instead that the Orange flavour with &#8220;gooey&#8221; Caramel wasn&#8217;t going well together. Sigh. Sigh. Siiiiiiiiiiiigh! <img src='http://bloginblack.de/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><a href="http://bloginblack.de/2012/02/foto-feb-day-7/">Foto Feb: day 7</a> is a post from: <a href="http://bloginblack.de">Blog in Black</a></p>
<p align="right"><a class="tt" href="http://twitter.com/home/?status=Foto+Feb%3A+day+7+http://bloginblack.de/?p=1629" title="Post to Twitter"><img class="nothumb" src="http://bloginblack.de/wp-content/plugins/tweet-this/icons/tt-twitter-micro3.png" alt="Post to Twitter" /></a> <a class="tt" href="http://delicious.com/post?url=http://bloginblack.de/2012/02/foto-feb-day-7/&amp;title=Foto+Feb%3A+day+7" title="Post to Delicious"><img class="nothumb" src="http://bloginblack.de/wp-content/plugins/tweet-this/icons/tt-delicious-micro3.png" alt="Post to Delicious" /></a> <a class="tt" href="http://www.facebook.com/share.php?u=http://bloginblack.de/2012/02/foto-feb-day-7/&amp;t=Foto+Feb%3A+day+7" title="Post to Facebook"><img class="nothumb" src="http://bloginblack.de/wp-content/plugins/tweet-this/icons/tt-facebook-micro3.png" alt="Post to Facebook" /></a> <a class="tt" href="http://stumbleupon.com/submit?url=http://bloginblack.de/2012/02/foto-feb-day-7/&amp;title=Foto+Feb%3A+day+7" title="Post to StumbleUpon"><img class="nothumb" src="http://bloginblack.de/wp-content/plugins/tweet-this/icons/tt-su-micro3.png" alt="Post to StumbleUpon" /></a></p><img src="http://feeds.feedburner.com/~r/BlogInBlack/~4/YtAqcbKjTbk" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://bloginblack.de/2012/02/foto-feb-day-7/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://bloginblack.de/2012/02/foto-feb-day-7/</feedburner:origLink></item>
		<item>
		<title>Foto Feb: day 6</title>
		<link>http://feedproxy.google.com/~r/BlogInBlack/~3/_mzGyhEJZnk/</link>
		<comments>http://bloginblack.de/2012/02/foto-feb-day-6/#comments</comments>
		<pubDate>Mon, 06 Feb 2012 10:30:53 +0000</pubDate>
		<dc:creator>kai</dc:creator>
				<category><![CDATA[Funstuff]]></category>
		<category><![CDATA[Australia]]></category>
		<category><![CDATA[Fun]]></category>
		<category><![CDATA[Travel]]></category>
		<category><![CDATA[Work]]></category>

		<guid isPermaLink="false">http://bloginblack.de/?p=1625</guid>
		<description><![CDATA[Just saw this from my balcony. Fireworks. On a Monday. Maybe at Seaworld?

Foto Feb: day 6 is a post from: Blog in Black
   <p><a href="http://bloginblack.de/2012/02/foto-feb-day-6/">Foto Feb: day 6</a> is a post from: <a href="http://bloginblack.de">Blog in Black</a></p>
]]></description>
			<content:encoded><![CDATA[<p>Just saw this from my balcony. Fireworks. On a Monday. Maybe at Seaworld?</p>
<p><a href="http://www.flickr.com/photos/grmblzmpf/6828871111/" title="Fireworks (at Seaworld?) by grmblzmpf, on Flickr"><img src="http://farm8.staticflickr.com/7165/6828871111_b80f20ccfe.jpg" width="500" height="375" alt="Fireworks (at Seaworld?)"></a></p>
<p><a href="http://bloginblack.de/2012/02/foto-feb-day-6/">Foto Feb: day 6</a> is a post from: <a href="http://bloginblack.de">Blog in Black</a></p>
<p align="right"><a class="tt" href="http://twitter.com/home/?status=Foto+Feb%3A+day+6+http://bloginblack.de/?p=1625" title="Post to Twitter"><img class="nothumb" src="http://bloginblack.de/wp-content/plugins/tweet-this/icons/tt-twitter-micro3.png" alt="Post to Twitter" /></a> <a class="tt" href="http://delicious.com/post?url=http://bloginblack.de/2012/02/foto-feb-day-6/&amp;title=Foto+Feb%3A+day+6" title="Post to Delicious"><img class="nothumb" src="http://bloginblack.de/wp-content/plugins/tweet-this/icons/tt-delicious-micro3.png" alt="Post to Delicious" /></a> <a class="tt" href="http://www.facebook.com/share.php?u=http://bloginblack.de/2012/02/foto-feb-day-6/&amp;t=Foto+Feb%3A+day+6" title="Post to Facebook"><img class="nothumb" src="http://bloginblack.de/wp-content/plugins/tweet-this/icons/tt-facebook-micro3.png" alt="Post to Facebook" /></a> <a class="tt" href="http://stumbleupon.com/submit?url=http://bloginblack.de/2012/02/foto-feb-day-6/&amp;title=Foto+Feb%3A+day+6" title="Post to StumbleUpon"><img class="nothumb" src="http://bloginblack.de/wp-content/plugins/tweet-this/icons/tt-su-micro3.png" alt="Post to StumbleUpon" /></a></p><img src="http://feeds.feedburner.com/~r/BlogInBlack/~4/_mzGyhEJZnk" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://bloginblack.de/2012/02/foto-feb-day-6/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://bloginblack.de/2012/02/foto-feb-day-6/</feedburner:origLink></item>
		<item>
		<title>Special characters in Hg Commit comments</title>
		<link>http://feedproxy.google.com/~r/BlogInBlack/~3/M1Dvy1XmHNc/</link>
		<comments>http://bloginblack.de/2012/02/special-characters-in-hg-commit-comments/#comments</comments>
		<pubDate>Mon, 06 Feb 2012 10:22:12 +0000</pubDate>
		<dc:creator>kai</dc:creator>
				<category><![CDATA[Agent K and the rest of the world]]></category>
		<category><![CDATA[Clients]]></category>
		<category><![CDATA[Coding]]></category>
		<category><![CDATA[Mercurial]]></category>
		<category><![CDATA[Source Control]]></category>
		<category><![CDATA[Work]]></category>

		<guid isPermaLink="false">http://bloginblack.de/?p=1617</guid>
		<description><![CDATA[This was weird. The other day I was trying to commit something into an Hg repository. Not a new one, not a new setup &#8211; I had done thousands of successful commits into this repository in the past.
The result of my commit was weird though:
Error: transaction abort! rollback completed abort: decoding near &#8216;ailbox, we&#8217;re not&#8217;: [...]<p><a href="http://bloginblack.de/2012/02/special-characters-in-hg-commit-comments/">Special characters in Hg Commit comments</a> is a post from: <a href="http://bloginblack.de">Blog in Black</a></p>
]]></description>
			<content:encoded><![CDATA[<p>This was weird. The other day I was trying to commit something into an Hg repository. Not a new one, not a new setup &#8211; I had done thousands of successful commits into this repository in the past.</p>
<p>The result of my commit was weird though:</p>
<p><em>Error: transaction abort! rollback completed abort: decoding near &#8216;ailbox, we&#8217;re not&#8217;: &#8216;ascii&#8217; codec can&#8217;t decode byte 0xe2 in position 24: ordinal not in range(128)!</em></p>
<div id="attachment_1618" class="wp-caption aligncenter" style="width: 310px"><a href="http://bloginblack.de/wp-content/uploads/2012/02/hgcommit.png"><img class="size-medium wp-image-1618" title="Error message on commit" src="http://bloginblack.de/wp-content/uploads/2012/02/hgcommit-300x29.png" alt="Error message on commit" width="300" height="29" /></a><p class="wp-caption-text">Error message on commit</p></div>
<p>What had happened? Basically &#8211; I copied some content for the commit message from a Skype discussion I was having with someone over exactly the bug fix I was going to commit. What I didn&#8217;t realise was that the apostrophe in &#8220;we&#8217;re&#8221; wasn&#8217;t an ascii-character compatible apostrophe, but a typographic apostrophe from within Skype. Anyway &#8211; it seems that this made the commit fail (It didn&#8217;t help that I didn&#8217;t read the message properly at first and though that something was wrong with me repo <img src='http://bloginblack.de/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><a href="http://bloginblack.de/2012/02/special-characters-in-hg-commit-comments/">Special characters in Hg Commit comments</a> is a post from: <a href="http://bloginblack.de">Blog in Black</a></p>
<p align="right"><a class="tt" href="http://twitter.com/home/?status=Special+characters+in+Hg+Commit+comments+http://bloginblack.de/?p=1617" title="Post to Twitter"><img class="nothumb" src="http://bloginblack.de/wp-content/plugins/tweet-this/icons/tt-twitter-micro3.png" alt="Post to Twitter" /></a> <a class="tt" href="http://delicious.com/post?url=http://bloginblack.de/2012/02/special-characters-in-hg-commit-comments/&amp;title=Special+characters+in+Hg+Commit+comments" title="Post to Delicious"><img class="nothumb" src="http://bloginblack.de/wp-content/plugins/tweet-this/icons/tt-delicious-micro3.png" alt="Post to Delicious" /></a> <a class="tt" href="http://www.facebook.com/share.php?u=http://bloginblack.de/2012/02/special-characters-in-hg-commit-comments/&amp;t=Special+characters+in+Hg+Commit+comments" title="Post to Facebook"><img class="nothumb" src="http://bloginblack.de/wp-content/plugins/tweet-this/icons/tt-facebook-micro3.png" alt="Post to Facebook" /></a> <a class="tt" href="http://stumbleupon.com/submit?url=http://bloginblack.de/2012/02/special-characters-in-hg-commit-comments/&amp;title=Special+characters+in+Hg+Commit+comments" title="Post to StumbleUpon"><img class="nothumb" src="http://bloginblack.de/wp-content/plugins/tweet-this/icons/tt-su-micro3.png" alt="Post to StumbleUpon" /></a></p><img src="http://feeds.feedburner.com/~r/BlogInBlack/~4/M1Dvy1XmHNc" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://bloginblack.de/2012/02/special-characters-in-hg-commit-comments/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://bloginblack.de/2012/02/special-characters-in-hg-commit-comments/</feedburner:origLink></item>
		<item>
		<title>Foto Feb: day 5</title>
		<link>http://feedproxy.google.com/~r/BlogInBlack/~3/RL-r2HVry14/</link>
		<comments>http://bloginblack.de/2012/02/foto-feb-day-5/#comments</comments>
		<pubDate>Sun, 05 Feb 2012 13:21:03 +0000</pubDate>
		<dc:creator>kai</dc:creator>
				<category><![CDATA[Funstuff]]></category>
		<category><![CDATA[Australia]]></category>
		<category><![CDATA[Awesome]]></category>
		<category><![CDATA[Rainbow]]></category>
		<category><![CDATA[Travel]]></category>
		<category><![CDATA[Work]]></category>

		<guid isPermaLink="false">http://bloginblack.de/?p=1614</guid>
		<description><![CDATA[A tiny rainbow on the treadmill I used this morning.

Foto Feb: day 5 is a post from: Blog in Black
   <p><a href="http://bloginblack.de/2012/02/foto-feb-day-5/">Foto Feb: day 5</a> is a post from: <a href="http://bloginblack.de">Blog in Black</a></p>
]]></description>
			<content:encoded><![CDATA[<p>A tiny rainbow on the treadmill I used this morning.</p>
<p style="text-align: center;"><a title="A tiny rainbow by grmblzmpf, on Flickr" href="http://www.flickr.com/photos/grmblzmpf/6822689423/"><img class="aligncenter" src="http://farm8.staticflickr.com/7004/6822689423_6bc0f5616e.jpg" alt="A tiny rainbow" width="375" height="500" /></a></p>
<p><a href="http://bloginblack.de/2012/02/foto-feb-day-5/">Foto Feb: day 5</a> is a post from: <a href="http://bloginblack.de">Blog in Black</a></p>
<p align="right"><a class="tt" href="http://twitter.com/home/?status=Foto+Feb%3A+day+5+http://bloginblack.de/?p=1614" title="Post to Twitter"><img class="nothumb" src="http://bloginblack.de/wp-content/plugins/tweet-this/icons/tt-twitter-micro3.png" alt="Post to Twitter" /></a> <a class="tt" href="http://delicious.com/post?url=http://bloginblack.de/2012/02/foto-feb-day-5/&amp;title=Foto+Feb%3A+day+5" title="Post to Delicious"><img class="nothumb" src="http://bloginblack.de/wp-content/plugins/tweet-this/icons/tt-delicious-micro3.png" alt="Post to Delicious" /></a> <a class="tt" href="http://www.facebook.com/share.php?u=http://bloginblack.de/2012/02/foto-feb-day-5/&amp;t=Foto+Feb%3A+day+5" title="Post to Facebook"><img class="nothumb" src="http://bloginblack.de/wp-content/plugins/tweet-this/icons/tt-facebook-micro3.png" alt="Post to Facebook" /></a> <a class="tt" href="http://stumbleupon.com/submit?url=http://bloginblack.de/2012/02/foto-feb-day-5/&amp;title=Foto+Feb%3A+day+5" title="Post to StumbleUpon"><img class="nothumb" src="http://bloginblack.de/wp-content/plugins/tweet-this/icons/tt-su-micro3.png" alt="Post to StumbleUpon" /></a></p><img src="http://feeds.feedburner.com/~r/BlogInBlack/~4/RL-r2HVry14" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://bloginblack.de/2012/02/foto-feb-day-5/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://bloginblack.de/2012/02/foto-feb-day-5/</feedburner:origLink></item>
		<item>
		<title>Adobe Connect and HTTP status codes</title>
		<link>http://feedproxy.google.com/~r/BlogInBlack/~3/HXtIS0rSRtk/</link>
		<comments>http://bloginblack.de/2012/02/adobe-connect-and-http-status-codes/#comments</comments>
		<pubDate>Sat, 04 Feb 2012 13:08:23 +0000</pubDate>
		<dc:creator>kai</dc:creator>
				<category><![CDATA[Agent K and the rest of the world]]></category>
		<category><![CDATA[Adobe]]></category>
		<category><![CDATA[Adobe Connect]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Work]]></category>

		<guid isPermaLink="false">http://bloginblack.de/?p=1594</guid>
		<description><![CDATA[One thing that annoys me quite a bit is how Adobe Connect handles HTTP status codes. Essentially it&#8217;s doing it in the wrong way (from my point of view at least), but let me explain.
You might just know Adobe Connect from using Adobe&#8217;s hosted SaaS, but Adobe sells Adobe Connect as a so called licensed [...]<p><a href="http://bloginblack.de/2012/02/adobe-connect-and-http-status-codes/">Adobe Connect and HTTP status codes</a> is a post from: <a href="http://bloginblack.de">Blog in Black</a></p>
]]></description>
			<content:encoded><![CDATA[<p>One thing that annoys me quite a bit is how <a href="http://www.adobe.com/products/adobeconnect.html">Adobe Connect</a> handles HTTP status codes. Essentially it&#8217;s doing it in the wrong way (from my point of view at least), but let me explain.</p>
<p>You might just know Adobe Connect from using Adobe&#8217;s hosted SaaS, but Adobe sells Adobe Connect as a so called licensed version &#8211; you buy licenses and can host it yourself within the IT structure of your organisation. Adobe Connect 8 is a Java-based web application that&#8217;s bundled with <a href="http://tomcat.apache.org/">Apache Tomcat</a>.</p>
<p>When users upload content such as slides, videos, documents etc to the Adobe Connect server, Connect will ask the user to provide a server-unique URL &#8211; if the user doesn&#8217;t, Connect will store the content under a self-created and unique URL.</p>
<p>Essentially, you might end up with something like http://yourserver.whatever/myContent or http://yourserver.whatever/p/6554787856. That&#8217;s usually fine because if the requested content item is available, Adobe Connect will return the content and the HTTP response has an HTTP status code of 200 &#8211; as it should be.</p>
<p>It gets interesting as soon as the user requests a URL that doesn&#8217;t exist. This might happen accidentally (user error or typo) but in some instances it also might happen on purpose. For example: One is loading 3rd-party eLearning courses into Connect that use their own course content launcher &#8211; which would as such during the initialisation of the course test the existence of some files on the HTTP server it&#8217;s running on. In such a scenario, the course launcher might or might not request a resource that doesn&#8217;t exist.</p>
<p>Now &#8211; we all know what a good HTTP server would do here, right? Correct &#8211; it would return an error page of some kind and the <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html">HTTP status code</a> would be 404. This is what HTTP servers do for quite a while now.</p>
<p>Not Adobe Connect though. If one requests a non-existing resource it will return a nicely designed error page, but the HTTP status code of the response is 200 for &#8220;OK&#8221;. Clearly that&#8217;s not the intention of the semantic of the HTTP protocol. I can even see where that thinking is coming from &#8211; the Connect web application is returning a pretty page, so from the point of view of the developers it might even be a valid request. Unfortunately this type of thinking fundamentally breaks the web.</p>
<p>By now you have surely figured out that I actually had to deal with exactly this scenario. I had a look into a few options of tweaking both the Tomcat as well as the Adobe Connect configuration but can&#8217;t see an easy solution. The best idea I can come up with is writing a <a href="http://www.oracle.com/technetwork/java/filters-137243.html">ServletFilter</a> that intercepts the HTTP response and modifies the HTTP status code to what I want it to be.</p>
<p>The problem with this solution though is that it&#8217;d be an annoying hack and would prob. be broken after the next Adobe Connect 8 Service Pack. The only criteria for me to actually know if the status code has to be changed would be the content of the response payload. If said content looked like an error page (maybe I could grab the page title &#8211; but then I&#8217;d have to deal with it in multiple locales to do it properly), this would be the indication to change the HTTP status code to 404. I suppose everyone can say why this gets more hacky by the minute&#8230;</p>
<p>Obviously we logged a support ticket with Adobe&#8217;s Enterprise Support &#8211; unfortunately without result. According to Adobe it&#8217;s not possible to achieve what I want to do here (simply getting a 404 status code if the resource doesn&#8217;t exist). If anyone has another good idea as an alternative to the ServletFilter I mentioned in the paragraph above &#8211; please let me know.</p>
<p><a href="http://bloginblack.de/2012/02/adobe-connect-and-http-status-codes/">Adobe Connect and HTTP status codes</a> is a post from: <a href="http://bloginblack.de">Blog in Black</a></p>
<p align="right"><a class="tt" href="http://twitter.com/home/?status=Adobe+Connect+and+HTTP+status+codes+http://bloginblack.de/?p=1594" title="Post to Twitter"><img class="nothumb" src="http://bloginblack.de/wp-content/plugins/tweet-this/icons/tt-twitter-micro3.png" alt="Post to Twitter" /></a> <a class="tt" href="http://delicious.com/post?url=http://bloginblack.de/2012/02/adobe-connect-and-http-status-codes/&amp;title=Adobe+Connect+and+HTTP+status+codes" title="Post to Delicious"><img class="nothumb" src="http://bloginblack.de/wp-content/plugins/tweet-this/icons/tt-delicious-micro3.png" alt="Post to Delicious" /></a> <a class="tt" href="http://www.facebook.com/share.php?u=http://bloginblack.de/2012/02/adobe-connect-and-http-status-codes/&amp;t=Adobe+Connect+and+HTTP+status+codes" title="Post to Facebook"><img class="nothumb" src="http://bloginblack.de/wp-content/plugins/tweet-this/icons/tt-facebook-micro3.png" alt="Post to Facebook" /></a> <a class="tt" href="http://stumbleupon.com/submit?url=http://bloginblack.de/2012/02/adobe-connect-and-http-status-codes/&amp;title=Adobe+Connect+and+HTTP+status+codes" title="Post to StumbleUpon"><img class="nothumb" src="http://bloginblack.de/wp-content/plugins/tweet-this/icons/tt-su-micro3.png" alt="Post to StumbleUpon" /></a></p><img src="http://feeds.feedburner.com/~r/BlogInBlack/~4/HXtIS0rSRtk" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://bloginblack.de/2012/02/adobe-connect-and-http-status-codes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://bloginblack.de/2012/02/adobe-connect-and-http-status-codes/</feedburner:origLink></item>
		<item>
		<title>Foto Feb: day 4</title>
		<link>http://feedproxy.google.com/~r/BlogInBlack/~3/3B93uKmIkqI/</link>
		<comments>http://bloginblack.de/2012/02/foto-feb-day-4/#comments</comments>
		<pubDate>Sat, 04 Feb 2012 07:45:41 +0000</pubDate>
		<dc:creator>kai</dc:creator>
				<category><![CDATA[Funstuff]]></category>
		<category><![CDATA[Australia]]></category>
		<category><![CDATA[Travel]]></category>
		<category><![CDATA[Work]]></category>

		<guid isPermaLink="false">http://bloginblack.de/?p=1590</guid>
		<description><![CDATA[This is prob. the most stereotypical Gold Coast photo you could get: tall apartment building, some tropical palm trees and blue sky  

Foto Feb: day 4 is a post from: Blog in Black
   <p><a href="http://bloginblack.de/2012/02/foto-feb-day-4/">Foto Feb: day 4</a> is a post from: <a href="http://bloginblack.de">Blog in Black</a></p>
]]></description>
			<content:encoded><![CDATA[<p>This is prob. the most stereotypical Gold Coast photo you could get: tall apartment building, some tropical palm trees and blue sky <img src='http://bloginblack.de/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p style="text-align: center;"><a title="Clearly at the Gold Coast by grmblzmpf, on Flickr" href="http://www.flickr.com/photos/grmblzmpf/6815696371/"><img class="aligncenter" src="http://farm8.staticflickr.com/7146/6815696371_731232377f.jpg" alt="Clearly at the Gold Coast" width="375" height="500" /></a></p>
<p><a href="http://bloginblack.de/2012/02/foto-feb-day-4/">Foto Feb: day 4</a> is a post from: <a href="http://bloginblack.de">Blog in Black</a></p>
<p align="right"><a class="tt" href="http://twitter.com/home/?status=Foto+Feb%3A+day+4+http://bloginblack.de/?p=1590" title="Post to Twitter"><img class="nothumb" src="http://bloginblack.de/wp-content/plugins/tweet-this/icons/tt-twitter-micro3.png" alt="Post to Twitter" /></a> <a class="tt" href="http://delicious.com/post?url=http://bloginblack.de/2012/02/foto-feb-day-4/&amp;title=Foto+Feb%3A+day+4" title="Post to Delicious"><img class="nothumb" src="http://bloginblack.de/wp-content/plugins/tweet-this/icons/tt-delicious-micro3.png" alt="Post to Delicious" /></a> <a class="tt" href="http://www.facebook.com/share.php?u=http://bloginblack.de/2012/02/foto-feb-day-4/&amp;t=Foto+Feb%3A+day+4" title="Post to Facebook"><img class="nothumb" src="http://bloginblack.de/wp-content/plugins/tweet-this/icons/tt-facebook-micro3.png" alt="Post to Facebook" /></a> <a class="tt" href="http://stumbleupon.com/submit?url=http://bloginblack.de/2012/02/foto-feb-day-4/&amp;title=Foto+Feb%3A+day+4" title="Post to StumbleUpon"><img class="nothumb" src="http://bloginblack.de/wp-content/plugins/tweet-this/icons/tt-su-micro3.png" alt="Post to StumbleUpon" /></a></p><img src="http://feeds.feedburner.com/~r/BlogInBlack/~4/3B93uKmIkqI" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://bloginblack.de/2012/02/foto-feb-day-4/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		<feedburner:origLink>http://bloginblack.de/2012/02/foto-feb-day-4/</feedburner:origLink></item>
		<item>
		<title>Foto Feb: day 3</title>
		<link>http://feedproxy.google.com/~r/BlogInBlack/~3/Z1MDbOOr5eg/</link>
		<comments>http://bloginblack.de/2012/02/foto-feb-day-3/#comments</comments>
		<pubDate>Fri, 03 Feb 2012 11:07:12 +0000</pubDate>
		<dc:creator>kai</dc:creator>
				<category><![CDATA[Funstuff]]></category>
		<category><![CDATA[Australia]]></category>
		<category><![CDATA[Fun]]></category>
		<category><![CDATA[Travel]]></category>

		<guid isPermaLink="false">http://bloginblack.de/?p=1585</guid>
		<description><![CDATA[This is technically cheating because it&#8217;s from the 29th of Jan &#8211; but it&#8217;s so nice that I want to show it.
I saw this from my balcony during the Chinese New Year 2012 Parade in Sydney &#8211; massively huge Dragon animation projected onto the side of a very tall building.

Foto Feb: day 3 is a [...]<p><a href="http://bloginblack.de/2012/02/foto-feb-day-3/">Foto Feb: day 3</a> is a post from: <a href="http://bloginblack.de">Blog in Black</a></p>
]]></description>
			<content:encoded><![CDATA[<p id="yui_3_4_0_3_1328266945409_1028">This is technically cheating because it&#8217;s from the 29th of Jan &#8211; but it&#8217;s so nice that I want to show it.</p>
<p id="yui_3_4_0_3_1328266945409_1030">I saw this from my balcony during the Chinese New Year 2012 Parade in Sydney &#8211; massively huge Dragon animation projected onto the side of a very tall building.</p>
<p style="text-align: center;"><a title="Chinese New Year 2012 in Sydney by grmblzmpf, on Flickr" href="http://www.flickr.com/photos/grmblzmpf/6811289337/"><img class="aligncenter" src="http://farm8.staticflickr.com/7006/6811289337_f844a66b39.jpg" alt="Chinese New Year 2012 in Sydney" width="375" height="500" /></a></p>
<p><a href="http://bloginblack.de/2012/02/foto-feb-day-3/">Foto Feb: day 3</a> is a post from: <a href="http://bloginblack.de">Blog in Black</a></p>
<p align="right"><a class="tt" href="http://twitter.com/home/?status=Foto+Feb%3A+day+3+http://bloginblack.de/?p=1585" title="Post to Twitter"><img class="nothumb" src="http://bloginblack.de/wp-content/plugins/tweet-this/icons/tt-twitter-micro3.png" alt="Post to Twitter" /></a> <a class="tt" href="http://delicious.com/post?url=http://bloginblack.de/2012/02/foto-feb-day-3/&amp;title=Foto+Feb%3A+day+3" title="Post to Delicious"><img class="nothumb" src="http://bloginblack.de/wp-content/plugins/tweet-this/icons/tt-delicious-micro3.png" alt="Post to Delicious" /></a> <a class="tt" href="http://www.facebook.com/share.php?u=http://bloginblack.de/2012/02/foto-feb-day-3/&amp;t=Foto+Feb%3A+day+3" title="Post to Facebook"><img class="nothumb" src="http://bloginblack.de/wp-content/plugins/tweet-this/icons/tt-facebook-micro3.png" alt="Post to Facebook" /></a> <a class="tt" href="http://stumbleupon.com/submit?url=http://bloginblack.de/2012/02/foto-feb-day-3/&amp;title=Foto+Feb%3A+day+3" title="Post to StumbleUpon"><img class="nothumb" src="http://bloginblack.de/wp-content/plugins/tweet-this/icons/tt-su-micro3.png" alt="Post to StumbleUpon" /></a></p><img src="http://feeds.feedburner.com/~r/BlogInBlack/~4/Z1MDbOOr5eg" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://bloginblack.de/2012/02/foto-feb-day-3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://bloginblack.de/2012/02/foto-feb-day-3/</feedburner:origLink></item>
		<item>
		<title>Foto Feb: day 2</title>
		<link>http://feedproxy.google.com/~r/BlogInBlack/~3/74fxuV3n1S0/</link>
		<comments>http://bloginblack.de/2012/02/foto-feb-day-2/#comments</comments>
		<pubDate>Thu, 02 Feb 2012 10:30:33 +0000</pubDate>
		<dc:creator>kai</dc:creator>
				<category><![CDATA[Funstuff]]></category>
		<category><![CDATA[Animals]]></category>
		<category><![CDATA[Australia]]></category>
		<category><![CDATA[Fun]]></category>
		<category><![CDATA[Work]]></category>

		<guid isPermaLink="false">http://bloginblack.de/?p=1582</guid>
		<description><![CDATA[
This is quite possibly the cutest and most friendly dog I&#8217;ve come across for a long time. 9 months old female Staffordshire Bull Terrier puppy and the dog-in-residence at Sydney-based client.
Foto Feb: day 2 is a post from: Blog in Black
   <p><a href="http://bloginblack.de/2012/02/foto-feb-day-2/">Foto Feb: day 2</a> is a post from: <a href="http://bloginblack.de">Blog in Black</a></p>
]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><a title="Cutie... by grmblzmpf, on Flickr" href="http://www.flickr.com/photos/grmblzmpf/6806021121/"><img class="aligncenter" src="http://farm8.staticflickr.com/7007/6806021121_f2e0a7422a.jpg" alt="Cutie..." width="375" height="500" /></a></p>
<p>This is quite possibly the cutest and most friendly dog I&#8217;ve come across for a long time. 9 months old female Staffordshire Bull Terrier puppy and the dog-in-residence at Sydney-based client.</p>
<p><a href="http://bloginblack.de/2012/02/foto-feb-day-2/">Foto Feb: day 2</a> is a post from: <a href="http://bloginblack.de">Blog in Black</a></p>
<p align="right"><a class="tt" href="http://twitter.com/home/?status=Foto+Feb%3A+day+2+http://bloginblack.de/?p=1582" title="Post to Twitter"><img class="nothumb" src="http://bloginblack.de/wp-content/plugins/tweet-this/icons/tt-twitter-micro3.png" alt="Post to Twitter" /></a> <a class="tt" href="http://delicious.com/post?url=http://bloginblack.de/2012/02/foto-feb-day-2/&amp;title=Foto+Feb%3A+day+2" title="Post to Delicious"><img class="nothumb" src="http://bloginblack.de/wp-content/plugins/tweet-this/icons/tt-delicious-micro3.png" alt="Post to Delicious" /></a> <a class="tt" href="http://www.facebook.com/share.php?u=http://bloginblack.de/2012/02/foto-feb-day-2/&amp;t=Foto+Feb%3A+day+2" title="Post to Facebook"><img class="nothumb" src="http://bloginblack.de/wp-content/plugins/tweet-this/icons/tt-facebook-micro3.png" alt="Post to Facebook" /></a> <a class="tt" href="http://stumbleupon.com/submit?url=http://bloginblack.de/2012/02/foto-feb-day-2/&amp;title=Foto+Feb%3A+day+2" title="Post to StumbleUpon"><img class="nothumb" src="http://bloginblack.de/wp-content/plugins/tweet-this/icons/tt-su-micro3.png" alt="Post to StumbleUpon" /></a></p><img src="http://feeds.feedburner.com/~r/BlogInBlack/~4/74fxuV3n1S0" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://bloginblack.de/2012/02/foto-feb-day-2/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://bloginblack.de/2012/02/foto-feb-day-2/</feedburner:origLink></item>
		<item>
		<title>Moving the Adobe Connect content storage</title>
		<link>http://feedproxy.google.com/~r/BlogInBlack/~3/pCJ4GECBzZo/</link>
		<comments>http://bloginblack.de/2012/02/moving-the-adobe-connect-content-storage/#comments</comments>
		<pubDate>Thu, 02 Feb 2012 10:08:12 +0000</pubDate>
		<dc:creator>kai</dc:creator>
				<category><![CDATA[Agent K on Architecture]]></category>
		<category><![CDATA[Adobe]]></category>
		<category><![CDATA[Adobe Connect]]></category>
		<category><![CDATA[e-Learning]]></category>
		<category><![CDATA[Tuning]]></category>
		<category><![CDATA[Work]]></category>

		<guid isPermaLink="false">http://bloginblack.de/?p=1579</guid>
		<description><![CDATA[You&#8217;ve installed a licensed (=self-hosted) version of Adobe Connect 7 or 8 and all of a sudden you have realised that you really need to move the content storage to a different area of the server because your C: drive is running out of space?
A few weeks ago a client asked me how to do [...]<p><a href="http://bloginblack.de/2012/02/moving-the-adobe-connect-content-storage/">Moving the Adobe Connect content storage</a> is a post from: <a href="http://bloginblack.de">Blog in Black</a></p>
]]></description>
			<content:encoded><![CDATA[<p>You&#8217;ve installed a licensed (=self-hosted) version of Adobe Connect 7 or 8 and all of a sudden you have realised that you really need to move the content storage to a different area of the server because your C: drive is running out of space?</p>
<p>A few weeks ago a client asked me how to do exactly this. Given how easy it is, it&#8217;s surprisingly badly documented and hard to find. Here you go:</p>
<ol>
<li>Stop the services (Adobe Connect server as well as the Flash Media Server)</li>
<li>Move or copy the content folder into the new location (Note: your content folder is usually the &#8220;content&#8221; subfolder in your Adobe Connect installation directory. If you&#8217;ve just clicked &#8220;next&#8221;, &#8220;next&#8221; etc during installation, your content folder would most likely be C:\Breeze\content). I tend to copy the folder to the new location and rename the existing content folder to something like &#8220;_content&#8221; for the time being.</li>
<li>Locate and edit the custom.ini file in your Connect installation directory. If you went with the default settings this would be in C:\Breeze\custom.ini . Make the following additions to the file (or change the values of the three settings below in case they were already in there). Make sure that you specify a proper path, for example: D:\ELearningLib\content\ or similar.
<ul>
<li>CONTENT_PATH=_new location of content folder_</li>
<li>FCS_MEETING_PATH=_new location of content folder_</li>
<li>FCS_CONTENT_PATH=_new location of content folder_</li>
</ul>
</li>
<li>Restart your services again and test that Connect still works and that all your content is available, recordings still work etc.</li>
<li>If you&#8217;re happy with the outcome of the previous step, get rid of the old content folder &#8211; resp. the renamed old content folder if you followed my recommendation in step 2.</li>
</ol>
<p><a href="http://bloginblack.de/2012/02/moving-the-adobe-connect-content-storage/">Moving the Adobe Connect content storage</a> is a post from: <a href="http://bloginblack.de">Blog in Black</a></p>
<p align="right"><a class="tt" href="http://twitter.com/home/?status=Moving+the+Adobe+Connect+content+storage+http://bloginblack.de/?p=1579" title="Post to Twitter"><img class="nothumb" src="http://bloginblack.de/wp-content/plugins/tweet-this/icons/tt-twitter-micro3.png" alt="Post to Twitter" /></a> <a class="tt" href="http://delicious.com/post?url=http://bloginblack.de/2012/02/moving-the-adobe-connect-content-storage/&amp;title=Moving+the+Adobe+Connect+content+storage" title="Post to Delicious"><img class="nothumb" src="http://bloginblack.de/wp-content/plugins/tweet-this/icons/tt-delicious-micro3.png" alt="Post to Delicious" /></a> <a class="tt" href="http://www.facebook.com/share.php?u=http://bloginblack.de/2012/02/moving-the-adobe-connect-content-storage/&amp;t=Moving+the+Adobe+Connect+content+storage" title="Post to Facebook"><img class="nothumb" src="http://bloginblack.de/wp-content/plugins/tweet-this/icons/tt-facebook-micro3.png" alt="Post to Facebook" /></a> <a class="tt" href="http://stumbleupon.com/submit?url=http://bloginblack.de/2012/02/moving-the-adobe-connect-content-storage/&amp;title=Moving+the+Adobe+Connect+content+storage" title="Post to StumbleUpon"><img class="nothumb" src="http://bloginblack.de/wp-content/plugins/tweet-this/icons/tt-su-micro3.png" alt="Post to StumbleUpon" /></a></p><img src="http://feeds.feedburner.com/~r/BlogInBlack/~4/pCJ4GECBzZo" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://bloginblack.de/2012/02/moving-the-adobe-connect-content-storage/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://bloginblack.de/2012/02/moving-the-adobe-connect-content-storage/</feedburner:origLink></item>
		<item>
		<title>Foto Feb: day 1</title>
		<link>http://feedproxy.google.com/~r/BlogInBlack/~3/y8eibd_VB_c/</link>
		<comments>http://bloginblack.de/2012/02/foto-feb-day-1/#comments</comments>
		<pubDate>Wed, 01 Feb 2012 06:35:18 +0000</pubDate>
		<dc:creator>kai</dc:creator>
				<category><![CDATA[Funstuff]]></category>
		<category><![CDATA[Australia]]></category>
		<category><![CDATA[Fun]]></category>
		<category><![CDATA[Work]]></category>

		<guid isPermaLink="false">http://bloginblack.de/?p=1575</guid>
		<description><![CDATA[Yeah, I&#8217;m doing Foto Feb. If you want to know what it is &#8211; check Diane&#8217;s blog. Or Nick&#8217;s blog. Or both. Here&#8217;s day 1.

The person who&#8217;s desk I&#8217;m currently occupying at my client in Sydney is kind of a snow globe fan. That&#8217;s not even all of them  
Foto Feb: day 1 is [...]<p><a href="http://bloginblack.de/2012/02/foto-feb-day-1/">Foto Feb: day 1</a> is a post from: <a href="http://bloginblack.de">Blog in Black</a></p>
]]></description>
			<content:encoded><![CDATA[<p>Yeah, I&#8217;m doing Foto Feb. If you want to know what it is &#8211; check <a href="http://diane.geek.nz/2012/01/foto-feb/">Diane&#8217;s blog</a>. Or <a href="http://christmonkey.wordpress.com/">Nick&#8217;s blog</a>. Or both. Here&#8217;s day 1.</p>
<p style="text-align: center;"><a title="Snow globes" href="http://www.flickr.com/photos/grmblzmpf/6799864547/"><img class="aligncenter" src="http://farm8.staticflickr.com/7012/6799864547_bbb22c3ea3.jpg" alt="Snow globes" width="500" height="375" /></a></p>
<p>The person who&#8217;s desk I&#8217;m currently occupying at my client in Sydney is kind of a snow globe fan. That&#8217;s not even all of them <img src='http://bloginblack.de/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><a href="http://bloginblack.de/2012/02/foto-feb-day-1/">Foto Feb: day 1</a> is a post from: <a href="http://bloginblack.de">Blog in Black</a></p>
<p align="right"><a class="tt" href="http://twitter.com/home/?status=Foto+Feb%3A+day+1+http://bloginblack.de/?p=1575" title="Post to Twitter"><img class="nothumb" src="http://bloginblack.de/wp-content/plugins/tweet-this/icons/tt-twitter-micro3.png" alt="Post to Twitter" /></a> <a class="tt" href="http://delicious.com/post?url=http://bloginblack.de/2012/02/foto-feb-day-1/&amp;title=Foto+Feb%3A+day+1" title="Post to Delicious"><img class="nothumb" src="http://bloginblack.de/wp-content/plugins/tweet-this/icons/tt-delicious-micro3.png" alt="Post to Delicious" /></a> <a class="tt" href="http://www.facebook.com/share.php?u=http://bloginblack.de/2012/02/foto-feb-day-1/&amp;t=Foto+Feb%3A+day+1" title="Post to Facebook"><img class="nothumb" src="http://bloginblack.de/wp-content/plugins/tweet-this/icons/tt-facebook-micro3.png" alt="Post to Facebook" /></a> <a class="tt" href="http://stumbleupon.com/submit?url=http://bloginblack.de/2012/02/foto-feb-day-1/&amp;title=Foto+Feb%3A+day+1" title="Post to StumbleUpon"><img class="nothumb" src="http://bloginblack.de/wp-content/plugins/tweet-this/icons/tt-su-micro3.png" alt="Post to StumbleUpon" /></a></p><img src="http://feeds.feedburner.com/~r/BlogInBlack/~4/y8eibd_VB_c" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://bloginblack.de/2012/02/foto-feb-day-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://bloginblack.de/2012/02/foto-feb-day-1/</feedburner:origLink></item>
		<item>
		<title>Rooting Google Nexus One on Android GRK39F build</title>
		<link>http://feedproxy.google.com/~r/BlogInBlack/~3/OAZeActZEsk/</link>
		<comments>http://bloginblack.de/2012/01/rooting-google-nexus-one-on-android-grk39f-build/#comments</comments>
		<pubDate>Wed, 25 Jan 2012 03:39:00 +0000</pubDate>
		<dc:creator>kai</dc:creator>
				<category><![CDATA[Funstuff]]></category>
		<category><![CDATA[Mobile]]></category>
		<category><![CDATA[Android]]></category>
		<category><![CDATA[firmware]]></category>
		<category><![CDATA[Tuning]]></category>

		<guid isPermaLink="false">http://bloginblack.de/?p=1568</guid>
		<description><![CDATA[The other day I needed to change the hosts file on my Google Nexus One (to actually point a domain name to a local dev environment so that I could test some mobile web application development I&#8217;ve been doing). I needed root access to do that and I ended up realising that I had lost [...]<p><a href="http://bloginblack.de/2012/01/rooting-google-nexus-one-on-android-grk39f-build/">Rooting Google Nexus One on Android GRK39F build</a> is a post from: <a href="http://bloginblack.de">Blog in Black</a></p>
]]></description>
			<content:encoded><![CDATA[<p>The other day I needed to change the hosts file on my Google Nexus One (to actually point a domain name to a local dev environment so that I could test some mobile web application development I&#8217;ve been doing). I needed root access to do that and I ended up realising that I had lost root access (even after I <a href="http://bloginblack.de/2010/07/how-to-upgrade-your-vodafone-google-nexus-one-from-epf30-to-froyo-today/">manually hacked my way from the Vodafone 2.1 build to Android 2.2</a> when I got the device) by installing the 2.3.x upgrades.</p>
<p>I did a bit of digging around on how to get root access back with the GRK39F firmware and as it ended being up sort of being a puzzle game to find all the information, so I thought I&#8217;d put it all into a blog post.</p>
<p>It seems that what I&#8217;d usually would have used (Superboot) isn&#8217;t supported on the Nexus One post firmware GRI40 anymore. Bummer. Luckily a guy from Germany (&#8220;Bexton&#8221; on xda-dev) forked Superboot and called it Bexboot and made it work on Android GRK39F on the passion hardware. The problem with that is that apparently his server is down or has been shut down and it was not as obvious to get instructions and the necessary files.</p>
<p>Here&#8217;s what I did:</p>
<ul>
<li>Download the <a href="www.nahklick.de/user/stephan/bexboot.v2.GRK39F_OTA.zip">OTA update zip file</a></li>
<li>Follow the instructions in <a href="http://luctus.es/2011/11/root-en-nexus-one-gingerbread-2-3-6-grk39f/">this (spanish/english) blog post</a></li>
</ul>
<p>It&#8217;s really straight forward &#8211; took me about 5 mins to actually apply the firmware change and I&#8217;ve got root access on my Nexus One again.</p>
<p>Obviously I&#8217;m not endorsing all this &#8230; insert more legal blabla here &#8230; Essentially: in case you read this and/or try to do anything I&#8217;ve described here, you&#8217;re on your own. Don&#8217;t ask me for help when you break your own or other people&#8217;s devices, create a black hole, attract aliens or cause any other kind of harm to you, anyone or anything.</p>
<p><a href="http://bloginblack.de/2012/01/rooting-google-nexus-one-on-android-grk39f-build/">Rooting Google Nexus One on Android GRK39F build</a> is a post from: <a href="http://bloginblack.de">Blog in Black</a></p>
<p align="right"><a class="tt" href="http://twitter.com/home/?status=Rooting+Google+Nexus+One+on+Android+GRK39F+build+http://bloginblack.de/?p=1568" title="Post to Twitter"><img class="nothumb" src="http://bloginblack.de/wp-content/plugins/tweet-this/icons/tt-twitter-micro3.png" alt="Post to Twitter" /></a> <a class="tt" href="http://delicious.com/post?url=http://bloginblack.de/2012/01/rooting-google-nexus-one-on-android-grk39f-build/&amp;title=Rooting+Google+Nexus+One+on+Android+GRK39F+build" title="Post to Delicious"><img class="nothumb" src="http://bloginblack.de/wp-content/plugins/tweet-this/icons/tt-delicious-micro3.png" alt="Post to Delicious" /></a> <a class="tt" href="http://www.facebook.com/share.php?u=http://bloginblack.de/2012/01/rooting-google-nexus-one-on-android-grk39f-build/&amp;t=Rooting+Google+Nexus+One+on+Android+GRK39F+build" title="Post to Facebook"><img class="nothumb" src="http://bloginblack.de/wp-content/plugins/tweet-this/icons/tt-facebook-micro3.png" alt="Post to Facebook" /></a> <a class="tt" href="http://stumbleupon.com/submit?url=http://bloginblack.de/2012/01/rooting-google-nexus-one-on-android-grk39f-build/&amp;title=Rooting+Google+Nexus+One+on+Android+GRK39F+build" title="Post to StumbleUpon"><img class="nothumb" src="http://bloginblack.de/wp-content/plugins/tweet-this/icons/tt-su-micro3.png" alt="Post to StumbleUpon" /></a></p><img src="http://feeds.feedburner.com/~r/BlogInBlack/~4/OAZeActZEsk" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://bloginblack.de/2012/01/rooting-google-nexus-one-on-android-grk39f-build/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://bloginblack.de/2012/01/rooting-google-nexus-one-on-android-grk39f-build/</feedburner:origLink></item>
		<item>
		<title>Printing from Wine on OS X</title>
		<link>http://feedproxy.google.com/~r/BlogInBlack/~3/GKBwRIgAQ1I/</link>
		<comments>http://bloginblack.de/2012/01/printing-from-wine-on-os-x/#comments</comments>
		<pubDate>Sun, 15 Jan 2012 09:24:53 +0000</pubDate>
		<dc:creator>kai</dc:creator>
				<category><![CDATA[Agent K and the rest of the world]]></category>
		<category><![CDATA[Funstuff]]></category>
		<category><![CDATA[New Zealand]]></category>
		<category><![CDATA[Flying]]></category>
		<category><![CDATA[Fun]]></category>
		<category><![CDATA[Open source]]></category>
		<category><![CDATA[OS X]]></category>

		<guid isPermaLink="false">http://bloginblack.de/?p=1552</guid>
		<description><![CDATA[The flight planning software I use is Windows-based and unfortunately Windows-only. It&#8217;s a really powerful tool and there&#8217;s nothing comparable for OS X (at least not for Australia and New Zealand), so I&#8217;m happy to go the extra mile making it work.
The easiest way would obviously be to install the software in a virtual machine [...]<p><a href="http://bloginblack.de/2012/01/printing-from-wine-on-os-x/">Printing from Wine on OS X</a> is a post from: <a href="http://bloginblack.de">Blog in Black</a></p>
]]></description>
			<content:encoded><![CDATA[<p>The flight planning software I use is Windows-based and unfortunately Windows-only. It&#8217;s a really powerful tool and there&#8217;s nothing comparable for OS X (at least not for Australia and New Zealand), so I&#8217;m happy to go the extra mile making it work.</p>
<p>The easiest way would obviously be to install the software in a virtual machine and to run just Windows in such a VM with VMWare Fusion or Parallels. That&#8217;s what I usually do whenever I need to run a Windows system for development or for a certain client setup. With this flight planning software it&#8217;s a bit different as it&#8217;s really just a stand-alone software I&#8217;d like to run within OS X. So, I thought I&#8217;d give <a href="http://www.winehq.org/">Wine</a> a try.</p>
<p>Wine is a software that emulates a Windows environment via X11. It&#8217;s available for various *nix platforms and also via Macports for OS X. The installation is quite simple if you have Macports already installed (if not, follow <a href="http://www.davidbaumgold.com/tutorials/wine-mac/">this great tutorial from David Baumgold</a> on how to setup Wine with Macports from scratch):</p>
<p>sudo port install wine</p>
<p>That&#8217;ll give you a working installation of Wine and you should be able to run/install Windows software (note: not every software might work easily within Wine) with:</p>
<p>wine whatever.exe</p>
<p>All that went good and well. The only issue was that I wasn&#8217;t able to print from the flight planning software. For obvious reasons I wanted to be able to print the flight plans/maps I&#8217;ve created to take them on the plane. I did some investigation and some people suggested installing <a href="http://www.cups-pdf.de/welcome.shtml">CUPS-pdf.</a> CUPS-pdf is basically a &#8220;Print to PDF&#8221;-feature for CUPS-based printing systems (as OS X is). It&#8217;s actually quite cool as it also allows one to print to PDF from the command line. CUPS-pdf is part of Macports as well and can installed by the same mechanism via port install.</p>
<p>Unfortunately that didn&#8217;t solve the issue. There&#8217;s a <a href="http://bugs.winehq.org/show_bug.cgi?id=17354">bug report on issues with Wine and OSX printing</a> with the resolution of it being an issue in the Wine bundle within <a href="http://trac.macports.org/ticket/27836">Macports not being configured for CUPS</a>. I uninstalled Wine and installed Wine-devel instead (which is supposed to be on a version where the bundling is fixed). Still no solution for printing.</p>
<p>At this stage (and because I found a few more reports from people having issues with the particular combination of Macports and Wine) I resorted back to using <a href="http://wineskin.doh123.com/">Wineskin</a>. Wineskin is a tool that essentially creates a Mac application wrapper around your Windows application by using an embedded version of Wine. It&#8217;s actually quite cool because it makes the experience of running a Windows application even more integrated with your Mac.</p>
<p>The welcome surprise &#8211; within Wineskin, I automatically had access to the pdf printer installed by CUPS-pdf and happy flight planning is on the way <img src='http://bloginblack.de/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><a href="http://bloginblack.de/2012/01/printing-from-wine-on-os-x/">Printing from Wine on OS X</a> is a post from: <a href="http://bloginblack.de">Blog in Black</a></p>
<p align="right"><a class="tt" href="http://twitter.com/home/?status=Printing+from+Wine+on+OS+X+http://bloginblack.de/?p=1552" title="Post to Twitter"><img class="nothumb" src="http://bloginblack.de/wp-content/plugins/tweet-this/icons/tt-twitter-micro3.png" alt="Post to Twitter" /></a> <a class="tt" href="http://delicious.com/post?url=http://bloginblack.de/2012/01/printing-from-wine-on-os-x/&amp;title=Printing+from+Wine+on+OS+X" title="Post to Delicious"><img class="nothumb" src="http://bloginblack.de/wp-content/plugins/tweet-this/icons/tt-delicious-micro3.png" alt="Post to Delicious" /></a> <a class="tt" href="http://www.facebook.com/share.php?u=http://bloginblack.de/2012/01/printing-from-wine-on-os-x/&amp;t=Printing+from+Wine+on+OS+X" title="Post to Facebook"><img class="nothumb" src="http://bloginblack.de/wp-content/plugins/tweet-this/icons/tt-facebook-micro3.png" alt="Post to Facebook" /></a> <a class="tt" href="http://stumbleupon.com/submit?url=http://bloginblack.de/2012/01/printing-from-wine-on-os-x/&amp;title=Printing+from+Wine+on+OS+X" title="Post to StumbleUpon"><img class="nothumb" src="http://bloginblack.de/wp-content/plugins/tweet-this/icons/tt-su-micro3.png" alt="Post to StumbleUpon" /></a></p><img src="http://feeds.feedburner.com/~r/BlogInBlack/~4/GKBwRIgAQ1I" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://bloginblack.de/2012/01/printing-from-wine-on-os-x/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://bloginblack.de/2012/01/printing-from-wine-on-os-x/</feedburner:origLink></item>
		<item>
		<title>Why would anyone travel from New Zealand to Kansas City, MO? D2WC!</title>
		<link>http://feedproxy.google.com/~r/BlogInBlack/~3/o3xOHT06Z1I/</link>
		<comments>http://bloginblack.de/2012/01/why-would-anyone-travel-from-new-zealand-to-kansas-city-mo-d2wc/#comments</comments>
		<pubDate>Sun, 08 Jan 2012 10:33:38 +0000</pubDate>
		<dc:creator>kai</dc:creator>
				<category><![CDATA[Agent K and the rest of the world]]></category>
		<category><![CDATA[Community]]></category>
		<category><![CDATA[Events]]></category>
		<category><![CDATA[Mobile]]></category>
		<category><![CDATA[New Zealand]]></category>
		<category><![CDATA[AngularJS]]></category>
		<category><![CDATA[d2wc]]></category>
		<category><![CDATA[Designer-Developer]]></category>
		<category><![CDATA[Frameworks]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[JS]]></category>
		<category><![CDATA[KCMO]]></category>
		<category><![CDATA[RIA]]></category>
		<category><![CDATA[Travel]]></category>
		<category><![CDATA[Workflow]]></category>

		<guid isPermaLink="false">http://bloginblack.de/?p=1540</guid>
		<description><![CDATA[The short answer is: for D2WC 2012.
Let me briefly explain: D2WC is a conference about and for designers, developers, hybrid and the famous designer-developer workflow. It will go into its third iteration in 2012 and after Dee Sadler was originally trying to get me involved with the event already in 2010, I finally went in [...]<p><a href="http://bloginblack.de/2012/01/why-would-anyone-travel-from-new-zealand-to-kansas-city-mo-d2wc/">Why would anyone travel from New Zealand to Kansas City, MO? D2WC!</a> is a post from: <a href="http://bloginblack.de">Blog in Black</a></p>
]]></description>
			<content:encoded><![CDATA[<p>The short answer is: for <a href="http://d2wc.com/">D2WC 2012</a>.</p>
<p>Let me briefly explain: D2WC is a conference about and for designers, developers, hybrid and the famous designer-developer workflow. It will go into its third iteration in 2012 and after <a href="twitter.com/deesadler">Dee Sadler</a> was originally trying to get me involved with the event already in 2010, I finally went in 2011 and had a great time over there (you can find <a href="http://www.slideshare.net/AgentK/apps-vs-sites-vs-content-a-vendoragnostic-view-on-building-stuff-for-the-mobile-web">my 2011 talk</a> on Slideshare).</p>
<p>Apart from the fact that D2WC was an excellent conference where I met a lot of inspirational and fun people (including &#8211; but not limited to - <a href="https://twitter.com/#!/DaveHogue">Dave</a>, <a href="https://twitter.com/#!/vlh">Val</a> and <a href="https://twitter.com/#!/seb_ly">Seb</a>) Kansas City was also a very pleasant surprise as a place to hold it and stay for a few days. The city is really interesting and has an very cool mix of beautiful old buildings and new, modern skyscrapers. Besides that I went flying &#8211; and even got some proper IFR done while I was there &#8211; went to two really good museum and discovered the area around KC a little bit.</p>
<p>Anyway &#8211; D2WC is back in 2012 and if you&#8217;re looking at the list of speakers on the website you might be impressed. If you&#8217;re in the US and involved with design and (web) development or work in hybrid teams, it&#8217;s a conference you should seriously consider. Even if you&#8217;re overseas, it&#8217;ll be a really worthwhile event to attend &#8211; trust me and the <a href="http://www.gcmap.com/mapui?P=WLG-MCI">7938 miles I have to travel</a> (in a direct line) to get there.</p>
<p>My talk at D2WC 2012 will be about <a href="http://angularjs.org/#/">AngularJS</a> &#8211; a very, very awesome Javascript framework:</p>
<p><span style="text-decoration: underline;">AngularJS for developers and designers</span></p>
<p>AngularJS is a Javascript framework that comes with the subtitle &#8220;What HTML would have been had it been designed for web apps&#8221;. This talk introduces AngularJS briefly and will then show why it&#8217;s one of the best application frameworks based on the HTML5/JS/CSS-stack out there. AngularJS&#8217; templating system and data binding mechanism usually lead to well defined responsibilities for both designers and developers. While going through the workflow of building an AngularJS app we will have a look at the different interaction points between design and development and you&#8217;ll learn how the framework helps both roles to build a well working application as well as how to create clean and maintainable front end markup and code.</p>
<p>I will also offer a 1/2-day hands-on workshop on May 16 (the day before the conference-proper), also on AngularJS:</p>
<p><span style="text-decoration: underline;">A better way to build apps with JavaScript: AngularJS</span></p>
<p>AngularJS is a Javascript framework that comes with the subtitle &#8220;What HTML would have been had it been designed for web apps&#8221;. With HTML5 currently being overhyped and both Adobe as well as Microsoft turning the back to their former plugin-based poster children Flash/Flex and Silverlight, a lot of web developers ask themselves: &#8220;Now what?&#8221;. The technology stack of HTML5/JS and CSS will obviously play a more and more important role in the future; the frameworks, libraries and tools we have at hand do not quite compare to what the aforementioned plugin environments can provide though.</p>
<p>This becomes clear in particular when we&#8217;re trying to build complex but still well structured applications in HTML and Javascript. Even the use of frameworks such as jQuery, ExtJS etc will in many cases lead to an unfavourable architectural structure. AngularJS tried to overcome those issues and provide developers with an MVC-based architecture, Dependency Injection and Data Binding. The best is &#8211; it still works fine in combination with the JS libraries of your choice, there&#8217;s no need to drop tools like jQuery.</p>
<p>In this half-day hands-on class we&#8217;re going to get you started with application development in AngularJS. You should have a good working knowledge of HTML and Javascript, jQuery experience is useful, but not necessary. Topics will be: Templating, the MVC pattern in general and with AngularJS, Data Binding, View Routing and service and external resource integration.</p>
<p><a href="http://bloginblack.de/2012/01/why-would-anyone-travel-from-new-zealand-to-kansas-city-mo-d2wc/">Why would anyone travel from New Zealand to Kansas City, MO? D2WC!</a> is a post from: <a href="http://bloginblack.de">Blog in Black</a></p>
<p align="right"><a class="tt" href="http://twitter.com/home/?status=Why+would+anyone+travel+from+New+Zealand+to+Kansas+City%2C+MO%3F+D2WC%21+http://bloginblack.de/?p=1540" title="Post to Twitter"><img class="nothumb" src="http://bloginblack.de/wp-content/plugins/tweet-this/icons/tt-twitter-micro3.png" alt="Post to Twitter" /></a> <a class="tt" href="http://delicious.com/post?url=http://bloginblack.de/2012/01/why-would-anyone-travel-from-new-zealand-to-kansas-city-mo-d2wc/&amp;title=Why+would+anyone+travel+from+New+Zealand+to+Kansas+City%2C+MO%3F+D2WC%21" title="Post to Delicious"><img class="nothumb" src="http://bloginblack.de/wp-content/plugins/tweet-this/icons/tt-delicious-micro3.png" alt="Post to Delicious" /></a> <a class="tt" href="http://www.facebook.com/share.php?u=http://bloginblack.de/2012/01/why-would-anyone-travel-from-new-zealand-to-kansas-city-mo-d2wc/&amp;t=Why+would+anyone+travel+from+New+Zealand+to+Kansas+City%2C+MO%3F+D2WC%21" title="Post to Facebook"><img class="nothumb" src="http://bloginblack.de/wp-content/plugins/tweet-this/icons/tt-facebook-micro3.png" alt="Post to Facebook" /></a> <a class="tt" href="http://stumbleupon.com/submit?url=http://bloginblack.de/2012/01/why-would-anyone-travel-from-new-zealand-to-kansas-city-mo-d2wc/&amp;title=Why+would+anyone+travel+from+New+Zealand+to+Kansas+City%2C+MO%3F+D2WC%21" title="Post to StumbleUpon"><img class="nothumb" src="http://bloginblack.de/wp-content/plugins/tweet-this/icons/tt-su-micro3.png" alt="Post to StumbleUpon" /></a></p><img src="http://feeds.feedburner.com/~r/BlogInBlack/~4/o3xOHT06Z1I" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://bloginblack.de/2012/01/why-would-anyone-travel-from-new-zealand-to-kansas-city-mo-d2wc/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://bloginblack.de/2012/01/why-would-anyone-travel-from-new-zealand-to-kansas-city-mo-d2wc/</feedburner:origLink></item>
		<item>
		<title>Getting into Clojure (and other stuff)</title>
		<link>http://feedproxy.google.com/~r/BlogInBlack/~3/dIKrYoUQv-k/</link>
		<comments>http://bloginblack.de/2012/01/getting-into-clojure-and-other-stuff/#comments</comments>
		<pubDate>Sat, 07 Jan 2012 03:54:40 +0000</pubDate>
		<dc:creator>kai</dc:creator>
				<category><![CDATA[Agent K on Architecture]]></category>
		<category><![CDATA[Agent K on Java]]></category>
		<category><![CDATA[Clojure]]></category>
		<category><![CDATA[Mac]]></category>
		<category><![CDATA[FP]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[OS X]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://bloginblack.de/?p=1533</guid>
		<description><![CDATA[With the recent changes at Adobe I was more and more thinking that I need to further diversify what I&#8217;m doing. That was already happening in 2010 and 2011 quite a lot &#8211; client demand for Flash and Flex solutions decreased (and still is decreasing) and we found ourselves doing more and more Javascript-based applications. [...]<p><a href="http://bloginblack.de/2012/01/getting-into-clojure-and-other-stuff/">Getting into Clojure (and other stuff)</a> is a post from: <a href="http://bloginblack.de">Blog in Black</a></p>
]]></description>
			<content:encoded><![CDATA[<p>With the recent changes at Adobe I was more and more thinking that I need to further diversify what I&#8217;m doing. That was already happening in 2010 and 2011 quite a lot &#8211; client demand for Flash and Flex solutions decreased (and still is decreasing) and we found ourselves doing more and more Javascript-based applications. Quite often those would include jQuery or other frameworks, more recently also involve mobile technologies such as jQuery Mobile or jqTouch. There&#8217;s nothing wrong with that as such &#8211; things and technologies change over time.</p>
<p>I don&#8217;t want to go into rant-mode (again) and start elaborating on why Adobe has made such a fool of themselves with their handling on the November-of-2011-layoffs-and-technology-decisions, you&#8217;re free to form your own opinions &#8211; there are lots of pieces on Flash Mobile, Flex, layoffs and various communication disasters around there.</p>
<p>But those (and some other events I really don&#8217;t want to talk about at this time and place) sent a clear message: Further diversification is needed, even if Apache Flex turns out to be the most successful thing in the world and there would be further demand for it and even if I was to become the most awesome JS coder ever and even if Adobe ColdFusion was a viable product for the rest of all times.</p>
<p>Back from uni and various toying-around with Haskell and Erlang I had an existing interest in <a href="http://clojure.org/">Clojure</a>. The other day I had an email conversation with my friend <a href="http://corfield.org/blog/">Sean Corfield</a> about something CFML-related when we got into talking about Clojure. I had noticed before that Sean was doing more and more with Clojure and was<a href="http://twitter.com/#!/seancorfield"> quite active on Twitter</a> when it came to this topic. Anyway &#8211;  I decided to have a look into Clojure and I really like it so far. It&#8217;s basically a Lisp-dialect for the JVM (with ports to target MSFT&#8217;s CLR and Javascript).</p>
<p>As Sean had shared a few interesting links and books to get started with me, I thought I&#8217;ll pass the info on and make it available for others who&#8217;d be interested in getting into Clojure.</p>
<p>Sites:</p>
<p>Home of Clojure: <a href="http://clojure.org/">Clojure.org<br />
</a>In-Browser tutorial: <a href="http://tryclj.com/">http://tryclj.com<br />
</a>Puzzles to explore the tricks and trades of the language: <a href="http://4clojure.com/">http://4clojure.com</a></p>
<p>Books:</p>
<p><a href="http://shop.oreilly.com/product/0636920013754.do">Clojure Programming</a> (O&#8217;Reilly Rough Cuts)<br />
<a href="http://www.amazon.com/Joy-Clojure-Thinking-Way/dp/1935182641">The Joy Of Clojure</a> (Manning)<br />
<a href="http://www.amazon.com/Clojure-Action-Amit-Rathore/dp/1935182595/ref=sr_1_1?s=books&amp;ie=UTF8&amp;qid=1325907724&amp;sr=1-1">Clojure in Action</a> (Manning)</p>
<p>The author of the latter, Amit Rathore, is also running an online course <a href="http://codelesson.com/courses/view/introduction-to-clojure">&#8220;Introduction to Clojure&#8221;</a> starting on January 30th via codelesson.com. I have signed up for it because it looks really, really interesting and a good way to get up to speed even faster than by playing around as I do now. Finally &#8211; there&#8217;s <a href="http://clojurewest.org/">Clojure/West in March in San Jose</a>. If everything goes according to my plan, I&#8217;ll be there!</p>
<p>That&#8217;s not all though, I do realise that Clojure is at this stage just another niche technology. There&#8217;ll be more news, updates and further plans coming in this blog as soon as I find the time to write about them.</p>
<p><a href="http://bloginblack.de/2012/01/getting-into-clojure-and-other-stuff/">Getting into Clojure (and other stuff)</a> is a post from: <a href="http://bloginblack.de">Blog in Black</a></p>
<p align="right"><a class="tt" href="http://twitter.com/home/?status=Getting+into+Clojure+%28and+other+stuff%29+http://bloginblack.de/?p=1533" title="Post to Twitter"><img class="nothumb" src="http://bloginblack.de/wp-content/plugins/tweet-this/icons/tt-twitter-micro3.png" alt="Post to Twitter" /></a> <a class="tt" href="http://delicious.com/post?url=http://bloginblack.de/2012/01/getting-into-clojure-and-other-stuff/&amp;title=Getting+into+Clojure+%28and+other+stuff%29" title="Post to Delicious"><img class="nothumb" src="http://bloginblack.de/wp-content/plugins/tweet-this/icons/tt-delicious-micro3.png" alt="Post to Delicious" /></a> <a class="tt" href="http://www.facebook.com/share.php?u=http://bloginblack.de/2012/01/getting-into-clojure-and-other-stuff/&amp;t=Getting+into+Clojure+%28and+other+stuff%29" title="Post to Facebook"><img class="nothumb" src="http://bloginblack.de/wp-content/plugins/tweet-this/icons/tt-facebook-micro3.png" alt="Post to Facebook" /></a> <a class="tt" href="http://stumbleupon.com/submit?url=http://bloginblack.de/2012/01/getting-into-clojure-and-other-stuff/&amp;title=Getting+into+Clojure+%28and+other+stuff%29" title="Post to StumbleUpon"><img class="nothumb" src="http://bloginblack.de/wp-content/plugins/tweet-this/icons/tt-su-micro3.png" alt="Post to StumbleUpon" /></a></p><img src="http://feeds.feedburner.com/~r/BlogInBlack/~4/dIKrYoUQv-k" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://bloginblack.de/2012/01/getting-into-clojure-and-other-stuff/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://bloginblack.de/2012/01/getting-into-clojure-and-other-stuff/</feedburner:origLink></item>
		<item>
		<title>CFML update for IntelliJ IDEA 11</title>
		<link>http://feedproxy.google.com/~r/BlogInBlack/~3/lxc8Pewv0Sg/</link>
		<comments>http://bloginblack.de/2012/01/cfml-update-for-intellij-idea-11/#comments</comments>
		<pubDate>Sun, 01 Jan 2012 10:16:59 +0000</pubDate>
		<dc:creator>kai</dc:creator>
				<category><![CDATA[Agent K on CF]]></category>
		<category><![CDATA[CF]]></category>
		<category><![CDATA[CFML]]></category>
		<category><![CDATA[ColdFusion]]></category>
		<category><![CDATA[IntelliJ IDEA]]></category>
		<category><![CDATA[Java]]></category>

		<guid isPermaLink="false">http://bloginblack.de/?p=1531</guid>
		<description><![CDATA[The awesome people at Jetbrains (in particular Kirill is to be mentioned here) have made an BER (bleeding edge release) update of the CFML plugin in IntelliJ IDEA 11 available. In case you didn&#8217;t know &#8211; IntelliJ IDEA is an excellent IDE, quite heavily used by Java and Groovy developers.
IntelliJ IDEA has a CFML plugin [...]<p><a href="http://bloginblack.de/2012/01/cfml-update-for-intellij-idea-11/">CFML update for IntelliJ IDEA 11</a> is a post from: <a href="http://bloginblack.de">Blog in Black</a></p>
]]></description>
			<content:encoded><![CDATA[<p>The awesome people at Jetbrains (in particular Kirill is to be mentioned here) have made an BER (bleeding edge release) update of the CFML plugin in <a href="http://www.jetbrains.com/idea/">IntelliJ IDEA 11</a> available. In case you didn&#8217;t know &#8211; IntelliJ IDEA is an excellent IDE, quite heavily used by Java and Groovy developers.</p>
<p>IntelliJ IDEA has a CFML plugin for a few versions now and it got quite a few enhancements with the recent release of version 11. Now, there&#8217;s also another BER update for only the plugin available that one can use to patch their IDEA 11 installation further. You can <a href="http://confluence.jetbrains.net/display/IDEADEV/The+Latest+Version+of+ColdFusion+Plugin">download the update from Jetbrain&#8217;s wiki</a>, the page also describes how to patch your installation. Note: this is just for owners of the IntelliJ IDEA 11 Ultimate Edition or for people who&#8217;re using the trial of the Ultimate Edition. The CFML plugin is not part of the Community Edition.</p>
<p>If you&#8217;re interested in learning more about IntelliJ IDEA and the CFML plugin, Mark Mandel and I <a href="http://2ddu.com/2011/12/20/episode-17-cfml-plugin-for-intellij/">interviewed Kirill just recently on our 2DDU Podcast&#8217;s episode #17</a>.</p>
<p><a href="http://bloginblack.de/2012/01/cfml-update-for-intellij-idea-11/">CFML update for IntelliJ IDEA 11</a> is a post from: <a href="http://bloginblack.de">Blog in Black</a></p>
<p align="right"><a class="tt" href="http://twitter.com/home/?status=CFML+update+for+IntelliJ+IDEA+11+http://bloginblack.de/?p=1531" title="Post to Twitter"><img class="nothumb" src="http://bloginblack.de/wp-content/plugins/tweet-this/icons/tt-twitter-micro3.png" alt="Post to Twitter" /></a> <a class="tt" href="http://delicious.com/post?url=http://bloginblack.de/2012/01/cfml-update-for-intellij-idea-11/&amp;title=CFML+update+for+IntelliJ+IDEA+11" title="Post to Delicious"><img class="nothumb" src="http://bloginblack.de/wp-content/plugins/tweet-this/icons/tt-delicious-micro3.png" alt="Post to Delicious" /></a> <a class="tt" href="http://www.facebook.com/share.php?u=http://bloginblack.de/2012/01/cfml-update-for-intellij-idea-11/&amp;t=CFML+update+for+IntelliJ+IDEA+11" title="Post to Facebook"><img class="nothumb" src="http://bloginblack.de/wp-content/plugins/tweet-this/icons/tt-facebook-micro3.png" alt="Post to Facebook" /></a> <a class="tt" href="http://stumbleupon.com/submit?url=http://bloginblack.de/2012/01/cfml-update-for-intellij-idea-11/&amp;title=CFML+update+for+IntelliJ+IDEA+11" title="Post to StumbleUpon"><img class="nothumb" src="http://bloginblack.de/wp-content/plugins/tweet-this/icons/tt-su-micro3.png" alt="Post to StumbleUpon" /></a></p><img src="http://feeds.feedburner.com/~r/BlogInBlack/~4/lxc8Pewv0Sg" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://bloginblack.de/2012/01/cfml-update-for-intellij-idea-11/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://bloginblack.de/2012/01/cfml-update-for-intellij-idea-11/</feedburner:origLink></item>
		<item>
		<title>ColdFusion Builder 2 Hot fix – be aware that you need a JRE</title>
		<link>http://feedproxy.google.com/~r/BlogInBlack/~3/Dt71oRu22_A/</link>
		<comments>http://bloginblack.de/2012/01/coldfusion-builder-2-hot-fix-be-aware-that-you-need-a-jre/#comments</comments>
		<pubDate>Sun, 01 Jan 2012 07:14:37 +0000</pubDate>
		<dc:creator>kai</dc:creator>
				<category><![CDATA[Agent K on CF]]></category>
		<category><![CDATA[Adobe]]></category>
		<category><![CDATA[CF]]></category>
		<category><![CDATA[CFML]]></category>
		<category><![CDATA[ColdFusion]]></category>
		<category><![CDATA[ColdFusion Builder]]></category>
		<category><![CDATA[Java]]></category>

		<guid isPermaLink="false">http://bloginblack.de/?p=1521</guid>
		<description><![CDATA[This was sitting in my inbox for quite a while.  When the ColdFusion team released hot fix 1 for ColdFusion Builder 2, some people reported problems applying the hotfix ending up with an error message claiming that there was no Java Runtime Environment installed.
At first glance, it might make you wonder because if you&#8217;re about [...]<p><a href="http://bloginblack.de/2012/01/coldfusion-builder-2-hot-fix-be-aware-that-you-need-a-jre/">ColdFusion Builder 2 Hot fix &#8211; be aware that you need a JRE</a> is a post from: <a href="http://bloginblack.de">Blog in Black</a></p>
]]></description>
			<content:encoded><![CDATA[<p>This was sitting in my inbox for quite a while.  When the ColdFusion team released hot fix 1 for <a href="http://www.adobe.com/products/coldfusion-builder.html">ColdFusion Builder 2</a>, some people reported problems applying the hotfix ending up with an error message claiming that there was no Java Runtime Environment installed.</p>
<p>At first glance, it might make you wonder because if you&#8217;re about to apply a ColdFusion Builder 2 hot fix, one would expect ColdFusion Builder 2 to have access to a Java Runtime Environment somewhere on the machine as CF Builder 2 is based on Eclipse which itself is based on Java.</p>
<p>The most likely reason why this is happening to you is that there&#8217;s no JRE or JDK in your system PATH. Even though ColdFusion Builder and its installer provides and installs a JRE (which would be in the \jre\bin folder of the ColdFusion Builder 2 installation folder in a stand-alone Windows installation), this JRE is not added to the system PATH. There&#8217;s a good reason for this &#8211; basically trying to install ColdFusion Builder 2 as less system-invasive as possible.</p>
<p>In case there are other JREs installed on the system (and added to the PATH) the error message should not hit you as the hot fix installer would just grab said JRE from the system path. In case there is no other JRE installed, the hot fix installer (which is delivered without a JRE for size reasons) will not be able to execute its payload and therefore provide you the error message.</p>
<p>You might have already figured it &#8211; but this is mostly an issue on Windows. On Mac there&#8217;s usually a JRE/JDK installed anyway (not on Lion though, where you have to manually add it) and I haven&#8217;t seen this problem occurring on OS X so far (not saying that it can&#8217;t happen). Adobe&#8217;s <a href="http://kb2.adobe.com/cps/911/cpsid_91140.html">tech note</a> about hot fix 1 mentions this very briefly:</p>
<p>&#8220;<strong>Note</strong>: <em>On Windows, ensure that JRE is in the system path. If not, set the path and proceed.&#8221;</em></p>
<p>The easiest way to deal with this (without installing another JRE/JDK) is to use the already existing one on your system. So, you could just add the following (or similar, depending on your installation) path your to your PATH: C:\Program Files (x86)\Adobe\Adobe ColdFusion Builder\jre\bin . After that, run the hot fix installer as described in the <a href="http://kb2.adobe.com/cps/911/cpsid_91140.html">tech note</a>.</p>
<p><a href="http://bloginblack.de/2012/01/coldfusion-builder-2-hot-fix-be-aware-that-you-need-a-jre/">ColdFusion Builder 2 Hot fix &#8211; be aware that you need a JRE</a> is a post from: <a href="http://bloginblack.de">Blog in Black</a></p>
<p align="right"><a class="tt" href="http://twitter.com/home/?status=ColdFusion+Builder+2+Hot+fix+%E2%80%93+be+aware+that+you+need+a+JRE+http://bloginblack.de/?p=1521" title="Post to Twitter"><img class="nothumb" src="http://bloginblack.de/wp-content/plugins/tweet-this/icons/tt-twitter-micro3.png" alt="Post to Twitter" /></a> <a class="tt" href="http://delicious.com/post?url=http://bloginblack.de/2012/01/coldfusion-builder-2-hot-fix-be-aware-that-you-need-a-jre/&amp;title=ColdFusion+Builder+2+Hot+fix+%E2%80%93+be+aware+that+you+need+a+JRE" title="Post to Delicious"><img class="nothumb" src="http://bloginblack.de/wp-content/plugins/tweet-this/icons/tt-delicious-micro3.png" alt="Post to Delicious" /></a> <a class="tt" href="http://www.facebook.com/share.php?u=http://bloginblack.de/2012/01/coldfusion-builder-2-hot-fix-be-aware-that-you-need-a-jre/&amp;t=ColdFusion+Builder+2+Hot+fix+%E2%80%93+be+aware+that+you+need+a+JRE" title="Post to Facebook"><img class="nothumb" src="http://bloginblack.de/wp-content/plugins/tweet-this/icons/tt-facebook-micro3.png" alt="Post to Facebook" /></a> <a class="tt" href="http://stumbleupon.com/submit?url=http://bloginblack.de/2012/01/coldfusion-builder-2-hot-fix-be-aware-that-you-need-a-jre/&amp;title=ColdFusion+Builder+2+Hot+fix+%E2%80%93+be+aware+that+you+need+a+JRE" title="Post to StumbleUpon"><img class="nothumb" src="http://bloginblack.de/wp-content/plugins/tweet-this/icons/tt-su-micro3.png" alt="Post to StumbleUpon" /></a></p><img src="http://feeds.feedburner.com/~r/BlogInBlack/~4/Dt71oRu22_A" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://bloginblack.de/2012/01/coldfusion-builder-2-hot-fix-be-aware-that-you-need-a-jre/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://bloginblack.de/2012/01/coldfusion-builder-2-hot-fix-be-aware-that-you-need-a-jre/</feedburner:origLink></item>
		<item>
		<title>ColdFusion “null, null” errors – CFInterface another possible reason</title>
		<link>http://feedproxy.google.com/~r/BlogInBlack/~3/FE25VTuULnw/</link>
		<comments>http://bloginblack.de/2011/12/coldfusion-null-null-errors-cfinterface-another-possible-reason/#comments</comments>
		<pubDate>Sat, 24 Dec 2011 04:13:42 +0000</pubDate>
		<dc:creator>kai</dc:creator>
				<category><![CDATA[Agent K on CF]]></category>
		<category><![CDATA[Adobe]]></category>
		<category><![CDATA[CF]]></category>
		<category><![CDATA[CFML]]></category>
		<category><![CDATA[ColdFusion]]></category>
		<category><![CDATA[Java]]></category>

		<guid isPermaLink="false">http://bloginblack.de/?p=1511</guid>
		<description><![CDATA[Just recently I was hunting a &#8220;null, null&#8221; error in a large ColdFusion application. It started occurring all of a sudden under decent load and it was unfortunately rather hard to reproduce.
Some basics: If you&#8217;re getting a &#8220;null, null&#8221; error in ColdFusion (and yes, this still does occur in ColdFusion 8 and 9 occasionally, even [...]<p><a href="http://bloginblack.de/2011/12/coldfusion-null-null-errors-cfinterface-another-possible-reason/">ColdFusion &#8220;null, null&#8221; errors &#8211; CFInterface another possible reason</a> is a post from: <a href="http://bloginblack.de">Blog in Black</a></p>
]]></description>
			<content:encoded><![CDATA[<p>Just recently I was hunting a &#8220;null, null&#8221; error in a large ColdFusion application. It started occurring all of a sudden under decent load and it was unfortunately rather hard to reproduce.</p>
<p>Some basics: If you&#8217;re getting a &#8220;null, null&#8221; error in ColdFusion (and yes, this still does occur in ColdFusion 8 and 9 occasionally, even though there was a certain known issue in CFMX 6/6.1 that was fixed with a hotfix), that almost always points to a Null Pointer Exception somewhere in the Java application that ColdFusion is nowadays. You will also see an HTTP status code of 500 and not necessarily any log output in the ColdFusion logs. Note: double check the JRun log files, you might get some additional information from them.</p>
<p>The reason why you&#8217;re getting a &#8220;null, null&#8221; error in the first place is essentially because you&#8217;d be using a CFERROR tag or any other global error handler while your application ran into that Null Pointer Exception. This has been very well explained by <a href="http://www.talkingtree.com/blog/index.cfm/2004/7/2/20040702">Steven Erat</a> and is also noted in an <a href="http://kb2.adobe.com/cps/000/b3c51ba1.html">Adobe technote</a>. The best way to find out more about the issue is to actually remove all of those and then have a look into what the error is really about. That might prove tricky if the error just happens sporadically, seems to be impossible to reproduce and &#8220;obviously&#8221; just hits you on production, never on dev/test or under any artificial load test scenarios. Doh. When our instance of the &#8220;null, null&#8221; error happened it was usually during night time and hard for us to debug and get into it.</p>
<p>Just the other week though, the error happened during day time while I was working on-site at the client&#8217;s premises and we had a chance to jump on the production system, isolated the particular CF instance from the production cluster and started digging. After switching off all the error handling we found the following error messages per occurrence of the &#8220;null, null&#8221; error:</p>
<div id="_mcePaste">22:41:39.039 &#8211; java.lang.NullPointerException &#8211; in {filename} : line 247</div>
<div id="_mcePaste">22:41:39.039 &#8211; coldfusion.util.RuntimeWrapper Exception &#8211; in {filename}: line 247</div>
<div id="_mcePaste">22:41:39.039 &#8211; java.lang.NullPointerException &#8211; in {filename} : line 247</div>
<p>That&#8217;s something to work with. The application is actually a large-scale Fusebox 5.5 application therefore {filename} pointed to a FB-parsed .cfm file. So &#8211; we were looking into the mentioned lines (there were a few other versions of this NPE in different areas of the site) and they all had in common that they were calling out to CFC instances in CF&#8217;s application scope (let&#8217;s call that A.cfc from now on &#8211; or better: application.A &#8211; and let the method we called be .doSomething()).</p>
<p>From there we looked into the application.A and the .doSomething() method that was being called and there was absolutely nothing wrong with it. Within .doSomething() a few function-scoped variables were created that itself pointed to other CFCs in the application scope in the further course of .doSomething() &#8211; but again there didn&#8217;t seem to be anything wrong with that. We went ahead and removed the code from within .doSomething step-by-step to identify what would cause the NPE. Funny enough &#8211; nothing seemed to work. So we removed all the other methods from application.A until it was literally a barebone CFC structure with only an empty .doSomething() inside. Still, every request would bomb with a NullPointerException exactly in line 247.</p>
<p>All of a sudden I realised that application.A was actually implementing an interface (for the sake of it, let&#8217;s call it IA.cfc). IA.cfc prescribed that its implementations were supposed to have a .doSomething() function and it was working just fine in the vast majority of cases. However &#8211; removing the implements=&#8221;com.bla.IA&#8221;-atrribute in application.A fixed the NPE and the application started working again. I have absolutely no idea what happened here and why this particular implements-attribute would cause a NullPointException in some circumstances, but it did. As I said before &#8211; the application was working fine with such an architecture for more than a year. All of a sudden (and that might have been triggered by a CF- or server update or anything else) it started to occasionally get into a situation where all the app-scope&#8217;d CFCs that implemented an interface were creating those issues from time to time.</p>
<p>Now &#8211; if you&#8217;re having trouble with &#8220;null, null&#8221; errors in ColdFusion I definitely do not want to suggest that it is due to CFINTERFACE. In fact, most likely it won&#8217;t. There are tons of discussions out there that talk about various reasons and &#8220;solutions&#8221; for &#8220;null, null&#8221; errors such as Client variables, Cookies, Unix ports, Database drivers etc. The reality and the message to take from this is &#8211; please repeat that after me: all those are NOT reasons for the &#8220;null, null&#8221; errors. The &#8220;null, null&#8221; errors are just covering up the real NullPointerException you need to look into. In our case it was a weird behaviour of CFINTERFACE, in <a href="http://groups.google.com/group/cfaussie/msg/7aded33a02d00521">other cases it might be Query of Queries</a> or whatever else. There&#8217;s NO unique solution to a &#8220;null, null&#8221; error, just a unique path to a solution.</p>
<p><a href="http://bloginblack.de/2011/12/coldfusion-null-null-errors-cfinterface-another-possible-reason/">ColdFusion &#8220;null, null&#8221; errors &#8211; CFInterface another possible reason</a> is a post from: <a href="http://bloginblack.de">Blog in Black</a></p>
<p align="right"><a class="tt" href="http://twitter.com/home/?status=ColdFusion+%E2%80%9Cnull%2C+null%E2%80%9D+errors+%E2%80%93+CFInterface+another+possible+reason+http://bloginblack.de/?p=1511" title="Post to Twitter"><img class="nothumb" src="http://bloginblack.de/wp-content/plugins/tweet-this/icons/tt-twitter-micro3.png" alt="Post to Twitter" /></a> <a class="tt" href="http://delicious.com/post?url=http://bloginblack.de/2011/12/coldfusion-null-null-errors-cfinterface-another-possible-reason/&amp;title=ColdFusion+%E2%80%9Cnull%2C+null%E2%80%9D+errors+%E2%80%93+CFInterface+another+possible+reason" title="Post to Delicious"><img class="nothumb" src="http://bloginblack.de/wp-content/plugins/tweet-this/icons/tt-delicious-micro3.png" alt="Post to Delicious" /></a> <a class="tt" href="http://www.facebook.com/share.php?u=http://bloginblack.de/2011/12/coldfusion-null-null-errors-cfinterface-another-possible-reason/&amp;t=ColdFusion+%E2%80%9Cnull%2C+null%E2%80%9D+errors+%E2%80%93+CFInterface+another+possible+reason" title="Post to Facebook"><img class="nothumb" src="http://bloginblack.de/wp-content/plugins/tweet-this/icons/tt-facebook-micro3.png" alt="Post to Facebook" /></a> <a class="tt" href="http://stumbleupon.com/submit?url=http://bloginblack.de/2011/12/coldfusion-null-null-errors-cfinterface-another-possible-reason/&amp;title=ColdFusion+%E2%80%9Cnull%2C+null%E2%80%9D+errors+%E2%80%93+CFInterface+another+possible+reason" title="Post to StumbleUpon"><img class="nothumb" src="http://bloginblack.de/wp-content/plugins/tweet-this/icons/tt-su-micro3.png" alt="Post to StumbleUpon" /></a></p><img src="http://feeds.feedburner.com/~r/BlogInBlack/~4/FE25VTuULnw" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://bloginblack.de/2011/12/coldfusion-null-null-errors-cfinterface-another-possible-reason/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://bloginblack.de/2011/12/coldfusion-null-null-errors-cfinterface-another-possible-reason/</feedburner:origLink></item>
	</channel>
</rss><!-- Dynamic page generated in 1.471 seconds. --><!-- Cached page generated by WP-Super-Cache on 2012-02-10 23:05:20 -->

