Learning Bitcoin and the blockchain with the 21.co bitcoin computer

Estimated reading time:

Digital currencies have been gaining traction for some time now, and although I had a broad sense of what they did and how they could be used, I hadn’t had an opportunity to utilise them in a real world setting. So, I set some personal learning goals and set about achieving them:

  • To learn the terminology associated with digital currencies, in particular Bitcoin, and the blockchain, which would serve as a foundation for building my knowledge
  • To undertake some practical exercises involving the actors, methods and marketplaces for digital currency, allowing me to explore limitations, current and future applications, and understand the enterprise use cases for the blockchain.

Buying the 21.co bitcoin computer

The initial research indicated that the 21.co bitcoin computer would be a good place to start. What drew me to it was that it was backed by some big names in the industry, and its approach to a digital currency marketplace was unique; leveraging micro payments for micro transactions such as sending an SMS or an email. Based on Raspbian and running Linux also gave it bonus points 🙂

The first problem encountered was that it didn’t ship to Australia. Challenge accepted.

Having already set up an Australia Post Digital Mailbox, it was super easy to establish a ShopMate account. The experience here was seamless, and for an additional $AUD 43 my 21.c0 bitcoin computer was shipped from Portlandia to Australia. Win!

The cost of the computer was a bit steep at $USD 399, which worked out to just under $AUD 600 with the woeful exchange rate. Still, I figured this was cheaper than say a formal course on bitcoin or blockchain.

Initial steps

Unboxing, as many fellow geeks will resonate with, is a ritual, and an integral part of any large tech purchase. The 21.co didn’t disappoint. The packaging was sleek, black, minimal and beautifully put together. The Raspberry Pi-based computer was nestled comfortably in black firm styrofoam, with the power cords and accessories stashed underneath.

Inside the box was the 21.co bitcoin computer itself, power cord, and USB cable to connect the board to your computer for initial setup. The USB cable actually had four connectors, but the 21.co board has three pins. The unneeded connector (red) had been cut off, to make setup easier. This was a small detail, but indicative of the thought that had been put into the product. A USB wireless adaptor was included in the box, without which the product would have been almost unusable, so this was a great inclusion. Perhaps the only improvement suggestion here would be to use a WiFi adaptor that supports both the 2.4GHz and 5GHz ranges – my router runs two SSIDs, one on each range, and the included WiFi adaptor was only able to connect to the 2.4GHz SSID.

The only component that wasn’t initially included that I had to hunt up was a US -> ANZ power adaptor, which is forgivable considering 21.co don’t technically ship to Australia.

Behold! The first three @21 Bitcoin Computers in The Netherlands. Want to join the hackathon? Let me know!

The next step was to connect my Ubuntu 14.10 LTS-based laptop to the 21.co and run some setup software. This was excellently documented, with instructions inside the box itself, and also prominently displayed on the 21.co website. What I really liked about the setup was that there was an automatic version, and a manual version if you had more experience on a Linux CLI. There were also options for other operating systems.

I got a little bit stuck on the initial setup, and couldn’t get the setup.py script to run. Initially, I wondered whether I’d triggered an unsafe shutdown of the device, and it was trying to re-index the database, so I let it run setup overnight. This didn’t fix the issue, so I jumped on to the 21.co support Slack (about 0700hrs Australian Eastern Standard Time – so GMT +1000hrs), thinking that no one would be online. Not only was support readily available, it was helpful, polite, friendly, and assumed that technically I knew what I was doing – an excellent support experience. In the end, it was a total n00b issue – the microSD card in the 21.co computer wasn’t seated correctly!

#21co first steps with #bitcoin and #blockchain

A photo posted by @kathyreid_id_au on

 

Learning a bit more

Once I had run setup successfully, I was able to mine my first Satoshis (sub-units of Bitcoin currency). Because it’s now difficult to mine Bitcoin directly, due to the computational complexity, a single machine has a very low probability of successfully mining a Bitcoin block. To work around this limitation, 21.co facilitates a collective approach called buffered pooled mining. In this scenario, many 21.co computers work co-operatively to mine Bitcoin, and collectively distribute the rewards. This means that you may only receive a few thousand Satoshis per day, but it’s sufficient to learn the concepts involved and start to prototype applications and ecosystems that leverage Bitcoin and the blockchain.

The next challenge was to see if I could set up a simple application that utilised the 21.co infrastructure to provide services for micro payments of Bitcoin. Using the tutorial, it was reasonably quick and easy to do. I found all the tutorials were written in really clear, simple terms, and stepped you through the different concepts being demonstrated in a very logical way. There were a few glitches along the way, mostly to do with package management and dependencies, so having at least a basic grasp of apt and pip was very useful.

I’m not sure where I’ll go next with this hardware – perhaps a micropayment webservice or too, but even with the initial steps here I’ve got a much better understanding of how Bitcoin and blockchain concepts can be applied more broadly. I could choose to run the 21 Bitcoin computer as a full Bitcoin node, but my internet connection is so slow that it probably isn’t worth it.

Use cases for the blockchain

The foundation of digital currency – the blockchain – has implications far beyond monetary transactions. The blockchain itself models provenance – the ownership of an asset (in the case of digital currencies, monetary assets) over time. Could it be applied to the physical as well as digital world, for instance to record the change of ownership of physical assets? I’m not so sure.

Physical and digital assets have different properties that may limit the blockchain’s applicability to the physical world – for instance physical assets such as cars, houses and jewellery can both be destroyed, or reconfigured. For instance, I could take piece of clothing and burn it, thus destroying it. The blockchain – or at least the Bitcoin blockchain, cannot easily handle such a use case, and the protocol would need to be extended to do so. It also cannot handle the reconfiguration of assets. Let’s say that I have a string of pearls, with 100 pearls on the string, that was given to be my by mother. The blockchain could record the change of ownership from my mother to I, but let’s say that I cut the string of pearls in half, creating two shorter strings with 50 pearls each, and then I gift one of the 50-pearl strings to my sister. The blockchain could handle this monetarily – splitting one value into two values, each distributed to separate owners, but it could not handle this physically – but recognising that two separate assets had been created where one previously stood. Of course, it’s possible that in time extensions or additions to the blockchain would address these shortcomings – it will certainly be an interesting thread to track.

Privacy and identification in the blockchain are also of interest. The blockchain itself doesn’t identify participants in transactions, which is great for privacy, but not so great for transparency. I suspect we’ll see the rise of services such as OneName which help to identify participants. For instance, imagine if government transactions were on the blockchain – you’d want them to be transparent.

Of course the blockchain itself also represents a unique big data source. As the use of Bitcoin evolves over time, it would be an interesting exercise to observe trends or changes in the patterns of transactions – such as average value, the frequency that BTC was transferred to or from particular addresses and so on.

Another interesting application of blockchain could be in content management and for handling versioning – as essentially a content management system is a series of assets that are mutative via known transaction types. Using blockchain for content management would also help to solve some of the problems around “what did a particular asset or collection of assets look like at a point in time” – as the blockchain contains an entire historical record.

A fascinating area.

 

linux.conf.au 2016 Geelong – LCA By the Bay

Estimated reading time:

So, it’s been about six weeks now since linux.conf.au 2016 Geelong – LCA By the Bay concluded, and after a lot of sleep and catching up, it’s about time to pen some thoughts about the process, the experience and learnings.

Getting linux.conf.au to Geelong

When you think ‘epicentre of opensource’, Geelong is not what comes to mind. Well, it’s not what used to come to mind! So, how did we bring linux.conf.au to Geelong?

Late 2013

Firstly, we needed some core people to put a bid together. David Bell and I had worked on BarCampGeelong before, and had semi-seriously considered bidding previously. We felt that we had a complementary set of skills, and the drive, leadership and passion to make it happen.

We worked with Business Events Geelong, and the wonderful Terry Hickey, to put together a bid document, covering key aspects of what linux.conf.au in Geelong would look like. Business Events Geelong were able to assist with a professional bid document template, and with sourcing pricing to include in the bid document. A couple of hours later, and we had formally submitted our bid to host linux.conf.au!

linux-conf-au-geelong-bid (PDF, 1.5 Mb)

linux.conf.au is chosen by a committee of trusted senior members of Linux Australia, the organisation that umbrellas linux.conf.au and a stable of other events, such as PyconAU, Open Source Developers Conference and a number of WordCamp and Drupal events in Australia. Linux Australia calls for expressions of interest from teams interested in running linux.conf.au every year – bids – and forms a small committee to evaluate the submissions. This normally involves travelling to the bid city, and assessing elements such as;

  • accommodation
  • conference venue
  • transport to and from the conference
  • conference event locations

April 2014

Terry and the Business Events team were amazing at hosting the bid team, and showcased a number of Geelong’s leisure and recreation offerings, cementing the quality of our bid. It was a great opportunity to learn from the bid team, as they assessed our risk management, our planning and our ability to pull together such a large event.

Venue visit for #lca2015 #geelong. Beautiful.

A photo posted by @kathyreid_id_au on


Although Auckland were awarded linux.conf.au for the year ahead (2015), the decision was made to award Geelong linux.conf.au 2 years out. This was an excellent decision, and provided long term stability not only to the event, but also provided the conference team with a longer term planning horizon.

Woo! We won a bid for linux.conf.au! Now what?!

Once we had a strong idea of how the main conference venue (Deakin University’s Waterfront Campus) would work, we focussed our efforts on preparing to showcase Geelong as an outstanding venue at linux.conf.au 2015 in Auckland. Often, the next year’s conference prepares promotional material or flyers to help encourage conference attendees. We had decided on our conference theme of

life is better with linux

and in keeping with the theme, worked with Martin Print to have NFC keyrings printed.

Now the hard work began. Firstly, we needed to ensure that our conference management system was functional. linux.conf.au traditionally runs on a piece of software called ZooKeepr, and it needs a bit of maintenance each year. Luckily, we had Josh Stewart and James Iseppi to give us a bit of a hand, and with David Bell being generally awesome with anything technical, in no time we were able to get ZooKeepr ready for the Call for Papers.

Call for Papers (#CfP)

The Call for Papers (#CfP) happens about 6 months before the conference, and the challenging part for conference organisers is ensuring not only that there are a large volume of submissions, but that the quality of submissions is of a quality fit for an internationally renowned conference. One of the ways in which the conference spreads the word about #CfP far and wide is to reach out to all past Speakers of linux.conf.au and encourage them to make submissions. We also lean heavily on the Papers Committee, the group of senior and respected Linux Australia members who review the #CfP submissions and make recommendations to the conference team on which submissions should be accepted into the conference.

This year, the conference team decided to add another type of submission to the mix – Prototypes – alongside the standard 45-minute Presentation and 110-minute Tutorial. This worked out wonderfully and some of the most popular talks of the whole conference were submitted as Prototypes – including the crowd-favourite Linux-powered microwave by David Tulloh.

Thanks to the efforts of Papers Committee and past Speakers, we received almost 300 submissions, and the overall quality was excellent. The Papers Committee spent a day in Sydney in in August making some very tough decisions, and after around 10 hours we had our Schedule! I was incredibly impressed by the talent in the room, and the generosity of the Papers Committee to give up their time – and in many cases their own coin – to travel and attend.

Schwag

While I was busy liaising with Speakers and getting travel organised, and David was busy with event venues for our conference events, Sae Ra Germaine was being a superstar with our schwag. She found an excellent supplier for our conference bags, Ecosilk, and designed a contemporary yet simple t-shirt for our delegates (navy) and volunteers (orange). She also worked to ensure that we had sunscreen  and hand sanitiser as part of the Schwag bag.

#lca2016 all tired out.

A photo posted by ms_mary_mac (@ms_mary_mac) on

Sponsors

David took a strong leadership role in Sponsorship, and developed a Sponsorship Prospectus, and negotiated sponsorship agreements with all of our fabulous sponsors. Many of our Sponsors support linux.conf.au year after year – without them, the conference wouldn’t happen. One of the challenges the conference has is having to re-establish sponsor relationships year after year, and our Ghosts debrief session and good documentation helps to ensure continuity.

Venue and catering

Deakin University’s Waterfront Campus and Costa Hall are beautiful architecturally, and provide a wonderful environment for collaboration and learning. However, the campus cannot hold 600 conference delegates in a 5 stream conference easily. So, we worked with the National Wool Museum, located a block away from Deakin, who had a conference room available. Another benefit of this arrangement was that delegates were able to see the jacquard loom – programmed via punch cards that the Museum had in their collection.

Patching a bug on a two story high computer. #lca2016

A photo posted by John Dalton (@varrqnuht) on

We worked with Waterfront Kitchen to arrange lunch options for delegates, and arranged to have menus placed in the Schwag bag. WFK also handled all catering for the conference, including morning and afternoon teas. We also made the decision to have core team and volunteer lunches fully catered, so that we could free up time during the busy conference period, and this proved to be a wise choice. We received nothing but positive feedback from our delegates regarding WFK’s catering – the variety, the attention to detail and handling of special dietary requirements.

By November, organisation of event venues was in full swing. linux.conf.au has three traditional conference events – Speakers Dinner, Professional Delegates’ Network Session (PDNS) and the main conference dinner, the Penguin Dinner. Speakers Dinner was held at the fabulous Balmoral at Fyansford, with the Limoncello String Quartet for music.

PDNS was held at the fabulous Little Creatures Brewery, and it was perfect. Great beer, great food and great company. It was amazing to see over 300 people of linux and opensource having a great night out.

 

Our Penguin Dinner was at the fabulous The Pier restaurant, and was an amazing night out for all concerned.

AV and Networking

A great conference needs great AV and networking, and we were fortunate to have some wonderful people, including Andrew and Steven working with us. The networking crew laid over 200m of fibre optic to the Wool Museum so that they could have solid internet, and we utilised the services of AARnet for our on-campus networking. Deakin University also provided phenomenal support, working with AARNet to provide strong wireless across the conference venues.

A great team

There were so many different parts of linux.conf.au that had to come together to make it an excellent conference, and the entire team needs to take credit for that. Aaron, who co-ordinated our childcare arrangements, which was greatly appreciated by attendees, Brittany whose excellent accountancy skills kept us very well budgeted, Michael whose social media prowess ensured we trended nationally, George who provided a helping hand where it was needed, Erin who was our Rego super-hero, Josh who helped us keep ZooKeepr and our payment gateway under control, Daniel our stellar volunteer co-ordinator and Brett whose photographic talents and video production blew us away – every single person was part of an amazing, productive, motivated and awesome team that I was so incredibly proud to be a part of.

LCA2016 - Wednesday

Installing the Wacom Intuos Pro PTH-651 under Ubuntu 13.10

Estimated reading time:

As a present to myself for getting a high distinction while studying my IT Masters, I decided to get a reasonable graphics tablet. As a hobbyist graphic designer and photographer, it was an area I was keen to develop skills in. In determining which model to buy, Wacom was really the only choice – they are the undisputed market leader in this space. The Bamboo range wasn’t function enough for what I wanted, so opted for the mid-range Intuos Pro model, the PTH-651.

The lovely folks at BCC Computers in Geelong put one on backorder (apparently they’re really popular, they kept chasing for me, which was great) and within a couple of weeks I had the device in my hot little hands. It’s just as well that it arrived after linux.conf.au 2014, otherwise I wouldn’t have packed for conf!

The other complication was that I had a Masters’ assignment due; my wonderful work colleague T played Dad and ‘kept it safe’ for me for the week or so until the assignment was finished; then my toy got released! Thanks, T 🙂

Installation under Windows

The tablet installed beautifully under both Windows 8, my home machine, and my work laptop running Win 7 Professional. In both cases I had to reboot, but the software installed easily and immediately I was able to use it.

Getting it installed under Ubuntu 13.10 Saucy Salamander

Installation under Ubuntu was a little more tricky. The good folk at BCC had warned me that I would have to use this difficult thing called the ‘command line’ when I made initial enquiries; this was where I pulled out the photo of my “other” Nexus 4 running Ubuntu Touch and demonstrated this was probably within my capability!

Nexus 4 runnung Ubuntu Touch

I was not to be deterred.

So, after unpacking and installing the Intuos under Windows, I booted into Ubuntu and set to work. Initially, there was nothing. Not even a hesistant jitter from the cursor to indicate it knew of the Intuos, and the Intuos knew of it.

After some reading on the Ubuntu forums, I happened across instructions for downloading, compiling and installing the latest version of the Wacom drivers, from the Linux Wacom project. I’d had mixed results backporting previously, like when I had to backport the Atheros ethernet drivers into my ASUS N76.

This time, fortune was on my side. The new drivers installed perfectly and after a reboot, my Intuos was recognised, and the (still somewhat limited, but vastly improved) control panel was in System Settings.

Mission: accomplished

Other thoughts

Everything about this install was intuitive, other than for changing the nibs on the stylus, which Wacom had helpfully done a video of.

Will my mouse be gone foreover? I’m not sure. Going entirely to the tablet takes a little time and practise, but just like learning a language it’s a skill I’d like to get some more fluency in. I still have a lot to learn with swipes and other gestures, but for now I’m off to a flying start.