jump to navigation

Windows Workflow Foundation (WF) and you… October 28, 2008

Posted by gcorbin in .NET.
Tags: , ,

I’ve recently spent some time playing around with Windows Workflow Foundation (WF). I wanted to see why all these magazines are praising it as a great new technology, after all workflow based technologies have been around for many decades now. It didn’t take to long for me to realize how cool WF really is. For beginners it has two workflow models that can be used. The first is the “Sequential Workflow” and the second is called the “State machine workflow”. Both of these models allow you to use the same set of tools to create them. The big difference when trying to determine which to use needs to be based on your line of business. One of the big deciding factors that I’ve found is based on the amount of time needed for the workflow to process. If the process is going to be a quick inline sequential thought, then “Sequential Workflow” is what you want. If the time to process the workflow is going to involve state changes and possibly long running decision points, then “state machine workflow” is for you.


In any case, when digging into workflow it exciting to notice the many tasks and controls that is available to developers. The greatest assets that I’ve found with this are the tools that Microsoft gives developers for creating and maintaining workflows. These tools are far better than anything else I’ve seen.


If you haven’t check into WF yet, I strongly recommend it. The best place I’ve found for a good intro to it is the DNR TV series on WF. It’s very helpful and informative.


You can find that at http://www.dnrtv.com

Look in the archives section.




The advent of Silverlight 2.0 July 30, 2008

Posted by gcorbin in Silverlight.
Tags: , ,

The time has finally come. Now a client-side framework that gives .NET developers the same power and flexibility as Flash has finally arrived. Silverlight 1.0 has introduced this technology to us, but it still required the developer to work with javascript and forced us to remain bound to its limitations. Silverlight 2.0 applications can be entirely written in any of the managed languages. Programming with Javascript is not needed. The framework will handle it for you. The client-side output for Silverlight is all based on the <Object> tag. This means that the source for the client application can appear to be as simple as an HTML file that has nothing but a reference to Silverlight and an <Object> tag. The way this works is that Silverlight 2.0 has introduced a new file type. This is called a ZAP (XAP) file. The zap file is nothing but a zip file with a different name. If you rename it zip, it will open with winzip and all the binary files will be presented. The binary files that are packaged in the zap file are a subset of the WPF framework and whatever assembly that you create for you Silverlight app. The feature set that is available to Silverlight 2.0 is amazing. Any type of Flash application can be built with Silverlight just as well. Goto http://silverlight.net and see all the samples, you’ll be amazed.

Totally free asp.net web site in just 3 weeks March 31, 2008

Posted by gcorbin in Uncategorized.
Tags: , ,

For the past 12 years I’ve been working as a software engineer, mostly building software for web applications. I’ve had many people over the years ask me “What is the URL for my personal site?”. Unfortunately, my response was always the same. “I don’t have a personal site”. It did make me think, how can I claim to be a decent software engineer and not have a web site of my own. So, my project over the last month was to build myself a personal web site. I started by thinking about what type of content, layout, and features I’d like to have. After I make that list, I started looking into designing a site map and flows for my features. Not too long after this did I realize that this was going to take me a bit of time. Then I discovered the Microsoft web site starter kits. I spent some time looking through the various templates until I finally found on that kind of fit what I wanted. So, I took the “Personal Site Starter Kit” as my base for my new site. I spent a few weeks modifying it to fit my needs and then added all the content. That’s it. There you have it. A fully functional completed web site in 3 weeks.

The next step was that I needed to host this site somewhere. So, the answer was to take an old desktop that I was no longer using and to install IIS and Visual Studio Express. This would be the system that would host my site. Since I only have Windows XP Professional and SQL Server Express running there, that means that the site will be limited to only 10 concurrent connections, but that’s fine its just a personal site and not a e-commerce system.

Now comes the issue of how to get it available on the Internet. The first this that I needed to do was to expose my web server outside of my firewall. There are a few ways to do this. You can move the entire server out site by placing it in the DMZ or open a port to the application that needs access through the firewall or you can do some port forwarding and filters on the firewall. I decided to just open port 80 through the firewall so that IIS can communicate with the world. This exposes the bare minimum needed, but it does have some limitations, but for my needs its fine. Another issue that we need to fix is with the DHCP server. We should only be opening port 80 to the web server. To do this, our web server is going to need to have a static IP address within the LAN. Changing this on my internal LAN is simple, the real problem here is with the external ISP. We could call them and ask to have a static IP on the WAN, but that would cost a lot extra. Fortunately, we can install a piece of freeware called No-IP that will solve this problem for us. This freeware runs as a service on the web server and keeps an eye on the servers IP address. When the ISP DNS server changes it, this software will update the domain name for our site with the new IP that our ISP assigned. Now were ready for Internet traffic.

Now comes the last piece. What name do I give this site? If I want to choose my own domain name, that will cost a bit to register it. However, there is a free solution to that also. There is a free site that allows you to create an account that will redirect all Internet traffic to your site. You get to choose the host name and you can choose from a list of domain names that they own. This site also integrates with the freeware that update the domain name for us when the ISP changes our IP.  So, for this last step, just create an account with no-ip.com and pick a host and domain name. That it!

So, you too can build a site free fully featured asp.net site in just 3 weeks.  Enjoy.

Links for this entry:

http://corbin.bounceme.net    (My personal site)

http://www.no-ip.com  (Freeware and domain account site)

The joys of video editing (WPF Intro) February 29, 2008

Posted by gcorbin in C#.
Tags: ,

One of my favorite past times that I enjoy the most is video editing. It’s been a long time hobby of mine. There are many different software packages out there that have tons of functionality that can make even an amateur appear like a pro. Recently, I’ve discovered windows media encoder. It’s a nice package that Microsoft gives away for free. For free, it does a decent job of editing, although many of the paid for packages are by far much better. One task that I found it can do that the other packages don’t is that is can do real-time screen video and audio captures. I’ve never played around with this stuff too much before, so I figured I’d research it a bit. I found that there is again other packages out there that do real-time screen capture, but the free ones had poor quality and generated large files. The paid for packages have great quality and decent file sizes, but they are also quite costly.

Any way, I figured I’d give the Microsoft media encoder a try. I’ve always wanted to try to create an online tutorial for some of the new and cool technologies out there, so I spent a bit of time creating a “Beginning WPF” tutorial. It’s only about 8 minutes long, but I think it gives a nice simple introduction to WPF and shows some of its power. So, if you’re up to learning a bit about WPF you can start the video by clicking the link below.

Beginning WPF” – by Greg Corbin (best viewed at 1024×768)

Enjoy. J

The latest technology January 30, 2008

Posted by gcorbin in Commentary.
Tags: , ,
add a comment

Technology changes so often that sometimes it can be overwhelming to try and keep up. This is most noticeable when dealing with software. Since software is made from nothing but thoughts, it is a technology that can have a lot of new concepts and techniques within a very short time frame. This is most obvious for people that work within the Microsoft technologies. Microsoft has been releasing new software platforms, frameworks, and APIs at a crazy rate over the last 10 years. Within that time, we’ve seen complete paradigm shifts from desktop client/server apps to distributed smart clients that live in the web. The technology to do this has also change drastically. We saw everything from the introduction of Xml to 5 released versions of the .NET platform. This leaves many software engineers struggling to keep up with the latest craze from Redmond. I find the best solution for this problem is to stay informed at a high level. If a new technology turns out to become a big hit, then it’s worth the time to really understand it in depth. The best way to stay informed it through technical web sites and magazines. The list of content that I regularly read is listed below:

                       Web Sites











                        Magazine subscription

                        ASP.NET Pro             

                        Visual Studio.Net

                        MSDN Magazine

                        User Groups


As you can probably tell from this list, I’m mostly interested in web development. The web sites I try to read at least 3 times a week and the magazine subscriptions are once a month. The user group is a meeting that occurs once a month. It’s a great place to interact with other .NET developers. This is something new to me, but highly recommended. Of all the sites listed above, my favorite is dotnetrocks. This site release a pod cast on every Tuesday and Thursday that discusses so .NET technology. Each pod cast is 60 minutes in length. I like to download them and listen to them whenever I’m offline. They are a great way to keep informed with the constant changes in .NET.

Anyway, the point I’m trying to make here is that you should have some strategy for staying up to date with the latest stuff. Without one, you’ll go crazy with the constant flood of new things.


MMC 3.0 – Build Snap-ins with C# and.Net September 23, 2007

Posted by gcorbin in C#.
Tags: , , ,

Microsoft Management Console no longer belongs in the realm of C++ developers only. Microsoft has released a new version of the popular MMC framework. This version fully supports managed and unmanaged code. The new MMC 3.0 SDK finally gives .NET developers the ability to create snap-ins. In prior versions of MMC, we were able to use some of the .NET framework, but all that code needed to be embedded into a C++ framework that provided a sort of communication bridge between MMC and .NET. With that architecture there was plenty of cases where .NET coding was limited in what could be done. The way it worked was the C++ snap-in hosted the .NET program in an ActiveX container. This is would cause all the .NET code to be in a sort of island that could not easily communicate with the outside MMC framework. All that is now behind us. Now that we have an MMC framework that is fully .NET compliant, we can ditch all the old C++ hacks in favor for the simplicity and power of C#.

To get started with writing snap-ins using C#, you will need 2 items. First you will need the MMC 3.0 console. Next you will need the .NET 3.0 framework. If you are working on windows Vista, you will already have these. The operating systems supported by this are Windows XP, Windows 2003, and Windows Vista. If you want your snap-in to work on anything older than that, then you’re out of luck. Once you get these pieces installed, I would recommend visiting the MSDN. There are several good samples that show how to write snap-ins using C#. There are samples that are as simple as a “Hello World” and there are some that are as complex as some of the Microsoft snap-ins.

Regardless to how you choose to use this, it is a great new technology that I would recommend you add to you portfolio. One last side note that I discovered is that this framework is even flexible enough to allow us to scrap winforms and use all the cool animation that WPF gives us. This is a great framework for creating any desktop administrative tool.