Skip to content

Notes from the week of 2011-08-28

RunKeeper and the Health Graph API

PayPal X Platform

APIs and development

Personal things

Running

My weight over the last two years

Magento resources

A few weeks ago I wrote about the announcement of the merger of the eBay, PayPal, and Magento developer platforms and communities under the X.commerce banner.  I followed that up with a post on eBay resources to help PayPal X community members get up to speed with eBay development.

Now that Magento’s officially a part of the X.commerce family, I think it’s time to share some resources to help everybody learn about Magento’s ecommerce solutions.

Here are some of the top level sites and information you should check out as you dive into Magento:

  • First, you may need information on what the Magento ecommerce platform enables.  Go to the Magento “Features” page for answers including a video introducing you to the Enterprise Edition’s features.  This page also links to information comparing the three editions (from the free, open source Community Edition up through the Enterprise Edition) and their pricing.
  • The Magento wiki contains links for detailed information on store setup as well as articles targeted both at designers and at developers.  I highly recommend spending some time reading through this material as you familiarize yourself with the system and how to use it.
  • The Magento forum is the place to go to get answers to any questions you don’t see addressed in the high level product FAQ or elsewhere on the Magento site.
  • Subscribe to the Magento blog for the latest official information.  Click here for the feed.
  • Get social with Magento via their @magento Twitter feed and Facebook page.

Click here to read the complete post on the PayPal X Developer Network and leave your own questions or Magento resource suggestions for other community members.

Notes from the week of 2011-08-21

RunKeeper and the Health Graph API

PayPal X Platform

Wireless and mobility

APIs and development

Personal things

Running

Bitcoin: Money without Governments

I recently completed a six part series examining alternative payment systems and comparing them to the PayPal X Platform. As I wrapped that up, I asked readers to weigh-in on which topic they’d like to read about next. I received votes for several topics on the list including a request for coverage of the eBay APIs (watch for more from me on that coming soon). But the one request that caught me off guard was for an article on Bitcoin.

Bitcoin is a relatively new digital currency. But there’s much more to it when you dig a bit under the covers. Shall we?

What is Bitcoin?

Here’s the high level description of what Bitcoin is and provides from its Wikipedia page:

Bitcoin is a digital currency created in 2009, based mainly on a self-published paper by Satoshi Nakamoto. (It) enables rapid payments (and micropayments) at very low cost, and avoids the need for central authorities and issuers. Digitally signed transactions, with one node signing over some amount of the currency to another node, are broadcast to all nodes in a peer-to-peer network. A proof-of-work system is used as measurement against double-spending and initial currency distribution mechanism.

The Bitcoin site WeUseCoins.com provides a high level video overview of what Bitcoin is, how the coins are created, and what you can buy with them (click here if the YouTube video fails to load below).

For more detail, you can also watch a short Ignite presentation from the current Principal of the Bitcoin project, Gavin Andresen (@gavinandresen). Click here to watch Gavin’s presentation on YouTube if the embed below isn’t working for you.

You can get a feel for the frequency of Bitcoin transactions by watching them occur via the Bitcoin Monitor site.

Interested in the nitty gritty of how the system works? You can dig deeper by reading Nakamoto’s original “Bitcoin: A Peer-to-Peer Electronic Cash System” paper (click here for PDF). There is also a Bitcoin wiki with links to much more information, a FAQ, discussion forums, and developer information; click here to jump to the wiki. You can also link to more information on the Bitcoin project and community via Bitcoin.org.

One very important thing to note:

The Bitcoin system is based upon public-key cryptography. Without the crypto, you’d have no Bitcoin. Bitcoin being crypto-currency leads to some interesting properties, not the least of which is that it cannot be inflated by a central bank or governmental authority. This means that Bitcoins have commodity-like properties similar to gold and other precious metals.

Bitcoin’s being based upon public key cryptography also means that there are concerns about it being used for nefarious purposes. Governments and organizations interested in cryptography, money laundering, and cyber attacks are taking close looks at Bitcoin. We’ll discuss these issues more later.

Acquiring and storing Bitcoins

In order to use Bitcoins, you must first have a Bitcoin wallet.

You can either download a piece of wallet software to install on your computer (click here for links to download the official Windows, Mac, or Linux client or here to grab the source from GitHub) or use an online wallet. There are options for the latter listed on the “Getting Started with Bitcoin” page from WeUseCoins.

The official Windows wallet starts up like this (note that the provided Bitcoin Address has been removed from this screenshot):

Here’s an example online wallet, Instawallet, which creates a new wallet for you by default when you visit their homepage:

To continue using the same Instawallet in the future, you would need to bookmark the unique wallet URL assigned to you. The Instawallet site notes that you should only view this option as a “spare change” wallet, rather than store a large amount of Bitcoinage here.

Whether you choose to use a downloaded wallet or an online one, there are some potential gotchas to consider. If you lose your downloaded wallet, say through a system crash or theft, you also lose any coins stored in it. Likewise if you use an online wallet such as Instawallet and lose the URL or authentication information for that wallet, or the service provider disappears, or anything else keeps you from reaching your online wallet, you may also loose coins. So be sure you have a backup and security strategy in place to avoid any problems later.

Whichever approach you choose, once your wallet is ready you will have a new Bitcoin Address. You use this address to send and receive coins.

So how can you get some Bitcoins to try the system out? There are several options listed on the aforementioned “Getting Started with Bitcoin” page. But perhaps the easiest option is to use a free service from Gavin Andresen, Free Bitcoins. Gavin’s service will transfer a small amount of coinage (0.001 Bitcoin, or BTC, as I write this) for free to whatever receiving Bitcoin Address you specify. The only catch is that you do need a Google account (free to acquire if you don’t already have one).

For example, I entered my Google account information and Bitcoin Address for Instawallet into the Free Bitcoins “faucet” and it sent 0.001BTC my way.

After a little bit of time for the network communication and computations to happen in the background, the Bitcoinage appeared in my Instawallet.

There are a number of other ways you can add coins to your wallet. You can earn them, purchase them in a market (check out Bitcoin Charts for a view into the various markets and currency-to-Bitcoin purchases), and even buy them over the counter (OTC). Bitcoins can also be created via a process known as “mining“, but for most consumers and merchants interested in Bitcoins for commerce but not in becoming a mining business, the amount of computational horsepower required may be prohibitive (see this ZDNet article for more on mining).

Using and accepting Bitcoins

However you acquired your Bitcoins, once you have some you will probably want to start using them. There are a wide and growing variety of legitimate services and merchandise being sold today for Bitcoins. Visit the “Trade” page on the Bitcoin wiki to see a list of many of the available items.

What if you want to accept Bitcoins as a method of payment? The same wiki contains a Merchant Howto to help you get started. It provides information on both manually accepting Bitcoin and automating Bitcoin based purchases. And you can automate purchases via existing shopping cart solutions (for example a Magento Payment Gateway Plugin) or programmatically yourself using a JSON-RPC interface.

For more information on the Bitcoin ecosystem, I would recommend reading through the linked resources on Dave Mackey’s “A Bitcoin Primer“.

Threats and opportunities

As Bitcoin has gained somewhat wider acceptance and much wider visibility, criticism has been heaped upon it. There have been exchange data issues, threats against the system because of its use in black market purchases for illegal items such as drugs, and claimed heists of large sums of Bitcoinage. There has also been some incredible speculation which saw the value of 1 BTC, as expressed in US dollars, climb nearly 1000% in a single month earlier this year!

Things have gotten so heated in this space that even the CIA is studying up on Bitcoin. So what are the significant threats and opportunities for Bitcoin?

One major threat to Bitcoin’s longterm success is ease of use. Needing to have a working knowledge of “crypto-currency” and “peer-to-peer” may not turn off techies, but it certainly confuses a lot of other people. If people can’t understand Bitcoin, they won’t use it. If not many people use Bitcoin, it will continue to see non-sticky value jumps versus other currencies. And large swings in value lead to a further lack of confidence in any currency or commodity.

The opportunity inherent in this problem lies in making the Bitcoin system very easy to use. Implementers need to concentrate on bulletproof clients and merchant software if they hope to maximize Bitcoin uptake. And for goodness sake, hide the cryptography details and never use the acronym “p2p” in getting started guides and consumer-oriented documentation!

Another threat to Bitcoin’s viability is that it has in fact been used in certain high profile illicit markets. The opportunity here is for legitimate Bitcoin users and supporters to educate their governmental representatives on the many legitimate uses of Bitcoin. Just as with dollars or any other currency or commodity, Bitcoin is inherently neither good nor evil. But unlike the other more established value stores and means of commerce, Bitcoin is terribly new, and therefore poorly understood, which in some cases leads to fear. Education is the only way out of that.

Click here to read the complete article on the PayPal X Developer Network including discussion of the biggest potential impediment to Bitcoin’s long-term viability.

Why I love Yosemite

It’s impossible to capture the vastness and dizzying beauty of Yosemite Valley in pictures or video.

But this comes close:

(I suggest watching this full screen for maximum effect.)

Google rocks Android by buying Motorola

The news is abuzz today with Google’s announcement that they are buying Motorola Mobility, that part of Moto spun out to focus on Android smartphones, tablets, and related digital gadgetry.

Google went out of their way in the announcement to note:

This acquisition will not change our commitment to run Android as an open platform. Motorola will remain a licensee of Android and Android will remain open. We will run Motorola as a separate business. Many hardware partners have contributed to Android’s success and we look forward to continuing to work with all of them to deliver outstanding user experiences.

If you were Samsung, HTC, or another of Googerola’s Android hardware partners, would that make you feel any better about trusting Google’s Android intentions?  Sure there were the usual quotes trotted out from said partners, but don’t they sound a bit like each partner simply echoing back the official “line”?  To wit:

“We welcome today’s news, which demonstrates Google’s deep commitment to defending Android, its partners, and the ecosystem.”  – J.K. Shin, President, Samsung, Mobile Communications Division

“I welcome Google‘s commitment to defending Android and its partners.” – Bert Nordberg, President & CEO, Sony Ericsson

“We welcome the news of today‘s acquisition, which demonstrates that Google is deeply committed to defending Android, its partners, and the entire ecosystem.” – Peter Chou, CEO, HTC Corp.

Click here to read all the quotes provided by Google.

Most importantly for X.com community members, what will this purchase mean for Android app development?  It’s a bit early to say, although I would speculate that we’ll see skinless Moto devices as follow-ons to the Nexus series of phones coming at some point.  I have a guess what next year’s big Google I/O giveaway may be…

Click here to read the complete post on the PayPal X Developer Network including links to additional coverage and information on Google’s Motorola acquisition.

Easily exploitable Square card reader vulnerabilities

I’ve written some about Square and their mobile card reader before.  Click here to read my most recent article on them, part of my alternative payment systems series.

The problem is, Square’s dongle has been hacked.  And hacking it is pretty embarrassingly simple to do, it seems.

https://www.x.com/servlet/JiveServlet/downloadBody/3739-102-1-4138/20110622_article_signup.png

The gist is this:  Square’s dongle plugs into the audio port on supported devices such as iPhone, Android phones, etc.  Cards are swiped through the reader dongle by merchants.  The reader then turns the credit card swipe data into audio files that are transmitted through the Square system and turned into transaction requests for card issuers.

But the Square app accepting the dongle’s audio files cannot tell the difference between dongle input and properly recorded audio files from another source.  As reported by Mashable, researchers at Aperture Labs proved someone can hack the Square system with just a little bit of code and a cheap stereo cable:

In order to bypass the need to swipe a card, (the researchers) wrote a simple program — in fewer than 100 lines of code — that enables (them) to feed magnetic strip data from stolen cards into a microphone and convert that data into an audio file. Once that file is played into the Square device via a $10 stereo cable, the data is sent directly to the Square app for processing.

If Square had just digitized and encrypted the data on-dongle before passing it to the on-phone app, this hack wouldn’t work.  Security 101 stuff, really.

Click here to read the complete post on the PayPal X Developer Network including information on a second Square exploit.

Notes from the week of 2011-08-14

RunKeeper and the Health Graph API

PayPal X Platform

Wireless and mobility

APIs and development

Personal things

Running

Design a site like this with WordPress.com
Get started