Skip to content

Communities

Child Window in WPF

C-Sharpcorner - Latest Articles - Mon, 09/06/2010 - 06:38
In this article you will learn how to use Child Window in WPF.
Categories: Communities

Child Window in WPF

C-Sharpcorner - Latest Articles - Mon, 09/06/2010 - 06:38
In this article you will learn how to use Child Window in WPF.
Categories: Communities

Anonymous types in C# 3.0

C-Sharpcorner - Latest Articles - Mon, 09/06/2010 - 06:18
In this article you will leann how to use Anonymous types in C# 3.0.
Categories: Communities

Introduction to ASP.NET URL Rewriting with HttpHandler

C-Sharpcorner - Latest Articles - Mon, 09/06/2010 - 06:04
In this article you will learn how to use ASP.NET URL Rewriting with HttpHandler.
Categories: Communities

Introduction to ASP.NET URL Rewriting with HttpHandler

C-Sharpcorner - Latest Articles - Mon, 09/06/2010 - 06:04
In this article you will learn how to use ASP.NET URL Rewriting with HttpHandler.
Categories: Communities

Steps to make public site in Share point

C-Sharpcorner - Latest Articles - Mon, 09/06/2010 - 05:53
In Share point when dealing with internet site we should have some situations where we need to give access to some people who were not in our Active directory or Databases(In case of Forms Authentication).
Categories: Communities

Integrate the 3D Engine Balder into Your Silverlight Applications Part 1

DotNetSlackers Latest ASP.NET Articles - Mon, 09/06/2010 - 01:00
In this series of articles, you will learn how to integrate the famous 3D Engine - Balder into your Silverlight applications. Since there are few documents, especially tutorials, with Balder, you will first learn the elementary stuffs associated with Balder through small pieces of sample applications. At last, you can accumulate all your strength to develop a real 3D Silverlight game application mainly based the 3D engine Balder, which is named SpaceAdventuring.

Categories: Communities

Make Your Application with Trial Version

C-Sharpcorner - Latest Articles - Sat, 09/04/2010 - 22:12
In this article we see how we assign trial period in our Application.
Categories: Communities

Launching beta, or “How to decide when and where to cut corners”

Executive Summary: Introspection on how to cut corners for the initial launch of a public application with reference to Nate Kohari’s recent post on the subject.

As we amble forward on our little private venture, there are a number of applications and companies we watch closely. It’s hard to say whether we want to emulate them or if our philosophies naturally align and we’re attracted to like-minded people. Maybe a bit of both.

One of those applications/companies is AgileZen. From the measured approach to features to the deliberate way the user experience falls into the background, we not only use the product, we often look to it for inspiration. Sort of a “What would Nate and Niki do?” approach.

I read Nate’s account of the time before and after launch which a lot of nods in recognition. The almost universal message we’ve been given by people both successful and unsuccessful in building a public application is (and I’m quoting verbatim from one of them): “Just launch the &*%$ thing”.

This is what I thought about while I read the part in Nate’s tale about cutting corners. Initially, there was a lot of kludge and after launch, he rewrote almost every line of JavaScript.

He makes no apologies for this nor should he. It is, I think, a valid decision for a product like his (and ours). Provided you’re smart about it. Recognize where the crap is and isolate it and make a concerted effort to go back to it after you have money coming in. The point he makes is:

Before we could afford to spend a lot of time to make the software maintainable, we first had to prove that we would actually have to maintain it – we had to make sure that we actually had a market.

It’s something I’ve wrestled with a little, especially as we had a learning curve of using an unfamiliar technology. How far do we cut corners? Forego UI tests? Unit tests? Proper separation of concerns?

My partner is a little more battle-scarred in this area and he was pretty adamant that we keep this reasonably maintainable from the start, even if it takes longer to write code, which it inevitable would. Which means we would have to sacrifice something on the iron triangle (or the lesser known Pewter Scale). But that was an easy choice. We wanted relatively high quality and to deliver on time and we were constrained by budget. That left scope as our only real variable. And I love me some restricted scope. Features are, to my mind, the only aspect of the triangle worth arguing over.

But back to the quality aspect. I’m speculating but I suspect we didn’t cut as many corners as Nate did. Or maybe we just didn’t cut the same corners. Though I won’t claim anywhere near 100% code coverage, we have a great many unit tests. And as part of our process, no story can be marked complete unless it’s been code reviewed by at least one person. What’s missing so far is a formal QA person, which is a matter of not having the resources (or put another way, not placing a high enough priority on it based on the resources available to us), and a UI testing process, which is near the end of prototyping thanks to Winnipeg’s best kept secret.

So the question is, did we hurt ourselves but placing an undue focus on quality aspects of the process we didn’t need to?

I have no idea. And while it makes a nice, lengthy blog post, in the end, I haven’t been stressing about it much (at least not until I read the blog post; thanks for nothin’, Kohari). But here’s the position we’re in: We’ll be releasing beta next week and our first order of business is to start looking at new features, which we will release at regular intervals (at least bi-weekly, if not more often). We have no refactoring to do because our codebase is exactly where we want it to be architecturally.

The difference is we’ve lost a month-ish worth of income. And at the moment, that income is still a big unknown. AgileZen could have launched to a whole lot of nothing in which case, Nate would have chalked it up to experience and thanked his lucky stars he didn’t invest any more time than he did in it. We may do the same and realize that we should have launched sooner so we hadn’t sunk any more effort into it.

There’s an element of faith involved though. Maybe it won’t catch on but I really believe it will. And if I plan to be looking at this code for the next five to ten years or more, I like the fact that we put a little extra effort into it early on.

Another nice side effect of this is that it’s helped defined the culture of our development team to a large degree. It helped us to build the team we have and by setting the ground rules early, it’s helped us maintain a high standard so that it’s almost become second nature by now.

Man, this blog is saving me a ton of money in psychologist fees.

Kyle the Clear-headed

Categories: Communities

Magic's and validation nature of a Round function in SQL Server

C-Sharpcorner - Latest Articles - Sat, 09/04/2010 - 13:16
In this article you will learn how to use Magic's and validation nature of a Round function in SQL Server
Categories: Communities

Fusion Chart in SharePoint using SharePoint Designer

C-Sharpcorner - Latest Articles - Sat, 09/04/2010 - 11:39
In this article I am showing how to make a very nice Dashboard using Fusion chart. First of all let me thank Fusion chart for the wonderful implementation of charts in Flash Its really nice and cool. You can see an online demo of Fusion chart Here I am showing a Funnel chart for the task list status.
Categories: Communities

Reflection and Attributes in C#

C-Sharpcorner - Latest Articles - Fri, 09/03/2010 - 19:37
Attributes are attached to program entities such as types and methods to provide information about the entity at runtime. In this article, we will explore attributes using reflection in C#.
Categories: Communities

Get Property and Method Name of WMI Classes Programmatically in C#

C-Sharpcorner - Latest Articles - Fri, 09/03/2010 - 18:49
This article shows how you can get property name and method name programmatically instead of writing explicitly.
Categories: Communities

Publishing InfoPath form in share point 2007

C-Sharpcorner - Latest Articles - Fri, 09/03/2010 - 18:12
In this article I am showing how to publish a simple InfoPath from in share point. In my coming articles I will show more integration with share point and InfoPath.
Categories: Communities

Join me at ADNUG on Sept. 13th to talk about Functional Programming for Everyday .Net

I'm presenting at ADNUG next Monday on the 13th.  By request I'm going to expand on one of my old MSDN articles:  Functional Programming for Everyday .Net.

It's not up on the ADNUG site, but here's the abstract:

Functional Programming for Everyday .Net Development

Forget the silly Fibonacci sequence examples and abstract math problems, how do functional programming techniques help me do my job with typical enterprise development projects?  In this talk I'll look at places where it's advantageous to compose code with first class functions instead of objects.  I'll show how to use Continuation Passing Style to achieve lower coupling in your code internals by getting closer to  the "Tell, Don't Ask" ideal.  Finally, I'll show how passing blocks can be a way to formulate API's that result in less code for the consumer to write, more readable code, and fewer errors.

 

I *think* I submitted this talk to CodeMash as well, so there's a chance I might give this talk again in January there.

 

Don't worry, I'm still on my side-project break so I haven't done anything whatsoever to prepare yet:)

Categories: Communities

Code Review and Code Optimization - ASP.NET

C-Sharpcorner - Latest Articles - Fri, 09/03/2010 - 08:42
In this article you will learn how to use Code Review and Code Optimization in ASP.NET.
Categories: Communities

Visual C++ 2010: What’s new for MFC library?

Issam Lahlali, the CppDepend development leader, just wrote about new interesting things in MFC 2010. The results are obtained by comparing with CppDepend the MFC 2010 C++ codebase with the previous version. Enjoy!

Categories: Communities

Working with Managed path and Site Collection in SharePoint

C-Sharpcorner - Latest Articles - Fri, 09/03/2010 - 06:19
Here I am showing you how to work with Managed path and site collection in central administration of share point. This will be useful if you want to create a site collection under an existing web application.
Categories: Communities

Collection Initializer in C# 3.0

C-Sharpcorner - Latest Articles - Fri, 09/03/2010 - 06:07
Collection initializer is new feature of C# 3.0.
Categories: Communities

Toying with the C# 4.0

C-Sharpcorner - Latest Articles - Fri, 09/03/2010 - 05:33
In this article, I will expose those two issues not thought the theorist manners but thought real cases via some implementation techniques.
Categories: Communities