SocratesUK 2018: Sketchnotes, initiation rites, exploding kittens and more

Socrates is an amazing event. I found out about it only by accident, when I became good friends with a colleague who happened to be organising the first SocratesUK. His passion convinced me and so I attended, not quite sure what to expect.

It was good. Very good. In fact it’s even better now, and we owe the folks at Codurance a huge thanks for the effort they invest in making sure Socrates happens year after year. Right now I’m figuring out how to get to another one before the end of the year – maybe France, maybe Belgium. And I’m going to try and do two a year from now on. Maybe more.

What is it that makes Socrates so good?

socrates-logo

Continue reading

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:

whos-afraid-of-the-big-bad-distributed-wolf.pdf

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

Continue reading

WebStorm, BrowserSync, Ubuntu 14.04 and making the links open in Chrome

// I originally ran into this problem and fixed it with WebStorm, but then found another fix via BrowserSync – see the addendum at bottom for more detail

WebStorm is a great IDE for building web apps, front end and back end, and it works on Linux and all the other major OS’s. But the wonderful help links scattered throughout the product don’t always work right out of the box in Ubuntu 14.04 without some WebStorm setup. Here’s what’s wrong and how to fix it (with thanks to Elena and the fantastic WebStorm community support forum)

Continue reading

Design Patterns – it’s 20 years old, is it still worth reading?

Design patterns (the method) are a foundational part of modern CS and software engineering. Design Patterns (the book, aka GOF) is what kicked it all off. But the book is more than 20 years old now, and it shows. Is it still relevant? Is it still worth reading? With that question in mind I picked up the book again for the first time in many many years.

GOF

GOF

Continue reading