Saturday, July 30, 2011

My Passion for Programming

My first computer was the mighty Amiga. At that time the IBM compatibles were markedly inferior (and still are in some respects). In those days I was working as a part-time cleaner and I had plenty of time to teach myself programming.

I bought the Amiga 500 in the afternoon, and by early evening I had assembled it. The computer came with two 3.5 inch disks, one called 'Workbench' and the other called 'Extras'. On the Extras disk I discovered a program called AmigaBasic. That very night I wrote my first AmigaBasic program using just 3 commands: PRINT, GOTO and STOP. The program was a text adventure game The text was divided into paragraphs. Each paragraph started with a description followed by numbered choices for the player. This was done with PRINT statements, followed by a STOP command. The player would select which paragraph he would progress to by entering GOTO 22 (or whatever the paragraph number was.) in the Immediate window.

My text adventure was inspired by 'Colossal Cave' which I had played years earlier on a mainframe and 'Mystery House' which I had played on a friend's Apple IIe. Colossal Cave was one of the earliest well-known text adventure games. The Colossal Caves are real caves in the USA, and many of the rooms in the game are named after real caves. Mystery House used text input and output, but additionally had vector line drawings. Drawings were very crude, for example crosses were used to represent eyes. Both games can be found on the net. An Apple IIe emulator is need to play Mystery House.

Within a week I had bought some blank disks, learned how to format them and copy files from one disk to another. Copying AmigaBasic to a disk allowed one to create programs.

The AmigaBasic manual was, as one Amiga user put it, about as useful to a novice programmer as someone put it as 'tits are to a bull.' I perservered with it though, and within just 2 weeks created what Tim Strachan, editor of Megadisk described as a 'fully fledged shareware program' and the program 'Chess Tutor' was accepted as part of the vaunted Fred Fish public domain collection. A few months later I purchased a Basic compiler.

Over the next 12 months or so, I released dozens of programs as shareware, I joined the local Amiga Users group, read most of the available books on the Amiga, and read the digital articles in the Megadisk magazines. Later I joined the Melbourne Amiga Users Bulletin board which was a kind of pre-Internet Internet. I became familiar with AmigaDos which I later found was very like Unix.

Two of my PD games were reviewed in the glossy 'Amiga Format' magazine and one of my games received a PD game of the month award.

Some of my programs were written at high speed, one game I wrote in 8 hours and I once wrote 2 programs in one evening (though they needed some polish). A card playing program 'Solo Whist' was written in 3 sittings. Solo Whist is a card game which is something like 500 or bridge.

Amigabasic had major limitations, even when compiled and when Amos Basic arrived it was a dream come true. Amos included a lot of support for graphics, sound and animation that AmigaBasic did not. Unfortunately, early versions were full of bugs as was the first version of Blitz Basic, a rival program. Both programs later released improved versions with Blitz Basic being the best. BB later became available on the PC and included a lot of support for 3-D programming.

Nonetheless over the next 4 years I created quite a few games and educational programs written in Amos, a few of which were released as LicenceWare in the UK and received a couple of grand for. One of my programs was the very first program in the catalogue.
I sold a number of my chess educational software (about 5 programs) privately.

The Backwards Step to the IBM Compatibles
In 1992 I purchased my first IBM compatible and studied the C++ language. I ported about 6 of my chess programs across and converted them to Visual Basic for Dos. In hindsight it would have been better to rewrite them in C++.

I taught myself Windows programming in C++ at a time that it was likely only a few people in Melbourne could do it. I was offered a programming job in a computer games company.

With a relative (who is now frequently in charge of move animation) doing the graphics, I worked on game 'Wizards of Nadroj' (written in C++) which at the time was quite sophisticated. We had a publisher, but unfortunately graphics development was very slow and the game was never published.

I have a large number of Computer books, most of them related to Windows programming.

My early experience with VB for DOS helped me become a tutor both in 'Introduction to Programming' and 3 different 'Visual Basic' courses at the CAE (Council of Adult Education, later to become Centre of Adult Education).

In the 1990s I developed a chess engine and used it to compete in various chess engine tourneys, including the Australian Computer Championship in which it once finished third. It was a highly experimental program, and large sections of it were rewritten many times. It has 100,000+ lines of code.

I have written a programming language 'Easy C' in C++ something like early versions of 'Blitz Basic' , simply because it was something I always wanted to do.

If I wish to become familiar in a language new to me, one approach I have used is to translate an existing program into the new language. For example, I translated my chess engine into Java. Easy C was originally written in Visual Basic 5. I translated it into Visual Basic.Net, a much greater task than translating C++ into Java. Visual Basic.Net proved to be woefully inadequately so I translated it into C++ which proved much better for animation. I would consider translating programs one of my strengths.

I have developed my own websites since 1997, but have not attempted to do anything flashy with them.

Other programs I have experimented with include:

A Sudoku solving program which I wrote in just under one hour.
A scrabble playing program using a possibly original algorithimn to find the highest scoring play from a dictionary of 150,000 words.
A crossword generating program.
A program which teaches Visual Basic.
A chess teaching program which had hundreds of thousands of downloads.
A program which translates source from one language to another.

Commercial Experience
In 1997 I worked at KeyPoint Insurance Systems as a C programmer in a Unix environment. Unfortunately they didn't have enough to do and became redundant.

I converted a Pascal program to Visual Program. This program processed the results of Triathlon sporting events.

I worked for 14 months for a company on a Flight planning program for light aircraft, a large Accounting program and a number of smaller projects.

I also did some C++ work for a commercial Typing Tutor program.

In 2004 I did some Excel and VBA work for the Bureau of Meterology, which involved a database of thousands of spare parts.

I have run hundreds of computer courses at the CAE over a period of 10 years. Most courses involved programming languages including Qbasic, Visual Basic, C++, Java, VBA, VBScript. Other courses included DOS, HTML, XML. Earlier courses included Introduction to the Internet and email courses.

Reent Years
In recent years I have studied the Dark GDK (based on Dark Basic) and used it with Visual C++ to write several games. The Dark GDK allows very high level programming, so coding with it is more like using Amos Basic or Blitz Basic

I have studied different new languages to various degrees such as PHP, Python, C# etc.

I have done a little editing on Wikipedia, including some work on the C++ pages.


Saturday, April 16, 2011

THE SUBTLE ART OF DOLE BASHING

Politicians love dole bashing. They perceive it as a way of winning votes. Its also a diversion from attention from the huge amount of money given to politicians and that their superannuation is so lucrative.

Dole bashing is a way for some people to feel superior to others and helps people who don't enjoy their work to feel better. Vindictive people can use dole bashing to vent some of their anger. Politicians need the votes of these people.

Here are some important strategies in the art, especially for politicians and journalists.

Use lots of insulting terms: bludger, workshy, idle, cheats etc. Comments such as the unemployed can starve or drop in the gutter, or are too stupid to get a job are quite appropriate, as is a car bumper sticker that says don't pay taxes to support bludgers or something similar.

Imply that unemployed are a sub-class, different from everyone else.

Play the blame game. Its important to emphasize that if a person is unemployed, it is 100% their fault. Nobody else has anything to do with it. Imply that there the same number of job vacancies as unemployed, at all times and in all places. All unemployed could find a job tomorrow if they really wanted to.

Point out all unemployed have weak numeracy and literacy skills. Imply that being functionally illiterate is their main impediment to getting work. Imply they if they raise their level to about Grade 6 they could easily get a job. Do not say some unemployed people are highly skilled or highly educated.

Do say reducing or cutting the dole will force people to work, implying that jobs will magically appear if that happens.

Say there is a skills shortage. Don't say what the skill shortages are. Blame the unemployed for not being able to predict what areas the skill shortages will occur in and hence being trained in those areas before the shortages occur.

Get someone to say their company has many unfilled positions and cannot find anyone to do the work. Don't say what the work actually is and don't check the validity of the claims.

Do blame the unemployed for all the economic woes of the country. Do not say that removal of tariffs, the fact they almost everything is manufactured overseas, economies of other countries, drought and natural disasters, any government policies in any shape or form or anything else could possibly have anything to with the employment rate. Do not say the amount of part-time work has greatly increased in the past few decades. Don't mention the Great Depression in which one third of the workforce was out of work.

Do not say that there is any possibility that any employer or company benefits in any way from having a pool of unemployed, such as this is likely to impact negatively on wages or the job market is an employer's market enabling employers to be highly selective. Do not say that an entire industry has been built around the unemployed.

Imply being unemployed is an idyllic life of luxury. Don't say the dole barely covers food, rent and transport. Don't mention the possible negative impact on families. Don't give the statistic that with every increase of unemployment by 1%, there is an increase in psychiatric admissions by 3%.

Imply that a huge proportion of taxpayers money is spent on supporting bludgers. Do not say that much of welfare is spent on the age pension, single mothers, disabled etc. Do not mention the huge amount of welfare spent on the middle and upper class in the form of child endowment. Don't give the actual money of tax dollars spent per week for a typical taxpayer.

Say the money is wasted and imply it simply vanishes. Do not say money on welfare is quickly spent and goes to landlords, supermarkets, public transport etc. and goes straight back into the economy. Do not say tax cuts to the wealthy is more likely to lead to money to stagnating in bank accounts, shares, going overseas etc. Do not say taxpayers money is wasted in other any way that could be cut, such as politician's superannuation, new parliament houses, consultant's fees, lawyer's fees, psychiatrists etc. etc.

If you produce a current affairs show on unemployment, speak to many unemployed, but carefully select the most stupid person to actually appear on the show. Find a criminal who is defrauding the system by collecting several doles at once. Imply such people are very common and that they cost the taxpayer much much more than tax cheats including Bond, Skase and Kerry Packer. Don't interview anyone who says that finding work is difficult. Design the story so that only one conclusion is possible.

So give a dole bludger a hard time today.

Tuesday, August 24, 2010

Conformists and Nonconformfists

According to a 'Mad Magazine' 60% of us clods are conformists. That is he like the security of the herd and feel safe doing what everyone else seems to be doing. Then another 39% of us are ordinary nonconformists. That is they don't follow the majority, but do follow reach other. They are still playing the game of conformity. Then 1% of the population are Mad nonconformists. They truly don't care what other people think.

I think there is something in this. Doing what lots of other people seem to be doing appears to be sensible..

Change

Once upon I time I read an interesting book called 'An Index of possibilities'.


 On one page it simply asked the question
: WHO?


 This was followed by another question:


 WHO ARE YOU?
 Not so simple to answer to answer if it means more than your name.


The next question was

 WHO ARE YOU TO THINK?

How dare anyone think differently from the mob.


 Then
 WHO ARE YOU TO THINK THAT YOU COULD CHANGE?

How dare you change?

 And finally

WHO ARE YOU TO THINK THAT YOU COULD CHANGE THE WORLD?