This blog has been moved to Redwerb.com.

Friday, September 29, 2006

Business-of-Software Book Review

This is a review of some of the books I've read over the last year concerning the business of software. I'll post more reviews as I finish some of the other books in my collection.

  • MUST READ - Micro-ISV: From Vision to Reality (Bob Walsh) - This book has a lot of information to help decide what features a product should have, who the market for the product should be, and how to market to that group. It also includes what legal issues you need to consider when launching a product. The book uses a lot of examples of real software companies to illustrate the concepts in the book.
  • MUST READ - Eric Sink on the Business of Software (Expert's Voice) (Eric Sink) - This is a collection of articles written by Eric Sink for various publications. He is the founder of SourceGear, a software company that produces a version control system (he also has a great blog!). The articles seem to cover most of the aspects of running a small software company, such as marketing, funding (or how to avoid it :), hiring, etc. The articles are well written and sprinkled with enough humor to make them enjoyable. Eric is the author that coined the term "Micro-ISV".
  • Recommended - Bringing Your Product to Market...In Less Than a Year: Fast-Track Approaches to Cashing in on Your Great Idea (Don Debelak) - Ok, this is not, technically, a book on the business-of-software, but it's still a great book to read to understand many of the issues that a startup might face. It's main claim to fame is the concept of turbo-outsourcing which is pretty much a non-issue with software (unless there are specific hardware requirements). Since software has such significantly different production requirements and distribution channels than typical marketable products, I wouldn't put this on my "must read" list, but I still believe it's worth reading.

Thursday, September 28, 2006

Friday, September 22, 2006

A Scathing Review From Joel on Software

It doesn't sound like Joel is very excited about his new cell phone.

Amazing X-Ray Glasses from Sprint!

This review cracks me up. It's one of the harshest reviews I've read in a long time.

Sunday, September 17, 2006

Palm OS Programming is Hard

I've been wanting a project calculator for my Palm for quite awhile now, however, I haven't found any online, so I decided to try writing one myself. I've written Palm OS applications before (many years before) and figured I would be able to create something fairly quickly.

I was wrong. It's taken me all day just to get a Hello World application to run in the debugger (using the Palm OS Garnet Simulator), and I can't seem to launch the debugger from the Palm OS Developer Suite IDE <grrr>. There seems to be plenty of documentation for advanced concepts, but no basic tutorials.

Oh well, hopefully I will get the hang of it and have my project calculator soon. Of course, I could really use one now to figure out how much it will cost to remodel my bathroom. I guess I will just have to do it the hard way :(.

Saturday, September 16, 2006

A Lament of Tableless HTML Layout

I haven't worked seriously with web application development for a number of years and recently decided to try my hand at it again.

On the whole, I like ASP.Net 2 and master pages. ASP.Net 2 is much more like the original ASP which allowed for rapid development of web applications. I'm not saying that ASP.Net wasn't an improvement over ASP, but they did move away from some of the core benefits of ASP (such as being able to view changes to code without recompiling).

However, in my recent exploration of web development I decided to try out tableless layout, basically using divs and CSS to create a layout instead of using tables (Why avoiding tables (for layout) is important). After playing with it for a few hours, It seems that CSS (and CSS compliance) still has a way to go before this becomes as robust as tables are. It's difficult, and sometimes impossible, to get divs to work the way I want (often things that were trivial using tables).

[Table Senryƫ...]

Tables are so lovely

so easy to design

now they are no more

Now you know why I'm a programmer instead of a poet :).

Tuesday, September 12, 2006

Favorite Blogs

I mentioned that the reason I was inspired to create a blog was because of a few other blogs that I've enjoyed reading. Some of my favorites include...

  • Joel On Software - One of the best blog authors for software development on the web. Good information on software trends and the business of software.
  • Eric.Weblog() - Another great blog author and funny (in a self-deprecating way). He wrote the book Eric Sink on the Business of Software (essentially a collection of essays from his blog).
  • Scobleizer - Lots of posts, but the information is often interesting and timely (it's nice to know what's going on outside my little beige, padded box).
  • Mini-Microsoft - An anonymous Microsoft insider rant. Lengthy and bitchy posts, but interesting in a car wreck sort of way :).
  • Channel 9 - A great inside look at Microsoft's emerging technologies. It contains tons of video interviews with Microsoft employees showing off upcoming products.

Trying out Windows Live Writer

I was unhappy with the blog editor in Blogger so I've been searching for a desktop blog editor that I can use instead. After spending way too long searching for one, I decided to try out Windows Live Writer (by Microsoft). The software is still in beta, but it looks promising.

One of the things I wanted to try out is uploading photos with my post. Here's a picture of my family at a recent Luau we had in our backyard (the picture is actually taken in front of a wall hanging in our basement). Unfortunately this feature did not work for me. When I tried to publish the post, Live Writer said Blogger did not support image upload. I ended up using Picasa to upload the file which meant I had to create a post and then delete it :(.

Being new to blogging, I'm not sure what features to really look for, but Live Writer seems to have all the features I can think of, including several different views such as normal, web layout, web preview (includes template), and HTML code (it seems to create reasonable HTML) and a spell checker (very handy to avoid embarrassing myself to badly). It's also built to be extensible, and with Microsoft backing it, it's likely to have a lot of good extensions soon. The fact that it's free is compelling as well (hopefully it will stay that way).

If you are interested in a good review of this software, check out Writer is Microsoft's first Live killer app on ZD Net.

Thursday, September 07, 2006

Privacy on the Web

The battle is raging with no end in sight. What is going to kill the Internet, privacy violations or anonymity?

It seems like every website out there requires registration. Unfortunately, not every website respects their users privacy (not every website adheres to their privacy policy either). When these websites release their users information (either intentionally or not), their users email becomes stuffed with spam. I know that I have lost many valid emails due to the spam blockers that I have set up (I only allow people that are already in my contact book to email me).

On the flip side, anonymous users clog public sources of information (such as blogs) with spam and rude, obnoxious, and often times obscene posts making it difficult to find good posts in popular sites.

Recently I have become aware of a subversive element in the web in favor of anonymous browsing. A couple of my favorites are BugMeNot.com and spambob.com. It appears that both of these sites have been active for years, I guess I'm not as Internet savvy as I thought I was :(.

spambob is a free, anonymous, on-the-fly email service. You don't need to register to use it. When you are on a website that asks for an email address, simply type any email address you want from @spambob.com and, voila, instant email address. If you want to check your email, simply go to www.spambob.com and search for the address you used. Since there's no registration, anybody on the Internet can read the email, however, since there's no registration, the email can't be traced back to you and your inbox doesn't get stuffed with spam. Clever!

BugMeNot allows people to share registration information so that you don't have to register at all! Considering the number of news sites that force registration to read articles (usually the second page of an article ) it's nice to know that you don't have to provide all of them with your personal information. If you use Firefox as your browser, there is actually a plugin that will automatically fill in the login information for you (through the context menu) so that you don't even have to go to the BugMeNot website!

The big question is "is this ethical?" This is certainly a major topic of discussion. First let's define the argument as using anonymous information to get into free services that don't appear to have any reason to require registration in the first place. I don't condone stealing paid-for services or intellectual property.

That being said, I still can't think of any arguments for this being ethical. From a purely ethical standpoint, if you don't agree with the site's policy, boycott the site. Allow capitalism to rein. If the site believe's the policy is threatening their success, they will either change it or fail. Unfortunately business isn't always run in a rational way (at least from the consumer's perspective) and there's always enough people that are willing to provide personal information that the success of a large site is not threatened by a few people who refuse to use their site.

On the scale of 0 to 10 on the ethics meter with 0 meaning I'm going to Hell and 10 I'm going to Heaven, I would have to rate this a 4. Certainly not helping, but also not killing my chance of getting into Heaven (I just have to hold the door open for a couple of elderly ladies to make up for it :). I'll still use the boycott method most of the time, but it's nice to know there are alternatives.

Just call me Chris

Here's my new fake identity...

Christopher M. Gibson
4106 Stonecoal Road
Grelton, OH 43523

Email Address: http://spambob.com/search.cgi?addr=Christopher.M.Gibson

Phone: 419-550-0656
Mother's maiden name: Clark
Birthday: April 27, 1973

Visa: 4556 8616 1018 8182
Expires: 5/2007

Fake Name Generator

Wednesday, September 06, 2006

My Favorite Tools

Here is a list of some of my favorite tools that I use on a regular basis (ok, some of them I just started using today :).

In order to keep this post a reasonable length, I wasn't able to include all of the features for each product that I wanted to. So if something seems moderately interesting, check out the link to find out about all of the features that it provides.
  • Google Desktop Search (Free) - Considering Outlooks terrible search engine, Google Desktop Search has proven very useful for finding emails concerning specific issues. I just type in the issue id into the search box (pops up by pressing Ctrl twice) and voila, every piece of correspondence associated with that issue.
  • Quick Launch for Google Sidebar (Free) - I've tried several diffent ways of organizing my most commonly accessed tools, projects, documents, etc and this is definitely the easiest. I just create a directory structure with a bunch of shortcuts in it and QuickLaunch shows them in a small window within the Google Sidebar and allows me to quickly navigate to the item I'm interested in and launch it with a single click without having to clutter my desktop with more windows.
  • Thunderbird (Free) - Easy to use tool for viewing news groups and rss feeds. It is closely associated with Firefox.
  • Firebird (Free) - A very nice relational database that is completely FREE! One of the best features is that there is a version that can simply be copied to the bin directory of your exe without any fancy installation. Great for embedded databases. It can also be placed on a server and can support very large databases with many connections (according to the website anyway:).
  • IB Expert (Free) - If you are going to use Firebird, you'll want to use IB Expert to manage your databases. It's actually quite a nice database management tool with plenty of handy features.
  • Zip Genius (Free) - I've had the need for a command-line zip utility and ZipGenius works great for that. It also has a good Windows interface, though I've never had the need for anything more complicated than the built-in compression utility in Windows XP.
  • NUnit (Free) - Every developer needs a good unit test utility and NUnit is the one for .Net developers.
  • The Regulator (Free) - A very useful regular expression evaluator. I can't imagine trying to create a complicated regular expression without this tool.
  • Reflector (Free) - If you don't have access to the source code, the Reflector is the next best thing. It can decompile most .Net binaries into the programming language of your choice. Very handy for learning about poorly documented features and figuring out how to get around bugs that won't be fixed until the next release of .Net (if you're lucky).
  • Process Explorer (Free) - A super-charged version of Windows Task Manager. My favorite feature is the ability to add descriptions to all of the processes so that you can determine what processes should and should not be running. It also gives you the ability to kill handles to files without killing the process (very handy if you want to delete a file that is locked by a required Windows process).
  • Color Cop (Free) - Handy little color picker that lets you determine the color for any pixel on your screen (much simpler than taking a screenshot and pasting it into a image editor that has a color picker). One of the neatest features is that the tool doesn't have to be installed, it can simply be copied into the directory that you want (for me it's my QuickLaunch directory).
  • Paint.Net (Free) - A MS Paint replacement. A simple image editor that can create moderately complex images (it's not Adobe Photoshop, but at the price, I ain't complainin'). It supports layers, different effects, and several other features that are needed for creating a reasonable image. I mainly use it for cropping screenshots before I send them in an email (it works great for that!).
  • Refactor! ($99) - An outstanding refactoring tool for Visual Studio 2005 users. Once you use it, you'll never understand how you could have developed without it. There is also a free version available for VB.Net users.
  • Beyond Compare ($30) - A diff tool that is easy to use outside of a source control tool. I especially like the ability to compare files and directories directly from the Windows Explorer context menu. If you are using VSS 2005 (or one of several other supported source control tools), you can setup Beyond Compare as the default diff tool.
  • PS Hot Folders ($19.95) - This is an awesome utility that allows me to quickly navigate to my "favorite" directories (beyond Desktop, My Documents, and My Computer) in any standard Windows Open and Save dialog. No more hunting for my development or download directories.
If you notice any great tools that I've missed, please post a comment so that I can check it out.

First Post

As a first post I figured I should tell a little about myself and why I'm blogging.

To keep it short, here is a brief history of my professional career...
  • 1999 - Graduated from the Computing and Software Systems program at the University of Washington
  • 1998 - Started work at U.S. Web, now defunct (yes, it's a word). Started there as an intern and was hired full time once I graduated. Worked on MS ASP web applications.
  • 2000 - Went to work for a dot bomb called Jacknabbit developing a Internet scheduling application for service providers (like doctors and hair stylists). For some reason, if you don't sell anything you become unable to pay employees and they tend to leave, funny (ok, not really funny).
  • 2001 - Got hired at a company called Freerein, also defunct (noticing a trend here?). The intention was to build mobile applications, unfortunately, they forgot to actually build anything and became unable to pay it's employees.
  • 2002 - Lean times in the industry forced me into a contract position at Microsoft. However, I did take the opportunity to learn C# and ASP.Net and my trend was broken, the company is still in business.
  • 2002 - While at Microsoft, a friend of mine told me about a position at a company called Intuitive located in Kirkland. During the last 4 years at Intuitive (I can finally say I have a stable job :), I have helped design and build the UI framework that are product is built on. The product is an ERP system for manufacturing companies that is being converted from Access to .Net. We were recently purchased by Made 2 Manage.
  • 2005 - Received a certificate in Object-Oriented Analysis and Design Using UML from the University of Washington.
I am also married with 2 kids and 2 cats. I've lived in Washington state my whole life. I graduated from Cascade High School in 1990 and took a few unproductive years off before starting college. While in college I delivered pizzas for Round Table Pizza in Mill Creek for 5 years (still the best pizza around).

I have been subscribing to some great blogs for several months now and have benefited considerably from it. By blogging, I am hoping that I am able to share some useful information myself and make a positive contribution to the Internet.

As a software engineer, I plan on writing about topics that I believe will appeal to other software engineers such as programming insights, tools, business of software, books, links of interest, etc. If you find my posts useful, please leave comments to keep me motivated to keep blogging.