Blog Home  Home Feed your aggregator (RSS 2.0)  
.Net Jonesie - General
A simple programmers blog
 
 Sunday, December 28, 2008

I've been writing a small app using the latest ASP.Net MVC Beta and JQuery - for fun and for work - and got caught out by a problem I'm sure Ive had before.

When ever you have a script tag dont self close it like this:

<script type="text/javascript" src="Scripts/jquery-1.2.6.min.js" />

For me this would stop all subsequent scripts from executing and sometimes result in a completly blank page.   I had the same result in Firefox and IE 7.  Instead, allways have a seperate end tag:

<script type="text/javascript" src="Scripts/jquery-1.2.6.min.js"></script>

Happy New Year :)

Sunday, December 28, 2008 9:57:44 PM (New Zealand Daylight Time, UTC+13:00)  #    Comments [0]    | 
 Sunday, November 16, 2008

I've been tasked with cleaning up a few remaining bugs in a system that is about to go live.  I spent most of last week trying to figure out this one. 

A page in a site included an asp:FileUpload control.  This was working fine but then suddenly stopped.  When the user submitted the form the FileUpload control would be cleared and nothing happened - no postback, no file uploaded, nothing.  Ah, but only in IE 7 (we didn't have 6 to test with), FireFox works fine.

So, to cut a very long story short and to save anyone else from murderous thoughts, here is the reason and solution (at least for me).

After turning on script debugging I could see an exception on the ASP.Net postback event:

function __doPostBack(eventTarget, eventArgument) {
    if (!theForm.onsubmit || (theForm.onsubmit() != false)) {
        theForm.__EVENTTARGET.value = eventTarget;
        theForm.__EVENTARGUMENT.value = eventArgument;
        theForm.submit();
    }
}

The message displayed was htmlFile: Access Denied.

After much googling I found a few forum threads (heres one) that indicated that this was a security feature introduced in XP SP2, the idea, I think, was to prevent files being uploaded without the user knowing about it. Unfortuately none of the suggested solutions apply or work for me. 

After winding back the source day by day to a version that worked I was able to determine that the inclusion of an onload event handler in the body tag of the page was the cause.  Removing this fix the problem immediately.

Conslusion?  Well, I think IE is thinking that the onload event handler could be doing something dodgey so it enters a hightened state of alert and locks out the upload control.

Parting Shot:  Why the frac is this behaviour not documented by Microsoft and the IE team?  Maybe it is and google can't find it... but I doubt that.

Heopfully you wont waste 3 days like I did trying to solve this.

Sunday, November 16, 2008 4:19:21 PM (New Zealand Daylight Time, UTC+13:00)  #    Comments [0]    | 
 Tuesday, October 28, 2008

Tommorow I leave Christchurch for (up to) 6 months work in Sydney.  I'll be working for Intergen Solutions Pty - the Oz version of Intergen NZ - on an EPiServer web site for one of our customers, but I'll be back in NZ as required, probably monthly.

I'm really looking forward to:

  • doing some coding again - seems like I have not done any real coding for a year but I'm sure that's not strictly correct
  • decent weather - winter has been long and cold and as I get older I enjoy it less and less
  • the Sydney lifestyle - beaches, booze and babes :) (hope the wife isn't reading this!)
  • getting involved with the Sydney .Net community.  I'm already booked to do the Office Dev Con and to see Steve Balmer at some MS event.
  • doing stuff that is worthy of blogging again

but I worry about:

  • the heat - it was 31c there on Monday - that's about my limit.  It will take me a few weeks to get used to that again
  • the cost - finding accommodation is hard, finding cheap accommodation is very hard.  Plus, my 20yo daughter will be joining me in a few weeks for the summer so I need 2 bedrooms.   If you happen to have or know of a 2 bed furnished unit in Sydney that is available soon then please drop me a line!
  • homesickness.  I normally enjoy the first 3 days in a big city and then want to be back in my own bed.  Being away from the family for up to a month at a time will be a challenge for everyone.

And I'll be missing Code Camp :( which sounds like it is going to be a great event.

 

 

Tuesday, October 28, 2008 1:24:00 PM (New Zealand Daylight Time, UTC+13:00)  #    Comments [1]    | 
 Friday, September 26, 2008

Mainland Code Camp 2008 - Keeping It Real

Another Code Camp is being organised for Christchurch (see details below).  I'm taking a back seat this year with the organisation but I will be presenting a session or two.  I'm thinking:

100% Pure Javascript - All script and no controls

This session will demonstrate how to create a rich client application using javascript that uses an ASP.Net application for server side functionality - without using any (or at least very few) ASP.Net server controls. I guess you could call this hand-crafted AJAX.

Whats it all about, TFS?

Team System and Team Foundation Server are not particularly well understood.  In this short session I will attempt to explain (and possibly demonstrate) how the features of Team System impact & benefit developers and the project life cycle on a day to day basis.




Date: Saturday 1st November, Christchurch.  9am - 6pm
Location: Trimble Navigation, 11 Birmingham Drive (map)
Cost: Free! (Lunch provided)

Theme:  Keeping It Real
The sessions are designed to showcase .NET related tools and techniques that will be useful to you as a developer, focusing on real-world topics that will be of immediate use.

Featuring mostly local presenters it's a time to talk and socialise and connect with others in the local community. An optional dinner in the evening is an ideal way to finish the day (the great restaurant last year is still being talked about!)

Speakers:  Looking at getting into speaking?  Email christchurch@dot.net.nz to register your interest. It's a great opportunity to give a talk on anything .NET related.  We have plenty of options

  • 5mins (Lightning) - Powerpoint only (no live code).  Aim at getting a single point across - demonstrating a product, feature, tip, technique etc.  These sessions are a hit with audiences at other DNUG groups and code camps - fun and lightweight!
  • 15mins (Thunder) - Enough time to show a single concept or demo without getting into too much detail.  eg Interesting practical code, fun side projects, favourite dev tool/trick , LINQ to XML example etc
  • 30mins, 60mins - Useful for when you have something larger to demonstrate or feel really passionate about and need to spread the word!

 

Contact Details: If you have any questions, suggestions or want to offer sponsorship, please contact us at christchurch@dot.net.nz.



Friday, September 26, 2008 11:08:20 AM (New Zealand Standard Time, UTC+12:00)  #    Comments [0]    |   | 
 Friday, September 19, 2008
It's been a while since I've blogged about anything interesting - or had anything very interesting to blog about - so this is a bit of proof that I'm still alive and a catchup of what I've been up to.

iPhone
I succumed to the hype and was sucked into buying a new 3gesus phone.  This was also prompted by my realisation that my iMate SP5 was actually a peice of fecal matter.  iPhone rocks!  The UI is fantastic and so easy to use.  I was worried when it arrived without any sort of manual - a slim pamplet is all you get.  However a manual is unnecessary.

There's been some negative comments from people about drop-outs and slowness, but I haven't had any problems that I didn't cause myself.  The latest 2.1 OS patch has made the phone faster and the battery life does seem a tad better.  I did use the jailbreaking WinPwn on the phone pre-2.1 but this made the phone very slow and I really can't seen the point of doing this unless you really need to hack it to death. 

My only complaint is Safari - it locks the phone and crashes very easily.  However, I dont really use it much so this is no biggy.

Windows Server 2008
I updated my dev desktop to 2008 server x64 without much forethought or planning.  The upgrade painless but I've spent a lot of time getting all my VM's converted to HyperV.  Its faster then 2003 server and it seems more stable, but this might be more to do with 64bits and a cleanup of installed rubbish than anything else.

HyperV is great.  It's certainly a step up from Virtual Server.  Snapshots are a life saver!  I've been doing some work with Active Directory schemas so it's a peice of cake to make a change then roll back to a previous snapshot and try again.

Like all good Microsoft software there are a number of really annoying little quirks, missing features and unwelcome changes:  The HyperV VM Connection console doesn't do clipboard across machine so you still need RDP, which impossible if you only use the internal network connection.  The event viewer now has 4 hundredd thousand gazillion different nodes - finding a simple error in an event log can take a long time.  UAC still sucks and is unnecessary for anyone with an IQ above 12.

Chrome
For a version < 1 browser Chrome is excellent.  I use it in preference to FireFox which I use in preference to IEeeek (any version).  It's very fast, work on just about everything and has the typically clean Google UI.  Like Firefox though it's not the best for Windows authentication - IE still works better there.

EPiServer
EpiServer have released a new CTP of version 5.2.  It's hard to find exact details on what is included in this release but it does support Visual Studio 2008 SP1 and .Net 3.5.  The new Installation Manager is way better than EPiServer manager.

SharePoint & PowerShell
Most of my time is spent diddling around with SharePoint.  Most recently I've been heen helping out on a large MOSS project with a few small PowerShell scripts.  The entire MOSS site and migration of content from a SharePoint 1 site is scripted with PowerShell.  This has shaved months off the development time.

Code Camp
It's coming soon!  Stay tuned...

Holidays
Spring is hear at last - on and off - which is great cause I've had the winter from the cold part of hell.  We are packing up the kids and taking 2 week in Sydney and Queensland from next week.  Can't wait - and I may not come back until after the election!

Friday, September 19, 2008 2:22:27 PM (New Zealand Standard Time, UTC+12:00)  #    Comments [1]    | 
 Thursday, July 17, 2008

Thanks Matt. I cringed when I first saw this, but it’s actually quite challenging remembering the past in any detail.

How old were you when you started programming?

My first computer was a ZX80 but I didn’t do much with it.  In fact, I think it turned me off computers for a while.  The first real programming I did was at high school in the 6th form.  Burnside didn’t have any computers in 1980-ish so we used to cycle to the university and submit our coding sheets or collect the punch cards and ‘run’ our Fortran 77 app’s on the PDP.

image

Later we discovered the DEC VDU’s where we could spend 30 minutes entering the code directly and see the results on the line printers.  I don’t know if it was the ozone or the clacking sound but I really miss using line printers as a terminal – they also had keyboards!  There is something very satisfying about mechanical interactions with a computer.   

image

How did you get started in programming?

I had a friend at Christs College and being a private school they could afford lots of cool stuff.  They had a small PDP.  Alex created some pretty nifty graphical applications on the this.  After I left school he introduced me to PC’s and it wasn’t long after that I had my own – 8086, 4.77 Mghz, green screen, 256K RAM I think and twin floppies! – no HDD.  

What was your first language?

Microsoft Basic Compiler – BASCOM – v 6 I think.  I created some large applications with that but gee, it was slow.  Before that I tried to learn COBOL via correspondence school.  That was like learning to drive without a car so I can’t really count that.

I guess the first real language I used was C which I learnt at Christchurch Poly night classes.  I soon realised it wasn’t for me though and discovered dBase and then Clipper.  Clipper is/was a dBase compiler (pcode only) and if you don’t know what dBase is then think Access for DOS. 

What was the first real program you wrote?

With Clipper I created my first applications that I actually got paid for.  It was a system for managing club memberships.  I formed a partnership with a friend of a friend and we sold about 20 of those I think mostly to Working Men’s clubs.  

The last of my Clipper apps was only decommissioned about a year ago – 15 years from a DOS application is pretty good I think.  

What languages have you used since you started programming?

Fortran, MS Basic, C, dBase, Clipper, Pascal, VB, Forte (4GL), Delphi, C#, VB.Net, Java, JavaScript, English, Geek and a little Klingon. 

What was your first professional programming gig?

My first real programming job was with a very small 1 product company.  The product recorded output from telephone systems and calculated usage and cost.  It was called CAPP Plus (CAPP, the original was written in Turbo Pascal and became unmaintainable – for various technical and personal reasons! I re-wrote it with Clipper).  It was through this job I met my wife and when the company karked we took over the product and sold it for a few more years until Telecom decided to get out of the business.   

If you knew then what you know now, would you have started programming?

When I was young I always said I had no regrets and while that’s still true – give or take a few stupid ideas that I shouldn’t have acted on! - I just wish I’d started sooner.  In the famous words of Oscar Wilde - ‘youth is wasted on the young’.  

If there is one thing you learned along the way that you would tell new developers, what would it be?

If you love it, programming is easy, it’s humans that are hard.  Spend as much time learning the business as you do learning your craft.  Developers are easier to find than developers with real business knowledge.  If you don’t understand the business then software bombs are also a good way to get promotions – or legal trouble. 

What's the most fun you've ever had... programming?

I get a big kick hearing that an application you wrote years earlier is still being used every day and you never hear a word from the customer, but the best thing about this career is the opportunity to work with great people and maybe even marry them :) 

I Choose

Hmmmm.  The people I choose either don’t have a blog or their site is not working.  I’ll try to update later…

Thursday, July 17, 2008 11:29:08 AM (New Zealand Standard Time, UTC+12:00)  #    Comments [1]    | 
 Sunday, July 06, 2008

Is it just me, or does anyone else find themselves driven to buy funny stuff?

StraightCroissants

Sunday, July 06, 2008 7:32:52 PM (New Zealand Standard Time, UTC+12:00)  #    Comments [1]    | 
 Saturday, July 05, 2008

A couple of weeks ago I upgraded our Team Foundation Server from 2005 to 2008.  This is my story…

I was very nervous about upgrading the server as the installation procedure requires un-installation of the existing TFS2005 version and an install of TFS 2008 over the top.  The source code and work items are very important asset for us and loosing them, even for a day, would cost us a lot of money (and be somewhat embarrassing).  So, I was very careful about the process. 

Preparation

I needed to ensure that I could recover our current TFS installation should the upgrade go pair-shape so I created a Virtual Server image on our main domain with a clean install of TFS 2005.  I then restored the TFS setup to this new server, which had a new name.  Microsoft provide detailed instructions on how to move a TFS install here:  http://msdn.microsoft.com/en-us/library/ms404860(VS.80).aspx. This process also taught me how to do a disaster recovery – a very useful and necessary skill!

The creation of the VM, getting it on the domain, installing TFS, migrating the databases and reconfiguring the server took me the best part of 3 days.  I took my time and followed the instructions precisely.  If I had to do this again it don’t think it would take more than a day.

I also migrated the SharePoint content to the new server.  This is documented in the above MSDN article.

I tested this new install, and while it was slow, it all worked and developers could connect and do work.

The testing highlighted a couple of issues.  I had installed Conchango’s Scrum Template on TFS but it was not being used so I had uninstalled it. Unfortunately it had made some changes to the TfsWarehouse database that did not get removed during uninstall.  The test scrum projects were deleted but I didn’t want to futz with the database directly so the scrum stuff had to stay.

Doing it for real

After all the preparation, the upgrade process was somewhat anti-climatic.  It took an hour and half to uninstall TFS 05 and install TFS 08.  Again, the instructions provided my Microsoft are precise and simple to follow.

I next updated Team Build and Web Access with the latest versions,  Again, this was very simple and painless.

Problems

On the Monday morning following the upgrade I found that the Warehouse cube was not being updated.  In fact, some of the dimensions were empty.  It turned out there was a permissions issue with the analysis services. The error in the event log was :

Some or all identity references could not be translated.

A bit of Googling around quickly solved that one: http://blog.salvoz.com/2008/01/26/TFSWarehouseIssues.aspx

During my test run I had a lot of trouble with the SharePoint Services upgrade.  As we don’t use the project portals very much. I made the decision to stick with WSS2 for now.  Next time one of our SharePoint config guru’s is in town I may get it updated, or we might just switch to using the corporate MOSS platform.

I’ve now also notices that some Team Builds are failing.  It appears that projects using our custom Work Items are having a problem building.  I haven’t had time to investigate this yet, but I don’t expect it will be too hard to solve.

Recommendations

If you need to do any work with TFS read the MSDN documentation first – it’s exhaustive and complete. For any issues or problems Google first then post a message on the MSDN TFS forums – you will almost always get a quick answer from a Microsoft expert, MVP or other similarly brainy person.

Put your hand up if you can afford to lose all your source code – for even a day.   Hmmm, I thought so.  Create a disaster recovery plan and test it.  Yet again, Microsoft provide all the documentation you need for this on MSDN, but here’s what I did:

  1. Create a VM with Windows Server installed on it.
  2. Add the server to the same domain as your current TFS install.
  3. Install TFS and all the same bits you have on your production system.
  4. Backup the VM.
  5. Now test the DS plan on the VM using the move instructions from MSDN (above).
  6. If you update your production server then remember to update and test the DS system again.  In fact, test the DS system regularly - once a year or more often.

In summary I found the upgrade a very pleasant experience, aided greatly by the detailed and copious documentation from the tireless TFS team at Microsoft and the large volume of community blogs and forums.

Saturday, July 05, 2008 11:57:12 PM (New Zealand Standard Time, UTC+12:00)  #    Comments [0]    |   | 
 Friday, June 06, 2008

Have you ever wanted to share your desktop with another user somewhere on the Internet or in another office?  There are a few tools available to do this but I recently found Microsoft SharedView.  This is great free utility that works everytime. 

You can share your whole desktop or just a single window with as many users as you like.  You can grant control to any of those users and chat with them online.  Users connect via HTTP over port 80 and are authenticated with a Live login so it's pretty safe.

I've found this a life save several times recently, most recently today when I needed someone in our Wellington office to configure a VM on my local machine.  Access through the domain wasn't working for some reason - firewall issues or something like that - but SharedView just cut through the noise brilliantly.

Check it out!

Friday, June 06, 2008 8:46:41 PM (New Zealand Standard Time, UTC+12:00)  #    Comments [0]    | 

Yesturday Microsoft announced the Visual Studio 2008 version of Visual Studio extensions for WSS (v 1.2). It is available for download now!  This took me by surprise as I thought it was scheduled for next month - but earlier is better!

Also, checkout the spunky new site for SharePoint developers:  http://www.mssharepointdeveloper.com/.  This is a great central resource for getting started with SharePoint dev.  It contains a bunch of FREE learning material - 10 Virtual Hands On Labs to be precise - and links to other goodies.

FYI: A gang of kiwi's were heavily involved in creating some of this material, including myself and some other's at Intergen and of course Paul Andrew.

Friday, June 06, 2008 8:40:51 PM (New Zealand Standard Time, UTC+12:00)  #    Comments [0]    |   | 
 Thursday, June 05, 2008

So here is how to loose a server off the domain without even touching it.

  1. Grab any old machine (or VM in my case) that is in a WORKGROUP and give it a name the same as a machine on the domain.  Reboot.
  2. Rename the machine but dont reboot.
  3. Join the machine to a new workgroup but dont reboot.
  4. Join the machine to the domain.
  5. Bingo!  The real machine with the old name will be removed from the domain!  Cool eh?

In my case this was bad.  VERY bad as the VM in question had the same name as our TFS server.  After joining the newly named VM to the domain our devs started whining about TFS being down.  There was a brief OMG moment.  But then it got worse when we found that the local machine account password wouldn't work.  To cut a long story short, phycially disconnecting the server from the network allowed us to login with my domain account (using cached credentials) and from there we were able to rejoin the machine to the domain.

Phew!

Thursday, June 05, 2008 9:43:55 PM (New Zealand Standard Time, UTC+12:00)  #    Comments [2]    | 
 Sunday, May 25, 2008
Rod makes some interesting observations and suggestions for Microsoft.  While there is less chance of me being CEO at Microsoft than there is of Helen Clarke being PM one more time (might live to regret those words...) here's what I would do.

1) Forget office.   It's not going anywhere.  With the new Office Xml and ODF file formats there is plenty of room for any coding monkey to whip up a compatible niche product. These apps will chip away till there's nothing left.  90% of Word is never used, web based mail does a better job than Outlook for day to day mail needs - or at least good enough, Excel - I guess a few people use it but does it do anything that any other spreadsheet app can't do - AND - people use regularly?  The Office dominance is mostly due to the Office dominance and unless they do something radical about the rediculous licensing cost then it will dissapear faster than an litre of $1.99 petrol.

2) Branding is nothing without good product.  I'm sure I'm more gullable thant most at the subconcious level but dont get me started!  I'd sack the whole Marketting department (and shoot Apple's, Google's and any other Marketting guy in sight).  Brainwashers all of them!  Hire a few talented artists and just state the facts, eg: 'Word - use it to do stuff - $99'.

3) Open Source if you have to, but it's far less relevant than good WELL DOCUMENTED, SIMPLE product.  I love SharePoint now but if I have to work that hard again for another enterprise product, I'll be changing careers (oh crap, another burnt bridge).

4) Forget the aquisitions.  Microsoft is stacked with exceptional talent already.  Free up the brains and let them loose on creating something new and extraordinary, like...

5) Create a new OS that throws out all the old bagage.  You dont need to start from scratch - we need something this century - but dump support for the old shit.  90% of the OS should be SaaS'ed.   And there has to be zero maintenance.  My TV, fridge, phone, oven and toilet work with very little maintenance.  Why should I have to spend so much time keeping my PC working??  And I dont want to have to upgrade every 3 years.  My cars are 15 years old and get me from A to B just as well as anything else.

6) Make products my mother could use.  As an industry we are all guilty of missing the small picture.  By all means, cater for the enterprise geeks but remember the noobs too.  Imagine if you had to go to night school to learn how to use a TV . Computers need to be made simpler.

7) Consistancy please! The box-of-choclates strategy may have worked for Forest Gump, but it fails misserably for software.  Users/developers dont like surprises.  It feels like the different teams at Microsoft are not aligned very well.  Need to mix things up a little more often.

8) Make licensing simpler.  If you need a computer to figure out the license cost then it's too complex.  Instead, set a realistic per user/server price for each market and let the regional offices do deals.

9) Don't become the next IBM!  Stay away from hardware and services.  Stick to what you know best - creating innovation and integrating it.

10) Linux is not a threat to the desktop so ignore it.  For the server, concentrate on making it easier and more fun for developers and administrators.  And when I say easy, I really mean SIMPLE.  For example, you should be able to explain every technology on a single white board in less than 10 minutes, well enough for an intermediate level techo to run with.  If you can do that well then Linux for the server will also die it's well deserved death.

11) Buy Apple and cancel the iPhone.  I dont have one so no-one else can either! 

12) Social networking sites are just a string of uselsss fad's.  They do nothing to improve the human race. Dont get sucked in!  Unless of course you do it with a decent mobile device... maybe something like an iPhone... but much better.


I did say up front I would never be CEO of Microsoft :)

Sunday, May 25, 2008 12:55:31 PM (New Zealand Standard Time, UTC+12:00)  #    Comments [1]    | 
 Wednesday, May 14, 2008

The Team System and .Net User Group are having a combined session next week.

Ron Jacobs!!!


The Perfect Pattern Storm, where Test Driven development (TDD) meets User Experience (UX) and MVP
Christchurch 20/05/2008
Gather at 5:00 pm, starting at 5:30 pm

Presented by Ron Jacobs

As long time host  of ARCast.TV, Ron Jacobs has a front row seat to observe the constantly shifting architectural landscape. In this session we will consider what happens when the force of test driven development (TDD) collides with the demand for better UX.

Ron Jacobs is a Sr. Technical Evangelist in the Microsoft Platform Evangelism group based at the company headquarters in Redmond Washington. Ron's evangelism is focused on Windows Communication Foundation (WCF) and Windows Workflow Foundation (WF) Since 1999 Ron has been a product and program manager on various Microsoft products including the .Net Framework, Windows Communication Foundation and COM+. A top-rated conference speaker, author and podcaster, Ron brings over 20 years of industry experience to his role of helping Microsoft customers and partners to build architecturally sound and secure applications.


RSVP via the link on the .Net User Group Site.  Space is limited so get in early.  Note, this session is at Intergen rather than the usual venue.

Thursday, May 15, 2008 1:16:40 AM (New Zealand Standard Time, UTC+12:00)  #    Comments [0]    |   | 
 Sunday, April 06, 2008

I often spend a lot of time trying to find stock images and fluff for sites. Luckily our office has a talented chap who normally does all this stuff before we need it.  However, occassionally he's not around or I need something at home.

I just found this site:  http://www.ajaxload.info.  You can use this to generate a stack of spinny progress indicated thingies.  Very useful!

 

Sunday, April 06, 2008 1:48:00 PM (New Zealand Standard Time, UTC+12:00)  #    Comments [0]    | 
 Thursday, April 03, 2008

A few people have been doing some great things in the community and it's fantastic to see them get recognition.

Congradulations to :

  • JD Trask (ASP.Net)
  • Ivan Towlson (Windows Client - WPF) (having an MVP award will soon be a pre-req to getting a job at Mindscape! :)
  • Zachary Smith (Sharepoint)
  •  

    Somehow I also managed to scrape in for another year.

    Thursday, April 03, 2008 1:21:30 PM (New Zealand Standard Time, UTC+12:00)  #    Comments [0]    | 
     Tuesday, April 01, 2008

    Keep these dates free if you can afford it:

      May 20 in Sydney
      May 22 in Melbourne

    Booking open from 7 April ish.

    More details soon.

    Tuesday, April 01, 2008 2:33:31 PM (New Zealand Standard Time, UTC+12:00)  #    Comments [0]    | 
     Wednesday, March 26, 2008

    I'm not very good at managing my daily tasks.  The only way I am half reasonable is to create todo lists.  This works for a day or until I lose the peice of paper I scribble the tasks on.

    Luckily, there is a better way:  ActionThis!

    Use ActionThis to help you and your team work together more effectively, using the power of the web combined with Microsoft Office.

    Thousands of people worldwide use www.actionthis.com to manage the tasks small businesses, teams and their partners need to complete to succeed. Delegate tasks from Microsoft Outlook, connect with your team on the ActionThis task management website, track progress and take action with live reports delivered to your email inbox.  ActionThis is free to try, and simple to use. Less time following up, more tasks completed, your business is more productive. ActionThis was designed and developed by Intergen in New Zealand and will help you and your team get things done.

     

    How ActionThis helps you get stuff done

    ·         Use Microsoft Outlook to create and assign tasks to yourself, your team, your partners

    ·         Organize and access these tasks from anywhere using Microsoft Outlook or the www.actionthis.com website

    ·         Keep track of progress, projects, and workload with reports emailed to your email inbox

    ·         Keep on top of overdue tasks with live alerts designed to help you take action quickly

    ·         Export and analyze your progress with Microsoft Excel

    ·         Telephone and email support is free

     

    Try it for free. Sign up for a one month free trial at http://www.actionthis.com/product/trial.aspx and use this referral code: INT531.

    Thursday, March 27, 2008 12:56:18 AM (New Zealand Standard Time, UTC+12:00)  #    Comments [0]    | 
     Thursday, March 20, 2008

    I'm often asked 'How do I get to be a great programmer like you Pete?'.  Well not quite, I added the last bit, but Tokes provides a better answer than I ever could. 

    I completely agree with Tokes, being a (Microsoft) developer is getter way harder. But it's not Microsoft's fault.  It's those pesky users.  I always said that being a developer would be a piece of cake if it wasn't for users!  They seem to want more and more every year and are less impressed by coded coolness.   In fact, I think there is a formula to calculate coolness:

      

    (C is Coolness, loc is lines of code, si is systems integrated, To is time overrun)

    Time seems to be suffering too.  As systems and requirements grow in complexity there seems to be some sort of temporal distortion reducing the amount of time available to a developer. I think Stephen Hawking discovered this when he ran out of budget for his black hole simulator (SimHole).

    Developers must also share the blame for increasing complexity. We are always chasing the next best thing without much regard for using what we already have.  Microsoft's job is to create temptation - it's us developers that can't keep our hands out of the cookie jar.  Visual Basic 6 is still a great tool.  Visual Studio 2008 just looks prettier!

    It's no wonder that fewer and fewer kids are taking up IT as a career. Although, with both parents in the industry my 3 kids seem to be heading in the right direction.  Maybe we as developers should procreate more?

    Thursday, March 20, 2008 7:51:38 AM (New Zealand Standard Time, UTC+12:00)  #    Comments [2]    | 
     Monday, March 10, 2008

    A blog-less colleage of mine, Bryce, just discovered redirects in IIS 6, which is something new for me also.  Bloody useful if you are moving site content around, moving servers or just want to make URL's more friendly.

    http://www.microsoft.com/technet/prodtechnol/WindowsServer2003/Library/IIS/41c238b2-1188-488f-bf2d-464383b1bb08.mspx?mfr=true

    This is particularly relevant for sites with really long and complex URL's, e.g.: SharePoint, in which case you should also read:  http://www.toddklindt.com/blog/Lists/Posts/Post.aspx?ID=48

    Monday, March 10, 2008 1:34:16 PM (New Zealand Daylight Time, UTC+13:00)  #    Comments [0]    | 
     Wednesday, February 20, 2008

    Rod is a frequent poster on the subject of broadcast TV. I agree totally with his latest comments and suggestions, but I'd just like to add my little bit.

    I dont have an AppleTV or an iPod or iTunes stuff but I do have a Media capable PC connected to a 42" LCD TV.  I dont use Media Center as a) I dont have TV tuners in the PC and b) there are no guides for TV programmes (yes you can hack it but Ive tried and got too frustrated) and c) Media Center just gets in the way when your downloading stuff - you still have to revert to Windows Explorer and a browser.

    I also dont like the idea of paying for TV so I dont have Sky (plus all the repeat screenings and self promotion drive me nuts). 

    However, I do pay for RapidShare which is were I get all my downloads from. Yes, this a moral disgrace and while I can't legally justify it, in my defence I would like to say that I mostly download TV shows that are (or one day might be :) free to air in New Zealand.  I also don't give away stuff I've downloaded - at least not too often, maybe 10%.

    So, it occurs to me that if TV NZ, or whoever has the balls, wants to charge a reasonable amount for access to full legal ondemand TV then I'd probably sign up.  I might even consider tollerating a few advertisements - like 1 per half hour.  And they should also have a great selection of program - not the usual crap that passes as quality TV (CSI, Boston Legal, Lost etv (OMG dont get me started)).

    Of course 'reasonable amount' is a very subjective term. For me this would have to be a lot less than Sky but could be more than RapidShare - say $15 or $20 a month.  I think this is very unlikely in over priced New Zealand so I'll continue to infringe copyright until broadcast TV dies and/or I run out of disk space or bandwidth.

    Wednesday, February 20, 2008 1:55:44 PM (New Zealand Daylight Time, UTC+13:00)  #    Comments [0]    | 
     Sunday, February 17, 2008

    Today I received a correction to a post I did on SharePoint last year.  My erroneous statement was causing a few queries to be sent to Microsoft.  For this I am truly sorry, but in my defense I did check my facts first - like all good reporters I blame my sources!

    Anyway, that got me thinking about correcting blog posts.  I've seen debate about this in the past and my philosophy has always been:

    • correct only factual errors but leave the original text intact
    • never delete a blog post unless under court order
    • be careful what you say BEFORE you post

    My temper and inpatients often get me into trouble so there are a few blog posts here that I could remove or edit, yet, I wont.  Better to see me warts and all I think. 

    What do you thnk?

    Sunday, February 17, 2008 7:45:31 PM (New Zealand Daylight Time, UTC+13:00)  #    Comments [1]    | 
     Thursday, February 14, 2008

    Microsoft have just release v 1.1 of the Visual Studio Extensions for WSS - VSEWSS.  These work with Visual Studio 2005 and offer a few enhancements of the 1.0 release.  There will be another release mid year that will add support for VS08.

    WSS dev is a huge hairy beast and it can be hard to get started - or even figuring out where to start. The best part about new release is the user guide that is provided with VSEWSS.  This is something that some clever chaps at Intergen have been working on.  I provided some very minimal input reviewing their work which is basically providing me with some free training in exchange for fixing a few typos!  The user guide will improve over the next few months as we add more sections so keep checking for updates.

    Get it here:

    VSeWSS 1.1

    http://www.microsoft.com/downloads/details.aspx?FamilyId=3E1DCCCD-1CCA-433A-BB4D-97B96BF7AB63&displaylang=en

     

    User Guide

    http://www.microsoft.com/downloads/details.aspx?FamilyID=a8a4e775-074d-4451-be39-459921f79787&DisplayLang=en

    Thursday, February 14, 2008 3:13:13 PM (New Zealand Daylight Time, UTC+13:00)  #    Comments [0]    |   | 
     Wednesday, February 06, 2008

    Lately, I often find myself repeating a little mantra:

       Keep it simple
       Keep it simple
       Keep it simple

       Ohhhhmmmmmmmmm.

    This usually happens when it's too late, when I'm bogged down 5 layers deep in SQL or CAML, when Ive spent 3 hours googling for a solution to a problem and only found half answers in Polish.

    Some observations:

    • Complexity is often the result of too much simplicity.
    • Too much abstraction moves you away from a solution.
    • Everyone is busy.
    • You can't polish a turd.

    I'm working towards a point here so stick with me. I'll be more specific.  SharePoint.

    SharePoint is big.  Really big.  "So big that you can't even imagine it" big.  It's not bad, just big.  Big things tend to be more complex.  Complex is harder.  Harder takes longer and therefore costs more.

    At the other end of the scale is NotePad. Anyone who can use a computer should be able to use NotePad.  It's functional, uncomplicated, stable(?) and I think elegant.

    Here's some more observations:

    • The world is a complex place. It's full of complex human beings.
    • Business often needs solutions for humans.  These tend to be complex too. SharePoint is designed to solve complex solutions.  I'm not going to use NotePad for anything other than to edit a occasional text file.
    • Clarity can only be acheived when all solutions are explored.
    • Complexity and Simplicity are relative and not mutually exclusive.

    My point is this.  We should not be scared of complexity.  Simlicity is an admirable goal but not when its at the cost of solving a problem.  We need a way of managing and dealing with complexity.  I'm sure there are many people much smarter than I devoting themselves to exactly this problem, but here is my small contribution.

    1. Avoid complexity but don't be afraid of it.
    2. Compartmentalise complex solutions into managable chuncks.
    3. Focus what is infront of you. 
    4. Be patient but follow the 20 minute rule (see below).
    5. The next version will always be better but the previous version is often good enough.

    My 20 Minute Rule

    You can adjust the time up or down to suit, but my 20 minute rule is this:  If I can't figure out how to use/do something in 20 minutes - without a manual  - then it's too hard or complex.

    This doesn't mean I give up, it just means I need to learn more before attempting it again.

    Wednesday, February 06, 2008 1:20:10 PM (New Zealand Daylight Time, UTC+13:00)  #    Comments [2]    | 

    If you are a regular reader of my blog - and I think there is still one person - Hi Mum! - then you will have noticed that my blogging frequency and quality has been very low for quite a while.  The truth is I have lost some enthusiasm to blog.  I've often started to write blogs and think "what a load of twaddle" and hit cancel.

    My choices are to continue on drip feeding or pull finger and start writing about something useful.  My ego still enjoys seeing my face and words on the Internet so there is not way I'd pull this site :)  The only sensible thing left to do is commit to doing some regular posting.

    So, to that end, I hearby declare my intention to post at least twice a week.  Topics will include anything I'm working on - Sharepoint, EPiServer, general .Net, SQL etc - community activity - user groups etc - and an occassional option or rant about something that gets me wound up - which is pretty easy to do.

    If you are a regular reader (Hi Mum!!) and you noitce me slipping again, please feel free to remind me of my pledge or publically humiliate me in some non-photoshop way.

    Now... off to do my first one.

    Wednesday, February 06, 2008 12:26:49 PM (New Zealand Daylight Time, UTC+13:00)  #    Comments [2]    | 
     Wednesday, January 23, 2008
    I guess it's going to be a while yet before we need to memorise al these new tags, but there are some major changes and a lot of nice new things coming along in HTML 5. Definately worth a read.  I particularly like the things they have left out - especially framesets!

    Thursday, January 24, 2008 2:23:18 AM (New Zealand Daylight Time, UTC+13:00)  #    Comments [0]    | 
     Thursday, November 08, 2007

    This is very cool!  The solution for my previous SharePoint Designer issue is to Extend the Web Application.

    image

    Extending is intended to allow you to have multiple versions of the same site in different zones, ie, Intranet and Internet - otherwise known as Extranet.  Each version of the web application can have it's own authentication mechanism. In my case I have the custom membership provider for the external site and the standard Windows authentication for internal users.

    SharePoint Designer (and presumably InfoPath) now connects without issue.

    Very very cool!

    Loving Sharepoint again today :)

    Thursday, November 08, 2007 4:23:05 PM (New Zealand Daylight Time, UTC+13:00)  #    Comments [0]    |   | 

    When using SharePoint Designer to open a MOSS site with a custom membership provider, I get this error:

    image

    Oh, that's sooo helpful!

    Thursday, November 08, 2007 4:00:12 PM (New Zealand Daylight Time, UTC+13:00)  #    Comments [0]    |   | 
     Tuesday, November 06, 2007

    I was commenting the other day at the office that 3 months ago, no-one was doing anything with SharePoint and now there are five of us.  Sadly, I am one of them :(

    As per previous posts I tend to either love or hate SharePoint.  The cycle of mixed emotions is continuous and ever increasing in velocity.  Fairly soon, it will be a blur and I will feel either suicidal or manically happy.

    However, over the last month or so I have learnt a lot about MOSS, InfoPath, Forms Services, Workflow and other related stuff.  This is the project:

    1. MOSS is exposed to the Internet and the UI is customised with SharePoint Designer so it looks half decent.
    2. User logs into site - site is configured with custom membership and role providers that uses a SQL database.  The database contains data from MS CRM and other stuff.  Someone else in the office has created a membership provider that talks directly the the MS CRM web services but in this case we didn't want to do this - the customer does not have the CRM Internet connector license.
    3. User browses the site and clicks a button to view an InfoPath form in the browser.
    4. The form displays data from web services and lists. 
    5. User can save a draft of the form or submit it.  The form is submitted to a form library in SharePoint.
    6. A workflow attached to the form library sends the form's xml via a custom Workflow Activity to a web service.
    7. The Web Service inserts the XML into a Word DOCX file and emails the file to a couple of address.

    Along the way, I've discovered a few things so I thought it was about time I documented and shared a few tips.

    Today's tip follows...

    Wednesday, November 07, 2007 1:26:13 AM (New Zealand Daylight Time, UTC+13:00)  #    Comments [0]    | 

    Another Code Camp bites the dust. 

    Things that went well:

    • Great speakers and topics.  It never ceases to amaze me that these guys will give up their precious weekend and pay for themselves to travel all over the country to speak at community events like this. 
    • Attendance.  This was the first 'mainland' Code Camp so our expectation were not high for a huge audience, but I was very please with the turn out.  We had 130 registrations and only 20-ish no-shows.  Anything less than 20% for a free event is pretty fantastic I think.  I also expected a lot less attendees on Sunday, but most suck around and were rewarded with some great sessions.
    • Catering.  Subway was a big hit and the cost was very competitive - much cheaper than anything else we have used before.
    • Volunteers.  I spent most of the weekend listening to speakers and making sure everything was running sweetly.  I had plenty of time to relax thanks to the fantastic job done by a great bunch of volunteers.  Thanks again to Dan, Bryn, Chris C, Chris F, Simeon, Dave & Gary.
    • Weather.  Despite predictions of rain, the weather was lovely.

    Things that went badly:

    • Only thing I can think of - we ran out of milk late on Saturday :)

     

    So, on balance, I think that was pretty successful!  I think a repeat next year will be possible - but I don't want to think about that just yet.

    Wednesday, November 07, 2007 12:14:51 AM (New Zealand Daylight Time, UTC+13:00)  #    Comments [0]    |   | 

    JB & JD are up on Channel 9, talking about MindScape and Lightspeed with Ron Jacobs.

    Maybe I'm mistaken but it seems like there are a lot more Kiwi's doing great things with software and getting noticed more often.

    Wednesday, November 07, 2007 12:01:20 AM (New Zealand Daylight Time, UTC+13:00)  #    Comments [0]    | 

    I'm not a very good googler.  Others in the office seem to find the right answer quickly when I can spend an hour searching and not finding what I want. Today I spend 2 hours trying to solve this problem.

    When you have a secondary data source that uses a web service, InfoPath lets you specify the input parameters.

    image

    You can set the value here to any simple data type.  However, it's not immediately apparent how you would set the value to a variable data item.  In this case I wanted to fetch so