Mike Schaeffer's Weblog
Mon, 24 Jul 2006
RentACoder
I recently had the opportunity (need?) to do some business through the RentACoder website. If you're not familar with RentACoder, it is an online clearinghouse for contract programming and data entry. It has an interface for potential buyers to submit bids and coders to respond with offers to do the work. If an offer is good enough, it is accepted and payment funds are kept in escrow by RAC. While a bid is in progress RAC provides arbitration services and limited schedule tracking. Communications between the parties can be done through the website, in which case they are considered binding by RAC's arbitration process.

The work I had done through RAC was pretty simple and easy to specify: extract a specific table from each of 1,200 PDF files and translate it to CSV format. The difficulty is that these were scanned PDF files and not generated with embedded text data, which made it a very manual process. Image quality was low enough that OCR software was highly unreliable.

After dividing the work into 11 phases, I submitted a bid request and got around 20 bids within a couple days. The bids all ranged between 50-100% of my maximum amount and, with one exception, were entirely from coders in Pakistan, India, or Romania. The exception, a guy in Colorado, backed out as soon as he saw that the PDF files were scanned rather than textual. If you are an American paying for an American lifestyle, and are considering offering your services through RAC, you ought to consider with whom you're competing. You need to be very specialized or willing to work for low wage rates to be competitive. From the point of view of a buyer on RAC, the coder could be located on Mars and it wouldn't really matter all that much: this is true globalization at work.

Anyway, the rest of my RAC story is that there is no story. Over the course of about a month, I entered and completed RAC contracts for all 11 phases of work plus a re-entry phase for verification. Basically all of the contracts were on time, on budget, and of high quality. RAC did it's job and there were no problems. Admittedly, my bids were for limited, easily specified work, but I'd do it again in a heartbeat.

reddit this! Digg Me!

[/tech/general] permanent link

Everybody has a theory...
In a recent article on newsforge Toby Richards discusses his pet theory describing why Linux isn't mainstream. You should read the article yourself (it's short), but the basic gist is that 'people' at home want to use operating systems that are compatible with what they use at work, and Linux isn't used at work because there isn't a good equivalent to Microsoft Outlook. The problem is: this reasoning has been tried before.

For over a decade, there's always been some mystical missing piece of technology that was holding Linux back from mainstream acceptance. For a while personal finance software filled this role, later on it was a unified desktop, and later still, when KDE and Gnome reached stability, the need for good office software took up the baton. Fast forward to 2006 and the "one missing thing Linux needs to become mainstream" is apparantly a good equivalent to Microsoft Outlook.

This line of reasoning is seductive to programmers: it basically transforms the question of "What does Linux need to become mainstream?" into the question "What code do I need to write?". After all, if the only thing holding Linux back from mainstream acceptance is a piece of code, then a missing piece of code is easy for a programmer to fix. In fact, since 1997 (the last time I ran Linux full time), basically all of the 'missing pieces' I mentioned above have been rewritten or created anew. If an integrated graphical desktop with a functional office suite was really the key to mainstream acceptance, then Linux should already be there. 10 years ago that was the belief and 10 years later that belief was basically proven completely wrong. When was the last time you saw Linux running on anything other than a server or in some other relatively fixed-function application? Waving a magic wand and integrating Evolution with Exchange won't change this any more than any of the other scapegoats that have taken the blame for Linux's niche status in the past.

It'd be easy to blame this on changing times: after all, who knew that Exchange integration would be so key to Linux's mainstream acceptance a few years ago? Actually, that'd be anybody in IT with a pulse. As Todd points out, Outlook 97 ("It's nearly a decade old, for crying out loud.") runs under Wine and provides Exchange integration. Put another way, the Linux desktop software stack hasn't interoperated natively with the mainstream PC software vendor's e-mail solution for over nine years. This isn't a short-term problem: this is innate. Another example of this kind of long-running problem is the ongoing trouble finding modern video drivers for X11. As much as people complain about ATI's lousy video drivers, it's only a repeat of the same thing that happened with Neomagic and Diamond back in the mid-90's. The names are different, but the problem and result are exactly the same: when buying hardware, caveat emptor if you want modern graphics support.

In both of these cases, it's easy to assign blame to closed propriatary vendors. You could also argue that it's just a symptom of OSS developers wanting to work on whatever's 'coolest', rather than what needs to get done. However, with either explanation the problem is inherent with open source, and the net effect is the same: Linux gets most of the way to where it needs to be, but it gets there late and and fails to go the last mile or two. It's this last mile that's so important to mainstream acceptance, and getting through it is going to take a lot more than one or two pieces of code. I have no doubt that five years from now, Linux will have decent Exchange integration and excellent support for the ATI R300 graphics in my (then) six year old laptop. Too bad the battle for the desktop will have moved on.

reddit this! Digg Me!

[/tech/general] permanent link

Fri, 07 Jul 2006
Kerry Nietz and FoxTales
Kerry Nietz, author of FoxTales, dropped me a note regarding a comment I made about his book back in January. I thought it was worth repeating part of my response here:

"Like I said in January, the book brought back memories of the first few years of my career. Obviously the details are different, but if my kids ever ask about the beginning of my career I'll point them to your book first. You did an excellent job capturing the spirit of commercial software development."

I re-skimmed the book last night (setting aside a brand-new copy of C.J. Date's Database in Depth, ironically enough), and it still seems relevant, six months after the initial read. That's always a good sign.

reddit this! Digg Me!

[/tech/general] permanent link