THE BLOG
Insights from the Kablamo Team.

Stepwise approach to debug 🎭 Playwright test written in TypeScript within the VS Code

Debug your automation tests in 6 steps. With visual example of playwright using TypeScript in VSCode.

My Summer Internship Experience at Kablamo Canada

A glimpse into what it looks like to be front-end intern at Kablamo!

The Easiest Way to Understand How Appium Works

Learn How Appium works with simple examples and set-up code.

What are spectral indices in remote sensing?

Spectral Indices are a set of mathematical equations performed on a per-pixel basis on data coming from multi-spectral remote sensing (satellite) data.

Mock Testing with Stoplight Prism

How to mock third-party services for integration testing of your own business logic. It's simple yet powerful.

What is React and Why Does It Shine?

Diving into React capabilities that make it truly amazing in modern web development.

How Satellite Data and AI Can Shield Australia’s Hunter Valley Wine Industry

Harnessing Satellite Data for Land Health and Risk Assessment

AWS half-baked deployment framework

The road to a successful and easily reproducible AWS infrastructure deployment is riddled with pitfalls and you do not want to introduce more of them by using an abstraction layer that brings even more pain and tears.

Performance test tool comparison

A quick analysis of the different performance test tools out on the market.

Get startd with API testing using nightwatch V3 🦉

Set up and run API testing 🚀 rocket fast using latest version of nightwatchJS.

Everything You Want To Know About Media Queries and Responsive Design

Learn all about media queries, responsive design principles and techniques, and the mobile-first approach we take at Kablamo.

Guide to generate cool graphs 📈 after K6 run

Convert your k6 performance test results from local machine into meaningful graphs for analysis.

My experience as a frontend intern at Kablamo Canada

My 4(ish) month software engineering internship journey @Kablamo Canada

Service Workbench Scaling - Part I

How to disable bucket policy updates in Service Workbench, and integrate Lambda functions with DynamoDB Streams

Seven features we added to a basic configuration of Service Workbench

The ways to improve Service Workbench observability, security and usability

Integrating Service Workbench and Session Manager

AWS-built solutions like Service Workbench assume you'll be using SSH to connect. But there are better ways.

One way to do Front End automation with Playwright Framework

A more clean and meaningful way of writing automation test cases with ticket referencing

Go Generics for Field Level Database Encryption

Using Go Generics, struct tags and reflection to implement a generic solution to a data encryption problem

Testing SMS 2FA with Twilio and Playwright

A few years ago I had the experience of having a login page with two-factor auth for a client. We had to get creative.

Uses This - Gene Maddison

Find out what the Kablamo Team uses on a day to day basis.

Uses This - Tobias Dyhrberg

Find out what the Kablamo Team uses on a day to day basis.

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.

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.

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.

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.

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.

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?

How to use AWS Glue With external libraries in a private VPC

This approach can be helpful when running AWS Glue in private VPC.

My Experience as Full Stack Intern

My 4-week software engineering summer internship journey @Kablamo

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.

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.

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.

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.

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.

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.

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!

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.

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.

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.

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.

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.

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.

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.

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.