What is docker?

When I first came across docker a few years ago, probably late 2014, so a year after it was introduced at PyCon during 2013, I found it a confusing concept. “Like GitHub, but for containers” was a phrase that I recall from that period, which I think ended up causing a lot of my confusion – I conflated Docker Hub with docker the tool.

Since then, I’ve learned more about docker, particularly in the last year. I think that things started to click around a year ago, and over the past few months as I’ve looked further into Kubernetes and written my own pieces of software destined for container deployment I’ve formed my own mental model of where docker fits into my world. This post is about my writing that down to understand its coherency.

Read More…

Cloudant replication topologies and failover

Cloudant’s (and CouchDB’s) replication feature allows you to keep databases in sync across countries and continents. However, sometimes it’s not obvious how to use this basic pair-wise feature in order to create more complicated replication topologies, like three or more geographical replicas, and then how to do disaster recovery between them. Let’s discuss these in turn.

Read More…

Avoiding Cloudant’s HTTP Siren’s Call

I was browsing Cloudant questions on Stackoverflow last night and came across a question about how to securely access Cloudant from directly from a browser. Summarising:

How do I securely pass my database credentials to the browser without the user being able to see them?

Over my time at Cloudant I’ve been asked variants of this questions many times. It makes me think that Cloudant and CouchDB’s HTTP interface is a bit of a siren’s call, luring unwary travellers onto security rocks.

Read More…

Why you should (generally) avoid using include_docs in Cloudant and CouchDB view queries

One of my most often repeated pieces of performance advice when using CouchDB or Cloudant is to avoid using include_docs=true in view queries. When you look at the work CouchDB needs to do, the reason for the recommendation becomes obvious.

Read More…

Apple’s 2016 in review, on the new Macbook Pro lineup:…

Apple’s 2016 in review, on the new Macbook Pro lineup:

Apple has built some laptops that nicely handle the needs of the vast majority of its users. It’s easy to look at the volume numbers on what sells and convince yourself that these edge cases aren’t worth building a device for. That seems to be what Apple’s done with these new laptops.

But here’s the problem: sitting in this niche of excluded users are some of Apple’s strongest supporters, the influencers that create word of mouth, and to me, most importantly it includes a significant number of the developers Apple depends on to create it’s Mac and IOS apps.

Couldn’t agree more.

Read More…