Buy Viagra

(01 Aug) Welcome to curlr

Thank you for visiting curl.org. This is intended to become a resource for Curl programmers interested in building applications with the various web apis, starting with Flickr.

This is the companion site for the open source curlr code development, currently residing in the curlr Google repository and the curlr Yahoo group. Here you'll find my blog articles decribing the use and availability of the libraries as I develop them, some example applets and toys and the code to go with them. Hopefully there'll be something of sufficient interest to encourage you to write some applications using the Curl language.

[Posted by sadman]

Latest Applets

10 August: Here's an older experiment I tried for an aquarium using some of Craig Reynolds rules for flocking.
06 August: The first applet based on the Curlr api is a simple viewer of the Flickr interestingness list. You'll need the Curl runtime, of course, and then you need to grant this site privilege to run the applet.

Site News

12 September: I'm changing embedded Curl applets into links ...
03 September: The Code page has (finally) been updated with downloads
31 August: All Curl applets on this site now require v5.0 of the Curl RTE.
04 August: I've created curlr an open source project at Google.
01 August: curlr.org has an ironic new coat of paint.

Latest Articles

(14 Sep) CurlrObject - Curl RTE detection

Once you've taken the trouble to write a Curl applet, there's a good chance you'll want to include it in a web page; at that point you'll need some way to detect the Curl RTE and check its version on different platforms and browsers.

If you've ever included a Flash movie on a page this will be a familiar issue to you. The question of how best to embed the Flash plugin has a long history - the various browsers have made plugin detection notoriously awkward, but over the years a standard practice of sorts, has developed to the point where you can find numerous helpful scripts, and Adobe now provide a Flash Player Detection kit along with guidelines for detection.

Unfortunately, Curl doesn't provide an equivalent script for doing this so you've been on your own - until now, that is. I've written some Javascript that will do the job for you, based on the best example I could find for Flash - SWFObject script developed by Geoff Stearns. In the spirit of the original, I've called it CurlrObject, and it is a Javascript-only detection, avoiding the use of VBasic on PCs. As an added bonus, I've included in the script a way of specifying parameters for the applet - to answer another frequently asked question.

If you're in a hurry you can view the code and you can download it from the Code page. Read on for usage notes.

[Posted by sadman]

Read More →

(03 Sep) Using sadXMLHttpRequest

Ajax customarily means Asynchronous Javascript and XML - and its increasing use has led to a more widespread appreciation of what can be achieved with a rich internet application. The "asynchronous" and "xml" is often provided by the XMLHttpRequest object provided by a browser or as an ActiveX control, and there are planty of references for building applications with Ajax. Though the "A" and the "X" can be obtained in other technologies used to build web applications, there doesn't seem to yet be an attempt to broaden the term to, say, Awax (Asynchronous Web Applications using XML - or Ajax Without Javascript). Since we're using Curl, not javascript, and since Acax doesn't exacly roll off the tongue, I'll be using Awax from now on to mean an Ajax-like application without javascript.


The curlr package COM.CURLR.PACKAGE provides a basic techology stack that can get you started building Awax applications with Curl. Previously I introduced the XML parser and the XML node classes and showed their use in reading and transforming an XML stream into a searchable hierarchy. In this article I'll examine the classes implementing the XML DOM and a Curl implementation of the XMLHttpRequest functionality and give tutorial on their use.


The reason for my providing this object is to enable some of the familiar and increasingly widespread Ajax programming patterns to be implemented using Curl with vey similar code. So similar, in fact that we can adapt the standard Ajax tutorial that's used to introduce the XMLHttpRequest object with very little change.

[Posted by sadman]

Read More →

(28 Aug) COM.CURLR.XML - A lightweight XML parser

The guiding principal behind curlr, and this web site, is to advance the use of Curl for the many web apis that are being published, particularly by Google, Yahoo and various other services. Many use XML as an exchange format and with the widespread adoption of AJAX, it is evident that XML processing is a central part of client side web applications (notwithstanding the increasing use of JSON, and Google's habit of wrapping their services in Javascript libraries).


The Curl language provides a SAX parser, and the not yet published Curl web services developer's kit builds on it to provide a stack of standards compliant XML and web services utilities - which I strongly recommend for enterprise application development.


For many applications, however, we don't need the rigor of a validating XML parser, or the type definitions of a DTD. Particularly when XML is being used only as an exchange format, we simply need a mechansim for transforming the XML data stream into structures that can be queried for the required information. The more efficient and less verbose this is, the better for the developer, for whom the XML data is simply a means to the desired end of building a useful and interesting application.


This, then, is the purpose of the code that I've implemented in the package COM.CURLR.XML - namely to provide a simple and lightweight set of classes that are easy to use in application code. The beta version of the package is now checked in to the curlr repository.


[Posted by sadman]

Read More →