Friday, 24 September 2010

IPv6 is coming.. soon.. sometime.. almost there?

One of the talks I did manage to see at TechEd this year was the one about how they managed the network infrastructure for the conference. Part of the presentation when into a bit of detail about how they went about providing IPv6 connectivity including arranging the backhaul from the convention centre back to the Internet.

I wasn't surprised when they mentioned they used Internode as part of the solution, as I've seen the Internode guys talking on Whirlpool about IPv6 for a while now.

The things I remember coming away from the presentation were that:

  • The need for IPv6 is growing as IPv4 address space dries up
  • There's not much existing hardware or infrastructure that supports it
  • It isn't easy to get working
  • Security (Firewalls) becomes a bigger issue when you aren't using NAT anymore

The hardware is certainly an issue, so it's good to see that the manufacturers are starting to release entry-level devices that support IPv6. Internode announced today that they're now selling the NetComm NB6Plus4 which supports IPv4 and IPv6 in "dual-stack mode". Billion also have their 7800NL router which operates similarly.

I didn't knowingly use the IPv6 network at TechEd but the comments from those who did were that it was also surprising how few websites were available – even Microsoft Update didn't work.

A lot of problems still to be solved - interesting times ahead!

Tuesday, 21 September 2010

Conditional text in Excel when a range has a value

Unusually busy on the Excel helpdesk today – Jane's follow-up question was how to do the same thing with a range of cells. eg.

image

My initial suggestion was to use COUNTIF(range, criteria) where the criteria is "*", but it turns out there's a better answer – COUNTA(range) which counts the number of cells in the range with are non-empty. So the formula becomes:

=IF(COUNTA(B3:C3), "Y", "N")

If you wanted to do the inverse and only return "Y" if all values in the range are blank, then COUNTBLANK(range) will do the job. Also check out KB 274537 for details on some scenarios when COUNTBLANK doesn't work so well.

Conditional text in Excel when a cell has a value

This might seem trivial to us 'developer' types, but it was today's "Jane's Excel question".

You have one or more cells in a spread sheet. You want to display some text "Y" or "N" depending on whether the cell has anything in it. eg.

image

One solution is to use this formula:

=IF(LEN(B3)>0, "Y", "N")

This checks the length of the text in the cell. An empty cell will have a length of zero. Anything greater than zero means the cell has something in it.

Monday, 20 September 2010

Supporting IE6, 7, 8 (and maybe 9) on the same machine

It's nice to live on the cutting edge – using the latest version of everything, especially web browsers. But sometimes you may have to support users running older versions, and it is a lot easier to support a user if you can be using the same software that they have in front of them.

The problem is that you can normally only have one version of IE installed in Windows.

IT Tester screengrabRoger showed me IE Tester which looks quite impressive. It works by hosting separate version-specific instances of the IE rendering engine. Probably a good option if you're a web developer.

Expression Web SuperPreview screengrabIf you have access to Microsoft's Expression Web, then Expression Web SuperPreview offers similar functionality.
Another option is to utilise the free virtual machines provided by Microsoft. These are complete standalone copies of Windows XP and Vista with versions of IE6, 7 and 8. To run these, you need either Virtual PC 2007, Windows Virtual PC (Windows 7 Pro or Ultimate only) or Hyper-V.

Virtual PC 2007 with desktop shortcut screengrabIf you're using Virtual PC 2007, one nice thing you can do is add a desktop shortcut to the VMs so they can be launched easily:

  1. Create a new shortcut on the desktop
  2. Point it at "C:\Program Files\Microsoft Virtual PC\Virtual PC.exe"
  3. Give it a useful name – eg. "IE6 on XPSP3"
  4. Edit the shortcut target and append
    -pc "VM Name" –launch
  5. Replace "VM Name" with the exact name of the appropriate virtual machine (Include the double-quotes if the name has spaces in it)
  6. Change the shortcut icon to point to one from "C:\Program Files\Internet Explorer\iexplore.exe"

Ryan Adams has posted a comprehensive list of all the available command-line options.

One thing to note – the VMs do have an expiry date. Updated VMs are usually made available before then though.

Wednesday, 15 September 2010

Error CS1061 upgrading to ASP.NET MVC3 Preview 1

I just encountered a problem upgrading a client's website from ASP.NET MVC2 to the preview of MVC3:

Compiler Error Message: CS1061: 'object' does not contain a definition for 'StartDate' and no extension method 'StartDate' accepting a first argument of type 'object' could be found (are you missing a using directive or an assembly reference?)

This error happens at runtime when I go to view a particular View in the browser. The view's Model property was not being typed as my custom type and instead was reverting to the default type of System.Object.

Turns out it's a known bug that is caused by the fact that the particular view's .aspx page also has a <% Import %> directive after the <% Page %> directive.

The workaround (until the next preview is released) is to swap the two lines around, so that the <% Page %> is the last directive in the file. eg.

<%@ Import Namespace="Client.Models" %>
<%@ Page Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage<Client.Models.CustomViewModel>" %>
 

Tuesday, 14 September 2010

Book ordering from Borders

I was looking for a book on learning about Excel pivot tables to give as a gift recently (makes a change from chocolates or a gift voucher – I know!) I found Pivot Table Data Crunching For Microsoft Office Excel 2007 on Amazon for $AU37.14 (25.93 + 11.21P&P).

Figuring it would be quicker to get it from a real bookshop, I dropped into the Adelaide Borders bookshop, but they didn't have it on the shelf
Sad smile
I then tried the Borders website - their online price for the same book is just $AU35.95, and they also happen to have an online price guarantee that they'll beat Amazon's standard price + shipping (not required in this case).

It would have been interesting to compare Borders online price to in-store price to see if they were the same. In any case, I ordered from them so we'll see how quickly they deliver.

This all does make me wonder with the advent of Kindle eBook readers and downloadable movies what the future is for traditional book shops and video rental stores. Not particularly bright I suspect.

Update 3pm

BenMc suggested I have a look at The Book Depository. They have the same book for $AU25.33 with free shipping. Might try them next time!

Friday, 3 September 2010

Rebuilding the home PC on a budget

I purchased an Antec TruePower 550 power supply today, but unfortunately that didn't solve the BSOD issue, so it looks like I'll be rebuilding the computer completely. As I've already got a decent server for more serious computing tasks, my aim is to do this as economically as I can. I've come up with the following list:

CPU AMD Athlon II x4 635
RAM 4Gb DDR3
Motherboard ASUS M4A78LT-M LE

I'll need to add a video card, as my two existing monitors only have VGA input (eg. the motherboard's DVI-D won't be suitable).

Thursday, 2 September 2010

Rockin' the Lobster

I thought it was high time I wrote about how much I'm enjoying being part of LobsterPot Solutions. Since joining Rob and Ben about 6 months ago, I've had the opportunity to work with a range of clients on an interesting selection of problems utilising technologies such as:

  • SQL Server
  • SQL Analysis Services
  • SQL Data Mining
  • SQL Server Integration Services
  • SQL Reporting Services
  • Pivot Viewer
  • ASP.NET MVC
  • JQuery
  • WPF
  • Silverlight
  • PowerShell
  • .NET 4.0

Not bad!

I think it's fair to say SQL Server and Business Intelligence (BI) are LobsterPot's bread and butter (or should that be seafood bisque?!), but I also really appreciate the variety of tasks I've worked on. To complete the 3 course meal (following the food theme!), the company continues to hire talented staff. Roger (Mr SharePoint) Noble joined us in May and I'm sure he won't be the last as demand for BI expertise increases.

Another thing that I like is LobsterPot's commitment to staff professional development – from in-house training and conference attendance to user group participation.

Now I'm looking forward to seeing what the next 6 months bring!

Wednesday, 1 September 2010

BSOD Stop 0x00000116 in nvlddmkm.sys

Upon returning from TechEd, I went to power up my trusty old workstation (an aging Intel D865PERL-based machine), however it didn't start up at all. After double-checking that it was actually plugged in properly I suspected that the power supply may be the culprit.

I'd had a similar problem with the kid's PC a while back. I'd bought a new replacement SHAW PSU and it worked for a time, but had subsequently started freezing for no reason, so it had been put aside.

I took the new PSU out of that PC and dropped it into my workstation. Turning on the power got an immediate response – fans whirring and all the right sounds coming from the machine. Everything looked good until the after the "Starting Windows" screen disappeared. After a long pause I was greeted by nasty BSOD:

STOP 0x00000116 (0x876c5008, 0x90835640, 0x00000000, 0x00000002)

nvlddmkm.sys

I could boot the system in Safe mode, but as soon as I allowed it to reboot normally it would BSOD again. Windows 7 Action Center tries to be helpful and suggest I go to the NVidia website to download a new driver that fixes the problem. A nice idea except that the GeForce FX-based graphics card that this machine uses was last supported by driver version 96.85 from 17th October 2006 (which I was already using).

Researching this error I came across this thread. I tried the suggestion of adding the TdrLevel DWORD value to the registry but unfortunately the BSOD remained.

So the problem is somehow related to the graphics driver. Quite bizarre as I've never had problems like this before. The only thing that changed was the PSU. This made me suspect that maybe the new PSU was also problematic. That might well explain why the kid's PC also froze for no reason too.

So what to do? Buy another (better quality?) PSU in the hope that it will resolve the BSOD, or go the full hog and upgrade this circa 2003 system with something a little more modern.