Thursday, December 13, 2007

Most programmers shouldn't write code.

Hi, I'm back and I'm ready to start blogging again.
I can think the best thing to do here is to kick off my blogging with a rant about the state of the software industry.

One of the reasons I have not been blogging recently is that I am busy writing code, yes real code that will ship. Not only will it ship but the code will be publicly available for other programmers to learn.
I am not new to this kind of gig, the are several samples in the Windows Vista SDK that I wrote, and lots of code examples around web, in books, magazines etc...
When I used to run my own software companies I learned very quickly that not all programmers are born equal, in fact far from it.

A small minority of programmers deliver the majority of the value, the rest add little bits of value and lots of bugs.

The reason the software industry has such a bad reputation is not without cause. Most software projects fail in some way. I think there is one overwhelming reason for this; most programmers can't write code that can (or should) be shipped.
What is it that, this majority of programmers, are doing wrong?
Here is a short list to kick things off.

1. They don't have a clue how a computer actually works, what a CPU is, how instructions are processed, how memory is allocated or how data is stored in registers. Many programmers will say this isn't important as modern programming languages absolve the software developer from having to worry about the hardware. That is exactly the reason so much software sucks.
Understand how the hardware works, understand the implications of context switching, threading, multi-processor machines, otherwise your software will always suck.

2. They don't strive to write the simplest code to solve a problem. Most programmers believe that complex code proves they are heroes, god or whatever. All it proves is that they didn't think very hard about how to simplify the problem. The best (most robust, bug free, fastest) code is simple. Simple solutions to complex problems is clever. Complex solutions for any problem is dumb.

3. Most developers don't create feedback loops that allow them to improve the code in a project as they build it. There is a truth in software development, the code you write today will change tomorrow.
If you feel that changing what you have already done is a waste of time, proof that you did it wrong or caused by clients changing their minds then you should quit writing code professionally. Whenever you write code be aware that it will change, so the smart thing to do is make it easy to change.

4. Designing the architecture for all the software before writing any code. The concept that you can define all the classes and methods before you start writing a single line of code is a path to disaster. I am tempted to draw analogies with sculpture or jamming in a music session but there are hundreds of these analogies out there and they clearly don't work. People still believe they can architect a software solution and then get programmers to build it. This just doesn't work. I have shipped lots of software in the last 25 years and I have never seen or heard of a single instance of this working. Software architecture is a skill that must be learned by everyone that writes code.
If you don't understand design patterns and core architectural concepts your code will likely suck.

5. Writing code to fit in with some design patterns chosen for the task. Design patterns provide a vocabulary to describe the patterns in the code. they are NOT patterns that will enable you copy and paste code to create a solution.
Often a pattern I initially thought would emerge in the code of an application doesn't emerge but other smarter patterns emerge. This happens because the process of writing the code and the feedback loops change the way I was looking at a problem.

6. The majority of programmers believe that bugs are inevitable. That's just like saying 'Lets write bugs'. To make matters worse programmers then expect to get paid for fixing the bugs they wrote. Let's clarify something here; a bug is some code functioning in an unexpected way. A bug is code that is wrong. If you find a bug fix it now. Bugs should not be stored somewhere, or left to linger. They should be destroyed.
If you keep a bug database you are tracking all the mistakes you have made, why not fix them? I do not keep a bug database for any project I work on, bugs are high priority tasks that must be completed before other work can continue that day. If you find you are creating bugs faster than you can fix them, stop writing code. If you expect to get paid for writing code that is wrong and then expect to get paid for fixing that mistake, go and do another job, you are doing the software industry and your reputation no good.

7. Coding for a J O B. If you go to work at 9 (ish) and leave at 5 (or earlier if you can get away with it) and never write code outside of those hours you will never deliver great software. You need to have a passion for software development if you want to deliver amazing solutions. Yes you will probably get paid for doing a JOB and delivering some half working solution. No, you should not be paid for this, in my opinion. It is the software developers that have no passion that create some of the biggest issues in this industry. It is true that most software is shipped by people who develop software as their job, it is also true that most software sucks.

8. Copy and pasting code from examples without understanding exactly what the code is doing. The clipboard development strategy to building software started sometime in the '80's but really took off in the '90's when the Internet started to provide lots of code snippets to add to the clipboard coders toolbox.

9. "Customers and clients are just idiots." I encounter this almost every week, developers that believe the clients are stupid and keep changing their minds about what they want. Guess what? The customer is always right. Clients know they need software to solve a problem, you are acting as a conduit to help them discover what they want. Often a client doesn't know exactly what they want to start with, it takes several feedback loops for their vision to become clearer. This is part of the development process. If you don't like rewriting code, throwing away work you have done, changing the direction of the project then go and get a boring job. It will suit your temperament much better, boring jobs don't have challenges or too much change.

Tuesday, October 16, 2007

No excuses just no podcast

Sorry for another break in transmissions. I have been running around the USA between meetings, summits, and going hiking.
I am about to head back to the UK and who knows there may be some time for a podcast from London.

Thursday, September 20, 2007

Sunday, September 16, 2007

Dr. Neil's Notes 49

Welcome to Dr. Neil's Notes Show 49

Warning lower than average recording quality, sorry.

A week of travel.
TechEd South East Asia in Kuala Lumpur, 2 sessions on the Windows Live Platform
Mix UK, a session on designing user happiness.

Feedback on the ViaWindowsLive site.
A call for participation, get involved in the community.

Happy Coding!

Tuesday, September 11, 2007

TechEd South East Asia

I am just heading out of Singapore now and spent the day in Kuala Lumpur at TechEd South East Asia. I gave two presentations this morning on the Windows Live development platform. The first session was an overview of the Live Services and I did a demo of the new ScreenEdit site. The new ScreenEdit site uses Live Id, Live Search, plugs into Live Spaces and pulls content from Silverlight Streaming.
The second session was a more detailed look at Virtual Earth and Live Search.
I am now heading to Mix UK for some fun with Developers and Designers tomorrow :)

Saturday, September 08, 2007

Dr. Neil's Notes 48

Welcome to Dr. Neil's Notes Show 48

News:

A long week, lots going on in the online communities with weekend.
New version of Via Windows Live is up and ready for you to play with, get involved, contribute.

New version of ScreenEdit.com is about to be launched. It uses lots of Windows Live services :)

Tip: Use Virtual PCs

Virtual PC's help you create isolated development environments on the same machine.

Happy Coding!

Friday, August 31, 2007

Dr. Neil's Notes 47

Welcome to Dr. Neil's Notes Show 47

News:

Partner Maps went live this week

A few new articles on ViaVirtualEarth

New imagery on Virtual Earth

Keeping Focussed

keep tasks small and achievable in small time frames.

Happy Coding!

Friday, August 24, 2007

Dr. Neil's Notes 46

Welcome to Dr. Neil's Notes Show 46

Week around Oz.

Show Notes:
Smart Client or Web application, that is the question.
Live ID is live (1.0)

Happy Coding!

Sunday, August 19, 2007

Sydney Design 07

Today was the last day of the Sydney Design 07 Festival.
A lot has been happening in the Powerhouse Museum in Sydney, which is always worth a visit anyway.
I spent most of today at the museum and took in much design, some good and some bad (IMO).
I also attended a couple of talks and a film.
The first talk was by Krispin K on 'Design Doing Good'. A great presenter with lots of audience interaction.

The second talk, was about futuristic designers and was followed by a movie about Jaque Fresco an amazing inventor and futurist.

Saturday, August 18, 2007

My name in a Microsoft product page

I think it's known as ego surfing, I expect you have all done it, you search for yourself on the web, go to a search engine and enter your name.
I am not sure what triggered this 'ego surf' but I entered my surname into Live search today and was surprised that the second result was a link to the Microsoft lifecam product page. What is going on here? There is no mention of my name on the page.

Friday, August 17, 2007

Dr. Neil's Notes 45

Welcome (back) to Dr. Neil's Notes Show 45

Long time no speak, the podcast is back.

Show Notes:
Travel around the globe
TechEd - Orlando, USA and Gold Coast, Australia

Test Driven Development

Tip for team communication.

A ScreenEdit podcast?

Happy Coding!

Wednesday, August 15, 2007

The Internet is a Time Machine

It's 3:30 pm I have just received an email from a colleague. I decide to see if he is online to chat about the email, he is on my Instant Messenger list and he's online.
It's 10:30pm yesterday and my friend is sitting on his sofa sipping some wine and answering emails. He receives a 'ping' on Instant Messenger from me.
This world has got so small in the last few years.
Think back 10 years, yes you could communicate with people all over the world with ICQ and email but somehow the ubiquitous nature of of IM and email have really changed the landscape in the last 5 years and it seems that the social networking websites that have become all the rage in the last couple of years are merely fueling this change.
So what does this mean? (apart from a good title for my blog post)
I expect it means we are moving closer to a global community. I hope it means we are slowly breaking down the physical boundaries that define countries and cultures.
While I like to see the upside of this mass communication and constant connectivity, there are some challenges that it creates, such as my 3am online meetings :)

It's a Web Application!

The web is changing. For a couple of years now the shift in the way people use and develop content on the web has been called a number of things, most commonly web 2.0.
One of the shifts that has occurred is something that the average user (and often client) may not be aware.
Many (if not most/all) of these new wave of web sites are not simple images and some simple but clever HTML and javascript but rather full applications. These web applications are just as complex (sometimes more so) than the client applications that run on your PC or Mac.
Along with this shift in complexity of code needed to run these web sites comes all the other challenges introduced by complex software systems; collaboration, process, and tools.
The interesting thing to me is that the collaboration skills and process skills should (and seem to) be transferable. Whereas the tools and technologies may still be immature.
If you are looking to get a new Web 2.0 site put together then you should be thinking about all the things you would consider if you were asking for a client application to be built. There will always be a functions vs. time and resources trade off to consider as well as making sure you break the project into small manageable portions.
This new world on the web is not a simple case of slapping some images and text in markup but rather a full development process.
Many of the traditional 'online agencies' that have built a business model around slapping images and text into some markup and selling that to clients.
As more functional demands are made from web sites I expect these agencies will have to change their process or go out of business.
The web is finally starting to grow up into a real platform and running on top of this platform are applications build by software development teams (which include designers).

Tuesday, August 14, 2007

TDD session at TechEd last week

Last week at TechEd Australia I presented a session on Unit Testing and Test Driven Development. Presenting this session raised a dilemma for me.
I have been using Unit Testing, Test First and TDD for eight years now. I have been teaching the benefits of a test first approach for seven years.
Should I assume the attendees coming to this session are already sold on TDD and therefore target the content at some of the issues with TDD and tooling or should I focus on teaching the benefits of TDD to attendees who are not yet TDD believers?
I thought about this and decided that while TDD is becoming popular the attendees coming to this session are most likely to not be practicing TDD and want to learn why they should care about unit testing and TDD.
It was a gamble that seemed to pay off. If you attended my session and were already a believer, I hope you learned something and I apologize that it might not have been what you were expecting.
The majority of the attendees in the TDD presentation were learning about TDD for the first time, and the feedback I received was awesome. Here is a sample of the comments about the session:

Brilliant - got my value for TechEd in a single session (especially as my manager who needed convincing re nunit was sitting with me )

Brilliant. I want to get this presentation delivered to all my developers who couldn't make it to TechEd. We've bought into Unit Testing and we need to get to 100% breakthrough, next up has to be TDD

By far this is my best TechEd experience so far. WE NEED MORE NEIL's IN THIS WORLD. Thank you for giving him a session to WOW us with.

Excellent session - I am now a believer!

Excellent session - well presented, clear and concise with lots of useful items and practices to take away. Best session yet.

For me, this has been the best session so far! Excellent content and an excellent presenter! Fantastic. I would love to learn more about this subject. I am implementing unit testing in my team starting Monday!

Great presentation. Very important way of doing development.

Highlight of the conference for me. 11 out of 10.

Thank you to everyone who attended this session.

Information on the eXtreme .NET book I mentioned in the talk

Friday, July 13, 2007

Book Review: The Black Swan


The Black Swan By Nassim Nicholas Taleb

It has been some time since my last book review, I have been reading a number of average books that I didn't think worth reviewing. The Black Swan is the first really thought provoking book I have read in some time.

Swans are white. Whiteness was considered to be a distinguishing feature of being a swan. Then black swans were discovered in Australia. This one, unpredictable, event changed the concept of what it means for an animal to be a swan. This book is by the well read and ever self-confident author of Fooled By Randomness, another great book.
I give this book 9 out of 10
Full review here

Sunday, July 01, 2007

Australia Remixed


This week has been overflowing with action. After landing in Sydney I flew to Melbourne last Sunday for Australia's Remix event. A compressed rerun of all things good at MIX 07 that happened a couple of months ago in Las Vegas.
I presented a session on Windows Live Services to a crowded but tiny room. It was hard to get everything in and we ran over just a bit ;)
I met heaps of people, some old friends, some new, including Stephen Price from LittleVoices.com. Stephen is a cartonnist and a software developer (amongst other talents) and he saw fit to put his new Wacom tablet to task and draw a little cartoon of me and my gadgets.
On one hand I like his idea of drawing cartoons of the geeks he meets, on the other hand I dont know where he gets the idea that I have so many gadgets, on the other hand I do have planety of mobile business utilities, on the other hand..... :)
Now I must get back to work, there is some serious fun going on right now with Live Services and Silverlight, but more on that later....

Wednesday, June 06, 2007

TechEd 2007 Orlando

Day 2 of TechEd already!
Catching up with lots of people and my decks and demos are nearly finished.
It was interesting to see Agile given so much time in the keynote yesterday, and the Agile .NET session yesterday lunch time was packed out.
I am talking to lots of people who say they are getting value out of the event which is good.
There is, of course, a lot of marketing hype and BS around as well. It amazes me that peopl eactually believe that buying a software tool/product/plugin/component will make them better developers.
As I pointed out at the Agile .NET session, delivering great software is about sticking to values, not applying practices or using tools. The practices are only there to help you stick to the values, and if the practices don't do that then you need to change them.

Thursday, May 31, 2007

UberNewbie revealed!

The ScreenEdit newbie has revealed herself.
Her name is Cassie Smith and she is blogging, go Cassie go!
The tag line "Don't lose me, my battery is dying" has already become an in joke for the ScreenEdit team.
We all attended an event in London on Tuesday and Cassie was walking behind us. Cassie said "Don't lose me, my battery is dying". I had to wonder what type of charger was required to recharge an UberNewbie :)

Wednesday, May 30, 2007

WebJamin' at Remix Aus

According to Michael Kordahi of the Microsoft evangelism team I am "the most connected and community focused person on planet earth"

Michael, flattery will get you places, and of course I am more than happy to tell people about Webjam @ ReMix Melbourne in June.

Webjam is where (16) people present something interesting that they’ve done online to the crowd. They only get 3 mins to present. There’s SMS voting, then at the end of the night a winner is chosen. It’s set at a bar and is very casual and a lot of fun. More info on Michael's blog and on the Webjam site.

If you have something you would like to show off, get in touch with the WebJam folks to reserve your presentation slot now.

Sounds like it should be good fun.

Tuesday, May 29, 2007

Who is the ScreenEdit newbie?


ScreenEdit has a new team member, there is a camera shyness issue to resolve.
I wonder what newbie will be doing on ScreenEdit?
I am looking forward to some great things.

PDC was missing - I knew nothing, honest

From my last post you may have noticed PDC was missing. This was an unintentional slip but some people have read something else into the omision.
The rescheduling of PDC was nothing to do with me - honest.

Tuesday, May 08, 2007

Conference season has started

Last week I was in Las Vegas (yeh baby!) for MIX and MEDC.
Doing 2 conferences that overlap was ambitious but it worked out great. I met so many amazing people and had fantastic conversations about technology, the future of the web, and heaps of other topics.
I also got to see some very cool new projects.
My friends from the ScreenEdit team in the UK were also there, recording plenty of conversation and points of view. Look out for the interviews appearing on the site soon.
So what other conferences do I plan to attend this year?

Maybe I will see you at one of these events?

Friday, April 20, 2007

Time to switch the lights back on

I know I've gone dark for the last month (ish). I needed some breathing space to get certain projects moving in the right direction.
I am getting there now and it is time to start switching the lights on a few of the projects I have been working on.
ScreenEdit soft launched a couple of weeks ago and is the first project to switch the lights on. Screenedit is the magic antidote for designer's block, it provides ideas and thoughts from some active members of the community along with a gallery of interesting projects and of course a blog.
ScreenEdit is a joint venture with Tricky from Tricky Business.

Wednesday, March 21, 2007

Sorry My Inbox is Full

The impact on my inbox from spending my time travelling between Sydney, San Francisco, Seattle and London has been catastrophic.
In the last 2 weeks I have been around the world, met amazing people, caught up with friends, started discussions, concluded business deals, opened new opportunities and watched my inbox fill up.
I answered over 100 emails on the last flight from Chicago to London which made a tiny dent.
If you are waiting for a reply, I appoligize, if your email is in my inbox I will get to it eventually.

Thursday, March 08, 2007

TechEd Sessions

I am sitting in the airport about to fly out of Sydney and I get an email telling me that I am going to be presenting the following sessions this year at TechEd in Orlando

Windows Live Services on Windows Mobile

Mashup Windows Live

Windows Vista Gadgets That Talk to My Mobile Phone -

The Synchronization Story: Building Windows Mobile Applications That Work with Windows Vista Sync Center


How cool! Looking forward to showing off some cool idea in these sessions :)

Tuesday, March 06, 2007

Audi project announced



One of the projects that has kept me busy in the last couple of weeks was announced last night by none other than UberTablet himself.
The project was to create an Audi branded software keyboard for the UMPC. The skin for the keyboard was designed by TrickyBusiness in Expression Blend. It totally rocks (even if I say so myself!)



Update: For pictures of beautiful women stroking my keys be sure to check out Hugo's blog post :)

Monday, March 05, 2007

Vista on the iTablet


This weekend I took the challenge of installing Vista on my iTablet. Up until a little birthday present arrived in my inbox last week I had been told that the iTablet would not support Vista due to BIOS issues. Well it appears that the BIOS issues can now be resolved with a BIOS update from Amtec (the OEM).
I am always fearful of flashing the BIOS, it used to be something that would often leave a computer dead and useless (in the old days). This was a painless enough process that could all be done under Windows XP.
I was considering installing Vista on a spare hard drive just in case it all went wrong, but in the end decided to simply back up my data and zap the whole machine for a clean install of Vista. I am now super glad for it. The iTablet has a new lease of life and seems to work even better than before, faster response etc...
The screen rotate hardware button is the only thing I havent got working yet. Anyone out there solved this?

Friday, March 02, 2007

Dr. Neil's Notes 44

Welcome to Dr. Neil's Notes Show 44

Welcome back to UUUUUbertablet....Hugo Ortega!!!

Long distance chat - he is about 15 minutes drive along the beach :)

The Car project
Also here

what else has Hugo been doing?

IM- for charity ...

Dr. Neil flies out next week
Is Hugo going to make it to the MVP Summit?

TechEd talk
What would you like us to talk about?

Sunday, February 25, 2007

Another SideShow developer in the blogosphere

My mate from Cambridge (UK), Richard Jones, has started playing around with SideShow technology.

As Richard points out
However to get things up and running you need to install the Vista SDK (big, download at (32bit) )

This is just so you can get the simulator. I have sent several emails to the SideShow team asking them to unbundle the Simulator so that managed code developers (such as Richard) can get started without having to download the whole Vista SDK.
So far it seems that there are 'legal' issues with doing this. Come on Microsoft, this is just BS. The Managed SDK is useless without some way to see the output, most people dont have a real sideshow device, so please will you ship the simulator as an individual download?

Friday, February 23, 2007

Dr. Neil's Notes 43

Welcome to Show 43

News:
What a week!
Meetings at Microsoft
Microsoft Research presentation
UMPC application development - UK and Aus
WPF - what is it good for?

Exercise for the brain
Reading, thinking, planning, playing
Brainstorming groups

Happy coding
This podcast was recorded with Castblaster

Sunday, February 18, 2007

Book Review: Applications = Code + Markup

Applications = Code + Markup
By Charles Petzold

I know that a large percentage of my readers are software developers, so I thought it was about time I reviewed a programmers book.

Charles Petzold is the programmers author. His writing has taught hosts of developers how to build Windows applications. Most of my initial Windows programming knowledge came from Charles’ original Programming Windows books. I have been fortunate enough to meet Charles and learn that he sees himself first as an author not a programmer. This should be apparent to anyone who reads his books, he writes with style, flow and panache. His books are easy to read and stand out in the vast wasteland of badly written technical books.

I give this book 9 out of 10

Full review here

Friday, February 16, 2007

Dr. Neil's Notes 42

Welcome to Show 42

News:
Real work - well kinda!
Coding with Messenger APIs - agents and activities
Energy Levels - highs and lows

Doing your best?
Or managing upwards?

Happy coding
This podcast was recorded with Castblaster

Monday, February 12, 2007

New Version of the Route Finder Gadget

I have updated the Windows Vista Sidebar Route Finder Gadget.
It now sits nicely in the Sidebar when it is docked, provides feedback when it is still downloading the maps, and the Sideshow component includes left/right button navigation and clearer maps.


Let me know what you think.

Sunday, February 11, 2007

Book Review: The God Delusion

The God Delusion
By Richard Dawkins

I have been a fan of the writings of Richard Dawkins for over 10 years now. This book is brilliantly written, stimulating, thought provoking and funny. Richard has a very British sense of humour that appeals to me. His intellectual pursuits further cement my connection with him as an author.
Richard’s ability to break down the arguments and present Religion with a scientific viewpoint is invaluable. The truth behind the delusion that still persists throughout the world is clearly stated and broken down into its (ridiculous) components.

I give this book 9 out of 10

Full review here

Thursday, February 08, 2007

Dr. Neil's Notes 41

Welcome to Show 41

News:
Trip to New Zealand
8/12 exercises
Dinner with Tatham and Tom from Fuel Advance
Jennifer Forsythe - again!

Making Software Development Easier
Does lowering the bar to software development help or hinder the industry?
NUnit

Happy coding
This podcast was recorded with Castblaster

Wednesday, February 07, 2007

The 8/12 Gut Buster

Last week Kris posted a blog entry about what I am calling the 8/12 exercise system.
This week I started trying it out, I started on Monday with 15 minutes on the stationary bike and while it certainly made me sweat more, it felt like time went faster as I was focussed on keeping to the 8 seconds intense and then 12 seconds reduced exercise.
On Tuesday I used it while I did my normal run along the beach, this I really felt. Normally I jog along the beach at a reasonable pace. On an intensity scale of 1 to 10, where 1 is sleeping and 10 is throwing up, I normally jog along at a 7 or 8. Using the 8/12 technique on the beach on Tuesday I felt like I got to a 9.9, no throwing up but it was a close thing.
I think this must work, it certainly makes me work harder, and that has got to be a good thing.

What do you do to keep fit?

Monday, February 05, 2007

Myers-Brigges - INTP

I recieved an interesting email over the weekend from my friend and fellow RD, Adam Cogan:

Neil

I dont like working alone - so this is not me - but I know another RD is this type and many of my developers are
http://en.wikipedia.org/wiki/INTP
[edit ] Myers-Briggs Type Characteristics
INTP types are quiet, thoughtful individuals who don't mind spending long periods of time on their own working through problems and forming solutions. They are very curious about systems and how things work, and are frequently found in careers such as science, architecture and law. INTPs tend to be less at ease in social situations and the caring professions, although they enjoy the company of those who share their interests. They also tend to have a strong dislike for the bureaucracy, rigid hierarchies and politics prevalent in many professions.

My response:

Hi Adam,

Myers-Briggs provides a snapshot at one point in time of how a person 'feels', humans are not that shallow. We do have tendencies but they can change, especially if our environment changes. I believe the reason many people 'prefer' working alone is because they have never experienced working in an awesome team. Prior experiences of poor team behavior leads to a belief that working alone is better, and they are proved correct when the team doesn’t function well.
I have seen people who would have been labeled INTP become amazing team players when placed in a functional, inspiring and motivated team. It is a shame that teams of this nature are still so few and far between, leaving the INTP labeled people in the dark as to the possibilities of team interaction and delivery.

All the best
Dr. Neil

Back to Sydney, thinking of New Zealand

After a wonderful trip to New Zealand I am back in Sydney again this morning, chatting on Skype with colleagues around the world (even though it is the weekend for them), working on cool software projects and generally enjoying the warm breeze blowing through the window, slightly scented with the salt of the sea.
On the way back into Syndey I met a beautiful young lady in the customs queue, her name is Tiffany, and she is the chef for TiriTiri Lodge on the eastern shore of Lake Wanaka. This looks like a wonderful retreat that I will have to visit at some stage. They have just opened and from their website it looks like a great place, but there is no mention of an internet connection. Is it possible to live without a connection? Even when I am on holiday relaxing I like to be able to read the news, download music, blog my holiday snaps, etc...
Tiffany: if you are reading this, come on, get an internet connection for guests and I'll come over and spend a few days relaxing by the lake.

Sunday, February 04, 2007

Book Review: The Mind Gym

The Mind Gym, Wake Up Your Mind
By Octavius Black and Sebastian Bailey

I read this book in two phases, I read the first half in Europe in the summer of 2006, I found the contents interesting, the style mildly amusing and the pace too slow. Six months later in Sydney I picked the book up again and raced through the second half, hardly believing it to be the same book. This book is about changing your state of mind to better deal with situations and improve your opportunities.

Upon finishing this book I reflected on why it had appeared slow going when I started reading it and seemed fast paced and witty the second time around; my conclusion is that this book requires energy from the reader. My mind was more distracted when I was in Europe, working on other projects and constant traveling. The second time around I was ready to read the book and learn from the lessons presented. Books like this require active reading, if you feel you have the energy to actively read this book, you will be rewarded.
While the author's names (especially Octavius) may sound like the baddies in a Harry Potter novel they are obviously smart, forward thinking people who wish to share their knowledge.

I give this book 8 out of 10

Full review here

Friday, February 02, 2007

Goodnight from Auckland



It's been another amazing day. I have met some amazing people here in Auckland and had some great meetings. To top it all off the Auckland .NET User Group turned out to hear me talk about Online and Offline Gadgets and have some interesting conversations about Gadgets and Microsoft technologies.
This is what I can see from my Hotel room now. I was given an upgrade this morning as the room I was in last night was dismal, the curtains didn't close properly, letting light in all night. But worse than that, the internet connection in the room didn't work!
Imagine being offline for over 6 hours? I thought I was starting to go cold turkey ;)

Toshiba R400 in the hands of two Aussie Influentials

Uber Tablet does it again with the Toshiba R400 in the hands of two Aussie Influentials
How does he manage it?
Great work boys!

Thursday, February 01, 2007

Dr. Neil's Notes 40

Welcome to Show 40

News:
Look Up And Smile - aerial imagery
Vista Launch event
Lunch with Jennifer Forsythe
New Zealand, meetings and presentations

Working with Friends
Why waste energy with people that you don’t get on with?
Be proud of the projects you work on.

Happy coding
This podcast was recorded with Castblaster

Tricky Business: Microsoft make Expression Blend Beta2 available..

I don't often cross post but this is something that many readers of this blog might miss and a point well made by Tricky

Wednesday, January 31, 2007

Origami Experience Pack- more chrome?

The Origami Experience Pack has shipped, I have installed it on my Q1 and played around with it, I don't think I will be using it that much.
To me it seems like chrome without much function.
I have come to love OneNote on the Q1 for note taking, I run it in Portrait mode and switch the note to full screen.
When I tried to run the Experience Pack in portrait I get this:


Now considering Microsoft has been telling developers to build applications that work well in all resolutions and scale functionality accordingly this is an appalling oversight. The Tablet PC and the UMPC ability to switch between landscape and portrait easily is an important function for me.

Will this be fixed?

Tuesday, January 30, 2007

Lunch on the beach


Sometimes life is better than the movies. Today after the Vista Launch event in Sydney I caught up with Jennifer Forsythe, Jennifer flew in from the UK this morning and I decided the best cure for jet lag would be lunch in the Manly Beach House.
We caught the ferry across the Harbour and walked over the Beach House, as you can tell Jennifer enjoyed her lunch :)
Jennifer works with the Microsoft Virtual Earth team in the UK, she looks after the partner program in Europe and Australia / New Zealand. We discussed many of the issues around the Virtual Earth platform, and brainstormed some good potential solutions. I hope that we can get some of these ideas pushed through and delivered.

Monday, January 29, 2007

What do you do when clients don't pay?

I have to say I am in a very lucky situation. I can choose which clients I work with and which I decide are not worth the bother, mostly.
Recently I got involved with a project that involves an end client, I work with and trust, and a vendor of that client.
I worked through the vendor to deliver a project for the client. I have never worked with this vendor before and would probably not have chosen them as a client. I wanted to deliver value for the end client, so I took the project.
I then got in a the sticky situation that the vendor is not paying on time, actually so far it would be correct to say the vendor has not paid me at all.

What should I do?

Not deliver the product to the end client? Is it their fault for hiring a vendor that cannot manage the project and therefore the end client pays the price?

I want to deliver value for the end client and they are a client I enjoy working with directly.
If I don't deliver the project it doesn't help anyone.
If I do deliver the project with out payment that leaves me in a nasty place.

What would you do?

Sunday, January 28, 2007

Book Review: The Long Tail

The Long Tail
by Chris Anderson

When this book was first published I avoided it, I thought I knew what it had to say. I had read the articles in Wired and other magazines and listened to podcasts discussing The Long Tail. I figured the book would be a rip-off, trying to capitalize on the phrase de jour. I was wrong. This book is worth reading, it provides some interesting perspectives and more depth to the conversation.

I give this book 7 out of 10

Full review here

Thursday, January 25, 2007

Architecting Gadgets for Online and Offline Work

On Friday 2nd Feb I will presenting at the Auckland .NET user group on Architecting Gadgets for Online and Offline Work

Chris Auld will be presenting on User Access Control for Developers.

Two RDs in one night and pizza, what more could you want?

Dr. Neil's Notes 39

Welcome to Show 39

News:
Look Up And Smile - add your photos to the map
Lunch at the Royal Sydney Yacht Squadron
SportSPeak
Lots of communication with the USA and Europe this week
Windows Vista on UMPC

Knowing Where to hit it
Knowledge - What is it worth?
Knowing where to hit itHow you improving your knowledge of where to hit it?

Happy coding
This podcast was recorded with Castblaster

Wednesday, January 24, 2007

The Value Of My Knowledge Is Knowing Where to Hit It

It sometimes amazes me the sheer chutzpah of some people. I receive a number of emails every week from developers asking me to help them solve their coding problem, or send them a snippet of code that carries out some function.
It is as if they expect me to do this for free, my most common response to these emails is 'Do you have a budget for this?" Mostly I dont get any more email from that person again.
Now it is one thing when it is some student trying to finish his project, it is even more amazing when it is an employee of a large well known software company (and yes there is more than one company I am thinking of here). It seems that because at some time I did some consulting for a company or that I once built some software they bought I am now a resource for free knowledge.
It gets beyond the point of astounding when their managers followup from the 'budget' question with something like 'this will only take you 2 minutes'
I think it would be interesting to work out what 2 minutes of my time might be worth:
30 years of 'playing' with computers is a lot of experience, I know I have blink response to some aspects of developing software. I know when something is right or wrong. I can smell it. that is a rare skill and worth a big number.
The experience of running software companies and creating software startups is worth some pretty large numbers.
The fact I do not need your 'work' only adds to an already large running total.

It reminds me of the old story about a railroad expert being summoned because a brand-new diesel locomotive would not start, no matter what the engineer did. After a short time studying the situation, the expert gave the locomotive a light tap with a hammer. It started right up. When the railroad received the expert's bill for $1,000, they asked him to itemize it. The reply came:
Hitting the locomotive with hammer: $10
Knowing where to hit it: $990

How much is your knowledge worth?
Are you increasing the value of your knowledge on a regular basis?

Tuesday, January 23, 2007

Vista on my UMPC


Today I decided to take the plunge and get my Q1 UMPC running Windows Vista. I know it has been done before but what surprised was how simple it was. I headed over to UberTablet's place to borrow a Samsung Q1 DVD drive so I could do it right. when I got home I stuck the Vista DVD in the drive and booted the Q1. It booted from the DVD without issue and started to install the Windows Vista OS. I selected to wipe the mess off the drive and go for a complete fresh installation. The OS went on without a hitch. I then installed Office 2007 and hey presto I am mobile again.

What I have missing is the ability to change screen resolution, so I am stuck on the default 480 x 800 (which is where I leave it mostly anyway).

Monday, January 22, 2007

Submitting Sessions for TechEd - why is it so hard?

In the last couple of weeks I have been asked by a number of different people at Microsoft to submit sessions for TechEd.
At TechEd this year there will be a number of different tracks:

  • Architecture
  • Mobility
  • Business Applications (Microsoft Dynamics)
  • Office System
  • Business Intelligence
  • Security
  • Connected Systems
  • Windows Server Infrastructure
  • Database Development and Administration
  • Web Development & infrastructure
  • Developer Tools & Technologies
  • Windows Client
  • Identity & Access (virtual track)
  • Management & Operations
  • Unified Communications

Each track has a 'secret' code to allow me to make a submission to that track. I started with 2 submissions for the Windows Client track. Now I have some submissions to make for the Architecture and Mobility tracks. the system will not allow this. How could someone present sessions on more than one area?

My profile is now tied to the Windows Client track and I cannot submit sessions for the other tracks. Is there anyone else that has this issue? Am I a freak of nature for wanted to submit sessions in more than one track?

Update: My MVP lead has found someone that can edit the system and asign my submissions to the correct tracks.

Sunday, January 21, 2007

Book Review: The Art Of The Start

The Art of The Start
by Guy Kawasaki

Guy Kawasaki is a great author. A man that started in diamond sales, has worked for Apple and now runs his own venture capital organization, Guy has seen a few starts in his time. Along with reading this book I recommend trying to see Guy in action on stage. He might not be Steve Jobs, but in his own way Guy is just as good at grabbing the audience attention and holding on to it.

I give this book 9 out of 10

Full review here

Saturday, January 20, 2007

SMS Utils 1.5 Beta Release

I have just posted a BETA release of SMS Utils 1.5.

It should solve some issues, such as running on Windows Vista and the expired phone component that some users have been experiencing in the last couple of weeks.

This version will only work with Windows Mobile 5.0 devices.

Friday, January 19, 2007

Windows SideShow .NET Framework Components 1.0 (Beta)

The beta of the Windows SideShow .NET library is now available for download.
I have presented demos using this technology over the last few months, now you too can get your hands on the Managed API for SideShow and start building SideShow Gadgets.

Thursday, January 18, 2007

Dr. Neil's Notes 38

Welcome to Show 38

News:
New 1.6 TB RAID storage for backups
SMS Utils is broken :(
MEDC sessions resolved again
Main stream media - what is that then?

Keeping focussed on what you should be doing
Keeping focus through the changes
Let developers do what developers do

Happy coding
This podcast was recorded with Castblaster

Main Stream Media is for who?

I heard today that there have been ads in the media (radio, newspapers, etc..) for the Look Up And Smile website we have been working on.
It is amazing that I just dont have clue what is happening in the main stream media any more. I don't listen to the radio, watch TV (at least I skips ads), read newspapers.
When I think about it I don't believe I have heard or watched an ad for quite some time now.
All my information comes from RSS feeds, podcasts, online media.
Tatham sent me his interpretation of a radio ad he heard:

an ad on 104.1 2day FM last night that went something like this:

Nerdy muffled “space” voice: 5, 4, 3 ...
SFX Random Space Noises (breathing in space, blips, etc)
Bimbo “everything ends with an inflexion” woman: This Australia day we’re going to be celebrating by ...blah blah ... Centennial Park ... blah blah ...
Nerd: 2, 1 ... Look up and smile Sydney.
SFX Camera Click
Bimbo: Check out lookupandsmile.com.au
SFX Generic Microsofty Sound (kinda like the Intel one)
Bimbo: Powered by Windows Vista


Where do you get your news?
Do you still kill trees to get the news in the morning?
What advertising have you heard in the last few days?

Wednesday, January 17, 2007

MEDC 2007 sessions resolved - again

After I told you that the sessions had been resolved the last time there have been a number of email threads going and the session titled From Smartphone to Server has been dropped.

I am now presenting the following 3 sessions this year at MEDC:

Windows Live Services on Windows Mobile

The Synchronization Story

Windows Vista Gadgets That Talk to my Mobile Phone

The reason for dropping the From Smartphone to Server session is that my good friend Daniel Moth is doing his session Sharing assets between the .NET Compact Framework and the .NET Framework. Daniel, through his blog posts and sessions he has presented, has taught me a lot of cool ways to build one assembly that runs on all of my computers (from Smartphone to Server!). I am pleased he is presenting this topic as it is super important for mobile developers to realize how they can extend their reach.

I love my life

This morning before heading to the gym I walked along the beach to watch the sunrise.
This is an awesome way to start the day. Today I thought I would take my camera so I could share the beauty with you.



We each choose our life path, if you don't like the path you are on find another one, before it is too late.

Tuesday, January 16, 2007

Email, Email everywhere

As I have got rather busy in the last few weeks with Look Up And Smile and a couple of other projects I have tended to switch off Outlook for core hours during the day so I can focus on getting work done.
This is a good tactic as productivity rockets. The downside is that my inbox is getting full of unanswered issues. This evening I have hammered through a number of emails and dealt with them.
I know my friend Adam Cogan likes his rules and Rules to Better Email is a popular item in his rule book.
Most of his rules make sense. I would pay more attention if I didn't know that Adam's email is totally out of control. If he cant eat his own dog food then I might not like the taste either.

How do you deal with email?
Do you shut your email application when you have work to do?

Tagged again?

I have just been tagged again, this time by Markus Egger. I have already done this tagging thing. What should I do?

Do I need to give you another 5 things you might not know about me?
Should I say "been there done that' and link to my previous post?

Who invented this game and where are the rules? (So at least I know which rules I am breaking!)

Monday, January 15, 2007

Keeping Focus

As you go through your day how do you keep focus on the things that need to get done?
Yesterday Kris posted an entry on the 'voice' inside her head telling her to do something.
To stay focussed Kris says
"The best way I find to do this is to reset my Goals and have them clearly on display and "in my face"..."

Do you do this?
How do you keep your goals in your face?

I have tried lots of different approaches. I would love to have everything in a digital world but it never seems to work. If I keep my tasks in an application, Outlook, Project, PlanPlus, an Excel spreadsheet or a Google doc they get lost behind the other windows on the screen.
The one solution I always come back to is the whiteboard.
Every morning I write out all the tasks I need to complete that day on the whiteboard. It is then my mission to cross those tasks off and clear the whiteboard. Some days I get all the tasks done early and I will add some more to the whiteboard. On other days I dont finish them all and they roll over to the next day.
The whiteboard is always there, staring at me, telling me what must get done. It helps me stay focussed on the jobs for the day.

What do you use and how do you make sure you stay focussed?

Sunday, January 14, 2007

Book Review: The Starbucks Experience

The Starbucks Experience
by Joseph A. Michelli

Starbucks is a fascinating company. They have ‘taken over the world’ with coffee shops in over 35 countries. Starbucks is obviously about a lot more than simply selling coffee. There are lots of companies that sell coffee and yet they never get as big or successful as Starbucks. This book explains 5 principles that Starbucks works with to turn the ordinary into the extraordinary.
A short easy to read book, with plenty of insight into the facets of a company that makes a difference to so many people around the world.

I give this book 8 out of 10

Full review here

Friday, January 12, 2007

Dr. Neil's Notes 37

Welcome to Show 37

News:
Look Up And Smile went live on Monday morning
Castblaster beta 0.8 is available - it rocks - loving it
What headset do I use for this and Skype? USB Logitech

Breaking down work items
eXtreme .NET
An aligned team
How long does a job take?

Happy coding
This podcast was recorded with Castblaster

Thursday, January 11, 2007

Thoughts on MacWorld Keynote

I awoke early this morning to watch the recording of Steve Jobs give the MacWorld keynote. Steve is one of the best technology evangelists and speakers ever. He has his timing right, his demos look slick (even when things don’t go exactly as planned), his ability to tell a good story and be a friend to the audience is simply amazing.
He also does a fantastic job of making me want a product. I fell into this trap last year when I bought iLife and discovered how much of it was 'demoware'. Now I look at the Apple TV and iPhone and wonder how well they really function.

I was disappointed the last time when I bought the iLife package, but I also love my G4 Powerbook (yes I know it is so last century!)

Another thing that disappointed me with the iPhone presentation was the comparison of the iPhone with the existing Smartphone technologies. In my opinion the iPhone is not a Smartphone at all, it is a PDA Phone. Multi touch is a great innovation to bring into this marketplace but touch is nothing new in the PDA phone space.

After the keynote was over I went down to the beach to watch the sun rise. Funny how doing that can put everything into perspective. The world is beautiful and the iPhone or Zune or whatever the latest gadget is might look great but in the end it cant match the feeling of watching the sun rise with sand between your toes.

Wednesday, January 10, 2007

SMS Utils - it works on my machines

I have recieved a few emails in the last week regarding my SMS Utils software having expired.
While I enjoy using SMS Utils most days I havent used it much in the last month. I use it much more when I am on the road.
SMS Utils is a free product and my motivation to move fast to find the problem has been thwarted by clients paying me money to solve their issues first.
Finally last night I sat down and started up SMS Utils. It worked fine. Um...
I thought. I wonder if I have some special version I started work on and never delivered?
So I uninstalled it from my machine (Windows XP) and downloaded the public version. I ran it and it works fine, very strange.
If you are having issues with SMS Utils please will you send me information regarding which version you are running, what operating system you have on your PC, which operating system is running on your phone and what the model of your phone is. That might help me resolve this issue.

SMS Utils does not run yet on Windows Vista and I am hoping to have a Vista version out in the next few months.

Castblaster 0.8 now available for download

As a follow on to the last post, the latest version of Castblaster is now available for download.

Tuesday, January 09, 2007

Castblaster Mike does it again!

Castblaster Mike has been hard at work in his laboratory and today he sent me (and Hugo) an email regarding the latest tweaks to castblaster, the podcasting software. He has made it UMPC friendly! The best thing is he is following best practices and building a single program that will scale accordingly on the different screen sizes.

You can hear him do a test on his brand new UMPC.

I am looking forward to getting my hands on the new version.

Thanks Mike!

Monday, January 08, 2007

Look Up And Smile


Even when I am working on the project and know when it is going live, Frank manages to blog about it before I can!

Look Up And Smile is one of the projects that has kept me busy in the last couple of weeks. The ViaWindowsLive team has been working on building the map page and the Live.com gadget.

Australia Day is a big public holiday to celebrate the diversity of Australia, maybe one day the country will even offically "Say Sorry".

Before any of you geeks complain about the size of the images on the web site, I can only say that the design and graphics on the site was the responsibilty of MRM Worldwide, I asked them to optimize the images, multiple times. They dont seem to have a blog. we know what that means, don't we ;) ?

Sunday, January 07, 2007

Naked Conversations - book review

Time to catch up with my book reviews!

Naked Conversations
by Robert Scoble and Shel Israel

After several false starts I finally started blogging in seriousness after having lunch with Robert Scoble in 2003. I am fairly sure Robert didn’t try and sell me the wonders of blogging, in fact I think during that lunch I did most of the talking (no surprises there!) Returning to my office I felt the need to start a blog and post entries. If blogging is contagious, then Scoble is the number one carrier!

I give this book seven out of ten.

Full review here

Saturday, January 06, 2007

MEDC 2007 sessions resolved

After several emails which made me more confused, then less confused and now happy, I can announce that this year at MEDC I will be presenting the following sessions:

From Smartphone to Server, building 1 assembly that runs on all my computers.

The Synchronization Story: Building Windows Mobile applications that work with Windows Vista Sync Center

Windows Vista Gadgets That Talk to my Mobile Phone

Friday, January 05, 2007

Dr. Neil's Notes 36

Welcome to Show 36

News:
Happy New Year!
Google blog updated
Hectic time with project deadlines

Topic:
Aligning teams that are geographically distributed
Skype
McCarthy webcast

OneNote and Google Docs.

Happy coding
This podcast was recorded with Castblaster

Thursday, January 04, 2007

Session at MEDC USA

This morning I open my inbox to find a few emails regarding the sessions I proposed for MEDC in Las Vegas this year.
I opened the first email it read:
Congratulations! Your MEDC 2007 session suggestion, "Windows Vista Gadgets That Talk to my Mobile Phone," has been accepted.

Yay! How cool that will be a great session, my brain is already racing through some of the demos I want to do in this session.

I opened the next email, it read:
Thank you for your MEDC 2007 session submission titled: "Windows Vista Gadgets that talk to my Mobile Phone.."
Your session was reviewed by the MEDC 2007 Track Owner Committee, amongst a record number of 330 submissions. Unfortunately we were unable to accommodate this session submission in the MEDC 2007 conference


Interesting, so I get to present the session that has an upper case T in the word Talk but not the other one?
Now I am confused. Hopefully a glitch in the system that will be worked out in the next 24 hours.
I will keep you posted as to whether or not I am presenting this session at MEDC 2007.

Wednesday, January 03, 2007

Bland and boring user experience

I am currently reading The Starbucks Experience, a book explaining the core Starbucks practices for creating an extraordinary customer experience. In chapter 1 the author explains how Starbucks partners (employees) go the extra mile to create an amazing experience for their customers.
It occurs to me that we should all strive to do this with our software products. So many software and web experiences are bland and boring. By making the extra effort to create extraordinary experiences for our users we can help take our software to a new level.
My work in the past with fantastic interaction designers such as Tricky and Tim Brooke helps me to realise that the potential is huge to go beyond the norm.

Tuesday, January 02, 2007

The meme continues...

Hugo "UberTablet" has passed the meme on to me.
So here are 5 things you might not know about me:

1. I am a Pisces

2. I love motorbikes and have owned, ridden into the ground and then sold 9 motorbikes ranging from 125cc to 1000cc

3. I have not been clean shaven since the age of 22. I can't be bothered with all that every morning, think of the time I have saved in my life to do something more interesting :)

4. I have not been employed full time (had a real job) since 1992. I have owned my own companies and employed other people. I currently provide consulting on a freelance basis.

5. I have been to Burning Man. It is a blast, full of freaks and friends (some of them both).

I pass the meme on to the other 2 RDs in Australia
Adam Cogan
Greg Low

previous editor on TechTalkBlogs
Mitch Denny

and ViaVirtualEarth friends
Tatham Oddie
John O'Brien

Monday, January 01, 2007

Happy New Year!

Welcome to 2007, another year, another set of possiblities.

The start of a new year is a good time to set your sites on new targets and goals.

What goals do you have for 2007?

Create your own heaven in 2007 :)