Tuesday, March 24, 2009

News Flash: Wally has been found

It’s been years, many books, and finally the day has come. Here is Wally

Friday, March 20, 2009

A Quick history of the internet

Anybody who thinks Microsoft haven’t gotten their mojo back only have to stop and grab IE8 and take a look at this video (IE8 not required)..

Thursday, March 19, 2009

IE8 News

Straight from the horses mouth via twitter. “@NickHodge IE8 Final: you'll be able to download it from 3:00am AEST tomorrow. http://www.microsoft.com/ie8

So, I guess tomorrow morning I’ll be updating my IE8 RC installs.. w00t!!

Wednesday, March 18, 2009

The Joy of Development

One of the most rewarding parts of my job is delivering new software that makes a difference for my clients. It’s part of the reason I’m still working in the industry, it makes me feel good.

The other thing I really enjoy, and something that has happened today, is the ability to make a program (or small part) run faster. It was just a simple query, with a few tables, a view and sub query or two. In one of our environments the query run blazingly fast, taking only 2-3 seconds. In all of our other environments (one of which is an exact replica from 2 days ago) took a long time too complete. By a long time, I mean it took more than 15 minutes before I lost patience and stopped the process.

So, what changes did I make? Simple, it was just a restructure of the query. As I mentioned before, there was a sub query. This sub query was used within the where clause. An example is:

WHERE Table1.Field1 In (SELECT Field2 FROM Table2.Field2 WHERE Enabled = ‘Y’)

became:

FROM Table1 INNER JOIN (SELECT Field2 FROM Table2 WHERE Enabled = ‘Y’) as Table3 On Table1.Field1 = Table3.Field2

By moving this into the From section and making it an Inner Join, I was able to help the optimiser make the decision to apply the filter earlier in the execution.

The result, ever environment now runs the query sub second.

You may ask yourself, how did I know where to look? The answer is all in the tools you use. Today, I was using Toad, and a simple “Explain” on the query quickly shows you where the execution cost is. SQL Management Studio and many other tools can all provide an execution plan that you can use. There are a few things that you should focus on when looking over an execution plan. The two I focus on the most are Cost and Full Table Scans.

Cost provides you with a figure relative to the whole query about how expensive that operation is. If an operation is excessively expensive then you should try and simplify it.

Full Table Scans generally occur when there are no suitable indexes in place. This means that a filter cannot occur on an index and instead “scans the whole table”. As you can imagine, on a large table this can be a very time consuming process.

There is plenty more information available over the web on this topic. This is just one of my favourite (and easy) fixes for a very common database performance issue.

* This is a very simplified example of the actual query

Thursday, March 12, 2009

Pick a Search Engine

A few weeks ago, I woke up early in the morning and made a decision too do something different. For the life of me, I didn’t know what I wanted to do, but I had a need too change something. That day happened to be the same day that Google decided to join the EU bandwagon and complain about Microsoft bundling I.E. with Windows. This news rubbed me the wrong way, it’s not like Google has been massively effected by this, as they’ve only recently bought out Chrome.

Anyway, after reading that, I made my decision, I was going to try and live a life without Google.

So far, it’s proven a little more difficult than I’d like, not because I rely on them, but more because of habit.

The only habit I’ve successfully changed is my web searching (because I just changed the default search engine in IE8). I’ve tried to break other habits, such as using Live Maps, but alas, the coverage in Australia is just not as good as Google Maps. Just today as an example, I did a search for Moore Street in the ACT. For anybody who knows Canberra, you may know that this street is right in the Centre of the City. Unfortunately Live Maps still can’t find it.. Luckily, Where Is came too the recue.

I’m still trying to find my feet in this Google-Free world, and while I’m sure I may never be completely free, I am pleasantly surprised that the world hasn’t come tumbling down yet.

*Yes, I’m well aware my blog is hosted by Google, I’m still not sure if I’m going to relocate it or not.

Google and the Linux desktop… Oh please…

People have been jumping up and down in the vein hope that Google will move into the desktop space. I’ve heard this discussion before, yet here it is again.

It’s an interesting idea. Start by slowly working around vendor lock in, to position yourself with an end too end replacement for existing infrastructure then BAM, put out an OS too free the people.

Unfortunately, I think a lot of people seem too be forgetting a few simple facts. The most important of these is the business that Google is. Google runs a search engine. But, Google the company is in the business of Advertising. Yep, that’s right, providing the ability too search is just a way to bring people in too view advertisements.

Google docs, Gmail and Google Calendar are all the same. Provide a service too bring people in, then serve up some ads. That’s the business Google is in.

All of the articles/discussions I’ve read about Google on the Desktop have all talked about some sort of Linux Distribution. Great, it could be cool. But Google will still want their advertising cake. Are they going to modify their own Linux distribution too include built in advertising? Are they going too remove the popular email clients, calendaring applications and office applications in order too force users too continue using their online, advertising supported applications?

The answer too this is clearly no. Google will not give up their revenue stream.

I think a more likely scenario is a Web Based desktop. Something that keeps users away from the PC based desktop, and all PC based desktop apps, and keep the users working in the Advertising based world that Google is clearly the king.