Archive for Architecture and Design
Create Singleton in C#
Posted by: | CommentsOne of the most basic and most useful object patterns is the Singleton design pattern. A Singleton is a class of which there will only be one instance created at any time. All users of the Singleton class will all use the same instance. This is great for a wide range of applications such as cached values and lookups or utilities that execute quickly. The Design Patterns book by Gamma et al . describes the structure of a basic Singleton. We’ll describe how to create one in C#.
What is an open web?
Posted by: | CommentsThe following challenge was on my Firefox homepage today:
Creating an open web is at the heart of the Mozilla project. And you’re a part of that. As one of thousands of people in the project, you have worked tirelessly to keep the Internet open, participatory and full of life.
The question is: why? Why do you participate? Why does the open web matter so much to you?
As we work to grow the Mozilla community, we want to explain what you’re feeling to everyone — your neighbours, your co-workers, your grandparents. We want them to understand the open web.
I just shared my definition of what an Open Web means to me. Why don’t you share yours?
http://mozilla.org/open
#mozopen
Click read more to see my response
Good Azure Video from PDC09
Posted by: | CommentsHere’s a great intro to Azure from PDC 09. If you have not looked at Azure or Cloud computing in general, take a look at this video for an introduction. Cloud Computing is here and in use. It will only grow in the near future.
PDC Video on Cloud Computing with Azure
J9SYRP3G9ZUC
Java vs. .Net – Another Blast From the Past
Posted by: | CommentsHere’s another ancient article I wrote that I recently reread. It is interesting to see what has changed since this was first published on SearchSOA almost 8 years ago (see link at end of article). There are also many things that have not changed in those years. Companies continue to be faced with the question of what technology platform to choose for their Line of Business (LOB) applications. Often decisions are made based on criteria that have not been properly matched to business objectives. Sometimes the result is that the new technology platform is abandoned in the not so distant future, with a corresponding loss of investment dollars.
With a Just Enough Technology approach, a company evaluates technology against its core problem or objectives. I work with business and technology leaders within a company to define their true objectives and then weigh the technology decisions with their business objectives as the main criteria. Read through this article on choosing between the Java and Microsoft platforms. Both technologies have evolved quite a bit since this was first published, but some of the core arguments remain to this day.
Why Just Enough Technology?
Posted by: | CommentsJust Enough Technology means providing the right technology to solve the right problem at the right cost. Not too much, not too little. The objectives of the business must be prioritized and kept in mind from concept to design to implementation to maintenance. Every decision made along the way must map to a business objective. Every software requirement must map to a business objective. This is the foundation of Just Enough Technology – clear and concise business objectives. Those objectives drive the requirements, and the requirements drive the design and implementation.
This is how I ended a short article about Just Enough Technology a while back. I’ve reproduced here for your reading pleasure. Differing opinions are invited
Windows Azure Videos
Posted by: | CommentsHere are the videos of the Windows Azure sessions at PDC09. Lots of useful content, the sessions were well attended and well received.
Cloud Computing Introduction
Posted by: | Comments
If you have not lived in a technological box for the past few years, you’ve heard the term “Cloud Computing“. “It’s become the phrase du jour” according to Gartner senior analyst Ben Pring. How does the idea of Cloud Computing fit in with the idea of Just Enough Technology? To answer that question, we’ll need to come to an understanding of what Cloud Computing is. In this article, we’ll go over the basics of Cloud Computing at a very high level. Later, we’ll delve into more specific aspects. First, we’ll define Cloud Computing, then we’ll look at its basic components and finally we’ll take a peek at its potential benefits. Read More→
Enable Joins WebSiteSpark
Posted by: | Comments
1/12/2010 – Today Enable Web Technologies has been selected to join the Microsoft WebSiteSpark program. Enable Web Technologies (www.enablewebtech.com) is the consulting company owned by myself and Victoria, my wife. We recently joined the Microsoft WebSiteSpark program.
Is Software Engineering Dead?
Posted by: | CommentsA new article by Tom Demarco states: I’m gradually coming to the conclusion that software engineering is an idea whose time has come and gone. I still believe it makes excellent sense to engineer software. But that isn’t exactly what software engineering has come to mean. Read More→
Craftsmanship and Software Development
Posted by: | CommentsIn a previous post I quoted a colleague who stated :
I like how they use the term “Craftsman” to describe what we do….[the craftsmen are] the ones who have taken the time to master the tools that have been made available to them to assist in their craft.
Craftsmanship in the manner used above, refers to an attention to detail and a pride in one’s work product. A craftsman is more than a worker – he or she truly cares that they do things right and to the best of their ability. I agree with this thought in principle, but I want to expand on it a bit and speak to one difficulty with software craftsmanship as a methodology. Read More→

