Introduction

Over time I have produced several different programs and gained experience in a number of different languages. These languages include C, Modula-2, Smalltalk, Haskell, Java JDK 1.2.2, Visual Basic 5 & 6, VBA and JavaScript. I am most competent in JavaScript and Java probably because I enjoy these the most and have used these more extensively than the others.

In this section I hope to show you a little bit about my ability in programming and the things I have learnt/created over the past few years.

Java

I used Java throughout the final year of my university course and I must say, I do enjoy it, and Java is very flexible, however, it does have a few flaws: I think the documentation is extensive, but it is not always easy to find what you are looking for, and when you do find it, the explanations are sometimes pretty complex and take a fair bit of understanding. It is also very slow, both in running and compiling (my machine doesn't exactly help though!). But Java does have its plus points, that is, it is very flexible and platform independent, and allows you to create applets.

While in my final year, I wrote a few programs. The first was for a module called Interactive Systems. The coursework was to produce a program that would monitor conditions of a zoo's enclosures. The zoo had sixteen enclosures and for each one, the temperature, oxygen and pressure needed to be monitored. The program had to graphically simulate changes in each of these conditions for each enclosure and fire an alarm whenever an upper or lower limit of a condition was breached. You would then need the ability to reset all values back to normal. Here is a mini screenshot of the finished product:

 

Nothing too difficult really, but I got an 'A' for it, so I suppose it can't be that bad. If you would like to see the program running, you'll need the JDK 1.2.2 virtual machine which can be downloaded from the Sun website. All other relevant files are in a zip file which can be

downloaded here

Use the RunUnitMonitor class file to run the program.


The other program I wrote was my final year project. This was a very important part of overall assessment for my university grade, so it took a fair bit of time. The project I came up with was to create a game in Java that would have two individual threads interacting with each other through user control. I decided to have two 'robots' in an arena that would bash into each other attempting to destroy the protective shields of the opponent. The amount of work that went into this was pretty hefty, and I could talk all day about what was involved with solve certain problems, but I won't. Lets just say, after creating something which is essentially quite simple in principle, I don't envy the real games programmers out there! Equation city! Anyway, this is a mini screenshot of the final game:

 

Got an 'A' for this one as well! It's not the best game in the World, but it was only really an experiment for me to see what it would take to create a game and to explore some of Java's functionality. If I was to write it again there would be a number of things I would do differently.

If you would like to see the program running, you'll need the JDK 1.2.2 virtual machine which can be downloaded from the Sun website. All other relevant files are in a zip file which can be

downloaded here

Use the RobotWars class file to run the game. A word of warning though, this game doesn't run that well on my machine which is a P166 running at 200Mhz with 48Mb RAM, so if your machine's spec is lower, it will run pretty slow.
 

JavaScript

I have been using JavaScript version 1.1 recently while working for both Liberate and Two Way TV as an applications or games programmer. Unfortunately I never actually produced a game of my own for Two Way TV, and was mainly involved in fixing bugs and enhancements to already existing games. I developed four applications in six months while working at Liberate, these were experimental in their functionality and proved very successful. These involved communication to servlets as well as exploring many of the key features of the Liberate platform to enhance televeision viewing. Unfortunately, I can't really place any of the code or screenshots of these applications on this site due to copyrighting laws etc.

After a while of working at both these companies, I began to realise that many of the features of JavaScript 1.1 were limited and I had to create scripts to enhance its capabilities. Some of these things were repeated from application to application, so I started to write reusable scripts to perform particular common functionality. These are not copyrighted, but aren't exactly special in comparison with the applications I wrote. However, if you wish to look at these, they are the following:

Filename

Description

 

Download

 

clock.js

This is an implementation of a clock. It has methods to set the format to display the time in, set the time, get the time, start the clock running, and another method to allow for a function call for every tick of the clock. Click here for a demonstration.

date.js

This is a single customisation of the JavaScript Date object. Basically it is one function that returns the amount of time between now and the end of the day.

debug.js

This is a simple function that provides a prioritisation of debugtext. By turning levels on or off, you can choose whether to view information, warnings or errors in the debugtext.

stopWatch.js

This is my implementation of a simple stop watch. It has methods to start, stop, reset and get the time of the stopWatch. I found this very useful for timing processes in applications, especially when testing optimisations.

string.js

This is a few customisations of the JavaScript String object. It has a function to replace the first occurrence of a substring with another. A function to replace all occurrences of a substring with another. A function to reverse a String, and the last function converts a String into an Array of characters.

 

Visual Basic

I used VB in my time spent working for Microsoft. Before then, I barely knew anything about it, but after working there for a while, I began to learn a lot more. VB in my opinion is much easier to use than Java. This may not be the case for all situations, but the IDE for VB is far better than anything I have encountered for Java. Java do have Forte which I know is good, but its written in Java itself and runs terribly slow. I don't really have that much to show about my VB knowledge really. The main things I wrote were small applications to perform certain tasks internally to Microsoft's consultancy sector. One thing I can think of that I wrote independently is a simple little application that generates a random insult. I'd seen one before and wanted to create my own version. Here's a screenshot of the finished program:
 
 

Another thing I wrote was an Internet chat program. I only had a small amount of spare time, so I didn't really get to explore many of the possibilities that I wanted to. There are two applications to this; one a client and the other a server on a different machine. All it does is allow the client application to connect to the server application. The users then have panels in which to write and receive messages. Both panels are updated as the users type, so there's no need to click a send button. It also allows users to change their font and colours, which are also updated at the other end. Here is a mini screenshot of the two applications:
 
 
 

VB programs tend to be a fair bit larger than Java ones, so I won't put the install sets up on the web, their not really worth it. However, if for some strange reason you do want any of these applications, send an email to ryanbearduk@yahoo.com and I'll see what I can do.
 

Visual Basic for Applications

I only ever really used this when working for Microsoft. A number of their key internal tools were written in VBA, and those I supported were written in Access VBA and Word VBA. The language is much the same as Visual Basic, but there is increased support for Office product automation. A small example of code I wrote was for Access to query a database, retrieve results and place them into a Word document template, the document would then be printed out. The scope for automation is huge, I only scratched the surface, but it gave me a good foundation to work with when learning pure VB.

As all my VBA work was internal to Microsoft, I can't really show any examples.
 

Other

All other programming has merely been a series of stepping stones to the point where I am now. C and Modula-2 provided the earliest experiences in programming for me. I have learnt some valuable lessons and I am now a lot clearer on the direction of my career. I won't display examples of older programming work as I simply do not have it in my possession, and what I do have really isn't worth showing!

Top ^

 

1