TECH BACKGROUND

OR WHAT I HAVE LEARNED ABOUT COMPUTERS

Workwise, I specialise in Solutions and Technical Architecture (with forays into Information Architecture) on one side, and Rocket Propulsion on the other side. In this section, the Technical and Information Architecture is of more relevance though. Much of my IT work also involves Enterprise Architecture and Solutions too. I've gravitated to this from a technical background, both programming and having a wide ranging hardware background too, both of which gave me experience in a wide range of hardware and operating systems.

My IT experience is quite varied, going back to the late 1970's/early 1980's, and the birth of the home computer in the UK, through to the Apple Mac, the main players in the UNIX field and the various flavours of Windows and Linux (and a plethora of others on the way). Added to that is my technical experience in rocket and spacecraft engineering, which does come in useful sometimes, especially due to the fact that it requires a level of detail and rigour that has to be very thorough.

Outside of work, I suppose my scientific background means I like to know how everything works (useful for Technical and Information Architecture), and I like to think and try and find new uses for practically any device that comes my way. Not being scared of a soldering iron helps here too, and I certainly enjoy taking things apart to see how they work.



HARDWARE AND OPERATING SYSTEMS

From a computing perspective, the main platforms I can remember that I have experience of (as in I have written code for at one point or another) are....

Table 1: Hardware and Operating Systems Experience
Hardware Operating System
Intel x86 PC Ubuntu Linux
SuSE Linux
Red Hat Linux
Mandrake Linux
Microsoft Windows XP
Microsoft Windows 2000
Microsoft Windows NT 4.0
Microsoft Windows Me
Microsoft Windows 98
Microsoft Windows 95
Microsoft Windows 3.1
Microsoft DOS
SUN SPARC Solaris
SunOS
BSD
Apple Mac OSX
OS9
OS7
Silicon Graphics IRIX
IBM RS/6000 AIX
HP HP/UX
DEC Alpha Linux
DEC ULTRIX
Symbian Series 60
UIQ
Apple Newton Newton OS
Psion 5 EPOC
Palm PalmOS

For completeness, I have listed the various hardware I used at an earlier stage, back when the home computer boom was taking off. This is here mainly for historical record, and I have tried to include details such as the CPU for the various PCs where I can remember.


Table 2: Hardware and Operating Systems Experience (1970's and 1980's)
Hardware CPU CPU Speed Memory Storage Operating System
Commodore Amiga 68000 7MHz 256K 3.5" Disks Amiga OS
Atari ST 68000 8MHz 512Kb-1Mb 3.5" Disks TOS
Sinclair QL 68008 7.5MHz 128K-640K Microdrives QDOS
Atari 400/800 6502 8K Cartridge
Sinclair ZX Spectrum Z80 3.5MHz 16K-48K Cassette Tape Sinclair BASIC
Sinclair ZX81 Z80 3.25MHz 1K-64K Cassette Tape Sinclair BASIC
Sinclair ZX80 Z80 3.25MHz 1K-16K Cassette Tape Sinclair BASIC
Oric 1 6502 1MHz 16K-48K Cassette Tape
BBC Micro 6502 2MHz 16K-32K Cassette Tape
Acorn Electron 6502 1MHz 32K Cassette Tape
Acorn Atom 6502 1MHz 2K-12K Cassette Tape
Commodore Pet 6502 1MHz 4K-96K Cassette Tape
Sharp MZ80B/K Z80 Cassette Tape
Research Machines RM-380Z Z80 Up to 256K 5 1/4" Floppy Disk CP/M
Commodore 64 6502 1MHz 64K Cassette Tape Commodore Basic
Commodore VIC-20 6502 1MHz 5K Cassette Tape Commodore Basic
Dragon 32/64 6809 0.89MHz 32K/64K Cassette Tape
Coleco Adam Z80 3.5MHz 64K Cassette Tape
Apple II 6502 1MHz 4K-48K 5 1/4" Floppy Disk Apple DOS
Texas Instruments TI/99 TMS9900 3MHz 256 bytes Cartridge



PERSONAL CODING BACKGROUND

The late 1970's - early 1980's

Having cut my teeth back in the good old days of the RM-380Z, Commodore Pet, ZX81, ZX Spectrum, BBC Micro and the Commodore 64, I moved on first to a Coleco Adam (A strange machine running a derivative of Apple Basic on a Z-80 CPU), and then to writing some basic assembler for the 68K series of CPUs (well, actually, the 68008 CPU in the Sinclair QL, but the less said about that, the better !).

Back in the early 1980's, I remember my 'O'-level computer project was a Physics simulation; first I wrote it for the actual project on a ZX Spectrum, then re-wrote it afterwards for my Sinclair QL - why I did this, I don't know. Probably intellectual challenge or something. I also learned some bizarre semi-assembly language called CESIL, the programs for which, used to be sent off to be batch processed, and a week later you'd get your line printer output - if it worked.


The mid-late 1980's

I didn't get to use Apple Macs or IBM PCs until 1987, when I went off to do my first degree, but from then on, I was lost to the world. My experience of UNIX grew from there, and at that point my hair started to grow, and a beard started to form. These disappeared when I was assimilated into the corporate world, but I haven't lost all vestiges of this time.... I could still code in assembly language if I put my mind to it!


The Skip Salvaged PC

My first personally owned IBM PC was actually made from bits of hardware salvaged from skips. I couldn't afford a new computer at the time, so with a technical background, I figured I would build my own from bits of computer hardware thrown out in skips. The resulting PC was an amalgamation of all sorts of bits of hardware, but it worked.


Finding the Net in the late 1980's

I still find it hard to fathom that although I was introduced to online bulletin boards back in 1983, and email in 1988, I was initially, not that bothered by it until about 1992, back then, I just used to send occasional emails - mainly because the complexities of using JANET made it too time consuming when I had other interests to divert my attention.

Back in the early days of the web (1993), I used to sit at my screen and marvel at the wonder that was Mosaic. Netscape was still to be unleashed on the world, and there I was writing simple text based web pages (No real change then, eh ?). Then, from out of nowhere, Netscape arrived and my life was changed.


My accumulation of UNIX and Linux hardware.

Although I came to the internet party earlier, I came to the Linux party rather later. First using it commercially in 1996, having only read of it through Yggdrasil and such like previously. I didn't start using Linux for personal use at home until 1998 - for the simple reasons that I just hadn't had time to devote to Linux, when I was busy trying to build a rocket capable of going into space, and having a couple of SUN Workstations at home meant I was already immersed in all things UNIX related anyway. I then decided that maybe it would be a good idea to actually put a Linux computer on the rocket - it makes development of flight software much faster, and offers an enormous amount of horsepower compared with microcontrollers. Thus my involvement in Linux started.


The 1990's.

By the mid 1990's, I had already accumulated years of experience of BASIC, Z80A and 68000 Assembler, and had moved into programming in C and C++. Then I was asked to write a GUI for an application at my workplace, and used TCL/Tk and some c-shell to interface to an Oracle database, with everything running on SUN Workstations. After completing this, I discovered PERL, which I then re-wrote the application in with a web front end to interface to the Oracle database, and at a similar time, along came a embryonic new operating system called Java, and at the time, I immersed myself in all things to do with the Java AWT at the time.

By the late 1990's, with the web taking off, I moved heavily into scripting languages; PERL, JavaScript, and the fledgling ASP, as well as Markup Languages; HTML and VRML, and even some UML thrown in. Database wise, it was mainly MySQL, Sql Server and Oracle that I used.


The 2000's.

PERL, PHP, XHTML, SQL, JavaScript and CSS became my staple diet, with UML added to the mix, and subsequently, Wireframes and sitemaps, and the addition of AJAX on the programming side, and over time, I moved more and more into Technical Architecture and Solutions Architecture, where I have been able to use my wide range of knowledge quite effectively.