a window into my world.

AutoMute Windows Service

by Benjamin Anderson 5. April 2009 18:59

I’m releasing the first version of the AutoMute Service, which will automatically mute and unmute the sound on a Window’s computer when the session is Locked and Unlocked.  This is incredibly useful for the computer at the office when you’re listening to music on your headphones and often forget to pause or mute the music when you walk away.

More info can be found here

Tags: , ,

Categories: Programming | .NET

Creating an Outlook My.Blogs Managed Code Add-in

by Benjamin Anderson 30. January 2009 17:42

This is actually a little old, but the examples and information are pretty cool for anyone wanting to add RSS and blog support to their .NET application.

Creating an Outlook My.Blogs Managed Code Add-in

Tags: , ,

Categories: .NET | Programming

Twitter Turns off HTTP 1.1 requests

by Benjamin Anderson 11. January 2009 21:03

If you're a .NET developer and you've worked with interop projects before, you've more than likely run into problems with HTTP 1.0 vs. HTTP 1.1 support.  .NET supports 1.1 by default, and as a result will break requests and responses up with the HTTP 100 continue header status.  Twitter apparently turned off HTTP 1.1 within the last week or two.  As a result my extenstion for my blog had to be modified since it was throwing as exception when trying to post to Twitter.


Adding System.Net.ServicePointManager.Expect100Continue = false; to your code before making the post will fix the problem.  In a web app though, you'll want to turn it back on afterwards.  Switching states isn't a good thing, and it is application wide, so be aware of the changes.

Tags: , ,

Categories: .NET

LINQ Zip Operation

by Benjamin Anderson 11. December 2008 17:10

Every thought about working with elements in two sequences in a aggregated way similar to the way a zipper works with the two panels of teeth?  The Zip operation for LINQ in C# 4.0 will do just that.


Bart De Smet’s blog covers the topic:


Categories: .NET

Finding a .NET CMS

by Benjamin Anderson 8. March 2008 21:15

What’s available and what do I really need?

There are hundreds of Content Management Solutions out there, and a lot of them just blend in with each other.  I’ve been looking for a nice one that I could host for our wedding website, but in the process I’ve also been evaluating what is available from the perspective of providing services and solutions to clients and other customers.

I currently have Community Server up on our wedding website… It’s not anything like I’m looking for.  The theme controls are nice, and the blog and file management is descent, but as far as CMSs go, it is not a CMS.  It’s a blogging and forum solution, and is severely lacking is content management.  This shouldn’t be a big surprise since its name is Community Server, but it completely lacks the concept of a primary shared site area.  The pages are either part of a blog or part of a forum.  That just doesn’t suit the needs I have.  So, what are my needs?


  • Simple enough that my fiancee can edit and update the pages any time she wants without my supervision or support.
  • Open Source
  • .NET based (it is hosted on a Windows server, which does not have PHP support)


  • Easily themable
  • Large Community support
  • C# based (I just prefer to work in C#)
  • Easy theming system and customizations after applying a theme or skin

Solutions that I’ve found so far:

My review and input on these systems after the break.



Umbraco is one of the open source projects hosted on Codeplex, and has been my favorite to work with.  It doesn’t have a large community support quite yet, due to it’s age and to some technical limitations, but it does have a great theming system and modular plug-in and enhancement support. 


The backend, while taking a little time to get used to initially, is easy to use and simple enough that my fiancee wouldn’t have had any problems working with it to add content.  All components of the templates, pages and plug-in are easily modified and formated since they are heavily XHTML and CSS2.0 compliant.

So, what is the drawback?  It can’t be hosted on shared hosting unless your host configures the medium hosting security or used low or no security restrictions for their shared hosting accounts.  So, on Godaddy, where I have our site hosted, the CMS will not run correctly.  In fact, after getting it working after removing parts and disabling things, you can’t work in the CMS backend because one of the crucial components for the UI is one of the assemblies that cannot run within the medium hosting environment.  It’s really quite a bummer, especially considering there are several UI components that could be used and hosted on a medium setting shared host without any complication and still provide the same functionality.



One of the oldest and most widely used CMS and Portal systems.  DNN has been around for what seems like ages, and as a result it has a lot of user and community support.  Unfortunately there aren’t any great resources that are free that are all that dependable any more, at least that I could find.  I will admit I didn’t search as hard for support for DNN as I did for other CMS solutions simply because of my experience with DNN in the past.  I’ve used it, I’ve developed sights that use it, and I’ve heavily modified and enhanced DNN based sites before, and every experience left a very bad taste in my mouth.


It may have changed since the .NET 1.1 days of DNN, but with as large of a code base as DNN has, I seriously doubt it.  Despite my displeasure in doing so, I gave it a try since it is one of three .NET applications available through Godaddy’s software library.  It did not stay on very long.  I ended up replacing it with the final solution, which will be discussed at the very end.

Graffiti CMS

Graffiti CMS is another one I really enjoyed.  Unfortunately I came across it after I had already done all the work on the site for a specific solution. 


The system as a whole is very user friendly, and very easy to modify the themes.  It isn’t as easy as I’d like to create a new one from scratch though.  You have to import everything into the CMS so that it can convert the images into XML to save the theme.  But this is only a slight drawback during initial site design and redesign.

I probably would have gone with Graffiti had I found it earlier.  I will definitely keep it on my list for future projects.

Basic CMS

Too basic… Good for a start, but overall pretty much non-existent.  Does not provide a WYSIWYG interface and appears very crude in overall design.



Vine Type

This one looks interesting but ultimately I didn’t research it much due to the lack of information.



N2 is another one I found to late in the game.  It looks very nice and provides plenty of features.  I’d probably use it.  The back end interface is very nicely done and would have worked perfectly for my needs.



Digimaker just didn’t groove with me.  Something about it turned me off to it from the very beginning.  I think it had a lot to do with the cluttered information pages.  Rather than being informative and inviting, it all appeared very deceiving and too commercial, if that can be a bad thing.  The page just felt like it was trying to sneak something in with the deal.


When I first investigated Digimaker, I did think it would work for my needs, if not for this project, but for future ones.  Aside from the project’s site, I don’t have anything negative to use to judge against this project.

Luigi Corrias’ CMS Project


This one looks like a good starter project if you want to build it from scratch and customize the project.  It already has several good feature, but still a very young project.


Cuyahoga is really a website framework.  It has a lot of components for a CMS, but you still have to craft, develop and design the sight.  This is another great project to follow if you are wanting to build custom applications and CMS solutions for customer or yourself.


Another Codeplex project.  It has several great features, and looks like something worth watching.  At the time it wasn’t mature enough to meet the needs for this project, but it had enough merit to warrant being put of the watch list.


Beer House Starter Kit

One of the original starter kits for ASP.NET 2.0, Beer House, is a cross between a CMS and an e-commerce site, which is reality, most sites should be or will be.  It provides a great basis for learning and understand CMS and e-commerce work flows and design.



Final Solution?

My final solution due to time and all the complication I ran into was a re-skinned Screwturn Wiki.  Not a CMS.  This doesn’t meet my needs in two of the three primary areas, but it worked and I was able to get the site up in a skeleton state in a couple of days.  The wiki isn’t intuitive to edit for non-technical people.  A WYSIWYG interface would be much better, but it’s not difficult to pickup or use.  It wasn’t easily themable or skinable due to the complete lack of skins and support available in the community at the time.  This doesn’t mean it was difficult to modify.  As I stated, I went with this solution due to time constraints and ease of implementation.  Screwturn Wiki is also a great code base, and can easily be extended, enhanced and modified with very little time and effort. 


After the wedding though, I will use one of the other systems on the list, especially since I won’t be rushed to get the sight up.  The wedding site will remain up for a while and then I can take the needed time to properly implement a CMS system that my wife will be able to edit and change the more persistent data related to our lives that doesn’t really fit a blog format, since we already have a blog.

Tags: ,

Categories: Programming | webhosting | .NET | CMS

Splitter Problems

by Benjamin Anderson 14. May 2007 17:02

Another problem I’ve found, which is already known by MS, but hasn’t been addressed, is that when a minimal panel size is set in a splitPanel, if the SplitterDistance is less that the minimal size, and exception is through.  This is fine, except the splitterDistance is set after the minimalPanelSize and the ClientSize, so the exception is thrown, even though the code generated by both the Designer and manually should work.

Follow the link for the work around:

Tags: ,

Categories: .NET | Programming


I review for BookSneeze

About the author

Benjamin is a software developer in the DFW area.  He spends his free time playing video games, programming, doing graphics design and photography, and reading.

Month List

Page List

    Widget BookShelf not found.

    The file '/Blog/widgets/BookShelf/widget.ascx' does not exist.X