First time here? You are looking at the most recent posts. You may also want to check out older archives or the tag cloud. Please leave a comment, ask a question and consider subscribing to the latest posts via RSS. Thank you for visiting! (hide this)

June 2008 Blog Posts

What I’ll never get at my current job

A new engineer that comes in gets a new MacPro with dual quad-core CPUs and 12GB of ram and a MacBook Pro. The down side of the whole deal is that you have to choose between two 23’’ or one 30’’ Apple Cinema display. (via LinkedIn Blog)

Before entering the consulting industry I always worked for software shops, where I had my own desk, my own desktop computer, my 20” displays, and so on… And working with a laptop and non personalizable desk is sub-optimal.

This also means that you will never have a dual (triple) screen display or powerful desktop with heaps of RAM and fast disks because you will always have a portable PC, and even if you are lucky to have a 4Gb, Core 2 Duo 2.6Ghz laptop it will never be as powerful as the Ultimate Developer Rigs of Scott Hanselman.

At least I’ve got my multidisplay desk at home.

Technorati Tags: ,

Comparing the backgrounds of web developers

Web developers on ASP.NET have (mostly) a client or client-server background.

Web developers on Java have (mostly) a client-server background or a web background.

PHP and Ruby and Pyton (and so on) ones have only web development background or even web design background.

This is just a quick idea that came to my mind this evening while running, and I wanted to share... I think I'll elaborate more on this in a following post.

PS: I know, there are exceptions to these statements (as I am, since I was born as web developer and I develop on ASP.NET), but for the majority of developers this is true.

How to get a RSS feed of a Subversion repository

Just found via Twitter thanks to Matt Hawley: SubversionFeed.

This service takes any SVN repository with anonymous access enabled and transforms it into a RSS feed with the latest 10 changes.

I just subscribed to Subtext SVN RSS feed:
http://svnfeed.com/convert?url=https%3A%2F%2Fsubtext.svn.sourceforge.net%2Fsvnroot%2Fsubtext

Technorati Tags: ,,

Microsoft Certified Professional Developer Guide updated

Last year I wrote a post on the steps needed to become a MCPD on the .NET framework version 2.0.

Now that the new .NET 3.5 certification track is available I think I need to update it with the new information.

MCPD Certifications

As with the 2.0 track, the 3.5 has the same 3 certification types:

  • MCPD Web Developer
  • MCPD Windows Developer
  • MCPD Enterprise Application Developer

The difference with the 2.0 track is that, while the first 2 still require 3 exams, the Enterprise Application one now requires 6.

Why 6 instead of 5 as with the 2.0 track? Because to become a MCPD Enterprise Application Developer now you need to get 4 TS certifications instead of 3.

MCPD Enterprise Application Developer

Let’s see in details the exams needed.

First of all you need the 70-536: Microsoft .NET Framework - Application Development Foundation, which covers the generic development, both 2.0 and 3.5 since the CLR is still the same(http://www.microsoft.com/learning/en/us/exams/70-536.mspx). Good think I already passed this exam before coming back to Italy last August.

Then you need the 4 specific exams to get the 4 needed TS certifications:

  • 70-505: Microsoft .NET Framework 3.5, Windows Forms Application Development, which covers winform development, and will get you a MCTS: .NET Framework 3.5, Windows Forms Applications certification as well (http://www.microsoft.com/learning/en/us/exams/70-505.mspx).
  • 70-562: Microsoft .NET Framework 3.5, ASP.NET Application Development, which is about ASP.NET development with ASP.NET Ajax and all the new features of ASP.NET 3.5. This will get you a MCTS: .NET Framework 3.5, ASP.NET Applications certification (http://www.microsoft.com/learning/en/us/exams/70-562.mspx).
  • 70-503: Microsoft .NET Framework 3.5, Windows Communication Foundation Application Development: this is about development with WCF. This will get you a MCTS: .NET Framework 3.5, Windows Communication Foundation Applications certification (http://www.microsoft.com/learning/en/us/exams/70-503.mspx).
  • 70-561: Microsoft .NET Framework 3.5, ADO.NET Application Development: this is one of the new TS certification (MCTS: .NET Framework 3.5, ADO.NET Applications) and was previously included into the Windows-based client development exam (http://www.microsoft.com/learning/en/us/exams/70-561.mspx).

And at the end, once passed all the 4 TS exams and obtained the 4 TS certification you have to pass the final exam for the MCPD Enterprise Application Developer: 70-565: Designing and Developing Enterprise Applications using Microsoft .NET Framework 3.5 which has yet to be released. It should test the knowledge of logical design, physical design, using interface, testing, deployment of both web based and client based applications.

So, now, let’s spend some time getting ready for the exams.

Technorati Tags: ,

ASP.NET MVC content aggregator

A few days ago, looking at the referrers to my blog, I found a reference to site I never see before: aspdotnetmvc.com.

It’s a really nice content aggregator that collects anything related to ASP.NET MVC, gathering it automatically from various sources.

It already helped me discover a few ASP.NET MVC related blogs I was not following.

Technorati Tags: ,

Yet another presentation on ASP.NET MVC at DotNetMarche

On Friday I’m delivering my third presentation on ASP.NET MVC in less than one month (actually the 4th because I repeated twice the one I delivered inside Avanade).

This time it will be inside the 6th DotNetMarche Workshop on “Applications’ automated testing and ASP.NET MVC”.

You can have a look at the agenda of the event (translated by Google).

I’ll try and make everything available online after the event, especially the code samples.

Technorati Tags: ,,

How to get up to speed with Team Foundation Server

UPDATE: Thanks to Lorenzo, I fixed a few errors about TFS Licensing.

Lately I’ve been designing and implementing the migration of development team from Visual Source Safe, with Excel based bug tracking and no defined development policies to TFS.

I’ve only been a user of TFS so it was the first time for me to dig into planning and licensing issues, process templates, policies, build and all that stuff.

During my searches I collected the link and resources I read, and I’m posting them here so other could benefit from this list as well.

Testing TFS

Since installing TFS can be a bit complicate at first, if you only want to test and play around with it Microsoft published two virtual machines with TFS pre-installed.

The first is a 5Gb VPC image, with all you need to test the TFS: TFS, SqlServer, Visual Studio Team Suite and Office ‘07. And it also includes the VSTS Hand-on Labs to help analyze all the aspects of TFS.

The second contains only TFS, but without all the client software and without the Hand-on labs.

I personally recommend the first one, since it’s self sufficient both for testing and for showcasing TFS to customers and colleagues.

Licensing

Let’s start with licensing since it might seem simple at first, but once you start looking at it, it turns out to be a real nightmare.

Let’s start with the Visual Studio Team System 2008 Licensing White Paper, which is the official licensing document wrote by Microsoft. Unfortunately this is not always clear and a bit too much verbose, so a guy from South Africa, Willy-Peter Schaub, tried to make everything a bit clearer, and he wrote a little FAQ with all the common issues about TFS licensing.

But he went even further and wrote some nice flowchart that help deciding which version of TFS+VS are needed for your environment, and which and how many licenses you need. The PDFs are available for download from www.drp.co.za. (This is a DNN repository and there are not direct link for the download: the docs about licensing are the ones named “Microsoft Team System Licensing Overview” and “Microsoft Team System Environments”).

With every MSDN Premium you also have a TFS Workgroup Edition, which is the same as the Standard Edition, just with only 5 users allowed. For more info: A Hitchhiker's Guide to Team Foundation Server Workgroup Edition.

And if you are doing continuous integration with unit testing on a machine different from the TFS Server, remember that you don’t need another license, since the TFS Build server license is already covered by the developers’ licenses: Licensing Team System editions for your build machine. You need a new license on the server only if on the build server you have version of VisulStudio for which you don’t have a developer’s license.

Installation

When it comes to installing TFS a very document is the Team Foundation Installation Guide for Visual Studio Team System 2008 written by Microsoft. I heard horror stories by people that installed TFS, and at the end they all suggested to stick to the step-by-step guide provided by MS since any deviation from it can lead to strange behaviors.

The tricky part is that in order to make everything work TFS needs Sharepoint and Reporting Services: but if you follow the step-by-step guide everything will be all right.

Pimping up the installation

Once you installed TFS there are still other thing you might want to install:

  • the firsts and most important is Power Tools pack: it includes some interesting add-ons like the Process Template Editor to help you modify with a GUI the process templates to better suit the need of your process (instead of tweaking the XML manually)
  • to allow people to access and modify WorkItems, see reports and do everything you can do with the Team Explorer, but from a web interface, there is the Visual Studio Team System 2008 Web Access, sometimes referred to as TSWA
  • sometimes you only need external people to submit bug and add workitems, but not to have full access to the system. To address this scenario there the Work Item Web Access, also known as WIWA: this allows people to add items and edit their own items, but will not be able to see items added by other member of the team. People using this tool don’t need a CAL.

Maintaining and administration

I’m not in this phase yet, but I found these two links about administering TFS and about the day to day operations needed to keep the server up and running in good shape.

Thanks to my colleague Pieter de Bruin for the first two links.

A few concepts

TFS is a big leap forward compared to VSS, here are the docs I found that most helped me with setting up the environment and outline the best practices.

Patterns & practices Team Development with TFS Guide: available both for online reading and for download as PDF, it covers all the aspect of TFS, from a overview to the architecture of the system, to the usage of the source control sub-system till more advanced topics like customization of process templates and the set up of automated builds.

Again from the p&p is the TFS Branching Guidance, which explains the possible branching policies when a iterative process is used. A nice diagram of a possible branching policy is available from the previously mentioned www.drp.co.za website (the title of the this document is “Microsoft Team System Branching”).

A last concept that might scare end users since is different from the “local working folder” of VSS, is the concept of Workspaces. Here are two nice articles that complement the MSDN documentation:

Going Agile

TFS ships with two process templates, but if you are following an Agile methodology there are other process templates available to download for free.

One is the developed on CodePlex, and is named Light Weight Scrum 2008. A diagram of the workflow of this process is available on the already mentioned www.drp.co.za website (look for a document titled “Light Weight Scrum Process Template”)

The other is a commercial (but free) process template developed by Conchango and it is Scrum for Team System. If you adopt this process template, you can also use a nice dashboard that is based on it: ScrumDashboard.
This is a pretty nice Ajax based web app featuring the burndown chart, and a nice user stories virtual wall.

TeamSystem Rocks

Some the TFS MVPs and other TFS addicted community members are writing their thoughts and tips on specific portal: teamsystem rocks. This is also a community portal, with discussion forums, tutorials and downloadable documents, videos and extensions.

Among these bloggers there is Lorenzo Barbieri, the Italian TFS expert that just turned evangelist at Microsoft.

I’m pretty sure I missed some other links, so, if you think I missed something important, feel free to post a comment.

I also want to thank Steve Andrews for helping me with some problem I encountered during the process.

And if you read Castellano there is also the blog from my Spanish colleague from Avanade, El Bruno.

kick it on DotNetKicks.com

Technorati Tags: ,,,

Help set a world record: Firefox 3

One thing you might know about me is that I’m a long time user of Firefox, and than in 2004 I’ve been chosen as “as one of the top 25 most active, energetic and productive sfx community members” (read here the original post, in Italian).

And now as 3 years ago I’m pushing Firefox again. Today is day of the final release of Firefox 3, and spreadfirefox is organizing the Download Day: they want to set a new world record for “most software downloads in 24 hours”. Helping is easy: just download Firefox 3 from the official page, starting from June 17th 10am Pacific Time (here the conversion if you are not living in the sunny West Coast of the US).

Download Day

What happened at the Italian ALT.NET conference

Yesterday it was the day of the second UGIALT.NET conference in Milano: almost 40 people attending, 8 different speakers/moderators and a lot of interaction (and a free lunch courtesy of the sponsor of the event, Avanade).

varie 103.JPG

Many people were new to the ALT.NET thing, and to the "good design principles" as well, so we decided to try and spread the good news. With that intent the event started, after the welcome speech, with 6 lightning talks (thanks to the Welly .NET UG for the idea) on the basic concepts we would have used in the afternoon for the hands on labs:

  • Agility
  • TDD
  • Mocking
  • Ioc/DI
  • UI Patterns: MVP/MVC
  • ORM

We then played the planning game, with the attendees as client and the moderator as developers, and we discussed which of the users stories we collected through the mailing list to implement.

In the afternoon we split into two groups, one on WinForm and one on Web/ASP.NET, and we went on implementing some of the user stories, with a TDD approach. And during these labs a lot of interesting discussions came out: on the possibility of a UI agnostic MVC implementation, on different approaches of NHibernate mappings, on the different TDD styles of different "coders".

The OpenSpace worked very well in the first UGIALT.net conference, but we were only 10, and all with the same level of knowledge. Yesterday we were much more (40 people) and with different level of knowledge, so I was a bit afraid of this: but nevertheless it turned out really well.

And the event was very useful as personal experience as well: I was in charge of the organization of the event and it was my first time as event organizer. Now that I experienced what it takes to organize such a event I'll not complain any more when I'll attend other community events.

And, as last note, I want to thank all the attendees and all the speakers: see you all sometimes in autumn.

For more pictures have a look at the UGIALT.net conference gallery on Flickr.

When BIG is better then small

I’m very sad to hear that a very big Italian ASP.NET portal went down, together with other “normal” e-commerce sites, because its hosting provider, a small hosting company managed by the Italian IIS MVP, closed without warning.

Nobody knows what really happened: not paying the bills, the systems went down while the owner was on vacation and the advertised IT staff never existed. And of course the owner is not reachable by phone, email, fax, whatever

It happened to me a few years ago, when the server that was hosting my sites broke the disk, and the owner of the company, a friend of mine, never did a backup. And from that day I decided I’ll never go with a small, one-person handled hosting company.

A small company can ask you less money, but a big one is for sure more reliable, or, at least, will not close abruptely.

I’m glad my Italian blog is not hosted on the community that went down, but on a community that handles its own servers… but just to be sure, I think I’ll export all the contents to BlogML just in case.

UPDATE: The Registry of Suisse says that the company doesn't exist anymore, at least as legal body, since Sept 2006. How it was possible for it to go on and charge fees and get money for a hosting service for almost 2 years is now the real question.

Technorati Tags:

LightSpeed 2.0 Released

Mindscape, the cool software agency based in Wellington (NZ) that had the office in the same building where I worked for Calcium, just released the second version of their domain modeling framework, named LightSpeed.

This version has some great new features:

  • Linq2LightSpeed: now the entities can be queried using Linq
  • Visual Studio Designer: for people that are soo 2002 and still prefer working with a data-first approach, or want to apply the ORM mapping to legacy databases, LightSpeed now has a VS designer and code generator that creates entities starting from the DB schema
  • Multi-context: this is a really cool feature. Not sure if it’s a common scenario but it happened to me once to have SQLite as storage of configuration and MS SQL Server as storage for the actual data. Now it’s possible to access two (or more) databases at the same time during the application. Something that is not possible with other ORM (or, at least, not that I know about)

Other small improvements and new APIs are among the changes released with the new version.

For more information have a look at the official changelog.

Congratulations to JD, JB, Andrew and Ivan for this new release.

Technorati Tags: ,

Job Offer: Sharepoint Developer needed in Barcelona

Last summer, after coming back from NZ I did quite a few job interviews before deciding to go and work for Avanade, and one of them was with the Fusion4Energy EU agency in Barcelona.

The process on their side took quite a few months and they told that I qualified for the job and they were willing to hire me only last month, more than 8 months after the interview. But last month I was already working for Avanade and not willing to change job again, so I had to refuse the position.

So, to fill the spot Fusion for Energy published another position for a Microsoft SharePoint developer. It’s a 3 year contract with a possible renewal as permanent.

If you are a EU citizen, want to relocate to Barcelona, work in a big glass tower overlooking the beach and want to help with the building of the first power plant working with Nuclear Fusion (and building the first everlasting power source) you can apply for the position till June 20th.

For more info read the official publication: Microsoft SharePoint Developer  - FG IV and the remuneration and allowances schema for Contract Agents.

When mice interact with SQL Management Studio and cause a BSOD

I think I never saw a BSOD since my Win2000 desktop, but today it happened 3 times in less then 5 hours.

And it always happened when I was scrolling data tables from inside SQL Server Management Studio.

The only thing I installed since the last time I used it were the drivers for my Microsoft Presenter Mouse 8000 to deliver my presentations on ASP.NET MVC last week. Seemed a bit weird that mouse drivers could interact cause such a problem.

But they were: searching on Google I found many posts and thread about this strange interaction between the two software.

This one “SSMS and win32k.sys Blue Screen” pretty much summarizes all the problems. And the solution is: remove the intellipoint drivers.

There are also a few bugs on Microsoft Connect, but still no official answer to them.

Now I uninstalled the Intellipoint 6.2 drivers: no more BSOD but also no more remote control functionalities for my mouse.

Let’s hope the 2 teams work out some fix together.

UPDATE: I opened a new bug report on connect: SSMS goes Blue Screen when scrolling data tables with Intellipoint 6.2 mice
UPDATE2: Microsoft closed the bug as "resolved" with a "won't fix", but without explanations