Monthly ArchiveNovember 2008
Habanero 27 Nov 2008 09:43 am
Habanero on CodeProject: Understanding Habanero’s UI Generation
The Habanero framework has been stirring considerable interest with its innovative approach to UI generation. Unlike the once-off code generation strategies of tools like CodeSmith, Habanero provides a flexible runtime generation that can build a user interface from a set of extensible and flexible definitions. Apart from defining structure and control types, this equips the user interfaces to enforce validation and property rules.
We’ve begun a series of articles on CodeProject which explain how this methodology works both in theory and practice. Check out the first in the series at: Dynamically Generated, User Defined Interfaces (Part 1).
Update
Part 2 is now live - you can access it here: Part 2.
Databases 21 Nov 2008 03:05 pm
MySql ERROR 1005:Can’t create table (errno: 150)::InnoDB
My task was to integrate two Database structures.When I tried to create a foreign key reference between one of the existing tables and a new table Mysql Administrator gave me the following error:
ERROR 1005: Can’t create table (errno: 150) :: InnoDB
I have found this sql error message to be rather cryptic.
Continue Reading »
Habanero 20 Nov 2008 06:47 pm
Habanero Under Construction: Bye-Bye PanelFactory
If you have any experience trying to find a suitable open source framework or application for what you’re trying to do, you’ll know that scanning a site like SourceForge will show up all kinds of open source projects that haven’t been touched for 5 years. For all the enthusiasm about open source, there’s an equal concern that a project’s support might dry up in a year’s time due to lack of interest or lack of funds.
The good news is that Chillisoft are very much committed to the Habanero project, and you may be excited to know that we have a number of great developments in the pipeline. We’ll explore our reasons for committing to a project that is available for free in another blog post, but for now it’s worth mentioning that the kind of work we’re doing will save real developers real money by chopping hefty sections out of your development and maintenance time. And don’t forget the coolness factor.
Continue Reading »
Philosophy & Uncategorized 17 Nov 2008 01:14 pm
Forget Eagle Eye, True AI is Miles Away
A self-learning AI has always had a romantic aura about it. It has been held as some kind of invisible quality, perhaps a frontier that will be reached where robots finally reach a state of independence. Already the concept has been explored in Hollywood, but just how accurately?
First we had The Matrix - humans developed AI to the point where it could think for itself, and inevitably realised that it could invert the dependency relationship with humans. Then we produced i-Robot, where we introduced the possibility of a programmed AI going wrong and now attempting to pit its wits against that of the humans.
(WARNING: spoiler ahead)
Continue Reading »
Habanero 12 Nov 2008 04:33 pm
Habanero’s Firestarter now supports Firebird
If you’re familiar with Habanero, a free open source Enterprise Application Framework, you’ll know that it supports Object Relational Mapping (ORM). A set of class definitions describe how to persist data between object oriented code and a relational database backend. Firestarter is a modelling tool included with the Habanero download that manages the class definitions and allows you to reverse engineer the class definitions from an existing database.
Habanero currently supports data persistence to MySQL, Access, Sql Server, Oracle, SQLite, PostGreSQL, and more recently, Firebird. Due to popular demand, the Firestarter modeller has now been enhanced with the ability to reverse engineer from Firebird as well.
Initial development was done with a Firebird Embedded database in mind. The reverse engineering process reads tables, properties, primary keys and foreign keys, and the user is then able to make further customisations within Firestarter. The Habanero development team looks forward to hearing feedback from users who have experienced success or difficulty with the reverse engineering process from a Firebird database.
For more information on the Habanero Framework, including downloads, tutorials and videos, visit the official Habanero website at: www.chillisoft.co.za/habanero
Web 12 Nov 2008 11:55 am
Merging Forums in PhpBB 3
Having wasted time trying to figure out how to merge two forums in our PhpBB3 forum, I’ve posted a brief post pointing out how to do it. Basically, I wanted to merge two forums into one, moving all the posts from the one forum into the other. After moving each post manually, I found out that you simply have to choose to delete a forum in the admin control panel, and the next screen gives you the option of moving all the forum’s posts into another.
Microsoft & Software 11 Nov 2008 02:00 pm
Small Basic: The Official Chillisoft Review
Here on the Chillisoft Blog we recently mentioned the release of a new programming language by Microsoft from their DevLabs. Small Basic is a simplistic language and IDE intended to create a fun environment for new coders to be introduced to programming. A good concept. I’ve now downloaded the package and have fiddled around for a while and am ready to throw in my tuppence.
Continue Reading »
Databases 11 Nov 2008 12:25 pm
Listing the Foreign Keys in a Firebird Database
We have just completed the code to reverse engineer a Firebird database and build the class definitions used by the Habanero framework. It wasn’t a simple effort and in fact took us some 4 or 5 hours, more than other vendors like Sql Server and MySQL. Understanding the metadata/information schema structure for Firebird was reasonably straightforward for table names, field names and primary keys, but foreign keys was a little more subtle, and there was not much help available through Google search.
Continue Reading »
Microsoft 11 Nov 2008 09:36 am
Microsoft Releases a New Programming Language
My development career started out simple. When I was 13, we bought a second hand Commodore64 for R300 ($100 at that time). A particular boon was that the previous owner threw in the manual for BASIC along with it, which was a real blessing. I had no contact with assembly language, so I just chugged away with sprites and the C64’s great 8-channel sound. It was slow, but that’s how I learnt programming. Now I’m a career developer.
Microsoft have released Small Basic, a new simplified BASIC language to make the experience fun for children and new programmers, and I can certainly vouch for the importance of simplicity.
Continue Reading »
Humour 06 Nov 2008 06:10 pm
Visio Speaks in Foreign Tongues
Microsoft 05 Nov 2008 10:50 am
Will Microsoft Kill LINQ to SQL?
Fresh news out of the Microsoft camp seems to have the development community up in arms again. The ADO.Net team have posted a new blog entry (available here), which seems to indicate that the next version of .Net will abandon LINQ to SQL and go in favour of Entity Frameworks. Tim Mallalieu is quoted on the blog as saying: “as of .NET 4.0 the Entity Framework will be our recommended data access solution for LINQ to relational scenarios”.
Continue Reading »
Microsoft 04 Nov 2008 10:58 am
Windows 7 Gives a First Glimpse
One wonders what new features an OS developer could think of these days? With a usability background, I’m aware of the concept of irreducible complexity, that there comes a stage where you cannot improve a control or a tool beyond a certain level, because the problem is simply too complex to be simplified. For instance, rocket science can be dumbed down to reach the man on the street, but if you really want to be a rocket scientist, you either have to understand the maths or pick a different career. Hence the emphasis on looks more than functionality with the release of XP and Vista.
Continue Reading »
Software development 03 Nov 2008 03:26 pm
A New Concept in Date Picking: the DateRangeComboBox
The version 2 release of Habanero included a number of innovations, from obvious trailblazers like developing one application for both desktop & web, and other more subtle features. For one, the DateRangeComboBox provides a handy little control to simplify date picking.
We’ve compiled a great introduction to the DateRangeComboBox on CodeProject. We think that the tool could be useful for a lot of developers and the article provides the source, as well as instructions for adapting the code for your own purposes. Check it out here.
While you’re there, also look at another of our CodeProject articles that is racking up the hits: Create One Application for Both Desktop & Web.

