Developers vs. Bigcorp

With all the rage recently on Twitter’s changes to their API and how it affects developers and their apps who rely on it, it’s easy to forget that Twitter is hardly the first major tech company to take such an approach to lifeblood of its ecosystem.

Yes, most of the large tech companies today are taking a hardline approach when dealing with developers who use their platform, treating them with entitlement as they hand down “our-way-or-the-highway” rules and regulations that leave little recourse when things go wrong.

Continue reading Developers vs. Bigcorp

Generating graphs from MySQL table data

Graphs and charts are a useful visual way to view historical data – they make it easier to detect trends and get a big-picture view of data. All we need is timestamped data – table rows that are stamped with a specific date/time format, that can be used to group rows into time periods.

Time stamped data

In order to aggregate table data by time periods / ranges, we need a date/time column in the table we want to analyze. Appropriate types for such a column include TIMESTAMP, DATETIME and DATE, but we can also use string / numeric types for grouping data together if they contain some sort of date/time information – though those will be much less flexible than native date/time types.

I usually opt to go with the TIMESTAMP format, for a couple of reasons – Continue reading Generating graphs from MySQL table data

Breaking down the PayPal API

PayPal is the most popular platform for receiving online payments. The relative ease of opening a PayPal account and receiving payments compared to opening a merchant account for a traditional payment gateway is the number one reason, and another is the comprehensive API they provide for their payment services.

Foreclosure: The PayPal API is amongst the worst I’ve ever had to deal with – inconsistencies, sometimes poor and conflicting documentation, unpredictable failures and account changes and major differences between the live and sandbox versions all conspire to make working with the PayPal API quite a pain in the ass.

Unfortunately, there doesn’t seem to be any better alternatives currently, so hopefully this guide will help ease the pain for some of you out there taking your lumps working the API into your applications.
Continue reading Breaking down the PayPal API

Database optimization techniques you can actually use

I just saw an article on Smashing Magazine titled “Speeding up your website’s database“. I love Smashing’s contribution to the webdev community, but their articles are getting longer and more basic at the same time.

I understand the need for simplicity because of the wide audience of Smashing Magazine, but I’d wish they’d give something more than the absolute basics you could find in almost any other site out there. I also didn’t like some of the methods mentioned there for profiling (or the code itself), so you can view here my starter guide to optimizing database performance.
Continue reading Database optimization techniques you can actually use

(mis-)Adventures with Amazon Simple Email Services (SES)

Amazon has recently launched a new service as part of its web-services offerings – Amazon Simple Email Service (or SES for short), an HTTP API for sending Emails. The main selling points are Amazon’s usual scalability power, as well as a relatively low price point for sending Emails (10 cents per 1000 Emails, not counting bandwidth). They also promise to improve deliverability using filters and feedback loops.
Continue reading (mis-)Adventures with Amazon Simple Email Services (SES)