Showing posts with label Microsoft. Show all posts
Showing posts with label Microsoft. Show all posts

Thursday, October 23, 2008

Tuesday, May 13, 2008

Digging into the sourcecode

One of the things that's really impressed me about the New Microsoft is that they're much more open about their sourcecode, especially the Visual Studio guys (who know their main customer base are all over issues like this).

It is even more impressive to see Scott Hanselman digging into their sourcecode for the latest VS2008 and .NET 3.5 SP1 Beta and using NDepend to show us how much has changed. In my books that absolutely rocks!

It actually makes me wonder whether this sort of analysis should form part of Elcom's sprint delivery procedures. In other words that we actually make the effort to stand back and analyse the sourcecode changes from 20,000 feet, rather than only looking at backlog items completed.

[UPDATE: Patrick Smacchia the NDepend lead developer (and C# MVP) takes the analysis one level deeper, again using NDepend.]

Monday, April 28, 2008

Vista's XPS Viewer needs IE as default browser

This is annoying, I went to open an XPS document that someone at Microsoft kindly sent me in request to a query I had. A quick Google showed me that I should be able to open it with Vista's built-in XPS Viewer. However when I try to, I find it opens Mozilla Firefox with this message:

XpsViewer

The only problem is that if I hit OK, it opens another tab in Firefox with the same popup, ad infinitum.

Making IE my default browser solved the problem, but if the darn things is dependent upon IE then it should just try opening in it in IE, regardless of what my default browser is, grrrr ... I checked for a Firefox add-in, but couldn't find one, so I ended up making IE my default browser for the 2 minutes it took to open and print the document.

In case you're interested I develop cross-browser apps so I need multiple browsers on my PC, and I prefer to use Firefox for random links I open because of the excellent NoScript add-in, which prevents my PC getting reamed by dodgy code on the websites I visit (which can sometimes happen on even the most reputable sites).

Saturday, April 26, 2008

Photos from Code Camp Oz

There are some great photos from CCOz on Flickr. I even managed to find one on Mitch's blog that showed me ... I'm the bloke slouching inside the big yellow ellipse (thanks to the Expression Design eval I picked up).

CCOz

 

It has been great meeting so many friendly and helpful people and Twitter has had some very lively threads on it. If you want to check out what is happening realtime (or afterwards), look for the ccoz tag on Hashtags.

Jeff Wharton challenged me to do a presentation myself, I guess because of my smart aleck comments from the peanut gallery. I'd like to do one on XML literals in VB9 having just spent the last month working on our branching pathways diagram code for Elcom's Learning Management System and being up to my elbows in it (and Prototype).

Code Camp Oz 2008

I'm really enjoying being here. We've had some great sessions from favourites like Greg Low (SQL Server 2008 and how to present at events) and new guys like Shane Morris (User eXperience). Right now Paul Stovell is giving me a headache trying to keep up with his Reactive Programming via SyncLINQ.

It's also been great discussing things with guys from Readify, SSW, and the tons of other companies represented here, I even met the AFP alumni from Canberra.

Coming out of this I am sure that Craig and I will be raving about Windows Server 2008 Hypervisor and looking for greater use of VMs internally (as well as SQL clusters) and pushing for more emphasis on UX in the dev team at Elcom, which should make Anthony happy!

Next up, TDD of DotNetNuke Modules by Philip Beadle ... very relevant to us.

Monday, April 14, 2008

Code Camp Oz 2008

CodeCampOzLogo

I'm all set to go to Code Camp Oz 2008 but I'm wondering who else I'll know there. Craig Bailey and I will be sharing a car to/from the event (we're both staying in Wagga Wagga city centre).

Personally I'm most looking forward to Greg Low's workshop on presenting at events, Philip Beadle's TDD 'in the trenches' session and Luke Drumm's swashbuckling DLR session. It will also be interesting to grill the MVP's that come to Code Camp Oz on the back of the MVP Global Summit in Seattle.

Finally, what is it with the Code Camp Oz logo? I'm going to have to see if I can carve out a spare couple of hours to improve upon it ...

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.

Thursday, February 07, 2008

Heroes happen at Elcom

Elcom's updated our website and posted this nifty flash animation highlighting the work we've done to get onto the 2008 Microsoft stack:

UPDATED: Added link as the flash link doesn't seem to want to work on my blog ...

Thursday, January 17, 2008

New in VB9

I'm trying to do more blogging as part of my personal learning process, so courtesy of my investigation of changes in .NET 3.5 and VS2008, here are some great places to find information for VB.NET:Also, InfoQ has a small editorial piece, Selecting a .NET Web Framework which raises the question of whether having ASP.NET MVC around will make it tempting to give up WebForms and hence our ASP.NET server control libraries? Personally, I think the control vendors will see this as an opportunity to expand their product lines. I think we will see ASP.NET MVC being used more for Web 2.0/externally facing applications and WebForms still being the dominant framework for intranet development, or web-enabled line of business apps.

Wednesday, January 16, 2008

2008 has arrived!

Yes, I know that I'm a little late for a Happy New Year post, but actually this is another sort of 2008 I'm talking about:
  • Windows 2008 Server
  • SQL Server 2008
  • CommunityManager.NET compiled under Visual Studio 2008 (targeting .NET 3.5 )
Elcom's Technical Director has just announced that http://www.elcom.com.au is now running using these three!

Coatesy gave us a kind word too.

Big props to Balaji (where's your blog man?) for putting in the hard work to make sure the CM code could compile and run under .NET 3.5. Craig mentions some of the other heroes that helped get this done, but Rajesh, Imad and Yul missed mentions there, so here's thanks to them too!

Saturday, January 12, 2008

VB.NET is the illegal immigrant of Microsoft languages

I currently mostly code in VB.NET, developing ASP.NET web applications. I have in the past developed in Omnis, MS Access 2/95/2000, Lotus Notes/LotusScript, Java, VB6, VBA, PHP, JavaScript, C# and Ruby (on Rails). Some of those I did for fun, but most were because I was paid (and asked) to. I point this out not to boast, but in order to put some background around this particular rant.

[NOTE: Another accidental thing that denigrates VB is that we must put ".NET" at the end if we are talking about 'real' development, because VB as a term covers such a broad range of languages. This alone makes C# seem exclusive and more 'grown-up'. In fact C# is more properly referred to as Visual C#, or C#.NET.]

“Computer languages influence how you think about a problem, and how you think about communicating.”
The Pragmatic Programmer
Microsoft have a publicly declared agnostic view of which language a developer chooses to use within the .NET platform, so long as they use it. For this reason they have researched new languages for the CLR, and are introducing the DLR to enable IronPython, IronRuby etc.

Internally however Microsoft have a culture that prefers people using C#. In practice this means that the 'cheap' option is always to do code samples and demo code in C# and not VB (or some other .NET language), because it is simply more convenient to do so. When asked why a given example is not also in VB, this is the answer given (and the occasional plea for help). There is however a tendency to see VB developers as somehow inherently less capable that C# developers - perhaps this is a view that the 'best' work at Microsoft, or maybe it's a hangover from the "Basic" part of VB's name. Most probably it also has a lot to do identifying VB users with using a persona called 'Mort', whilst C# is Elvis and C++ Einstein (thanks usability guys).

A few months ago Bill McCarthy, a VB MVP, ranted about this issue in his post Is VB the n*gg*r of programming languages?. Leaving aside a controversial choice of words (for which he was smacked down), he had a very good point. My post's title is a reference to his point (with a more PC turn of phrase).

Bill points out that how to videos (for beginners?) are often coded in VB, but the SDKs have C# examples (for real developers?).

A more recent balancing view comes from Scott Hanselman, who asks Is rooting for Visual Basic like rooting for the Red Sox?. Leaving aside the unfortunately humorous connotations of 'rooting' to us Aussies, his point is that VB is making something of a comeback in popularity, but old-timers (like Bill?) still want to feel like underdogs. Reading the rest of Scott's blog shows that he's been exploring beyond the homely environs of C# and hanging out with people who are pragmatic enough to use whatever works.

Personally I think this last point is the one that makes the most sense. In The Pragmatic Programmer Andy Hunt and David Thomas said:
“Computer languages influence how you think about a problem, and how you think about communicating ... Designing a solution with Lisp in mind will produce different results than a solution based on C-style thinking, and vice versa. Conversely, and we think more importantly, the language of the problem domain may also suggest a programming solution.”

All of this is what has attracted me to the ALT.NET movement (see the first use of the term, the conference last year, it just had a leadership summit and a Yahoo! group). Martin Fowler weighed in and said this about ALT.NET:
“The alt.net mind-set is one that is very familiar to me. It has that mix of agile + object-orientation + patterns + TDD + DDD which is very much the school of software development that I favor. (Lacking a proper name for it, I'm inclined to call it the OOPSLA school of software development.) There is certainly a belief that there is a mainstream Microsoft orthodoxy at the moment, one that doesn't fit the OOSPLA school. And there's some frustration with that. But the point here is that it's not that the alt.net community thinks that the perceived mainstream Microsoft route should be erased, but that the Microsoft world is big enough for different approaches.”
To all this I say a big hooray! But ... it seems everyone who wants to do something with ALT.NET is a devoted fan of C# (or at least NOT a fan of VB). So every code sample, explanation or tool is aimed at C# and either requires much grokking to be used in VB, or in many cases, cannot be used with VB at all.

The answer I'm afraid is that I must use more C# if I want to become more agile, practice TDD or play with ASP.NET MVC. The fact that I get paid to work with VB.NET is not a good enough reason to stick with it. VB is the illegal immigrant of .NET languages, it snuck into .NET when it should have been told to stay away (perhaps forcibly deported) and the sooner any of us who use it realise that, the better. Shifting to a true .NET citizen like C# is clearly the only responsible thing to do - and using those Johnny-come-latelys like IronRuby or IronPython (or Boo) is a joke - they are only toy languages, not super-strong doers of great deeds like C# is.

Still, at least there is one hope on the horizon, with Silverlight assuming such importance in Microsoft's plans for the web, perhaps VBx will come to our rescue? With VB moving into the DLR perhaps VB developers can all become the new, new boys on the block, and start looking down on those poor C# types who are unable to duck-type or use Jasper. And my persona? Let's just call him Ben.

Tuesday, January 08, 2008

Buggy VS2008 debugging

Is it just me that's experiencing weird issues when debugging websites in VS2008? The main issue I get is that it starts up 5 (!) ASP.NET web servers every time I try to attach to my main IIS web server process (when I don't need the dev web server!). Recently the first of these has started to crash, which means I get a crash message straight up ... none of its is too hard to handle, I simply stop the dev web servers before starting my debugging, but it is a weird error that bugs me.

Tuesday, December 11, 2007

ASP.NET MVC is here

ScottGu has announced the CTP release of ASP.NET 3.5 Extensions. This is great news for ALT.NET and really has made my week. As regular readers might realise the key part of this release for me is the MVC (Model-View-Controller) framework for ASP.NET.
ASP.NET MVC: This model view controller (MVC) framework for ASP.NET provides a structured model that enables a clear separation of concerns within web applications, and makes it easier to unit test your code and support a TDD workflow. It also helps provide more control over the URLs you publish in your applications, and more control over the HTML that is emitted from them.”
I think this finally gives ASP.NET developers some much needed flexibility. The guys at Microsoft are taking pains to point out this is not a replacement for the existing WebForms model, but they point to the following reasons to use the new framework:
  • It allows developers to use the MVC pattern with ASP.NET more cleanly than ever before.
  • It makes it easier to implement RESTful (Representational State Transfer) systems and to control your URLs using ASP.NET
  • The MVC pattern allows for easier unit testing of business logic behind pages (now in controllers) and therefore helps promote the use of Test-Driven Development with ASP.NET.
I have some personal reasons for looking forward to this framework that may be too politically sensitive for the ASP.NET guys to admit to:
  • This kills off the one form per page restriction, allowing for XHTML that more closely matches the functionality of the page.
  • No more viewdata is a pain, but it also means that ASP.NET developers can now more easily incorporate other client-side frameworks into their applications (e.g. Yahoo! User Interface Library, Script.aculo.us, Prototype, etc)
  • Ruby on Rails is looking a whole lot less attractive as ASP.NET MVC offers much of the same clarity of design whilst leveraging my existing ASP.NET skills.
I will probably devote a few more blog posts to exploring this interesting ASP.NET development, so feel free to let me know (via the comments) what you might be most interested in knowing about.

Tuesday, November 20, 2007

Visual Studio 2008 and .NET 3.5 released!

Microsoft have given us developers an early Christmas present by releasing Visual Studio 2008 and .NET Framework v3.5 today! See Scott Guthrie's post about the release for full details.

The bits I'm waiting for the most are the VB.NET improvements, particularly Lambda Expressions which might give us the ability to use some of the niftier BDD test framework's features in VB rather than needing to write executable specs in C#. The new web designer interface and CSS/JavaScript improvements will be welcome ones too. Then there are other features that look nice, but I am less excited about, LINQ being foremost of those.

The piece I am most eagerly awaiting is not yet released, that is the ASP.NET MVC framework, which will give us .NET developers the same sort of simple and clean structure Ruby on Rails developers have been enjoying.