python-bluefin 1.2 released, sans urllib2

python-bluefin 1.2 has been released. python-bluefin is a very thinwrapper around the Bluefin payment gateway’s API. The two major changes are:

  • urllib2 has been removed, with the excellent requests taking its place.
  • We now check directmode’s status_code for known failure codes and raise exceptions based on what we find. Previously, no exception was raised, which would result in a silent failure if you weren’t looking at status_code yourself.

To install, either easy_install/pip install bluefin, or download directly from its PyPi page.

Mountain Lion observations so far

As some of the software I use on my Macbook Pro now requires at least10.7, I had to retire my trusty Snow Leopard a few weeks ago. After a few weeks of using Mountain Lion, I’ve got things mostly straightened out to where I’m productive again. A few random observations:

The Good

  • I appreciate being able to download the 10.8 upgrade digitally, and open it directly on the desktop like any other application. This is easy enough for most people to figure out quite easily.
  • Things do seem a little more snappy on my mid-2010 MBP. Nothing drastic, but less beachball-of-despair.
  • After getting spoiled by Ubuntu’s Unity notifications, it’s really nice to see Apple implement something similar. Gave me an excuse to uninstall Growl.
  • Being able to grab the XCode suite from the App store is more convenient than having to mess around with Apple’s funky developer site.

The Bad

  • The reversal of the default scroll direction upgrading an existing 10.6 install, was very abrupt and unnecessary. For upgrades, they should probably preserve the old settings when possible. Sometimes software companies do stuff just to be different for the hell of it. I get the sense that this was one such example of this behavior. It doesn’t make life better or easier. This got set back to the original behavior.
  • The auto-hiding of scrollbars was similarly unecessary. Vertical space is at a premium with these laptop monitors, but there is loads of horizontal space. I really like being able to see how far into something I am without doing any goofy finger tapping, so this ended up getting set back to “Scrollbars always visible.” Here’s how to make them stay visible.
  • The “overscroll” bouncing when scrolling past a page’s top or bottom limits is strangely disconcerting on a desktop OS for me. I’m not sure why I dislike it so much, but I find it jarring. Maybe if it bounced less. Here’s how to disable it.

The Ugly

  • The 10.8 install completely flips its shit when encountering Linux partitions, to the point where you can’t proceed with installation. There are various ways to attempt to fix this, but I eventually ended up sacrificing the Linux partitions temporarily. Bummer. Some people have figured out how to correct the various errors you get here, but this wasn’t quite worked around on day 1 when I upgraded.

petfinder-api released

tldr; I have released petfinder-api, a Python client toPetfinder.com‘s web API. Important links: Documentation, source. petfinder-api is under the BSD License.

After months of waiting for things to settle down, Erin and I decided to spend the time to pick out our long-awaited second dog. Given that we wanted to rescue a dog, the obvious place to go is Petfinder.

We set out to find the perfect dog for Erin and I, and filtered down to what we were looking for. That only left… 36 pages to sort through. Petfinder’s filtering capabilities are very limited, the result display lists are somewhat hard to look through, and the whole thing is just pretty clunky.

Out of frustration (we had been half heartedly looking for months), my mind had often entertained the thought of trying to do better. Petfinder generously built in an API to get at their data, and it looked pretty simple. The problem was, I couldn’t find a packaged, maintained Petfinder API for Python. So it became my weekend project. This would be the first step towards making something more useful than Petfinder (getting on near equal footing as far as data goes).

I may or may not ever actually develop a Petfinder+, but I consider making it easier for developers to use their data a good cause, and am proud to announce the release of petfinder-api. It is a very thin wrapper around their web API, and includes documentation.

I’d love to hear any feedback, and hope this is useful to someone!