<?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>Nick's Blog</title>
	<atom:link href="http://www.askew.nl/blog/?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://www.askew.nl/blog</link>
	<description>A little bit of everything. Rants, photos, and GIS</description>
	<lastBuildDate>Fri, 08 Apr 2011 08:47:56 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1</generator>
		<item>
		<title>Sunny, warm, and weekend soon</title>
		<link>http://www.askew.nl/blog/?p=227</link>
		<comments>http://www.askew.nl/blog/?p=227#comments</comments>
		<pubDate>Fri, 08 Apr 2011 08:47:56 +0000</pubDate>
		<dc:creator>Nick</dc:creator>
				<category><![CDATA[Blogging]]></category>

		<guid isPermaLink="false">http://www.askew.nl/blog/?p=227</guid>
		<description><![CDATA[Could it get any better?]]></description>
			<content:encoded><![CDATA[<p>Could it get any better?</p>
<div class="al2fb_like_button"><script src="http://connect.facebook.net/en_US/all.js#xfbml=1"></script><fb:like ref="AL2FB" show_faces="true" width="450" href="http://www.askew.nl/blog/?p=227"></fb:like></div>]]></content:encoded>
			<wfw:commentRss>http://www.askew.nl/blog/?feed=rss2&#038;p=227</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ORM Why?</title>
		<link>http://www.askew.nl/blog/?p=223</link>
		<comments>http://www.askew.nl/blog/?p=223#comments</comments>
		<pubDate>Tue, 08 Mar 2011 21:58:03 +0000</pubDate>
		<dc:creator>Nick</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[domain]]></category>
		<category><![CDATA[Object Relational Mapping]]></category>
		<category><![CDATA[ORM]]></category>

		<guid isPermaLink="false">http://www.askew.nl/blog/?p=223</guid>
		<description><![CDATA[Or more precisely why not! I guess I could be counted as one of those old school developers that is now just a little stuck in his ways. I started writing software more than thirty years ago and I have seen a lot of progress in my time. There is little doubting that writing an [...]]]></description>
			<content:encoded><![CDATA[<p>Or more precisely why not! I guess I could be counted as one of those old school developers that is now just a little stuck in his ways. I started writing software more than thirty years ago and I have seen a lot of progress in my time. There is little doubting that writing an application now is far easier than it ever was and developers now are free to focus on the problem rather than having to focus on how to solve the problem.</p>
<p><span id="more-223"></span></p>
<p>An ORM  framework (object relational mapping) allows a developer to create objects in the problem domain and largely ignore how or where they are persisted. Well that&#8217;s the theory. It has been my experience that actually getting an ORM framework to work efficiently is an oxymoron. How can something that abstracts the storage possibly do so efficiently, because for each possible storage mechanism there will be different requirements to achieve efficiency.</p>
<p>I came across the following site (<a href="http://ifdefined.com/blog/post/Arguments-against-using-an-ORM-layer-an-ammunition-stockpile.aspx">http://ifdefined.com/blog/post/Arguments-against-using-an-ORM-layer-an-ammunition-stockpile.aspx</a>) while thinking about what it is I do not like about ORMs. And I think the best argument on that site was actually the one by Ken Downs. If I can summarise it like this I hope I do his arguments justice. He says that data generally outlives the applications that use that data, so modelling that data correctly in the database is way more important than how it is represented in the application. This has been my experience too. You write an application and it gathers data and ultimately fashions change and someone says can we now have a version that runs on Windows rather than Unix, the Web rather than Windows, my smartphone rather than the web. When I was working at KLM (more than ten years ago) one system celebrated it&#8217;s 30th birthday. So it must be at least 40 now. I bet the user interface has changed countless times in those 40 years while the data model will have grown but largely remained related to the original model.</p>
<p>I&#8217;ve just started a new job. I don&#8217;t want to embarrass the previous company too much but they are about to undertake rewriting their product for the web. Currently it is a Windows based application that uses an ORM framework so that data can either be stored in Oracle or SQL Server. Every object in the problem domain is derived either directly or indirectly from one base class and for each class in a specific objects inheritance hierarchy their is a table. This means that there is a table in the database that has an entry for every single object in the system and when you update any object that and all other tables are locked. You might not be too surprised to find that performance is an issue.</p>
<p>When I started working with them the question &#8220;Who is the DBA?&#8221; was answered with &#8220;We don&#8217;t have one&#8221;. Well that came as such a shock. I wanted to see the data model written out somewhere. I wanted to know who was allowed to make changes to the data model and who was responsible for migrations. &#8220;We all are!&#8221; was more or less the answer. You might expect that they might take the chance to change to a more efficient system with a migration to the web. However with over 200 very large customers you really cannot go about making big changes. The data is too valuable to mess it up. And yet it is not the data that has driven their design. It is the design that has driven the data.</p>
<p>So what about the argument that using an good ORM makes the design portable? I&#8217;ve just started messing around with NHibernate. I followed a tutorial on the web site and found a number of problems in the tutorial but finally got it all working. I had a class called product and then an interface for a repository and then a class that implements this interface but fair enough it did work. It even allowed me to have the system generate the schema in the database and I even got it working on two different databases with only a minor change in a configuration file. But suppose that the little test application had required something more sophisticated than simply adding or removing items from a very short list of items. Suppose it had wanted to know which five items were the cheapest this week out of the thousands that are on sale. What would I have had to do? Load them all up into memory and sort by price ascending and only retrieve the first five rows? Perhaps! Frankly I don&#8217;t know. What I do know is that in virtually all RDBMS systems this and other queries can be quickly and easily answered by most developers using the powerful database abstraction mechanism that is SQL. That&#8217;s right, SQL is a kind of standard, OK it has been bastardised by various manufacturers over the years but they all more or less do it the same way. However once I&#8217;ve learned how to achieve the results I want with NHibernate I will then have to learn it all over again when I move to the next framework.</p>
<p>The bulk of the projects that I work on are GIS related. I have never heard anyone saying that performance is not an issue for a specific project because it seems in the GIS world the temptation is to throw layer after layer onto the map and then each time the user pans or zooms we have to reload all that data. There is no shortcut</p>
<div class="al2fb_like_button"><script src="http://connect.facebook.net/en_US/all.js#xfbml=1"></script><fb:like ref="AL2FB" show_faces="true" width="450" href="http://www.askew.nl/blog/?p=223"></fb:like></div>]]></content:encoded>
			<wfw:commentRss>http://www.askew.nl/blog/?feed=rss2&#038;p=223</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Inserting a geometry into a SQL Server 2008 Database</title>
		<link>http://www.askew.nl/blog/?p=220</link>
		<comments>http://www.askew.nl/blog/?p=220#comments</comments>
		<pubDate>Thu, 09 Dec 2010 06:25:33 +0000</pubDate>
		<dc:creator>Nick</dc:creator>
				<category><![CDATA[GIS]]></category>
		<category><![CDATA[Geometry]]></category>
		<category><![CDATA[Insert]]></category>
		<category><![CDATA[SQL Server 2008]]></category>

		<guid isPermaLink="false">http://www.askew.nl/blog/?p=220</guid>
		<description><![CDATA[I&#8217;m not sure why but it seems that there is a lack of documentation surrounding how you get spatial data into and out of a SQL server 2008 database. Some people resort to using WKT (well known text) others serialise to a binary format. I was not happy with either approach, I mean inserting data [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m not sure why but it seems that there is a lack of documentation surrounding how you get spatial data into and out of a SQL server 2008 database. Some people resort to using WKT (well known text) others serialise to a binary format. I was not happy with either approach, I mean inserting data into a database should be relatively straightforward.</p>
<p>So before we go anything further. Here is the code I created to create a SQL Server 2008 point geometry and insert it into a table with two columns. The first column was an auto increment ID and is not shown, the second is called LOCATION and is defined as a Geometry as far as SQL Server is concerned.</p>
<pre>private void Add(Point point)
{
   SqlGeometryBuilder builder = new SqlGeometryBuilder();
   builder.SetSrid(900913);
   builder.BeginGeometry(OpenGisGeometryType.Point);
   builder.BeginFigure(point.X, point.Y);
   builder.EndFigure();
   builder.EndGeometry();</pre>
<pre>   SqlGeometry geom = builder.ConstructedGeometry;</pre>
<pre>   SqlCommand cmd = _dbConnection.CreateCommand();</pre>
<pre>   cmd.CommandText = "INSERT INTO READING (LOCATION) VALUES (@geometry)";
   SqlParameter param = cmd.Parameters.AddWithValue("geometry", geom);
   param.UdtTypeName = "Geometry";</pre>
<pre>   cmd.ExecuteNonQuery();
}</pre>
<p>The Point type that is passed in is my own and simply contains an X and a Y. The types SqlGeometryBuilder and SqlGeometry are defined in Microsoft.SqlServer.Types which requires that you install <strong>Microsoft SQL Server System CLR Types </strong>which you can find via <a href="http://www.microsoft.com/downloads/en/details.aspx?FamilyID=228de03f-3b5a-428a-923f-58a033d316e1&amp;DisplayLang=en">http://www.microsoft.com/downloads/en/details.aspx?FamilyID=228de03f-3b5a-428a-923f-58a033d316e1&amp;DisplayLang=en</a>. Something that fooled me was that after installing this I expected the reference to be in the GAC. Well it isn&#8217;t, or at least it isn&#8217;t on my machine and instead I had to browse to C:\Program Files\Microsoft SQL Server\100\SDK\Assemblies\Microsoft.SqlServer.Types.dll. </p>
<p>The lines to note are</p>
<p>   SqlParameter param = cmd.Parameters.AddWithValue(&#8220;geometry&#8221;, geom);<br />
   param.UdtTypeName = &#8220;Geometry&#8221;;</p>
<p>The first adds the Geometry object as a parameter and the second tells SQL Server what kind of UDT (or user defined type) we are using. Strange that it was not possible to devise a way to make Geometry and Geography fully fledged types but the extra work is very little.</p>
<div class="al2fb_like_button"><script src="http://connect.facebook.net/en_US/all.js#xfbml=1"></script><fb:like ref="AL2FB" show_faces="true" width="450" href="http://www.askew.nl/blog/?p=220"></fb:like></div>]]></content:encoded>
			<wfw:commentRss>http://www.askew.nl/blog/?feed=rss2&#038;p=220</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MVVM</title>
		<link>http://www.askew.nl/blog/?p=205</link>
		<comments>http://www.askew.nl/blog/?p=205#comments</comments>
		<pubDate>Fri, 12 Nov 2010 10:55:37 +0000</pubDate>
		<dc:creator>Nick</dc:creator>
				<category><![CDATA[Silverlight]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[MVVM]]></category>
		<category><![CDATA[Unit Testing]]></category>

		<guid isPermaLink="false">http://www.askew.nl/blog/?p=205</guid>
		<description><![CDATA[I was recently watching a video presenting the concepts behind Microsoft&#8217;s newish programming model MVVM (Model, View, View Model). You can find the video within the article here. The reason for watching the video was that I really wanted to know what MVVM was and I really cannot complain about the content from that point [...]]]></description>
			<content:encoded><![CDATA[<p>I was recently watching a video presenting the concepts behind Microsoft&#8217;s newish programming model MVVM (Model, View, View Model). You can find the video within the article <a title="Jason Dolinger on MVVM" href="http://blog.lab49.com/archives/2650" target="_blank">here</a>. The reason for watching the video was that I really wanted to know what MVVM was and I really cannot complain about the content from that point of view. After watching the video I had a clearer understanding of what MVVM is.<span id="more-205"></span></p>
<p>The easiest way for me to explain MVVM is to ask you to think of a typical VB6, ASP.Net, WinForms, or Silverlight application. In all these cases there is a form or a view with control and then behind the scenes there is code that fills the controls are reacts to events. In all of these cases we are separating the view from the code and we often call this code &#8220;code behind&#8221;. However the code behind still has to have knowledge of the view and this means testing this code behind is usually left to visual inspection by a tester rather than being tested by any automated script such as a unit test. There are exceptions to this, there exist tools that can test that a GUI is doing what it is supposed to do but most people find these tool cumbersome to configure and the resulting tests costly to maintain.</p>
<p>So what does MVVM bring to the table? Well what Microsoft are trying to encourage is that the code behind has no knowledge of the user interface. The view model contains all the code that calculates what values should appear in what controls but stops short of actually putting the values in the view. Instead the view model will have a property and the view will be responsible for fetching the value as required. Conversely values entered into the view will be pushed to the view model as they are changed.</p>
<p>The reason that this is advertised as being a good thing is that we can then write unit tests that exercise the view model and test that it responds as expected. So, in other words, if you expect that inserting a value into field A will cause the text in field B to change it is now simple to write some code that writes a value to field A and tests field B.</p>
<p>Do you know how we would have tested this in the old days? We would have told some guy to run up the application and insert a value in field A and check the value in field B. Now I&#8217;ll admit that if you are unit testing the form against some mock data source then doing this in the running application might be more difficult. But what really crushes the MVVM idea for me is that the view is now effectively late bound to the view model. So any errors will only become apparent at run time or worse, there will be no errors it just will not work.</p>
<p>If you watch Jason&#8217;s video you will notice a few moments where he &#8220;forgets&#8221; to update the binding properties in the view and the application does not complain, it just does not work. So this means that however carefully you craft your code behind (or view model) and however carefully you craft your code behind unit tests to confirm that the behaviour is correct, you can mess it all up and get a run time only problem simply by binding the view incorrectly to the code behind. So, in other words, no matter how carefully you test your code behind, you are still going to have to test the view. After all that work separating the view from the code behind you are left with a system that still requires rigorous manual testing.</p>
<p>Routed commands! You know, I actually like the idea that you couple a user interface elements to something that knows if it is available or not. The result is that buttons or menus can be enabled or disabled automatically based on the condition of the command and all the user interface elements that invoke the command are consistently updated.</p>
<p>In Jason&#8217;s case he wanted the submit button to only be enabled when he had entered some text into the stock ticker. So he created his code so that the Enabled property (actually it was called something else) was available when the tickers text value was not empty. He fired up the code and sure enough in the initial state the button was disable. He started typing text and the button remained disabled. The reason was simple, binding only updates the underlying value when the field loses focus. OK so that is something you cannot infer from code inspection and I am a bit of a fan of the idea that you look at the code and can see what it does. His solution was to change the text fields binding properties so that after each change it submits the value to the bound view model. Now I call that coding. OK sure it does look like -</p>
<pre>public void Ticker_OnChange(sender,e)</pre>
<pre>{</pre>
<pre>    CheckCommandCanSubmit();</pre>
<pre>}</pre>
<p>And coding should not be in the user interface according to all the Guru&#8217;s. Besides, if you have any coding experience you will instantly see what my code is doing. I can include comments to tell you if you really like. But what seems to be going on is that they are saying that the view needs to have real knowledge of the view model. In other words, if I change my view models way of validation I might also have to update my view, and if I update the way I want my view to work then I will have to update my view model. So ultimately there is no separation of concerns, the view and the view model and simply one and the same. Great you can add some unit testing, but it is unit testing you will have to repeat over and over again during user testing and not some black box deep in the guts of the application that the user could never have hoped to have tested.</p>
<div class="al2fb_like_button"><script src="http://connect.facebook.net/en_US/all.js#xfbml=1"></script><fb:like ref="AL2FB" show_faces="true" width="450" href="http://www.askew.nl/blog/?p=205"></fb:like></div>]]></content:encoded>
			<wfw:commentRss>http://www.askew.nl/blog/?feed=rss2&#038;p=205</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tatuk GIS</title>
		<link>http://www.askew.nl/blog/?p=203</link>
		<comments>http://www.askew.nl/blog/?p=203#comments</comments>
		<pubDate>Sat, 25 Sep 2010 06:49:56 +0000</pubDate>
		<dc:creator>Nick</dc:creator>
				<category><![CDATA[GIS]]></category>
		<category><![CDATA[Tatuk]]></category>

		<guid isPermaLink="false">http://www.askew.nl/blog/?p=203</guid>
		<description><![CDATA[I&#8217;ve been using Tatuks DK.Net version 9 for about a year now. The choice to use Tatuk was not mine but rather it appears to have been financially driven by predecessors and I have to say price performance is very good. You pay only for a license for each developer and are then free to [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been using Tatuks DK.Net version 9 for about a year now. The choice to use Tatuk was not mine but rather it appears to have been financially driven by predecessors and I have to say price performance is very good. You pay only for a license for each developer and are then free to distribute the applications to as many users or customers as you want.</p>
<p>The DK includes a control for the display of maps within the application that is capable of displaying data from a wide range of spatial data sources (<a title="Features" href="http://www.tatukgis.com/Products/InternetServer/Features.aspx" target="_blank">http://www.tatukgis.com/Products/InternetServer/Features.aspx</a>) including all the major ones such as ESRI, Oracle Spatial, WKB, WKT, and most common raster formats. The control also supports printing templates allowing the map to be printed with a border and text adornments.</p>
<p>Along side the visible mapping capabilities, the DK also includes an amount of spatial processing capabilities. You can filter spatially or create buffer zones and much more. It all adds up to making creating a map with Tatuk quite easy.</p>
<p>There are, however, some downsides. While the DK is very fast with shapefiles this appears only to be because it loads vast amounts (or possibly all) the data into memory. This really does give us a very fast map but as we add data from other sources the memory usage builds up and the map slows down. Performance with Oracle Spatial is currently proving a headache for us as clients are insisting on adding every layer available to them and making map rendering times to say the least sluggish.</p>
<p>To add to this problem we find that the DK cannot share layer information between map instances. We wanted to build an application with maps in several places. The main screen contains a map and the fact that startup time is not quick is not really a problem, however we would have liked to have had auxiliary maps on various other forms in the application. However those instances cannot be made to share information with the main map and so have the same memory usage and startup time.</p>
<p>Another weakness of the DK appears to be that it only operates on the GUI thread. I did some tests early on with running the DK on another thread and I was able to get it to do some work but not by doing anything that was Tatuk approved. The reason I wanted DK to run on another thread was simply that every time the map renders the entire GUI stalls. I had hoped that the slower layers could be rendered on a separate thread while the faster raster layers gave context to the user.</p>
<p>In all I think Tatuk is a great product and for the price you&#8217;ll find it hard to do better. The guys at Tatuk are supremely helpful and willing to look into most problems. However you can try to push it too far and perhaps our product is doing that.</p>
<div class="al2fb_like_button"><script src="http://connect.facebook.net/en_US/all.js#xfbml=1"></script><fb:like ref="AL2FB" show_faces="true" width="450" href="http://www.askew.nl/blog/?p=203"></fb:like></div>]]></content:encoded>
			<wfw:commentRss>http://www.askew.nl/blog/?feed=rss2&#038;p=203</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>DeVere and Partners</title>
		<link>http://www.askew.nl/blog/?p=199</link>
		<comments>http://www.askew.nl/blog/?p=199#comments</comments>
		<pubDate>Wed, 08 Sep 2010 08:07:10 +0000</pubDate>
		<dc:creator>Nick</dc:creator>
				<category><![CDATA[Blogging]]></category>
		<category><![CDATA[DeVere and Partners]]></category>
		<category><![CDATA[financial adviser]]></category>

		<guid isPermaLink="false">http://www.askew.nl/blog/?p=199</guid>
		<description><![CDATA[Just don&#8217;t go there&#8230;..Perhaps if you are someone who actively watches the markets then they are for you. But then only perhaps. If you are someone that has a desire to put some money away, get sound and regular financial advise, then these are not the people for you. We dealt with them for several [...]]]></description>
			<content:encoded><![CDATA[<p>Just don&#8217;t go there&#8230;..<span id="more-199"></span>Perhaps if you are someone who actively watches the markets then they are for you. But then only perhaps. If you are someone that has a desire to put some money away, get sound and regular financial advise, then these are not the people for you. We dealt with them for several years and we never saw the same person twice. They all had the same idea, open a new policy it will be much better, the last guy has moved on.</p>
<p>The truth is hard to determine but we always made it clear that we are not market watchers. We go to work, bring home some money, and expect that we can invest it with people who have the ability to move it to where it will grow. We accept that the last couple of years is an exception but even ignoring the crisis they made no money for us. We would literally have been better stuffing the mattress with the money.</p>
<p>I&#8217;ll try to add more later. However for now my advise is do not use these people.</p>
<div class="al2fb_like_button"><script src="http://connect.facebook.net/en_US/all.js#xfbml=1"></script><fb:like ref="AL2FB" show_faces="true" width="450" href="http://www.askew.nl/blog/?p=199"></fb:like></div>]]></content:encoded>
			<wfw:commentRss>http://www.askew.nl/blog/?feed=rss2&#038;p=199</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Humax 5050</title>
		<link>http://www.askew.nl/blog/?p=196</link>
		<comments>http://www.askew.nl/blog/?p=196#comments</comments>
		<pubDate>Wed, 08 Sep 2010 07:54:28 +0000</pubDate>
		<dc:creator>Nick</dc:creator>
				<category><![CDATA[Blogging]]></category>
		<category><![CDATA[digital]]></category>
		<category><![CDATA[hard disk]]></category>
		<category><![CDATA[hdr]]></category>
		<category><![CDATA[humax]]></category>
		<category><![CDATA[humax 5050]]></category>
		<category><![CDATA[pvr]]></category>

		<guid isPermaLink="false">http://www.askew.nl/blog/?p=196</guid>
		<description><![CDATA[This device is a digital PVR with a fair sized hard disk capable of recording from digital channels. I would like to write a full review but really there is enough information out there to let you know what the machine is technically capable of. So really I&#8217;m only going to summarise the things I [...]]]></description>
			<content:encoded><![CDATA[<p>This device is a digital PVR with a fair sized hard disk capable of recording from digital channels. I would like to write a full review but really there is enough information out there to let you know what the machine is technically capable of. So really I&#8217;m only going to summarise the things I like and the things I dislike about the device.</p>
<p>Overall the device is an improvement on the Panasonic device that I&#8217;ve owned for years. For a start you can schedule two digital channels for recording at the same time and watch a third. However the Panasonic device was never intended for digital recording and is already 8 years old.</p>
<p>Given the intervening years I would have expected some major improvements but ignoring the three tuners for a moment and that it picks up programme information over the air there is little to recommend the device. Let&#8217;s start with setting the device up.<span id="more-196"></span></p>
<p>My living room is arranged so that the hi-fi components are not directly facing me but rather they are off to the left. For most equipment (and I&#8217;ve used tuners from JVC, a PVR from Panasonic, and a VCR and DVD player whose manufacturers I cannot remember) this has not been a problem. However the Humax device has a lovely closing panel that covers the front. This has a small window and then about a 5mm gap before the true front panel of the device. Unless this front panel is lowered you need to sit almost directly in front of the device. Even with the panel open I have to lean forwards and aim the control at the device otherwise nothing. This is poor design by anyone&#8217;s standards.</p>
<p>I am prepared to admit that my next gripe might just be user error. However there does not appear to be a simple way to build a list of channels that are relevant. There is a list of favourites but so far no obvious way to make this the default list. This means that I have to wade through German, Italian, French, Arabic, and porn channels to get to the channel I want. There is a great age lock to prevent the porn or violent channels being viewed by children but entering the code with every channel change becomes a pain in the backside. The result is that you have to learn the channel number and type that in.</p>
<p>This leads to another problem. The leaning forwards action while typing 301 for cartoons or 122 for sci-fi does not always go well because the unit gives you about a second between button presses and otherwise assumes you have finished. So 301 often becomes 3 or 30 and 112 becomes 1 or 11.</p>
<p>There there is the programme guide. The guide stores about 5 days of programmes, perhaps this is the networks limit. It does not retain old programme guide information. The moment the show is over it is gone. Now you might not see this as a problem. But let&#8217;s say you walk in just at the end of Stargate Atlantis and as the credits end you think, &#8220;Damn I wish I&#8217;d recorded that, well never mind I&#8217;ll record next weeks.&#8221; well you had better get a wiggle on because next weeks episode will not yet be in the guide and this weeks will be cleared from the guide any second now and once it is gone you cannot reserve the series.</p>
<p>That leads to yet another grip, this time mostly with Dutch TV broadcasters. Get your programme guides straight. Half the time the times are wrong. With the old Panasonic I could instruct it to add extra time as a standard at the beginning and end but not on the Humax. Comedy Central is the worst channel, half the time they are not even sending out the programme advertised, this is no use to anyone. I am fairly convinced this is to fool those of us with PVR&#8217;s as it means we either miss the start or end or record something we did not want. Logical really because, being honest, I&#8217;ve not watch an advert in months.</p>
<p>Now I realise that Tivo have some patents around PVR&#8217;s but why can&#8217;t the Humax at least warn me that a series I&#8217;m recording has come to an end. If I want to record every episode of Monk then I really do not want to record whatever programme replaces it when the series ends. It would be all too easy for the system to warn me that Monk has been replaced by some god awful show featuring someone from Miami Vice. But instead it merrily records it and names it Monk in the media list and it is only when you play it back you find Don Johnson with his sleeves finally rolled down.</p>
<p>And I am fairly sure that Tivo did not patent the responsive user interface.  Why in name of all that is holy did they base this thing on a ZX Spectrum? When  press the power button I would like the system to be there, not have to wait 60 tediously long seconds because it has to boot up. Even when I have booted the machine up and carefully lined the remote control with the sensor, half the time it ignore the button presses.</p>
<p>So imagine that I come in for a moment half way through A town called Eureka, I&#8217;ve set the machine to record it but I want to watch it now. I go to the media list and select the file. It politely asks me if I want to play from the start, play from the last played position (I&#8217;ve only just now for the first time watched it so what does this option mean?), or delete the file. I choose to play but when the programme being recorded ends so does play back. Very annoying, so you go to the media guide, select the file and you might think play from the last played position would now be ideal. But no, that plays from the beginning and you have to hunt for the moment the recording broke off.</p>
<p>So your hard disk is now full of Monk, Stargate Atlantis, Eureka, and episodes of some crap with Don Johnson you recorded by mistake. You might think OK select a load of files and delete them all. No such option exists. You have to select a file, choose delete, confirm delete and then wait while it is deleted before moving on to the next file. Luckily there is a network port on the back. Now you might think they would equip this with a web server so you can schedule programmes via the PC. Sadly no, this is FTP only and deleting a show is not just select a file and delete or select a folder and delete but select a folder and three files for each show and delete. Still it&#8217;s a lot less painful than doing the same job manually with a remote. That said I have had times when deleting has left the hard drive in some kind of mess. Programmes that you can neither watch nor delete from the remote. They did eventually go away but I really do not remember what I did.</p>
<p>My final gripe is the fact that there is no way to edit a show. With the Panasonic you could record your favourite move, strip out adverts and save the results to a DVD. I understand why that last step would not be possible but still it would have been great to have cleaned up a movie and kept it for later.</p>
<p>All in all the thing is much better than the Panasonic but much worse than I&#8217;d expect for eight extra years of development time.</p>
<div class="al2fb_like_button"><script src="http://connect.facebook.net/en_US/all.js#xfbml=1"></script><fb:like ref="AL2FB" show_faces="true" width="450" href="http://www.askew.nl/blog/?p=196"></fb:like></div>]]></content:encoded>
			<wfw:commentRss>http://www.askew.nl/blog/?feed=rss2&#038;p=196</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Point order in spatial data (or it depends how you look at it)</title>
		<link>http://www.askew.nl/blog/?p=186</link>
		<comments>http://www.askew.nl/blog/?p=186#comments</comments>
		<pubDate>Tue, 27 Apr 2010 08:04:12 +0000</pubDate>
		<dc:creator>Nick</dc:creator>
				<category><![CDATA[GIS]]></category>
		<category><![CDATA[clockwise]]></category>
		<category><![CDATA[ESRI]]></category>
		<category><![CDATA[point orientation]]></category>
		<category><![CDATA[rotation]]></category>
		<category><![CDATA[SDO]]></category>
		<category><![CDATA[shapefile]]></category>
		<category><![CDATA[shp]]></category>
		<category><![CDATA[WKB]]></category>
		<category><![CDATA[WKT]]></category>

		<guid isPermaLink="false">http://www.askew.nl/blog/?p=186</guid>
		<description><![CDATA[I was battling with a new GIS application and started getting complaints from some people that the points were being ordered wrongly. Now I have always known that the point order in some spatial systems is important. Mostly I rely on the software between me and the storage to correct the order before saving and [...]]]></description>
			<content:encoded><![CDATA[<p>I was battling with a new GIS application and started getting complaints from some people that the points were being ordered wrongly. Now I have always known that the point order in some spatial systems is important. Mostly I rely on the software between me and the storage to correct the order before saving and this time was no different. I am using the products of a relatively small Polish outfit called TatukGIS. They have made quite a nice product and are helpful when things go wrong. Their product is a viewer and middleware that allows many different spatial formats to be read or written to. You can read more on their site <a href="http://www.tatukgis.com/" target="_blank">http://www.tatukgis.com/</a></p>
<p>Now as a use of an application I can imagine that as you draw a polygon, that represents the boundary of your garden for example, you are not concerned in which order you draw the points (clockwise or anticlockwise) but in theory it makes a difference. I&#8217;ll try and describe the reason as best as I can. There are two ways to explain it, the Oracle way that I learned a while ago and the WKT (well known text) way that I&#8217;ve only just read. To be honest both make sense but the WKT way perhaps gives a little more information than the Oracle way.</p>
<p>Firstly Oracle simply says that a polygon exterior is a list of points that must be filled counter clockwise. (<a href="http://download.oracle.com/docs/cd/B19306_01/appdev.102/b14255/sdo_objrelschema.htm#SPATL020" target="_blank">See 2.2.4 of the spatial data types and meta data documentation.</a>) Now I was always told that the explanation was you need to imagine yourself walking around the exterior, on your left is the interior. So, in theory, if you specify the points on the other order then everything outside your garden would become garden and only the bit inside would be not garden (nice mistake if you can get the land registry to make it). But Oracle also says that any holes in your garden must be specified clockwise. Well if you think about this for a moment (taking the classical doughnut as an example) it makes perfect sense. You walk around the outside of the doughnut anticlockwise and everything on your left is doughnut, walk around the hole clockwise and again everything on your left is doughnut.</p>
<p>Secondly the WKT way. WKT is a way of formatting geometries in a standard fashion that is supported by many databases and can easily be used within databases that do not natively support spatial information because the format is purely text (there is also a WKB version, a binary format, that is more efficient with the storage but is not human readable). Their <a href="http://portal.opengeospatial.org/modules/admin/license_agreement.php?suppressHeaders=0&amp;access_license_id=3&amp;target=http://portal.opengeospatial.org/files/index.php?artifact_id=18241" target="_blank">documentation (section 6.1.11.1)</a> states <em><strong>&#8220;The exterior boundary LinearRing defines the “top” of the surface which is the side of the surface from which the exterior boundary appears to traverse the boundary in a counter clockwise direction.&#8221;</strong></em>. Now if you consider this for a moment it sounds like exactly the same thing and really it is. But suppose once again that you look at your garden, draw out the points in a clockwise fashion and then hand the map to someone that does not know your garden. They might conclude that either a) you have made a mistake b) your garden is best viewed from the underside or c) your garden occupies the entire map with the exception of the small bit in the middle.</p>
<p>I would suggest that most people will conclude alternative a) that you have made a mistake. And it seems that this is the alternative that a large number of software packages makes (including Tatuk and GeoMedia). However they are guessing at your mistake and perhaps you really do have a massive garden. Move to three dimensional data and the difference becomes less clear. In three dimensions how can you tell  which side is the top of something, and what does top really mean? Suppose you have a drawing of cube that represents a water tank. What order would you draw the points of the bottom panel of the tank? Does the top of that panel point downwards or upwards? And what about the sides?</p>
<p>If you are wondering about the idea that your garden could occupy the entire globe then imagine a spherical world (a bit like earth perhaps) and draw an island round one of the poles. Now imagine how this island might look if you were to try to draw this map on a flat piece of paper. It would probably look simply like a straight line running along the top of the paper. Now how do you decide which side of the line is land and which is water? Now imagine and island that covers half of the globe. It does not matter which half, you will always need to somehow decide which is inside and which is outside.</p>
<p>I said earlier that I would revisit this and add some information about other file formats. The next file format up is the shapefile from ESRI. According to the <a href="http://www.esri.com/library/whitepapers/pdfs/shapefile.pdf" target="_blank">ESRI definition of the shapefile</a> (see page 9) the order of the points is opposite to that of the previous two formats that I listed. This does, of course, pose a risk for those developing tools to read from one format and write to another, and that is that they have to reverse the order with each read/write. Not that this is any reflection on ESRI, actually the shapefile format pre-dates  both of the previous two formats.</p>
<p>Microsoft have been fairly slow to recognise the necessity of spatial capabilities in their database but 2008 has finally seen the introduction of two new data types. Geography for storing geodetic (real world) data and geometry for storing planar data. Hopefully their time spent catching up also means they have overtaken some of the now elderly formats and engines.  For the geometry type Microsoft states that the point order does not matter. They go on <a href="http://technet.microsoft.com/en-us/library/bb964711.aspx" target="_blank">here</a> to say :-</p>
<p style="padding-left: 30px;"><em><strong><span>The OGC Simple Features for SQL Specification does not dictate a  ring ordering, and SQL Server does not enforce ring ordering</span></strong></em></p>
<p><span>Which seems at odds with the earlier reference that I gave earlier stating that it does matter. However that was a draft specification so perhaps they later dropped the requirement. I can quite see how a polygon on a planar system is unambiguous but WKT is not solely used for planar systems.  Clearly a little more homework is required.</span></p>
<p><span>For the MS SQL Server Geography type the point order is important but the documentation I read did not say what the ordering should be. What they did say is that no geometry using a geography data type may be larger than a hemisphere and that there is effectively no such thing as an inner or and outer ring. This last point might sound like non-sense but actually it makes perfect sense.</span></p>
<p>Imagine an island that has two lakes. Now make the island so big that it covers nearly the entire planet. Does it really make sense to call one of the exteriors the outer? In other words anything that is not dry land is outside the island. Let us imagine that one of the lakes has an island of its own. And suppose the island has a school. Now you perform a query to find which schools lie on the original outer island, is the school on the island in the lake of the island included. No! Not if you are using the geometry of the main island.</p>
<p>But I can imagine that there are circumstances where this theoretical lack of distinction would get in the way. Suppose I want to know where all the schools are within the territory of the main island. In most other systems I&#8217;d load up my polygon, delete any interior holes and then query the database. Only under SQL Server  that will not be possible because I have no idea which is my outer, they are all outers. I might be able to iterate over the outers and find out which is the largest and delete the rest.</p>
<p>I am going to have to come back to this topic to make it complete for other databases and file formats.</p>
<div class="al2fb_like_button"><script src="http://connect.facebook.net/en_US/all.js#xfbml=1"></script><fb:like ref="AL2FB" show_faces="true" width="450" href="http://www.askew.nl/blog/?p=186"></fb:like></div>]]></content:encoded>
			<wfw:commentRss>http://www.askew.nl/blog/?feed=rss2&#038;p=186</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>I&#8217;m an Evony Cheater</title>
		<link>http://www.askew.nl/blog/?p=184</link>
		<comments>http://www.askew.nl/blog/?p=184#comments</comments>
		<pubDate>Fri, 09 Apr 2010 03:58:26 +0000</pubDate>
		<dc:creator>Nick</dc:creator>
				<category><![CDATA[Rants]]></category>
		<category><![CDATA[Barred]]></category>
		<category><![CDATA[Blocked]]></category>
		<category><![CDATA[Bot]]></category>
		<category><![CDATA[Cheat]]></category>
		<category><![CDATA[Evony]]></category>
		<category><![CDATA[False Accusation]]></category>
		<category><![CDATA[Script]]></category>
		<category><![CDATA[Suspension]]></category>

		<guid isPermaLink="false">http://www.askew.nl/blog/?p=184</guid>
		<description><![CDATA[At least according to Evony I am. They sent me a little email a fews days ago (6 April 2010) Account Action: Suspension Reason for Action: Terms of Use Violation Greetings, After a thorough investigation, we have found that the account listed above violate the terms of use listed below: Use cheats, automation software (bots), [...]]]></description>
			<content:encoded><![CDATA[<p>At least according to Evony I am. They sent me a little email a fews days ago (6 April 2010)</p>
<div id="cg_msg_content">
<p style="padding-left: 30px;" align="left"><em><span style="font-size: 14px;">Account Action: Suspension</span></em></p>
<p style="padding-left: 30px;" align="left"><em><span style="font-size: 14px;">Reason for Action: Terms of Use Violation</span></em></p>
<p style="padding-left: 30px;" align="left"><em><span style="font-size: 14px;">Greetings,</span></em></p>
<p style="padding-left: 30px;" align="left"><em><span style="font-size: 14px;">After a thorough investigation, we have found that the account  listed above violate the terms of use listed below:</span></em></p>
<p style="padding-left: 30px;" align="left"><em><strong><strong><span style="font-size: 12pt; color: black; font-family: Calibri;" lang="EN-US"><span style="font-size: 14px;">Use cheats,  automation software (bots), hacks, mods or any other unauthorized  third-party software, databases or scripts designed to modify the Evony  experience.</span></span></strong></strong></em></p>
<p style="padding-left: 30px;" align="left"><em><span style="font-size: 14px;">You may not perform any acts that we consider to be damaging to  Evony. While we try to be as lenient as possible, and take in  consideration many mitigating circumstances, the reoccurring offensive  trends listed above have led to the suspension.</span></em></p>
<p style="padding-left: 30px;" align="left"><em><span><span style="font-size: 14px;">This Evony account has been suspended for 3  days by the Account Administration staff based on a review of the  account and all related policy violations. <strong>Be  aware that any additional inappropriate actions may result in the  permanent closure of the account.</strong></span></span></em></p>
<p style="padding-left: 30px;" align="left"><em><span style="font-size: 14px;">This action has been taken in accordance with the </span><a rel="nofollow" href="http://www.evony.com/index.do?PageModule=Static&amp;type=TandC" target="_blank"><span style="font-size: 14px;">Terms of Use</span></a><span style="font-size: 14px;"> and our </span><a rel="nofollow" href="http://bbs.evony.com/showthread.php?t=4746" target="_blank"><span style="font-size: 14px;">In-Game Policies</span></a><span style="font-size: 14px;">. </span></em></p>
<p style="padding-left: 30px;" align="left"><em><span style="font-size: 14px;">Only the Account Administration department can address disputes  or questions you may have about this account action. To learn more about  how we are able to assist you, please email to <span style="text-decoration: underline;">escalation@evony.com</span>.</span></em></p>
<p style="padding-left: 30px;" align="left"><em><span style="font-size: 14px;">Regards,</span></em></p>
<p style="padding-left: 30px;" align="left"><em><span style="font-size: 14px;">Account Administration</span></em></p>
<p style="padding-left: 30px;" align="left"><em><span style="font-size: 14px;">The Evony Team</span></em></p>
<p><em><span style="font-size: 10.5pt; font-family: 'Times New Roman';" lang="EN-US"></p>
<p style="padding-left: 30px;" align="left"><span style="font-size: 10.5pt;" lang="EN-US">IMPORTANT NOTE: Please do not respond to this  email. Any email sent as a response to this message will not reach us.  Should you have another question or would like to send us additional  information, please contact us by emailing <span style="text-decoration: underline;"><a rel="nofollow" href="mailto:escalation@evony.com" target="_blank">escalation@evony.com</a></span>.</span></p>
<p></span></em></div>
<p>Well what surprised me was that this came shortly after I&#8217;d decided to give up on the game and had not logged in for several days. I had two cities and one of them was attacked and taken over. It had taken me so long to build the city that I figured that I really did not have enough time to build it again. But I did not want my attacker to then go on and reap the rewards of taking over my other city (or at least clearing it out) so I proceeded to hold a fire sale. I sold everything for next to nothing. I built a new city near by. Moved everyone into the new city and abandoned the old one. I then teleported my new city away and never logged in again.</p>
<p>A few days later I heard about their new game. It promised a better experience with no bullies. I was curious and created an account on their beta server. I played for a few minutes before realising it was just the same game with a fancy interface and some woman commentating on everything you do. Oh well done my Lord you really are turning out to be a super Evony customer. Realising that it was going to be every bit as dreary as the old game I abandoned that one too and then I received the mail saying I was a cheat and that my account was locked.</p>
<p>So I wrote back to Evony</p>
<p style="padding-left: 30px;"><em>Hello Account Administration,</p>
<p>Firstly which account listed above?  You appear not to have listed any account in the mail. However given  that you have sent the mail to this email address I guess you are either  talking about the beta account or the live account.</p>
<p>Secondly I  can categorically tell you that I have not used any cheats on either  account (unless using Firefox counts as cheating). You might well be  thinking that they all say that but well really this time it is true. To  my knowledge I have not logged in since sometime last week when someone  mounted an attack on one of my cities and I decided enough was enough  and stopped playing. To be honest I&#8217;d already got bored of playing Evony  as it seemed that to do anything required endless waiting around. But  given that you are  accusing me of cheating based on what must be false information (or the  possibility that my account has been hacked) you might want to dig a  little deeper in case you are falsely accusing other users who might  actually give a damn.</p>
<p>Hang on a moment. I did try to flog off all  my stock before destroying the city. The logic went like this. Someone  clobbered my main city. I then thought they would probably attack my  other city next and frankly did not want to give them the satisfaction  of getting something for nothing. So I flogged everything for 0.0001  gold. To my surprise I seemed to earn an absolute fortune for doing so.  That is not cheating, that is a bug in your sloppily written code. I  then abandoned the city, gold and all, and relocated the other city out  of reach of the attacker and then never logged in again.</p>
<p>Finally  please feel entirely free to delete both accounts (beta and live) that  are associated with this mail address and then  remove me from all future mailing lists.</em></p>
<p>and got a standard out of office reply telling me to wait 5 days before complaining that they did not answer.</p>
<p style="padding-left: 30px;"><em>Dear Customer,</p>
<p>Thank you for contacting the Evony support  center.  To better assist<br />
you, we have forwarded your customer  service request ticket to a<br />
specialized department that handles  issues which you are reporting.</p>
<p>We ask that you be patient while  that department reviews and<br />
investigates your customer service  request ticket in detail.  As<br />
reviews and investigations can take  time for us to replicate your<br />
issue, we might be making contact to  you asking specific questions<br />
regarding your ticket if the department  feels it cannot replicate or<br />
investigate an outcome based on your  report request.</p>
<p>Please do let us know if you feel you have not  after 5 business days<br />
received a timely response and we will escalate  the ticket<br />
accordingly.</p>
<p>Thank you,<br />
Evony Support</em></p>
<p>So I was not entirely filled with hope that the issue would ever be resolved and joined the community at bbs.evony.com and found that, far from being the only one claiming to have been falsely locked out, there seems to be large group of people all saying &#8220;Hey I&#8217;m innocent&#8221;. They all tell the same or similar story. Suddenly they are locked out and Evony refuse to enter into a discussion about it. I never spent money with them but there are players who claim to have done exactly that and then get barred. I really feel sorry for those people.</p>
<p>Well I&#8217;m still within the 5 days notice period. My account might be unlocked today but frankly I do not care. I just want to highlight my innocence and then get on with life in the real world. So if you are thinking of starting to play Evony please do a little research. It is a fun game initially but the threat of suspension is hanging over everyone. Here is section 8 of the TOC&#8217;s</p>
<p>REGAN MERCANTILE US, LLC MAY SUSPEND, TERMINATE, MODIFY, OR DELETE  ACCOUNTS AT ANY TIME FOR ANY REASON OR FOR <strong>NO REASON</strong>, WITH OR  WITHOUT NOTICE TO YOU</p>
<p>If you have also been accused of cheating then please feel free to drop me a comment and if you have your own blog I&#8217;d be happy to link to it. Please make sure your comments are accurate and not abusive otherwise they will not be posted.</p>
<p>If you are interested in a little more reading about the game here are a few links to get you started.</p>
<p><a href="http://www.bruceongames.com/2009/08/25/evony-want-to-sue-me-for-telling-the-truth/" target="_blank">http://www.bruceongames.com/2009/08/25/evony-want-to-sue-me-for-telling-the-truth/</a></p>
<p><a href="http://www.bruceongames.com/page/2/?s=evony" target="_blank">http://www.bruceongames.com/page/2/?s=evony</a></p>
<p><a href="http://ezinearticles.com/?Evony---Game-Free-Forever&amp;id=3720754" target="_blank">http://ezinearticles.com/?Evony&#8212;Game-Free-Forever&amp;id=3720754</a></p>
<p><a href="http://www.brighthub.com/video-games/mmo/articles/46094.aspx" target="_blank">http://www.brighthub.com/video-games/mmo/articles/46094.aspx</a></p>
<p><a href="http://www.articlesbase.com/computers-articles/evony-games-free-forever-1856785.html" target="_blank">http://www.articlesbase.com/computers-articles/evony-games-free-forever-1856785.html</a></p>
<p><a href="http://www.funclub92.com/2010/04/evony-drops-libel-lawsuit-against-uk-blogger.html" target="_blank">http://www.funclub92.com/2010/04/evony-drops-libel-lawsuit-against-uk-blogger.html</a></p>
<div class="al2fb_like_button"><script src="http://connect.facebook.net/en_US/all.js#xfbml=1"></script><fb:like ref="AL2FB" show_faces="true" width="450" href="http://www.askew.nl/blog/?p=184"></fb:like></div>]]></content:encoded>
			<wfw:commentRss>http://www.askew.nl/blog/?feed=rss2&#038;p=184</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>You know how it is.</title>
		<link>http://www.askew.nl/blog/?p=181</link>
		<comments>http://www.askew.nl/blog/?p=181#comments</comments>
		<pubDate>Sun, 14 Mar 2010 17:48:46 +0000</pubDate>
		<dc:creator>Nick</dc:creator>
				<category><![CDATA[Rants]]></category>
		<category><![CDATA[abuse]]></category>
		<category><![CDATA[atheism]]></category>
		<category><![CDATA[child molesters]]></category>
		<category><![CDATA[god]]></category>
		<category><![CDATA[paedophiles]]></category>
		<category><![CDATA[religion]]></category>

		<guid isPermaLink="false">http://www.askew.nl/blog/?p=181</guid>
		<description><![CDATA[You are brought up in a Christian school and told of the certainty of God, how he is looking out for us and how kind and good he is. You soon find that there are millions of people around the world that are starving and how the Church is doing good works to try to [...]]]></description>
			<content:encoded><![CDATA[<p>You are brought up in a Christian school and told of the certainty of God, how he is looking out for us and how kind and good he is. You soon find that there are millions of people around the world that are starving and how the Church is doing good works to try to help these poor people. You might start to wonder why God does not help them but this is explained because God has given us free will.<span id="more-181"></span>But then you find that there are lots of very wicked people in the world and you also hear that God has done nothing to stop these people either because he did that once and he felt really bad about it and decided not to do it again.  So we are back to the conclusion that in effect we are on our own.</p>
<p>You might have gathered that I am an atheist. That is that I firmly believe there is no God. I have no proof of that and like the religious people my position is faith based. But I am not here to argue that does not God exist. For every point I might put forward there will always be a counter argument from someone who is a believer.</p>
<p>No, my post comes from the shameful situation that the Church has found itself in regarding child molestation. It should not come as news that the Catholic church in particular has had a problem with paedophile priests. It should also not come as news that the Church has not everything they can in the past to cover up this situation. There are people who will condemn the Church and everyone associated with the Church because of this.</p>
<p>I recognise that actually the overwhelming majority of people in the Church are truly believers and they do some great works for the poor and disadvantaged in our own communities and overseas. These people must be feeling duped right now and possibly slightly angry. And angry they should be because both the abusers and those that hid them are equally responsible for the damage that has been done to the Church. In fact I&#8217;d say those that hid them are more culpable.</p>
<p>But hang on. Apparently the vast majority sought forgiveness. They washed their hands and, in the eyes of the Church, that was enough to regain their innocence. Well let me quickly go back to the idea that God gave us free will. As a result of this free will we are allowed to perpetrate the most obscene acts we can think of safe in the knowledge that God will not stop us. Sure once we are dead and presuming we are not repentant we will burn forever, but until then we can carry on. God will not get involved in the nitty gritty of his creations. So mankind was forced to invent laws, implement policing, and courts. These are what the criminal should fear on earth and not divine retribution.</p>
<p>So you have a difference where the Church says seek forgiveness, say a few hail Mary&#8217;s and we will give you pot of money and a new parish and you will be fine until the next time, and the law that says you will be locked up and put on the sex offenders register for life.</p>
<p>I have a friend that was abused from a young age by a family member. She tells me that this person was a Christian and that after each session of abuse he would turn to his religion and seek divine forgiveness. I honestly cannot tell you if this meant going to Church and admitting his guilt to his religious leaders, flippantly saying God will forgive me, or something in between. However I find it repulsive that someone uses their religion as some kind of holy hand-wash for the soul. But it seems to me that not only do people within the church use this behaviour but in the past they have known and tolerated it ignoring the laws that would apply.</p>
<p>So the Church, it seems, feels that it is above the law. Of course, if you are religious, you might well feel that God&#8217;s law takes priority over man&#8217;s law. If you are such a believer then I&#8217;d ask you to step back from your own beliefs for a moment. Imagine that you are in another country, perhaps, where the laws are different or they worship a different god. Do you imagine that you could really justify breaking their laws because your god says that he will punish you once you are dead or that if you seek forgiveness now. What about if someone of another religion came to your country and then sought forgiveness from their god?</p>
<p>The real shame of all this is that all the good works that are done by the Church are massively over shadowed by the scandal. The only way to get the trust back amongst normal law abiding people is for the Church to completely open up to the authorities in every country and willingly hand over the abusers and those that sought to hide them from justice. What remains of the Church should be a solid foundation on which to rebuild. If they do not do this then many people will look sceptically at any resulting Church and rebuilding may never be possible.</p>
<p>In short the Church is simply going to have to suffer some pain before it can start properly cleaning up its act and senior people within the Church should be expelled. We may find the abuse goes far higher than previously thought but that is the price that needs to be paid.</p>
<div class="al2fb_like_button"><script src="http://connect.facebook.net/en_US/all.js#xfbml=1"></script><fb:like ref="AL2FB" show_faces="true" width="450" href="http://www.askew.nl/blog/?p=181"></fb:like></div>]]></content:encoded>
			<wfw:commentRss>http://www.askew.nl/blog/?feed=rss2&#038;p=181</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

