Thursday, March 01, 2007

 

The Windows Communication Foundation is one of the fundamental key components of what is now called .Net 3.0.  However, this enhancement comes with a price, a steep learning curve. Without this book by Juval Lowy I doubt many programmers would have the proper guidance necessary to make good design decisions. You see that is what Juval Lowy set out to do in his latest book and I think he did a fabulous job! This book is not for the novice programmer it should be warned, but rather the experienced developer who desires to push his or her skills to the next level.

 

From the very first chapter this book had me hooked. I rarely read technical books all the way through in one sitting however that is exactly what I did with this book. The first chapter starts to explain in plain English what WCF is exactly and from then on the content just gets deeper and deeper.

 

Now it must be said that I am not an software architect by any means however this book helped to give me more of an architectural viewpoint which could only improve my skill set. The design guidelines and best practices are clearly laid out so that anyone with some programming experience should be able to understand. This is not your average computer text which gives a chunk of code and then explains what it does.  There really is nothing average about this writer and book.

 

If you believe that anytime in the near future you will need to understand WCF for your work I would highly recommend picking up a copy of this book. It is not for the feint of heart but the journey is well worth it.

Programming WCF Services

 

3/1/2007 10:20 AM Eastern Standard Time  #    Disclaimer  |   | 
 Friday, January 05, 2007

 

The Windows Workflow Foundation is part of what is now .Net 3.0. Since this is the direction that we all seem to be heading in getting some solid information on subject is paramount. Fortunately we have a good resource in the book Foundations of WF by Brian R. Myers.

 

The premise of this book is to provide an introduction to the concepts, techniques and quirks of the Windows Workflow Foundation. It is not an exhaustive text explaining every nuance of the framework. Rather, this seems to be a somewhat of a high level approach of introducing the subject matter.

 

Throughout the text of the book plenty of example code is provided. As I really have no means at this time of testing the code myself I can not validate its accuracy. I am assuming the technical editors of the book have already done this but I have been fooled before.

 

What I did find disappointing is that only one chapter covers the integration with the Microsoft Office Server System 2007. This is disappointing to me as this is the new realm of where software developers are now able to venture into. However, I would like to point out that this chapter does cover the subject matter fairly well however it would be nice to see more titles from Apress covering this subject.

 

To give an overview of what is covered I will include the table of contents as such:

 

Chapter 1 – Introduction to Workflow and Windows Workflow Foundation

Chapter 2 – First Workflow

Chapter 3 – Conditional Activities

Chapter 4 – Flow Activities

Chapter 5 – Rules Based Workflow

Chapter 6 – Workflow and web services

Chapter 7 – Interacting with workflow

Chapter 8 – Custom Activities

Chapter 9 - Deploying Workflow Applications

Chapter 10 – Employee and performance review application

Chapter 11 – Integration with Office 2007

 

The chapter covering the reference application is actually also quite good. The application is not something I would deploy in a real world scenario per se but it does cover many of the fundamentals necessary to get a firm grasp of the concepts in action.

 

Overall I believe this to be a good work and worth the money if you wish to be introduced to Windows Workflow Foundation. However if you are looking for something more in depth look elsewhere as I believe more in depth texts are starting to become available.

Foundations of WF: an Introduction to Windows Workflow Foundation (Expert's Voice in .Net)

1/5/2007 5:25 PM Eastern Standard Time  #    Disclaimer  |   | 

 

Recently I have had the pleasure of reading a great book called Accelerated C# 2005 by Trey Nash. I found this book to be both insightful and informative on many levels. Now I am already familiar with C# 2.0 so this book did not necessarily teach me anything particularly new to the language. However the points that Mr. Nash brought out while using C# have helped quite a bit.

 

This book is not your normal C# training manual. Rather, the approach of the author is to take you through the language as if you were an already experienced programmer. I find that approach to be a bit refreshing from the standard explain a bit about a subject, show the code move on approach to writing these types of books.

 

Of all the chapters that I found to be particularly good were the chapters on Generics and Delegates. Generics are still a new subject for me and any new insights I can get on how this is supposed to help is much appreciated! The material in that chapter I believe to be worth the price of the book alone.

 

To give you a listing of what is in store if you should buy this book here is a listing of the table of contents.

 

Chapter 1 – C# Preview

Chapter 2 – C# and the CLR

Chapter 3 – C# Syntax Overview

Chapter 4 – Classes, Structs and Objects

Chapter 5 – Interfaces and Contracts

Chapter 6 – Overloading Operators

Chapter 7 – Exception Handling and Exception Safety

Chapter 8 – Working with Strings

Chapter 9 – Arrays, Collection Types, and Iterators

Chapter 10 – Delegates, Anonymous Functions and Events

Chapter 11 – Generics

Chapter 12 – Threading in C#

Chapter 13 – In Search of Canonical Forms

 

The final chapter of this book, chapter 13, was particularly good in defining some of the best practices when designing and building software. The revelations that this chapter showed me I believe in the long run will help me to be a better developer. Now I do not necessarily agree with all of the best practices outlined in this chapter I will give it some thought when designing software in the future.

 

Personally I would recommend this book for anyone wanting to get into writing C# programs rapidly. This book is however designed for an experienced developer and I would recommend if you are new to programming that you shy away from this book to start and then later pick yourself up a copy.

Accelerated C# 2005 (Accelerated)
1/5/2007 2:28 PM Eastern Standard Time  #    Disclaimer  |   | 
 Friday, December 29, 2006

Recently I have been reading some really great tutorials on the Validation Application Block by David Hayden on his blog. For those that do not already know David Hayden is one of the few great bloggers out there that actually create well crafted blog posts that actually help us out. He certainly makes me look bad that is for sure, I have to work much harder to get to his level. Perhaps that is osmething I can work on next year? Perhaps, my friends.

This is what he has written about so far.

Validation Application Block in Enterprise Library 3.0 - Using Validation Facade Class - Part I

Validation Application Block in Enterprise Library 3.0 - ValidationFactory Class - Part II

Validation Application Block Ruleset in Enterprise Library 3.0 - Enterprise Library 3.0 Tutorials - Part III

Validation Application Block - Rules in External XML Configuration File - App.Config Web.Config - Enterprise Library 3.0 - Part IV

Validation Application Block - Business Layer and Data Access Layer Integration - Part V

If it were not for David Hayden's efforts I am sure many would be blind as to how to proceed in utilizing this tool that Microsoft has provided. Good work as always David!

12/29/2006 12:26 PM Eastern Standard Time  #    Disclaimer  |   | 
 Monday, November 27, 2006

Recently my Mom has had some serious issue with the Best Buy Customer Service here in Sarasota, Florida. It has gotten so bad that I have decided to blog about it so maybe it will catch their attention. We will see if they follow Robert Scoble’s advice and listen to the bloggers out there. With this being a holiday season I would expect better service from such a well known and respected company.

Here is the issue my Mom ordered a washer and dryer set from the Best Buy appliance department and they scheduled for delivery a whole nine days ahead. Since the house is run on gas she needed to call a plumber in to disconnect the old dryer. As it approached the time for the delivery she was told that the Sarasota store would call ahead to schedule a time for the delivery drivers to come. No one called the night before. She called the store at 6 P.M. and did not get through until 9 P.M. that is three hours for them not to answer the phone. Talk about poor customer service! As it became apparent that the washer and dryer was not going to be delivered she decided she was just too upset with the whole situation and decided to cancel the entire order. Now every time that my Mom tries to cancel this one order of over two thousand dollars she is told she cannot because the washer and dryer is scheduled to be delivered for whatever day she comes in to cancel the order. What a runaround! Basically Best Buy has taken two thousand dollars from my Mom and not delivered anything. The washer and dryer were charged to her account without actual delivery. I did not think that was possible in this day and age but I guess it is.

Hopefully Best Buy will straighten this out sometime soon before we need to go to small claims court about it. Perhaps the local news stations here in the Tampa Bay would like to broadcast this story on their channel. Maybe that is the only way for someone down here to get the work done! I think Best Buy has lost some customers!

11/27/2006 2:39 PM Eastern Standard Time  #    Disclaimer  |   | 
 Thursday, October 19, 2006

Well I guess many of have heard already that Internet Explorer version 7 is soon to be available as a priority download to all Windows XP users. Is this a good thing or a bad thing? Personally I believe that this is a very good thing as Internet Explorer 7 is supposed to drastically increase the level of secrurity and usability for all. Also the level of compliance to standards is known to be improved on this release IE7 and the level of CSS compliance is quite similiar to the ever so popular Firefox and Mozilla browsers.

One of the best new features of this browser is the integrated RSS capabilities of this browser. Now I am a huge fan of the RSS Bandit aggregator but I would like to try something new. Also the tabs feature is quite nice, especially if you have been used to using Firefox as the functionality is quite similiar.

I believe that this browser will help improve Microsoft's reputation by delievering a high quality, high secure application. Now go update your computer with this new version. I think you may be very pleased.

10/19/2006 12:44 PM Eastern Daylight Time  #    Disclaimer  |   | 
 Tuesday, August 15, 2006

Just a quick note that I updated my personal website with some more content today. It is something I was meaning to do for a long time but have finally got my act together and resolved that this was the time to update that stagnant website. I added some of the more popular articles that were on my old blog and updated them for today. A quick tutorial was added on how to perform a really basic mode statistic with SQL. Anyways more additions are soon to come so check back often.

You can visit my personal website here.

http://www.richard-callaby.net

8/15/2006 4:35 PM Eastern Daylight Time  #    Disclaimer  |   | 
 Thursday, July 13, 2006

Rory Blyth has put together a nice set of screencasts on how to develop applications on Windows Mobile 5.0. These screencasts cover the whole range of topics that you would need in order to get started developing on this platform. I have personally viewed several of these screencasts and the quality of their presentation is what you would expect from Rory - meaning quite darn good.

You can catch all of these screencasts that are uploaded to Channel9 through the following links.

I can only hope in the future deliever the same amount of material at the same level as Rory. He sets the bar for us all.

7/13/2006 4:07 PM Eastern Daylight Time  #    Disclaimer  |   | 
 Thursday, April 13, 2006

I recently subscribed to Scott Guthries blog. I am really glad I did! You see it was Scott that informed me of the article on how to integrate credit card processing into a ASP.Net application. You can read the article here.

http://www.west-wind.com/presentations/aspnetecommerce/aspnetecommerce.asp

Also today was another good day in that Scott informed his readers that the ASP.Net Provider model source code is open to the public.  This is great news on those that want to see the inner workings of the new way ASP.Net 2.0 handles things like Membership, Roles and Sitemap among many others. You can find the blog post on this subject here.

http://weblogs.asp.net/scottgu/archive/2006/04/13/442772.aspx

If you have not subscribed to this blog and are only slightly interested in ASP.Net or .Net Programming then you should do so pretty soon. The informaton that Scott conveys in his blog is a lifesaver.

.Net | ADO.Net | ASP.Net | Reviews | Software
4/13/2006 7:43 PM Eastern Daylight Time  #    Disclaimer  |   | 
 Monday, February 20, 2006

So you have decided to take the plunge and take your business on the web. This most likely means you will need a reliable hosting service to host your e-Commerce website. What are the key factors that you should consider when considering various web hosting companies?

 

When considering a web hosting service you should consider at least three factors, how reliable the service actually is, how knowledgeable and prompt are their support staff and what is the actual cost of using this service. Let's break down each factor and really consider this situation in depth.

 

The reliability of the web hosting service is perhaps the most important to your business as a unreliable service can seriously hamper the reputation of your business. So how do you determine if a host is actually reliable? The first and perhaps the easiest way is to join a public newsgroup of web developers and simply ask them who they use to host their websites. For instance if  you should want to use a ASP/ASP.Net hosting service I would go to asp.net and simply ask who is the most reliable hosting service. Also, searching through these newsgroups will reveal quite a lot of information regarding how knowledgably and helpful the support staff is as well. Simply stay away from hosting providers that have a poor reputation as those service companies most likely are only concerned with separating your money from your wallet and not actually helping you grow your business.

 

How do you determine which service has the most knowledgeable and helpful staff? This one is again fairly easy to determine. If the staff of the company takes the time to answer questions on public newsgroups and is willing to share their time and knowledge to help out others then this is the company you should utilize. For instance I have noticed that on some public newsgroups or forums many of the questions being answered are from various web hosting services. This not only reinforces their reputation of being really knowledgeable and helpful but it allows the company to get some "free advertising" as well.

 

Lastly is the cost factor to consider. There are many low cost web hosting providers out there. All you  have to do is a search on Google and you will obtain potentially millions of hits on that key term. However, even low cost web hosting services can turn out to be

expensive when you consider the various add-ons that you may have to attach to your website to make it truly useful to you. So therefore when considering a web hosting service write down your exact requirements you need to make your website run. Also consider the amount of growth that you anticipate when using this website. A website that may work for you now may not work for you in the near future if your business should really take off and you have not factored that consideration into account. Also take into account any cost of upgrading your service should you outgrow it or you need to move to a high end hosting solution.

 

When considering a e-Commerce hosting service or any web hosting service these are the key factors to consider before making any purchase. While certainly not an exhaustive listing of everything you need to consider this should get you on the right path to narrow your choices down to at least three or four services.

2/20/2006 1:38 PM Eastern Standard Time  #    Disclaimer  |   | 
 Friday, February 17, 2006

Rapid Module Development for DotNetNuke

 

I came across this really great article by Mark Hoskins on the use of various code generation tools to rapidly build modules for the DotNetNuke platform. Mark does a really great job on explaining how he goes about using these tools to develop his modules in a much shorter time frame.

 

You can read it here.

 

http://dotnet.sys-con.com/read/180968.htm

 

 

2/17/2006 11:50 AM Eastern Standard Time  #    Disclaimer  |   | 
 Thursday, February 16, 2006

Okay you have now passed your certification test, congratulations! Now what? How is this going to actually improve your life, your career? Have you thought about your plans after you have passed the test? For many taking a certification exam is only a stepping stone to true success.

The first thing I would do even before pursuing a certification is to have a plan on how this is actually going to help you in your career. Just because you have passed the test does not mean you are an expert. You must first prove it to the rest of the world. How do you do this?

Sit down at your computer or desk and write out your career goals for the next year, five years, ten years and your entire working career. How does this certification fit into those goals? Can you use it to establish more credibility as an expert?

The first step I would take is to start writing tutorials on the subject matter that you claim to be an expert in. Post these tutorials to your own website, blog or eZine distribution websites. the more you write about a subject the more likely a person is going to consider yourself an expert in the field and the certification just backs that up as well. The more visibility you receive the more likely you are to get clients that are willing to pay for your services.

The second step I would take is not to stop studying! The best thing for you to do is learn as much as possible about your subject matter and to stay on top of it. Each time you learn something new write about it. This not only helps you stay visible but shows that you are up to date with the latest technology. If you are studying for another certification or an upgrade to your existing one learn all you can about the material and then start writing tutorials that teaches others on the same subject. Not only will this help reinforce what you have already learned but it could lead to increased job offers and other opportunities.

The third step would be to visit as many newsgroups as possible to put your knowledge to the test. By helping others this way you reinforce what you have learned and again gain valuable exposure in the field.

Lastly I would find a local user group in your area and start volunteering for it. This will greatly increase the number of contacts you can network with and make your name known in the community. Do not have a user group in your area? See if you can start one and start speaking about your area of expertise to a local crowd. Later I would connect with other regional user groups to see if they are looking for speakers and then start speaking at these user groups.

For many the certification test is the place where most people stop in their careers and then complain that this test did not really help them. The test is merely a stepping stone in establishing more credibility. The rest is up to the individual. You reap what you sow. Certification only contains some of the seeds that you need to plant in order to become truly successful.

2/16/2006 7:13 PM Eastern Standard Time  #    Disclaimer  |   | 

Publishing documents on the World Wide Web can seem daunting for the self proclaimed ludites out there. Let's face it HTML, XML, CSS, JavaScript to name just a few of the technologies that you would need to be familiar with in order to develop a truly professional looking website for yourself or your business. Fortunately there is a solution to the problem, it is called a content management system and it is an easier way for just about anyone willing to learn to publish to the Internet.

Some of these content management systems have stemmed from the need of publishing data to the web. CNet for example created one of their own in house content management systems which they later spun off into a separate company called Vignette. Since publishing to the web began to take off in 1995 the development of these systems has really begun to progress. However my focus will be only on open source versions of the web content management systems.

The first open source system that I want to mention is called DotNetNuke (http://www.dotnetnuke.com) which is a AsP.Net based system. By far one of the more popular open source projects out there today DotNetNuke has an avid following of hundreds of thousands of users. The benefits of using this system is the rapid updates to the platform and the intense support you will receive from it community. These are two very important factors when considering an open source system, the level of updates and the support you will receive from its creators or users of the platform. Further the innovations that are built into this system make it one powerful application by any measure. For instance the skinning mechanism is by far one of the easiest to modify and customize and the scheduling processor reduces some of the more mundane tasks of maintaining any website.

However DotNetNuke does not come without any drawbacks. Since this system was eveloped in ASP.Net this means that you will need at least Visual Studio 2003 Professional or greater in order to truly modify the source and customize the system as you see fit. This can be a serious drawback as the cost of this development platform can run into the hundreds of dollars.

The second open source system that I have some experience in using is called AXCMS.Net (http://www.axcms.net) which is again built upon the .Net platform. This system is as feature rich as other open source systems such as DotNetNuke. However, this system has some definite drawbacks. First is its somewhat difficult setup and deployment problems that can seriously hinder any project. Also, there does not seem to be as an avid user base as DotNetNuke. However the system is as "solid" as they get and you will definitely be rewarded by your efforts once you have the system fully setup and ready to use. Also since this system is really a neat way to get introduced to the development team any updates or customizations you may need will be for a fee from the creators of the system. This really hinders the community support of the system and makes adoption that much harder.

There are many other open source systems out there with some more being developed as I write this article. The main factors when adopting any open source content management systems you should consider are: how well is this system supported by the community and how often is this system updated by its core development team. Even an open source system can have some hidden cost that must be considered before adoption into any business or enterprise.

2/16/2006 5:45 PM Eastern Standard Time  #    Disclaimer  |   | 
 Wednesday, January 04, 2006

Published by: Apress

Author: Eric White

 

Introduction:

 

It is stated in this book that this book is for developers who wish to enhance their programming skills in order to create custom controls. The primary language for this book is C#, this is most likely just a personal preference by the author of the book and it should not really adversely affect any other developer who writes code in other languages. Basically the techniques in this book can be applied by any Visual Basic .Net developer or even an Visual C++ .Net developer. The approach the author chose to take is to first give a brief introduction of what GDI+ actually is and then dive into the nuts and bolts of the underlying framework of GDI+ and then finally go into the architecture and development of Windows custom controls.

 

It is important to note that the source code for this book is available online at the APress website. You must download the code yourself if you want to see examples the coincide with each chapter of the book.

 

You can download the source code here:

 

Chapter 1: .Net Graphics Programming

This chapter provides a good introduction of .Net graphics programming. All the necessary topics are covered for even the most novice programmer. The highlight of this chapter is the overview of the namespaces of GDI+ programming which are listed in the table below.

 

Namespaces

Description

System.Drawing

This namespace is where all the basic graphics functionality. This includes the drawing surfaces, images, colors, brushes, pens and fonts.

System.Drawing.Drawing2D

This is where the raster and vector graphics functionality is located in the GDI+ namespace.

System.Drawing.Imaging

This is where the advanced imaging functionality is located which is an extension of the System.Drawing namespace.

System.Drawing.Printing

This is where the printing and print preview functionality of the framework resides.

System.Drawing.Text

This is where the advanced font functionality is located.

System.Drawing

This is where the advanced design time support of custom controls.

 

An overview of the basic of custom controls is also covered in this chapter quite well.

 

Chapter 2: Drawing Surfaces

This chapter covers what to consider when drawing to specific target environments. These target environments are a window on a screen (known as a form), a page (sent to a printer) and an image (such as a bitmap) since these all can be drawn to by pixels it is important to note the differences between these drawing surfaces simply because not doing so can affect your program in a very negative manner. I have personal experience debugging a C++ program that had its share of pagination issues and I have to note that many of those issues were most likely caused by the poor translation from one drawing surface to another.

 

The author does a fairly good job in explaining how to deal with each target environment. However as this is an early chapter some points are purposely left to other chapters to fill in. As there is a complete chapter printing it is wise to reason that the more in depth discussion of that drawing surface would be covered in more detail in that chapter.

 

Chapter 3: Pens and brushes

This chapter builds on the previous one in that it describes how to actually draw images on the screen using pens and brushes. Pretty much every aspect of the task of using pens and brushes is covered exhaustively in this chapter. Also, when covering this topic the author makes sure you understand how these methods are interacting with the screen, printer, etc to make absolutely sure you take all considerations into effect before setting down and using this namespace.

 

Chapter 4: Text and fonts

This chapter is perhaps the most drawn out text on fonts and text I have ever seen. Now this is not necessarily a bad thing as without text no information can be conveyed to the end user. Furthermore, the first GUI interface main attraction was the use of the fonts only seen in well published novels and magazines. Again every aspect of the namespaces that control how and where text is laid out on the screen or printer is covered very well in this chapter.

 

Chapter 5: Images

The use and manipulation of images is covered exhaustively in this chapter. However I would not use this chapter as a sole resource on the subject of image manipulation. Rather I would turn my eye to the open source projects that do the same thing but in an actual application. This would be something like the open source project Paint .Net. You can use this chapter to get a better understanding of what is going on in the underlying code in the project but since the examples are rudimentary and elemental at best it is far better to see this code in an end product such as Paint .Net.

 

Chapter 6: Graphics Paths and Regions

Now this chapter was interesting as it covered regions which can be used by Windows Forms as a way to create a more customized user interface and hence user experience. Again, an exhaustive coverage of the material is covered. With this understanding hopefully you will have the knowledge to better manipulate the regions and graphic paths in your programs.

 

Chapter 7: Clipping and Invalidation

Not a whole lot to say about this chapter except that the same exhaustive coverage of the material is continued with this chapter.

 

Chapter 8: Transformations

Again not a whole lot to say about this chapter except for the same exhaustive coverage of the material is continued again with this chapter.

 

Chapter 9: Printing

This was a special chapter for me as I worked on a project in my senior year at college that dealt with issues on pagination in a visio like program. Some of the same techniques I employed to debug the program were illustrated in this chapter. Ofcourse I was using MFC at the time and did not have access to the .Net framework but the techniques employed here would apply to many languages.

 

Chapter 10: An alternative coordinate system

This chapter explains the authors use of his own coordinate system in order to solve issues he found while covering the previous material. Pretty much every method that you expect to see in the .Net 2.0 framework is repeated here but with the author’s own unique twist on things. I am unsure of the real benefits of this coordinate system as there really is no whiz bang examples that really make me believe that this is the way graphics programming should be done. Really this is my biggest complaint of the whole book is that the author does not really develop any really useful program that the reader would want to use in their everyday lives. Personally, I need to see how these coding techniques are put together in a real live program in order to maximize the benefit of the learning experience.

 

Chapter 11: Architecture and design of Windows Custom Controls.

Finally the meat of the book and it took 11 chapters to get to it! This is really disappointing. Not the content of this chapter by any means but the fact that it took 11 whole chapters to discuss what I believe is the main crux of the work, Windows Custom Controls.

 

Now while this chapter does employ simple examples to illustrate the point it is trying to convey I would love to see some meatier examples, perhaps in an extended appendix or online on the Apress website.

 

Chapter 12: Design time support

What is design time support? This is where the end user of your control has the ability to dynamically control the properties of your custom control. Since you are designing for another programmer you must consider all the ways to enhance the experience and increase the development time of the programmer. This chapter does a fine job explaining these techniques and through the simple examples the point is made clear.

 

Chapter 13: Scrolling

Now when I got to this chapter I thought, why devote an entire chapter to scrolling? After reading the chapter I was still left with that question. In the very beginning of the chapter the author explains that there is considerable amount of built in support in Windows Forms for scrolling. So why would you want to do it yourself since it has already been done? While this chapter does an excellent job of explaining how to implement this in your own custom controls I can only justify this chapter as a filler chapter.

 

Chapter 14: Mouse event and cursors

What is a graphical user interface without the mouse? Not much in my book. This chapter explains how to properly utilize this input device as it pertains to your custom control. Since this is the last chapter of the book I was expecting some sort of wrap up, however there was none. No really great words of wisdom from someone who develops custom controls on a daily basis, none of that. Somewhat disappointed.

 

Overall impression of the book

Now admittedly I am not a great graphics programmer by any means. However this book will certainly teach you the nuts and bolts of GDI+ programming. How that will benefit you is up to your own judgment.

 

Where this book needs improvement on is that fact that there is not one single project the reader can build upon in order to learn the concepts taught in this book. Also when the reader does get to the meat of the book the content is left hanging by excruciating examples that most readers will be able to find by doing a simple

 

 

Pro .NET 2.0 Graphics Programming
1/4/2006 7:46 PM Eastern Standard Time  #    Disclaimer  |   | 

Recently I have had the pleasure of using the open source content management system called DotNetNuke. I basically use this as my primary personal website as it is very easy to use and administer and does not mean I need to hand code HTML every time I wish to update my website. It also has the advantage of being editable from anywhere I have an internet connection.

 

This new version is a vast improvement over the previous version I was using which was version 1.0.10. Notably this version has an integrated scheduler provider which allows for tasks to be run in the background at designated intervals. Since this is an open source system you have the advantage of seeing how this code is implemented, such a bonus! The scheduler provider I believe should be implemented in every website I develop simply because this allows for hands free administration of some of the more mundane tasks of keeping a website as fast and efficient as possible. The creators of this content management system also included their architecture reasoning in the DNNDocs which can be located at the same place you can find the source code for this system.

 

The advantages of using DotNetNuke in its current form is its open source and hence free nature which allows experienced developers to extend and modify the existing code base to suit their needs. Some may want to use this as a base for an even larger web based application. Also, since this is one of the most popular open source projects on the internet today the community support is outstanding. Also since this demonstrates some of the best practices of developing an n-tier web application any serious web developer can obtain valuable nuggets of information and insight by studying the code and the reasoning behind those decisions.

 

However, when considering this for a large corporation such as one in the S&P 500 I would give some serious thought about the disadvantages to any open source system. An open source system appeals to the masses and this does not necessarily coincide with the specific business requirements of a large corporation. These requirements most likely would consider Sarbanes Oxley regulations, regulations by national state boards of oversight and local regulations that demand a high amount of information security that this portal may or may not satisfy. So therefore you have to consider the costs of implementing such improvements on this system or any open source system in order to meet those specific business requirements.

1/4/2006 4:24 PM Eastern Standard Time  #    Disclaimer  |   | 
 Tuesday, December 27, 2005

Here is a posting on my old blog that I am revisiting simply because I know some people have been searching my blog looking for this review. I am reposting it here for any user who comes across my blog looking for a review of PrevX Home Edition.

The new PrevX Home Edition (Beta) seems be a pretty cool idea. It is an intrusion detection system for home users to prevent Spyware, Viruses and other Malicious code on their computers. I have used and am currently using Ad-Aware version 6 to remove all the spyware that ends up on my computer (which for the most part consists of cookies) and find it to be easy to use with a nice interface.

So far though here is my first impression of PrevX Home Edition (beta).

1. The Installation was simple and did not ask me for every part of my personal life in order to download a free product.

2. The User Interface is fairly good with simple switches and very few options to confuse the home user. I also liked that there was an explaination box below each option that explained what each option did.

3. The Bad is that the choice of the color scheme leaves something to be desired. I mean I am tired of this bullet black and gray coloring that some software producers feel makes their product look more “professional”. I wish this product came with multiple skins or something so I can change it to fit the normal windows scheme I am now using. Besides this does not help those with bad eyesight and could hinder the adoption of this product by those with vision problems. Not good.

Well after  I use it for a couple of weeks I will post a more diligent review of the product and if they keep bugging me by e-mail to “upgrade” to the professional version.

Also here is my follow up review that i posted some time later on.

Well since this is a new year I am going back to some of my previous posts and updating some information about the reviews I gave earlier. Specifically one of my reviews that has been viewed the most is the one of PrevX Home edition. At that time it was in beta stage and worked well to stop malware from ruining my computer. Unfortunately however I have no decided to delete it from my systems. The main reason for this action is simply because it is too irritating in how it performs its duties. Unlike some of the other more professional firewall, antivirus and anti-spam programs PrevX does not actually “learn” your habits. This is simply not acceptable in my opinion. The software should adapt to me and not force me to adapt to it as I am the user and hence the most important part of the computing equation.

Basically I have found that PrevX home to be lacking in the following areas:

A user interface that seems to be lacking meaning that the way the actual software performs its duties is not adequate compared to McAfee for instance which has a great user experience.
Irritating messages when you want to install any program onto your computer. I know that this is supposed to prevent malware from installing itself however the program should be intelligent enough to realize that I intend to install any piece of software and should learn my habits and adapt to me.
The lack of the ability to update recently. If I cannot update the software to the new threats than what use is it to me or anyone else. Since the update program is communicating with the server the software developers should have anticipated a failure such as this and thought of a way round it by redirecting me to another server or had some way for me, the customer, to recover from this failure.
 

So if you installed PrevX based on my reviews earlier and continue to enjoy it fine. However I am going to be looking for other alternatives out there in this market as this program simply does not meet my needs anymore.

So there you are, both of my reviews in one place. This covers some time period so both review are honest at the time. At this time I have found Microsoft's Anti-Spyware tool to be much better alternative than this program. Hope this helps some.


12/27/2005 8:47 PM Eastern Standard Time  #    Disclaimer  |   | 
 Sunday, December 18, 2005

For all of those that want to get started developing .Net applications but do not want to shell out the hundreds of dollars a professional edition of Visual Studio 2003 will cost you, there is a solution. The developers at IC#Code have developed an open source IDE that is actually quite impressive. It has all the features you would expect in a commercial IDE and it is fully extensible through access to the raw source code and the plug-in architecture of the IDE.

 

#develop pronounced SharpDevelop has the following features:

  • A forms designer for C# and VB.Net
  • Code completion for C# and VB.Net
  • An XML editor integrated within the environment
  • “Code Folding” or what is known as regions in the Visual Studio IDE which allow you to separate your code so that you can view only the code that is relevant
  • Ability to convert C# to VB.Net and vice versa in the IDE (even Microsoft does not have this feature yet)
  • Integrated NUnit Support
  • An “assembly advisor” which is an FxCop like program that helps you optimize your assemblies.

 

To see the full feature list visit their website for a full feature tour.

 

There is no other open source project like this one for .Net development. It would be great to see if these guys hook up with the team working on open source NTeam project. However that is only a dream of mine at this time.

 

There is even a book written by the authors of the source code which guide you through their development of this IDE. So not only can you see the code yourself but you can read about why they chose one design path over another which is a great help for those developing world class applications that many users will end up using in their day to day lives.

 

So why not download this IDE and give .Net a whirl if you have not already done so. If you are new to programming this also might be a good place to start as it is much better to program with an IDE than with notepad and the .Net SDK.

12/18/2005 1:24 PM Eastern Standard Time  #    Disclaimer  |   |