Kamil Woźniak 🧑🏻‍💻

Software Engineer @ AirHelp (Cracow, Poland), interested in artificial intelligence, cybersecurity and software architecture.

How to migrate your production database to Postgres

In the tech world, change is the only constant. As a software engineer, I recently faced the challenge of moving a large database from MariaDB to Postgres within the AWS RDS environment. This transition was prompted by a strategic decision from our platform team and management. They determined that, moving forward, we would standardise on Postgres, phasing out other database engines like MySQL and MariaDB by setting end-of-life (EOL) dates for them....

November 29, 2023 · 14 min · Engineering · Software Design · Databases

Embarking on My First Prompt Engineering Adventures with LLMs

Welcome, fellow tech enthusiasts! If you’re reading this, you’re likely just as intrigued by the world of Large Language Models (LLMs) and prompt engineering as I am. As a newbie, I’ve decided to document my journey to better understand LLMs, their capabilities, and the potential they hold for us in the future. In this blog post, you’ll find my personal notes, thoughts, and discoveries, all captured in a casual, conversational style....

May 1, 2023 · 15 min · Engineering · LLM · AI · Prompt Engineering

Bcrypt: a Future Proof Solution for Password Security

Passwords are an essential part of our digital lives, and they play a crucial role in protecting our online identities and sensitive information. However, not all passwords are created equal, and the consequences of a compromised password can be severe. This is where password security comes in. To keep passwords safe, one of the key components of password security is password hashing (which we discussed in my previous post). Password hashing is the process of converting a plain-text password into an unreadable string of characters, making it more difficult for attackers to access sensitive information....

April 22, 2023 · 11 min · Engineering · Cryptography

Building a Scalable Application Monitoring System with AWS CloudWatch

Keeping modern software systems healthy and performant requires application monitoring. With the increasing complexity of modern applications and the rise of microservices, it has become even more a necessity to have a comprehensive monitoring solution in place. With AWS CloudWatch, you can monitor applications in real-time and diagnose issues before they get worse. This blog post will guide you through the process of building a scalable application monitoring system using AWS CloudWatch....

March 30, 2023 · 12 min · Engineering · Software Design · AWS · Terraform

Leveraging the Fan Out Pattern to Build Scalable Systems

In today’s world, businesses need to handle massive amounts of data, and the ability to scale quickly is paramount. In this article, we will explore the Fan Out Pattern, a design pattern that allows us to scale our systems horizontally. We will also look at how we can implement this pattern using AWS services (SNS and SQS) and automate the process with Terraform. Building Blocks Before we dive into the details of the Fan Out Pattern, let’s take a look at the building blocks that we will use to implement it....

March 4, 2023 · 7 min · Engineering · Software Design · AWS