Thursday, February 17, 2005

Tact...

Tact, n.
The discretion one tends to exhibit more when one is not Hammered...

- Roger Barraud

I've Been Working on the.... Database

The prospect of (short-term) work panned out - since about Jan 6 I've been working on a smallish database project - telemarketing stuff (to businesses, in biz hours only - not that *other* kind we all hate)...

Using Microsoft Access 2000 and VBA (Visual Basic for Applications).

I used to be somewhat disparaging about VB programming - after all, it's not a *real* language like C or C++ or Pascal (a la Delphi) or Java.... not so sure anymore though. It's taken me longer to get confident with it than I had expected.

I think part of the problem is that there are many ways of doing the same thing with Access (and VBA) - and it's not always obvious which ways are best. The same is true of all programming, I guess.

Books help - I bought a total of 4 to help along with the project - some had code examples which were just plain *wrong* - not sure whether they were tested before being published (as screenshots full of code) - I think not.

The VB(A) environment is pretty nice in some ways - somewhat reminiscent of Delphi or C++ builder... but somewhat clunkier. Some of the completion stuff is annoying - it will give you a list of possible completions when you enter a '.' to start typing a member variable or function of an object - but if you fumble slightly it gives up ad you have to cursor back (or BS) back to the period in order to display the choices again.

There's heaps of stuff listed in the References (add-on stuff with extra controls etc.) - some of it apparently redundant (which version of DAO should I be using? - There are at least 2 - and there seems to be a third one which [replaces/extends?] one or both of the others).

Anyways, it's all a learning curve, and I've certainly learnt heaps in the last 6 weeks or so.

Some ideas floating around in my head (typical!) about how I would improve some stuff in Access - and abstractions of common patterns (how many times do I have to make a slightly-different Enter or Edit form?)... I guess that is where the value-add is in 3rd-party extensions and toolboxes.

Still have heaps more to learn - I hope to take some time to summarize some [IMHO] better ways of doing this kind of project.

Also have been playing with Squeak - a generously-licensed (free-ish) Smalltalk(-80) system for Linux and Windows - see www.squeak.com

I'm impressed with a lot of the rhetoric surrounding Smalltalk - it's held a certain aura for me since the Aug 1981 BYTE magazine issue (virtually solely devoted to Smalltalk). Many of the more modern languages have used Object-Oriented paradigms, but have been encumbered with the dogma of strong typing (which I myself swallowed) - Alan Kay, one of the original Xerox PARC developers, thinks that computing has drifted off into side alleys since Smalltalk's inception - and has some scathing words about modern hardware architectures. One Smalltalk 1979 benchmark runs only 50 times faster on a modern CPU than back then - the hardware should run it about 50 *thousand* times quicker! - so something is out of whack by a factor of 1000! So is it the hardware architecture's fault, or are 'modern' programming languages to blame?

C++ seems to have some arcane (baroque, even) features and feature interactions - it's probably one of the harder computer languages to master. I can't help wondering whether a multiple-inheritance-augmented Smalltalk might be a more comfortable environment in which to achieve similar (Simula-r?) things.

I need to put some feelers out for some more work - I'm hoping to basically finish this database project tomorrow (and take a coupla days off).

...And so to bed.

Insomnia... d'Oh!!

I've just been talking (well, IM'ing) to Mick Stanic on Skype for a while - while slowly drifting into brain-blur... now I can't seem to get to sleep (too many ideas racing around inside me bonce)... so I guess I'll blog a bit while my Warm Milk (not TM, AFAIK - yet!) heats up in the microwave.

Quite a few ideas circulating around kicking some life into the Aussie Blogging Conference 2005 - which for the moment is deferred... so kicking a few suggestions around with Mick.

Suggested he get in touch with some NZ people - some of whom would like to be thought of as Visionaries (or in my case, Renaissance Man :) ) - perhaps a little Trans-Tasman Rivalry might spur some more-eager Aussie sponsorship (Don't mention the *Cricket* - I did once, but I think I got away with it...).

Random thought: The problem with being a Silly Bastard is that if you keep doing it and hang around awhile, you become a Silly Old Bastard...

The thought was partly prompted by looking again at my Fresh Petzolds picture below :)

It's time for some change - and hopefully this blog will become the story of a Silly Bastard who becomes somewhat less Silly and hopefully defers the effect of Old for a while longer...
... my main problems at present being high cholesterol and bad sleep habits - both likely heavily contributed to by a lack of exercise (mousing doesn't count)...

I've started (again) on a regime of walking - aiming at 10,000 steps per day, 5 days per week.
Haven't hit that yet - as witness the new pedometer I bought Sunday and clipped to my belt. First coupla days have averaged about 9000 steps each, not too bad... but I ended up with a left foot that felt broken yesterday morning - d'Oh!!

Resting it seems to have helped - last night and tonight. I should probably feel guilty :) - but I dont think that's a good motivator.

I walked maybe 8km around local streets Monday night - listening to the G'Day World Podcast. It sure makes exercising hugely less tedious and boring.

A few ideas involving Radio and Podcasting (but not in obvious ways) whizzing about in the Brain Department. Hmmmm...

The AnzacPad is hatched... watch this space!