My programming background

I thought I’d just describe for you briefly what my background is with computers … and then if you imagine this in top of my spinal / musculoskeletal and other personal issues, perhaps you’ll understand why I’m simultaneously capable of such a large and complex vision, yet so slow in getting the work done.

I first got involved with computers back in the 1980s, when various friends had other early home computers & gaming systems, like the early Atari, Amstrad, Amiga, Apple II, Apple III, ZX81, Commodore64, and various others.

At this stage, a lot of what we did was very early pirating of games, where one person would buy a game, and the rest of us would copy it from them. But there wasn’t much instruction on programming these systems outside the manuals that came with them, and they also didn’t have hard drives … so you’d often find yourself running out of memory (RAM) in the middle of coding, and what you were doing was often too big to fit onto an old 4,1/4 inch floppy disc … so you’d lose all your work, and wonder what the point of it all was beyond playing games.

This of course was mostly in early versions of DOS. We’d get magazines sent from the USA (because you couldn’t find anything locally), and follow the instructions in articles … and I don’t know if anyone else had the same experience, but my dad would lock the machine away during the day to stop us playing on it for hours on end.

The other thing I would do in the process of playing games, was identify loopholes in the software code, which allowed me to exploit some advantage in the game, and in most games I’d figured out how to clock the high scores several times either by skill, a logic-loophole cheat, or get the various other statistics of the game to be so high, the computer could not display the numbers without using exponential notation (0.123 +E99 for example).

Our high schools eventually got some old computers, we’d learn a bit about them, and then the early Tele-text services came out … so we saw a big part of the early days of what was available to the general public in a medium sized (at the time) Australian town like Ballarat, with respect to the birth of the Internet.

Then in 89/90 I moved to Melbourne and studied a Diploma of Commercial Computer Programming on IBM MVS mainframe computers, which included Assembler370, C, PL1, RPGIII, BASIC and COBOL, and while I did extremely well with almost perfect marks in all subjects (the standards were higher back then too), I never finished the final program design subject. My teacher in that course advised me that computer programming was “a dead-end career” … which may have been true at the time, but it was certainly very bad and uninsightful advice with respect to the evolution that took place next.

Anyway … I lost interest for a while, though I had brilliant ideas which weren’t yet technically possible (most of them 2-3 decades ahead of their time, and people still haven’t caught up with precisely what I envisaged even back then) … and I got a job in sales. Then after some years away from it, I started dating a girl who ran a desktop publishing business from home (she was a graphic artist), and so I got back into it again via her, learning to use Corel Draw 5 (I think it was at the time), and in fact solved a problem with their colour calibration wizard which even the developers hadn’t figured out, and contacted them to let them know how the work-around for the issue worked.

After various other jobs, and basically being poor and not getting where I wanted to get in life (which I still wasn’t sure about, I decided to go to university for the first time as a mature age student in my late 20s). By which time, earlier questions I’d started to ask about the meaning of life were starting to take shape, though I still wasn’t quite at the point of properly identifying what I was chasing.

I started out studying Politics (International Relations) and Law (Banking, Common & Contract Law), then for some bizarre reason decided that a double degree in engineering and computer science would be easier (I guess I just hated reading endless books and writing essays, but why I thought the double would mean less of anything I honestly can’t tell you .. I really don’t think I was thinking straight back then, having been through some rather intense emotional trauma).

So I switched to a general engineering / computer science double (at a different university), then back to the original university doing specifically electronic engineering & computer science. Along the way I studied parsing & tokenising using Lex & Yacc (?) on Linux to convert between 2 programming languages like Java and C++ … plus data structures, modelling techniques (including UML), chip level programming with VHDL (?), and loads of other related things in maths, physics and electronic circuit logic.

After about 8 years of study, I hadn’t completed a basic undergrad, I was 3.5 / 5 years through the double (despite a massive mathematics handicap I had to catch up with, having not even completed year 10 level maths or physics more than a decade before in 1986) … but despite my success, I’d run out of funding … so the then Prime Minister of Australia (John Howard) and Centrelink (Australia’s incompetently governed welfare agency) decided that: rather than pay for another 1.5 years to get a brilliant engineer & scientist (while Australia was crying out “we don’t have enough engineers, technicians & scientists”), it made more sense (apparently) to send me to a 10 day or 10 week course (I can’t remember, but it certainly felt like 10 weeks), which I can only assume was for the purpose of determining whether I (and the various other attendees) were retarded … as on day one of the course (I kid you not – this is no exaggeration), we were presented with a written paragraph that said something like:

Soap is for washing your hands. To use soap, turn on the tap, rub the soap between your hands to make it lather, wash your hands, and put the soap down. Now rinse your hands, turn off the tap, and dry your hands.

Question 1: what is soap for?

Now … I don’t know about you … but to me, the very fact I’d already spelled my name correctly when applying for Centrelink benefits, should have alone told them such a test was redundant. This also makes me wonder why so many people seem to think John Howard was a good prime minister, but I suspect that’s because they’re equally conservative and moronic arseholes like he was … I personally will never have any respect for the man, and he only has himself to blame for that.

Anyway … I digress, back to the story.

Since that time, I have been to various TAFE (technical / trades) courses, privately run courses, work sponsored technical courses, plus (of course) spent considerable amounts of my own time pursuing things that interest me … BUT … and this is the bit that might make you think “ahhhhhh … now I get it” – I never actually worked in the field of computer programming. So conceptually and architecturally I’m brilliant at identifying what needs to be done, but I’m very slow (gradually getting faster now that I’m actually doing it again) in figuring out how to implement things (ie – write the code).

So I’m slowly getting less rusty, blowing the cobwebs off the coding skills, and catching up with several years of developments … but I’m doing the preliminary work in Java, simply because I’m familiar with it, and it makes the whole thing easy … once the basic design is working & tested, it’s easy enough to convert things into other languages anyway. A big part of what I’m doing is simply to demonstrate the whole thing to others, and so a more experienced coding team may very well redesign much of what I’ve done, and make all sorts of different choices (all of which I’m fine with).

So at the moment, I’m working off an old Alienware laptop with a dead main GPU (and flawed Intel Cougarpoint / Sandybridge chipset, which has given me grief since the day I got it) … I’m not sure how much life is left in it, but I don’t think it’s worth fixing, so I’m going to replace it with something better, and likely convert it to a dual boot entertainment machine, file server, and VM hypervisor. However to do so, I have to get a lot more support.

Leave a Reply