Grappling with Python XML parsing on OS X 10.2

Grappling with Python XML parsing on OS X 10.2

Run-time errors encountered trying Google Hack #57: Python and the GoogleAPI

After struggling with various Python programming examples related to XML parsing, I discovered that the “Python No Parsers Found” run-time error is common on multiple platforms, and reported in numerous places on the Web. A thread describing the issue and suggesting a solution can be found at:

http://joi.ito.com/archives/2003/05/10/python_and_xml_and_the_agony_of_defeat.html

Jean-Yves Stervinou, the solution provider, also reported the issue at:

http://radio.weblogs.com/0001103/2003/02/05.html

But the most complete thread on the issue and the solution I finally used was found at:

http://paulbeard.no-ip.org/movabletype/archives/000493.html

Like myself, these individuals were using the default Python installation on Mac OSX 10.2 Jaguar, and all encountered run-time errors when attempting to parse XML in Python. The solution that worked for me was installing PyXML 0.8.1, as suggested on the last blog listed above. I was then able to successfully invoke Google Hack #57 from the UNIX command line on my server. Another hack that accessed an XML stock quote via a Python CGI also worked successfully.

I will update my own post at hacks.oreilly.com re: Google Hacks #57 (a Python-based example) to assist others encountering this problem:

http://hacks.oreilly.com/pub/h/177

Ahhh…the joys and challenges of hacking code. I must admit this whole experience confirmed the amazing value of the Web, Blogs and search engines in sharing and advancing knowledge None of the above material could be found at the Apple Computer Web site or online support knowledge base, at least around the date of this posting.

A Layman’s Attempt to Digest “XML Web Services”

A Layman’s Attempt to Digest “XML Web Services”

I rediscovered this note written during the spring of 2002, and decided to add it to my blog. The note was originally drafted to help me internalize readings on emerging Web Services. Maybe others will find this a helpful read.

What’s a web service?

There’s an incredible amount of hype on this topic at present (since 2001). Numerous books have been published in early 2002, including a series of O’Reilly titles, all dedicated to Web Services on the Sun J2EE platform (Java 2 Enterprise Edition) and the Microsoft .Net Framework. In the simplest terms, the emerging Web Services standards promise to simplify the sharing of data between software information systems over the Internet, using open rather than proprietary standards.

Integrated Software Experiences

From a lay perspective, we know that it’s very useful for distributed information systems, and even desktop applications to be able to easily exchange data. It’s great from a user’s perspective to work with a well integrated software system. Imagine if you could automatically extract financial information from all of your financial service providers (credit cards, banks, brokers) into your favorite financial planning software. It’s not reality because the scope of the human and software-based information systems involved is large. Strong integration has occured on the personal computer desktop, since that’s a more tractable domain, where the disparate systems involved all run on a single computer, and most often are used and adminstered by one person. The Microsoft Office suite would be a good example, where you are able to easily share data between a word processor, a spreadsheet, a presentation tool and even a web browser.

Two Paths to Integration

The benefits of an integrated software system can only be realized when the back-end systems are able to communicate with each other. This back-end communication must be standardized in some way to enable large numbers of software developers to write applications that can interoperate.

In the past, systems were integrated using proprietary, vendor specific APIs. This meant vendor “lock-in” for customers. For example, if you wanted a spreadsheet that interoperated well with a word-processor, it helped to buy both products from the same vendor. Developing integrated software is much easier when all the engineers work in close contact under unified leadership.

In the world of networked information systems, as opposed to isolated desktop applications, it also eased interoperability to buy solutions from a single vendor. This mode of industry practice helped software integration in the short-run, but seemed to stifle software innovation in the long run.

The information systems industry has since evolved toward open standards. These industry-wide standards enable companies to compete in the creation of software products without requiring monopoly power to provide interoperability. A pervasive global information system has evolved rapidly since the rise of the commercial Internet. To enable integrated software experiences on this scale, vendors do not entertain the notion of one solution provider winning over all others. Instead, they hope to agree on methods to enable these systems to communicate with each other. Hence we have the current landscape surrounding the standards for communication between distributed systems over the Internet, the standards intended to enable a future filled with “web services”.

Impact of a Consulting Assignment with Laszlo Systems

Impact of a Consulting Assignment with Laszlo Systems

Notes on exposure to the ‘state-of-the-art’ of information technology during the last few months

Feeling more connected with the ‘state-of-the-art’ on the Internet. Partly the result of the last half-year of consulting with Laszlo Systems on the product launch of the Laszlo Presentation Server. Besides developing the original White Paper, various pieces of marketing collateral, and a product review guide, I also orchestrated the unveiling of the platform through a series of technology conferences and trade shows, including Demo 2003 , O’Reilly 2003 Emerging Technology Conference and JavaOne 2003 . The O’Reilly conference was particularly eye-opening, with a parade of IT industry luminaries speaking and in attendance. During this consulting stint, the LPS received a 2003 Webby Award nomination for technical achievement , alongside fellow nominees Google, Linux, Apache and phpBB. This nomination stunned the Laszlo engineering team, given the cult status of the other technologies recognized by the Webby committee. But the most rewarding part of the experience for me was the exposure to recent trends with programming languages, open standards and Web application development. I have been surprised by the variety of uses for XML from declarative application programming languages to server configuration files. In old age, I will look back feeling privileged to have participated in the early commercial development of the Internet.

Project Kontak: term project for my IT sabbatical

Project Kontak: term project for my IT sabbatical

The end result of my Post-ATHM information technology sabbatical was my first complete, publicly deployed web application: Kontak, a personal contact application that permits a visitor on my Homepage to pop open a small browser window, and send email messages to my Web-email account or my cell phone, without knowing my actual account address information. In this manner, I shield those accounts from spammers, because I never give them out! Kontak also logs all messaging activity, so I can see who sent me what from where and when.

Kontak is based on the following set of technologies:

[1] The Web HTML forms, server-side ‘business logic’ and control of an SMTP mail server are all done in the PHP scripting language, running under the Apache Web Server on a Mac OS X 10.2 server.

[2] The message activity log is maintained in a MySQL database, running under Red Hat Linux 6.2 on a 2nd server (in my dining room data center ;-). PHP provides simple API’s to access databases built in MySQL.

[3] The Kontak app, or really the Apache Web Server behind it, is exposed on the open Web by maping the dynamic IP address provided by my dial-up ISP to a static hostname using the service at dyndns.org.

[4] As a security measure, the OS X server is shielded from the Internet behind a NAT router (Network Address Translation), which in turn provides the Internet connection via an integrated dial-up modem. The two servers powering Kontak are assigned private IP addresses within my development Intranet. The Web server’s IP and port number (80) are then mapped by the router to my public dynamic IP address, to recognize server requests from the open Web.

Kontak represents a grand tour of contemporary Web application technologies, and provides a hands-on understanding of how modern application developers make things happen on the Internet. All in all, a very rewarding journey for a software technology product-marketing person!

Monkeying with my Personal Homepage

Monkeying with my Personal Homepage

Learned something new from the blogger.com site today… the FAQ notes that our personal blogs can incorporate 3rd party search engines. heard good things about AtomZ’s free site search trial service, checked it out, and now have it integrated into my personal home page (linked off this blog). One virtue of this idle period is that I’ve been able to immerse myself in the boundless capabilities offered by various web application developers. So much functionality out there, that very few of us really know anything about…seems a lifetime could be spent only in cyberspace discovering all of it and trying to figure out what to do with it.

Post-Internet-Bubble Rant

Post-Internet-Bubble Rant

As it turns out, I, and many cohorts far brighter than I, spent much of the last decade on economic activities that the Invisible Hand has deemed worthless (or at least not very worthy :-). So while the world continued to grapple with hunger, disease and want of material goods like TVs, kitchen appliances and ever-larger SUVs… I did little to help in those great causes.

So what next? In my case, a period of immersion in contemporary Information Technology, to catch up with the developments that led to the Web boom in the first place.