Ruby/AWS now has its own mailing-list, where the development and use of this library can be discussed.
Category Archives: Coding
Ruby/AWS 0.3.0 Released
I’ve finally managed to put together version 0.3.0 of Ruby/AWS. The crux of this release is the addition of support for remote shopping-carts. Check out the new Amazon::AWS::ShoppingCart module and the Amazon::AWS::ShoppingCart::Cart class.
The amount of free time I have in any 24 hour period is drastically reduced these days. If this were still 2004, this release would have appeared a lot more quickly. Nowadays, however, the amount of time I can spend on coding and related activities (writing documentation, testing, etc.) is quite limited.
We’ve also had Sarah’s folks over here for the last couple of weeks and been treated to no fewer than thirteen consecutive days of uninterrupted sunshine. Neither fact has been conducive to productive coding.
Anyway, in spite of all of this, the new release is finally a fact. It does feel great to be knocking out useful code again.
With the implementation of remote shopping-carts, the AWS v4 API is now more or less fully supported, save for a few tiny gaps in the functionality of a couple of operations. If I’m not mistaken, Ruby/AWS now supports all of the functionality of its predecessor, the now obsolete Ruby/Amazon, plus a lot more that simply wasn’t available via the old AWS v3 API. This is a significant milestone.
This release of Ruby/AWS interfaces with the latest revision of AWS v4, namely the 2008-04-07 revision. I’ve finally written a few unit tests, too, to prevent regressions from one release to the next.
Another useful addition in this release is the new AWSObject#each iterator method, which yields each |property, value| of the AWSObject. This makes it trivial to iterate over an item’s properties.
In addition to the new functionality, a few bugs have been fixed and minor improvements made. In particular, error-checking when performing MultipleOperations and batched operations has been improved.
Ruby/AWS 0.2.0
Version 0.2.0 of Ruby/AWS has been released.
If was quite pleased with the previous version, I’m very pleased with this one. The code has really been cleaned up and a lot of functionality has been added in this release.
Here’s a list of the major changes:
Many more types of operation are now supported. In fact, everything except shopping cart operations is now supported.
Symbols can now be used instead of Strings as parameters when instantiating operation and response group objects.
Image objects can now retrieve their images and optionally overlay them with percentage discount icons.
Compatibility fixes for Ruby 1.9.
Dozens of other fixes and minor improvements.
There’s still no support for shopping carts, but that will change in version 0.3.0. Thanks for your patience.
Can’t Change The Value Of Self
The arrival of new offspring understandably inspires a certain amount of fundamental self-reflection. How have I lived my life? Am I a good father? How do I want to live the remainder of my life? Can I better myself?
Can a leopard change its spots? Imagine my surprise when one day, unexpectedly, my Ruby interpreter provided the answer.
[ianmacd@frankincense]$ irb
irb(main):001:0> self = self.better
SyntaxError: compile error
(irb):1: Can't change the value of self
self = self.better
^
from (irb):1
Beta Books
Beta books are a great idea. Why don’t more technical publishers (or even publishers of any work of non-fiction) do this?
Take the Pragmatic Programmers, Dave Thomas and Andy Hunt, and their publishing company, the Pragmatic Bookshelf. Dave’s currently working on the third edition of Programming Ruby, updated for Ruby 1.9. The finished product will be in the shops a few months from now.
Nothing unusual about that, you might say, but rather unconventionally, the book is already available for sale. How is that possible?
Firstly, the Pragmatic Programmers have taken the entirely logical step of selling PDF copies of their books. If you buy the paper + PDF bundle, you get them for less than the sum of the two. A PDF of a technical book is a grand thing, because it’s a lot easier to use a computer to search a file than it is to use one’s fingers and eyes to search a stack of paper.
PDFs are also cheap to produce and not just user-friendly, but environmentally friendly, too. Extending the idea, why not produce PDFs of books that aren’t quite ready yet. Offer them to your readers and, as with a piece of beta software, you’ll get errata reports back. Reader feedback is important to an author, so why not get that feedback while you write the book, instead of after it’s published, by which point it’s only useful for the next edition, which is almost certainly a few years away. And that edition will have its own problems, too.
So, I already have my copy of the third edition of Programming Ruby and am happily using it. Whenever the manuscript is updated, I get an e-mail, which allows me to go to the Web site of the Pragmatic Programmers and regenerate the PDF for myself.
I think PDFs of technical books make perfect sense. Beta PDFs of not yet finished books make even more sense, if you can improve on perfect.