Rake task for subversion

I have been using a rake task to set up a new Rails project for subversion. The task removes logs and sets svn:ignore on /db, /tmp, /doc, and config/database.yml.

The taskĀ is: Continue reading →

Improve your XML parsing with XPath

XPath is a great way to parse XML (and even HTML). However, I've noticed that many developers don't take advantage of all that XPath has to offer. When parsing an XML file, there is a tendency to stop and iterate over container elements. This is natural, because it is the way you would traverse a data structure in most languages. But XPath offers a much better way. Continue reading →

Enhancing WWW::Mechanize

Today I wanted to extract a report from a search appliance. This task involved logging in to the appliance, receiving a cookie, and following a few links. No problem with Mechanize, right?

agent = WWW::Mechanize.new
login_form = agent.get(THUNDERSTONE_URL).forms.first
login_form.set_fields(:iname => LOGIN, :ipass => PASSWORD)
page = agent.submit(login)
page = agent.click page.links.text(PROFILE_NAME)
errors = agent.get_file "#{page.uri}/tsverrors.csv"

Only it turned out that it wasn't receiving the cookie. Continue reading →

Language comparisons are usually flawed

There are many blog posts that basically say, "Given problem X, you can solve it elegantly in language Y. Language Y is awesome!" The problem with this is that it is essentially a strawman argument. Who is to say that problem X would even be the same in other languages, if you take their conventions and idioms into account? Continue reading →

Industrial-strength Web Services for Ruby

The folks at WSO2 have created a Ruby binding for their enterprise Web Services stack, WSF/C. WSF/Ruby supports SOAP 1.2 and many WS-* specifications, including WS-Addressing, WS-Security, and WS-Reliable Messaging. Built on Apache Axis2, Rampart, and Sandesha2, it is interoperable with .NET and J2EE SOAP implementations. Now that SOAP has been decoupled from Rails, this has potential as a solid replacement.

Continue reading →

Getting Started with SOAP4R

SOAP4R is a Ruby library for accessing Web Services via SOAP. Recently I had a chance to explore SOAP4R. Here's how to get started with it.

Continue reading →

Is SOAP dying?

I've been asked a number of times whether SOAP is becoming obsolete. Cited examples:

So does this signify the end of SOAP?
Continue reading →