Lorem Ipsum

August 17, 2007

I recently added some Lorem Ipsum text to fill in some space on a prototype ASP.NET website I made recently, which lead to a few questions from the client (a person not a machine) such as “what language is all this text in?!” A handy generator and a history of Lorem Ipsum can be found here.

However far more amusingly is the generator at http://www.malevole.com/mv/misc/text/. There are some real classics in there…


“Mutley, you snickering, floppy eared hound. When courage is needed, you’re never around. Those medals you wear on your moth-eaten chest should be there for bungling at which you are best. So, stop that pigeon, stop that pigeon, stop that pigeon, stop that pigeon, stop that pigeon, stop that pigeon, stop that pigeon. Howwww! Nab him, jab him, tab him, grab him, stop that pigeon now.”


Operation must use an Updateable Query

August 14, 2007

I know I see this error about once a year and can never remember the cause, so I’m writing it down this time!

In my case it has always been related to SQL queries and Access databases. Check the following if your SQL command produces this error when executed:

  1. The database is not read only – Visual Source Safe can often be a culprit in setting this property..
  2. The SQL query may contain fields that are reserve words (e.g. DATE, TOP etc.). These should all be renamed in the database (I normally add an underscore at the end).
  3. Go through a long and tedious process of which Windows user is running the SQL (ASPNET, IUSR_COMPUTERNAME etc.) and check thy have write permissions to the folder containing the database, and the database file itself. Remember Access needs to create those pesky .ldb lock files..

Podcasts and Python

August 13, 2007

I’ve been listening recently to “.NET Rocks!” twice weekly .NET development podcasts. It is very easy to listen to, mainly due to the personalities of the presenters, and it gives a good overview of .NET develpment and related technologies. Software development as a whole is often discussed – test driven development, agile programming, management, spaghetti code…

A full archive of previous episodes is available for download (for free), and I found an epsiode that gives a good introduction to Python – it can be downloaded here. I’m still not convinced of the use of Python and ArcObjects as explaining how to run scripts with parameters to GIS users, or creating custom toolboxes, takes as much time as creating a nice UI in Visual Studio. In the show one of the presenters asks “but don’t you miss the Visual Studio environment and intellisense?”, which I couldn’t agree more with. However there is also mention of IronPython, which I knew had something to do with .NET, but it can also apparently be used within the Visual Studio environment which could make life a whole lot easier.

I’m off to download IronPython now…


An End to Database Locks!

August 11, 2007


Writing ArcObjects code and using an Access personal geodatabase will result sooner or later in an error along the lines of “Cannot aquire a schema lock because of an existing lock.” Spending hours going through code, making sure objects are disposed of and that all connections closed often makes very little difference. It becomes apparent some of the problems lie deeper than customised code when the same errors occur when using ArcMap or ArcCatalog without any modifications.

I have been using Unlocker, a freeware program, to solve these issues when developing with ArcObjects (or just using ArcMap..). Once installed a simple right click on an ldb or mdb file can remove any file locks, and your code is free to run again. It works with any Windows file or folder so is a useful program to have around even without geodatabases.

More reviews and an alternative download site can be found here.