Archive for July, 2005

Identity crisis

I know I struggle to define what it is that I do in a broader context. I have had numerous talks with Raj, Andrew, Clinton etc about exactly what it is that we do. It's especialy pertinant now that we we have gone through a rebranding exercise for our main IT course. How can you market your product when you don't know what it is?

This seems to be a general issue facing IT and CS faculties. Bond University (I think, should check my facts ;) recently dispanded their entire IT faculty and shifted just about everyone over to the school of business. Lets fact it, business is where most of what we do gets applied.

I was at the BIT dinner last night and was talking to some of the industry reps. One woman told me how she came from a technical background and is now working in clinent negotiations assertainging what a client required and how It can!
support their business. And fundamental to this job was not simply an understanding of the technology, but a solid grasp of bbusiness proccesses. How can you help a business (the client) if you don't understand how their business functions?

(This is where the identity crisis come in)

So why don't we all just join the IS disapline group and move on over to the school of business?

Because so many of us are here because we just love the technology and think it worth studying for itself. Tech for techs sake!

So I found the following article at Knowing and Doing interesting. They are going through a similar proccess of identity crisis. And discussing how to make CS attractive for it's own sake.]]>

Comments

Battle of the Geeks, on the march

Calling all geeks!

The AUC is very excited to announce that the Battle of the Geeks is about to hit your campus.

Within the next week the website will go live and registrations will be open for teams of up to 3 students from your campus to enter. I have already had some correspondence with you in regards to this and may have also met you at our May briefings.

You may be aware that the student, staff member or club who organises the most sign ups to the comp wins a very sexy 17” iMac!

To this end we are putting the call out to lecturers, students and clubs to let me know ASAP if they would like to actively promote the comp on campus. I will have posters, flyers, an overhead for lecturers, e-flyers and web content ready to send you in the next week or so.

As you are on campus and know the culture well, I would greatly appreciate your help in spreading the word to any students/ student course reps/clubs who you believe would be interested in entering Battle of the Geeks.

Students entering Battle of the Geeks are asked to write how they heard about the competition, if you or your club or faculty is the most entered, the iMac is yours!

Aside from purely selfish reasons for spreading the word… Battle of the Geeks is a great opportunity for Comp Sci, Engineering and Info Systems students to stretch their programming muscle and to win other great prizes.

Keep in mind that code for this comp needs to run on Apples XCode IDE. Anyone who wants to practice should check out the new Macs in the open access labs in the West Wing lab and in the BA building. Unfortunately there are only 2 Macs available on the Hawthorn campus, but it's a start. (I have put in a !
request for new Mac lab within FICT which has been approved in theory,
but the budget won't be available until next year).

If you've got any questions, talk to me and we'll see what we can do.

]]>

Comments

SpellBound aka The Love of Firefox

Firefox. SpellBound installs as a plug-in and then you can just right click on form fields (like a blog entry text box) and the spell checker will pop up. The corrections are populated back to the form when you are done.

The only hitch I had installing it was forgetting to install a dictionary for it to use. Go to the dictionaries page on the mozdev site and install the appropriate one. On Windows, I actualy got a (cryptic) error message until I installed the dictionary, but on the Mac, the dictionary simply failed to launch with no error message :(

But it's all working fine now.

This is just one more example of why I like Firefo!
x.

I constantly use the Sage plug-in for watching RSS feeds (although Safari's RSS integration is giving it a run for it's money on the Mac).

Some of the developer plugins are awesome when developing web sites.

And to top it off, I saw yesterday that Firefox has reached 10% market share (Can't seem to find the article now). It's still nothing like IE's market share, but it's better than all the other contenders put together.]]>

Comments

ByteClub DHTML Challenge #2!

Here is a link to a PDF of the specs…

ByteClub Challenge_02.pdf

Basicly it's the same as this time last year but with a size limit (okay, it's not original, but we just wanted to get something happening, and we were a little short on time and inspiration).

Once submissions are in, they will be voted on in the Forum. The winner of the vote is the winner of the challenge. Simple.

For those who have trouble with the PDF, the specs are also available at http://www.byteclub.net/challenge/02

(Don't mind the uggly formatting. I have to fix a bug in the byte club style sheet/template.)

]]>

Comments

Just gota share this…

]]>

Comments

Of Spam and Conspiracy Theories, Pt. 1

Thanks the gods I'm using Thunderbird as an email client. I was getting so sick of Outlook not filtering spam with any kind of usefullness. There is an optional spam filter I can enable server side, but I found that had too many false positives and I was losing legitimate mail from students. Now I just use Thunderbird which has some very efficient spam filters. No more false positives. No more spam in my inbox. I love it.

But I found myself having an idle look at some of the spam I have been getting and found some interesting things. Stuff like the following from the footer of an email telling me all about a great company I could invest all my money in and make millions…

Information within this email contains “forwardlooking statements” within

the meaning of!
Section 27Aof the Securities Act of 1933 and Section 21B of

theSecurities Exchange Act of 1934. Any statements that express or involve

discussions with respect to predictions, expectations, beliefs,

plans,projections, objectives, goals, assumptions or future events or

performance are not statements of historical fact and may be “forward

looking statements.”Forwardlooking statements are based on

expectations,estimates and projections at the time the statements are made

that involve a number of risks and uncertainties which could cause actual

results or events to differ materially from those presently anticipated.

Forward looking statements in this action may be identified through the use

of words such as”projects”, “foresee”, “expects”, “will,”"anticipates,”

“estimates,” “believes,” understands”or that by statements indicatin!
g

certain actions”may,” “could,” or “mi
ght” occur. Risk factors include

general economic and business conditions, the ability to acquire and

I'd be curious what the actual legal standing of such a disclaimer was for something that was so obviously a scam.]]>

Comments

Secrets

I was reading some more aboutt his XOR thing and apparently the only encryption cypher to have been proven to be unbreakable is the Vernam Cypher which turns out to be about the simplest cypher I've ever seen (okay, I havn't seen that many of them).

You take the original clear text message and XOR each char with a random value and there you have it. An unbreakable cyphertext. Of course to decrypt it, you need to know the random values used to encrypt it.

This is the part where I start having trouble with the “unbreakable” claim. There is a whole bunch of gotchas…

The random values must be truly random.

The random values must be kept secret.

The random values must never be reused.

I like the fact that it's bloody easy to implement, but how can it be practicle? It seems to have similar failings to other crypto systems in that the message itself may be perfectly safe, but how do you distribute the key without breaching security?

Also, the problem of genrating truly random numbers is a big issue on computers. The most commonly cited method I have seen so far is to hook up some kind of antenna to your computer, sample some cosmic/background radiation, run it though an MD5 (or similar) hash, and then you have some random numbers.

For what it's worth, here's my goofy test code implementing the Vernam Cypher…

public class Test
{
	public static void main(String [] args)
	{
		//a test of the Vernam cypher…
		java.util.Scanner scan = new java.util.Scanner(System.in);
		System.out.print(“Enter source text: “);
		String source = scan.nextLine();
		char[ ] chars = source.toCharArray();
		byte[ ] bytes = new byte[ chars.length ];

		//generate random values…
		//Note: this is for testing purposes only.
		//Not actualy random enough for real crypto.
		java.util.Random rand = new java.util.Random();
		rand.nextBytes(bytes);

		//encrypt the message…
		char[] enc = new char[ chars.length ];
		for(int j=0; j		{
			enc[ j ] = (char)(chars[ j ]^bytes[ j ]);
                        //could this get any easier?
		}

		//print it out and see what it looks like…
		String out = new String(enc);
		System.out.println(“The encrypted String looks like: “ + out);

		//decrypt the message…
		char[ ] finalVersion = new char[enc.length];
		for(int j=0; j		{
			finalVersion[ j ] = (char)(enc[ j ]^bytes[ j ]);
		}
		out = new String(finalVersion);
		System.out.println(“Decrypted, do we get the original text? “+out);
	}
}

Comments off

What learning curve?

Two things, which I'm almost embarrassed to admit (but will anyway):

When writing a test harness for the second SD1 assignment, I tested it against code submitted by students and watched it fall over in a big heap. The problem had been students who confused the assignment specifications with assignment recommendations. For example, when the specs say “method x accepts a whole number and returns a double”, it does not mean that public double x (double d) is acceptable. The problem was that my test harness expected certain method signatures (as specified), but wasn't finding them and would crash with “method not found error”.

I assumed the easy fix would be to include some error handling code and catch the exception. Unfortunately I hadn't read the error message clearly and wasted half an hour bashing my head against the API wondering why I couldn't catch the “method not found exception”.

Notice the problem?

An exception is not the same as an error. How come I never knew java could throw errors as well as exceptions?

I felt so stupid.

Second example:

Earlier in the semester, one of my students (a damn robotics student. Or was she an engineering student? They are always the ones to ask the hard questions ;) asked me if Java had an XOR operator. And to my shame, I had no idea. I've seen and used the && and :: logical boolean operators. I've even played with bit masking with the & operator (But I would never have thought of solution 7 from the O!
dd Question
post), but I have never thought about the XOR.

I looked it up and discovered that not only does Java have an XOR (it's the ^ symbol), but it's amazingly cool. Apparently it is both a both boolean and bitwise operator in Java. Some sample code…

//as a boolean operator…
boolean a = true;
boolean b = true;
boolean c = false;

if(a^b)
	System.out.println(“Hurray!”);

if(a^c)
	System.out.println(“Whacko!”);

if(a::b)
	System.out.println(“Gadzooks!”);

if(a::c)
	System.out.println(“Snikt!”);

//as a bitwise operator…
int x=5;
x = x ^ 1;
System.out.println(x);

(15 minutes later) This is doing my head in. Does this mean that ^ is an overloaded operator? I have always belived that + was the only overloaded operator in Java. I'm sure I've even seen that writen in books and stuff. But now I find that ^ is both a boolean operator and a bitwise operator depending on the context? Argh.

I read some more of this site and it shows a way cool way to swap variables without a temp…

int i = 42;
int j = 149;
System.out.println(i);//42
System.out.println(j);//149
j ^= i;
i ^= j;
j ^= i;
System.out.println(i);//149
System.out.println(j);//42 

Comments off

If you aint broke…

Going broke with free software

What more can I say?]]>

Comments

OSS

interesting article on using Open Source, and Open File Formats. I especialy like the story he links to about the Norwegan government moving to open formats.

I wonder what it would take to move the FICT to use open file structures across the board. And exactly what file formats wold be appropriate. Most documents distributed to students at the moment are given as PDFs because almost everyone can view them, regardless of platform, and you don't need to buy a product to view them.

The fact is that we do have s!
tudents using OS's other than Windows.

Perhaps it's time for me to start investigating options…]]>

Comments

« Previous entries ·