Web Site Changes
March 12, 2007   link

After only a week of getting up at 4:00 I got a lot done, but this morning after the daylight savings time change it proved too difficult and I slept in. I told you 3:00 was too early! I'm ready for tomorrow though.

I've spent the last week making some changes to my web site and its infrastructure to make it easier to navigate. Most of these changes are subtle but there are a few big ones too. All this is in preparation for the e-commerce I expect to run in the next month or so for both my site and my wife's.

The first thing I did was enable compression on my web server with the free FlatCompression ISAPI filter. I was using IIS 5 built in compression, but it apparently wasn't working and I've recently read about a few bugs with it anyway. Eventually I'll upgrade to IIS 6, but for now I am very happy with the way this is working out. You should notice much faster page loads.

The second thing I did was to completely revamp my rss feed. It turns out that I was not standards compliant on a bunch of issues, and perhaps more importantly I had not set the <ttl> element of the <channel> so some feed readers were pinging way too often. I just don't have the time to update more than daily so I set my ttl to 1440 minutes (24 hours). I also excluded the hours I'm typically asleep and Sundays because I'm not working then either. I hope that will reduce traffic to the rss.xml file to something manageable as this site grows. You can see all these changes by viewing the source of the feed xml file.

The next change I made was to eliminate the CodeSolutions menu choice and place all the solutions in the Articles section under the "Solutions" category. You can click the "+" to the left of the Articles header to open a categorical list. I made this backward compatible by keeping the old pages there, but redirecting them server-side with Server.Transfer(). Very fast and efficient.

Then I created a reverse chronological archive page and have on the back-burner an online reader page so that a reader can step through the blogs from start to finish if a reader were so inclined to do so. This is all a little overkill since at the time of this writing there are only 21 entries, but I expect it's value will be made evident in the future.

I have also created "Permalink" entries by each blog date so that you'll have a reference to return to this entry easily. Again - this is something I expect will show true value later. Along with that the default number of entries displayed has been set to 12 so page load times will be snappy, and there is a "Previous" link at the bottom if you want to see more.

All these changes are pretty easy in .NET. I know a lot of people are using specialized tools like WordPress, but I really don't see the advantage when you have access to a full development environment like I do. Maybe there isn't one?


Transitioning to Micro-ISV, Part 1
March 05, 2007   link

In posting articles it has always been my goal to be helpful to others, and so in the spirit of helpfulness I will be publishing a series of posts on how to start your own company and more importantly on my real-time experiences transitioning from a consulting company to an Independent Software Vendor. I'll also post thoughts that originate from my day job too.

I love to program, BUT... I'm getting tired of programming for someone else. So now that my side projects are complete I'm going to take my morning block and use it to increase my Micro-ISV business.

Funny that I should call it that actually, since I only have one product so far, and it's free. That certainly isn't going to support the family. Maybe it's more like a micro micro-ISV. The idea here is to create software that actually helps people and become profitable in the process, but my issue has always been with time.

I should preface this with a little background information… I already make a good income through my consultation, so money really isn't the problem, and yet it is the problem as well as time. As I mentioned in a previous article, every dollar I make requires me to put in time working for it since I'm an hourly consultant. In addition to my regular gig I normally have a number of side projects that keep me busy but it's starting to grate on me. It's a good thing I don't need a lot of sleep.

A good income doesn't mean that I'm rolling in dough or anything. I have a wonderful family with a beautiful wife and three boys who are all supportive of my software habit, but we've accumulated some expenses, mostly relating to the kids, that keep the well fairly dry most of the time. I guess it proves that no matter how much you make you can find a way to spend it. What I'd like to do is match my consulting income with software revenue so that I can get out of the consultant business and spend more time with my family.

So from here on out I get up at 4:00 AM every day! I was getting up at 5:00, but with my day job starting at 8:00 I don't really have enough time when you remove time spent showering, eating breakfast and playing with my family. I end up with about 1.5 hours of usable time. That's not bad over the course of a week (I get up early on Saturdays too) which gives me about 9 hours a week, but if I get up at 4:00 I can add an additional 66% for 15 hours. That one extra hour makes a huge difference. Don't even try to recommend getting up at 3:00 - that's going too far!

I'm going to accomplish this by simply going to bed when I'm tired, which is usually around 11:00 PM. I expect this to shift to 10:00 within days of getting up at 4:00. I base this on Steve Pavlina's excellent article on getting up early that has worked for me so far. The other reason for the shift is that I can't work at night because it keeps my wife awake, but she won't wake up once she's asleep.

I guess I should explain my work environment. I live in a ~2000 sq. ft. home in Northern California in the suburbs. I love the neighborhood and would like to stay where I am, but we are definitely cramped on room. Life is about compromises though. We have a formal dining room that is NEVER used and a 4th bedroom that has been converted to a playroom for the kids downstairs off the kitchen. Two bedrooms upstairs are for the kids and there is the master bedroom for us. So unless we convert the dining room (not going to happen) or I move into the play room (which incidentally my wife has already done to run her other business), the only place left for me is the wall of the master bedroom.

I don't have the latest and greatest computer. I don't even have an LCD monitor. But I have the latest development environment and the will to produce. Feel free to support my advertisers so I can spend more time on writing and coding. :)

So over the next couple of weeks/months here's a partial list of the articles I hope to write, interspersed with other entries:

  • Starting a company.
  • Incorporating.
  • Choosing a company name and logo.
  • Choosing a product.
  • Preparing for e-commerce.
  • Writing your own shopping cart.
  • Writing a technical specification.
  • Releasing a product.
  • Advertising your product.

As always every article will have examples and code snippets that you can copy or download. I have a few articles on the back-burner that relate to contracting that I will finish and get online also.

Wow. It's kind of nice getting up at 4:00!


February 23, 2007   link

I was going through my old programs trying to see if I could jazz something up to sell and I came across a Visual SourceSafe crack tool I wrote way back in 2000. Now I know that SourceSafe isn't the most secure application, but it's really not even close to being secure, and with the advent of Microsoft's Team System I felt I could release this tool without worrying about the security ramifications.

Of course I'm not the first to offer password solutions for SourceSafe - a search on the web will reveal many, but I appear to be the only one who is offering an actual tool, free. Why free? Frankly SourceSafe is too easy to crack to charge for it and there's already so much information publicly available. The tool is pretty fun actually because you'll easily see just how lame the security really is.

This article lists 4 separate ways to hack into SourceSafe and provides a link to a free tool as well.


January 29, 2007   link

I've always been a big fan of Andy Marlatt's work on SatireWire and thought I'd try my hand at a satirical news posting. I had fun writing it so whether you have fun reading it or not I will probably do a couple of these a year.

This "news release" pokes fun at Microsoft's release schedule and product line up, touting a release of a new version of Windows Vista with the "Vasta" tagline.


January 05, 2007   link

A few weeks ago I wrote an article on streamlining your company from the top down and I really wanted to follow it up quickly with some tips on how to do this from the bottom up as well. Unfortunately I came down with two separate illnesses over the holiday season that kept me from writing for almost two weeks.

Although I may have wanted to complete this article as the last one for 2006, perhaps it's an even better note to begin 2007. So here are a couple of tips on how to streamline your company from the bottom up.


December 15, 2006   link

One of the benefits to being a consultant is that I've worked for a large number of companies over the past 10 years, and I've seen a variety of corporate structures and cultures – some good and some not so good. There are a few key points that those with the most explosive growth have in common and I've tried to capture those points here. Not coincidentally working for these companies has also been the most rewarding.

Here are a couple of tips on how to streamline your company from the top down.


November 28, 2006   link

"These two events got me thinking of the symbiotic relationship that I have cultivated with my manager and how we have helped each other along the way."

Here are a couple of tips on how to advance your career by making your manager look good.


November 02, 2006   link

It's been over two years since I've added an article to my site - so why now? Well, when Joel Spolsky posted an article about what he'd like to see in a resume I responded innocuously to his reddit that a contractor resume was totally different. And my server got hammered.

My traffic thus far had been very light since I didn't publicize the content, but suddenly I'm cross-posted and showing up near the top in Google searches and being crawled with a greater frequency than before. My other articles started showing up in searches. And then my code solutions. And then someone signed up for my mailing list.

That mailing list link has been on my site for years and no one had signed up since 2004. I sort of figured that since I hadn't written anything in so long I didn't have to worry about new sign-ups, but that single sign-up became two, then three, then many. It got to the point where I had to reexamine whether I should finish those articles I'd started so long ago and I thought - what the heck! You might all regret it now...

So I plan to post something new roughly once a month or more often as time is available. I'm typically swamped and really don't expect to post more often than that, but we'll see how things go. I'm really looking forward to this!

My first article back comes at a time when I am reviewing my career options and wondering if I'll be able to support my growing family and still retire on more than social security - as if there will be anything left for us. I realized that as a developer there were really three tiers of software revenue from which to choose, and it may be time for me to make a change.

Feel free to pass out the URL for my mailing list (http://www.c6software.com/EmailList.aspx) or alternatively you can grab my new RSS feed (http://www.c6software.com/rss.xml). I do read all my mail and feedback is appreciated.

Thanks,
John


May 21, 2004   link

I obviously favor being a contractor over a permanent position at a company. That's not to say that if the right offer came along I wouldn't entertain it, but generally speaking I really enjoy the contractor lifestyle. For any of you who may be interested in jumping in but are a little nervous about the temperature of the water I have written a few guidelines that might help to make the transition a little easier.


April 16, 2004   link

This is a difficult market to be looking for a job, but that comes with the territory of a technology marketplace. I feel sorry for all those big company employees who have lost their jobs, because many of them have lost the skills of finding new employment. It makes me glad however that I'm a contractor, because I believe we are better suited to weather a difficult job market.


March 31, 2004   link

Since I started programming in C# in 2002 it has quickly become the language I use for almost every project. It's really quite amazing to note the speed at which this technology has taken hold of the industry.

I only have one sample from the many projects I have done so far simply due to scheduling constraints, but more are coming in the future.

If you've used Response.Redirect(url) in your ASP.NET applications you've no doubt come across the sparsely explained ThreadAbortException. Here you'll find an explanation and two simple solutions.


March 19, 2004   link

I've rarely been to a job interview for which I was qualified and not been offered the position. This certainly doesn't mean that I was necessarily more qualified than the other applicants, but it does mean that the hiring manager thought I was a better fit for the position. There are a few things you can do in an interview to tip the scales in your favor.


Previous   Latest   All   Archive