Archive | OpenSource

Open Source means that users have the freedom to see how software works, adapt it for the own needs, fix bugs and limitations and contribute back to the community.

Why Not FoxPro?

On the ProFox mailing list on 2/24/06, Dave Bernard wrote: > > For every person on this planet planning or executing a complete rewrite of > a working line of business VFP system (not a developer tool) into > .NET/J2EE/anything, I want to ask a simple question: > > “What were the business reason(s) for doing so?” >

1. Scale. Client wanted to move to gigabytes of data, and their internal programming staff and consultants they brought in could not develop a satisfactory app. Client invested millions in DotNet and SQL Server, and went bankrupt. Remants of the company are back to megabytes and back to VFP.

2. Inability to find good consultants. Having gone through a dozen VFP developers who were dBASE refugees and should not have been developers, company went for the magic pixie dust of Java. After millions of dollars of development (sounding familiar?), company was bought for hundreds of millions of dollars and entire app was scrapped in favor of the purchasing company’s existing system.

(There are a lot of developers out there who write junk for code. I don’t think VFP attracts them, especially, perhaps it’s just had a longer time to accumulate them? I’ve seen some pretty awful stuff out there.)

3. Painted too deeply into the corner: I supported a client for nearly a decade who had a legacy system written by a well-known developer early in the VFP 3.0 days. There were no best practices then, so there were some fairly complex work-arounds. The system was very large and very complex, and the micro-managing, penny-pinching boss would never authorize an hour spent to rewrite something that worked, no matter how arcanely. After a decade of making serious money out of this application, he got caught up with a young guy who could show him spiffy little tricks in *Delphi* of all things (out of the frying pan, into the fire) and, not understanding the differences between superficial GUI tricks and the deep functionality of his application, put his existing development into maintenance mode to go on a wild goose chase with Delphi. He was too cheap and too wily to lose his business to this, but his best developers quit, his customer base moved on, and when he sells out in a few years, he’ll get a lot less than he could have.

4. Slightly off-topic from the VFP re-write question, but an answer to why not FoxPto: Corporate standards: I tried to pitch a WebConnect app to a Very Large Insurance Company. They had standardized on: Macs on the desktop, Novell for their network, Oracle for their database and Netscape Enterprise for their intra-, extra- and inter-nets. I fought this one all the way up to a one-on-one with the CIO, who tried to explain to me that Microsoft was “going the wrong way,” a view I’ve come to agree with, but for different reasons and with a differnt new direction. IT evolution slowed to a crawl in this company, and the CIO has taken an early retirement to “pursue other interests.”

5. Cost savings: Tired of paying experienced senior developers with decades of experience in the business niche and this particular application, PHB thought it would make sense to employ cheap VB developers to rewrite the app in the para-dig-m of the day, VB and SQL Server. Experienced developers moved on, weaker devs stayed on for free training. New apps took forever to deliver, cost gazillions, and lacked the functionality of the original. Customers wouldn’t upgrade for fewer features. Company foundered, bought up by BigCompany for 1/10th of peak worth, for customer base. Old code and new code discarded.

In summary: incompetence, incompetence, incompetence, incompetence, incompetence. Hmm. Guess there is a pattern .

So, Dave, you were looking for GOOD business reasons to switch? I have run into few of them:

Good apps need to be rewritten every once in a while, as cruft builds up, and the model of the business encapsulated in the code doesn’t always evolve as fast as the business does. Software tends towards rigidity and/or fragility. Refactoring and other advanced techniques are designed to extend the longevity of an application, but refactoring a gnarly old app can be more costly than rebuilding.

When rewriting, you have the glory of starting with a clean slate, and re-examining your assumptions. New business models (software rental, software as a service, application service provider) may be available since the original app was conceived (probably back when we used floppies). ACID compliance, disaster recovery, HIPAA and SOX compliance can make new architectures a requirement. New component models, loose coupling, multi-phase commits, heterogenous backends are all designs to consider.

Security is a huge concern with ever-increasing connectedness, portability and liabilities.

So, ultimately, the business decisions come down to:

1. What business(es) do you want to be in? 2. What architectures enable that? 3. What tools enable those architectures? 4. What resources do you have available to execute those designs?

When faced with a clean slate project, new languages and tools are always a siren song. “There are no silver bullets” is a 30-year-old quote.

However, given the specs of a couple of apps lately, I couldn’t find a justification for writing them in FoxPro. While we have a mature language (well-debugged, well-documented and lots of support), some great frameworks and lots of programming talent, there were concerns I could not address: Microsoft has handed out BILLIONs in legal settlements in the last couple of years. Microsoft has made it clear VFP9 is the end-of-the-road for the binaries, with some xBase decorations extending VFP9 into Sedna. 64-bit is out and support for NX bits mean some loss of functionality. Bottom line: a single vendor who is end-of-lifing the product. Competing languages with rich features included Perl, Python, PHP and Ruby had no proprietary vendor lockin, no preferred data source and the flexibility to deploy on many platforms. VFP Web deployment is a chain of SPOFs (Single Point of Failure): W2K3, IIS, COM. In comparison, if a mod_perl app has a problem on Apache/Linux, redeploy on OS X or on Zeus or via CGI. Options. Choice. That’s what it came down to. The VFP solution was climbing out onto a limb with a vendor renowned for orphaning its products.

Orphaning: In the late 80s, I sat in a room back at the Park Plaza Hotel in Boston while Microsoft announced the rollout of the NT platform. During the Q&A session, a fellow came up to the microphone and explained that he was a Microsoft “partner,” had subscribed to their products and had spent years with a staff of programmers developing an app not far from release, but targeted at OS/2. What, he asked, was Microsoft going to do for him? His voice was unsteady, and it was apparent that he was facing a disastrous failure. There was an awkward silence when he finished as the crowd fell silent. There was no noise but an occasional clink of crystal against silverware. A Microsoftie finally managed to speak up, trying to deflect the comment into a pitch for their new development tools. The spell ended, but the impression remains to this day.

I can’t lead another client down that path. THAT’s the business reason.

Apple ships new Mac Minis

OSNews points to two articles that juxtapose in a Point-CounterPoint fashion. What I read: in the first piece, the author is desperately trying to prove that Windows sucks less than before. Bugs are fixed. Bad driver models replaced. Security is tightened. This is incremental improvement, laudable, expected, but not compelling, and not worth the cost of the update, nor the incredibly long wait. Microsoft themselves have admitted that Vista sales will come through the purchase of new machines, not upgrades. This isn’t market choice, it’s monopolistic behavior.

The second article argues that Vista is a mess, and I agree. It’s not an operating system, it’s a software bundle that includes yet another incompatible operating system kernel, a new GUI engine and interface, and new half-apps (bundled applications with the good features removed).

It’s funny. In some ways, I see a parallel between Microsoft shipping this huge bunch of stuff (Media Players, backup software, networking, GUI, web browser, game subsystem, kernel) and cable TV providers shipping bundles of cable channels. Each insists it would be too hard or expensive to unbundle and provide the customer with a la carte choice. Each backs this up with some pretty questionable claims.

It’s about choice.

Why Windows Vista Won’t Suck. “There’s a lot of confusion about Windows Vista these days. Many online discussion forums have a great number of users who express no desire to upgrade to Vista. Sure, we’ve all seen the screenshots and maybe a video or two of Vista in action, but for many it only seems like new tricks for an old dog. Yeah, it’s got some fancy 3D effects in the interface, but OS X has been doing that for years now, and it’s still Windows underneath, right? The sentiment seems to be that Vista is another Windows ME. Perhaps part of the problem is that people just don’t know what Vista has in store for them.”

Also from OSNews, Why Windows Needs to Go Back to Basics. “Once upon a time, operating systems managed the resources of computers, and that was about it. But after the PC revolution, most software makers started subscribing to the theory that bigger means better. But does it?”

Dartmouth Lake Sunapee Linux User Group tomorrow: Jonathan Linowes on Xaraya

Date: Thursday, March 2nd 7:00-9:00PM

Place: Dartmouth College, Carson Hall, Room L01

Presenters: Jonathan S. Linowes

Topic: Xaraya

Xaraya is an extensible, Open Source web application framework written in PHP and licensed under the GNU General Public License. Xaraya delivers the requisite infrastructure and tools to create custom web applications that include fully dynamic multi-platform Content Mangement Solutions (CMS). Xaraya’s modular, database independent architecture introduces tools that separate form, function, content, and design with on-the-fly extensions allowing greater control and versatility.

Jonathan will present an overview of Xaraya, its architecture, core modules, and extension modules, including a brief demonstration how to get started developing web sites using the Xaraya platform. Examples will be used from current live web sites.

Jonathan is principal of Parkerhill Technology Group, a strategic management and web development firm, and has over 25 years of entrepreneurial and technical experience ranging from small start-ups to multinational corporations. He holds a Masters degree in Media Technology from MIT, and serves on several boards including the Software Assocation of NH (SwANH), Amoskaeg Business Incubator in Manchester NH, MIT Enterprise Forum of NH, and North Country Council CEDS (economic development strategy). Jonathan lives in northern Grafton County on a retired dairy farm with his wife and 4 young children.

The State of Dabo, 2006

Ed Leafe, well-known in the FoxPro community as a former MVP and proprietor of the ProFox mailing list and OpenTech web sites, is speaking this weekend at the U.S. Python Conference on “The State of Dabo, Where we’re at, February 2006.” For those who haven’t seen it yet, dabo is a framework for rich-client, multi-tier, database-agnostic software development, similar to what Visual FoxPro promised. dabo runs on Mac OS X, Linux and Windows. The white paper looks great! At PyCon last year, Ed’s presentations were ranked highly. Wishing him great success this year as well!

Alternative headline: Cost of Windows servers exceed cost of UNIX servers

OSNews reports Windows Bumps Unix as Top Server OS. “Windows narrowly bumped Unix in 2005 to claim the top spot in server sales for the first time, according to a new report from IDC. Computer makers sold $17.7 billion worth of Windows servers worldwide in 2005 compared with $17.5 billion in Unix servers, IDC analyst Matthew Eastwood said of the firm’s latest Server Tracker market share report.”

I guess it’s all in the interpretation, isn’t it?

Note, too, that Linux is broken out as a third-place entry. Combining Linux and UNIX, their $22.8 billion puts Windows to shame. OTOH, you could break it out into Windows 2000, Windows 2003, AIX, HP/UX, Solaris and so forth. It depends on what you’re trying to prove.

Oracle, MySQL, Interbase, Firebird, Ashton-Tate and XENIX, oh my!

I’ll try to put together a more comprehensive post later, but wanted to log a series of links I want to revisit. This is a WeB Log after all:

Firebird News: MySQL to adopt Firebird Architecture

MySQL to adopt Firebird architecture

Database Journal: “Oracle’s purchase of InnoDB, their release of Oracle Express, and the effect on MySQL” 9 Nov 2005, By Ian Gilfillan
http://www.databasejournal.com/features/mysql/article.php/3561731

“MySQL’s response to Oracle’s moves:” http://www.greenman.co.za/b2evolution/blogs/index.php?title=mysql_s_response_to_oracle_s_moves&more=1&c=1&tb=1&pb=1

“Pressure on MySQL increases as Oracle purchases Sleepycat, with more to come” 15 Fwbruary 2006, By Ian Gilfillan
http://www.databasejournal.com/features/mysql/article.php/3585266

Slashdot’s reaction: http://it.slashdot.org/it/06/02/20/1337227.shtml

Wikipedia’s notes on Jim Starkey, InterBase, and Firebird

Exciting times.

One True Way?

Linux-Watch.com evangelizes Open Source — the one, true way to develop software “Today, the mainstream software business is the open-source business. “

Andy Bair demos WebJob at GNHLUG-nashua tonight

Who : Andy Bair

What : WebJob

Where: Martha’s Exchange

Day : Thur 16 Feb (*TONIGHT*)

Time : 6:00 PM for grub, 7:30 PM for presentation

WebJob is a client-server system, where a tiny client requests and
downloads a program from a server, executes that program on the client,
then uploads the results to the server.

WebJob provides a mechanism for running known good programs on
damaged orpotentially compromised systems. It is ideal for remote
diagnostics, incident response, and evidence collection.

WebJob also provides a centralized management framework. It thereby
supports and automates a large number of common host-based tasks such
as: periodic system checks, file updates, integrity monitoring,
patch/package management, and so on.

Andy plans to discuss the tool, its architecture, and one or more
demos.

Details at http://www.gnhlug.org

Andy adds:

WebJob is a client-server system, where a tiny
client requests and downloads a program from a
server, executes that program on the client,
then uploads the results to the server. WebJob
is useful because it provides a mechanism for
running known good programs on damaged or
potentially compromised systems. This makes it
ideal for remote diagnostics, incident response,
and evidence collection. WebJob also provides a
framework that is conducive to centralized
management. Therefore, it can support and help
automate a large number of common administrative
tasks and host-based monitoring scenarios such
as periodic system checks, file updates,
integrity monitoring, patch/package management,
and so on.

Here is the outline for the discussion:

  • High-level View
  • Details: Client–Server Interaction
  • Advantages
  • Disadvantages
  • Execution Example
  • WebJob in Action
  • Demos

The WebJob paper (what-is-webjob-paper.pdf) and
presentation (what-is-webjob-presentation.pdf) are
located at the following URL.

http://webjob.sourceforge.net/WebJob/Papers.shtml

Dabo does Reporting

–Paul McNett, Earthling posts Dabo Report Designer Screencast. “I’ve just put together a 23-minute overview of the Dabo Report Designer [Updated Link] in a screencast. It should give a good feel of Dabo’s current capabilities and design goals. Enjoy!”

Awesome! Dabo is looking more powerful, capable and slicker each time I check in on Paul and Ed Leafe. If you’re looking for a cross-platform rich client app this is worth checking out.

IT Conversations audiocasts I’m listening to this week.

While on the road to a client yesterday, I got to listen to a couple of audiocasts, as the mountainous terrain around here makes radio reception difficult. As I’ve blogged before, a five cent CD-R seems cheaper than the batteries to try to jury-rig an MP3 player to a FM transmitter to tune in on the car radio. Insert disc. Play. Very simple. On this trip, I listened to:

Joichi Ito: The Future of Blogging. “The Internet is truly becoming an open network with the rise of amateur content and open source software. In this talk, Joi Ito takes us through the growth of the internet as an open network in layers to the point where the killer app is now user generated content. Earlier, it was the little guys around the edges of the internet who created the open standards which made the web work, and today it is those same people who fuel it with their creativity. Joi also shares with us his observations of the remix culture seen on the net. [Accelerating Change audio from IT Conversations]” — quite the blast of conversation. The key point: user content, rather than mainstream media, is the next big internet wave. Great moment: Joichi points out that “amateur” comes from Latin roots of “from the heart” and doesn’t say anything about the quality.

Saul Klein, VP Marketing, Skype: “Skype has become one of the prominent disruptive technologies of the early 21st century. Allowing anyone with a broadband connection to make cheap calls all over the world and free voice, text (and now, video) calls to anyone on the Skype network, it has changed the way many people think of the telephone. Skype has influenced pricing and availability, and is so ubiquitous that it is lending its name to become the verb for using PC-based voice over IP… In this interview, Larry Magid talks with Saul Klein, VP Marketing of Skype. They discuss the changing nature of the telecom business, Skype’s new video feature and the potential for Skype to bring telephony to previously under-served markets.”

David Heinemeier Hansson, Developer, Ruby on Rails: Secrets Behind Ruby on Rails, “Ruby on Rails has received a lot of buzz among the web developer community, but many wonder exactly what the fuss is all about. In this high order bit from the 2005 O’Reilly Open Source Convention, developer David Heinemeier Hansson explains the secrets behind the success of Ruby on Rails.”

All audiocasts came from the IT Conversations: All Programs feed. Worth checking out, and considering supporting IT Conversations if they bring as much value to you as they do to me.

Powered by WordPress. Designed by Woo Themes

This work by Ted Roche is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 United States.