Hi, I'm Ron Cormier. I'm the owner of a small software company where I design websites and build reusable web applications.

This blog is a work in progress but I plan on writing about website development, software design, information technology, and some of the projects I'm working on for Communicate Solutions. Check out my company's website, Communicate Solutions.com.
Sign in

Tags


dirty golf ballIt's been a while since I posted but I promise I have some good excuses.  I got married (!), went to the Dominican Republic with my beautiful new wife, and took some additional time off to work on my golf game :P  While my golf isn't anything to write home about, I'm definitely excited to get back to work.  It feels good to have recharged batteries! 

I'm happy to report that the number of ePortfolio downloads has steadily increased since we last spoke.  Sales are sluggish but I am still encouraged.  We've got some great feedback that will keep things going in the right direction.  First and foremost is implementing a full-fledged WYSIWYG.  It seems like an obvious missing feature in hindsight.  Here's a link to a Stack Overflow post that lists the most important features of a content management system.

Finally, I'm going to try write about some of the more interesting articles related to this blog's content.  I'll start off with an author my co-workers are probably sick of hearing me quote.  Joel Spolsky, of Fog Creek Software, started writing a blog back in the early 2000's called joelonsoftware.com.  One article that I've used in real life countless times is the Joel's guide to hiring.  I love it.  I don't copy his process word-for-word but the high level objectives are spot on.  This is highly recommended reading for technical people responsible for participating in the hiring process.

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

If you build it, they will come

empty chairsI love Field of Dreams as much as any other red-blooded American baseball fan.  "Ray, people will come Ray. They'll come to Iowa for reasons they can't even fathom." says James Earl Jones after seeing deceased ball players scrimmaging in Kevin Costner's corn field.  "Oh... people will come Ray. People will most definitely come." he says in a prophetic tone only JEJ can pull off.  When I first started building my content management system, this is how I felt.  I thought I had a good idea and there was a niche.  How hard could it be?  Design it, code it, wrap it in an installer, get it on the web, and watch the money start rolling in.  As you can imagine, this isn't exactly how it's worked out so far.  It's been available on my website for about 1.5 months and there's not been exactly two trial downloads.  Barely anyone has even looked at it.  I'm rather discouraged.  Jones may have played an intellectual, reclusive, and revolutionary writer in the movie but right now I feel more like trusting, naive farmer Costner plays... I'm feeling a little crazy, like all that work was a waste of time.

Going the distance

I'm being a little sarcastic here.  I haven't heard any (new) voices in my head in the last few months.   And I've not seen any dead baseball players.  But I did spend a ton of time working on getting my content management system shipped.   I'm not naive though.  I'm well aware how competitive the market is for content management systems.  You can buy content management software for many thousands of dollars or download different types for free.  I should also mention that I've not done much in the way of marketing.  My marketing has consisted primarily of this blog, my website, and word-of-mouth.  Clearly this isn't enough.  It is probably obvious to most entrepreneurs but let me reconfirm the lesson: just because you built it, doesn't mean they'll come.  That applies even if you've got a fancy website that's optimized for your target search engine query.

For me, it seems a big part of learning how to be an entrepreneur is conquering my fears.   I'm scared as hell to release software to the world.  It took some chutzpah to commit to a date when I would actually ship the release.  I know that I need to market the damn thing but I hesitate because when I compare it to some of the other well-established CMS's there's no way ePortfolio competes in terms of the number of features.  In short, I'm afraid someone will find it, think its crap, and never give it another thought.  I guess its fear of rejection. 

Winking at the pitcher

It's been said though that fear is the most worthless emotion.  I know what I need to do.  Now that my software is out there, I need to tell others about it.  Can I go feature-for-feature with the other big name content management systems out there?  Nope, sorry.  Is there room for improvement?  Of course.  But guess what, I've used it and I know it's got a few advantages that nobody else has.  And I'm not about to give up on it either.  I will market the software, add features, and continue to improve it.  I'll wink at the pitcher just before he goes into his windup... hopefully I won't catch a high, hard one in the ear!

The timing of Joel's article about start-up static is very apropos.

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

After a ton of work, it gives me great pleasure to announce the first publicly available release of ePortfolio, the easy-to-use content management system for ASP.Net websites.  I made the 2/15 deadline, even finishing a few days early which was good because shortly thereafter I got sick with a severe cold.  Thanks to the loving care of my fiancée, Cheryl, I'm feeling much better now.  You can download the software at my website, Communicate Solutions.

content managementePortfolio is a content management system I've used to manage several of the websites I've designed.  It was designed for brochure-style websites that use Microsoft's ASP.Net framework.  Unlike other CMS's, ePortfolio works with Microsoft technology instead of around it.  After running the simple installation wizard, you get a fully functional website that is easily updated without needing a degree in computer science.  If you do have a degree or some design skills, ePortfolio offers a simple UI for changing the nitty-gritty details of the website.  Click to read more about ePortfolio's features.

Now that ePortfolio is out there, I'd love to get some feedback.  I certainly have some ideas on how to improve it but I'd like to hear what you think.  Anything is game: installation, configuration, usage, bugs, and new features.  There’s several ways to give feedback: post on this blog, post on the forum, shoot me an email, or submit a trouble ticket.  If you give me some valid feedback, I'll give you a free license.

That’s right; I said the four-letter f-word, free.  I appreciate your feedback :)

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

I was at the MSDN Developer Conference in Boston today.  It was my first developer conference of any type and was pretty interesting.  At first I was a bit taken back by the whole evangalist tone but I guess that's to be expected at that sort of event.  The attendence was larger than I thought it would be.  300 people I'm guessing??  I suspect the average age was 25-35 years old.  The ratio of guys to girls was probably 20 to 1... at least.  It was tough to guage the vibe of the event.  Unfortunately I had to go back to work after lunch.

The keynote was largely focused on Microsoft's new Azure services.  Azure is thier cloud computing platform and seems pretty cool.  I think they envision it competing with Amazon's EC2.  I also attended a session on ASP.net/jQuery.

WinterjQuery is an open source javascript library that has quickly become extremely popular due to its concise nature.  With jQuery, you can write 5 lines of code which would be 25 lines in plain javascript.  Check it out if your doing any sort of web development.  I can honestly say that jQuery makes writing javascript refreshingly simple, if not fun.

If you haven't heard yet, jQuery is officially being supported by Microsoft, even shipping it with Visual Studio  This is interesting primarily because it is open source.  Chris Bowen, a "developer evangelist covering the Northeast US", promised to our faces that Microsoft will _not_ 1) fork jQuery, and 2) embrace, extend, and extinguish jQuery.  Microsoft says they will contribute to jQuery though.

I hope that we were not lied to.  Call me a skeptic but can't you see a scenario, where five years from now, there's some feature that they just absolutely need but jQuery doesn't want to add?  Browser compatibility comes to mind.  I guess we'll just have to wait and see.

If you want to kill a few minutes (or about 60), I was first introduced to jQuery by a video link I found on Slashdot last year some time.  The video is of a 12-year-old kid named Dmitri who gives a presentation about jQuery at a Google event.  The presentation is, on one hand, painful.  Dmitri is obviously not a polished speaker.  However, if you can make it throught the um's and ah's, the content is dead on and its neat to see such a young guy weild jQuery like a grizzled veteran.  He's pretty good with the DOM as well.  Here's the link.

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

My stomach is doing somersaults.  My sweaty palms are sticking to my ergonomically correct keyboard.  I'm nervously checking people's away status on IM.  I can't believe I'm about to do what I'm about to do...

The first official production release of ePortfolio will be available on February 15th, 2009.

ePortfolio is Communicate Solutions' homegrown content management system (CMS).  It's designed so that .Net web developers can design beautiful websites and domain experts can add the appropriate content, all quickly and easily in one place.  Learn more here

It's a bit nerve-racking to formally announce the release date since now I've got to meet that date :)  It's very exciting though!  Previously, Communicate Solutions has only sold services; this will be our first shrink wrapped software available to the world.  I honestly have no idea what will happen.  I would not be surprised if we sold zero units in the first month or if we sold 1000.  I do think that any C# website developer would be crazy not to at least check out the trial version.  Also, it's not really version 1.0 since I've used it with several of my client's websites.  I also use it for my company's website, Communicate Solutions.com.

So, check back in mid-February, download the trial, and let me know what you think!

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Changing VPS Vendors

Posted on November 26, 2008 04:37 by rcormier@communicatesolutions.com

I had another couple long nights Sunday night and last night.  You see, I moved my several existing websites to a new VPS.  I blogged about my initial move from a physical server to a virtual server here.  The reason I switched this time is because of problems I had with VPSLand (my old VPS vendor).  Basically I was unable to get a connectivity issue resolved for several days.  During that time, several my websites were down for extended periods of time.  Support from VPSLand is only available via their online ticket system and my ticket did not get the attention that I thought it deserved.  It was extremely frustrating to have these issues and not be able to call anyone about them.  It seemed I was always waiting for the "senior admin" to research the issue.

My new VPS vendor is Fluid Hosting.  They are somewhat more expensive than VPSLand but they have online AND phone support and they got pretty good ratings in a WebHostinMagazine.com VPS comparison review.  I guess I'll have to wait and see how the new vendor works out but I'm hoping this is an example of "you get what you pay for".

This move was a little more difficult because the new machine is 64-bit Windows.   I've done plenty of work with 64-bit Windows machines in my day job, so it's nothing new to me, it just added a bit more complexity.  Funny story: I was having a problem with getting one app working.  The error pointed to permission issue but I thought I was smarter than the computer and troubleshooted as if the problem was more of a 64 vs. 32-bit OS issue.  I ran out of time troubleshooting and had to revert back to the old server for this client/website.  After I was done moving my other clients, I spent several more hours troubleshooting the problem with tools like FileMon, Process Explorer, & Dependency Walker.  Finally, I narrowed the problem down to a permission issue.  It ended up that I just fat fingered a new user's password... Yell  That's about ten hours of my life I won't get back!

It was strange though that I couldn't get FileMon to run successfully on the VPS... when I started the program I was getting errors saying "Error loading FILEMON701: This driver has been blocked from loading".  Extensive Googling yielded only a few articles which indicated that the problem was permission related.  That doesn't make sense because I'm an admin on the machine and I can do all the normal admin things.  I also have the appropriate user rights (Debug programs & Load/unload device drivers).  I never got to the bottom of this.  I haven't had this problem on other VPS's.  Let me know if you've seen the same thing or if you know the solution.

Finally, I'm beginning to realize that it's more trouble than its worth to host multiple clients/websites on a single machine.  Because I host multiple clients together, it makes these types of moves very difficult, a caffeine fueled marathon even.  Between the DNS changes, the Bacula backup configuration, complexity of some of the websites, and the windows of time available to do the move, it would have been much easier if I could have moved one website at a time.  Yes, I make a little money by co-hosting the websites but it's not worth the pain when there is an outage; everybody's website is down and I'm giving out refunds.  Besides, if Good to Great (Collins, ISBN 0066620996) has taught me anything, I need to focus on my core business (producing software) rather than pursuing many ends at the same time (hosting).

Lessons learned:

  1. When choosing a hosting vendor, ALWAYS make sure they have some sort of phone support.  If not, you'll regret it when you have connectivity problems and there's no one to talk to.
  2. If you're in the hosting business but hosting isn't your core competency, get out of the hosting business :)  If you must host, host your clients separately.

Lesson re-learned: when troubleshooting, read what the computer is telling you! 

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Check out this link for a plain English explanation of how the world-wide credit crisis came about.  Published by Chicago Public Radio in cooperation with NPR, you can listen to the radio broadcast or read the transcript.  It takes about an hour to listen to but I thought it was very informational.

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

So, as I mentioned in my last post, I've been  working on authoring a Windows Installer package for ePortfolio using WiX.  It has been an interesting experience.  Here's a short list of advantages/disadvantages:

Advantages:

  1. XML schema describes itself well and is well suited to this sort of authoring.
  2. Much more control over the features/functionality available in the installation package.
  3. Fairly active user community.

 

Disadvantages:

  1. Most of the documentation was written for WiX v2.x.  The current WiX version is 3.0.4318.0.  While the core seems to have remained stable, many of the supporting features are not well known/documented.
  2. Steep learning curve for those who aren't familiar with Windows Installer technology (MSI). 
  3. IIS virtual directory installation is severely lacking, particularly for XP machines.

 

I should expand on the third disadvantage.  In WiX, there are three things that identify a website in which you want to create a virtual directory: an IP address, port, & host header name.  If you want to create a virtual directory under an existing website, you need to specify each of those three pieces of information.  Pretty simple, right?  Well it is fine for production websites running on the Windows Server operating system since multiple websites can be running at the same time, and, since they're production websites, they can easily be configured to use host header names.

The problem is on my development machine, which is Windows XP Pro SP2.  First, on XP, you can't have more than one website running, so it's pointless for each website to have it's own host header name.  For example, when I'm working on client X's website, I start the website in the IIS snap-in and browse to http://localhost.  When I need to work on client Y's website, I stop Client X's website and start Client Y's website with the snap-in and again browse to http://localhost.  I imagine this is how most developers work; am I wrong?  Leave a comment below to let me know...

Given this XP scenario, the three WiX parameters aren't enough to identify a particular website since none of the websites use a distinguishing host header name.  WiX simply installs the virtual directory into the default website; it doesn't know what else to do! Yell  I understand that I could add a hosts file entry for each environment but that's something else I'd have to manage on my machine and my clients' machines.

To get around this shortcoming, I needed to break out my C++ IDE to write some custom actions.  In the end I need virtual directory creation to work on both XP & Server 2003.  The result was a solution which is similar to the installer packages created by Visual Studio.  It was a lot of work to achieve the default behavior, but I now have full control of the source code and understand what's going on behind the scenes.

Currently rated 5.0 by 1 people

  • Currently 5/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5