Mild Mannered Programmer Raises Hell on the Net

In real life I'm a friendly, polite and mild mannered fellow - ask anyone who knows me personally - but I like to raise hell on the net by writing strongly opinioned web pages and mailing list posts.

While some may feel these are just flames, I work hard to write these pieces eloquently, and to support my positions effectively and make convincing arguments. Not everyone who reads what I have to say is happy about it - my writing has gotten me unsubscribed from mailing lists and I even recieved one mail from a technical recruiter asking why I was trying to take the food from his child's mouth.

I'd like to suggest that, if you feel the need to flame someone, that you strive do it it right. Your flames should be your art. Put time and effort into it. Think carefully about what you have to say, read back over what you've written before you post it, and edit your work for grammar, spelling and content. It is very helpful to use the search engines to research relevant URLs to include in your work, especially if you are posting to a discussion forum like Slashdot that allows HTML postings. (Hint - good hyperlinks in Slashdot comments will boost your karma.)

Finally, archive your flames on your web page.

I'm starting to collect my opinion pieces here in one place for ready reference. There's a lot to add, so please bookmark this page and return from time to time.

Michael D. Crawford
GoingWare Inc. - Expert Software Development and Consulting
http://www.goingware.com
crawford@goingware.com

Tilting at Windmills for a Better Tomorrow

The GoingWare Manifestoes

Make a Bonfire of Your Reputations
On the importance of speaking your mind; from The Cluetrain Manifesto, which I find inspiring.

I'm worried about my future. That's why I'm a Be developer
On corporate insanity at Apple Computer and an early attempt to do some good by contributing to an OS from a vendor that I thought would treat it's developers better.

Some of us work for a living
Why I stopped being a BeOS developer. (Note - Spellswell will continue to be a supported product.)

Posting this message got me unsubscribed from the bedevtalk@be.com mailing list by the list moderator, who felt that it was inappropriate to discuss business issues of concern to working programmers on the company's third-party developer mailing list.

The Cross-Platform Manifesto
I promised the BeDevTalk list moderator I wasn't going to take his action lying down. I feel that Apple's and Be's treatment of third-party developers are examples of a much larger pattern of corruption in the computer industry and I plan to do something about it.

I propose to take the power of OS vendors to abuse independent developers away from them by promoting the use of cross-platform application frameworks which allow one to build native executable applications that will run on any operating system from a common code base.

One such cross-platform framework is ZooLib, written by my friend Andy Green originally to protect himself from the capriciousness of Apple Computer and soon to be released as open source software.

If a developer should find that an OS vendor is not serving his needs or the needs of his users, but he has written his program to the native Application Programming Interface of the operating system, he's in a bind - he has the choice either spending months or years porting his program to a new operating system, and expending vast sums of money and struggling to maintain multiple codebases during development, or sufferring under the abuse of the OS vendor. But if he has built his application with a quality cross-platform framework, he can retarget his application to a new OS in a few days or weeks.

If a forward-thinking developer should choose to ship his application on multiple platforms simultaneously, then the user is free to choose the platform which suits their needs best, based on personal preference rather than the limited availability of applications which meet their needs. OS vendors will then be required to differentiate themselves on substantial factors like quality, reliability, performance and ease of use and programming.

Market Yourself - Tips for High-Tech Consultants
While this is primarily about how to succeed in the consulting business by marketing yourself on the web, I urge others not to do business with contract employment agencies because of their pushiness and ignorance. Several specific examples are given of abusive behaviour by recruiters.

Important Note to Recruiters and Contract Agencies
A statement directly addressing technical employment agencies, giving the reasons why I don't work with them - and why you shouldn't either, whether you're a technical professional or someone looking to hire technical talent.. A link to this page is given on my resume and my company home page

Stop Motorola From Abusing Customer Privacy
Motorola requires its dealers to give it extremely detailed information on their two-way radio customers, and threatens to cut the dealers off from product shipments, even when the customers tell tell the dealer they will sue it if their confidential information is disclosed. Learn what Motorola is doing to learn the most intimate details of who's using its products, and what you can do to put a stop to it.

On Software Quality

I strive to write high-quality software products. I may not always succeed, and I'm the first to admit that I make mistakes, and I've shipped products with glaring bugs and I've written code that others have found difficult to work with. But throughout my career I've always tried hard to do better, to educate myself and challenge myself. I feel I do good work nowadays and I to share some of what I've learned in GoingWare's Bag of Programming Tricks

Not everyone feels that this is the right way to run a software company. Maybe, for some really warped reason, that is why some others are wealthy while I am not:

There are no significant bugs in our released software that any significant number of users want fixed... The reason we come up with new versions is not to fix bugs. It's absolutely not. It's the stupidest reason to buy a new version I ever heard... And so, in no sense, is stability a reason to move to a new version. It's never a reason.

-- Bill Gates, as quoted by The Software Conspiracy