About my software
- Free to download, but not public domain. I still
retail copyright.
- Please get in touch if you have any questions about
it or problems using it.
- Feel free to download and read the source code of any
software of mine and take it apart and learn from it. But
please don't go and copy substantial parts of my code
without telling/asking me.
- I'm more than happy to talk about any of my software
or about programming issues related to it.
About my programming career
- 1988 Age 9, We got a BBC B computer. Interesting.
Some nice little games and a good thick manual
- Before long, I began programming BBC BASIC following
the excellent user's guide and devouring as many books on
programming the BBC as I could get my hands on.
- Then grew frustrated with the limitations of BASIC
and started learning 6502 Assembler. Hard work, but fun.
Not that many substatial programs came out of this. I was
on the verge of stating to write some serious games
when...
- 1992 Dad got an Apple Macintosh Classic II
and the whole new world of GUI-based personal computers
was opened up to me. Trouble was I didn't want to just
use the computer, I wanted to program it - and make it do
what I wanted. No command prompt - how was this going to
work?
- Turned out a wee program called HyperCard
was included with that computer and it had a programming
language built in. Someone helped me unlock it, and then
I had to figure out how the language worked. More manuals
devoured. (only now they were quite expensive)
- Soon started churning out some interesting programs,
especially educational ones for Dad to use in his
secondary-school teaching. Several were adapted from BBC
programs.
- Adaptations from BBC: Catch, The Hajj, Book
Chapter & Verse, The Haber Process
- Originals: Multimaker, FOntGuide
- Developments from others: World Religions
QuizBase
- 1995 But eventually I again sensed the limits of
HyperCard. You could whip up nice GUIs quickly, but it
was slow, colour was a hassle, and the language not
really sophisticated enough. Time to find some books on
C/C++ and to buy a compiler for the Mac...
- Colloque: a cute/annoying talking clock.
- Picked up AppleScript as it came in, but resources
within my price-range for learning it and other languages
were very scarse.
- Started playing with Access & databases,
particularly as I did some work for hospital departments
in Glasgow through a friend. Learnt quite a lot just by
doing it. No idea of database theory really.
- Web stuff was coming in, so I learnt HTML and
hand-coded my first web pages (I still do that a lot of
the time).
- 1997 Then at university languages came thick and
fast:
- Java (very early days still - Swing hadn't been
invented when we started),
- ML (a rather peculiar and not really very useful
language),
- x86 assembler (reminded me of 6502)
- and several other ones I never did much with like
Perl, Prolog, Lisp...
- UNIX stuff too was all new to me - Linux and
Solaris. (Reminded me of playing those text-based
adventure games in the old days where you hadn't a
clue what commands were acceptable so just tried
typing all sorts of things in until the right thing
happened.)
- Group and then individual projects at university gave
more experience particularly of Java, but also of
software engineering issues.
- Over the 1999 summer had a couple of jobs one doing
Java/C++ and the other Visual C++ using lots of big
expensive tools like Rational Rose UML modeller, and MS
configuration management SourceSafe.
- With Wycliffe in Nigeria I worked on some linguistic
software to help our work
- ShoeShop was the major project of use outside our
own, but a bit rough & ready.
- Toolchest was a collection of tools for working on
the lexicon and doing fancy stuff to the text-based
database.
- In Oxford got a chance to brush up my Access/SQL
skills and put the theory I had learnt into practice.
Lots of database stuff, Visual Basic programming etc.
- Completed a big but nimble bespoke database
solution to replace an expensive off-the-shelf package
which had just annoyed everyone in the office. It was
called KEVIN! (Keeps Extremely Vital Information
Nicely)
|