The following 9 posts are tagged with the tag software.

Validating ECDSA Signatures in Golang

30 Nov 2018   software  cryptography  go  golang 
Elliptic curve cryptography (ECC) seems to be used quite extensively in blockchain applications, and so naturally digital signatures based on ECC are quite important for message validation. Validating ECDSA signatures in Golang seems trivial at first, but then one quickly gets lost down a rabbit hole of cryptography and different data representation formats. I thought I'd document how I personally went about doing this when transmitting ECDSA signatures in JSON messages, to be validated using Golang. Read more

Rapid Prototyping vs Best Practices

03 Aug 2018   software  prototyping  architecture 
When kicking off a new project, whether working on an existing code base or a new one, should one rapidly prototype the solution (at the risk of writing throwaway code), or should one apply as many best practices and sound architectural approaches as one knows (at the risk of over-engineering the solution)? Towards which of the two ends of this spectrum, or where between the two ends, does one aim? Read more

Lessons in Containerising a Cron Job

10 Feb 2018   software  docker  containers  dirtyhacks 
It's a really bad idea in general, and there are much better ways of Dockerising an application that needs to run at regular intervals, but there's something to be said for dirty hacks that buy you some time to do things better. Especially so when there's uncertainty around what you're building. Rapid prototyping, in such instances, followed by one or more iterations of productionising effort, can yield great results. Read more

Enterprise Security with Spring and Vault

06 Jun 2017   software  security  java  spring  vault  enterprise 
Spring Framework is an incredibly powerful framework, and Spring Boot lets you get up and running with Spring in next to no time. What happens when Spring meets Hashicorp's Vault for enterprise-level secrets management? Read more

The Blockchain can Revolutionise Business

Just not in the way it's being punted by marketers, "strategic business thinkers" and banks at the moment. Its real value lies in its ability to decentralise trust, taking that trust away from (centralised) organisations and putting that trust into open, transparent computing algorithms, code and the community. Read more

Generating Secure Passwords

07 Dec 2016   security  software  projects  passwdgen 
How does one go about selecting an appropriate password generation strategy? After doing a little digging into the topic, and trying to refresh my mind on concepts such as information entropy, it turns out that some of the most difficult passwords to crack right now are simply five randomly selected words from a pretty large dictionary of plain English words. Read more

Making Statik Backwards-Compatible

21 Nov 2016   statik  software  projects 
Statik, the static web site generator, can now be used with Python 2.7+, where it used to only work with Python 3.5+. The latest release, v0.8.0, fixes several minor issues. This post documents some of the process of making Statik backwards-compatible with Python 2.7+. Read more

UX and System Architecture

12 Jul 2016   ux  architecture  philosophy  software 
What is the relationship between user experience and system architecture, and what works and what doesn't? Read more

Building a Static Site Generator

06 Jul 2016   statik  software  projects 
I've recently built and published my own static web site generator: Statik (, aimed at software developers. Read more