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

My Blog

A Weight has Lifted (30/08/2007 09:18:12 AM)

Hi all,

Now that I am not burdened with the subject FIT3024: Internetworking and Wireless Communications, I can sleep easily tonight :) Infact, I can get back to boring old me ;)

Craig. 

[3 Comment(s)]


The Problem with Vendor Industry Standards (27/08/2007 10:28:34 AM)

Hi all,

There's been a fair bit of news I thought I would comment about today that should fill up enough kilobytes to annoy you all.

Vendor Industry Standards:

Yes, as the title suggests, I am not happy with Vendor Industry Standards. Microsoft has been attempting to push their new document format, Office Open eXtensible Markup Language (OOXML), for quite some time now and thank god that at least one group gave the OOXML a thumbs down. So why am I glad? Well, Vendors are great for making software that works and integrates with each other, but there are times when big players want to take out the smaller players in the effort to create competition and promote their own products.

poisson_400With Microsoft, they want their Office 2007 format to be an Industry Standard simply so they have control over who can use the format and the types of revisions they use on it. Now, do we really need Microsoft owning any more of the Information Technology community? Lets take the humble .doc format. For those who don't know, .doc is a propietry format for Microsoft Office 95/97/2000/2003 and even older versions. Basically what that means is in order to view a document file with the extension .doc, you need special file reading algorithms to translate the document.

So why is this such a problem for the end user? Well it limits choice. For instance, loading up a document file in Open Office looks substantially different, and saving from Open Office to Microsoft Office is a conversion process aswell that isn't 100% accurate. We already have an open format called ODF (Open Document Format) that Microsoft could use, but no - they have to make their own vendor formats that mean Microsoft not only dominate our office, but they dominate our files yet again.

I mean, what kind of an open format is one that has XML tags called (and this is the most funniest one I have come across) ? This is supposed to be an open format, and it is making reference to propietry software?!?!?! The format specifications are also a supposed 6000 pages or so. I mean seriously, who wants to read 6000 pages on the format.

You HAVE to use Windows:

A man who was sentenced to five years imprisonment and a further five years confined within his house for pirating Star Wars Episode III via BitTorrent has just been sentenced yet again with having a stipulation that he MUST use the Microsoft Windows operating system simply because they require monitoring software to be installed on his computer (and currently, it only operates on Windows). His concerns aren't so much that he has to have monitoring software installed (it's part of his sentence), however to be told you can no longer use Linux is like a second sentence!!!

I mean, can a court really stipulate the type of Operating System he must use just because they cannot locate an application to monitor computer usage? Surely keyloggers exist for Linux that could monitor everything done on the computer. Oh well, more fool him in the first place for pirating stuff.

Kid cracks Porn Filter:

I love the wording that has been used lately to describe the methods in which a 16 year old kid hacked in to an application the government spent millions on developing. The software, Net Alert, is designed to prevent pornography access for children to further secure a childs life.

linuxNow I will admit, the kid did a great job finding a way around the software, but it's by no means cracking (or hacking in its pure definition). I mean, I don't consider my workings at school (breaking NetOp, bypassing Proxy Servers) hacking unlike the *two* times I found my way in portions of the school database that I shouldn't have had such easy access to and neither should this kid.

I mean the kid bypassed the filter and is a great screw you to the government on spending money on software children can find their way around (it's inevitable given the way the application is designed), but I wish the Television would stop making him out as some sort of guru over it - I especially like the offer Kochie made on Sunrise (a Television show in Australia) about the government employing him.

So yeah, the kid did a great job bypassing the filter - but it's definitely not something one should cheer about public - hell, I'd have been inundated with press if half of the things I did were ever released hehehe... like unsecured marks and family details databases... Wink

Media and Inaccurate Descriptions:

Finally, I want to complain about the media. What a pack of morons they have been this week and it's not just one news paper or TV show. For instance, earlier last week the A66-MTH-MTH Stony Point train hit a truck at Somerville and the bulls#it flying about this incident was hillarious. Here are the inaccuracies so far caught by the media:

Anyway, there has also been some inaccuracies with the horse flu thing I'll post tomorrow or something. In the mean time, I'm going to sleep!

Ciao

[1 Comment(s)]


*sigh* (23/08/2007 08:42:37 AM)
*sigh* nothing more needs to be said.

[1 Comment(s)]


Commercial Addon Royalties (22/08/2007 06:58:36 AM)

Hi all,

Only a small one today, but with the release of Kuju's new Train Simulator, there has been some varying discussions on royalties Kuju will be charging for the creation of commercial addons. The problem appears to be those trying to make money by creating routes would have to consider parting with approximately $2,000US. This may change at a later date, but it does question whether it is right for a company to charge for commercial addons. My opinion is yes, I think the small fee of $2,000US that you pay to create a commercial route is next to nothing; that is only if you are serious about creating it commercially. What do you think in a general sense for creation of commercial addons (that is; modifications and addons that you make money out of to profit).

Craig. 

[0 Comment(s)]


Action Replay in Games (13/08/2007 11:25:23 AM)

On MSN tonight, I was discussing the theory of Action Replay in games and how to apply this technology to my own programs. For those reading this and wondering what the hell is this guy talking about and want something more interesting to read/see, might I suggest you look here.

For those who were not mesmorised by the above link, Action Replay is a concept used in games to record replays or demos of what happens within a game. To keep the file sizes down, one would assume they use their own algorithms to store important data to be replayed back in a stream, probably tied together using :o timers or threads. But how do they do it?

I am working on a web project (for argument sakes, lets assume I am creating a knock off of the game, Quibbles that I first had a VB3 version of in 1995) that requires me to record an instant replay of these 3 quibbles during a race. There needs to be consideration on file storage (lets say 100MB for race Storage), and consideration on the accuracy of the race. So how does one approach it?

Record using Video:

This is by far the most accurate way to record anything. What ever is recorded in video format is guaranteed to be the same on all computer systems and other video capable devices. But this poses the biggest problem of all. File size. In 100MB, that's less than 100 races. What if this project of mine is to last for 2-3 years at any time before a clean out? Say 8 races a day for 365 days a year at 1MB each, this is just way too much. 2920MB just for races is a little bit absurd.

Record frame by frame where each and every object is:

Most games these days probably use this method given the file size of the demo files recorded. For instance, 5-6MB for a file storing 20 seconds of footage must be storing something spectacular. This type of method would be great as no actual physics has to be recorded, nor do you have to record un-necessary footage on each frame like the landscape. In this type of game above, we are looking at storing say: the quibbles x and y position for the entire race.

If a race lasts 30 seconds, and a quibble moves 30 times per second, then this is a staggering 2,700 frames. Whilst the file size is much smaller to store 2,700 peices of information, what happens if the project was to be increased to have 30 racing and races go for 2 to 3 minutes? This becomes up to 162,000 frames. Certainly unviable when file sizes would reach 1MB very quickly (only 33% of that of the video option).

With this in consideration, maybe we should investigate a hybrid of the above theory, especially for a website?

Random Seeds for AI:

This theory comes in handy. In computing, each random number has a seed. For instance, a seed of 1 may produce between 1 and 100 the series 1, 5, 9, 16 as the first four numbers. This is the same as long as the seed is the same, so instead of storing each frame, maybe we just give each quibble a random generated seed that is stored somewhere for the replay? This theory is a supurb theory for this kind of game, but what if we wanted to take speed into consideration? The seed isn't very helpful then.

Probability Distribution with Key Frames:

Well, here is an idea that may be useful. Lets say we are running a replay on a race for the 3 minutes defined above. The important key thing to take into consideration in a race is precision, especially within the last part of the race, say... the last half of a screen? What if, using the example above we worked out that for the last 400 pixels of a race that happened to be 10,000 pixels long was the most important? You know, ensuring that the finishing position didn't change?

The idea is that say each second of the race (180) up until the last 400, we store in the initial recording the position. This means for approximately 170 seconds, we store just one value. For the last 10 seconds roughly, we can afford to be more precise and at 30 for 10 seconds means about 300 extras on the 170 there. This mounts up ofcourse to about 15,000 frames. Certainly more managable at about 40-50KB.

So in the replay how do we deal with the gaps between the one second? Well, if we store in the keyframe that at 1 second, the x value needs to be at a particular place, you can either use a probability distribution of values to get there, or just increase an average of the distance (for instance, if x was 2 for the frame before and is now 4, then move 2/30 per frame). This would do the job, but would look very strange.

The 2 ways to fix this is to either a) increase the key frames to once every half a second (increases overall data to 20,000 (50KB to 60KB) making it more accurate) or b) use probability to generate some form of movement. As long as they get to the end and roughly resemble it, the user should be none the wiser unless they are analysis buffs.

Seeds with Key Frames:

The final idea is to use seeds at particular key frames. As mentioned above, the seed has a predefined sequence of random numbers that could be used appropriately. Given we want to take into account speed and skill to generate a race, it is possible that the script organises before the race starts a random number. This would be stored in the demo file, and before the race starts, we would then define what the maximum left/right is and how often it can reach the desired maximum left/right movement (speed and skill respectively) and use the seed to generate.

The only concern I have is the synchronisation so to improve this, you could introduce key frames at every second or two just to ensure everything is on track.

Here is a rough type of thing I am trying to replicate that would work all the time providing a random seed is generated. Please note that this is almost pseudocode for PHP. Although this code compiles and works, it is only a working model and doesn't actually produce anything more than a list of numbers.

 <?php
        srand($RANDOM_SEED_NUMBER); //Seed generated at random by script
        $high = 0; //Sets up a count
        $low = 0;  //Sets up another count
        for($i=0; $i < 100; $i++) //Tests 100 times
        {
            $testseed = rand($SKILL_LEVEL,100); //Determines high/low probability for skill
            if($testseed >= 90) //If reaches certain point
            {
                $avd = rand($MEDIUM_SPEED,$FASTEST_SPEED); //Move high amount based on medium speed
                $high++;
            } else {
                $avd = rand(1,
$MEDIUM_SPEED); //Move up to medium
                $low++;
            }
            echo $avd."<br />";
        }
        echo "High: ".$high." Low: ".$low;
?>

Either way I choose to go, this is one widely undocumented feature that Google can't seem to find for me. I'd be interested to hear other input on this situation, so yeah - if you have anything you could possibly add, the comments are there for your use :)

[3 Comment(s)]


apt-get install life (11/08/2007 12:27:53 AM)

dishwasher_400 Well, I'm feeling much better today. At least I'm not trying to rip anyones head off anyway *yet*. In my last blog post, I said I had finished my Web Systems 3 assignment, to which I have and well, I thought I would post (after a few requests) a screenshot of the main page.

emoroadYesterday whilst *trying* to find somewhere to eat, we walked right down Waverley road only to find an interesting road. I wonder who decided to put Emo road in Caulfield/East Malvern and then decide to close the road for resurfacing! Only in Australia???

Apart from that, had the second easiest test of my life... Packet Analysis with Ethereal Wireshark and we were asked to write down certain parts of a packet header. Interestingly enough, I still managed to spend an hour or so doing stuff.

emoroad2_335 So um... not doing much. I have work coming up though between 30th of August and 1st September which should get me... $200 or so to pay the car rego, and hopefully get my tax return back ($123) which will pay for a couple of weeks in V/Line tickets, and yeah - then I'll be broke yet again *sigh* straight after it.

On top of the whole frigged up week thing, I just got a nice yellow envelope with a letter inside it telling me I have been called up for Jury Duty. At least because I am a full time student I can deny it, but otherwise I was expected to travel some 60km's to Morwell return with $38 per 4 hours which well... wouldn't pay for the petrol pretty much! Damn society.

Um... nothing more I could possibly think of rattling on about, except I truly suck at getting money off eBay... 1c for 3x Sticks of DDR RAM... pathetic. Even the expensive keyboard went $50 cheaper than one with a busted key so yeah - go figure.

***2:47PM UPDATE***: Many of you are wondering why I have got into the whole scam busting scene, well it's crap like this man received that prompts me to fuck about with these disgusting scammers. I have also had a couple of people I know lose money to them aswell. But yeah - interesting to read anyway as to how far people can go.

[0 Comment(s)]


Grhhhhhhhhhhhhhhh (09/08/2007 11:39:00 AM)

So bored... Yet again, todays class was appauling at best. What did we cover in the lecture? Information again not related in any way to the course. In the tutorial, we covered material I covered in Mathematical Methods in Year 12, Semester 2 but to a much more difficult scenario. I mean hell - this is stuff from Physics 101!

Why am I complaining? Well, it appears as if Monash really made a mistake when it came to admitting people into the course based on the grounds of low ENTER scores (the final year score for admission into universities) and only requiring Year 11 Mathematics (General). Apparently you can even bypass this unit (or RPL it) by completing Cisco Certified Network Associate (CCNA) Modules 1 and 2. Now, I have read into Modules 1 and 2 for my own benefit, and I never EVER seen the following things that have been conducted:

> Analysing a peer reviewed IEEE article based on Mobile Computing (answering if the article was of good quality, what referencing methods are used)
> Discussing how a Pizza gets ordered and delivered using a "Layered" approach
> Calculus methods for calculating signal attenuation, bandwidth etc... on CDMA networks

Yes guys, it's true! This is the type of material discussed in the course that can be credited by completing CCNA Modules 1 and 2. So yeah, I'm bored and somewhat annoyed.

Well, for the first time in my entire life, I have completed an assignment approximately 1 week before it is even due! Go Me! It's a website for an ASP.NET unit which covers some of the basic programming techniques in ASP.NET, and the topic is on Tumble Dryers. Pretty cool website, and once it is marked, I will upload it here as it could constitute as me copying off me... thanks to the new plagarism website detection thingo's.

Yesterday was a rather perculiar day. Infact, I was told by a particular someone that I wasn't respecting this person enough to talk to him online which wasn't a concern - the guy's totally useless for my benefit so for him to block me is well, nothing at all. Interestingly enough, I thought I would log into my own *sekrit projact* website which tells me how my clients websites are going in terms of websites that are using my CMS are concerned.

The project doesn't infringe on peoples privacy as my clients know this well and truly before I do the website. Helps me keep a list of Administration details handy for cross-site scripting to fix issues with (especially when some of my clients are clumbsy and lose both their hosting password and their admin password). To my utter dismay, I found 2 websites that came up that were rather odd (keep in mind, I hadn't checked this system for the last 3 months due to lack of clients) and what do you know, but this dickhead had removed all copyright notices which isn't that greater a concern. What floored me the most was the fact the bloody moron had replaced Powered by CraDanKa! CMS Version 2.1 with his own and passing it off as his own f***ing creation!

People wonder why I get pissed off greatly by certain people on the internet? Well - to be told I don't respect some nutcase enough only to find that my work is nothing to him is beyond me. I've dealt with many arseholes in my life, but nothing quite to this extent.

On top of this, but I had a rather perculiar e-mail back about sponsorship details from a particular IT related company for GreenTubeLAN asking if we are running another 50 player LAN as you did at number 2? My first instinct was to reply with "What are you on mate ;) We never ran a 50 player LAN" until it got me thinking. OK, this is only a theory at the moment, but how far can someone go with a god damned lie? As far as getting $200+ sponsorship?

So yeah - I don't know what to feel... Better go and sleep it off. Some fancy wancy test tomorrow for Network Standards and Specifications.

[0 Comment(s)]


What the? (08/08/2007 05:38:56 AM)

Hi all,

Just a quick one today. Interestingly enough I was going through my garbage and well, found this SHS-10 keyboard floating around and thought I would put it on eBay especially as I had searched and found it had been going $300-$400. Anyway, can anyone believe that this keyboard (pictured below) is worth $151+? With 1 day to go on eBay, it is already $151! That's like... I can get a decent Casio or Yamaha PSR-2## keyboard for that sort of money. Oh Well...

Orb!ter

2abf_1_400

[1 Comment(s)]


New Update from the Random Update (04/08/2007 04:52:43 AM)
Cars working, DVD Drive somewhat working, no job, no money... I suppose things aren't all bad :)

[0 Comment(s)]


Random Update (02/08/2007 10:36:02 AM)

emoticon_guy_looking_sad94579_129Hi all,

Well, where do I start? I'm jobless (I didn't get the support job at the plumbing company), I'm broke, my car has a flat battery and today's lecture and tutorial for one of my subjects was dead-set boring. BOOOOORING.

Jobless:

Still no word from Digital Motorworks, so I assume there's no work there which is a shame - the work was boring but doable and paid quite well I believe, but when there's no jobs to process, I suppose yeah - they have to make some cutbacks somewhere. Got the call Wednesday to make up some silly story about how we were all exceptional candidates (honestly, I'd prefer the you're too far out and you can't commit crap than the I feel sorry approach - especially when the interviewee's had wondered why I didn't have a job heheheh... but yeah if they had come up with the can't commit crap, it'd have been a lot easier to contemplate at the moment hehehe... so yeah) didn't get the gist of what was said over the phone as of the dodgey reception, all I know was I didn't get the job - none of my referees were called either Undecided

Money:

The money I had since June has well, been depleted... the car costs money, V/Line costs me money, food costs me money and now I am broke with money borrowed off my parents just so I can get down to Uni and back. See Jobless for more information ;)

Car:

On my very slow trip home, my red light came on for the battery and well, yeah - flat battery + night driving = slow trip to ensure I don't run into someone so I'm back to taking the bus maybe for Friday, but Tuesday and Thursday next week just can't happen until I get a battery!

University:

Frankly, I'm getting sick of it... I'm getting really REALLY sick of going into a lecture and sitting down that it is so UNBEARABLE to even listen or read the notes. I'm getting sick of going to a Tutorial only to hear crap about questions that I can concentrate much better on my own with. I'm getting sick of well... Uni in general.

So yeah... not much news, just a random bitch hehehe... Hopefully this job situation gets sorted out in a couple of weeks... Looks like I'll be flipping burgers with you, Pranesh!

Orb!ter

[2 Comment(s)]


[Print View]