Note: a few days after I published this post, the spree team launched a
new website. For the moment you have to visit a specific url to get to
the spree deployment service: http://spreecommerce.com/stores.
Clicking on a store name takes you to a page where you can select the
deployment service under the Add Ons heading, and from there follow my
instructions in this post.
I’ve also noticed that the team has published an ansible configuration
guide. You may prefer to use that if you like ansible, or like having
more direct control. There’s a manual configuration guide as well.
Before I get started, if you want to follow along with this post, you’ll
need to install the following:
If you haven’t worked with git before, you’ll need to do some basic
configuration. It will give you directions the first time you try to
use it, so I won’t go over it here.
I’ve added a QR code and link to my bitcoin public address. I did this
not really because I expect anyone to send me money but rather so I
could have the experience and so I could have a way for people return
money I send.
See, one of the best ways to get people interested in Bitcoin is to put
some in their hands. As long as transaction fees are low, it’s pretty
easy to do. If one is a Chrome user, it’s as simple as loading the
extension and getting them to create an address and copy/paste it to
While you don’t want to send any more than you can afford to lose, if
you trust the person it can be an eye-opening experience for them to
have a couple-hundred dollars worth of bitcoin show up in their wallet
in the space of a couple minutes. I wouldn’t do it with a stranger in
that amount, but a family member or trusted friend can really understand
the power of Bitcoin in a couple minutes in a way that they can’t with
just an explanation.
While KryptoKit is a fine wallet, it’s not really safe to store large
amounts unless you’ve got an encrypted backup of the private key.
That’s not something I worry about in my little demo, so don’t leave
your bitcoin in the unbacked-up wallet for long. Have them transfer it
back to you to complete the demo.
Like lots of folks, I’ve taken a much stronger interest in bitcoin as an
emerging technology of late, especially after the runup and crash of
November this year. While there is a ton of volatility in bitcoin, I
can’t help but be optimistic about its place in the future. I’ve put
together this list of resources which I’ve found useful in getting to
know how to understand and use Bitcoin. Enjoy.
What’s so great about Bitcoin? It’s a payment system that’s extremely
fast, reliable and most of all, inexpensive. It lets you purchase on
the Internet without the need for credit. It also lets you do what you
want with your money without having to involve a bank or credit
institution, no matter the size of the transaction. And it lets you
give money to family and friends, just like you can’t do with a credit
card. If you’re a small business, you can also receive money without an
expensive merchant account or the risk of chargebacks and asset freezes.
Before we start, I know there’s one question that’s killing you: is it
Bitcoin, bitcoin or BitCoin?
If you guessed BitCoin, wrong answer, that’s right out.
What it is
A css file and markup technique for putting form fields into a regular,
columnal format that degrades gracefully without css by the use of css
2.1 table display property values.
How to get it
See this gist. You can see it in action at this jsFiddle, but the
gist is better for downloading since it always gives you the latest
version while the same is not true of the jsFiddle.
How to use it
Add the css to the rest of the css for your site. When creating a form,
decide whether you’ll be using lists or divs. The basic list version
<li> <!-- each li is a row -->
Ruby can be tricky to upgrade. When I went from ruby-1.9.3-p192 to
ruby-1.9.3-p327, my development Spree store stopped working because of
the debugger gem. After some research, I found that I had to run the
gem pristine debugger-linecache to get it working after the
After upgrading from ruby-1.9.3-p327 to ruby-1.9.3-p362, I started
getting segfaults when trying to run Spree. As it turns out, it really
was a ruby bug and so I downgraded from p362 back to p327 and waited for
the next version.
Now that p374 is out and claims to fix the segfaults, I wanted to give
it a try. Upgrading was no easy feat this time either, in fact, it was
the most complicated yet.
I tried upgrading through rvm with the
rvm upgrade ruby-1.9.3-p327
ruby-1.9.3-p374 command (this is on Ubuntu 12.04.1). That failed with
a message saying to read the log, which told me there was no checksum
available for the ruby download, but I could force it anyway.
Rather than do that, I did some quick research and decided to update
rvm get latest. This worked, but I did an extra
anyway just to be sure. Unfortunately, I forgot to do the reload in my
other open shell window as well, so it gently reminded me to do so when
I tried using it. Not only that, even after rvm had been reloaded I had
trouble with gems being found after the ruby upgrade. I had to reload
rvm once more after the ruby upgrade completed for bundler to work.