21 March 2009, 00:21
I have released CocoaFob, a free set of Objective-C and Ruby code snippets for secure asymmetric registration key generation and verification based on DSA, and also for supporting custom URL schemes to enable automatic application registration by clicking on a link.
I’m using it for Decloner and the Store (an instance of Potion Store).
If you need to generate and verify registration for your Cocoa application, and especially if you are using Potion Store, give CocoaFob a try. I’d appreciate any bug reports, comments and suggestions.
Git clone URL: git://github.com/glebd/cocoafob.git
— Turbodad
Programming, Mac
17 March 2009, 23:00
We use PayPal Web Payments Standard (WPS), which is not supported out-of-the-box in Potion Store. So the next choice was Google Checkout. I started plugging it into Potion Store and reached cart submission stage when it became apparent that since we’re in the UK, we can only submit carts in GBP. I wanted to specify the price in USD, which Google Checkout didn’t allow. So I had to postpone it and go back to PayPal.
As I was reading PayPal documentation and browsing Potion Store source code, I discovered that the only part of Website Payments Pro (WPP) that required monthly payments was credit card processing (which we weren’t going to support for now), and you could just use PayPal Express Checkout option with the store out-of-the-box. Granted, the buyer experience wasn’t as great as with WPP, but it’d have to do for now. I set up PayPal Sandbox accounts and got the certificates.
Tip: when you get your API certificate from PayPal, look inside the *_pem.txt file. You’ll see it contains both private key and certificate. In the Potion Store config/paypal.yml file you can use this file as both API key and certificate file. OpenSSL is clever enough to pick the right part.
I also started implementing support for Website Payments Standard (WPS) by looking at Kenneth Ballenegger’s notes but put it on hold for now. Maybe I’ll go back to it some time.
— Turbodad
PixelEspresso, Potion Store
17 March 2009, 04:48
At last, PixelEspresso App Store is up and running. Took me a while—I started from zero Ruby and Rails knowledge. My limited Unix experience wasn’t enough to test the store on my local Mac, so I had to learn several new tricks and get more familiar with Terminal. Deploying Potion Store on DreamHost was also unexpected fun, shall we say.
After the static web site design was complete, I started looking at Potion Store. I read that DreamHost installed Passenger on all plans, so deployment shouldn’t be a problem.
What followed was quite a few days filled with trial-and-error attempts to master something of which I had only a vague understanding. Getting several parts of the store to work together, making the right decisions on which payment processor to use, testing the whole thing on local machine and then deploying to DreamHost proved to be a very useful (if a bit frustrating at times) experience. I’ll try to summarise it in several following posts. Initially I thought just to spill my guts into one article, but it got too long, and no one reads long blog posts. I hope this information will be useful to someone.
— Turbodad
PixelEspresso, Potion Store
11 March 2009, 23:42
Grab it here. The main changes are tweaked main window layout (thanks to Martin Pilkington’s suggestions), several bug fixes, extended beta period (expiration date is now 1 May 2009) and a built-in registration system, which is unused at the moment because there is no way to pay for a licence even if you wanted it bad. I’m installing Potion Store on our store site and integrating it with our serial number generator.
I decided not to use AquaticPrime due to the fact that it relies on file-based licences which I don’t like. With my level of Ruby knowledge, which is currently registering somewhere between a total noob and a person who knows what a block is, it is going to take too long to integrate it with Potion Store and Decloner (although I had it working in Decloner, but then scrapped it).
The registration system is going to become an open-source project. It is currently hosted on GitHub, but I’ll hold off disclosing the project name for a while, until the code is a little bit cleaner.
— Turbodad
PixelEspresso, Mac
15 January 2009, 02:34
I designed three new icons for the Decloner navigation toolbar. I like the style of icons that is used for iWork toolbars, especially in iWork’09. Of course, I cannot even approach the quality of iWork icons, I’m a total amateur at this. But I still like doing it—it’s a nice distraction from coding.

And my Wacom Bamboo tablet, cheap and simple as it is, totally rocks.
— Turbodad
Design,