Get in touch
Insights from the Kablamo Team.
finite state machines
19.10.2021 - By Ben Boyter
You Don't Need a Library for File Walking in Go
Go file walk implementations have radically different performance characteristics. In 2021 the native implementation has improved so much, you don't need anything else.
11.10.2021 - By Ben Boyter
Memcached vs Redis - More Different Than You Would Expect
Memcached and Redis. More different than first appearances would suggest. From how they use memory to how they expire items, the differences are not as subtle as you would expect.
9.9.2021 - By Kai Pridham
5 Practices That Boosted My Engineering Team's Productivity
I have learnt much from experiencing the workflows and practices at Kablamo. Let me tell you about my insights after seeing firsthand how great an impact it can have on productivity.
28.7.2021 - By Ben Boyter
Lessons Learnt Building for the Atlassian Marketplace
Recurring revenue is considered the holy grail for any technology business with SaaS being the main way to achieve this. In 2021 while more people are using the internet than ever, building your SaaS it's harder than ever.
26.7.2021 - By Nathan Hardy
What I Wish I Knew About CSS When Starting Out As A Frontender
CSS can be hard to grasp when you're first learning it. Here are some things that tripped me up when I was getting started that I wish I knew earlier on.
23.7.2021 - By Andrew McDowell
How to model application flows in React with finite state machines and XState
Application state in front-end clients is a complexity that is at best managed, and at worst the reason you can't deliver new features. What if you could know every state your app could be in and ensure that it can only be in those states?
21.4.2021 - By Edward Liu
How to use AWS Glue With external libraries in a private VPC
This approach can be helpful when running AWS Glue in private VPC.
22.2.2021 - By Akshita Bhat
My Experience as Full Stack Intern
My 4-week software engineering summer internship journey @Kablamo
26.11.2020 - By Chintan Dave
Login through Azure AD account in your Cypress tests
How to programmatically authenticate through Azure Active Directory in your Cypress tests in a manner that adheres to Cypress best practices and is also secure and consistent.
2.10.2020 - By Dave Wales
Exploring GeoJSON with Go and its lack of generics
GeoJSON is an open format for geographical data and is used in a wide range of software products and libraries. Golang is a strictly typed language, which means that expressing the data model of GeoJSON can be challenging, because the data structure will change depending on what geometry type you want to represent.
1.10.2020 - By Darrell Chua
Eight Falsehoods Programmers Believe About Map Coordinates
Maps are not as straightforward as they appear. They are really an approximation which can sometimes be misleading because the Earth is not a perfect shape.
1.9.2020 - By Rob Staples
Why automation attributes are a non-negotiable part of web development
End to end UI tests are the bane of testers and developers alike. They are slow, brittle, and need constant updates. They are also indispensable. A good automation strategy will speed up the feedback loop between a defect being introduced and that defect being detected.
28.8.2020 - By Tim Elson
Processing 100GB video on 128MB RAM
It might seem obvious but loading everything into memory is a bad idea. GoDoc examples, tutorials and Stack Overflow posts often use byte slices because its a quick way to illustrate a point but it is rarely the ideal data structure for engineered software solutions.
6.5.2020 - By Roman Revyakin
Security is not your problem
Are you still having an uphill battle with security, does it always feel like just one more problem to solve? Or you treat it more like a feature that gets de-prioritised at each of your Sprints? Perhaps you sometimes even struggle to understand what that "security hype" is all about? Read on and discover how to embrace security to make it the cornerstone of any information system you build.
15.4.2020 - By Dave Wales
How To Create Testable Go Code
This approach can be used to easily mock out any part of the code, including HTTP calls, database queries, and more. There is also an added advantage of making the code more modular and maintainable. Try this out on your own codebase and see how much more of your code you can test!
8.4.2020 - By Darrell Chua
Building a Slack-Connected Raspberry Pi Doorbell
Ever wanted to build a quick Internet-of-Things device? This is a quick tutorial of how to get a Raspberry Pi up and running as a simple doorbell that responds to simple Slack commands.
31.3.2020 - By Ian Mckay
Introducing Amazon Detective
At AWS re:Invent 2019, Amazon Detective was announced as a service to investigate and identify the root cause of potential security issues or suspicious activities. This week the service has become generally available.
21.2.2020 - By Roman Revyakin
the age-long debate
Microservices or monolith? If you are still on the fence, this write-up might show you how to choose the right answer based on your project, team and their skills, budget and time constraints. As an added bonus, a look is also taken at the nanoservices: a fairly new phenomenon on the systems architecture landscape.
19.11.2019 - By Ian Mckay
AWS CloudFormation Custom Resource Types
AWS CloudFormation now allows you to create your own custom resource types with the new Resource Provider Toolkit. This post walks you through the new toolkit's features and how to create your own custom resource type.
6.11.2019 - By Dev Null
How to selectively export identifiers in a package for testing
An example of how to use the export_test.go idiom to unit test a package wrapping AWS Athena.
30.10.2019 - By Owen Kelly
A Guide to Successfully Working from Home as a Software Engineer
Being a knowledge worker in a reasonably modern company affords you some privileges not every worker has — like working from home.
26.9.2019 - By Rob Staples
I put all my integration tests in containers. Here's why you should too
Developing reliable integration tests requires you to control every part of your execution environment, from the operating system up to the source code itself.
30.5.2019 - By Ian Mckay
Optical character recognition with Amazon Textract
Amazon Textract was announced as a next-generation OCR service which not only performs word-based translation, but can also provide form and table value extractions.
10.12.2018 - By Dave Wales
Just tell me how to use Go Modules
A quick, no nonsense guide to getting started with Go Modules. I’m a fan of quick guides – just tell me what to do so I can start using it now. I don’t need an essay on why I should be using it or painful detail on the tool’s inner workings.
Level 13, 33 George St, Sydney, NSW, 2000, Australia
Copyright © 2019. All rights reserved. ABN: 36 618 932 737