Last weekend, I spent some time watching a set of quick hit videos from www.asp.net. I thought of shraing the link to you all.
April 6, 2010
October 25, 2009
WANTED – SCRUM MASTER
WANTED – SCRUM MASTER
JOB DESCRIPTION:
Stand in front of a group of (sometimes) rowdy, opinionated techos and business people who have important overt agendas and ‘real’ covert agendas; and keep the peace while facilitating an amicable arrival at a consensus regarding the project being considered. All the while ensuring that any ‘Big Cheeses’ present do not get bored and leave; or worse yet, dominate the discussion if they stay.
SKILL SET:
- Eyes in back of head.
- Able to walk, talk, listen, write, smile, nod and think all at the same time.
- Can recognise a big ego from 20 paces and not stomp on it (too hard).
- Can smell a covert agenda from two rooms away.
- Knowledge of the Scrum process essential.
THE SUCCESSFUL APPLICANT:
- Must not appear to be more opinionated than techos and business people. Indeed, must be able to demonstrate complete impartiality regarding the project at hand.
- Will have well honed people skills and will continue to develop those skills.
- Will wish to contribute hugely to the success of the project and the business.
- Will wish to have fun.
Enjoy……
I got this funny job profile while looking though the Agile Alliance discusion forums and is provided by Pete DeYoe.
October 19, 2009
.net Agile Development Tools- Part 2
Let’s continue to read to the part -2 of agile development tools.
· NBehave
As a programmer who still learning the concept of BDD, this is one of the tool that I was eagerly waiting for. NBehave is a BDD Framework for defining and executing application requirement goals. These characterizations are modeled after the Behavioral Driven Design (BDD) terms Story, Scenario, Given, When, Then. Relying on a syntax that is lightweight and targeted at product owners (a few “quotes” mostly), the code becomes an executable and self-describing requirements document. The definitions within the actual unit test of the application coupled with the organic nature of the architecture and ubiquity of the domain model translates these concepts into becoming one cohesive amalgam. With the help of Domain Driven Design, the code actually becomes what we have always wanted, living requirements that are constantly asserted on to ensure their viability and accuracy from inception to implementation (from NBehave vission statement).
Hope AgileJoe and Team is working hard to have this framework in place. You can get more details about NBehave here : http://www.codeplex.com/NBehave
· NCover
The most advanced .net code coverage tool. Period!…I did try a 21 day free trial of NCover, impressed !… This will be one of the software tool that I will buy(request to buy) for my team in the near future.NCover has been designed to integrate with your build process and has extensive command line support. Regardless of how sophisticated your build process is, NCover can help. The purpose of this document is to introduce you to the NCover command line tools and walk you through a simple automated code coverage process. The NCover application suite is made up of three tools all of which are located in your NCover install directory (generally C:\Program Files\NCover). These three tools are:
NCover.Explorer.exe – NCover.Explorer.exe is a GUI program which allows you to generate and view detailed code coverage information. NCover Explorer includes a visual hierarchy that allows you to drill down to better understand your code coverage metrics at the package, class and method level. NCover.Explorer.exe is great for understanding your code coverage data.
NCover.Console.exe – This program is really the heart of NCover. NCover.Console.exe is the process you use to generate a coverage.xml file that stores the coverage information for a given program. This document will discuss NCover.Console.exe in more detail, but to get a quick sense of the power and flexibility of NCover. Console.exe we encourage you to run it from the command line without anyparameters to see the list of supported commands.
NCover.Reporting.exe – The NCover reporting program is new to NCover 3.0 and can be used togenerate over 20 reports from your code coverage data. Again, we will be discussing NCover.Reporting.exe in more detail in this document, but to get a quick feel, run the program from the command line without any parameters to see a list of supported commands.
We have TONS of documentation available at : http://www.ncover.com/
· NDepend
NDepend is a tool that simplifies managing a complex .NET code base. Architects and developers can analyze code structure, specify design rules, plan massive refactoring, do effective code reviews and master evolution by comparing different versions of the code. Never tried this!…(shame on me) . I have to go thorough more details: http://www.ndepend.com/
· NHibernate
NHibernate is a port of Hibernate Core for Java to the .NET Framework. It handles persisting plain .NET objects to and from an underlying relational database. Given an XML description of your entities and relationships, NHibernate automatically generates SQL for loading and storing the objects. Optionally, you can describe your mapping metadata with attributes in your source code. NHibernate supports transparent persistence, your object classes don’t have to follow a restrictive programming model. Persistent classes do not need to implement any interface or inherit from a special base class. This makes it possible to design the business logic using plain .NET (CLR) objects and object-oriented idiom.
Microsoft has two object persistence frameworks (Entity Framework and LINQ) from their side to compete against NHibernate. There are lot of people still debating which framework is best!.. I prefer to listen to them!..
· Nunit
This is the first unit testing tool I used(and the best!..). NUnit is a unit-testing framework for all .Net languages. We have a very good documentation about NUnit capabilities available at : http://www.nunit.org/index.php
· Rhino.Mocks
This tool is from well known open source developer Ayande Rahien. Rhino.Mocks is a dynamic mock object framework for the .Net platform. It’s purpose is to ease testing by allowing the developer to create mock implementations of custom objects and verify the interactions using unit testing.
Rhino Mocks offers,
- Explicit record & replay model for expectations.
- Natural Arrange, Act, Assert syntax
- Support for .Net 2.0 and .Net 3.5
- Working with strongly typed mocks.
- Expectations based on:
- Arguments matching
- Constraints matching
- Custom callback to verify the expected arguments using your own code
- Setting actions on methods, return specific value, or throw an exception.
Details from ( http://www.ayende.com/projects/rhino-mocks.aspx ).
· SourceMonitor
The freeware program SourceMonitor lets you see inside your software source code to find out how much code you have and to identify the relative complexity of your modules.
SourceMonitor provides the following:
- Collects metrics in a fast, single pass through source files.
- Measures metrics for source code written in C++, C, C#, VB.NET, Java, Delphi, Visual Basic (VB6) or HTML.
- Includes method and function level metrics for C++, C, C#, VB.NET, Java, and Delphi.
- Saves metrics in checkpoints for comparison during software development projects.
- Displays and prints metrics in tables and charts.
- Operates within a standard Windows GUI or inside your scripts using XML command files.
- Exports metrics to XML or CSV (comma-separated-value) files for further processing with other tools.
· Structuremap
Developed by Jeremy D. Miller, StructureMap is a Dependency Injection / Inversion of Control tool for .Net that can be used to improve the architectural qualities of an object oriented system by reducing the mechanical costs of good design techniques. StructureMap can enable looser coupling between classes and their dependencies, improve the testability of a class structure, and provide generic flexibility mechanisms. Used judiciously, StructureMap can greatly enhance the opportunities for code reuse by minimizing direct coupling between classes and configuration mechanisms.
Jeremy D Miller suggest to use StructureMap if you:
- Require significant extensibility
- Simply want a generic configuration tool
- Want to support multiple deployment configurations
- Are using a Test-Driven Development philosophy or want to largely automate testing
- Want to isolate a troublesome subsystem or provide smooth migration paths away from legacy interfaces
- Need a great deal of configurable properties or plug-in hot spots
· Subversion
One of the best open source version control systems (details: http://subversion.tigris.org/ )
· Tarantino
The Tarantino project is a collection of libraries and tools to facilitate change management and development.The Tarantino project contains a number of useful components for:
- Database change management
- Application deployment
- NHibernate
- Configuration
- Scheduling
- Caching
- Web Farm management
We can download/find more details about Tarantino project at : http://code.google.com/p/tarantino/
· Watin
A great tool for .net web application test automation.Mode details at : http://watin.sourceforge.net/
.Resharper
I am a Resharper fan. This tool helped to increase my productivity a lot. We are using Resharper 4.5 in our company , and I am sure that all the developers are getting benefit out of it.ReSharper provides solution-wide error highlighting on the fly, instant solutions for found errors, over 30 advanced code refactorings, superior unit testing tools, handy navigation and search features, single-click code formatting and cleanup, automatic code generation and templates, and a lot more productivity features for C#, VB.NET, ASP.NET, XML, and XAML.
Try Resharper: http://www.jetbrains.com/resharper/index.html, if you never tried this cool tool before.
There are more tools available in the .net development world which can be used to improve the productivity of the developer and to develop quality software. As I said earlier, I am just trying to consolidate some basic information about these tools as I go through them. I will continue to learn and hope to blog about the same in future.
.net Agile Development Tools- Part 1
I was going through a blog post from Jeffrey Palermo on some of the “tools” that he think that all the agile developers need to know these days. I feel that open source development (in Microsoft technology world)is getting lot of attention these days, we have lot many good tools available to developers which help us develop/deliver quality software on .net framework.
I do have to agree that I never paid attention to some of the below tools in details and decided to spend some time to learn some of these .I thought of putting together some basic information that I know about some of the below tools as a blog post. I am planning to have a blog series on detailing some of them tools in the coming weeks.
Also, I went back and looked at some of the old pics (what tools we all use) that I took when we all met in Austin for the first ALT.Net conference. Things changed a bit, but not much in the past two years!..
. 7zip
7-Zip is an open source file archiver designed originally for Microsoft Windows. 7-Zip operates with the 7z archive format, and can read and write to several other archive formats. The program can be used from a command line interface, graphical user interface, or Windows shell integration.
By default, 7-Zip creates 7z format archives, with a .7z file extension. Each archive can contain multiple directories and files. As a container format, security or size reduction are achieved using a stacked combination of filters. These can consist of pre-processors, compression algorithms, and encryption filters. The core .7z compression uses a variety of algorithms, the most common of which are bzip2, LZMA2, and LZMA. Developed by Igor Pavlov, LZMA is a relatively new system, making its debut as part of the 7z format.
More details: http://www.7-zip.org/
· APNetMVC
I am sure, each and every one who work with latest Microsoft technologies heard about this. ASP.NET MVC is a free, fully supported, Microsoft product that enables developers to easily build great web applications. It provides total control over your HTML and URLs, enables rich AJAX integration, and facilitates test driven development. I am still learning about this, there is a lot to learn and implement, more details : www.asp.net/mvc/
· AutoMapper
From Codeplex, “Mapping code is boring. Testing mapping code is even more boring. AutoMapper provides simple configuration of types, as well as simple testing of mappings”.A convention-based object-object mapper. Object-object mapping works by transforming an input object of one type into an output object of a different type. What makes AutoMapper interesting is that it provides some interesting conventions to take the dirty work out of figuring out how to map type A to type B. As long as type B follows AutoMapper’s established convention, almost zero configurations is needed to map two types.
AutoMapper uses a fluent configuration API to define an object-object mapping strategy. AutoMapper uses a convention-based matching algorithm to match up source to destination values. Currently, AutoMapper is geared towards model projection scenarios to flatten complex object models to DTOs and other simple objects, whose design is better suited for serialization, communication, messaging, or simply an anti-corruption layer between the domain and application layer.
You can have some samples and more details at: http://www.codeplex.com/AutoMapper
· Cassini
The ASP.NET Cassini Web Server Sample is a sample web server written using the Microsoft® .NET® Framework, and demonstrates hosting ASP.NET using the ASP.NET hosting APIs (System.Web.Hosting).In an effort to try to prevent Cassini from cannibalizing the market for IIS, Microsoft decided to make it only serve requests from the local machine.I never used this. I am seeing some documents in Internet which talks about unlocking Cassini( make Cassini serve pages to the outside world). I am not sure about this. did any of you ever tried this. I am yet to play with a latest version.
· Castle
Castle is an open source project for .net that aspires to simplify the development of enterprise and web applications. It includes main projects as ActiveRecord, Mono Rail, MicroKernel/Windsor with lot of other tools. As a person using most of these in my current projects, I can talk about these projects for hours. I wish you get the proper knowledge from their web site: www.castleproject.org/castle/projects.html
· CruiseControl.NET
CruiseControl is both a continuous integration tool and an extensible framework for creating a custom continuous build process. It includes dozens of plug-ins for a variety of source controls, build technologies, and notifications schemes including email and instant messaging. A web interface provides details of the current and previous builds. And the standard CruiseControl distribution is augmented through a rich selection of 3rd Party Tools. CruiseControl is written in Java but is used on a wide variety of projects. There are builders supplied for Ant, NAnt, Maven, Phing, Rake, and Xcode, and the catch-all exec builder that can be used with any command-line tool or script.
I still use Microsoft Visual Studio’s Team system Build for my project builds (My company spent ’some’Money for the same). So I am using it!…
· Exceptioneer
This is something I never tried before. I did some research on this tool and realized that their web site isnot having much information on the same. They are saying that they are working on Exceptioneer. I hope to have some more details in the coming days.
Their blog says,Exceptioneer is a revolutionary service offering a free hosted system designed for .NET folks and their applications to help identify, manage and resolve unhandled exceptions. When an Exception occurs within an Application which is subscribed to the Exceptioneer service, that exception and a range of platform specific details is transmitted securely to the Exceptioneer servers where the data is analyzed and placed onto the Exceptioneer platform ready for you to handle in your own way and in your own time.
Great concept, Let me try to get an invite to try the online service. I managed to get more details from a blog post by Neil Terry : http://blog.sceniceye.co.uk/2009/05/exceptioneer-wow-much-nicer-than.html
· FxCop
From Microsoft, FxCop is an application that analyzes managed code assemblies (code that targets the .NET Framework common language runtime) and reports information about the assemblies, such as possible design, localization, performance, and security improvements. Many of the issues concern violations of the programming and design rules set forth in the Design Guidelines for Class Library Developers, which are the Microsoft guidelines for writing robust and easily maintainable code by using the .NET Framework. FxCop is intended for class library developers. However, anyone creating applications that should comply with the .NET Framework best practices will benefit. FxCop is also useful as an educational tool for people who are new to the .NET Framework or who are unfamiliar with the .NET Framework Design Guidelines .FxCop is designed to be fully integrated into the software development cycle and is distributed as both a fully featured application that has a graphical user interface (FxCop.exe) for interactive work, and a command-line tool (FxCopCmd.exe) suited for use as part of automated build processes or integrated with Microsoft Visual Studio® .NET as an external tool.
· Gallio
The Gallio Automation Platform is an open, extensible, and neutral system for .NET that provides acommon object model, runtime services and tools (such as test runners) that may be leveraged byany number of test frameworks. The Gallio platform seeks to facilitate the creation of a rich ecosystem of interoperable testing tools produced by and for the community at large so as to address a far wider range of testing needs than any previous independent testing framework has done before. Unit tests, integration tests, performance tests, and even semi-automated test harnesses should all be able to leverage common facilities where appropriate. Moreover, they should present consistent interfaces to the world so that they can easily be integrated into the systems and processes of the enterprise. At present Gallio can run tests from MbUnit versions 2 and 3, MSTest, NBehave, NUnit, xUnit.Net, and csUnit. Gallio provides tool support and integration with CCNet, MSBuild, NAnt, NCover, Pex, Powershell, Resharper, TestDriven.Net, TypeMock, and Visual Studio Team System. Gallio also includes its own command-line runner, Echo, and a Windows GUI, Icarus. Additional runners are planned or under development. Third parties are also encouraged to leverage the Gallio platform as part of their own applications.
Thrilled eh?!.. more details : http://www.gallio.org
· MSDeploy
From Microsoft, tool for synchronizing, migrating, and deploying web sites hosted in IIS. This looks like something that could turn into a real time saver and prevent some pretty nasty headaches with IIS configuration in the future.
It supports moving configuration, content, SSL certificates and other types of data associated with a web server. You can choose to sync a single site or the entire web server. The goal of the tool is to help you keep servers in sync, to make deployment easier and also to help with migrating to new versions of IIS. You could use a sync on two machines in a web farm, for example. Or maybe you need to move to a new server of the same version, you can use this tool. Of course, we also enable you to do a migration from IIS 6.0 to 7.0.
So far, I’m simply using MSDeploy as a smart file copy mechanism. I need to improve!..
· MVCContrib
This is the contrib project for the ASP.NET MVC framework. This project adds additional functionality on top of the MVC Framework. These enhancements can increase your productivity using the MVC Framework. It is written in C#.You can read more about this here: http://www.codeplex.com/MVCContrib or there is always updates from Eric Hexter and Jeffrey Palermo on this.
· NAnt
NAnt is a free .NET build tool. I feel 90% of the .net programmers/project configuration team use(d) NAnt. This is the most famous build tool in the .net world. All the details about NAnt can be found here : http://nant.sourceforge.net/
· NAntContrib
NAntContrib is the project for tasks and tools that haven’t made it into the main NAnt distribution yet.I am yet to see what are the missing parts in Nant are available for us in nantcontrib.I don’t think that we need to have these (NAnat and nantcontrib) to be separated as two different tools!..
More details : http://nantcontrib.sourceforge.net/
I have some more basic information coming as another blog post.
October 18, 2009
Going to miss the MonoSpace Conference
I wish I had enough time to go and attend the MonoSpace conference in Austin. It is always good to see people like Scott Bellware in action. Personally, it add/fills lot of possitive energy in me.
Hope to get some feeds/casts from the conference to all those people fail to attend.
September 27, 2009
Microsoft’s WebsiteSpark Program
Couple of days back, Microsoft announced their WebsiteSpark program.
Scott Gu says WebsiteSpark is designed for independent web developers and web development companies that build web applications and web sites on behalf of others. The program provides software licenses that one can use for three years at no cost. Once enrolled, one can download and immediately use the following software from Microsoft:
- 3 licenses of Visual Studio 2008 Professional Edition
- 1 license of Expression Studio 3 (which includes Expression Blend, Sketchflow, and Web)
- 2 licenses of Expression Web 3
- 4 processor licenses of Windows Web Server 2008 R2
- 4 processor licenses of SQL Server 2008 Web Edition
- DotNetPanel control panel (enabling easy remote/hosted management of your servers)
The Windows Server and SQL Server licenses can be used for both development and production deployment.
The program seems to be exiting to me. It seems that both independent developers and small organizations in countries like India will be benifited out of this program. It seems to be new business strategy from Microsoft. Hope this will help Microsoft to generate some revenue (on software licenences in future) from Counties like India and China.
If you are interested in joining this program, find more details in the below link
September 14, 2009
A good reading about short selling
Here’s the link to a good reading about stocks- short selling. I found it as both informative and interesting.
September 13, 2009
I am back…
I am back… after changing my web site to a new hosting company, I end up loosing all my old blog posts during the transfer. I do have to spend some time now to get all those old posts back.
I am planning to keep blogging in this new environment now. Hope to write more here soon.