Thursday, August 28, 2008

The duality of easy adoption

If it's easy to do something, that's good as it makes life simpler and avoids unnecessary complexity.

If it's easy to do something it normally means it's easy to do something badly.

It's better that some people do things badly because it's easy than everyone had to do something a more complicated way.

The challenge is to know how to do something 'the right way' and also to educate those who don't know.

Tuesday, August 19, 2008

Representative comment

This is a genuine single line comment I just came across in some code I was trying to get to compile.
//Can't be in a transaction here...not sure why....can't be arsed to check. Hack Hack Hack......

Wednesday, August 13, 2008

There are 2 responses to a problem. Not 3.

If you have a problem there are 2 things you can do.
  1. Accept it and move on.
  2. Do something about it
There are no other options!

Sometimes you may have a problem and you just want to talk to someone about it.
In which case the problem you want to talk about isn't the actual problem.  The problem is really that you want someone to talk to and feel as though your opinions are worth listening to. In this case you are doing something about it.

Don't just moan and complain about a problem and do nothing about it.

Attachments are bad. Avoid!

Don't send attachments. If you can possibly avoid it.

If you put content which could be in the body of the email in an attachment you are saying:
  • you don't care about the extra time and effort involved in viewing the message.
  • your time is more important than that of the person receiveing the message.
  • you don't consider people who view emails through a browser. (Not every web based email client can display attahcments, even PDFs)
  • you don't care about the users bandwidth or the time it takes to download the message. (Not everyone has broadband)

Friday, August 08, 2008

Notes: Sharing code between compact & full framework

- shared code means less code - save time, money & effort
- Use PC tools against your code to improve device development

Don't share the UI.

Some device code can run on the desktop - not the other way round

Detect if running on device via:

If Pinvoking, DLLs will be different across platforms.

Use conditional compilation to create multiple outputs from one project.