Fri 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
< 1 2 3 4 5 >