Archive | 2003

SQL Queries using XPath — Check out Virtuoso!

SQL and XPath. V.S. Babu wrote to ask what product was executing the XPath-enabled SQL query I showed yesterday. It’s a beta of the new version 3.0 of OpenLink’s Virtuoso. I’ve refined the query a bit, so that it also picks up RSS 1.0 feeds:
[Jon’s Radio] Very cool. I checked out the site. I thought the killer graphic was here. Isn’t this every protocol you ever wanted to connect? Wow.

Resistance is futile. You will be assimilated.

Resistance is futile. You will be assimilated. (31-July-1998)

In March of 1992, Microsoft Corporation and Fox Holdings, Inc. announced a merger. Thousands, if not millions of Fox developers knew this was the end. A “merger” of Fox with the Evil Empire was like a merger of the Everglades with a ValueJet airliner: when the smoke cleared, the Everglades were still there. But this is not what happened with FoxPro. Why? Why did great big Microsoft decide to consume this little, private-held corporation from Perrysberg, Ohio. And what happened?

Microsoft bought Fox for three reasons. First, they eliminated a strong competitor in the desktop database market. Second, they purchased the opportunity to bring some of the best developers into the Microsoft fold. And finally, they purchased key technologies (and the development personnel who made them) that would prove to be key to Microsoft’s future database plans.

Why purchase a little company? Microsoft does it all the time. Many of their key products can trace their roots to development outside of Microsoft. SQL Server was originally a joint development effort with Sybase. One of the progenitors of Microsoft Word was Electric Pencil, a product from none other than the renowned FoxPro developer Les Pinter. Nearly all of the technologies in Microsoft products have come from the purchase, or “strategic partnerships” of other companies.

Why buy the opportunity to “upgrade” the Fox developers into the Microsoft fold?

“Resistance is futile. You will be assimilated.”

Five years after the merger, the Fox product line still exists as a distinct product within Microsoft. The same cannot be said of Electric Pencil. Why? Brand loyalty. Stubborn Fox developers. Overwhelmingly better technology. Innovation: Wizards and Builders. Third-party extensions: the GenX series, DBCX. The best development environment available. The ability to execute any single line of code interactively speeds development. Bottom line: no other tool will do all that FoxPro will do.

Where is Rushmore?

Rushmore is a technology for rapid retrieval of records. While the exact mechanisms underlying the technology are a trade secret of Microsoft, speculation centers on the idea that it is a highly optimized method of using binary tree (B+) indexes to perform queries, using a bitmap method to identify the records in the final record set. Where is Rushmore today?

Parts of Rushmore have been integrated into the ODBC technology.

Access claims to use some Rushmore technology.

Visual Basic, which lacks an internal data engine, and relies on Access’ Jet engine, also claims some “Rushmorization.”

Plans for SQL Server included an announcement that certain “bitmap optimization” techniques would be used to speed queries and joins. Sounds like Rushmore, doesn’t it?

Rumors abound that many of the developers who built the Rushmore engine are also responsible for the data technologies used in “Active Data Objects” or ADO.

Microsoft’s recent announcements of DNA and COM+ hinge on the use of ADO and RDO (new name?) to pass data between the layers of an n-tier model. Recordsets can be created, passed between layers, made to work as remote sets, and then re-integrated into the main tables. The techniques used sound an awful lot like the promises of offline views and remote views.

dBloat

Fox developers have been bemoaning the bloat of their language for years. Despite an effort years ago to create a standard xBase language (one that may have been doomed from the start as a political delaying tactic by some of the key players), the Fox language has expanded and expanded, with compatibility for dBASE commands, new commands and functions for object syntax, and new commands for work with views. The language is so bloated that one pundit quipped “There are three ways to do anything in FoxPro, or no way at all.” With the expansion of the language and the laudable efforts to maintain backward compatibility, many Fox developers have advocated a break with the past – dropping the “legacy” portions of the language, breaking old code in favor of a new, cleaner, more efficient FoxPro. Many have even gone as far as suggesting that the new language should get a new name as well, perhaps “Visual Data,” to let it get a clean start in an industry where many associate the xBase moniker with outdated technology.

Many problems exist with this idea. First, try to get two developers to agree on what comprises the “legacy” portion of the language. While agreement on dropping commands such as INPUT and UPDATE can be reached easily, getting any significant group to agree in total on where to place the thousands of commands and functions is a daunting task. These decisions also need to be made on the simplification of the language, especially in the area of data manipulation. Currently, data may be manipulated from the command line with LIST, DISPLAY, BROWSE, REPLACE, CALCULATE and other commands. Data can be “buffered” to memory variables with SCATTER and GATHER. Tables can be accessed directly with no buffering and “implicit” record locking, or with “explicit” record locking. Finally, the view technology introduced in Visual FoxPro introduces the use of temporary table images, cursors, where data may be sent to the data store in either record- or table-buffered modes. Support for remote views using ODBC data sources and off-line views are also added.

There are just too many options to support one clean, reliable data access method. In order to simplify the engine, compromises in flexibility need to be introduced to simplify mastery of the language and the efficiencies of the engine. Finally, support for an object-view of the data would make data manipulation consistent with the object-oriented language itself.

On the other hand, having worked with a product that allows manipulation at the table level of forms, classes and much of the internals of the language itself, Fox developers may find themselves at an advantage in master new technologies created by Microsoft. Having spent years working with metadata, manipulating data in complex patterns and working with complex programming paradigms, Fox developers are resourceful and clever at getting the machine to do what is needed. The introduction of object oriented programming in Visual FoxPro, and the exciting education in design patterns have allowed Fox programmers to work at a higher level, abstracting concepts and paradigms while still delivering state of the art applications. No other group is as well prepared to master the exciting new world that Microsoft is mapping out with DNA and COM+.

Resistance is futile. We will be assimilated. But assimilation is a two-way street. The Everglades may never be the same again. Soon we will hear:

Assimilation complete. Microsoft is ours.

Ted Roche has worked as an independent consultant, a drone in IS shops of Fortune 100 companies, and as a college professor. When he grows up, he hopes to be making an honest living, instead.

dBASE is a trademark of Borland International. Microsoft, SQL Server, Visual FoxPro, Rushmore, Access, Word are trademarks or registered trademarks of Microsoft Corporation. Microsoft is a registered trademark of Microsoft Corporation. Soon, “trademark” might be a registered trademark of Microsoft Corporation. “Resistance is futile. You will be assimilated.” © Paramount Pictures.

Who’s preempting who here?

Jon Udell talks about the promise of power and freedom in this entry: “To have a multitasking and multithreaded operating system, right on my desktop, for my own personal use, seemed an incredible luxury.” Good points. Pre-emptive multi-tasking would be so much cooler if it was the user who could preempt whatever the machine is doing that it thinks is so important that it’s ignoring our clicks!

Road Rage

Road Rage.

“Neither United nor Air Canada appears to have any idea where my bag is, because they have no record, other than the tag they gave me when I checked the bag in Santa Barbara, of its existence.” Poor Doc. Travel nightmares seem more the norm than the exception these days. Last time I travelled, luggage handlers in Detroit misplaced my bag, but fortunately I have such hideous tastes in colors that I could pick it out at 50 yards. I think travel is not as much fun as it used to be.[The Doc Searls Weblog]

VFUG March Newsletter

VFUG March Newsletter Now Available. VFUG (the Virtual FoxPro User Group) just released the March issue of its monthly newsletter. Articles in this issue include one by regular contributor Les Pinter, Email VFP Reports by Phil Bartow, Understanding Structured Exception Handling in Visual FoxPro 8.0 by Mike Helland, Part 4 of A Basic Introduction to Automation using MS Visual FoxPro by Matt Jarvis, We Are All Visual FoxPro Beginners by Carl Warner, Wireless Devices, Part 3: SMTP > SMS > MMS by Tom O’Hare, tidbits on conferences, what’s new for Spanish members, assorted URL resources, tips including Using the Registry Class, End of File Gotcha, Extended Characters Showing Incorrectly, Office Menus – Prevent the Automatic Collapse, Paste from the Clipboard and then call a specific keypress, and more. As usual, you can view this monthly newsletter online or download its text version and all other back issues free at the VFUG site. Not a member? Join VFUG for free at the site. [FoxCentral.Net]

Latest CodeRed variant, Day Two

Latest CodeRed variant lacks built in obsolescence. Same old tricks with moderate-to-low risk worm [The Register] Saw a couple hits in the web server log yesterday: GET /default.ida followed by a slew of NNNNNNN’s. If you didn’t see hits in your logs (you do read your logs daily, don’t you?), perhaps you’d better check to make sure you’re not infected.

62.212.113.49 – France, ADSL
61.222.207.187 – Taiwan
64.35.166.213 – Digital Solutions, San Jose

and on the second day,
64.106.162.220 – a customer of DataPipe of Hoboken, NJ
64.229.11.167 – a customer of HSE, Kingston, Ontario, Canada
64.35.166.213 – a repeat, from above. Five times.
64.35.112.148 – XO Communications, seven times.
64.231.108.158 – Bell Nexxia, Toronto, Ontario, Canada
64.252.199.131 – SBC Internet of Meriden, CT

So, I went from three to sixteen attacks in a single day. Hysterial media would predict the end of the world by the end of the week. Me, I think I’ll just send email to the abuse aliases for the clients I can find.

Thanks to the ARIN WhoIs for the lookups.

L.A. FoxPro Boot Camp

Los Angeles County Foxpro Boot Camp. 03/22/2003 VFP basics like you have never seen before! An all day Saturday Boot Camp NCR building — 100 N. Sepulveda Blvd., El Segundo, CA Two Tracks:Visual FoxPro Basics for Windows Data! Data! Data! – Data Conversions, SQL Select tricks and much more. http://www.lafox.org/Bootcamp.page.fox Posted, albeit really badly, at FoxCentral.Net

Now that all the hard problems are solved…

VFP Etch A Sketch. Dave Aring’s VFP Etch A Sketch combines the nostalgia of the classic childhood toy with the modern computer. Created using only Microsoft Visual FoxPro, the VFP Etch A Sketch demonstrates just a small portion of this powerful software development tool’s versatility. [FoxCentral.Net]

Urban Legends

In the past few days, I’ve had well-meaning friends and strangers forward on messages and postings from Andy Rooney, George Carlin and John Cleese. None of them were really from those authors. Check out http://www.snopes.com before sending along such silly stuff.

Far more seriously, an associates spouse sent on a warning and instructions on how to remove a virus that had somehow infected his computer. It was also a hoax, but a destructive one, with bogus instructions that removed the Java debugging manager from the machine. Folks, if you get a warning telling you to do something to your machine that you don’t really understand, here’s what you should do: check it out. Search Google for it. Check out the virus sites (http://www.symantec.com, http://www.antivirus.com, http://www.mcafee.com) for it. Call a knowledgable friend. Don’t just blindly pass on instructions you don’t understand. If you got an anonymous call telling you to shake up a seltzer bottle and unload it into your fuse box, you probably wouldn’t blindly obey. THINK.

Radio News Aggregator Rocks!

I love the Radio News Aggregator as a way to collect the news of the day, but the only thing it doesn’t give me is more hours in the day. I’ve got 11 tabs open in Mozilla with articles I want to read, and by the time I’ve gotten around to finishing an article, and deciding if I want to blog it, it’s rolled off the end of the 100 articles in the aggregator. Not a big problem for Radio fans, you simply reset the number of articles here (Note: link only works if you run Radio). However, there are still too many articles for my brain to capture, even if my computer can. Here are a couple I missed blogging before they scrolled:


  • CNN discovers blogging: http://www.cnn.com/2003/TECH/internet/03/10/bloggers.ap/index.html
  • Clay Shirky on Social Software: http://shirky.com/writings/group_politics.html
  • Google and Branding by Mark Hurst: http://www.goodexperience.com/columns/03/0305.brand.html
  • Essay on the Mozilla site on browser innovation: http://www.mozilla.org/browser-innovation.html
  • Massachusetts Department of Revenue considers Linux: http://www.masshightech.com/displayarticledetail.asp?art_id=62051&cat_id=3
  • David Weinberger continues to blog the SxSW conference: http://www.hyperorg.com/blogger/mtarchive/001283.html

Whew! Drinking from a fire hose!

Postscript: And did I mention that Radio rocks? Having changed my settings from 100 to 300 articles, all of those articles above that had scrolled now appeared. No time delay waiting for the queue to fill up. What a well thought-out piece of software!

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.