Craig Mattson (Personal Website)
Home - Blog, News, About MePrograms - C#.Net, Java, VB6MusicWebsites

My Blog

Woohoo! A New Wireless Router! (28/06/2009 10:04:45 AM)

It's been a pretty BIIIIIG week again with a lot happening. I am enjoying a very quiet Sunday so I can catch up on much needed rest / game playing etc... At the start of the week, the new iPhone OS 3.0 was released introducing features that most normal standard Mobile Phones have such as MMS and Internet Tethering. I can't exactly see why it's called 3.0 given the interface hasn't changed, menu's haven't changed much either... looks more like another Service Pack / Minor Revision to me! If Microsoft had the same approach, we would be up to Windows 21 by now (think of all those Windows 2000 Service Packs!).

Work Life

Anyway, in regards to work life - things are starting to make sense more rapidly (last week, I did say that I wasn't picking up things as well as I would have hoped for) - at least with the product I am currently working on. I've been able to fix some bugs with relative ease, and implement new functionality in regards to business rules with e-mail requirements (to which a build is apparently happening Monday for - so fingers crossed I didn't introduce any bugs!). I'm certainly enjoying the job more-so than last week. I'm hoping this again improves over the next couple of weeks.

Mobile Again!!!

Thursday night, I finally got myself a new battery for my laptop - after spending 2 weeks without one, it's great to be mobile again. Being able to do some work on the train, reading e-books, doing some work for some clients etc... it's great. And now with 3G Tethering, at least when I am in Pakenham onwards - the internet is quicker than my home broadband connection! I'd better watch the data ofcourse - I don't want a $4,000 bill just for one days use of the internet heheh... But the speed is good - and hopefully if I do move out (and it happens to be in Melbourne somewhere), I can pay for an extra 5GB and not worry about the landline! I'm still annoyed I can't break into iPhone development yet - this requirement to get myself a MacBook to do some Objective-C programming is really giving me the shits. If I knew I could make $30,000 or so out of an application - then sure, I'd splash out on a MacBook Pro straight away. But for the time being, my ThinkPad T60p is still well and truly overspec'd (It now has 8GB of RAM and soon to be running Piss64) with a great screen resolution that it's not going to be replaced any time soon!

Wireless Router!!!

Yes, I finally brought one - just some random D-Link run-of-the-mill router. So far, the internet has been live for 18 hours with no crashes, so I can re-retire my old Netgear 802.11b router + D-Link DSL302G Modem once again. This now leads to another important point - it's time to dismantle and smash up the Billion 7300G. Much akin to the video destroying my old Toshiba Satellite 200CDS, I need some suggestions as to what could be fun - whether it be a sparkle bomb, hooking a rocket up to it, drop testing it, the good-old car running over it trick (a truck or tractor maybe?), horse stomping on it........ It needs to be fun though.


I've been pretty quiet on the music front lately. I have a few remixes in progress - particularly for Wizards and Warriors and a few videos that have been requested for YouTube. So far, that list includes: Mega Man 3 - Protoman Theme, Air Fortress - Introduction Theme, Faxanadu - Overground Theme (again), Mega Man 3 - Dr. Wily Stages 3 / 4 and for some reason, some real music - Titanic - My Heart Will Go On and Forrest Gump - Main Theme.

They *are* recorded on my Video Camera already, and they will be posted on YouTube when I can be arsed getting them off the camera (truth be told, I can't find my Firewire card - and my battery leaked!!! Shows just how much I use it.). But anyway, once they are up - I'll post an alert here.

Wish List and Things To Do...

With some newly found freedom over the weekends, I've got to start putting them to good use. First and foremost is moving out. Again, I'm in 2 minds about whether I move into Melbourne, or just move into Warragul / Drouin. Pros and Cons to both. Warragul / Drouin being on the Train Line ~ $58.90 per week by Train, rent is approximately $150-$180 per week, I gain 3 hours each day to relax / work on client business. The second option is Some of the South Eastern / Eastern Suburbs of Melbourne. Rent is approximately $250-$300 per week, I lose 120 minutes each day on Public Transport (crowded / standing), but closer to work (particularly if I am driving or were to look at Box Hill).

The better financial and personal decision would be Drouin / Warragul (or even Longwarry - Nar Nar Goon), which gives me time to browse over the next year to purchase a house (wage is just under the right amount for a good home loan, and I want to ensure I have some sort of future where I am first before consuming myself in debt!).

The Wish List has already begun which includes an LCD TV, 2 x 24 " LCD's.

LAN Party - Coming Soon

1st to 2nd August at the DLC Venue guys!!! This time, the LAN will be run by Neon and his group of Admin. Great news for me - I will actually get some time playing games. It's $20 per person, and estimated to get 60 people registered. I know it's not over the school holidays, but it should still be fun - at least if you do the Saturday night, go home early Sunday Morning. I think the arrangements will be very similar for a DLC + GreenTubeLAN (i.e. midday to 10:00AM) - have to keep your eyes on the DLC website.

Um... that's about it. This has been a ramble. I'll try to make minor updates during the week, but if not - until next week.

- - Craig Mattson

[0 Comment(s)]

First week at work amongst other things... (21/06/2009 07:57:29 AM)

Ok... so it's Sunday morning, and I did promise an update on the weekend (so those of me through various IM clients who have been bugging me for this update, here it is!!!).

Work has been interesting. I've been getting up at 5:30AM each morning to catch the 6:51AM train from Drouin, got myself a weekly ticket which was expensive - but much cheaper than a couple of driving trips. The good thing about paying full fare is First Class seems like a bargain which is particularly useful for the 6:25PM Bairnsdale service. Travel does also consist of one tram change which has proven to not be much of a problem at all. In fact, although I spend anywhere from 1:30 to 2:00 to get to work (and of course, again on the reverse), the travel time seems like nothing. I suppose I do have work to do, music that needs listening, people who need my technical expertise etc... But otherwise, the trip to and from is pretty easy and relaxing.

As you would expect, moving into a development job does require a good understanding of what systems you will be working on. Unfortunately for me, these systems make Access Education look like Hello World even with it's 40 tables and 200 stored procedures, it's nothing compared to the first system I am working on. So yeah, it's quite daunting.

This week has mainly been reading Source Code, setting up my computer, setting up Virtual Machines, setting up IIS7 (which after installing one system, I've learned heaps about Application Pools and Components) and setting up COM+. By about Wednesday, I had the chance to look at Source Code and start to piece together the workings of one application. Classic ASP is pretty easy, and particularly, the integration with COM / VB6 does make things more appealing than PHP in regards to setting up complex business applications. By the way, I really should put a plug in here for Professional Active Server Pages 3.0 by Wrox as the book is easy for beginners and covers a complex range of integration topics namely Active Directory, ADO, XML, COM and COM+, Message Queuing etc... So yeah, if you need to learn Classic ASP, that's the book you want! Much better than Google + Brain!

On Friday, I was finally given some bugs to look at fixing, and I'm happy to report that I was able to offer a fix for it. Although, the fix was with a Stored Procedure rather than the application code - I was pretty happy with myself.

So, do I like the job? I honestly don't know. This week, for the first time in my life, I thought I was a complete dud. That is; I wasn't understanding things as well as I would have liked which conflicts with everything I have done. Towards the end of the week, I was feeling much better - especially after being able to do something useful! The other thing I'm not good at is relaxing. I'm a person who wants to do stuff. I don't like to wait, I don't like feeling like not achieving anything. I know it's not the right attitude to have when it comes to programming (the Access Education website was similar in regards to not achieving much in a single day), but yeah - just getting used to the whole proper development role for a company has been interesting thus far. Compared to my other jobs I have had, the days go very quickly. That's a bonus as far as I'm concerned at the moment.

So yeah - in other news, Railworks has finally been released - on Steam. If you signed up like I told you to do (on the website), you will find it available for $29.99USD with your promotional code. So get downloading! There's a million improvements in regards to signalling and lighting, and worth the $38.06AUD it cost me when I brought it.

Also - there is a possibility of a LAN Party happening in Seaford again, this time not run by GreenTubeLAN + DLC-Lan. Instead, Neon from SAN-LAN is looking to do something in August if interested. Keep an eye on the DLC-Lan forums. I'll be there!

[0 Comment(s)]

Finished Casual Work! (13/06/2009 04:03:36 PM)

So... I finished my last shift 3 hours ago from the time of posting. I have now finished up at all casual jobs, ready to start a full-time permanent position as a .NET Developer in Richmond! I'm certainly looking forward to it - and actually launching my career finally in Software Development / Consultancy / Whatever-IT-Related... I'll post more about what I end up doing at the end of the week.

- - Craig Mattson

[0 Comment(s)]

Help! I don't understand how to program! (11/06/2009 09:48:48 PM)
Programming - yeah I get it. It's not everyone's cup of tea. It's also not terribly difficult either if you bother to plan your strategies properly. It's not hard to plan, and with a good plan - it becomes an instruction manual. Once you have your instruction manual, you're translating between your plan and the programming language. At the end of it, you have a program. It sounds so simple and so easy, so why do newcomers still find programming a challenge?

Lets face it - if you struggle with programming, when was the last time you actually sat down to plan out properly how you will tackle a program? We have standard ways to represent various abstractions of a program. We don't have them to look busy, or to make some business executive happy - we use them because they help. Granted, for many things I do - I don't need a plan, but as soon as something becomes complex - out comes Visio, NetBeans or just Pen and Paper. Again - I don't do it to look busy, it's merely there to help.

So why don't newcomers do it? Is it they are unaware (unlikely given most good tutorial websites and programming courses discuss Class Diagrams, Sequence Diagrams, Activity Diagrams, Pseudocode etc...) that tools exist to help? Is it considered "stupid" to plan? Is it just simply trying to cut corners and do the bare minimum to pass? I've been trying to work this out for a while - but the clear link between someone who struggles to understand programming and for those that do seems to be at the planning stage.

Over the years, I've worked with people that know the syntax, can write if I give them step by step instructions which suggests they understand the programming language - but getting an idea onto paper seems to be where the problem is. So why is it so?

Lets, for example, take a simple Member Database application. All we really have to do is Create/Read/Update/Delete members and provide a mechanism for doing so. A Member may have a First Name, Surname, Address, Suburb, State, Postcode. So instantly, I can see we need to set up a storage component for Member details, and an application to control the storage component. Class Diagrams (UML) are a good way of representing our objects, methods etc... If you know Class Diagrams, then you would understand the following:

* * * * * * * *

-firstName : string
-surname : string
-address : string
-suburb : string
-state : State
-postcode : string
+Member(firstName : string, surname : string, address : string, suburb : string, state : State, postcode : string)
+getFirstName() : string
+getSurname() : string
+getAddress() : string
+Add(member : Member)
+Get(id : int)
+Update(id : int, member : Member)
+Delete(id : int)
+Delete (member : Member)


* * * * * * * *

So it's easy to determine our data and methods based on the information above. So what about the methods? This is where Sequence and Activity diagrams shine - but for the purpose of this blog, I'll keep it simple with Pseudocode. I won't go through all methods here, but here's just a few:


Return the member's first name.


Add a member to the database


Find a member in the database corresponding to an ID
If member exists then
    return member
    return nothing

Update(id, Member):

Find if a member with an ID exists
If member exists then
    update member details in the database
    display error message

* * * * * * * *

So once you have your pseudocode down, and your classes drawn up - it's now just a translation process into your favourite language. Whether it be VB, Python, C#, Java etc... the process is simple. Translate the class diagram into a normal class, then for each of the methods - translate the Pseudocode.

If you practice enough, you will find that for smaller tasks you don't even need to plan, or that simply put - you end up coding your classes as if that replaces the need for a class diagram (I will more often do this instead of creating Class Diagrams followed by plenty of refactoring).

If I can be bothered in a future blog post, I'll translate it into various languages - but even a newbie programmer should be able to see how to piece an application together from this.

[0 Comment(s)]

I'm now employed... full time! (09/06/2009 09:45:38 PM)

Hi All,

I think I've told most people now, but if you haven't heard - I've finally scored myself a job as a .NET Developer in Richmond, Victoria. The title so far is ambigious - given my first set of tasks will be to learn ASP and maintain an existing system (that IS correct - ASP, not ASP.Net - using VBScript, not C#). This isn't so bad either. While I have never actually completed any ASP work before, I have played with VBScript - and given the years I've played with Visual Basic, ASP does look pretty easy - albeit frustrating without semi-colons.

It's quite funny actually - looking back on Visual Basic, I knew my way around it pretty well prior to 2006 (when I actually used it religiously) - but trying to remember NOT to place semi-colons and to use "Dim <name> as <Object>" instead of "Object <name>" - it's almost like going backwards! The good news though is my PHP skills are translating over nicely - and good to see the striking similarities between both platforms.

There was one thing that striked me as odd though in the interview. For one, I didn't realise XML / XSD / XSLT's are used much in the industry. I couldn't fathom why we covered such a boring and mundane task in Web Systems 2 at University, but I'm glad I did - and more importantly - remember the concepts taught in the two weeks we covered it. I mean, I know XML is the backbone of most communications (you look at SOAP, NAB Transact's XML API guide, Configuration Files in .NET in general) - I suppose it makes sense to understand XSLT's to skin and separate your data.

Anyway - the good news is that I can, finally and regretfully, move on from current part-time and casual employment and launch a career in IT. I know I've done a lot of work for various clients over the years and most of that work has kept me afloat through Secondary College and University. I am appreciative of the support both employers and clients have given me over the past few years, but now is the time for me to move on and get some proper industry experience.

I start Monday 15th June - so it'll be a very interesting (and tiresome week I would imagine). I've never actually completed 5 days straight; 9:00AM to 5:00PM going to work. Sure, I've pulled about 2 years of no breaks - but I swear, it's going to be a cultural shock to have set hours, regular and secure pay, weekends off and ANNUAL LEAVE!!!!!

- - Craig Mattson

[0 Comment(s)]

An Anticipated Delay (07/06/2009 04:36:37 PM)

Here's one for the books! An "anticipated" delay as opposed to a confirmed delay. See for yourself:


Question: How does an anticipated delay help anyone? That kind of suggests that if the service is on time, that the train will leave. Lets face it, there's bugger all to do in Warragul at the Train Station - if it was confirmed late, then you could go and do something useful - such as eat at Subway (closest slow fast food).

Edit (09 / 06 / 2009): Turns out that V/Line is using the term yet again this-morning! Straight from my inbox:


[0 Comment(s)]

A hidden feature... (02/06/2009 03:40:45 PM)

Hi All,

I haven't written for a little while, so here's a bit of a "packed" update:

Hidden iPhone Feature:

Using the iPhone yesterday at work, I pressed the power button and the "button" button (does it have a name?) and the camera noise went off - and the screen flashed. Didn't know what it was doing, I just figured it was a short (or long) way of taking a photo. As I was going through my photo roll last night on the camera, I noticed a few screenshots appearing.

I can't say it's widely discussed anywhere (and a bit odd to pull off a power button and "button" button action in it's silicon case) - or how it's even useful for most people. I suppose the best use I have for it is to take random screenshots and send them [via Palringo] to random people on MSN Messenger as clout.

Ummm.... that is all.

My degree finally arrived!!!

I now have a degree in a tube, delivered by A/Prof. Aust Post. If anyone is interested on MSN Messenger, I can send a photo of the degree - and it's anomalies. For starters, how does a printer mis-align / skew text - let alone the spelling of "authorized" (sic) for an Australian University.

I must say - for a prestige university, they certainly don't act like it sometimes!

Finally, tonight...

Ok, ok... This isn't going to help 99% of the people who read this blog - but NZ's Outrageous Fortune Season 5 premieres tonight on TV3 in New Zealand. If you want to read more about the show (chances are, you've probably seen some episodes in Australia), then visit the website here.

If you are wondering why we don't have it in Australia, something to do with Season 1 and 2 being aired simultaneously on Channel 9 and Ten last year may have something to do with it.

- - Craig Mattson

[1 Comment(s)]

[Print View]