Oct/090
Announcing PyPush v0.1
Version 0.1 of PyPush is now available. PyPush is a rewrite/fork of apns-python-wrapper, that is, PyPush is a python module for interacting with Apples Push Notification Server.
Code is available from here where bugs can also be reported.
Licensed under the Apache 2.0 license.
Sep/090
MiraPay merchant support for WP e-Commerce
WP e-Commerce is a WordPress plugin for adding shopping cart functionality to your WordPress powered website. I wanted to use it for a contract I did but it did not support the payment gateway that I had to use. So, I wrote one. It works and was used in a production website. It may need some work to clean it up or whatnot but I have no plans to continue working on it. Feel free to use it if you need it, the code is released under the MIT license.
Aug/090
CLLocation forward GeoLocation method
The new MapKit framework for the iPhone OS 3.0 provides a very easy to use way of doing reverse geolocation (getting address information by providing latitude and longitude). But, it would seem that there is nothing built in for getting latitude and longitude values for a given address. Luckily, Google to the rescue!
Mar/090
Cappuccino/Objective-J and URLTextField
I wanted to display a link in a Cappuccino web application but there doesn't seem to be a very "nice" way of doing that so I wrote up the URLTextField class. It's basically a regular CPTextField but the CPTextFields DOMElement is wrapped in another DOMElement that provides the anchor tag. Use it like a normal CPTextField and call setStringValue: with the text you'd like displayed for the link, and use setLink: with a valid URL to set the link. A convenience initWithFrame:link:title: is also available that sets it all up from the get-go.
Mar/0913
A Python repeatable threading.Timer class
I had a function that I wanted to be called repeatedly every x seconds but couldn't find a nice way of doing this. The python threading module has a Timer class which will wait for the given number of seconds and then execute the passed in callable object. Unfortunately, once it has executed that code it is no longer useable. So based upon that class I whipped up the following RepeatableTimer. It's not "hard real-time" or anything since it doesn't account for the time taken to execute the given function, but it's good enough for what I needed.



