Saturday, December 30, 2006

New Years Resolution come early

I stumbled across this today.

I won't go in to the theory - you can read that yourself, but basically you take either a tablespoon of oil or 3 glasses of sugarwater a day to reduce food cravings.

I have a few kilos to loose after December binging so thought I would give it a nudge. I just had a dose of oil. I don't know if it really works or just in my head, but before I took it I was really hungry, and now I am not in the slightest. It might have something to do with the glass of water I washed the oil down with.

Anyway, I will track my changes here over the next few days and weeks. My starting weight is 102kg, and goal is 90kg. I am also going to frequent the gym a bit more after NY too, as I have been a little slack of late, so any weight loss must also take this into consideration, although I have put on 2kg since I started going in August....

Oh anyone considering doing this diet, should also read the counter arguments. There is a string lobby against the Shangri-La, mostly coming from the Low Card brigade.

I am a complete laymen so won't take any sides here, or offer conclusive scientific theory on my results. This is just one mans opinion. I find it a little hypocritical of the "Atkins" brigade to bag the Shangri La though. Their diet is pretty much exclusively shunned by nutritionalists also.

I did the Atkins a couple of years ago, before the low carb options became available in the supermarkets. It worked. I lost 10kg in about 8 weeks.

There are some caveats that I found:
- Atkins breath is terrible
- At the time options were slim and low carb gets very dull, very quick
- I found my performance in cycling and soccer to be far below par when on Atkins - lacking energy and endurance

I went off Atkins because of the points above and because I reached goal weight. After I went off Atkins I put my original weight back on plus about 5kg more. I wasn't eating badly either. I think my body just stored the new Carbs I was eating, because it had been starved of them. I also think my metabolism slowed as well. My conclusion was that the Atkins works great if you stay on it, but if you don't intend to then stay well away.

Tuesday, December 19, 2006

Simplifying Web Application Deployment

Visual Studio is great. There are some really nice new features, one of them isn't the Web Application deployment. Especially if you have a site that was built using the 2003 way of doing things - i.e Single dll deployment.

Fortunately there is an answer. You can either download SP1 of VS2005 which has an option to use Web Application Project or install the WAP plugin.

Links here:

Description of WAP
WAP Plugin
Visual Studio SP1
Scott Guthries Tutorial's

Wednesday, December 13, 2006

PSP Rocks

I finally gave in and bought myself a Playstation Portable. Man these things rock. Pretty much a PS2 in a package no bigger than an old TV remote.

There are a couple of problems with it:
- the screen is crap in direct sunlight although it's not the lone ranger there when it comes to LCD screens though
- the analog control is in the wrong place. It is under the direction arrows which makes it not easy to use for anyone with big hands. You have to crane your thumb quite a bit to use it. I guess it was tested on either children or Japanese dudes with small hands. Either way it's not ideal for this Kiwi.

Oh and the screen is constantly grubby.

Other than that it is brilliant. I have just ordered a 1Gb Memory stick so I can try it out as a video/music playback device, which is probably the main reason I bought it. I plan to use it as a MP3 Player/Video Player to watch listen to webcasts while taking the train to work when we move to the UK. I know there are better devices for this, but none this cheap that play games as well.

Can't wait for Gran Turismo Mobile to come out in the New Year. I hope it is as good as the full Playstation versions.

Thursday, December 07, 2006

Wii

Hamish at work got his new Nintendo Wii today. I had pretty much written it off as a kids toy - especially compared to the XBox 360 and PS3.

How wrong was I? The WiiMote shows there is still room for genuine innovation in the console world. Basically the WiiMote becomes an extension of your hands and instead of sitting passively, you move your hands and arms around when playing games to control movement.

I have only played Wii Sports, but it is way cool, and I can think in the months ahead there should be some great games making use of this.

The best thing about this is that kids will be losing a few calories while playing games. Ok it would be better if they were outside kicking a ball or whatever, but kids love games and at least this way they get off their arses!

Wednesday, December 06, 2006

Oh dear, Oh dear, Oh dear

England should be heartily congratulated. They managed to lose an un-losable match and virtually hand the Ashes back to Australia.

The most eagerly anticipated series in years is turning out to be a bit of a wet fish. Or should that be limp haddock? Or maybe better still impotent Lion.

Tuesday, December 05, 2006

English "Lion"

Oh man! Who would be an England sports fan? I am watching the Ashes on CricInfo, and it is looking very bad for the Pomgolians. Flintoff is gone now, it's a matter of time before they capitulate and the ockers win.

The played like champions in the ashes last year, but other than that, when was the last time the English did anything meaningful in the world of sport?

They won the Rugby World cup last time, but have hardly won a game since. Mediocre performance in the Football World Cup, rubbish at Tennis, practically run Formula One but Jenson Button is the best they can put forward, it's an embarrassment really.

Lets hope the last 5 batsmen put up a fight and can somehow salvage a draw. The England sporting public needs it, and the rest of us can't stand a smug Aussie.

Monday, December 04, 2006

Classic CricInfo Commentary

I am at work today so cant watch the Ashes Live. Have been keeping up to date using CricInfo which is one of the best sports sites on the net. Anyway here is a transcript of some commentary I found amusing - commentator writing before thinking me thinks ;-)

"1.35pm Hello all, Jennifer here. Hope you're splendid. Welcome along to the afternoon session - we're just waiting for the players to come out on the pitch. Here they come now - let's see who Flintoff's going to hand the ball to... maybe he'll give himself another burst.

And for all those asking what chuntering means ... here's the dictionary definition ... "to grumble or grouse mildly or tediously". Oh, and as for those asking exactly what is being said in the middle ... well, we don't really know the gory details as the mandarins at the ICC rule that the material cannot be broadcast as it might upset more sensitive folk. It's up to your, and our, fertile imaginations...

Lunch A tense session but Australia avoided the follow-on thanks to Clarke and Gilchrist who, while they were made to work hard initially, were quick to dispatch the loose deliveries. We'll be back in 40 minutes and hope you'll join us again for more handbags at dawn. Send us your musings.

Pietersen is giving it back to Warne here, Jones by Warne's right and they're all having a go now! Collingwood's chirping back to Warne in his thick Durham accent (thick, as in prominent - I'm not casting aspersions as to his intelligence, obviously). This is great stuff
123.6 Pietersen to Warne, no run, and he defends this solidly before immediately turning towards the pavilion for lunch
Big chat here! It's all going off in the middle. Collingwood, Cook and Jones are laying into Warne. It's all friendly, lots of smiles, but it's great viewing. And listening
123.5 Pietersen to Clarke, 1 run, clunked down to long-on
123.4 Pietersen to Clarke, no run, the arm ball? Short, outside off and left alone
123.3 Pietersen to Clarke, no run, flighted outside off, turning back into Clarke who jumps back and defends watchfully
Pietersen's bossing this, marshalling his field and telling Cook to remain at short-leg
123.2 Pietersen to Warne, 1 run, no, too short and wide, cut hard into the deep
123.1 Pietersen to Warne, no run, and he comes forward here, head right over the ball. A wry smile there from Pietersen
Here's Pietersen over the wicket

Yes, just to confirm - the "chuntering" I mentioned in the previous over or two does not, in any way, mean the same as "chundering." No one is vomiting on the pitch, I can assure you."

Wednesday, November 29, 2006

Vindication is best eaten cold....

An article sort of backing up what I was saying about not needing to learn C, and highlighting the bad points about C that I was alluding to. I guess my point was that we shouldn't need to worry about these things in 2006.

Tuesday, November 28, 2006

Build your own bit of history

The Altair kit helped kick start the computer revolution in the 70's. You can buy one and live(or if you're old enough relive) a bit of history.

Altair Kit

Monday, November 27, 2006

Why should you learn C?

Ok my previous post was not very constructive.

So I started off with the intention of posting a counter to my original argument. I was going to list the reasons why a programmer in 2006 should learn C. I was going to suggest that to be a C programmer you need to understand principles such as memory allocation and deallocation, pointers, creating string handling routines - basically all the things we dont need to worry about with languages like C# and Java.

Then I thought, why? Unless you intend to do embedded programming, really you DON'T need to know C. Even then you could probably use C# or Java, depending on the platform. C still has a place sure, but it's becoming like COBOL these days. Was great in the day, but has been superseded by newer, frankly easier to use languages.

Someone in the previous post suggested my arguments don't have enough substance, so I thought I would post some code examples of two basic programming functions in C and the equivalent in C# to highlight my issue with C. (My C is a little rusty so apologies if I have the function names wrong etc)

String Concatenation
C:

char * ReturnStringProduct(char * str1, char * str 2)
{
if (str1 == null !! str2 == null)
return null;
char * product;
product = (char *)malloc((strlen(str1) + strlen(str2) + 1) * sizeof(char));
strcpy(str3, str1);
strcat(str3, str2);
return product;
}

C#

private string ReturnStringProduct(string str1, string str2)
{
return str1 + str2;
}

Converting Int to a String
C:


There is a function called itoa, but I believe that it isn't in the ANSI standard so found a routine that did this on the net

void strreverse(char* begin, char* end) {
char aux;
while(end>begin)
aux=*end, *end--=*begin, *begin++=aux;

}

void itoa(int value, char* str, int base) {

static char num[] = "0123456789abcdefghijklmnopqrstuvwxyz";

char* wstr=str;

int sign;

div_t res;

// Validate base

if (base<2 || base>35){ *wstr='\0'; return; }
// Take care of sign

if ((sign=value) < 0) value = -value;

// Conversion. Number is reversed.

do {
res = div(value,base);
*wstr++ = num[res.rem];
}while(value=res.quot);
if(sign<0) *wstr++='-';
*wstr='\0';
// Reverse string

strreverse(str,wstr-1);
}

C#
intVariable.ToString();

Should All Programmers Learn C? I don't think so.

This list looks like it has been written by a 12 year old.

To say *every* programmer should learn C is complete idiocy. I can't think of a single reason why *every* programmer should learn C in 2006. In fact the only reason I can think of to use C would be for Device Drivers. I know probably 200 developers. How many write device drivers - none.

Even things like Micro-controllers have embedded JVM's these days.

A counter argument would be that things like JVM's, databases, Operating Systems are written in C. This may be true, but again how many people actually write these? Maybe 5-10% of all programmers.

Oh hold on. Games. They are predominately written in C++. Some could argue that is C, although comparing C++ with C is like comparing C# with C. Sure they may *look* the same but they are about as similar as a Daewoo and a Ferrari.

Anyway here is the list with my rebuttals:

1) C is lower level then other programming languages (C++, Java). Programming at a lower level allows you to further your understanding of computers, as a whole.

Bit of a hoary old chestnut that one. Sure you have to allocate/deallocate your own memory, and string handling is a bit ugly but other than pointers (and C++ has those too) C is not really that different.

2) Device drivers and operating systems are written exclusively in C. Now, you may never write a device driver or an operating system, but what if you are ever required to modify one?

That is completely false I'm afraid. Device drivers are written in C++ these days (remember C++ is no closer to C than C#). There is an OS (singularity) with the Kernel, OS and device drivers all written in C#. I have to concede that some parts are written in C.

3) What if you ever want to get a job programming microcontrollers? They are programmed in C. Are you going to limit your possible list of jobs because you didn't want to learn a new language?

Again a lot of microcontrollers are Java based so this argument falls down. The other part to the argument is non nonsensical. Just because you know C, doesn't mean you know anything about microcontrollers. Also I don't know how to fly a plane either. Am I limiting my possible list of jobs?

4) C programs are smaller and faster then any other program created in a different language. Sometimes your program needs that speed boost that only C can give it.

A complete fallacy. A program is as fast as its bottleneck and in most circumstances this is the person in front of the keyboard. Also this argument is like saying an Indy car can go 400km/h and an F1 car can only go 360km/h. Therefore an Indy car is faster....

5) If you have learned C, you can learn any modern programming language. The reason behind this is that all modern programming languages are based on C (Java, C++, C#, etc).

Most modern languages are far more than the syntax. .NET and Java have huge frameworks you need to learn that have nothing to do with the fact the a for loop looks the same in C, Java and C#

6) Because C has been around for many years, it has a large community and collective code base. This allows you to quickly and efficiently implement new algorithms or functions that have been programmed before.

Um have you not heard of google? I can't remember the last time I couldn't find a solution to a particular programming problem I have had. I program using C#, Delphi and C++

7) C is the language of the Open Source community. The Open Source poster child, Linux, was coded in C. If you know C, you can participate in and contribute to numerous Open Source communities like Source Forge.

Can't argue with that. Also the poster couldn't argue with the fact that there are just as many Java, or C# or Delphi open source projects

8) C is the only language that teaches you what pointers really are. C# and Java skip the subject completely. It is pointers that give C its power.

And it's pointers that give C it's largest problem. I'd rather let Gurus write a compiler or Framework for me that takes away the need to worry about the nuts and bolts, and lets me get on with writing the application.

9) C is still the most commonly required language for programming jobs. It is well worth your time to get C under your belt.

Well this is arguable too. There is estimated to be more COBOL code in the world. Does that mean we should all learn COBOL too?

10) Anything that has a microprocessor in it has support for C. From your microwave to your cell phone, C powers technology.

Yip and there are usually other options too. I can program my Cellphone in Visual Basic if I want to....

Dont get me wrong. In certain circumstances C is the best fit, and I cut my teeth in the late 80's with C. But to say that every programmer should learn it is a little overstating things IMHO.

Friday, November 24, 2006

Building the Perfect Beast

This is a great article. I agree completely with Joel (usually do). I think this completely sums up the difference between programmers, developers, software engineers (geeks) and designers. A designer would have an off button, and we as developers tend to completely over engineer things and have every possible option we can think of.

I have being recently working with designers building websites. They think differently. It's a fact. And it's a good thing I think. Designers don't understand the short comings of CSS and HTML, and really that doesn't matter. We as programmers should find ways to implement their design where absolutely possible.

This should definitely apply to Software Applications too. UI should be fun and importantly, easy to use. It hardly ever is though. Why? Because most software UI is designed by the guy who writes it and never uses it. I hear users complain the software they use being useless. Usually it's not, but the UI and ease of use suck, so the user equates that to the software as a whole.

The other thing we need to do is to stop developing applications with the expert in mind. Most of the applications I use show all the options available to all users. Most users don't care about 80% of the stuff you can do in Word for example, when all they want to do is write a letter, so why should they see it. The ribbon bar is going some way I guess but we are a long way off building the perfect beast.

I think plugin schemes should be used more. Software shouldn't be all things to all people out of the box. I use Excel a lot but only for doing basic number crunching. Why can't I get Excel Basic, and if the day ever arose when I needed Graphs, I could purchase the Excel Charting plugin. You could charge $99 for Excel base and then say $50 for plugins. Not only could it potentially lower the bloat of modern software, but it could stop Piracy as users would have no reason not to pay.

Sometimes simpler is better....

Thursday, November 23, 2006

Debugging Compact Framework Apps on Vista

My trials and tribulations developing on Vista continues. As you may or may not know, Vista has a standard applet called "Windows Mobile Device Center" (another great name from the MS marketing department who get paid per word), instead of Active Sync.

This is great for Joe Schmuck who wants to plug in their Pocket PC or whatever. However if you are a developer like me it is a PITA. Visual Studio 2005 expects to see Active Sync, so when you try to debug/deploy it cant find AS so it throws a wobbly. A 30 minute intensive trawl on Google found the solution so here goes:

Basically because VS wants Active Sync, we must trick it into thinking it is still there. So open RegEdit and go to "HKLM | SOFTWARE | Microsoft | Windows CE Services".

If there is a key in there called MajorVersion, change it to 4 (mine was 6) and MinorVersion to 0. If they aren't there add them - they are DWORDS.

Restart VS and Roberts your mothers brother you should be able to deploy/debug to your PPC device.

Monday, November 20, 2006

What is your bloglebrity status?

I am a D-List blogger, but only miss out on being C-List by one link. Go on someone link me and let me move up the list ;-)

Article here

Vista Debugging IIS 7.0

Vista is a bit of a PITA for developing on. Because programs aren't run as admin by default, things like remote debugging and attach to process don't have the required permissions.

If you are opening an existing site in VS2005 and trying to debug by attaching to a process, you need to do the following: Tip/Trick here

Vista and SQL Express

For those of you using Vista and SQL Express you should read this
Blog post

Basically Vista doesn' give full admin rights to your user, and SQL Express kinda assumes you are. The post explains well.

Downloading SP2 of SQLExpress will also fix, but it is only CTP at the moment.

Sunday, November 19, 2006

Woohoo

I have finally made it into the top 10 list on On Blog list! Thanks to those that have helped me get me to where I am today, and above all else, thanks to the Office floor for all it's support. Virtual choccie fish to anyone who can answer where that rather obscure quote originated from.

Hint, you would need to have played 8bit games in the 80's.....

Saturday, November 18, 2006

Vista first Impressions

I downloaded Vista Ultimate off MSDN yesterday. I have just finished installing now and have been playing with it for the last 20 minutes or so. I couldn't get the Betas to work for me, so I am a Vista noob.

I upgraded from XP, rather than starting fresh. It installed/upgraded without a hiccup on my Dell Inspiron 9400 Lappie. I only have the Intel onboard graphics, so things could be a little better there, but I have 2Gb Ram and 2Ghz Duo Core, so no shortage of grunt to run things. It runs about as fast as XP. Somethings take a little longer to load, some take less. Internet seems a little faster, although it is getting pretty late (12am) so that is probably as much a factor.

The warnings when trying to run Sysadmin type apps are a little annoying. The sidebar gadgets are great and have downloaded a few extra's. Once either yahoo messenger or Gaim becomes available as a gadget that will be even better.

I guess the major change is the Aero interface. I must say I like it a lot. Seeing as I have fairly lowly graphics, my system is probably not doing it justice. Having said that it is still (IMHO) more of a programmers take on how good UI should be, rather than a designers idea. KDE and OSX are still better, with XGL on KDE showing genuine ingenuity. One thing I wish MS would "borrow" from X Windows is the virtual desktop system. It is the main thing missing.

Overall though I think Vista is a worthy successor to XP and I rate it so far as a 7/10. Well worth upgrading to.

Tuesday, November 14, 2006

ICT WTF?

<rantMode>
I get NZ Computer World delivered weekly. It's a so so industry rag to be honest. It has very little local content, with most of the articles coming from the US sister publication. It's a little disappointing to me they don't use more local writers to produce articles. There is a strong I.T. community in NZ and many of these people produce blogs and are good writers whom could do as good a job as a US expert.

These sort of weekly publications are becoming less and less relevant in the age of the blog, but hey it's a tax right off and some of the articles are good.

Anyway, I have noticed that in the last few weeks they have been pushing the phrase I.C.T. like crazy. It stands for Information and Communications Technology apparently, instead of just Information Technology which is the current standard. Call me old fashioned but isn't "Information and Communications" a redundant statement? What is communication without information? Waffle perhaps? Hmmmm. Journalists. Waffle. Yeah I guess I shouldn't be surprised. (Those who can: do. Those who can't: write (Yes I do see the irony there)).

BTW anyone who is really involved with "IT" would rather die than call themselves ICT professionals. I much prefer any of Techie, Developer, Geek or even Computer Guy. ICT sounds like something a politician invented.</rantMode>

Sunday, November 12, 2006

Box Model Hack

I used to be blissfully unaware of things such as the Box Model Hack.

As primarily a Windows App developer, and sometimes ASP.NET developer I didn't need to know about the intricacies of CSS and standards compliant XHTML. I have been doing a lot more Web Apps/Sites of late and have unfortunately come across the "wonders" of IE's interpretation of how HTML should be rendered. I now understand the hate and vitriol web coders have for IE. All I can say is download FireFox and use it. The more people using Firefox the better in my opinion.

Two reasons:
1 - it's a better more secure browser
2- it renders HTML the way it should be rendered

I'll get back to my CSS file now and try and get the site I'm coding to look the same in all browsers. That aint easy ;-(

Wednesday, November 01, 2006

(C#) Interview Questions

Seems to be the trend at the moment to post some interview questions on your blog. So not being one to buck a trend, I thought I would do the same.

Some of the questions I have seen are more pop quiz types questions. For example: Name 5 C# data types?
To me these questions like this are stupid. I don't care if someone can recite the entire class library word for word, I care about how much of an understanding of actual programming someone has. My questions are more aimed at creating an insight into how someone thinks, and perhaps starting a discussion. I prefer open ended, no one right answer questions.

Without further ado, here are my questions...

1. What are you thoughts on the following?:

try
{
...
}
catch (Exception ex)
{
...
}

The answer should create an insight into how deeply the developer thinks. I think catch all exceptions are the devils spawn, but would be interested in learning justification someone might have for using

2. Name your favourite feature of .NET 2.0? Why?

Just a matter of interest. Should get the person talking.

3. Explain the difference between an Interface, and an Abstract class.

If the person knows the difference then it shows they have created bases classes or at least know about OO programming.

4. In your opinion, when should you use each?

Just to try and see if they have an understanding of the difference, not just know what each is.

5. How do you define the n-tier model?

Again it should be reasonably clear from the answer if the person has actually don e n-tier design/programming

6. When passing data between tiers, do you prefer passing a custom class, or something else such as a Dataset? Why?

Always interesting to hear peoples approach to this. Also it demonstrates what level the person has. I.E a junior - intermediate may not have had to worry about this before.

7. Who is Anders Hjelsberg?

I would want people who take an interest in the language they use. If they do then they will know who Anders is, or at least heard of him

8. Explain the terms Pascal Casing and Camel Casing.

Most people should know what these mean, although not a show stopper if not

9. Explain your coding standards for: a member variable, a parameter, a method, a class an interface and a local variable.

This question just shows if people have thought about standards or not. Any good developer should have a fixed standard they stick to. It is good to discuss their reasonings for using a particular standard. For example I use m_(camelCase) for member variables because I feel it is easier to read and harder to transpose the variable by mistake.

10. What is your understanding of a business layer?

Everyone has a different idea about what a Business Layer should be and do.

Coding Tasks

Here are some coding tasks that could be given at an interview. Obviously not enough time to do them all....

1. You are creating a basic accounting application. Create a business layer stub which would allow the application handle Creditors, Debtors and Invoices. Just create any classes needed, the variables needed and the method headers. In each method, just add a comment as to what the method will do. As a starting point, the database has been created where the business data will be persisted to.

I think this would be an interesting task to give. It shows the interviewee's ability to take a problem and apply their skills to it. We're not really that interested in the actual coding, just the design and thinking behind it. I would expect most people to either create custom classes based on the database, or create an approach based on datasets which will be passed between layers. I am a student of the Rocky Lhotka approach to business layers where the business classes shouldn't just replicate the table design, it should define a behaviour, and can include data from several tables.

2. Create a simple Webservice that given two numbers, returns the sum of these two numbers.

3. Create a console application that consumes the Webservice created above.

Fairly simple task that anyone worth hiring should handle in 30 minutes or so.

4. Give them an application with a number of bugs, some compile time, some runtime and get them to fix as many as possible in a given time.

5. Explain to the interviewee that they can use any datastore they like - have MS Access, SQL Express, SQL Server installed on the test machine - create a simple application to store contact details.

Give no hints on what you are after, give them a set time (60-90 minutes) and then let them loose. Good developers should work out what is important given the time constraints. I would prefer a well engineered solution that wasn't finished, than a slap happy finished product. Above all else it should show how people think about design and give an indication about their ability. Afterwards, let them explain why they did X and give justifications for that approach.

Comments welcome....

Thursday, October 26, 2006

Broadband Study: Part 3

Today Xtra brings onstream the new jetstream plans, so I figured it was a good time to revisit the pricing. In May, I undertook a plan to check on the broadband plans every 3 months or so, and see what if any changes the local loop unbundling announcement has made.

After the first 3 months nothing had changed. Has anything changed in this 3 month period? We shall see:

Slingshot:
New plans to be announced
IHUG
No change
Orcon
Have new plans. Effectively dropped prices by $10 but have to buy data in blocks, which is a little confusing.
Xtra
Again no real change in price, just data caps have changed a little and faster speeds available.

Effectively the new broadband plans are in fact not new. All are pretty much the same price but we now get "full" speed. Basically Telecom have pulled the rag out of the pipe allowing full throughput(down) to keep us simpletons happy for another 5 minutes.

So they are supplying the service they should have from the start, telling us they are great for doing it and we are all happy. Sometimes you gotta wonder about why we accept this sort of treatment in this country....

IT Shortages - a solution

I watched ASB business this morning. Paul Brislen from ComputerWorld was on talking about a shortage in the "ICT" industry (whatever that is). He made one pertinent comment. Because there is a worldwide shortage of IT workers it is almost impossible for New Zealand to compete against the US and the UK. I mean anyone with half a brain could contract in the UK for 300 quid a day and pay rates in the US are way more than here. Forgetting Visa issues of course!

Ok, the counter argument is the quality of living in NZ vs those other countries. I can't comment on that - I've only lived in NZ and Australia.

The major problem I see with NZ is that most "IT" jobs are in Auckland and Wellington. Traffic, housing and other issues in Auckland are so bad then you might as well live in Sydney or Melbourne and get paid significantly more. Whereas Wellington is probably ok, but who would want to put up with the wind all the time - not just from the politicians either.

So the answer? Well two possible solutions. Solution 1 is not realistic, but it would be to move IT operations to the provinces or places like ChCh or Dunedin where the cost of living is a bit lower.
Solution 2 is to pay a DECENT FRICKING WAGE. Obviously we can't compete with London or New York as far as pay rates go, but if a Senior programmer in NZ could earn say $100-$150k then I would think it would be a lot more enticing to stay. Better than the relative pittance most get at the moment - $65-85k.

A lot of companies might say they can't afford those sort of salaries, but my argument is, can you afford not too?

Tuesday, October 24, 2006

iWoz review

I got >iWoz on Friday of Labour weekend and finished it yesterday.

It is the autobiography of Stephen Wozniak, the man who invented the personal computer. He invented the Apple I and II computers which started off the revolution. The book pretty much chronicles his early years through to leaving Apple and setting up another company making programmable remote controls.

As with much of Woz's stuff, it is pretty much like reading a transcript of a taped conversation. As such I found it very easy to read, although he did recover topics and subjects a fair bit - including pretty much repeating the entire section about setting up the CL9 company. I'm not sure if that was intentional or bad editing?

It was a fantastic insight into how Woz created the early Apples, and how he got involved with electronics from an early age. Along the way he clears up a few misconceptions about himself.

I would definitely recommend this book to anyone, but particularly those with a technical bent. Woz comes across as a highly intelligent yet down to earth kinda guy - a little quirky, but the sort of guy you would love to sit down and shoot the breeze with. I get left with the impression that had the success with Apple not come around and he had lived his life working for HP, he would be just as happy as he is today. To him the money has little or no significance, it's engineering that he loves and would do it all again for free.

I think that in a nutshell says a lot about the guy.

C# 3.0 will rock - but hard to read?

Take a look at this example of Lambda expressions in c# 3.0

The power if the new LINQ style syntax for things like lists is obvious. For example the following:

var q = from i in list where i > 10 & i <20 select i;


That is going to be great for productivity. That is without question. But going back a few weeks or months later to revisit you code, well that's I think will be different. Usually with code (mine anyway) you can get a pretty good idea what is going on by skimming. With the example above, you really need to read the line start to finish to get a good understanding what is happening.
I hope as I/We get used to LINQ style syntax it will become easier to skim read.

Monday, October 23, 2006

Farewell Schumacher

Today was Michael Schumachers last race. Sadly an engine problem in qualifying and a puncture in the race meant he finished his last race in 4th. It was a brilliant drive to come back from 70 seconds down at one stage, but he just ran out of laps in the end.

It was a strange way for a career to finish - while challenging for the championship his usual luck ran out. An engine failure in Japan while leading and the tyre problem today meant an ending not befitting the best racer in history.

Karma's a bitch I guess! Schumacher while being an undoubted talent will forever have an asterix against his name. His actions on the track at times have been unsporting to say the least and that is something he will have to live with as he reflects on his career over the next few months and years. To me it doesn't take the gloss off an unequalled career.

More wins and poles than anyone in history say it all really. But as always no one person is bigger than the sport they compete in, and F1 will go on. It is shaping up to being an outstanding year in 2007. Schumacher will be missed, but roll on 2007!

Wednesday, October 18, 2006

Time for a change....

I have been busy busy busy lately. I have a 9-5 job (well 7-4) and after hours have been contracting to Hamish over at Verb. Something had to give, as 12-15 hour days and not having time to play with my 5 month old daughter, was getting a little old.

So I have been offered a full time gig at Verb and have decided to take it. It is only short term at the moment - we haven't worked out the full details yet - but I think it is a great opportunity for both parties. Verb is going places and I want to be part of it, and it will be great getting back to coding full time again.

Monday, October 09, 2006

Great Work Ford!

King of the Mountain sent off in style

As usual on the 2nd Sunday in October, I sat infront of the box all day and watched the Great Race

This year was different because of the tragic death of Peter Brock. The send off before the race was poignant and in typical Australian manner. The race itself was full of carnage, with many safety car periods. It interrupted the flow of the race, but kept it tight until the very end.

It was fitting that on the day they fair-welled Brock, his protege and great friend, Craig Lowndes should break the drought for Ford. He was teared up as he crossed the finish line and quite a few on the hill probably were too.

Great result for Ford and all Ford fans who have been waiting since '98 for another win at Bathurst. As a born again Ford fan it was a great result and I was on the edge of my seat for the whole race, but mostly the last 10 laps when it became clear that Lowndes might actually do it.

Great day, great race, great result.

However, it was all put into perspective with the tragic news of Mark Porter dieing from his injuries from a crash on Friday at Bathurst. Our thoughts are with his family at a time like this.

I just hope that the wowsers don't use the deaths of the likes of Mark Porter and Peter Brock to try and water down or even ban racing. The wouldn't have wanted that, and in the end it would just cheapen their lives.
These accidenst are unfortunate and tragic, but there are accidents. I think a lot of the time we are too quick to look for someone to blame. May be we should accept that sometimes, regrettably accidents happen, and look to how we can learn and increase safety so that if the accident happens again, we can give the driver involved a better chance of survivial.

Friday, October 06, 2006

Beam me up Scotty

Well not quite but this is freakin cool

I don't think they will be transporting solid matter objects the size of say, a human anytime soon. The implications for computing and communication however are huge. Sending bits of data using this method without the need for wires. Potientially over vast areas. I'll leave you to dream of the applications this could bring.

Wednesday, October 04, 2006

Pushing NZ IT to the world

Rod has an interesting post about striving for more as an industry.

I fully agree with what he says. I firmly believe that we as developers in New Zealand are some of the best in the world. Because our fish pond is so small, as a developer we can't afford to specialise too much. We need to be able to design, develop, test and profile. We need to be customer facing. We need to know T-SQL and OO and SOA and Agile and Webservices and all the other buzzwords. Above all else we deliver solutions for the sort of budgets that wouldn't buy lunch in other parts of the world. We are intelligent, problem solvers. Our salary expectation is low. (too low IMHO)

Why then, aren't we a world power in IT services and products?

That is a hard question to answer. A think a lot of it is the fact we are so isolated. Our strength is also our weakness. While we are famous for thinking outside the square, we also think too small. The isolation also means it is very hard to get the product to market. Perhaps the answer is to piggyback on the contacts and drive of people like Rod and his peers? Maybe the answer is to setup companies in the States and Europe to push our products and ideas to the world. Rod thinks the answer is capital investment in software companies. I think this is partially correct, but the companies also need people driving their products to the world, and contacts in business around the world. That is the hard part in my opinion.

I do a bit of work for a local company. The have big dreams and a great product. I think they are the sort of company that would go ahead in leaps and bounds with a little capital investment. It's a big call though, going from a small company doing pretty well, to taking on more staff and hoping the clients will come. I think a lot of companies around NZ face the same problem. It's a bloody big call to get out of your comfort zone and risk it all. It takes a lot of confidence in yourself and your product. I think maybe a lot of companies are happy with their lot, and that could be a major factor as to why we aren't bigger players on a world scale. It's taking that first step into the unknown that is the hardest.

What is the old saying? How do you eat an elephant?

One bite at a time.

Friday, September 29, 2006

PM's husband responds - "Yes I am gay. I married a man didn't I?"

That headline is just a test. It seems the more grabbing the headline the more people read this blog. The headline "Hamster Injured in land speed record", got 3x the page views than "Merge Replication revisited" for example.

Just a test. No lawsuits please.

Wednesday, September 27, 2006

Merge Replication revisited

Merge replication services from SQL 2000/2005 to SQL Mobile 2005 is great. When it is setup.
I have to set it up from time to time. Usually long enough gaps that I forget how to do it! The main problem isn't the setup, like I say if it works it just works, the problem is if it doesn't work. The error messages that get returned are practically useless.

Case in point: Today I setup a new publication from SS2000 to SSM2005 on a PDA. I have a VDIR setup already from another publication, it has the appropriate permissions and works fine. I figured that all I would have to do is setup a new publication, point it to the VDIR and have the snapshot point to that folder. Which is infact what I have to do.
However, in my config file on the PDA, I had the URL one character out. The error message that returned was just plain stoopid.Something along the lines of "IIS has encountered an error. Please restart IIS on the server". Erm, wtf? Even the IIS log wasn't helping much. Anyway, after going through every setting I saw my mistake, fixed it and hey presto Merge Rep works like a charm.

Tuesday, September 26, 2006

Article by JC about Hamster crash

This article is without a doubt, one of the best articles I have ever read. It articulates exactly what I was thinking about the crash, the future of Top Gear and the current "Find a scape goat" mentality we seem to have developed as a society.

Thursday, September 21, 2006

Hamster injured in land speed record attempt

Richard from my fave show Top Gear was injured today filming for the next series.

Story Here

Update: His condition has been eased to Stable from Critical, which is great news.

Resolution to the Flight Centre issue

Craig has come to an amicable agreement with Flight Centre. I am glad they came to the party and should be congratulated in the end.

I would like to think the blogosphere played some part in helping reach a settlement. We have a friend who works at Flight Centre, and didn't feel strongly enough not to book flight's through her, but I do feel that injustices should be put right.

The is a discussion going on over at Tims blog. I take the opinion that you shouldn't rewrite history. Let the facts speak for themselves and let the reader decide which side of the fence they stand on. Assuming that all sides have an opportunity to have their side of the story voiced, which I believe has happened in this occasion.

In the long run I don't think this has damaged Flight Centre too much, and hopefully they have taken something out of this.

Getting Application Path in Compact Framework

Application.StartupPath is not supported under CF. Usually you would use System.Relection to get the Application Path using:

string appPath = System.Relection.GetExecutingAssembly().Location;

But again this isn't supported under CF so you have to:

string appPath = Assembly.GetExecutingAssembly().GetName().CodeBase;
appPath = System.IO.Directory.GetDirectoryName(appPath);


Easy eh?

Wednesday, September 20, 2006

Loud Shirt Day this Friday - pass it on

Friday is Loud Shirt Day. I'm sure as developers we have several loud Hawaiian shirts in the back of the closet somewhere.

I will wear my personal favourite

Rewarding Good Customer Service

For anyone that has been following the Flight Center debacle , customer service is a touchy subject. While we are quick to highlight bad customer service such as Craig received, we tend not to wax lyrically about good customer service.

My personal philosophy is that you people shouldn't be defined by their mistakes, but how they respond to the mistake. Flight Center were terrible, and have finally made up for their mistake after concerted pressure by the blogosphere.

I would like to take the opportunity to congratulate Expansys. They overcharged me for an item ( Socket SDIO barcode scanner). It didn't show up until we got the Credit Card statement. I emailed them the mistake, and they took my word for it, and reversed the charge.

Obviously to Expansys, goodwill is worth a lot. Well Done, and I would recommend Expansys to anyone wanting PDA accessories.

Tuesday, September 19, 2006

Shiver me Timbers mateys

Shiver me timbers!
Today be INTERNATIONAL TALK LIKE A PIRATE DAY YAAARRGGH!
All ye lily-livered landlubbers and scurvy dogs best be talking like a pirate yarr, or ye'll be facing the plank!
Aye, e'en the wenches and sprogs yarrggh!!
It be a fine day for a bit o swashbucklin, swag-liftin and piracy oh aye!
So all ye keelhaulin, lootin curs don't be shy me hearties If any squadrons o land scum be eyein ye lass or ye doubloons show no quarter YAAARRggh!!!

If ye be after any tips on how to talk like a buccaneer ye can check out tharr:

Link here

YAAAARRRGGHH!

Monday, September 18, 2006

Test the Nation '06

I have been watching Test the Nation 2006 tonight. I'm not a Nutritionalist, or Doctor so probably not qualified to comment, but hey it's my right of free speech!

Some of the "facts" given by the "experts" were a little annoying. The "Evil Diet (b)Witch" and her side kick were so smug about their viewpoint. This was highlighted by the discussion on Margarine vs Butter. The Naturalopath's took the Holistic approach, saying Butter was better because it is natural. The diet (b)witch completely dismissed butter because it is high in fat. I agree with the Naturalopaths myself. You have to take the world view rather than a blinkered view that low fat is the best.

It was suggested the Margarine has been linked to some cancers, but they were completely dismissive of this.

The other thing I took issue with is the Cholesterol part of the risk test. My wife and I both scored 3 points in this section. This equates to elevated risk. The test didn't take into account exercise, which studies have shown to reduce "bad" cholesterol and increase "good" cholesterol. We scored 3 because we use olive oil to cook, occaisonally use marge, and sometimes eat cheese.

Man, the experts may be exteremely healthy, but have a very boring life! I think the key to life is exercise well, and eat what you like - in moderation.

Tuesday, September 12, 2006

Microsoft Naming committee at it again

Atlas is to be renamed.

The client side will be called - "Microsoft AJAX Library" and will work in all browsers. The Server side will be called - "ASP.NET 2.0 AJAX Extensions".

Is their marketing department paid by the word or something?

Saturday, September 09, 2006

Shame on you Flight Centre

This article outlines a sorry story about bad service and a company not willing to pay for their mistakes.

It's been a bad week....

I was no fan of Steve Irwin, but understood the grief with his untimely passing.

Peter Brock was different. He was my childhood idol. I played soccer as a kid, so didn't idolise any specific All Black, or any soccer player really. In fact as a kid I didn't really idolise any sporting people. That was until I saw Peter Perfect driving around Mount Panorama. He optimized everything a role model should. He was a gentlemen and top bloke off the track, and on the track he was uncompromising, unrelenting and very very fast. His biggest asset was his Aussie larrikin, almost impish demeanor and unending positive outlook.

He was an Austalian icon, a legend in New Zealand, and to a small boy in the 80's, living in rural New Zealand, a hero.

Goodbye Peter, thanks for the memories. God we'll miss you.

Friday, September 08, 2006

Writing Business Software Easy?

I read a blog post the other day. I can't find the URL but it was basically saying that writing business applications is easy, and boring. The writer said that standard CRUD type code is so fundamentally easy, that anyone could work it out.

This is true. An entry level programmer can easily work out how to code CRUD level code, in a standard business application. BUT. That is one very, very small part of writing a business application. I have been writing code for well over 10 years now, so I think I have enough experience now to categorically state that writing business applications is easy, but architecting apps is hard. Very hard in fact.

It takes a good deal of experience, trial and error and frankly, cock ups, to get the sort of experience needed to architect a successfull business application. The main problem lies in the fact that there is many ways to skin a cat, and no one way is better than the other. It takes someone with a wise head to think through the issues and come up with the best approach for that particular application.

Take for example, a typical n-tier application. There are many questions you need to answer before you can start coding.
Things like:
- how will you pass data between tiers? DataSets? DataReaders? Custom Objects?
- how many users will be using the app concurrently?
- what are the possibilities of deadlock issues?
- what sort of lock mechanism do you need? Table level? Row Level? Field Level?
- will the tiers be located in different sites? If so use web services or remoting?
- what are the chances the data provider will change? Use a data factory pattern?

I could go on. These are easy questions to ask, but not so easy to answer. It takes someone with knowledge and experience to even know what questions to ask, let alone come up with the correct answer.

So, is writing Business software easy? Maybe, but only if it is architected well.

Programming
.NET

Thursday, September 07, 2006

Wow my blog is worth $8k!?

According to this my blog is worth about $8k. (I am about 15 on the list). I am asumming they are getting the data from Technorati links and assigning a value somehow?

I'd gladly sell for that! I haven't made a cent off this blogging lark, and don't expect to. I don't think that is the point. The reason I got into blogging, was as a bit of a vehicle for my rants, and maybe get my name out there a bit. I have always fancied a job writing for an IT rag, so I guess this is the next best thing.

Blog Worth

Wednesday, September 06, 2006

Pay rates, Brain Drain and politics

I'm far from a political person. I don't really have time to worry about which flavour of idiot is running the country. To me they are as bad as each other, but I'll leave the country running to them, while I get on with the real work.

One thing that does annoy me is the lipservice politicians pay to the I.T. industry. I have always thought - and still do - that NZ would make the ideal Outsourcing country. We speak English as our first language, we are brought up to think outside the square, and we have technical ability to match anybody. Add to this the time difference - we can be working overnight for Europe, and we crossover the working day for the US.

And we come cheap. Which comes to the point of this post. I get Computer World every week and read the Job Sections with interest. Every week there are jobs that read along the lines of - "Senior Developer/Team Lead, 5-10 years commercial experience, ability to lead a team or project. $65-75k"

Come on people. $65 - $75k for the top of the tree in a highly specialised field. To me that is ridiculous. It is no wonder people are bailing overseas. Until we get real with pay rates in this country people will continue to look further afield to get ahead.

The government has introduced tax benefits for film studios making movies here. That is great and good luck to the movie industry. Why don't they offer tax breaks from companies setting up IT operations here?

Pesimists would argue that we would struggle to find enough people to fill the jobs. My arguement to that is, pay peanuts get monkeys. If the companies were able to pay on a world scale, then surely people would have no reason to look further afield and ex-pats would look at returning.

I mean we are the best country in the world in every other respect.

Monday, September 04, 2006

Best Fathers Day present

Yesterday was my first Fathers day. Had a good day. Of course Maddy had no idea only being 3 months old.

I got a book by Jezza and some socks. The best present though was when I switched the TV on at 7:30 expecting to see a tired old repeat of Top Gear. To my surprise and joy it was a new series. Brilliant. If you haven't seen it, check it out. You don't have to be a car nut to enjoy it. It's on Prime at 7:30 every Sunday IMHO it's the best show currently on T.V.

Brighten up your Monday

Mondays suck. Here is a couple of songs to lighten things up:

My Cubicle


Code Monkey

Wednesday, August 30, 2006

ASP.NET ActionPack

Link Here

The ASP.NET Action pack is a "zero code DAL" inspired by Ruby On Rails. I have watched the video and it looks nice. Haven't tried to do any code yet, but will report back when I have.

ProgrammingASP.NETdotnet

Thursday, August 24, 2006

New Zealand Drivers

I come across this in my sent items from Outlook when I was doing a clean up. It was a post I made to the .NET NZ Developers List a year or so back. The topic was something to do with salaries are cars, but I posted my thoughts on NZ drivers. I believe the points are as true now as they were then. So here are my observations in no particular order

Changing the subject a little, I used to drive up to 1000k a week and from my experience (please don't take anything seriously if you own one of the
following)

Holden Drivers tend to think they are Greg Murphy and drive accordingly, usually in a Piece of Sh*t that they've convinced themselves is an HSV

Subaru drivers are the worst on the road, probably due to the fact that they think 4wd makes them bullet proof

Toyota Corolla's are usually driven about 20k less than the speed limit and have a bowling hat on rear parcel tray

Most Ferrari's and Porsches are driven by middle aged men with a balding head and a long pony tail

The majority of SUV's never go off road, Toyota Prado's being the worst.

There is an unwritten law to travel at 95kph on the open road, up until passing lanes where the acceptable speed limit is 150kph.

A large percent of drivers don't know the basic road rules. Just look at any intersection where the traffic lights have failed. Give way to the right rule is overridden by the "Give way to bigger vehicles" law.

Speed Cameras are not to slow down traffic, but to pay for Auckland's roads.

There are a section of drivers whose driving ability is inversely proportional to how good they think they are. They generally are the ones who drive "by touch" on the open road. You know the ones that travel about a coat of bumper paint off the back of your car. Their cars ABS system obviously doesn't obey the rules of physics.

Caravans are magnetically attracted to the center line, and enjoy being popular by having a kilometers worth of traffic behind them.

Online Office "Clones"

According to some pundits these web applications are the beginning of the end for Microsoft. They argue that people will use these applications for free in difference to Excel and Word. Heady stuff indeed. But, how much truth is there in that? I thought I would try out the offerings and see if I would use them instead of Excel or Word.

Google Spreadsheet ( http://spreadsheets.google.com )

Google spreadsheet is still pretty basic. It will do all the basic things like formatting, coloring backgrounds and sorting. It doesn't do auto fills which is a major to me. No charting that I could see either. It is pretty snappy.

Rating - 45%

Zoho Sheet ( http://zohosheet.com )

Crashed Firefox (1.5.0.6) twice so didn't evaluate.

iRows ( http://irows.com )

The UI of iRows is very nice. It took a while to load, but once it did you couldn't really tell you were using a Web page. It does everything that google spreadsheet above does, plus has charts built in. You can also drag and drop copy selected cells. Again, I couldn't find a fill function.

Rating - 55%

EditGrid ( http://editgrid.com )

Again the UI of Editgrid is very good. It loaded quickly and was easy to use. EditGrid has the standard features you would expect except charting. The major plus for Editgrid is that it DOES do auto fill. Type Jan pull down 12 columns and it fills in the rest of the months. Big tick for that.

Rating - 60%

So would I use any of these online challengers to Excels crown? Well no. Not for anything other than very basic stuff. Maybe I would if I wanted to share and allow others to update my sheet. That is the only reason I can think of at the moment. Given time however, I can see online version becoming more and more useful. So I guess the final answer is, watch this space.....

Monday, August 21, 2006

Growing up in New Zealand

There is an email going around about growing up in NZ (see below). As a child of the 80's this is so true. Man things were easy back then. We used to go and build huts down at the river from dawn til dusk in the never ending school holidays. No one seemed to worry about us. We weren't worried about being abducted or anything like that. We got into a little but of trouble from time to time - usually involving firecrackers. We'd ride our bikes around on the main highway, hang out unsupervised, basically we were kids and we weren't over protected. Above all else, we were outside all the time, even when it rained. I get a bit sick of the children of the 00's(?). They have everything - Video Games, Computers, the internet, reliable transportation, cheap toys and games etc, and they still complain about being "bored'.  The only person who is bored is a boring person....

BTW it's quite long but well worth the read if you haven't already.

I'm talking about hide and seek/spotlight in the park. The corner dairy,
hopscotch, four square, go carts, cricket in front of the garbage bin
and inviting everyone on your street to join in, skipping (double
dutch), gutterball, handstands, elastics, bullrush, catch and kiss,
footy on the best lawn in the street, slip'n'slides, the trampoline with
water on it (or a sprinkler under it), hula hoops, jumping in puddles
with gumboots on, mud pies and building dams in the gutter. The smell of
the sun and fresh cut grass.

'Big bubbles no troubles' with Hubba Bubba bubble gum. A topsy. Mr Whippy cones on a warm summer night after you've chased him round the
block. 20 cents worth of mixed lollies lasted a week and pretending to
smoke "fags" (the lollies) was really cool!.. A dollars' worth of chips from the corner take-away fed two people (AND the sauce was free!!).
Being upset when you botched putting on the temporary tattoo from the bubblegum packet, but still wearing it proudly. Watching Saturday morning cartoons: 'The Smurfs', 'AstroBoy', 'He-man', 'Captain Caveman','Teenage Mutant Ninja Turtles', 'Jem' (trulyoutrageous!!), 'Super d'',and 'Heeeey heeeeey heeeeeeey it's faaaaaaat Albert'. Or staying up latea nd sneaking a look at the "AO" on the second telly, being amazed when you watched TV right up until the 'Goodnight Kiwi!'
When After School with Jason Gunn & Thingie had a cult following and What Now was on saturday mornings! When around the corner seemed a  long way, and going into town seemed like going somewhere. Where running away meant you did laps of the block because you weren't allowed to cross the road?? A million mozzie bites, wasp and bee stings (stee bings!).Sticky  fingers, goodies & baddies, cops and robbers, cowboys and indians, riding bikes til the streetlights came on and catching tadpoles in horse  troughs.
Going down to the school swimming pool when you didn't have a key and your friends letting you in, drawing all over the road and driveway with chalk.
Climbing trees and building huts out of every sheet your mum  had  in the cupboard (and never putting them back folded). Walking to school  in bare feet, no matter what the weather. When writing 'I love....? on your pencil case, really did mean it was true love. "he loves me? he loves me not?" and daisy chains on the front lawn. Stealing other people's flowers from their gardens and then selling them back to them...
Running till you were out of breath. Laughing so hard that your  stomach hurt. Pitching the tent in the back/front yard (and never being able to find all the pegs). Jumping on the bed. Singing into your hair brush in front of the mirror, making mix tapes... Sleep overs and ghosts stories with the next door neighbours. Pillowfights, spinning round, getting dizzy and falling down was cause for the giggles. The worst embarrassment was being picked last for a team. Water balloons were the ultimate weapon. Weetbix cards pegged on the spokes transformed any bike into a motorcycle. Collecting WWF and garbage pail kids cards.
Eating raw jelly and raro, making homemade lemonade and sucking on a Rad, a traffic light popsicle, or a Paddle Pop... blurple, yollange and prink!
You knew everyone in your street - and so did your parents! It wasn't odd to have two or three "best friends" and you would ask them by sending a note asking them to be your best friend.
You didn't sleep a wink on Christmas eve and tried (and failed) to  wait up for the tooth fairy. When nobody owned a pure-bred dog. When 50c  was decent pocket money. When you'd reach into a muddy gutter for 10c. >When nearly everyone's mum was there when the kids got home from school. It was magic when dad would "remove" his thumb. When it was considered a great privilege to be taken out to dinner at the local Chinese restaurant (or Cobb'n'Co.) with your family.
When any parent could discipline any kid, or feed her or use him to carry groceries and nobody, not even the kid, thought a thing of it. When being sent to the principal's office was nothing compared to the fate that awaited a misbehaving student at home. Basically, we were in fear for our lives, but it wasn't because of >drive-by shootings, drugs, gangs, etc. Our parents and grandparents were a much bigger threat! Some of us are still afraid of them!!!
Remember when decisions were made by going "eeny-meeny-miney-mo" or dib dib's-scissors, paper, rock. "Race issue" meant arguing about who ran the fastest. Money issues were handled by whoever was the banker in Monopoly. Terrorism was when the older kids were at the end of your street with pea-shooters waiting to ambush you, or the neighbourhood rottie chased you up a tree!
The worst thing you could catch from the opposite sex was boy/girl germs, and the worst thing in your day was having to sit next to one. Where bluelight disco's were the equivalent to a Rave, and asking a  boy out meant writing a 'polite' note getting them to tick 'yes' or 'no'. When there was always that one 'HOT' guy/girl. Having a weapon in school meant being caught with a slingshot. Your biggest danger at school was accidentally walking through the middle of a heated game of "brandies".
Birthday beats meant you didn't want to go to school on your birthday!Scrapes and bruises were kissed and made better. Taking drugs meant scoffing orange-flavoured chewable vitamin C's, or swallowing half a Panadol. Ice cream was considered a basic food group.  Going to the beach and catching a wave was a dream come true. Boogie  boarding in the white wash made you the next Kelly Slater. Abilities were discovered because of a "double- dare". Older siblings were the worst tormentors, but also the fiercest protectors.
Now, didn't that bring back some fond memories??

Getting ActiveControl in Compact Framework

 The Compact Framework does not have a property for ActiveControl. This is a bit of a PITA really. The following is some code that you can use to add an Active Control to your forms:

public virtual Control ActiveControl
{
   get
   {
      return GetFocusedControl(this);
   }
   set
   {
      if (!value.Focused)
      {
         value.Focus();
      }
   }

}

private Control GetFocusedControl(Control parent)
{
   if (parent.Focused)
   {
      return parent;
   }
   foreach (Control ctrl in parent.Controls)
   {
      Control temp = GetFocusedControl(ctrl);
      if (temp != null)
      {
         return temp;
      }
   }
   return null;

}
I normally just add this in the form.designer.cs file to get it out of the main code, or you could create a new class called ActiveControlForm or something and bang it in there and inherit all your forms from this rather than System.Windows.Form.

Thursday, August 17, 2006

Testing Windows Live Writer

I am just testing out the Windows Live Writer beta. Available Here

It looks quite nice so far. Has the "Office 2007" look and feel. Live Writer hooks into most popular blogging engines such as WordPress and Blogger. One thing with Microsoft currently though, who is coming up with the names? Windows Live Writer - bit of a mouth full. Some of the other names they have come up with recently are equally verbose. A list off the top of my head

  • Windows Workflow Foundation
  • XNA Game Studio Express
  • Microsoft Expression Web Designer
  • Windows Communication Foundation

I guess it tells you what it is, but I like catchy one word names.

One option I wish that Windows Live Writer (WLW?) had was the ability to insert Tags from Technorati and others - I can never remember the correct format. 

Blogging

Tuesday, August 15, 2006

Free Framework to create games in Win and Xbox360

Info Here

Microsoft have created a framework called XNA specifically aimed at the Student / Hobbyist market. It is built on C# Express and is completely free. Initially for Windows, but it will create binaries for the XBox360. There is a US$99 fee to allow creating and debugging on XBox360 though. This is for membership to the "Creators Club".

I haven't read too much about it yet, but on the surface this looks really cool. Just wished I had a little more time to spend exploring this. I used to make 2D games in DOS using Borland C++, back in the days when VGA ModeX was pretty leading edge. Back then you wrote directly to the VGA memory. I suspect things have moved on a little since then.....

programming
games
microsoft

Tuesday, August 08, 2006

Turbo is back!

Borland Brings Back Its Turbo Tools

I spent my formative years (in both programming and life terms) learning how to program using Borland's Turbo range of tools. I started in the late eighties using Turbo C/C++ 1.0 and Turbo Pascal 5.0. They were great tools, and well ahead of the competitors at the time. The were pretty much the first toolset to use the IDE paradigm to its fullest.

It's great news then that Borland (or whatever they will be called) have decided to go back to the future, so to speak, and rebrand the current toolset under the Turbo brand.

It has been stated that the Turbo range - Turbo C++, Turbo C#, Turbo Delphi for Win32 and Turbo Delphi for .NET - are aimed at hobbyist, student and independent professionals. The professional version for example will be under $500US. I think this is a good move, as in my experience, most Delphi users are independent contractors or small software shops.

If this is the sort of thinking we will see under the new DevTools spinoff, then I think the future is bright for Delphi.


Blogged with Flock





Friday, August 04, 2006

Bunch of Free Microsoft software

The Road to Know Where: Ultimate List of Free Windows Software from Microsoft

Microsoft take a lot of shit about being money hungry and are the arch villain in the software world. Those of us who aren't penguin zealots know differently. They give away a lot of free software development tools and database engines. The source isn't published sure, but I really dont care about that.

If you add the free software Microsoft makes available, to the wealth of free information in the form of things like Webcasts, Documentation and websites such as Channel 9 then they really should be commended not lambasted.I really fail to understand a lot of the time where the angst is coming from. I will acknowledge that in the past there has been some fairly dodgy practises at Microsoft, but from my point of view as a developer, they go out of their way to supply all the information and training that I need - all free.
Bashing Microsoft is the easy option to take in my opinion. I say good on you Microsoft. Keep up the good work.




Tuesday, August 01, 2006

TradeMe etc

Nic posted this:

The Chicken Coop - TradeMe gets all Web2.0 (kinda)

I'm with him - the best way to do AJAX is where it's needed, not whether it's needed or not. Nic mentions the "Smart Bunnies" at TradeME. I have mixed views about this. I guess being the countries most successful and biggest website they are always in the public eye, but if I see another wanky "Look Sam did this" article in a reputable magazine or T.V. Show, I'm gunna hurl. I mean good luck to him, I'd love his bank balance, but there are other smart people do great things in the Web arena too.

They can't be that smart anyway - I don't work for them ;-). Someone there has a sense of humour though. Just right-click the webpage and go view source. Thats a pretty novel way to find employees!

Blogged with Flock

Friday, July 28, 2006

Delphi IDE comes out tops in several sections in IDE survey

Evans Data Spring 2006 IDE developer survey lists Delphi first in several categories

I use BDS2006(Delphi) and Visual Studio 2005 a lot. The editor in VS is far superior in my opinion to anything else I have used. Having said that, BDS fights back with having a much faster debugging and compiling engine.

BDS is the only IDE that allows C/C++, Pascal(Delphi) and C# from the same IDE and it also compiles Win32 or .NET for Delphi and C++. If you are doing Win32 and are looking at upgrading to .NET in the future, Delphi offers a more or less painless upgrade path - no rewrite is necessarily needed.

It's a pretty impressive result for BDS and highlights again that there is a valid alternative to Visual Studio. Keep up the good work guys!




Programming
Software Development
IDE
Delphi

Tuesday, July 25, 2006

Compact Framework 2 SP 1 Released

Available here : http://www.microsoft.com/downloads/details.aspx?FamilyID=0c1b0a88-59e2-4eba-a70e-4cd851c5fcc4&displaylang=en

Includes a quite a few bug fixes and a couple of new features.

Office 2007 Beta - Initial Impressions

First off I've gotta say I don't really get "hot n bothered" over an Office release. I like and use Word,Excel and Infopath and use Access a bit, but they don't really light my fire so to speak.

However, I am mighty impressed with my first play with 2007. Office apps have been resetting the benchmark as far as GUI goes for years, but they really have raised the bar with 2007. I really like the RibbonBar menu system and have been waiting for years for someone to come up with a better system than the traditional fixed menu. It groups actions in a logical manner and I found it made finding things really easy. I can see how it is going to confuse and annoy heavy Office users (that's people who use Office a lot - not people who eat a lot), but once they get over the shock and get into the new system they should start to like it.

The eye candy is nice too I guess, but wearing my IT Manager's hat (it's the dusty one in the corner I don't like wearing), I hope it doesn't add to the overhead when using via a Terminal Server session. I haven't looked into this so hopefully it doesn't.

Outlook was a little sluggish, but hey it's a beta. It doesn't appear to be too much different at intial view from the previous version. I tried to use the built in RSS reader feature, but it was slow and buggy so will wait until the next release before I comment further on that, but suffice to say it has some work still to be done IMHO.

Overall, judging by the Beta I think the next version of Office is going to be a good one.

Blogged with Flock

Monday, July 24, 2006

Hmmm....

I came across this from Scobles' blog, Life of a Geek » Blog Archive » I hate fake computer geeks

I'm not going to bag the guy who wrote it, many people have done that already. I kinda agree with Cody, a geek would rather do it themselves than have someone else do it, and I'm sure if Scoble was a college kid with all the time in the world, he could/would install his own Wiki software or run his own version of WordPress. I mean these sorts of thing aren't exactly difficult...

But, as Cody will learn, as you get older and more responsibilities, you learn not to sweat the little things. When you're young without too many ties then time is something that passes, rather than a valuable commodity. If someone can save you half a day by hosting your blog rather than doing it yourself,  then you get someone to do it. That's half a day you get to spend doing other things - like spending time with your family.

Is Cody more of a Geek than Scoble? Probably. Is Scoble a "fake geek" because he get s someone else to setup his wiki/blog? Definitely not.

Blogged with Flock

Monday, July 17, 2006

Blog of the year....

This blog is one of the list up for Blog of the year....
Vote Here

I'm not sure if I'm worthy to be honest. I had meant to post more code on my blog, but got caught in rant mode most of the time ;-)

Having said that I got a couple of notible commentators - Greg Stein from Apache and a lead developer on the Infopath team. Must be worth a couple of votes?!

Nic (Chicken Coop), Tim (Haines) and Jonesie (.NET Jonesie) blogs are probably more worthy though.

Good luck to all and whomever wins will deserve the lovely rubber ducky.

Blogged with Flock

Tuesday, June 27, 2006

Broadband Pricing: A Study - Part 2

It has now been almost 3 months since we started this study. It's now time to check back and see what (if any) movement there has been since the Local Loop unbundling announcement was made.

Changes in Pricing?


Slingshot
No change - all the prices are the same as they were three months ago

IHUG
No change - even though the website claims to have "all new plans"

Orcon
No change here either, but the Light data cap has been expanded to 5Gb

Xtra
What a surprise - no change.

I guess three months was a little to soon to expect a major change. The other companies are pretty much limited to hanging off Xtra's coat tails. I don't expect to see much of a change in the next three months either.
I did read in the press that Telecom are bringing out 24mbit/s to the major CBD's by Xmas. I guess that is a start to real broadband - time will tell.....

Blogged with Flock

Bad Luck Aussie, you were robbed

As a New Zealander I have had my fair share of World Cup misery (in Rugby of course), but I can only imagine how inconsolable the populace of Australia are this morning.

I mean when we have dipped out of previous RWC we have been fairly beaten - Australia 2003, France 1999 with the possible exception of "SuziGate" in 1995. To my mind however, Australia were robbed. They were as good if not better than Italy and looked the stronger, fitter team heading into extra time. Then the referee in what surely is the single worst decision in the history of football gave the penalty.

32 years of blood sweat and tears ruined in a blink of an eye. Surely the time has come for television officials in football, it would n't take long for a TV official to realise that it was no foul and play on. It may slow the game down a little bit, but surely no team deserves to lose by way of a terrible decision?

Head up Aussies, you were awesome, and I'm sure this isn't the last time you reach the second round of the WC.

Blogged with Flock

Monday, June 26, 2006

What the future holds?

I was looking at my daughter in the week end and wondered what new tech will she see by the time she reaches my age (30), that wasn't around today?

For example in my life time I have seen the invention (or popularization) of things that my parents couldn't have imagined. Such as:

VHS Video, Color Television, CD's, Personal Computers, DVD, Laptop Computers, the Internet, Satelitte Television to name a very few.

The are things that were popular in my youth, that children of today have never seen, things like Tapes and Records instantly come to mind.

Looking forward, I would imagine that by the time Maddy is a teenager, CRT TV's will be fossilised making way for I guess LCD and Plasma or some new tech - OLED maybe?

I think there will be a new platform for computing by the time she is say 20 also. I definitely think the current desktop model will be obsolete, and our reliance on single vendors will be gone too. I would like to think that you could take your data anywhere by then, with a number of different devices, but I still think there will be a place for the humble desktop style PC. My mind boggles at what the speed of the things we be by then.

I guess convergence will be the big thing, with the blurring between PC/Tablet/Phone/PDA/Camera disappearing.

If you compare games from 1986 to games of 2006 for example, I can't even imagine how the improvement from 2006 to 2026 will be. Obviously realistic graphics, but Virtual Reality maybe?

And what will I be doing? Still involved in the Software Development industry, because one thing is certain - no matter what the future holds platform or hardware wise, there will always be a need for software. Great isn't it!


Blogged with Flock

Tuesday, May 30, 2006

Maddy is finally here

My amazing wife Kim gave birth to our first born last night.

We decided to have the baby at home. I was initially sceptical, but it was great being in familiar surroundings. The only downside is that there is no pain relief, other than aromatherapy and hot or cold flannels.

Unfortunately, the baby was facing front forward and twisted a bit so Labour was intense at times. Kim was amazing and got through it and Madison Anne was delivered at 11:35pm 29 May 2006. Weight was 8lb 2oz and all doing well, if a little tired today!

Pics available HERE

Thursday, May 25, 2006

Towel Day

Today is towel day!
Towel Day :: A tribute to Douglas Adams (1952-2001)

I left mine at home dammit.


The Directors Head to Head

I have been looking at this:
The Movie Times: Top Grossing Films of All Time Worldwide
sorted by Worldwide Profit and broken down into director.

I decided to pick Peter Jackson and Andrew Adamson because they are Kiwi's, Lucas and Spielberg go without saying and James Cameron because he directed the biggest grossing movie of all time. Then I decided to take their total Worldwide Profit and total movies in the top 150 and see which director averages the most money per flick.




JacksonLucasSpielbergAdamsonCameron
# Movies441133
Total Profit2955.62864.54602.31808.32317.1
Average Profit738.9716.12418.39602.76772.36

*In $M
Note: Not all Steven Speilbergs' movies are added to the list because they didn't have budget information.

James Cameron comes out on top, followed by Peter Jackson and George Lucas rounding out the top 3. Interestingly Speilberg come last on average per movie, but considering he has 11 (with budget info) movies in the top 150 grossing movies of all time says a lot about him.

The other interesting thing to note, that isn't portrayed above, is that of the Top 10 grossing films of all time (worldwide) 4 of them were directed by a New Zealander. I think Hollywood should drop sticks and move all it's business to Wellywood....

Saturday, May 13, 2006

Auction closed: Australia sold for $200 million

The auction finished after about an hour of people auto-extending. I was a little worried about having to pay success fess, but TradeMe had left a message on my home phone saying they would pull the auction as soon as it closed.

They said they usually pull things like this, but decided to let it run because it was getting back at the Aussies. (In so many words)

Good on them. It shows they have a bit more of a sense of humour than eBay. My local budgie liner got hold of the story and did an interview too. Unfortunately it ended up on the front page with a huge photo. Groan.

Story is here.

Anyway, it was a fun ride while it lasted, and good to see that there are funny people everywhere and that Trans Tasman rivalry is still alive!

Total stats: around 500 questions I think and over 20,000 pages views! Australia is a little more popular than I gave credit for.

Friday, May 12, 2006

TM Auction: Way outta control

This auction has got way out of control. I had about 600 views up until 6:58 last night. Then something was mentioned on the news - I missed it - and it has created a life of it's own since. It's amazing how a 10s mention on the news can create interest. It has had over 12000 views in about 14 hours.

It's really hard trying to be humourous answering the questions. Most people are funny and positive, but there is always a few who are offensive. It's probably a good social study really.

Hopefully TM don't get too shitty - any publicity is good publicity right?

Tuesday, May 09, 2006

For Sale: Australia

http://www.trademe.co.nz/Browse/Listing.aspx?id=55824140

Ok I admit I put this on TradeMe. It was in response to an auction selling New Zealand on Australian eBay. The eBay auction has been taken down.

He who laughs last laughs loudest.

I learnt something today

You should always learn something new everyday. Today mine was something I probably should have known.

I was playing around with IE and realised you could start typing in the address bar, and it will autocomplete with your the nearest item in your favorites. Cool. I've always wondered what the extra items that didn't started with http:// were. I have never really thought about it until today.

Geez and I call myself a geek.

Friday, May 05, 2006

Broadband Pricing: A Study - Part 1

With Local Loop unbundling announced 4-May-06 it will be interesting to see how prices change over the next few months. We have been told over the years by ISP's that their pricing is controlled by Telecom. Now that they have access to the LL, lets see how much things change.

The original idea and data was compiled by Mike O'Leary and was suggested on the NZ Dot Net user group. Thanks Mike.

Broadband Prices as of 5-May-2006


Slingshot
PlanPrice
Express 3GB$29.95*
Extreme 5GB$39.95*
Sprint 10GB$49.95*
Ultra 10GB$79.95*

IHUG
PlanPrice
Pay as you go 500MB$29.95
Starter 3GB$39.95
Light 15GB$49.95

Orcon
PlanPrice
Starter 2GB$29.95*
Light 4GB$39.95*
Medium 10GB$49.95*

Xtra
PlanPrice
Basic 200MB$29.95*
GO 1GB$39.95*
Explorer 5GB$49.95*
Adventure 10GB$59.95*


* must have Tolls with this company otherwise add $10.

Wednesday, May 03, 2006

Government propose regulation in response to poor broadband uptake

It has just been announced that the Government is proposing to regulate Telecom to ensure better broadband uptake.

Part of the regulation also includes a proposal to unbundle the local loop.

This is great news for Internet users in New Zealand. Hopefully now we can get real broadband at a reasonable price. Not just what Telecom have given us.

To the uninitiated, Telecom currently holds a monopoly over ISP's in New Zealand, which basically requires them to use buy wholesale Broadband access from Telecom because it owns the "last mile" of the telephone network.

It will be interesting to see how Telecom/Xtra respond to this and to see what Broadband speed/Plans we get as a result.

Currently, I pay $NZ79 for 10Gb of data at 3.5Mb/s down and 512Mb/s up. This includes a static IP address.

Wednesday, April 26, 2006

Using Atlas on existing site

I have been playing with Atlas for ASP.NET April CTP for the last couple of days.

I quite like it so far, It is really easy to use if you are starting a new site, but not quite so easy if you are converting an existing site.

You have to do the following:

  • Install the Atlas CTP from Here

  • Open your existing solution and copy "Microsoft.Web.Atlas.dll" to the Bin directory of your solution.
    The default location for the dll is "C:\Program Files\Microsoft ASP.NET\Atlas\v2.0.50727\Atlas"

  • Add the following code to your web.config:

    Copy these elements as children of the <configuration> element:


      <configSections>
    <sectionGroup name="microsoft.web"
    type="Microsoft.Web.Configuration.MicrosoftWebSectionGroup">
    <section name="converters"
    type="Microsoft.Web.Configuration.ConvertersSection"/>
    </sectionGroup>
    </configSections>

    <microsoft.web>
    <converters>
    <add
    type="Microsoft.Web.Script.Serialization.Converters.DataSetConverter"/>
    <add
    type="Microsoft.Web.Script.Serialization.Converters.DataRowConverter"/>
    <add
    type="Microsoft.Web.Script.Serialization.Converters.DataTableConverter"/>
    </converters>
    </microsoft.web>

    Copy (or integrate) these elements as children of the <system.web> element:


        <pages>
    <controls>
    <add namespace="Microsoft.Web.UI" assembly="Microsoft.Web.Atlas" tagPrefix="atlas"/>
    <add namespace="Microsoft.Web.UI.Controls" assembly="Microsoft.Web.Atlas" tagPrefix="atlas"/>
    </controls>
    </pages>

    <!-- ASMX is mapped to a new handler so that proxy javascripts can also be served. -->
    <httpHandlers>
    <remove verb="*" path="*.asmx"/>
    <add verb="*" path="*.asmx" type="Microsoft.Web.Services.ScriptHandlerFactory" validate="false"/>
    </httpHandlers>
    <httpModules>
    <add name="ScriptModule" type="Microsoft.Web.Services.ScriptModule"/>
    </httpModules>


  • Start Programming!



In my case I just added an <atlas:UpdatePanel> around a couple of edit-inplace DataGrids.
Update Panels are quite good, they also allow updating based on triggers. For example you may want to update based on a selection on a DropDownList so you would:

<atlas:UpdatePanel runat="server" ID="Update1" mode="Conditional">
<ContentTemplate>
.....
</ContentTemplate>
<Triggers>
<atlas:ControlValueTrigger ControlID="DropDownList1" PropertyName="SelectedValue" />
</Triggers>
</atlas:UpdatePanel>




The only server control I would like (and I understand the security reasons) would be an atlas:FileUpload control.
As Scott Guthrie puts it "File-Uploads are a somewhat weird element in HTML -- since they are by-design non-scriptable (for security reasons, to avoid someone writing client-side script to maliciously upload a file from a browser).
As such, you'll need to be a little careful with how you use them with Atlas (or other Ajax frameworks)."

However, it would be cool if they had an atlas enabled FileUpload control, that you could tie in with an atlas:UpdateProgress control to give user feedback that the file is still updating. You can't do this at the moment, as the UpdateProgress fires before the FileUpload code, so any value in the FileUpload is cleared by a PostBack before you have a chance to do anything with it.

Any comments on how to get around this welcome!

Wednesday, April 19, 2006

Why you shouldn't believe everything you read on the Internet

This is a great reason to not believe everything you read on the Internet. I don't know anything much Java, but I do know a thing or two about .NET and most of the items on that list are plain wrong.

Here are a few of the more defamatory ones (with my comments):

"An Abundance of Experienced practioners. Nobody seems to know how to write .NET programs well and that's giving .NET a bad name"

I know a fair few .NET developers - C#, VB, Delphi and even COBOL. I can assure you they know what they're doing.

"Industrial Strength Collection Classes - The .Net libraries look like they were designed by high-school students, First year CompSci? students at best."

The writer obviously hasn't heard of Anders Hejlsberg who would be in my all time top 10 Software Architects.

"More Languages - The JVM is more "common" than the CLR."

This to me seems to be two seperate points, but I'll take the "More Languages" argument. Here's a list of .NET languages off the top of my head: C++, C#, VB, COBOL, Object Pascal (Delphi), Python, J#

"Sane Coding Conventions - I don't know what's worse Hungarian notation or .NET coding conventions."

Surely sanity is in the eye of the beholder. I like the .NET conventions, plus Intellisense and sensible names in the class library mean I know the the difference between a namespace, class or method name.

"EmbeddedDevices - Java inside small packages."

If you don't count PocketPC's or SmartPhones as Embedded Devices.

"Comprehensive RDMS Driver Support - Can you find a ADO.NET driver for an open source database?"

MySQL
PostgreSql
Firebird

"Leads In Software Process Best Practices. Most best practices in software development are done in Java shops."

This is clearly wrong. I myself and most of the .NET developers I know use some or all of Patterns, n-tier design, Unit Testing. I don't think SoftDev best practice is limited to Java.

"Affordable Industrial Grade IDEs"

SharpDevelop, WebMatrix, Visual Studio Express are all free. Borland Developer Studio professional is about $300US.

I could go on but I won't. There is a challenge out by the original author to make an anti-list of why .NET is better than Java. I would love to but don't know enough about Java.
Besides, I would rather spend my time programming in .NET - its much more rewarding...