s33r 0.5.4

I stopped working on s33r, my Ruby Amazon S3 library, a few months ago. I thought Marcel Molina's S3 library had outstripped mine in terms of features and completeness, I had less time for developing on it, so I handed it over to Tiago Macedo, who's made a few improvements in the meantime.

However, I recently got an email from none other than Geoffrey Grosenbach. I knew he had used (and even presented about) s33r, and he was asking whether it supported virtual domains for bucket naming. It didn't. But given a request from Geoffrey, I couldn't do anything but add the feature. Hence the release of a new version.

It's interesting going back over the code, as I wrote it a while back. Even though I only wrote it maybe a year or so ago, it's striking to me how much I've improved as a developer since then. There's plenty of stuff in there I wouldn't do now; and it's obvious to me that the code is a bit convoluted and badly modularised. I could do better now, I'm sure. I put this down to the fact that my coding (full time at work) is now scrutinised by other people, and they make me defend and explain what I'm doing, which improves my design work; also, the fact that it goes into commercial products and has to be performant and testable and readable makes me write more carefully and conscientiously; plus I've spent a lot of time thinking and reading about design while I've been at Talis, which has improved how I approach coding generally. Maybe I should go back and do a rewrite :)

Comments

subdomain and use_ssl

Thanks for the update!

It turns out that I need to explicitly set use_ssl to false and subdomain to true. Then it works.

Glad it worked. I thought

Glad it worked. I thought I'd put a catch in for the use_ssl / subdomain interaction, to turn off use_ssl if subdomain is in use. (That's a limitation of S3, by the way.) I'd better check.