Software Geek

March 9, 2008

Degrees of optimism in projects

Filed under: Software

Whenever I lead a project, I always try to plan in such a way that sets me and my team up for success.   I do this in many ways, starting with a good methodology, doing thorough analysis, and providing a level of risk/certainty along with any estimates I provide. 

Part of this strategy involves ensuring that client expectations match developer and project expectations.  I tend to use the tried and true approach; “Plan for the worst, hope for the best”.

Some people see me as a pessimist, but I beg to differ - I consider myself a cynical, yet optimistic, realist.  By that, I mean that although I do plan everything based upon the worst case scenario, in my heart I truly believe we are going to achieve the best case scenario every time.  It often surprises me when people take my approach to be negative while at the same time, I often see their approach naive & overly optimistic.

Help Desk Software: Next generation of Live Chat. Jabber/XMPP Live Chat Server for a website.

The truth is that there seems to be a gradient scale of attitudes and philosophies employed from project to project depending upon the people leading and participating in the project.

Over the years, I started a private game in my head of creating nicknames for the different patterns of behavior.  Here are a few names of I have toyed with in the past:

“Expect the worst, then add 20%” - The Pessimist

“Expect the worst, hope for the best” - Reformed Pessimist

(more…)

What Are You Destined to Be ?

Filed under: Software


Every day I get at least one email from someone proclaiming that they are “destined to be” XXXXX. You can fill in the blank with any number of dreams the person has for themself, be it rich, famous, the best this or that. Of course they aren’t emailing me just to tell me, they email me to ask for money to enable them to be whatever it is they dream of being. For me, its a good problem to have. But it leads to questions. Do we know what we are destined to be, or do we find it through experiences ? Are each of us really good at something, and its just a matter of finding it ? Do we all have something that we would love to do every day and do we inherently know it, or do we have to find it ? Will what you love to do always be what you are great at ?

Personally, I always have enjoyed business, but I never knew that I had an aptitude for technology until I got a job at Mellon Bank that lasted all of 8 months. But during the many hours of boredom, I found myself sitting in front of a mainframe teaching myself a scripting language called Ramis and loving every minute of it. Which lead to me buying a TI/99A I think it was, for 99 dollars, attaching a tape recorder as a drive (how is that for dating myself) and teaching myself basic. Which led to… You get the idea. I loved every minute of it. Maybe I wasnt the best programmer in the world, but in combination with business and sales skills, I found something that was a blast to me that I could and did do 24 hours at a time and not miss a beat.

Personally, I don (more…)

Required reading

Filed under: Software

You’ll probably have a few extra minutes on your hands while waiting for VS Express to download. Do yourself another favor and check out the breaking changes in.NET Framework 2.0 [BradA ]. The list is pretty small, considering the breadth of the framework, but you’ll probably find a favorite in there.

http://weblogs.asp.net/jkey/archive/2005/11/14/430587.aspx

Link Love: 09/21/2007

Filed under: Software

I havent been blogging much over the past several months.  The main reason is time, or the lack thereof.  Since I dont have time to write a “proper” blog post, I’m just going to start sharing some link love…

 

Here are a few interesting links I have spent time perusing today:

  • Thirteen Simple Rules for Speeding Up Your Web Site  - a great checklist to review before releasing any public website into the wild.
  • dhtmlxGrid - an open source (but commercial) editable DHTML grid with AJAX support.
  • Edit Individual GridView Cells - an article on how to make clickable ASP.NET gridview cells to allow for a rich editi
    Live Support Server: Jerry Messenger is Jabber/XMPP based Live Support Solution for your websites.
    ng experience.

http://weblogs.asp.net/lhunt/archive/2007/09/21/link-love-09-21-2007.aspx

Claimspace: Against a Well-designed Reputation System

Filed under: Software


Clay Shirky recently published a post on Corante, entitled ”Against Well-designed Reputation Systems (An Argument for Community Patent)”  that I’ve been meaning to respond to, for awhile. His thesis, which I agree with wholeheartedly if I understand it correctly, can be summed up as ‘Don’t do it. Don’t even think about doing it.’

Clay, rather than respond to your post with a post, I will instead respond with a working implementation of an alternative approach to social evaluation (same ends…different means). Due out in alpha in the next few weeks, I believe that Claimspace  demonstrates my agreement with your observations and reservations about the risks inherent in developing a traditional ranking and reputation system. Claimspace  speaks louder than words. It may even prove useful as a social evaluation platform for community patents.

A favorite passage from Clay’s post :

“The obvious conclusion to draw is that, when contemplating the a new service with these characteristics, the need for some user-harnessed reputation or ranking system can be regarded as a foregone conclusion, and that these systems should be carefully planned so that tragedy of the commons problems can be avoided from launch. I believe that this conclusion is wrong, and that where it is acted on, its effects are likely to be at least harmful, if not fatal, to the service adopting them.

(more…)

Uniqueness Typing Simplified

Filed under: Software

Uniqueness Typing Simplified , by Edsko de Vries, Rinus Plasmeijer, and David M. Abrahamson.

We present a uniqueness type system that is simpler than both Clean’s uniqueness system and a system we proposed previously. The new type system is straightforward to implement and add to existing compilers, and can easily be extended with advanced features such as higher rank types and impredicativity. We describe our implementation in Morrow, an experimental functional language with both these features. Finally, we prove soundness of the core type system with respect to the call-by-need lambda calculus.

Uniqueness typing is related to linear typing, and their differences have been discussed here before. Linear types have many applications. This paper describes the difference between linear and unique types:

Live Help Server: Jerry Messenger Server is Live Chat with Users on your websites.

In linear logic, variables of a non-linear type can be coerced to a linear type (dereliction). Harrington phrases it well: in linear logic, “linear” means “will not be duplicated” whereas in uniqueness typing, “unique” means “has not been duplicated”.

In contrast to other papers on substructural typing, such as Fluet’s thesis Monadic and Substructural Type Systems for Region-Based Memory Management , this paper classifies uniqueness attributes by a kind system. This possibility was mentioned in Fluet’s thesis as well, Section 4.2, footnote 8, though the technique used here seems somewhat different.

(more…)

Silverlight and WPF Control Developer Huddle at Mix08

Filed under: Software


I just  ran into Ted Glaza from Ajax Control toolkit and Silverlight Controls fame and he is getting some of the control developers together (3rd parties, Microsoft as well as in house) to talk about building controls for WPF and Silverlight. 

We will have some folks there are are building the current set of controls that ship in the box for Silverlight and WPF from and I hope some folks from Telerik, ComponentOne, and Infragistics. 

Ted tells me we will meet up in a few tables in the center of the dining room here at Mix tomorrow (Friday) at during the lunch break.

Anyone is welcome be there if you can!


http://blogs.msdn.com/brada/archive/2008/03/06/silverlight-and-wpf-control-developer-huddle-at-mix08.aspx

Avoid DevPath

Filed under: Software


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…)

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