Thu 14 Apr 2011
Mon 2 May 2005
Thu 21 Apr 2005
Thu 17 Feb 2005
Back on January 13, Aubrey Turner noted the failure of the FBI’s terrorism information sharing software project, after spending $170 million. His discussion of how and why software projects is essentially what I would say, so you should read that first and foremost.
I would add that it is well worth reading Rapid Devlopment, by Steve McConnell, and perhaps similar books, if you are in any way involved with a software development project enough to make it worth understanding how they fail and how that can be avoided. That’s the one I am most familiar with and can’t recommend enough.
What reminded me was seeing Michelle Malkin mention the same project failure yesterday, referencing discussions of it by Craig Henry and Photon Courier, which are also interesting, but do not get into the large topic of software project management the way Aubrey Turner did.
I’d comment at length myself if I had more time, but I at least wanted to toss this out there for people to see, and Aubrey represents what I might say.
Fri 17 Dec 2004
This is an excellent, concerted exercise in using blogs to build buzz for a product. Based on what I have seen, it’s a good book, and one I’d certainly like to read. Would this work for a lousy book? Depends on the honesty of the reviews and whether people just have to “see for themselves,” as so often happens with films panned by the usual crop of critics.
Just that I know of so far, the book has been mentioned at:
Small Business Trends
Blogcritics in multiple places, here, here, here, and here.
Ship, Then Test. What he means is for a startup to get a product out the door and into customer hands as fast as possible. That way the company can start bringing in money and start getting customer feedback. No matter what he talks about, he always comes back to what I call the first rule of startups: cash is king.
This is the Microsoft way. Get version 1.0 on the market, blemishes and all. Flow some revenue, and keep improving the product. To a point, first to market, or building share as soon as possible, beats the initial version being flawed. Make it flawed enough and this could fail, naturally. Microsoft no longer needs to do this, but one of their strengths is to always act like a startup, alwasy act like the next Microsoft is chasing them and could catch up.
Some of us who were working in Visual Basic support for Microsoft saw demand from developers for a product that would easily port data between versions of Access, and other which ways. When we started the business, the objective was to create products to be marketed ourselves or to sell as a completed concept to another company that wanted to run with it. That would be our first product, called Data XChange.
We got it most of the way done. It was pretty slick, and worked with Access, plus anything for which you had an ODBC driver, and most ISAM databases. As far as we knew anyway, and with a few issues such as not working properly with indexes from one particular database type.
I didn’t do the programming, and barely understood how the magic worked that my colleagues were performing. My job was going to be more in the realm of production and marketing, as well as helping with testing and support. I was chomping at the bit, seeing it virtually done. I even had the crazy idea of approaching Microsoft about packaging it with or marketing it to buyers of MSDN and/or Access. Audacious.
We ended up never releasing it. Not my choice, as my advice then was exactly Guy Kawasaki’s advice now. That was back in 1997. It was a combination of influences. One was the “it’s not perfect and we cannot release it until it has no bugs” outlook. Another was the “we didn’t write it using the latest and greatest object oriented programming and give it an SDK engine that can be used directly in programs by developers, so hold everything, I am going to rewrite it.” The rest was interpersonal issues between us, and differences between the “create products” and “provide services” outlooks on what the business ought to do. Multiple lessons in that, like the need for a coherent strategy, and a buck stopper or firm method of deciding on and sticking to direction.
The compromise was to create a free “Lite” version for download on our web site, while waiting for the rewrite. That handled only Access, none of the rest, by having the other options disabled.
The rewrite never happened, the product never got released, and within a few years was largely obsolete. Following the advice of getting the product out the door would have completely changed the course of our business, if only by providing a modest trickle of revenue and an incentive to rewrite or revise the program with corrections and improvements. And most of the problems or things that could have been improved would never have been a factor for most buyers. I consider this one of our biggest, if not the single biggest, mistakes as a business.
It’s good advice. If you have never been there, it may sound strange, or be difficult to accept it as such. I’ll definitely have to read the book sometime, and not just the buzz.
Wed 8 Dec 2004
Recently I have been looking through the SAMS book Teach Yourself PHP, MySQL and Apache, by Julie C. Meloni, and from what I have seen it is most excellent. Then again, books published by SAMS tend to be.
I say “looking through” because, hey, who sits and reads a computer book cover to cover, in order, unless maybe it’s by Alan Cooper (speaking of Cooper, this homonym list is cool).
Well, strike that. I read Code Complete cover to cover. Rob, who is one of the so far mostly theoretical contributors to this site, recommended it to me way back when, and I certainly concur. It’s just not what you’d call light reading.
Anyway, I was interested in PHP programming and making it talk to MySQL so I could extend what I can do with blogs, maybe apply some of it to web site building in general, and possibly create online applications, if only for personal or internal business use. This blog uses PHP and a MySQL database.
As a relatively introductory text, there is no doubt much to know that it doesn’t cover, but there are tremendous resources online once you know where to start. The PHP prgramming parts flow in a logical order and are easy to follow. All the more so if you have knowledge of an existing programming language.
It also jumps right into practical applications; mailing list, online address book, discussion forum, storefront, shopping cart, and calendar. I find that kind of thing cool.
Tue 16 Nov 2004
As I mentioned in the blog intro, XTreme had a history of publishing Visual Basic tips as part of the main site. I recently decided to revamp entirely, as the stale odor coming from the site overwhelmed me. Went down to a bare bones main page and left nothing linked from it until I could update further (that is, got around to updating further). Outside of search engines that still show them, if not ranked as highly as they once were, they aren’t linked anywhere. If you’ve moved along to VB.NET, some may no longer apply, but they work for some or all of the older versions of VB from 3.0 (for some of the basics) through 6.0. They are all linked in this post, just to get them out there again. Some may yet be reproduced entirely in posts here. Any new tips, Visual Basic or otherwise, will go here in the blog. The beauty of blogging software is that it’s so much easier to have a tip idea, write it, post it, correct it if needed, and receive feedback. But this isn’t a post on why blogging is a great tool. Here they are:
Fun With Textboxes – a basic tip with code for doing this and that in a VB textbox, with a picture of the result and a link to the VB5 project. Simple as it is, this has been one of the most popular tips. This is going to take forever if I describe each one, so forgive me if I’m terse for some of it.
Using Control Arrays To Your Advantage – another super simple tip that has gotten some of the highest traffic of all the VB tips. It can be easy to lose sight of the need for beginner info to be available if you are not one yourself. The next four are also quite popular, each one a database tip oriented toward VB6.
More database-related tips:
Other tips and code samples:
Automation of MSN Messenger from VB Code – This is obsolete, but may provide ideas. Microsoft upgraded Messenger shortly after this was posted, changed the object model and broke compatibility with this code.
The next one was the result of a tip request from someone who’d seen the other tips on the site. We eventually figured out it was probably a homework assignment, and the guy hassled us for more and more help so that it would match more precisely the specs of his assignment. Idea for a tip, good. Harassment and being lazy, bad. Example of Determining Change Denominations in Visual
The next two were the result of the entire concept of finding factors and testing primes sort of “coming to me” in a grokkish rush. The tip for primes is the crudest, slowest method, and I challenge people to go from there and determine the better ways. Thus it shows what it shows, but may not be exactly what you want in a program that matters.
This next one was online for a couple years before I discovered the original code had a minor bug that kept it from working exactly as intended. Oops… How to to tile a picture on a form
There you have it, the original collection of XTreme Computing VB tips from days gone by.