Monday, March 31, 2008

Great new laptop, but woes with Vista

dell-xps-m1330Life seems full of swings and roundabouts, or if you like, ups and downs. So I have been getting used to my shiny new Dell XPS M1330 laptop and enjoying the unbridled pleasure of being able to work when mobile. But at the same time I have been discovering how little Vista loves developers, or at least the software tools I'm using to develop in.

The problems I've had have been numerous, but I'll restrict myself to describing the ones I've got an answer for.

  • VS2008: Must run as admin
  • Indexing Service is now legacy code and not installed (by default)
  • IIS6 metabase and configuration compatibility (see here for more info)
  • Watir needs windows-pr (gem install windows-pr)
  • Watir conflicts with Office 2007 Groove
  • IIS7 suffers from the same 'usability facelift' woes as does Office 2007
  • Explorer keeps crashing ... actually I don't have an answer for this one

In addition I set the ruby.exe and rubyw.exe files to run as admin and did the same for Aptana Studio and java.exe. That was on the way to finding out that the Groove DLLs had some sort of conflict with Watir/Ruby. I also set nearly everything to run in Windows XP SP2 compatibility mode and disabled UAC along the way.

As usual, once you have everything up and running you forget about your setup woes, however the near constant Explorer crashes are getting on my nerves. It's especially frustrating when you have 2 or 3 Explorer windows open to various important directories (some on other machines) and then have Explorer crash because you opened Control Panel ...

explorer-crash 

UPDATED: Added link for IIS metabase issue.

Tuesday, March 18, 2008

They're just making it up ...

In Sydney for Sun's TechDays James Gosling (his blog), creator of Emacs and Java (you might have heard of it), has a chat with the SMH:
“People you think are oracles of wisdom - they're just making it up.”
Preach it bro' ...

Monday, March 10, 2008

It's the software that matters!

James Shore, creator of NUnitASP and author of The Art of Agile Development has recently announced that he's no longer supporting NUnitASP development, citing his increasing lack of interest in it and pointing interested parties to Selenium or Watir (or perhaps WatiN, although that has received some criticism from Scott Bellware, others are not so sure).

It's a shame we're not getting more choices in this area of testing, but James is right to focus on his own current projects. He has left it open for someone else to take over the project, although the way ASP.NET MVC will expose HTTPRequest as an interface might make it superfluous.

Back to the point of this post. James has a great blog with some very thoughtful articles. I found this great quote in It's the Software, Stupid! It summarises for me the problem with simply implementing Scrum and thinking that makes you Agile.
“your team is expected to self-organize and define its own practices”
“It's time we brought back the early emphasis on great engineering practices. If you're using Scrum or another agile method that doesn't include engineering practices, realize that your method is incomplete. Scrum, for example, intentionally creates an environment in which your team is expected to self-organize and define its own practices. If you aren't doing that--if you aren't talking about engineering practices, what's working, what's not, and how to improve--you're going to run into trouble someday. Probably someday soon.”

Thursday, March 06, 2008

Are VB's XML Literals an XSLT killer?

The VB Team have released the first in a series of XML Cookbook recipes. This one covers how you can use VB's new XML literal support in Visual Studio 2008 to replace the W3C's rather cumbersome XSLT (eXtensible Stylesheet Language Transformations) language with much simpler VB code.
“To sum things up, we’ve seen how Visual Basic, XML Literals and LINQ can be used in place of the <xsl:copy-of>, <xsl:for-each>, <xsl:template>, <xsl:if>, <xsl:value-of>, and <xsl:attribute> elements as well as using XML Axis Properties in place of XPath to create a powerful, yet simple tool for XML transformations.”
As someone who once developed a web site completely using Java servlets spitting out XML data using XSLT files to transform that into web pages, I've got to say that anything that gets us away from XSLT is a good thing. The way you can use LINQ to query the XML data is inspired, and this has the potential to make VB the language of choice for developers needing to glue together SOA.

Monday, February 25, 2008

VB come backs to scripting

Paul Vick, the Principal Architect for VB, gave an interesting talk at the Lang.NET Symposium about the future direction of VB with regards to scripting. He also discussed this on his blog:
“The main theme of the presentation is the same one I've been talking about on and off over the past year or two: moving Visual Basic back towards it's scripting roots. The main thrust of this presentation was the technical side of the story--namely, what we would need to do to the existing Visual Basic compiler to be able to effectively use it as a scripting engine. The presentation talks some about the way the compiler is structured, how it might change and some of the things were thinking about enabling.
“all the services that the compiler provides...are available to be used by any program that needs them.”
In particular, what we'd like to see is not just that Visual Basic can be embedded anywhere, but that all the services that the compiler provides--parsing, semantic analysis, code generation--are available to be used by any program that needs them. The DLR is a key part of this, but there's a lot of work on top of that.”
He also pointed out that language changes (like the XML native stuff in VB9) are necessary too:
“One thing this presentation didn't cover (and which Ted Neward brought up in the Q&A afterward) is what we might do to the language itself to make it more scripting-friendly. That's an area where things are less well-defined and even more speculative than what I talked about, so I left it out for now.”
Making the IDE services available to other programs allows a suite of competitors to Visual Studio to open up - so I'm not sure whether that will really fly (unless it's protected by licensing). But it does offer intriguing possibilities for scripting tools for administrators to use (provided they are familiar with VB) and perhaps even the ability to give end-users some access to create code in a Domain Specific Language (DSL) that makes sense to them. It could let you create an online query tool for large XML files. Whether modern systems administrators will welcome this sort functionality is another thing of course - and the security implications could be pretty scary.

Monday, February 18, 2008

Feeling secure or not ...

ZDNet.com.au have posted an interesting short interview with Bruce Schneier, security guru and author of Applied Cryptography and Beyond Fear.

They point out that he highlights that there is usually a difference, sometimes a great one, between how secure we feel, and how secure we really are. I've added to the quote below a bit missing in the ZDNet article (highlighted):
“When something rare happens it's talked about endlessly. It's repeated again and again so our brains are fooled in to thinking it's or common because it's what psychologists call "available" -- the memories are more available. And one of our mental short cuts is to think of things that are more available as more common. So we might not phrase it that way, but we react as though terrorism or child kidnapping is more common than it really is, because the media endlessly repeats the rare thing.
I was discussing with some other parents this very issue the other day. We are all hyper-aware as parents of the potential for our children being snatched from us at the park or shops, and so we find ourselves placing boundaries for our children that we never had ourselves.

For example I remember as a 5 year old I was allowed to run around the local neighbourhood (we lived in a cul-de-sac) and playing in the banks of snow that snowploughs had pushed up on either side of the road (I lived in Toronto, Canada at the time). There is NO WAY I would allow my kids to do this now - for one thing a minor car accident could have resulted in a car plunging into our snow bank, and clobbering us in the process - I'm too aware of similar improbable events occurring. For example a local pre-school was recently hit by an out of control driver and several children were badly hurt.

However my parents weren't being bombarded with stories about that sort of thing, so they thought it reasonably safe letting me play on my own outside (although there was the time I got busted throwing overripe oranges at passing cars ... and one driver had his window open).

In reality the chances of my being wiped out by an out of control car were probably no greater in that snow bank than they were while crossing the road, or being driven to school in the family car (possibly greater as my Mum grew up in sunny Australia, and never much liked driving on icy roads).

The problem is that we make decisions based on emotions rather than pure logic, and that is no matter how coldly logical we try to be. 'Fear' is an emotional warning sign that lets us know when something bad could happen, but as Schneier points out it is biased towards events that we 'know' about, thus giving media stories an unwarranted weight in our decision making.

Schneier wants us all to talk different about real and felt (security) risks as he feels that the ambiguity of English (and many other languages) means that we help the process along:
“In effect we have two very different concepts mapped on the same word. And this makes a lot of conversations about the feeling and reality of security hard to have because our language fails us.”
In IT terms the problem is not so much the software as the hardware - we could remove the obfuscation by ensuring we always qualify our statements with a disclaimer as to whether we are talking about 'feeling' secure or 'being' secure. Our brains are built to respond to emotional triggers, when someone tells us something is true we use emotional cues (theirs and ours) to help us evaluate if that is really true.

[UPDATE: Fixed minor typo.]

Monday, February 11, 2008

Rewarding failure

In a recent interview CNET's Dan Farber asked Lloyd Taylor, VP of Technical Operations at LinkedIn “how do you create that culture of innovation in these different places that you go, how do you inspire people to kind of break all the rules?”
“The culture needs to reward failure. That is the answer.”
Lloyd Taylor
VP of Technical Operations at LinkedIn