Announcing: VoltProcTools v0.0.1

tl;dr: A collection of tools to make VoltDB dev work easier – available here

VoltDB is great and it’s stored procedures are even better. But distributed systems can be hard. VPT is a collection of tools that will hopefully make working with VoltDB just that little bit easier.

Right now, it’s only one tool, and really just the initial version of that: console-runner-builder. This walks your code-base, lints your stored procedures and generates runner classes that let you execute your stored procedures with type safety. The goal? Elimination of a pernicious species of bugs which usually lie invisible until your production system folds in on itself in a pile of burning silicon. See the issues and¬†road map for some early thoughts on other tools and improvements to come.

The ultimate goal is a rich ecosystem of tools that make using and developing for VoltDB safer, faster, easier and more productive. In short? Distributed systems are complex, but they don’t have to be difficult.

Feedback and comments very welcome – comment here or raise issues on github ūüôā


VoltDB: How to write high-performance stored procedures that work (the checklist)

VoltDB stored procedures are Java classes. You add some SQL statements, pass them to magic functions and Wingardium Leviosa –¬†a high-performance DB that’s all nice and Java-like. Right? Right?

Not quite. Writing correct, performant VoltDB stored procedures can be a little bit fiddly. I’ve written about this before. Here’s a listicle that tries to catch it all in one convenient checklist.

Continue reading

A step-by-step guide to using LetsEncrypt for HTTPS/SSL on Heroku Node

Updated 20170422:
Some handy news: If you aren’t using a CDN and are using a paid dyno, Heroku can do LetsEncrypt SSL setup and renewal automatically. See here and here for instructions.

Any modern website worth its salt enforces¬†HTTPS. The first critical step in this is to get a certificate whose root is trusted by modern browsers. Until recently, that meant paying a lot of money, but now it can be done for free with¬†LetsEncrypt¬†¬†and a minima of technical nous. This blog post is how I did it for a Heroku-hosted web app. It’s a step-by-step reference so I can save my future thinking for other things and maybe it’ll be useful for other people too.

Continue reading

Who’s afraid of the big bad, distributed wolf?

At Socrates Germany¬†I heard a couple of dev’s tell me distributed systems weren’t needed, and many more say that they were too hard and too scary…

So here are some slides from my LSCC talk: a gentle introduction for devs to distributed systems and why we need them, with (almost) no maths or theory required:


And since I can’t be bothered writing any more words, here are¬†images from some of the slides…

Continue reading