Chris Pietschmann

husband, father, hacker, entrepreneur, futurist, innovator, autodidact


Software Basics: What are Databases and Data Access Layers, and How do they relate to Web Services?

In my own personal discussions with other developers and computer users I've seen a fair amount of confusion as to what a database is. Since the purpose of almost all applications is to Create/Read/Update/Delete data, they need to connect to a database, since data persistence storage need to be provided for the application to function as intended. If you want to stick to the simplest definition below, then a file cabinet is technically a database, but now that we're in the information age we don... [More]

Community Coding Contest 2010 - Looking for Input and Prizes

Now that it's 2010, and over a year since the first Community Coding Contest came to an end, I'm thinking about running the contest again in 2010. Last time it ran for 3 months and we had 6 really great entries. This time around I'm thinking that it may be better to accept entries for 6 months, and have the voting run for a full month. This will give much more time for entries to be submitted, and for people to work on their entries before submitting and/or voting begins. These are just some i... [More]

Develop Software for the Microsoft Windows Platform for FREE

I've been lucky enough to get 2 free MSDN subscriptions over the last few years, so I've never needed to purchase Visual Studio, Office or SQL Server. The first MSDN subscription I won in a blogging contest back in 2006, and the second I got when I won the Microsoft MVP award earlier this year (2008). Before you start to think that I'm braging; just let me point out that I am very greatful for this. Below is a list/guide that I would follow if I wasn't so fortunate, and I'm not talking about sof... [More]

Not All Software Developers Need To Be Graphic Designers

Today, I came across a post by Vitaly Gorn titled "Is it time for software developers to master in graphic design?" And, in this article, they explain why software developers need to acquire more graphic design skills today. What's the problem? Most application User Interfaces aren't the most user friendly. I do agree that this is a common problem. And, there is no doubt that the one of the next steps in the evolution of the software industry is betting Graphic Design and User Interf... [More]

Software Development = Logical Creativity

Programming = Logical There is a lot of logic involved in computer programming, just as there is in Math. In college they teach you a lot of mathematics and how to use that same logical thinking with programming. It's true that if you're good at math, you may have the potential to be good at programming. Development = Creativity The development aspect of building a software solution is the creative aspect to programming. When you design or architect a software solution there is a t... [More]

Patterns: Fluent Interface - make your code easier to read

I never heard of the Fluent Interface pattern until I saw Randy Patterson's blog post titled "How to design a Fluent Interface". When I first saw the title of the post I thought he was talking about design a user interface, but upon further inspection I found out that using the Fluent Interface pattern in your code will make it easier to read. Randy posts an example of how to use the Fluent Interface pattern, but I thought I would also write up a short example. My example below shows how to imp... [More]

Creating an IDE? Use the Visual Studio 2008 shell as your base.

Starting with Visual Studio 2008, you'll be able to use the Visual Studio 2008 Shell as the starting point to create your own development tools. The Visual Studio Shell will be available as part of the Visual Studio 2008 SDK, but I believe we'll have to wait until VS'08 RTM's before we'll be able to play with creating apps using the shell. On the Visual Studio 2008 Shell page, there's a screenshot of Floorplan designer built using the VS'08 Shell. This looks like a really neat feature that... [More]

Things I learned about Software WHILE NOT in College

This is a reply to Scott Hanselman's post "Three Things I Learned About Software WHILE NOT in College", except I'm not listing three things I learned IN College because it didn't happen (yet anyway). Things I Learned about Software While Not in College If it works, don't monkey with it. You'll just break it and then have to rewrite it Even though your main job is programming, you still have to deal with people. You may even have to deal with clients too. There are times when purchasing a c... [More]

Make your RSS feeds Auto-Discoverable

RSS Autodiscovery is a technique that makes it possible for browsers and other software to automatically find a site's RSS feed. This feature is actually support by both Firefox 2.0 and Internet Explorer 7. To make your RSS feeds auto-discoverable just include an HTML/XHTML Link tag inside the Head tag of your website. You can even include multiple Link tags, which allows you to make all your RSS feeds auto-discoverable at the same time. For Example:<link rel="alternative" type="application... [More]

My first look at VS'05 Team Edition for Software Testers

I've been meaning to dig in and get to know unit testing for quite some time now. Tonight I dove in and took a look at the Visual Studio 2005 Team Edition for Software Testers. Unit testing is actually quite easy to do. The Getting Started with Team System Testing Tools section in the MSDN library has some nice How-To's on getting started with unit testing using VS'05 Team Edition.

Vista Experience Update: Vista Sidebar Gadgets

There 11 Sidebar Gadgets that come baked into Vista. Some basic ones like a photo  Slide Show, Calendar, Clock, CPU Meter, RSS Feed Headlines, Weather and a couple more. But, what if I want to create one that offers different functionality? How can I create a custom Sidebar Gadget? It's actually rather easy to do. As long as you are comfortable with HTML, JavaScript and CSS with splash of XML. The Gadget Development Overview article in the MSDN library explains how easy it is t... [More]

RSS is no longer a one-way street

The Simple Sharing Extensions (SSE) from Microsoft is a specification that extends RSS allowing a bidirectional flow of data. I haven't read through the entire FAQ yet, but this sounds awesome! The SSE specifications are being licensed under the Creative Commons license, which allows anyone to use it and extend upon it as they see fit. Microsoft's SSE FAQ states:For example, SSE could be used to share your work calendar with your spouse. If your calendar were published to an SSE feed, chan... [More]

PHP is easy to learn.

Now that's something I never imagined I would say. I checked out a couple short tutorials on PHP today. I never looked into PHP before, and I never knew it's so easy to learn. The syntax is similar to C++ and Java, since I'm familiear with the syntax of those two PHP looks really simple. PHP looks like an easy language for someone know to web development to learn. I'm wont be abandoning .NET for PHP but I may spend some time in the future to build some projects in PHP. Tutorial links: PHP Tut... [More]

Boolean Expression in .NET: strName IN ("CHRIS","TOM","TYLER")

I think it would be really helpful if we could do boolean expressions with IN sort of like we can in SQL. For Example:   'just like SQL   If strName IN ("CHRIS","TOM","TYLER") Then      'do something   End If    'using an array for this would be best   Dim arrNames() AS String = New Array{"CHRIS", "TOM", "TYLER"}   If strName IN arrNames Then      'do something   End If &nbs... [More]

Giving your application a Plugin based architecture is easier than it sounds...

I've been playing around the last couple of days with creating an application with a Plugin based architecture. It's alot easier with .NET than it sounds. I don't have any examples or articles to post on here yet, but I'm working on something I hope to have up here in the next week or so. On another note, the traffic of my site is using about 1GB of bandwidth per month now (consistantly the last two months). That's the most my site has ever used, I'm going to have to upgrade my hosting account ... [More]

Why can't IIS implicitly share ASP Session state with ASP.NET??

Why can't IIS implicitly share ASP Session state with ASP.NET?? This is really a drag on starting to convert an ASP application to ASP.NET. Of course, you could use SQL Server to store your Sessions state, but then you'd have to rewrite that portion of your ASP application first. I don't want to, Why can't I just use Session(”myData”) in ASP and ASP.NET and have it point to the same Session value? C'mon guys!!

Regular Expressions are pretty neato...

I never worked with regular expressions before. I heard how great they can be, but never really knew. Regular expressions are really cool. RegEx Sample: Number with 0 to 3 decimal places  (|\-)\d+(.\d{3}|.\d{2}|.\d{1}|) Regular expressions look pretty complex and sort of cryptic at first glance, but if you have a good tutorial to go through it one part at time they aren't really difficult to learn how to write. This site has some good tutorials on Regular Expressions: http://www.regular-... [More]

Is Planning and Testing really that important in Software Development???

When you wrote essays in school, didn’t you plan out what you were going to write about before you started writing? The same needs to be done with software development.   Specifications documents need to be written out for all new features/enhancements, before any development begins.  That way the developers have a blueprint to work with of how the feature/enhancement is to work. This should be written from the original description that is gotten from the client that is request... [More]