Thursday, December 14, 2006

M301: Result

The results for M301 were released today and I got a grade 2 (76%). I have very mixed feelings about the result especially in relation to my assignment scores and the amount of time I put into revising. Although looking back I now think that perhaps I was a bit too complacent about how hard “part c question 4” would be and should have spent more time on revising for this question.

I am now not happy with the revision technique that I used for the M301 exam and feel that it needs refining, or looking for an alternative that is more suitable to me.

Tuesday, December 05, 2006

M301: Awaiting exam result

According to my OU StudentHome page for M301 my "course result should be available by Friday 15 December 2006". 10 more days and counting.

Thursday, November 30, 2006

M263: An Update

  1. Attended a tutorial at Waterloo last night. Started off slow but got better as the evening went along, and picked up a couple of useful pointers such as a clear distinction between functions and methods.
  2. Submitted TMA01 this morning.
  3. Having completed questions 1, 2, and 3, I have just started question 4 of TMA02.
  4. Started unit 7 "The Class Set".

Thursday, November 23, 2006

M263: Annoyed!!!

I am so annoyed with myself. For sometime I have been bemused by references within the M263 course text to “Practical Computing sessions” and not being able to find them. I searched through all the doc’s and pdf’s but with no luck until today when I discovered that the “Practical Computing sessions” are html based and installed when you install WorkPad. The installation places the home page (M263_Index.html) in the sub-directory …\workPad\ComputerPracticals and a shortcut to it in the M263 program group (off of the Start menu).

This is doubly annoying because at the study group on Saturday a question was raised (TMA01 Q4Cii) concerning whether a particular function was valid or not. The “Practical Computing sessions 1.3” answers this question.

Wednesday, November 22, 2006

M301: Hope?

Several students who took M301 at the same time as me have received letters saying that their exam papers have been lost. Apparently the letter states that the OU “will determine a result for you in a different manner to the normal one, based on the available continuous assessment scores and other assessment evidence for the course.”. Now taking in to consideration that I did very well with the TMA’s and don’t believe I did so well with the exam I am hoping that my exam paper has been lost as well. ;)

Monday, November 20, 2006

Wireless hijacking

Peter Stevens was having problems with neighbours hijacking his wireless Internet access. So he came up with a plan to stop them. He turned their world upside down and made it blurred. Brilliant!

M263: On Schedule

My study plan for M263 is so far working to plan (see M263: A new way of studying?). Today I am starting unit 5 “The Class Turtle” so I am certainly on schedule. The only delay I am experiencing is creating concept maps based upon my notes.

Although I have completed TMA01 I am not going to submit it until after 29.Nov as there is an evening tutorial on this day. This is just in case I have made any silly mistakes with the TMA that might be highlighted during the tutorial.

On Saturday (18.Nov) we had a study (self-help) group and this was very successful. Everyone agreed that it was most helpful and the next one is planned for a week or two before TMA02’s cut-off date (05.Feb.07).

Tuesday, November 07, 2006


To day I had lunch with Eddie Jordan.

Well to tell the truth I shared a table with him. I was meeting a friend who is on the same OU courses as me, and got to the CafĂ© earlier than planned. So whilst waiting for my friend, Eddie Jordan comes along and asks if any of the other places are taken. I couldn’t say no could I? After all he was kind enough to let me take a photograph.

M253: A few thoughts

I am starting to realise that there is some structure to this course. Initially it has appeared that tutor’s just there for resolving issues and disputes; the ‘Course Guide’ is not essential and can be put to one side; and that the ‘Course Resource Sheets' do not play a major role, especially as the TMA’s say things such as “you might find it particularly useful to refer to the Resource Sheets entitled…” and “You might find it useful to refer to the Resource Sheets…”. Everything gives the appearance of revolving around the TMA’s and their associated activities, with the team pretty much left to their own devices.

Thinking about the course this morning whilst on my way to work I have come to the conclusion that both the ‘Course Guide’ and the ‘Course Resource Sheets’ are important and that both should be read and not skipped over. Why? Because they provide far more information than I realised and actually do add some structure to the course as a whole.

I am starting to wonder if I am the only one who has gone along this route or whether any other students have initially dismissed the ‘Course Guide’ and ‘Course Resource Sheets’ only to realise later on how vital they are to their success in doing the course.

Friday, November 03, 2006

M263: A new way of studying?

During my studies with the OU I have as yet to find an ideal study method, with trying out a different technique for each of the course I have studied so far.

Therefore for M263 I am trying out something new. First of all I am reading each section and underlining keywords and passages, then using this information I am creating a mind map (on paper), and finally constructing a concept map using IHMC’s CmapTools.

ref: CmapTools

My reason for doing my studying for this course in this way is in the hope of:
  1. help in re-enforcing the information I am taking in;
  2. being able to retain the information longer;
  3. have a good set of notes that make revision easier.
As an example below is my concept map for section 2.4 – Sets. Click on the image to see a larger version.

Thursday, November 02, 2006

M253: TMA 01

TMA 01 is now available and consists of answering 3 questions in relationship to doing 5 activities over the next 5 weeks. Some of the activities are team activities, as opposed to individual activities, and questions 1 and 2 reflect this.

M263: Tutorials

My alloted tutorials are in Croydon which for me means a 3 hour round trip to attend them. Will the first tutorial is on the 18th November and it is only 3 hours long, in fact a majority of the tutorials are 3 hours in length, with a couple of 5 hour sessions. Therefore I have decided not to attend them (although I might attend the 5 hour sessions).

As a compromise I find that there are evening tutorials being held at the Waterloo Centre in London. This is more convenient for me as I work in London. So I attended the first one last night. There were approx 12 students and 2 tutors, and the tutorial revolved around a general discussion about the course and answering some questions in relation to unit 2. Although I didn't learn anything new and it was of no assistance for TMA 01, it was enjoyable and I plan to attend the other tutorials.

Tuesday, October 31, 2006

M263 & M253: The story so far...

Well I am know 4 weeks into both M263 and M253, and surprised that I have managed to keep up to date, seeing as everything was put on hold whilst revising for the M301 exam.

My objective for M263 is to get as far ahead as possible so that my work load is reduced for when I start M359 in Feb 2007. To achieve this I am hoping to be able to do a unit a week, which means I should have got up to unit 14 (out of 16) by the time M359 starts. For M253 I have to keep to the course time schedule as the course is all about working as a team and therefore have to take into consideration the speed at which the other team members are working to.

I am so far enjoying both courses, with studying M263 in the morning on the way to work and at lunch time, whilst studying M253 on the way home in the evening (FirstClass Personal is a god send for this).

Tuesday, October 17, 2006

M301: Finished!!!

With a huge sigh of relief, that is M301 finished after taking the exam yesterday. The exam itself was not too difficult and I answered questions 1, 2 and 4. The hard part was trying to remember specific aspects of the course text in amongst the myriad of information that we had to learn. For example one question asked us to list the 5 characteristics of a certain feature, and could I remember them? NO!!! Eventually I managed to dig up from the depths 2, possibly 3 of the characteristics, but know I have lost points on the particular question. I really do hate those sorts of questions and if I hadn’t learnt verbatim the definition of some of the keywords I would have lost at least another 4 points. In my opinion those types of questions do not you’re your understanding of the course as a whole, it is all most like having to learn the highway code before a driving test and then forgetting about it immediately after the test.

My aim has always been a grade 1 but I am now lowering my expectations and hoping for a grade 2. Will have to wait until Decemeber to find out what I actually end up with.

Wednesday, October 04, 2006

OU: Silence

The reason for my recent lack of blog entries is due to the fact that I am intensely revising for the forthcoming M301 exam on the 16th Oct. Even though I have received the course materials for my next 2 courses, M253 and M263, I have not yet taken a look at them.

If anyone is interested, below is my M301 Exam Strategy and Revision Plan:

Exam Strategy
  • I feel reasonably confident with Java having just recently finished M254 “Java Everywhere”.
  • The same applies with UML having done M206 “Computing: An Object-Oriented Approach” last year.
  • Therefore aiming for high marks from questions 1 and 4, as these are my stronger areas.
  • Weak on blocks 2 and 3, but more comfortable with block 2. Therefore will look at doing question 2, even though some of block 3 might overlap into question 2.
Revision Plan - Overview
Week 1 (11.Sept – 17.Sept)
  • Review TMA’s and past exam papers, identifying common areas.
Week 2 (18.Sept – 24.Sept)
  • Revise Block 1 “Introduction to Java”. One section per day.
  • Each day of the week attempt one of question 1 from a past paper (i.e. Monday, Q1 from 2001 paper, Tuesday Q1 from 2002 paper, and so on).
Week 3 & 4 (25.Sept – 08.Oct)
  • Revise Block 2 “Concurrency 1” and bits of Block 3 “Concurrency 2”. One section per day.
  • Each day of the week attempt one of question 2 from a past paper.
Week 5 (09.Oct – 15.Oct)
  • Revise Block 4 “Basic Object-orientated Software Development with UML”. One section per day.
  • Each day of the week attempt one of question 4 from a past paper.

Thursday, September 14, 2006

Happy Birthday Hard Drive

In September 1956 IBM shipped the 305 RAMAC, the first computer with a hard disk drive (HDD). The HDD weighed over a ton and stored 5MB of data.
[ref: BBC]

Monday, September 11, 2006

M500 Revision Weekend

Got back from the M500 weekend at about 9:30 last night due to the traffic on the M40 being horrendous. That aside the weekend was very good (well presented, informative, educational and fun). Richard Walker was our tutor and there where 26 in the group. Each tutorial covered a block from M301 and was broken down into two sections. The first section was to get us thinking about the relevant block, by answering questions that Richard had devised, and the second section was trying to answer questions from past papers. Rather than work as individuals we worked in small groups, and this very much helped. But it was not all work and no play. Friday evening a group of us went to the Blue Mango curry house (really recommend it) in Broadstreet. Walking down Broadstreet was a real eye opener; it was just like those police programs on TV were they have to control the drunks coming out of bars. Saturday night we went to the Sack of Potatoes, a pub on campus, and eventually crawled into bed at about 1:30 Sunday morning.

Would I recommend the M500 Revision weekend? Most certainly and if they include M359 next year then I well be going again.

Thursday, August 24, 2006

M500 Revision Weekend - Timetable

M301 Timetable

7.30 - 9.30
9.30 - 12.30
2.00 - 5.30
9.30 - 12.30
2.00 - 5.00
Part A of exam - Java Java completed
Part B of exam - Concurrency
Concurrency completed Part C of exam - Software development Putting it all together - Exam technique and mock exam

M301: TMA06 - Available

The sixth and final TMA, TMA06, is now available. Downloaded it yesterday and have virtually completed Q1 already. It certainly looks more fun than the previous two TMA's.

M301: TMA 05 - Results

Results for TMA05 have been released and I got 95%. I am rather pleased with this as some of the questions for this particular TMA where awful.

Monday, August 21, 2006

M301: TMA05 - Submitted

Finally managed to submit TMA05 last night. I thought that TMA04 was painful but this one has proved even worse due to some of the questions not being clear on how they where supposed to be answered. Whoever wrote TMA05 must have a passion for cryptic crosswords, so lets hope that it isn't the same person devising TMA06.

Thursday, August 10, 2006

Americas Memory Problem!

SOME 30 per cent of Americans cannot say in what year the September 11, 2001 terrorist attacks against New York's World Trade Centre and the Pentagon in Washington took place, according to a poll published in the Washington Post newspaper.

Wednesday, August 09, 2006

M301: TMA05 Rant!!!

I am half way through TMA05 and am really hating it. In fact it is the worst TMA I have had to do so far during my time with the OU. The reason for this is that a number of questions are not clear in what they are asking and rather vague. Trying to understand these questions is proving a time consuming exercise.

Wednesday, August 02, 2006

M254: Exam Result & Final Grade

I have just found out that the exam results and final gradings for M254 have been published and I scored 75% in the exam, giving me a grade 2 for the course. Although to a certain degree this was the grade I was expecting I have mixed feelings about the result, especially as my average score for the TMA's was 99% (97, 100, 97, 100) .

Note to self: Must revise harder for next exam (M301)

Friday, July 28, 2006

Tuesday, July 25, 2006

and the Answer is...

For the question I posted on 12th, the answer is "A Sand Sculpture of Canary Wharf".

M500 Revision Weekend

I have enrolled on "The M500 Society 32nd Mathematics Revision Weekend" at Aston University, Birmingham. It runs from Friday 8th September to Sunday 10th September 2006, with the weekend designed to help with exam revision, and is open to all OU students.

They expect to present the following maths-based OU courses, subject to sufficient numbers:-

M208, M248, M255, M301, M336, M338, M343, M346, M358, M360, M361, M373, MA290, MS221, MS324, MST209, MT262, MT365 and T305.

ref: M500 Society

Thursday, July 20, 2006

M301: TMA 04 - Results

Yesterday I got the results back for TMA04. According to my tutor TMA04 has proved to be the most difficult TMA to date, and he complimented me on a job well done. I dropped several marks for omissions in a couple of my answers, and lost a mark on the Statechart Diagram for not following the supplied specification, in the question, explicitly. Although this is my lowest TMA score so far for M301, my TMA average is still over 97%.

Wednesday, July 19, 2006

Monday, July 17, 2006

M301: TMA04 - Submitted

Submitted TMA04 yesterday afternoon. This has been a rather difficult TMA as a lot of the questions were very judgemental in how they were answered.

Although I am enjoying the course, it is a very hard slog with lots of information to digest.

Friday, July 14, 2006

A Useful Mac?

I have never been a fan of Mac's, too restrictive if you ask me. But I have now found a great use for the MacBook. See here.

Thursday, July 13, 2006


Whilst exiting the train at Canary Wharf tube station this morning, I saw Chris Fairbank entering via the same door I was leaving through.

[picture from the BBC]

Wednesday, July 12, 2006

Competition Time

This is being constructed in Jubilee Place Mall at Canary Wharf. So what do you think its going to be?

Thursday, July 06, 2006


I spent the weekend at Donington watching the British round of MotoGP. Although Danny Pedrosa won quite comfortably, the hero of the day was Valentino Rossi, starting 12th on the grid with a fractured wrist and ankle he managed to power his way through to 2nd place, and is now only 35 points behind championship leader Nicky Hayden.

If anyone is interested in looking at the photo's I took click here.

Monday, June 26, 2006

OU: Studying under fire...

On Saturday I received my copy of Sesame “The news service reaching the Open University worldwide” and in it was an interesting article by an OU student Rochelle Jones about her husband, James, who apart from studying with the OU, is a British soldier currently serving in Iraq.

We all moan now and again about our studying and the course(s) we are currently doing, but after reading Rochelle’s article it put everything into perspective. To be able to study under such daily pressure, to me seems unimaginable, and my admiration goes out to James.

My hat also comes off to Rochelle for the pressure she must be under and yet managing to study for MA at the same time.

If your are interested in reading the article it is available at Sesame 230 on pages 24 & 25 (pdf page 13).

Thursday, June 22, 2006

M301: Up to date

Due to spending all my time on revising for the M254 exam I have spent the last week and a half concentrating on M301, and I am now back on schedule.

Once I have completed each unit of block 4 I am endeavouring to do the corresponding assignment question, but some of the questions are rather vague to say the least. Block 4 is all to do with systems analysis and design, and I’ am having to utilise a lot of the knowledge I gained from M206.

Wednesday, June 14, 2006

M301: TMA 03 - Results

The results for TMA03 are in, and am extremely pleased with mine. :)

M254: Exam

Yesterday I sat the exam for M254. It was 3 hours long, and comprised on 10 short questions (5 marks each) and 2 of 3 long questions (25 marks each). Although not extremely hard I was hard pressed for time, especially as I had difficulty in remembering the answers to 2 of the short questions.

Other students are saying that the exam appeared to be easier than the specimen paper or the previous one, and I do tend to agree with them. What I don’t understand though is that some students are saying that they finished with plenty of time to spare (i.e. 40 minutes), especially as my understanding is that exams are designed to be done in the time allotted.

Any way I now have to wait until August until the results are released. Should have passed, it is just a case of waiting to see what grade I finally end up with.

Friday, May 19, 2006

OU: Next Courses

This morning I booked my next set of courses...

M263 - Building Block of Software (start date 30.Sept.06)

M253 - Team Working in Distributed Environments (start date 07.Oct.06)

M359 - Relational Database: Theory and Practice (start date 03.Feb.07)

Tuesday, May 16, 2006

Friday, May 12, 2006

Swiss Army Gardening

Just what every gardener needs...

ref: techEBlog

Moving the Goal Posts Yet Again !!!

M301 TMA03 question 3 (iii) relates to the ‘dining philosophers problem’ and yet the course text says that practical activity 3.1 is optional and that Bacon section 17.5 should be omitted. Therefore my question for the M301 course teams is this…

Has the course team redefined the meaning of the word optional to now mean mandatory, thus meaning that we now have to do practical activity 3.1 and read Bacon section 17.5, or is question 3 (iii) optional as well and we will get full marks for the question irrespective of whether we answer the question or not?

Tuesday, May 09, 2006


A number of people are whining about TMA04 and how difficult it is, especially as the course is only worth 20 points. Perhaps they should take the following into consideration:

  1. The overall workload for the course has been very easy.
  2. This is a level 2 course not a level 1 course.
  3. The cut-off date for the TMA is the 18.May.06, but we have had access to the TMA since 22.Dec.05. Surely that’s plenty of time to complete the TMA.
  4. Everything that is needed for the TMA has been covered within the supplied course text.

For anyone still experiencing problems re-read Unit 9, especially section 8.

Moving the Goal Posts

I know that this is World Cup year but why does the OU have to keep moving the ‘goal posts’.

I received an eMail yesterday from the South East regional centre basically saying that unless I planned to study M254 – Java Everywhere (last presentation starts Oct 2006) I will not be able to count M206 towards the BSc (Hons) Computing that I am studying for.

Fortunately I am studying M254, as regular readers will be aware, yet if I wasn’t the OU would be potentially forcing me to take M254 otherwise I would have wasted 1 year, 60 points and the course fee.

I also predict that the October presentation of M254 will be heavily subscribed due to students who had not thought about taking this course but all of a sudden in a panic about loosing their M206 points.

Thursday, May 04, 2006

M301: Tutorial

For our tutor group the next tutorial is not until Saturday 01 July, which presents a problem, because we have to submit TMA03 (cut-off date 04 Jun) before then. With this in mind I went to another tutor groups tutorial last night and this proved most beneficial, as the tutor went over the TMA pointing out which sections (and / or SAQ's) of Bacon and the course text related to which questions.

Thursday, April 27, 2006

M301: TMA02 - Results

After the tutorial on Saturday I spent a couple of hours re-wording some of my answers, as I wasn't that I had explained some of the theories well enough. This re-wording was a couple of hours well spent as I got my results back for the TMA last night and was very pleased with the marks.

Friday, April 21, 2006

M301: TMA02 - Completed

After I along hard slog I have just finished TMA02. Want be submitting until the cut-off date on Sunday, as we have a tutorial on Saturday, and I want to see if I have made any potential mistakes.

Wednesday, April 19, 2006

M301: TMA03

TMA03 for M301 is now available. It comprises of 5 questions with each question worth 20 marks and correspond to an associated unit within block 3.

After initial scan through of the TMA it looks like questions 1 and 2 involve some Java coding.

Thursday, April 13, 2006


Read the questions carefully.

For example with M301 TMA02 the questions Q5.i.b, Q5.ii.b and Q5.iii.b, are different to the question Q2.iii.b, in how they are to be answered. Q2.ii.b requires a screen dump, whereas the Q5's require an extract of the output and an explanation. I nearly got caught out by just doing screen dumps for the Q5's, luckily I spotted my mistake this early.

Monday, April 10, 2006

One to try at home!

Came across the following video on BoingBoing, which then lead me to Steve Spangler's Science Experiment website. I am certainly going to have to give this a go, and will report back the results.

Friday, March 17, 2006

OOP Concept explained: Polymorphism (NSFW)

Warning: The linked article is NSFW and if you are easily offended do not follow the link.

If you do not fully understand the concept of polymorphism or interested in a different way of explaining it, then this article that I came across (excuse the pun) might help.

Thursday, March 16, 2006


If you want to see something really weird take a look at the trailer for a forth coming film called "Drawing Restraint 9" featuring Bjork. Apparently some people call it Art!
The core idea of Drawing Restraint 9 is the relationship between self-imposed resistance and creativity, a theme it symbolically tracks through the construction and transformation of a vast sculpture of liquid Vaseline, called “The Field”, which is molded, poured, bisected and reformed on the deck of the ship over the course of the film.

Wednesday, March 15, 2006

M301: TMA01 - Results

Got my results back for TMA01. Dropped a couple of marks for...
  1. Not going into enough detail about "Composition".
  2. Forgetting to check that the passed argument was of the correct type for my equals method.

Monday, March 13, 2006

M301: TMA02

TMA02 for M301 is now available. It comprises of 5 questions with each question worth 20 marks and corresponding to an associated unit within block 2.

Q1 (6 sub-questions) - U2.1 "Describing Concurrent Systems"
Q2 (6 sub-questions) - U2.2 "Processes"
Q3 (5 sub-questions) - U2.3 "Distributed Systems and Management"
Q4 (6 sub-questions) - U2.4 "IPC in Shared Memory: Low-Level Primitives"
Q5 (7 sub-questions) - U2.5 "IPC in Shared Memory: Classical Problems and Language Primitives"

Questions 2 and 5 involve some Java coding.


Had to go shopping on Saturday, much to my horror, but managed to pick up a couple of bargains.

Java Network Programming for £4.99 and Battlestar Galactica (2003): Complete Season 1: 4dvd: Box Set for £24.99

Friday, March 10, 2006

NetBeans Meets BlueJ

Read the whole story here. Ok, I know, this is a press release... :) So to explain what we are doing: we are building together with authors of BlueJ from the University of Kent a special version of NetBeans. It will support BlueJ projects and thus make it easier for people who use BlueJ to open their projects in NetBeans. This is quite easy to do because as you know everything in NetBeans is a module - thus we will choose a subset of NetBeans functionality (including Matisse) and add several features e.g. to show files in the project in the BlueJ way.

Why should you care? Well, BlueJ is great for learning Java - no surprise it is so widely popular on universities. Once you learn enough you become ready for a full-blown IDE such as NetBeans to work on bigger Java projects. Then the transition will be easy - you will be able to try the BlueJ edition of NetBeans on your BlueJ projects and start to learn all the advanced features (refactorings, CVS, etc.).
ref: Roumen's Weblog

Tuesday, March 07, 2006


John Draper aka Captain Crunch has launched a video project.
John Draper was an original member of the now famous "Homebrew Computer Club", but he first became infamous for learning how to penetrate phone networks to make free long distance calls.

Now he’s hacking away at it again, so to speak.

CrunchTV will tell you the latest security threats and provide helpful instructions in dealing with any security issue you may face. If you use a computer, CrunchTV is compulsory viewing.
ref: CrunchTV

Vint Cerf on the future of the web

The BBC has a short 2 1/2 min interview with Vint Cerf.
In an interview for the BBC, Vinton Cerf began by explaining how he thought the internet would develop.

The BBC also has a text based interview.

Monday, March 06, 2006

Friday, March 03, 2006

Professor assigns hacking homework to students

Now this is the sort of assignment I wouldn't mind doing, wonder if the OU has anything similiar in the pipeline?
According to the SANS Institute a professor at an undisclosed university recently assigned a practical for his computer-security class.

The practical, which is worth 15 percent of the students final grade, requires students to perform reconnaissance on an internet server using open source security tools.

Monday, February 27, 2006

M254: TMA 03 - Results

Got my results back last night for TMA02. Although the overall mark was good, I am rather annoyed with myself as I forgot one part of a question and because of this I dropped 2 marks. Still hopeful I want make the same mistake again.

Monday, February 20, 2006

M301: TMA01 Q5(i)

Question 5 (i) of TMA01 asks us to construct a GUI front-end using the JBuilder GUI Designer. Now as I am not a fan of JBuilder and have been using BlueJ for all my Java coding, I thought I had better check with the course team as to whether it was mandatory to use the GUI Designer for this question. The answer that came back was yes we have to use the GUI Designer.

Now I am a bit disappointed with this as...

  1. I have already manually coded the GUI, and now have to redo the question.
  2. The GUI Designer generates unnecessary code for such a simple project.
  3. The course team implied, in an early FirstClass posting, that it was not a requirement to use JBuilder for our Java coding, and therefore I have been using BlueJ.
  4. With M254 TMA questions we have not been allowed to use any form of GUI Designer, and have had to code any required GUI's manually.

Friday, February 10, 2006

BlueJ ver 2.1.2

BlueJ ver 2.1.2 has just been released.
This version contains a number of minor bug fixes, including:

- a fix for a bug with display of parameter names and method
comments in call dialogues.
- a fix for a bug in specification of VM location in bluej.defs.
- a bug fix in extension API: compiler warnings are now
propagated to listeners.
- fixes to the parser.
Download from

M254: Self Help Group

Tonight we have a self help group at Canterbury Christ Church University, Room number NF03, From 07:00pm - 09:00pm.

M301: TMA00

Forgot to mention yesterday thatI got my results back for TMA00 on Wednesday night. Even though it was an easy TMA and will form part of TMA01, it is always satisfying to get a good mark.

Wednesday, February 08, 2006

M301: Constructors and Inheritance

Code to demo that a subclass invokes its superclass constructor without directly calling it.

Creating an instance of ChildClass
--- Running the ParentClass constructor ---
--- Running the ChildClass constructor ---
The instance variable from the ParentClass says "Hello from the ParentClass"
The instance variable from the ChildClass says "Hello from the ChildClass"

Source Code
public class ExtendTest
public static void main(String [] args)
System.out.println("Creating an instance of ChildClass");
ChildClass tempCC = new ChildClass();
System.out.println("The instance variable from the ParentClass says \"" + tempCC.pcString + "\"");
System.out.println("The instance variable from the ChildClass says \"" + tempCC.ccString + "\"");
} // End of class ExtendTest

public class ChildClass extends ParentClass
protected String ccString;

public ChildClass()
System.out.println("--- Running the ChildClass constructor ---");
ccString = "Hello from the ChildClass";
} // End of class ChildClass

public class ParentClass
protected String pcString;

public ParentClass()
System.out.println("--- Running the ParentClass constructor ---");
pcString = "Hello from the ParentClass";
} // End of class ParentClass

Tuesday, February 07, 2006

M301: Polyfrogism

Below is some code (based upon the Amphibian World of M206) I knocked to show a fellow student the concept of polymorpism within Java.

import java.util.StringTokenizer;

public abstract class Amphibian
static final int HOME_POSITION = 1; // Specifies the starting stone of an amphibian.
static final int NUM_OF_STONES = 1; // Specifies the number of stones an amphibain will move by.
static final String INITIAL_COLOUR = "Green"; // Specifies the default colour of an amphibian.

private String colour; // The colour of the amphibian.
private int position; // Represents the stone on which the amphibian is on.

public Amphibian(String colour, int position)
this.colour = colour;
this.position = position;

* @return the position of the amphibian, an integer.
public int getPosition()
return this.position;

* @return the colour of the amphibian, a String.
public String getColour()
return this.colour;

* Set the stone for the amphibian to stand on.
* @param position The position the amphibian is to be at.
* @return no answer.
void setPosition(int position)
this.position = position;

* Set the colour of the amphibian.
* @param colour The colour the amphibian is to be.
* @return no answer.
void setColour(String colour)
this.colour = colour;

* subclass responsibility.
* @return no answer.
public abstract void right();

* subclass responsibility.
* @return no answer.
public abstract void left();

* Set the colour of the amphibian to Brown.
* @return no answer.
public void brown()

* Set the colour of the amphibian to Green.
* @return no answer.
public void green()

* Set the colour of the amphibian to that of anAmphibian.
* @param anAmphibian The amphibian who's colour is to be used.
* @return no answer.
public void sameColourAs(Amphibian anAmphibian)

* @return the class name of the amphibian, a string.
public String className()
StringTokenizer element = new StringTokenizer(this.toString(),"@");
return element.nextToken();

* Textual representation of the amphibian.
* @return amphibians details.
public String inspect()
return ("An instance of class " + this.className() + "(position " +
this.getPosition() + ", colour " + this.getColour() + ")");

* subclass responsibility.
* @return no answer.
public abstract void home();

} // End of class Amphibian

public class Frog extends Amphibian
public Frog()

public Frog(String colour)
this(colour, HOME_POSITION);

public Frog(String colour, int position)
super(colour, position);

* Increase the position of the frog instance by the
* default number of stones.
* @return no answer.
public void right()
this.setPosition(this.getPosition() + NUM_OF_STONES);

* Decrease the position of the frog instance by the
* default number of stones.
* @return no answer.
public void left()
this.setPosition(this.getPosition() - NUM_OF_STONES);

* Move the frog instance to its home (start) position.
* @return no answer.
public void home()
} // End of class Frog

public class Toad extends Amphibian
static final int HOME_POSITION = 11;
static final int NUM_OF_STONES = 2;
static final String INITIAL_COLOUR = "Brown";

public Toad()

public Toad(String colour)
this(colour, HOME_POSITION);

public Toad(String colour, int position)
super(colour, position);

* Increase the position of the toad instance by the
* default number of stones.
* @return no answer.
public void right()
this.setPosition(this.getPosition() + NUM_OF_STONES);

* Decrease the position of the toad instance by the
* default number of stones.
* @return no answer.
public void left()
this.setPosition(this.getPosition() - NUM_OF_STONES);

* Move the toad instance to its home (start) position.
* @return no answer.
public void home()

} // End of class Toad

import java.util.*;

public class AmphibianWorld
public static void main(String [] args)
HashMap thePond = new HashMap(1);

thePond.put("kermit", new Frog()); // put kermit in the pond
thePond.put("toady", new Toad("red", 1)); // put a red toady in the pond on stone 1

Amphibian tempAmphib;

// lets see the pond
tempAmphib = (Amphibian) thePond.get("kermit");

tempAmphib = (Amphibian) thePond.get("toady");

System.out.println("move kermit right 3 stones");
tempAmphib = (Amphibian) thePond.get("kermit");

System.out.println("move toady right 6 stones");
tempAmphib = (Amphibian) thePond.get("toady");
tempAmphib.right(); // toady moves 2 stones at a time

System.out.println("now lets make both of them blue");
String name;
Set pondSet = thePond.keySet();
Iterator pondIt = pondSet.iterator();

while (pondIt.hasNext()){
name = (String);
tempAmphib = (Amphibian) thePond.get(name);
} // End of class AmphibianWorld

Wednesday, February 01, 2006

M301: TMA00

Just submitted TMA M301 00.

M301: TMA01

A new version of TMA01 has been released due to a number of issues with the supplied code files. Also there are 4 corrections to the actual TMA01 document. Just as well I haven't submitted TMA00 yet.

Monday, January 30, 2006

M254: TMA 04

Mostly completed question 4 (create a threaded version of the file transfer server) this morning whilst on my way to work. All I have to do is some testing. This now leaves me with just question 5 were I have to reflect upon my approach to designing the file transfer client and server.


M301 officially started on Saturday and I spent some of the day doing TMA 00. This TMA comprises of 1 question split into 15 parts, varying between 1 and 2 marks per part. The first 10 parts are to do with the M301 website, FirstClass, and supplied adhoc documentation. The remaining 5 parts are to do with unit 1.1 of the course text.

Thursday, January 26, 2006


Press release from the department of the bleeding obvious
Cutting down trees can hinder forest regeneration.
Oregon State University

ref: METRO

Tuesday, January 24, 2006

M254: TMA 04

I have finished the client side of question 2, both the CommandProcessor and the CommandLineClient, today. So question 2 is now complete. Think I will move onto the GUI client front-end next (question 1).

Monday, January 23, 2006

M254: TMA 04

Having finished TMA 03, I decided to make a start on TMA 04 over the weekend. The objective of this TMA is to construct a simple system for the transfer of text files between a client and server. I have completed the Server side, and am now half way through the CommandProcessor part of the client side.

My reason for doing the Server side first is that IMO it is the easiest to test, in that you can use Telnet (or something similiar such as PuTTY) to test whether the server side of the connection works properly and that it responds to commands correctly. I also add output messages to the code so that I can track what the server is receiving and how it is repsonding to these request. Using this approach has proved very successful as I have been able to test each part as it has been coded.

Thursday, January 19, 2006

M254: TMA 03

Have finished TMA03, so am now making a start on TMA04.


Press release from the department of the bleeding obvious
Men largely go online to explore solitary pursuits...
Pew Internet and American Life Project

ref: METRO

Friday, January 13, 2006

The WMF Backdoor

Security Now 22: The WMF Backdoor

Leo Laporte's picture

Flash: Steve Gibson has been working with the WMF vulnerability and is now convinced that this is an intentional backdoor into Windows added by Microsoft.

Main feed - courtesy AOL Radio

Microsoft has patched the WMF vulnerability in Windows 2000 and XP, but in his research for a fix for Windows 95/98/Me Steve has come up with a blockbuster. It is his considered opinion that the WMF vulnerability could not have been a mistake. It was an intentional backdoor inserted into Windows by Microsoft for reasons unknown. Listen for details.

Steve also hosts transcripts, show notes, and a 16kbps version of the show for the bandwidth impaired at

First Web Server

This NeXT workstation (a NeXTcube) was used by Tim Berners-Lee as the first Web server on the World Wide Web. Today, it is kept in Microcosm, the public museum at the Meyrin site of CERN, in the Canton of Geneva, Switzerland.

The document resting on the keyboard is a copy of "Information Management: A Proposal," which was Berners-Lee's original proposal for the World Wide Web.

The label on the cube itself has the following text: "This machine is a server. DO NOT POWER IT DOWN!!"

Just below the keyboard (not shown) is a label which reads: "At the end of the 80s, Tim Berners-Lee invented the World Wide Web using this Next computer as the first Web server."

Photographed on August 10, 2005, by user Coolcaesar.

ref: Wikipedia

Thursday, January 12, 2006

M254: TMA 03

Yesterday I finished all the coding related questions for the TMA, so now onto the questions requiring wordy answers.


Press release from the department of the bleeding obvious
Car make, age and fuel economy all affect how much vehicles pollute.
Journal of Transportation Research

ref: METRO

... so all I need to do now is win the lottery!!!

I'am a James Bond fanatic, both the books and films, and this is one of the reason why the Austin Martin DB5 is one of my ultimate dream cars. Well I have just discovered that the 1964 Austin Martin DB5, used in the Goldfinger and Thunderball films, is up for auction, with a reported price of £1.4m. So all I need to do now is win the lottery!!!

Monday, January 09, 2006


Just picked up Firefly (The Complete Series) from my local HMV for £17.99 instead of the usual £34.99. Now I know what I will be doing tonight.

M301: Website

The M301 student website has gone live. I will have to spend sometime exploring it as there appears to be a lot of information to digest.

Thursday, January 05, 2006


Press release from the department of the bleeding obvious
Wind farms are not a danger to migrating birds as they can just fly around them.
Environmental Research Institute in Ronde,

ref: METRO

Wednesday, January 04, 2006

I Could Be Rich ;)

I received the following eMail today, and it looks as though I could become very wealthy, to the sum of USD20.5m.

I hope this message finds you hale and healthy.I am Mr.Joseph Chau of Investment Banking,Union Bank Of China.On July 6, 2004,our client Mr.Irvin poot,a businessman,made a numbered fixed deposit for 6 (six) calendar months,with a value of US$20.5m only in my branch. Upon maturity several notice was sent to him and no response came from him. Another notification was sent early February and still no response came from him.

The Bank officially sent a two-man delegate to his residence in Malaysia were he resides only to find out that the business mogul and his family perished in the Tsunami disaster.After further investigations,it was also discovered that Mr.Irvin Poot did not declare any next of kin in his official papers,including the paper work of his bank deposit.So, Twenty million, Five Hundred Thousand United State Dollars is still lying in my bank and no one will ever come forward to claim it.According to the laws of my country, at the expiration of one year and eight months the funds will revert to the ownership of Hong Kong Government if nobody applies to claim the funds.

I will like you as a foreigner to stand as the next of kin to Mr.Irvin Poot to enable you receive the funds.Lets put heads together to claim and transfer these funds out of Hong Kong and use it judiciously.I have contacted an Attorney that will prepare the necessary documents that will back you up as the next of kin to Mr.Irvin Poot,all that is required from you at this stage is for you to provide me with your full names and Address including your direct phone and fax numbers for my Attorney to commence his job.Endeavour to get back to me via my confidential email. to enable us commence.

Compliments, Joseph Chau.