Pinnedstatus.gallery: a LowJS reactive web app — Part 2This is the second part of a set of articles on a real-world application (called “status.gallery”) which uses a reactive Spring WebFlux backend with Thymeleaf templates and Kotlin Coroutines, Kotlin Flows and Server-Sent Events using HTML content. The set of articles covers: LowJS frontend (Hotwire, fragments, SSE, Bootstrap) Reactive backend…Lowjs7 min readLowjs7 min read
Pinnedstatus.gallery: a LowJS reactive web app — Part 1This is the next in a series of #LowJS articles, which started with sample code for an introduction to Hotwire. It used a reactive Spring WebFlux backend with Thymeleaf templates and Kotlin Coroutines, and one of the examples sent updates to the frontend using HTML content in Server-Sent Events (SSE). …Lowjs9 min readLowjs9 min read
PinnedHotwire: HTML Over The WireI’d like to share my experience of encountering Hotwire from the team at Basecamp which was extracted from the tooling used to build their Hey product. I was so pleased to see DHH tweet about it and took some time over my end-of-year vacation to delve into it. [Thanks to…Html512 min readHtml512 min read
Aug 26, 2021Pulumi and LocalStack — beyond the basicsIntroduction I first encountered Pulumi a few years ago when I was getting a little frustrated at the lack of some expressibility in Terraform. I’ve been using Terraform from almost day 1 and it really does the job well — providing you really grok its declarative nature, are very good at…Infrastructure As Code12 min readInfrastructure As Code12 min read
Oct 25, 2017Combining an existing git repo with Keybase encrypted gitWhen developing software, particularly with larger cloud-based distributed systems, there are often a few secrets that need to be disseminated in a secure manner amongst the developers and to the services that use them to unlock credentials. In systems with many credentials, services, and instances, storage of these secrets is…Git6 min readGit6 min read
Aug 14, 2017JSON Home: Why, What, and How (with Clojure)Having RESTful components programmatically traverse links in hypermedia — much like you just did when you clicked on a link to get here — is an appealing capability. A format like HAL is useful for a resource to dynamically augment itself at run time with links to other resources. But…Json Home7 min readJson Home7 min read
Apr 12, 2017Sailing the Jenkins Blue OceanAround July last year, with the introduction of some new components in the systems we build at mPort, we also introduced some new CI/CD tooling. I’m experienced with the tools built by previous companies I’ve worked for (particularly ThoughtWorks and Atlassian), so GoCD and Bamboo were good candidates. Jenkins was…Continuous Delivery5 min readContinuous Delivery5 min read
Feb 24, 2017Docker, file permissions, and line endingsHere at mPort, we have a multi-platform technology team (Windows, macOS, Linux). This brings interesting challenges when collaborating on the same components. Docker is an obvious choice to mitigate those challenges, but it introduces a few more corkers along the way. This post is about the journey of us trying…Docker6 min readDocker6 min read