Thursday 26 June 2008

Praise: Subversion Hosting at

I've recently signed up for Subversion hosting with Wush. I spent a long time looking at various online providers before deciding on Wush. I am more than happy with my choice!

I currently have a no-frills service with a gigabyte of space with unlimited users across a single Subversion repository for $20USD per quarter at time of writing. (You can add extra Subversion repositories for $5USD.)

Hey, I don't want frills, I want service and Wush have given me absolutely top class service! Their service started when I was asking initial questions and has continued through my teething problems (like not remembering how to set up other users; how to integrate with FogBugz, etc.).

There are a lot of good looking offerings out there with some very slick interfaces. However, these often took, literally, days to respond to my support requests. Sorry - not good enough!!

Wush does not have a slick interface but has a strong, consistent and solid level of support from the start.

When a job's done right, you have to say so: Wush have to be one of the best out there and I wholeheartedly recommend them!

Tuesday 24 June 2008

ECO VistaDB Provider on CodePlex

I've put the code for the ECO VistaDB Provider up on CodePlex. Get if from:
I'd be very interested to hear of any experiences if you use it!

Sunday 22 June 2008

Flintstone Machine: Enterprise Integration Pattern

In the Flintstones cartoon, the "modern stone age" families used used machines that were functionally equivalent to the contemporary household utility appliances, but were powered by animals inside. For example, in the recent film, their garbage collector chute leads to a pig in the cupboard that eats all the waste food.

In enterprise IT systems we find similar things: systems that hand off work to a human worker when that work could be accomplished by the system or passed to another system. The worker becomes the equivalent of the animals inside the Flintstones' machines.

The key feature is that the task the worker performs could be done, in whole or in part by software; indicating areas where greater operational efficiencies may be achieved. Of course, it does not indicate that there is a cost benefit to making the change!

This can make sense as a temporary step on the journey toward greater integration. To keep your promises, you might roll out your online ordering system to the world and start taking orders today, before you can bring the warehousing system to the party. You have a team of people working like hell to take the orders to the warehouse and update the stock levels. The warehousing integration rolls out later.

The enterprise system is like a swan, the surface is all graceful and efficient, while the legs are working like hell to move things along!

Also see: Swivel Chair Integration

Thursday 19 June 2008

UAC: Peace at Last

Caveat: do not try this at home unless you understand and are willing to accept the reduced security. Read the comments in the link below for more details.
That said, I've found some valium for the soul! The article shows how to automatically elevate for the admin accounts on my machine. I've set this up and have just gone to delete some bin and obj folders as I did last night. However, tonight I feel positively warm and glowing - it simply asked me to confirm the deletion and then they disappear.


UAC: Your Time is Marked!

Before zipping the source for the last post, I went to remove the bin and obj folders. These are located in my documents folder (under the VS2008 projects folder). My login has admin rights to the machine and I'm not on any domain either - just a standalone home machine!

Life should be sweet then? Well, not if you're using Windows Vista with UAC enabled. There are seeming endless requests for permission to continue. It's a click multiplier...the more you want to do, the more you have to click!

I began by thinking that it's all worth while, it's for security reasons, etc. etc. Right now I'm at the end of my tether and am about to turn it off.

One of my favourites is that when trying to delete the bin/obj folders, I can't! I just get the following:

I created these folders, inside my user profile, on my machine, upon which I have full administrative rights. There were no files locked by other processes (merci, Cedrick!). I had only created the folders a few minutes previously. Man, this is the most tedious version of Windows I have ever used. This stuff drives me insane!

Sometimes when I get the dialog above, if I go into the folder and delete files and subfolders before I delete the main folder, I get to delete the main folder after all that. Wow, that's great, there's a workaround! Well, no - it doesn't always work, just sometimes!!

Vista UAC - your time is marked!

Wednesday 18 June 2008

Implementing ECO on VistaDB: part 2

To continue my earlier post, I now have got ECO to write and read from a VistaDB database. I had a few tweaks to make to the source I posted earlier against the ECO newsgroup. But, it's looking very good so far.

The source code can be got from the newsgroup.


The generated table seen from VistaDB:

A data grid bound to the ECO datasource:

Tuesday 17 June 2008

Implementing ECO on VistaDB

I was doing an evaluation of ECO over the weekend and I needed to see if I could wire it up with an embeddable database.

Sure, they already had support for SQLLite, Firebird and others. I wanted to be able to connect to VistaDB. Whilst this was not supported out of the box, a couple of hours tweaking, getting support from their newsgroup and reading the manual (after being reminded!), I have got as far as generating a schema on VistaDB from ECO.

This is a real compliment to a framework as advanced as ECO that a new user can do this after a few hours of work. Sure, I am familiar with the concepts of ORMs in general and have a few weeks worth of experience of ECO from 5 years ago. But, hey - I'm no rocket scientist and this is the first time I've worked with VistaDB - a compliment too for the good work in VistaDB, there were no surprises, it all just worked!

Still there's much more to do, this very much a work-in-progress. Will keep you posted!

Update: you can get the work-in-progress source here, if you're interested.

VistaDB - It Just Works!

I'm looking for an database for a Dotnet 3.5 winforms application that I will be making available for a mass audience. The application will install on the users machine and be hold its data on that machine.

I want minimise the problems for my users. I do not want any other software being able to affect my software. The worst case scenario I want for support is to uninstall and reinstall the application, possibly the Dotnet Framework.

This means I want to embed the database in the application. I do not want to rely on other vendors sharing an installation of MS SQL Express or similar. I want it all to myself!
Publish Post
I love Firebird from my Delphi days and SQLLite is hot as hell, but enter the newcomer: VistaDB.

Fully managed, CLR compliant and written in managed C#, this little puppy is easily my DB of choice for this work. Supports large DBs, no arbitrary limits on anything, goes to the web, desktop or mobile. easy integration with Visual Studio, comes with its own management suite, and a whole host of other goodies. This will cost not much more than a half decent management suite for Firebird or SQLLite!

Although it's not pertinent for me in the current project, this database is capable of being completely embedded in an ASP.Net web page and saving you loads of cash on your hosting - the excellent and free MS SQL Express costs to host, as does the also excellent and free MySQL. VistaDB is a file and an assembly...can it get simpler?

Check it out here

ECO - Heavy Lifting Support

I have developed in Borland Delphi since the 16 bit version 1 and shipped apps for Windows 3.1. In early 2001 I was working for a forward thinking UK based digital TV/media-on-demand company. Our primary product was highly scalable, highly distributed, bleeding edge performance media server. Sadly, the technology was lost as the company was a tech startup and funding dried up...the world was not ready for video over DSL then. If only, eh?

Anyway, these guys were code generating most of their code from UML (Rational Rose at the time) into C++ and building for Solaris and Linux. The closest I got to this was to write a build tool that QA could use to kick off the main product's build on Linux along with the Windows apps' build...the only bit of Kylix programming I ever did. (Never met anyone else who did much more either!)

I was responsible for the design and development of our Windows based management applications and, inspired by the code generation techniques used by the rest of the gang, was implementing an ORM to speed up the development of the end-user apps. Nobody used the term "ORM" in those days (at least, as I remember). It was MDA back then, before the OMG trademarked the term (yep, we all had to adopt a new vocabulary because of that!!).

It was then I discovered Bold for Delphi - a fully featured object-to-relational framework, with all the trimmings: integration into Rational Rose. object versioning, caching and concurrency support to name but a few features. Man, this was 2001, for god's sake...where did you find features like that in the Window's world?

Very soon after, the company I was working for went down due to funding being withdrawn and I have left Delphi behind for Dotnet. After five years in the Microsoft arena, I am shopping for an ORM to support a new app dev for a new client. Guess what...

Bold are still going, the company is now called Capable Objects and the product is called ECO. It's still true to its original roots, is still supremely capable (just like they say on the tin!) and has been released for Visual Studio!

I've been looking around for something to help in a new project for a potential mass market application, that will be deployed on client's machines. This is one of my tools of choice for the new endevour.

If you haven't had a look, check out the fully functional version from here.

Hello World!

Welcome to my first blog post. I hope to be sharing some of my rambling thoughts on software, its development, procurement, use and abuse.

I've been in the development industry since 1997 and will hopefully be so for much longer.

My primary focus is end user business applications - their development, use and abuse; business integration scenarios and the lifecycle management of software in the business.

I hope to be blogging some of my thoughts in these areas in the coming months.

Stay tuned!