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

<channel>
	<title>let x=x &#187; rants</title>
	<atom:link href="http://www.crazymcphee.net/x/category/rants/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.crazymcphee.net/x</link>
	<description>programming idiom and methodology</description>
	<lastBuildDate>Fri, 27 Jan 2012 09:36:24 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Fairfax media &#8211; incompetent boobs</title>
		<link>http://www.crazymcphee.net/x/2012/01/03/fairfax-media-incompetent-boobs/</link>
		<comments>http://www.crazymcphee.net/x/2012/01/03/fairfax-media-incompetent-boobs/#comments</comments>
		<pubDate>Tue, 03 Jan 2012 06:50:47 +0000</pubDate>
		<dc:creator>Scot Mcphee</dc:creator>
				<category><![CDATA[rants]]></category>
		<category><![CDATA[reviews]]></category>
		<category><![CDATA[brisbanetimes]]></category>
		<category><![CDATA[fairfax]]></category>
		<category><![CDATA[i'm taking up drinking as a hobby instead of programming]]></category>
		<category><![CDATA[lol]]></category>
		<category><![CDATA[management]]></category>
		<category><![CDATA[newspapers]]></category>
		<category><![CDATA[poorly attempted humour]]></category>
		<category><![CDATA[qantas take note]]></category>
		<category><![CDATA[smh]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[websites]]></category>

		<guid isPermaLink="false">http://www.crazymcphee.net/x/?p=733</guid>
		<description><![CDATA[Well I logged into the Fairfax site BrisbaneTimes.com.au this morning for my dose of occasional local newspaper media (the Brisbane Times is really a web-only copy of the SMH with some local content). Wanted to comment on an article; it seemed they changed their login system and my old login didn&#8217;t work. That&#8217;s OK, I [...]]]></description>
			<content:encoded><![CDATA[<p>Well I logged into the Fairfax site BrisbaneTimes.com.au this morning for my dose of occasional local newspaper media (the Brisbane Times is really a web-only copy of the SMH with some local content). Wanted to comment on an article; it seemed they changed their login system and my old login didn&#8217;t work.</p>
<p>That&#8217;s OK, I went to use the Facebook connect login instead. This appeared to work for a second, then reported;</p>
<blockquote><p>The page you were looking for doesn&#8217;t exist.</p>
<p>You may have mistyped the address or the page may have moved.</p></blockquote>
<p>But it must have worked; I got an email from &#8216;support@fairfaxmedia.com.au&#8217; welcoming me on my successful registration. In part this email said:</p>
<blockquote><p>If you have any questions or need any assistance please do not hesitate to contact us at support@fairfaxmedia.com.au.</p></blockquote>
<p>However, time to go go to work, nothing to do about it for the moment so put it aside; maybe they&#8217;ll organically fix their problem during the day.</p>
<p>Later today, clicked on the login link to login and comment. Same problem, a 404. OK, let&#8217;s try emailing that support address &#8211; after all, they <em>invited</em> me &#8220;not to hesitate&#8221; and I already hesitated 7 or 8 hours. What do you think happens?</p>
<blockquote><pre>Delivery has failed to these recipients or distribution lists:

support@fairfaxmedia.com.au
The recipient's e-mail address was not found in the recipient's e-mail system. Microsoft
Exchange will not try to redeliver this message for you. Please check the e-mail address and
try resending this message, or provide the following diagnostic text to your system
administrator.

Sent by Microsoft Exchange Server 2007

Diagnostic information for administrators:

Generating server: ffx.jfh.com.au

support@fairfaxmedia.com.au
#550 5.1.1 RESOLVER.ADR.RecipNotFound; not found ##
</pre>
</blockquote>
<p>Yeah, so that&#8217;s a <em>smashing</em> success, then.</p>
<p>(NB. jfh.com.au probably is John Fairfax Holdings, the parent company, it&#8217;s registered to FAIRFAX DIGITAL HOLDINGS, so the error above is an internal configuration error in their email system &#8211; they are advertising an email address that is non-functional!)</p>
<p>No wonder Fairfax is gurgling down the drain. Their newspapers are increasingly shit, their websites full of &#8220;OMG THE BEWBZ!1!&#8221; and cheap political sensationalism &#8230; now their website is  hardly functional and apparently their unpaid work experience h4x0r hasn&#8217;t noticed yet. What a bunch of idiots.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.crazymcphee.net/x/2012/01/03/fairfax-media-incompetent-boobs/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>On Christopher Hitchens</title>
		<link>http://www.crazymcphee.net/x/2011/12/20/on-christopher-hitchens/</link>
		<comments>http://www.crazymcphee.net/x/2011/12/20/on-christopher-hitchens/#comments</comments>
		<pubDate>Mon, 19 Dec 2011 22:28:21 +0000</pubDate>
		<dc:creator>Scot Mcphee</dc:creator>
				<category><![CDATA[rants]]></category>
		<category><![CDATA[politics]]></category>
		<category><![CDATA[religion]]></category>

		<guid isPermaLink="false">http://www.crazymcphee.net/x/?p=709</guid>
		<description><![CDATA[WARNING: Contains Politics and Religion. See this link to my history blog, On Christopher Hitchens (inlustre monumentum est)]]></description>
			<content:encoded><![CDATA[<p>WARNING: Contains Politics and Religion. See this link to my history blog,  <a href="http://inlustre.net/2011/12/on-christopher-hitchens/">On Christopher Hitchens (inlustre monumentum est)</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.crazymcphee.net/x/2011/12/20/on-christopher-hitchens/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Air France stops maintenance in China after screws missing from plane</title>
		<link>http://www.crazymcphee.net/x/2011/12/02/air-france-stops-maintenance-in-china-after-screws-missing-from-plane/</link>
		<comments>http://www.crazymcphee.net/x/2011/12/02/air-france-stops-maintenance-in-china-after-screws-missing-from-plane/#comments</comments>
		<pubDate>Fri, 02 Dec 2011 02:26:34 +0000</pubDate>
		<dc:creator>Scot Mcphee</dc:creator>
				<category><![CDATA[business]]></category>
		<category><![CDATA[professional practice]]></category>
		<category><![CDATA[rants]]></category>
		<category><![CDATA[technical]]></category>
		<category><![CDATA[aeronautical engineering]]></category>
		<category><![CDATA[aircraft maintenance]]></category>
		<category><![CDATA[engineering]]></category>
		<category><![CDATA[maintenance]]></category>
		<category><![CDATA[management]]></category>
		<category><![CDATA[methodology]]></category>
		<category><![CDATA[offshoring]]></category>
		<category><![CDATA[outsourcing]]></category>
		<category><![CDATA[process improvement]]></category>
		<category><![CDATA[qantas take note]]></category>
		<category><![CDATA[quality]]></category>
		<category><![CDATA[transformation]]></category>

		<guid isPermaLink="false">http://www.crazymcphee.net/x/?p=707</guid>
		<description><![CDATA[This is why I don&#8217;t trust off-shoring of aircraft maintenance. The same reason that poisonous substitutions are made in toothpaste or cheap lead paint used on a children&#8217;s toy; it&#8217;s the whole idea of taking something based in complex skills and knowledge-based engineering and buying on price, which ends up in a business environment like [...]]]></description>
			<content:encoded><![CDATA[<p>This is why I don&#8217;t trust off-shoring of aircraft maintenance. The same reason that poisonous substitutions are made in toothpaste or cheap lead paint used on a children&#8217;s toy; it&#8217;s the whole idea of taking something based in complex skills and knowledge-based engineering and buying on price, which ends up in a business environment like China&#8217;s; rampant with shortcuts and corruption, poor labour conditions, means quality is allowed to lapse and for anything critical on quality, there&#8217;s no way I&#8217;d suffer with it. From now on I&#8217;m researching the maintenance history of every plane I get onto. If it&#8217;s been serviced in China I&#8217;m not flying on it.</p>
<p><a href="http://www.brisbanetimes.com.au/travel/travel-news/air-france-stops-maintenance-in-china-after-screws-missing-from-plane-20111202-1o9z7.html">Air France stops maintenance in China after screws missing from plane</a>:</p>
<blockquote><p>Air France suspended the maintenance of its aircraft by Chinese company Taeco after 30 screws were found to be missing from one of its planes, it said Thursday.</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.crazymcphee.net/x/2011/12/02/air-france-stops-maintenance-in-china-after-screws-missing-from-plane/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>High-performance system design by declarative specification</title>
		<link>http://www.crazymcphee.net/x/2011/11/28/high-performance-system-design-by-declarative-specification/</link>
		<comments>http://www.crazymcphee.net/x/2011/11/28/high-performance-system-design-by-declarative-specification/#comments</comments>
		<pubDate>Mon, 28 Nov 2011 02:04:51 +0000</pubDate>
		<dc:creator>Scot Mcphee</dc:creator>
				<category><![CDATA[architecture]]></category>
		<category><![CDATA[rants]]></category>
		<category><![CDATA[agile architecture]]></category>
		<category><![CDATA[business process]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[emergent design]]></category>
		<category><![CDATA[features]]></category>
		<category><![CDATA[i'm taking up drinking as a hobby instead of programming]]></category>
		<category><![CDATA[poorly attempted humour]]></category>
		<category><![CDATA[process]]></category>
		<category><![CDATA[requirements]]></category>
		<category><![CDATA[specification]]></category>

		<guid isPermaLink="false">http://www.crazymcphee.net/x/?p=705</guid>
		<description><![CDATA[&#8220;I want to get from London to New York in 12 minutes.&#8221; &#8220;Ok, we will have to design and build some sort of ICBM or buy one, that will cost a lot of money. Also, I&#8217;m not even sure you can get an ICBM that&#8217;s fast enough for that distance. And have we thought about [...]]]></description>
			<content:encoded><![CDATA[<p><em>&#8220;I want to get from London to New York in 12 minutes.&#8221;</em></p>
<p>&#8220;Ok, we will have to design and build some sort of ICBM or buy one, that will cost a lot of money. Also, I&#8217;m not even sure you can get an ICBM that&#8217;s fast enough for that distance. And have we thought about acquiring land for the launch site or what sort of launch system will we considering?.&#8221;</p>
<p><em>&#8220;But I want to do it in my car.&#8221;</em></p>
<p>&#8220;Oh, well, that&#8217;s a big ICBM, to hurtle that sort of load in that sort of timeframe across that sort of distance. Molto-dinero. Also, re-entry procedures at the New York end could be tricky and &#8230;&#8221;</p>
<p><em>&#8220;No, I meant, I want my car to be used for the journey.&#8221;</em></p>
<p>&#8220;But that&#8217;s not possible!&#8221;</p>
<p><em>&#8220;What sort of engineer are you? Can&#8217;t you just soup it up a little?&#8221;</em></p>
<p>&#8220;Well even if we could make your car amphibious, there&#8217;s no way it can travel 5,500 kilometres in 12 minutes&#8221;</p>
<p><em>&#8220;I don&#8217;t want an amphibious car!&#8221;</em></p>
<p>&#8220;Have you considered a ship of some type?&#8221;</p>
<p><em>&#8220;Yes a ship will get me and my car to New York.&#8221;</em></p>
<p>&#8220;Excellent. It takes about a week for a ship to cross the Atlantic I believe.&#8221;</p>
<p><em>&#8220;But I just said in my specification that it has to take 12 minutes! Also I wish to travel via the Pacific Ocean, as it is prettier this time of year.&#8221;</em></p>
<p>&#8221; &#8230; !!! &#8220;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.crazymcphee.net/x/2011/11/28/high-performance-system-design-by-declarative-specification/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>UNIX timezone database shut down</title>
		<link>http://www.crazymcphee.net/x/2011/10/07/unix-timezone-database-shut-down/</link>
		<comments>http://www.crazymcphee.net/x/2011/10/07/unix-timezone-database-shut-down/#comments</comments>
		<pubDate>Thu, 06 Oct 2011 22:38:38 +0000</pubDate>
		<dc:creator>Scot Mcphee</dc:creator>
				<category><![CDATA[business]]></category>
		<category><![CDATA[infrastructure and frameworks]]></category>
		<category><![CDATA[rants]]></category>
		<category><![CDATA[technical]]></category>
		<category><![CDATA[copyright]]></category>
		<category><![CDATA[opensource]]></category>
		<category><![CDATA[time]]></category>
		<category><![CDATA[unix]]></category>

		<guid isPermaLink="false">http://www.crazymcphee.net/x/?p=641</guid>
		<description><![CDATA[The UNIX time zone database has been shut down because of copyright complaints! Overthrow the DCMA! http://blog.joda.org/2011/10/today-time-zone-database-was-closed.html]]></description>
			<content:encoded><![CDATA[<p>The UNIX time zone database has been shut down because of copyright complaints! Overthrow the DCMA! <a href="http://blog.joda.org/2011/10/today-time-zone-database-was-closed.html">http://blog.joda.org/2011/10/today-time-zone-database-was-closed.html</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.crazymcphee.net/x/2011/10/07/unix-timezone-database-shut-down/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>if this then that</title>
		<link>http://www.crazymcphee.net/x/2011/09/22/if-this-then-that/</link>
		<comments>http://www.crazymcphee.net/x/2011/09/22/if-this-then-that/#comments</comments>
		<pubDate>Thu, 22 Sep 2011 07:14:02 +0000</pubDate>
		<dc:creator>Scot Mcphee</dc:creator>
				<category><![CDATA[apps]]></category>
		<category><![CDATA[rants]]></category>
		<category><![CDATA[technical]]></category>
		<category><![CDATA[ifttt]]></category>
		<category><![CDATA[integration]]></category>
		<category><![CDATA[social media]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://www.crazymcphee.net/x/?p=623</guid>
		<description><![CDATA[I have recently been using &#8220;if this then that&#8221; to integrate my Google Reader with this blog and other places, like Facebook, Flickr, Twitter, and tumblr (I have a Classics-related tumblr). It&#8217;s a great way to do simple integration between these services but one annoyance is that it lacks any way to discriminate actions. For [...]]]></description>
			<content:encoded><![CDATA[<p>I have recently been using &#8220;<a href="http://ifttt.com/">if this then that</a>&#8221; to integrate my Google Reader with this blog and other places, like Facebook, Flickr, Twitter, and <a href="http://monumentum.tumblr.com/">tumblr</a> (I have a Classics-related tumblr). It&#8217;s a great way to do simple integration between these services but one annoyance is that it lacks any way to discriminate actions. For example to separate out the Programming stuff from the Classics material in Google Reader, I have to &#8220;like&#8221; the Technical posts and &#8220;share&#8221; the Classics ones, as that&#8217;s the only way to separate the two (the input events &#8220;like&#8221; and &#8220;share&#8221; on Google Reader being separate events). There&#8217;s also <a href="http://blog.jonudell.net/2011/09/19/i-want-to-be-the-customer-not-the-product/">this</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.crazymcphee.net/x/2011/09/22/if-this-then-that/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Instructions: first open the box then read the instructions</title>
		<link>http://www.crazymcphee.net/x/2011/06/06/instructions-first-open-the-box-then-read-the-instructions/</link>
		<comments>http://www.crazymcphee.net/x/2011/06/06/instructions-first-open-the-box-then-read-the-instructions/#comments</comments>
		<pubDate>Mon, 06 Jun 2011 12:46:05 +0000</pubDate>
		<dc:creator>Scot Mcphee</dc:creator>
				<category><![CDATA[apps]]></category>
		<category><![CDATA[rants]]></category>
		<category><![CDATA[technical]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[ipad]]></category>
		<category><![CDATA[tools]]></category>

		<guid isPermaLink="false">http://www.crazymcphee.net/x/?p=618</guid>
		<description><![CDATA[I&#8217;m using Scrivener to organise my PhD research, and it will end up being used for the first draft of the actual PhD as well. But Scrivener does not have an iPad app, which make a bit of sense. So I have been looking for an editor that will work with Dropbox (even though its quite [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m using Scrivener to organise my PhD research, and it will end up being used for the first draft of the actual PhD as well. But Scrivener does not have an iPad app, which make a <a href="http://lit-n-lat.blogspot.com/2010/02/ipad-and-mac-development.html">bit of sense</a>. So I have been looking for an editor that will work with Dropbox (even though its quite possible that by the time I awake tomorrow morning that announcements from Apple at the WWDC about iCloud could <a href="http://daringfireball.net/2011/06/wwdc_2011_prelude">make this all irrelevant</a>!). I&#8217;ve got Pages, but I&#8217;m not wholly satisfied with that option as a quick and dirty writing tool.After some prompting from Lisa, I just bought an <a href="http://itunes.apple.com/au/app/notebooks-for-ipad/id372370048?mt=8">app</a>, called <a href="http://www.alfonsschmid.com/Notebooks/Notebooks_for_iPhone.html">Notebooks</a> for my iPad, also based on <a href="http://www.jacobruby.com/scrivener-2-0-and-ipad-apps/">this recommendation</a>.</p>
<p>But when it ran, it suggested I install the help &#8211; it downloads and installs a help file; but this is a zip file. I managed to download it three times before I found where and how to unzip it, which results in the actual help pages being visible. <em>Hint to Alfons Schmid the developer</em>: download and install (i.e. unzip) the help automatically without user intervention after prompting them for approval. You almost lost a user before they began.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.crazymcphee.net/x/2011/06/06/instructions-first-open-the-box-then-read-the-instructions/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Busted-arse Apple Mobile Me Calendar forced onto me.com users</title>
		<link>http://www.crazymcphee.net/x/2011/03/16/busted-arse-apple-mobile-me-calendar-forced-onto-me-com-users/</link>
		<comments>http://www.crazymcphee.net/x/2011/03/16/busted-arse-apple-mobile-me-calendar-forced-onto-me-com-users/#comments</comments>
		<pubDate>Wed, 16 Mar 2011 03:40:29 +0000</pubDate>
		<dc:creator>Scot Mcphee</dc:creator>
				<category><![CDATA[professional practice]]></category>
		<category><![CDATA[rants]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[gmail]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[macintosh]]></category>
		<category><![CDATA[me.com]]></category>

		<guid isPermaLink="false">http://www.crazymcphee.net/x/?p=615</guid>
		<description><![CDATA[Got this email from Apple&#8217;s Me.com service today; from MobileMe &#60;MobileMe@insideapple.apple.com&#62; date Wed, Mar 16, 2011 at 13:02 subject Upgrade to the new MobileMe Calendar by May 5, 2011 Upgrade to the new MobileMe Calendar by May 5, 2011 Dear MobileMe member: On May 5, 2011, MobileMe will transition completely to the new Calendar service [...]]]></description>
			<content:encoded><![CDATA[<p>Got this email from Apple&#8217;s Me.com service today;</p>
<blockquote><p>from<span style="white-space: pre;"> </span>MobileMe &lt;MobileMe@insideapple.apple.com&gt;<br />
date<span style="white-space: pre;"> </span>Wed, Mar 16, 2011 at 13:02<br />
subject<span style="white-space: pre;"> </span>Upgrade to the new MobileMe Calendar by May 5, 2011</p>
<p>Upgrade to the new MobileMe Calendar by May 5, 2011</p>
<p>Dear MobileMe member:</p>
<p>On May 5, 2011, MobileMe will transition completely to the new Calendar service that we launched in October. The new MobileMe Calendar includes calendar sharing, invitations, and a new Calendar web application. To maintain calendar syncing between your devices and to continue accessing your calendar at me.com, you must upgrade to the new Calendar by May 5, 2011. Please follow these instructions to complete the upgrade &#8230;</p></blockquote>
<div>
<p>This is a total deal breaker for me.</p>
<p>I &#8220;upgraded&#8221; to the new calendar when I got my iPhone 4 because it promised me over-the-air calendar syncing from my iPhone. A useful feature. But then I <a href="http://groups.google.com/group/spanningsync/browse_thread/thread/f742ff0beb8b09b1/9183f7f9483a41a2?lnk=gst&amp;q=the+selected+ical+calendar+is+not+writeable#9183f7f9483a41a2" target="_blank">discovered my Google calendars were no longer being synced to my Mac (and thence to my iPhone) via Spanning Sync</a>. I use <a href="http://www.spanningsync.com/" target="_blank">Spanning Sync</a> on my Mac to sync from my iCal on the Mac to Google calendars. From iCal it gets to and from the iPhone via iTunes sync. We use Gmail at work too, so I can share my work calendar to my personal Google account and vice-versa. Thus on my Mac, my iPhone and both my Google accounts, I&#8217;ve got a completely unified view of my calendaring world. If that appointment ain&#8217;t in my calendar, it doesn&#8217;t exist as far as I&#8217;m concerned.</p>
<p>And along comes Apple with their &#8220;upgraded&#8221; me.com service:</p>
<blockquote><p><strong><a href="http://support.apple.com/kb/HT4038" target="_blank">Third-party calendar plug-ins, calendar clients, and non-Apple  devices are not supported</a>.</strong></p></blockquote>
<p>The iCal/me.com &#8220;upgrade&#8221; made the calendars on iCal unwriteable by Spanning Sync (or any other program on the Mac). In effect, calendar changes I was making on Google &#8211; and as that&#8217;s where my email goes to, that&#8217;s the calendar I use most &#8211; weren&#8217;t appearing locally or on my iPhone. The Spanning Sync developer confirmed this is due to the Apple Sync Services locking them out of writing Calendar events into the &#8220;upgraded&#8221; iCal. Google may eventually supporting importing the calendar from me.com into Google but I don&#8217;t see how that cures the problem of <em><span style="text-decoration: underline;">writing</span></em> calendar entries from Google (i.e. accepting and creating appointments in Gmail).</p>
<p>My solution was simple. I downgraded my me.com to use the old format, re-hooked everything back up in Spanning Sync, and everything is back to hunky-dory. The only downside of going back to the old calendar format is that I had to go back to performing a sync with iTunes from my iPhone in order to get updates to and from the phone, rather than it being able to work &#8220;over the air&#8221;.</p>
<p>As far as I am concerned the &#8220;new&#8221; me.com/iCal calendar system so broken, that I will discontinue the Me.com service rather than use it. Basically, if Apple force me to choose Gmail or me.com &#8212; Google wins. I think Apple are increasingly being blinded by their little blinkers of <em>everyone-works-with-our-complete-stack</em> way of thinking their are in danger of becoming Microsoft.</p>
</div>
<p>So Fuck You Too, Me.com.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.crazymcphee.net/x/2011/03/16/busted-arse-apple-mobile-me-calendar-forced-onto-me-com-users/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>A terrible, terrible Eclipse bug</title>
		<link>http://www.crazymcphee.net/x/2011/03/10/a-terrible-terrible-eclipse-bug/</link>
		<comments>http://www.crazymcphee.net/x/2011/03/10/a-terrible-terrible-eclipse-bug/#comments</comments>
		<pubDate>Thu, 10 Mar 2011 00:55:19 +0000</pubDate>
		<dc:creator>Scot Mcphee</dc:creator>
				<category><![CDATA[programming]]></category>
		<category><![CDATA[rants]]></category>
		<category><![CDATA[technical]]></category>
		<category><![CDATA[tools and techniques]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[craftsmanship]]></category>
		<category><![CDATA[eclipse]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[poorly attempted humour]]></category>
		<category><![CDATA[refactor]]></category>
		<category><![CDATA[test driven design]]></category>
		<category><![CDATA[wizards considered harmful]]></category>

		<guid isPermaLink="false">http://www.crazymcphee.net/x/?p=610</guid>
		<description><![CDATA[I found a massive bug in Eclipse &#8211; it has a copy and paste function. In Eclipse&#8217;s defence, Intellij IDEA and Netbeans also exhibit identical broken functionality.]]></description>
			<content:encoded><![CDATA[<p>I found a massive bug in Eclipse &#8211; <em>it has a copy and paste function</em>.</p>
<p>In Eclipse&#8217;s defence, <em>Intellij IDEA</em> and <em>Netbeans</em> also exhibit identical broken functionality.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.crazymcphee.net/x/2011/03/10/a-terrible-terrible-eclipse-bug/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Come back Gavin King, all is forgiven (Spring is the new EJB 2.1)</title>
		<link>http://www.crazymcphee.net/x/2011/02/16/come-back-gavin-king-all-is-forgiven-spring-is-the-new-ejb-2-1/</link>
		<comments>http://www.crazymcphee.net/x/2011/02/16/come-back-gavin-king-all-is-forgiven-spring-is-the-new-ejb-2-1/#comments</comments>
		<pubDate>Wed, 16 Feb 2011 12:38:47 +0000</pubDate>
		<dc:creator>Scot Mcphee</dc:creator>
				<category><![CDATA[infrastructure and frameworks]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[rants]]></category>
		<category><![CDATA[tools and techniques]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[hibernate]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[jpa]]></category>
		<category><![CDATA[persistence]]></category>
		<category><![CDATA[poorly attempted humour]]></category>
		<category><![CDATA[spring]]></category>

		<guid isPermaLink="false">http://www.crazymcphee.net/x/?p=600</guid>
		<description><![CDATA[I&#8217;ve just spent the past two days trying to make Spring transaction management work with JPA-annotated Hibernate-backed persistence classes that need to have multiple persistence units with transaction propagation REQUIRES_NEW between the two. For a start, the documentation is merely a series of outlines of brief hints. One measly section.The laughably short Spring 3 doco [...]]]></description>
			<content:encoded><![CDATA[<p><!-- p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 15.0px Arial} p.p2 {margin: 0.0px 0.0px 0.0px 0.0px; font: 15.0px Arial; min-height: 17.0px} -->I&#8217;ve just spent the past <em>two days </em>trying to make Spring transaction management work with JPA-annotated Hibernate-backed persistence classes that need to have multiple persistence units with transaction propagation REQUIRES_NEW between the two.</p>
<p>For a start, the documentation is merely a series of outlines of brief hints. One measly section.The laughably short Spring 3 doco section 13.5.1.4 &#8220;Dealing with multiple persistence units&#8221; conveniently omits  the transaction manager configuration from the example. The problem appears to be that the JPA transaction manager only (and compulsorily) deals with <em>one</em> entity manager factory. And an entity manager factory only deals with <em>one</em> persistence unit. So therefore you have to have <em>two</em> JPA transaction managers. Which means the two persistence unit transactions won&#8217;t co-operate properly even though they may share the underlying datasource and are configured through the single persistence unit manager bean.</p>
<p>The above scenario is totally trivial in an EJB 3 container backed with Hibernate, or Eclipselink, as the provider. About one-quarter of the configuration. If I have to use a JTA transaction manager obtained by JNDI lookup from the container, to run a transaction across two JPA persistence units which share the same underlying datasource, why the hell am I using Spring in the first place?</p>
<p>All I wanted was to isolate one set of db transactions from another, use JPA persistence units so the two sets of tables could live easily in two different schemas, and use the annotations to kill the fragile AOP regex-like-but-not-like-regex class and method pattern-matching jiggery pokery from the Spring configuration.</p>
<p>My god, this is such a stonkingly non-trivial forest of horrible configuration and a trial and error morass of filthy swamp miasma &#8230; an equivalent EJB3 backed by Hibernate JPA set up is, by comparison, an almost effortless task. I can produce a unit-tested all singing all dancing multiple persistence unit JPA app running in an EJB 3 container with XA datasources using Hibernate as the JPA implementation in almost no time at all. Getting the same thing with Spring (oh, and running some tests with Jetty inside Maven) is like having all your teeth pulled while you&#8217;re coming down from a three day methamphetamine binge. Getting Spring to run with multiple JPA persistence units on the same JDBC connection (without XA, across the same database connection) with a transaction propagation of REQUIRES_NEW on the entry point of one of the units is a hair-pulling, beard-greying, head-desk banging, co-worker punching, drunken ranting, blood-pressure raising experience of pure horror. Which apparently doesn&#8217;t end.</p>
<p><!-- p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 15.0px Arial; min-height: 17.0px} p.p2 {margin: 0.0px 0.0px 0.0px 0.0px; font: 15.0px Arial} -->Die, Spring, die. Can&#8217;t come soon enough as far as I am concerned. It&#8217;s more evil than Oracle. At least you <em>know</em> with Oracle you&#8217;re in for an un-lubed hard and fast backdoor job from Ellison with no reach-around before you even unpack the box. Spring is like a beautiful young sexy soft-porn film that turns into some relentlessly horrific succubus-filled horror film half way through.</p>
<p>Seriously, its enough to make one pine for bloody Weblogic. Spring is the new EJB 2.1.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.crazymcphee.net/x/2011/02/16/come-back-gavin-king-all-is-forgiven-spring-is-the-new-ejb-2-1/feed/</wfw:commentRss>
		<slash:comments>15</slash:comments>
		</item>
	</channel>
</rss>

