Software Geek

March 16, 2008

Dare Obasanjo on C# Anonymous Types

Filed under: Software

Dare Obasanjo recently wrote a blog entry comparing some language features commonly associated with ‘dynamic’ languages with C# 3.0 equivalents. Towards the end is a section called “Python vs. C# 3.0: Tuples and Dynamic Typing vs. Anonymous Types and Type Inferencing.” In it, he complains that he ended up needing to use nominal types, instead of anonymous types. For example, he wrote:

var vote = new Vote()
{
 Weight = voteFunc(item),
 Item = item,
 FeedTitle = feedTitle
};

This required him to define the Vote class somewhere. He had been hoping to use C#’s anonymous types, which would have removed the need to define the Vote class explicitly, letting him write:

Also see: Note to self: Blog about using Service Broker

var vote =
{
 Weight = voteFunc(item),
 Item = item,
 FeedTitle = feedTitle
};

He couldn’t do this because his code structure prevented the anonymous type flowing to where he needed it. The first part of his code was a loop which added a bunch of these votes to a list which he later wanted to iterate through. The anonymous type was buried in the nested scope of the first loop, and was therefore inaccessible in the second loop. The fundamental problem here is that C# type inference for ‘var’ variables occurs at the point of declaration. The compiler isn’t prepared to wait around and see what you do with the variable – if it can’t infer the type at the point of declaration it gives up with an error.

(more…)

My Presidential Endorsement:

Filed under: Software


Live Help Server: Jerry Messenger is Jabber/XMPP Live Chat Server for a website.
They say that the definition of insanity is doing the same thing over and over and expecting different results. So why is it the American people allow our politicians to do the same things over and over and we believe them and expect results different from previous elections ?

I’ve looked at the websites of current and previous candidates to get an understanding of their platforms. They all have positions, some of which I agree with , some of which I don’t. But there is one thing that is missing from each and everyone of them, any manner of implementation. Health care, spending cuts, retaining or repealing tax cuts, keeping or removing troops, the soundbites with pretty numbers never end. Not a single candidate provides details on how exactly they are going to accomplish anything. Don’t they realize that economists exists to make lottery ticket buyers look smart, not presidential candidates ?

It reminds me of business plans I get from kids who tell me about their vision and project all kinds of numbers leading to grand results. They can site historical facts and figures, but when it comes time to get into details of exactly how they are going to execute on their plans, the response is basically that they will figure it out as they go. I wouldn’t invest in a business that is winging it any more than I want to vote for a presidential candidate that is winging it.

Unfortunately , they are all winging it. i have no question that they have every detail about how to spend their campaign contributi (more…)

The influence of style upon methodology…

Filed under: Software


Free Live Chat: Next generation of Live Chat. On-Demand. Easy-to-Use.

No matter how faithfully you try to follow your chosen project methodology (Scrum, Extreme Programming, Waterfall, CMMI, etc.) ultimately the strengths, weaknesses, successes, and failures you experience are determined by the habits, attitude, and style of the project manager and team members on the project. 

How is communication conducted? Meetings, hallway, bullpen, email, IM?

How do you react to change?  How well do you manage scope?

How much trust/distrust is there amongst team members?

How rigorously or adaptively do you apply your process to each project?

Do you micromanage or do you empower?

This is the crux of why so many people disagree with most definitions of exactly what Agile is.  This is why some people fail with one methodology while others succeed, and some unique individuals actually find great success with seemingly outdated methodologies like Waterfall.   Much like with any good pasta, its not the ingredients in the sauce, its the sauce-maker(s).

I guarantee you that even the most rigorous Agile shop will see great variance (good and bad) between projects merely due to the different personalities of the project managers who manage each project.  This is the human factor of software development that can never completely be erased.  Your best hope is to try to control, monitor, and compensate.

There are plenty of excellent books to help you define your rules-of-engagement, develop good habits, and provide checks-and-balances throughout your project.  However, ultimately experience is our best teacher for what habits, styles, and attitudes result in the most successful projects.  Of course, to complicate things further, these same success factors may change from project to project.

(more…)

Reporting Services administration changes in Katmai (v.Next)

Filed under: Software

Brian Welcker posts some information on changes they are consindering to how you will administer Sql Server Reporting Services in the next version, codenamed Katmai.

Right now, administering Report Models exposed to Report Builder requires you to launch Sql Server Management Studio tool, while other features require you to launch the Report Manager website.   Also, there are some features that you rarely use, yet are exposed from the Report Manager portal, such as Job Management and System Wide Role & Security configuration.  

It appears that the end result of the proposed tool changes will be to correct these inconsistencies by consolidating server and system-wide configuration and administration tasks into Sql Server Management Studio, and moving some of the more user-facing admin features to the Report Manager.

Also see: IDE Day in Genoa, Italy

Not a bad idea overall, now I just hope they fix support for FormsAuth throughout the entire solution (ReportBuilder, nudge nudge).


http://weblogs.asp.net/lhunt/archive/2007/04/24/reporting-services-administration-changes-in-katmai-v-next.aspx

Aggregators rock!

Filed under: Software

Wow… I hadn’t played with any aggregators enough before, but Syndirella is really cool. The ability to fly through blogs with a simple space-space-space browsing is just awesome… it kills me that one or two my links don’t have RSS feeds.
http://www.simplegeek.com/permalink.aspx/97

IDE Day in Genoa, Italy

Filed under: Software

From the recent event held in Italy on Java IDEs, Fabrizio Giudici’s provides us with a few pictures from the event, also included are more bloggers impressions from the event.

Developing Customer Relationship Management Solutions. Web, e-Commerce, Database Design and Software Development.


http://feeds.feedburner.com/~r/techtarget/tsscom/blogs/~3/252287846/thread.tss

Avoid DevPath

Filed under: Software


Live Person: Live Chat Solution for Online Customer Service on Website.

I hesitate to talk about this because I don’t want people who don’t know about it to think, “Hey, what’s this DevPath thing? I need that.” But, maybe if I don’t explain how to use it, it will be too much effort for people who don’t already know how. :) (And, for those who already know how and are, in fact, using it, hopefully, they’ll see this and get off that plan.)

The intent of DevPath was to make the development environment less painful. Assemblies could be put there and bound to at runtime, ignoring the assembly version and overriding the GAC.

It turns out that that’s badness for several reasons (below). So, DevPath is soon to be deprecated. Don’t use it - not even in the development environment.

Why It Should Never Be Used
Versioning alone is why you should never, ever use it in a production environment. It subscribes your users to dll hell. See Avoid Partial Binds for details (DevPath causes partial binding, since the version is ignored for the bind).

It’s not good for the dev. env., either - it makes it unnecessarily different from the shipping env., which may lead to uncaught versioning or deployment bugs in the shipping env.

What to Do Instead
If DevPath was a development environment-only solution for you:
I strongly recommend not changing your assembly versions between non-shipping builds instead of using DevPath.

If you are shipping code relying on DevPath:
One thing you could do is create a new AppDomain with the ApplicationBase set to the path you care about. Once you do that, see Executing Code in Another Appdomain.

(more…)

The Dick Button drinking game

Filed under: Software


Help Desk Software: Next generation of Live Chat. Jabber/XMPP Live Chat Server for a website.
I’ve had the Olympics on every day since Arrested Development went off the air, and I’ve found that the most consistently entertaining aspect has been the commentary of Mr. Dick Button.

I don’t know much about the guy, other than he skated in the 40s and 50s (not his 40s and 50s). One thing I do know is that he is not easily pleased. He doesn’t like the scoring system, the skaters are uninspiring, their choice of music is dull and so on.

A quick bit of research led me to the Dick Button Drinking Game. If you’re going to catch any figure skating, do yourself a favor and grab some friends and a keg of beer. You’ll need it.

http://weblogs.asp.net/jkey/archive/2006/02/23/438934.aspx

Note to self: Blog about using Service Broker

Filed under: Software


Softwre Development for small and middle size companies. World-class software applications.
Free Live Chat: Next generation of Live Chat. On-Demand. Easy-to-Use.
Developing Customer Relationship Management Solutions. Web, e-Commerce, Database Design and Software Development.

Just a note to myself to do a braindump on all this Service Broker shiznit I have been playing with lately.

Potential discussion topics:

  • MessageTypes, Contracts, Queues, and Services.
  • Internal Activation, Routing, & External Activation
  • Using the Sql Server ServiceBroker sample library.
  • Implementation using SqlClr vs. TSQL
  • Developing via messages instead of procedures…
  • Compare & contrast Service Broker vs. Workflow Foundation vs. BizTalk
  • The nifty Sql Service Broker Admin tool (3rd-party)
  • Practical examples:
  • Async “fire-and-forget” stored procedure invocation
  • Query Notification for cache invalidation
  • PubSub

http://weblogs.asp.net/lhunt/archive/2007/06/14/note-to-self-blog-about-using-service-broker.aspx

Tips for Installing Silverlight 2 Beta

Filed under: Software


Live Support Server: Jerry Messenger is Jabber/XMPP based Live Support Solution for your websites.

Walking around Mix08 today I had a chance to help a few people with some install issues.  In some cases the installer was asking for VS 2008 media and in other cases it was refusing to install. 

Luckily, Bradley Bartz from the Visual Web Developer team was around to help folks.  He drilled into the cause of the issues he saw and wrote up a very nice blog post listing the common issues and solutions.

Installation Tips for Silverlight Tools Beta 1 for Visual Studio 2008


http://blogs.msdn.com/brada/archive/2008/03/05/tips-for-installing-silverlight-2-beta.aspx

Get free blog up and running in minutes with Blogsome
Theme designed by Jay of onefinejay.com