Wednesday, September 28, 2005

Something special - Delphi rules!

I've been very busy the past few days which accounts for my absence from this blog.

Over the weekend, I was working on a new arrangement of Randy Newman's "Something special", a rather nondescript song of his from the "Land of Dreams" album. Several years ago I recorded a disc of Newman's songs, ostensibly in preparation for another Little Criminal's disc. Of those that I recorded, I thought that SS came out the best, but it was overlooked in favour of "Jolly Coppers" ("I prefer your version to mine" - Randy Newman, bless him). SS came out very shadowy and echoey, and suggested to me a new way of arranging and singing, which I tried to achieve on following recordings.

With the possibility (albeit slight) of a new Little Criminals record in the air, I thought it was time to revisit the arrangement and transform it into Reason. Whilst doing so, I learnt some new Reason tricks, which may well be old hat to seasoned Reasoners, so I won't list them here. I also tried some tricks on the vocal tracks, such as taking a track, reversing it, adding reverb then reversing it again, making the vocal sound correct but with prereverb. This sounded extremely weird, so I decided against using it on this song, although maybe a lighter touch on the reverb might have been called for.

Listening to the track with fresh ears, I notice that the major effect cuts out two bars late, which means that I'll have to correct and remix the track. Try doing that with non sequenced music.

At work, a new program presented itself to be written: basically task management. Of course, there are programs such as MS-Project which handle what we need, but they include so many things which we don't need that our modest needs will be buried under a wealth of detail. I downloaded some shareware programs which dealt more with task synchronisation as opposed to project management; whilst these certainly could do what we need, they all had problems. So I "signed up" to write our own in-house program for task management. An advantage to writing my own program is that I will be fully aware of the program's logic, which will almost certainly not be the case with an off the shelf program.

I write in Delphi, at which some people may sneer, but allows me to get a fully fledged database program running in a few hours and teaching the program new tricks takes only a few minutes. The difference about the writing of this program and most of the my others is that I don't have a clear idea of what the program is to achieve; I have an outline, but most of the work is done by trial and error. I've never done any task management, so I'm not very aware of the subject's nuances. As it's also been a busy period at work, I've been doing most of the programming at home in the evenings, which is the main reason why I haven't updated this blog.

This program also does completely different things to my other programs: it can display data in Gantt charts. This of course is the raison d'etre of the program, and working in Delphi makes it very easy when there's a ready-to-go Gantt component to drop into the program. I think that I have another hour or so coding to do and then I have a program which I can demonstrate confidently. At the moment it uses the BDE which is far from ideal, but allows me to develop at home. When the program goes into production, I'll convert it to use mySQL.

A few years ago when I had some time on my hands, I decided to learn about Linux, so I took a spare PC which I had at work and loaded it with RedHat 7.2 - now considered an ancient version. After playing with the system, I saw that it was too slow to run Gnome or KDE, so I considered what tasks I could find for it as a server. It was easy to install mySQL on it, and once I learnt how to connect to this DB from Delphi, I was up and going. My main project with this db server is one which holds presales data; previously, the users (eight or so) had been accessing a shared BDE database on their LAN, and access was slow (and totally unusable over the WAN). After converting it to use mySQL, the speed increased amazingly, even though the 'server' is a humble PC and is now being accessed over a WAN (most of the uses are 50km from me). Such is the power of a dedicated DB server over the BDE!

No comments: