Learn how to diagnose and fix Kafka Connect Dead Letter Queue issues fast. A production-tested playbook for triaging DLQ floods, identifying root causes, and preventing data loss in streaming pipelines.
Kafka’s new KRaft architecture replaces ZooKeeper with a built-in Raft-based metadata quorum, making the platform simpler, faster, and self-managing. In this post I explain how metadata now lives inside Kafka itself, why the change was needed, and how KIP-833 enables smooth migration from ZooKeeper to KRaft.
An in-depth look at Kafka Connectors, focusing on their architecture, transformation features, schema management, error handling, and scalability. Includes practical configuration examples and lessons learned from real-world deployments.
In the world of data management, we often talk about schema migrations. But what exactly is schema migrations, and why it is so crucial to have a proper plan for data management? I will show you naive approach, explore some traditional solutions. We will see Delta Lake in action, but also how we can do schema migrations with our own way.
Often, we leave the intricate details of data structures and performance to the DB Admin team, assuming that upscaling servers will solve everything. I used to think data modeling was just a fancy term for database design with only one right way to do it. Let’s talk about the crucial differences between transactional and analytical data modeling, each with its own tools and techniques
Volumes in Kubernetes are used to store data used by our applications. So that concept is very similar to volumes in docker containers. But there are some subtle differences, as always in life; nothing can be simple. :) There are many types of volumes in Kubernetes, and in this post, we will group them by properties and see some of the most common types.
Interviews are the dreaded part of the job search process. They can be nerve-wracking, stressful, and sometimes downright bizarre. Only software engineers will understand what I am talking about. What if I could show how conversations on interviews feel to non-software engineers?
Imperative approach using kubectl .... is great, but we came at some point to situation where our commands became too long with many parameters or that running the same command again and again was time-consuming and more error-prone. That is where we stop using imperative approach and start to use declarative approach with Kubernetes Resource definition files.
Kubernetes is more flexible and extensible tool, provides more mature features, like self-healing, rollouts and rollbacks, secret management, auto-scaling and I mean really large scale applications, adoption by big companies like Google, Microsoft, Amazon, IBM, etc. and can run in single cloud, multi-cloud, on-premises, hybrid cloud, etc. This might take longer to learn, but at the end it is worth…
I am using docker in personal and professional projects for a couple of years now. Like everybody else, I learned it as I went along and learned as little as I needed to know to be able to deliver what I wanted. I never had a chance to sit down and look deeper into it (as no one does these days). But from time to time, I like to dive deeper to figure out more about handling data with docker. And…
Lifetimes in Rust are a way for the Rust compiler to ensure that the references are always valid. They prevent dangling references or data races. The compiler is checking the lifetimes at compile time. If I am right, Rust is the only language that has this concept. In this post, I will show you how to use lifetimes in functions, what doesn’t work, what not to do and what are the best…
Ok, so you have a fresh installation of Ubuntu 22.04 (Jammy Jellyfish), and you would like to update the default Python 3.10 that comes preinstalled in Ubuntu 22.04 to the latest version. It seems trivial, as you think that you can just uninstall the old version and install the new one. But it is not that simple. The problem is that Ubuntu 22.04 uses python 3.10 for some of its internal tools, and…
Today, we will use GPG for signing Git commits and tags in Git, so that we can verify that the commit or tag was made by you and not someone else. So to say that the code was not tampered with. This is a great way of making sure that the code you are working on is not modified by someone else without your knowledge.
Single-threaded, multi-threaded, concurrency, parallel tasks, async task… These words are used by programmers on daily basis and while most of us understands them (fingers crossed), I believe we are using this lingo in presence of non-technical people to confuse them? or to give them more detail, with little success. Let’s recapitulate what this all is, in very high level.
A symbolic link is a special form of a file. Actually it is not a file just a pointer to a file. This link points to another file somewhere in the file system. You can create link to files and folders. By the look, feel and functionality it is same as Windows shortcut or alias on iOS systems. If the content of the original file changes, so does the content of symlink.
Node.js is javascript runtime. I am not going to explain why and how it can be used. You might be familiar that sometimes you just need other version, sometimes newer version, other times older version. There is an easy way to manage those versions with a single command and that’s what I want to introduce you to today.
In previous article, I demonstrated how to set up continuous Integration, that means how to test the code automatically and find out if it is the newest changes to code broke it or not. Now that you are automatically testing your commits, the next logical step in automation process would be to release our tested code to live website. We would want it to happen automatically, when all tests pass.
We, developers, are producing websites or applications for many years now. What kinds of tasks needs to be done, before we see the changes live on web. This was a big unknown to me for a very long time. Is my process of deploying the code the best practice? Should I do it other way?
About The Mattel Play is the newest attraction of the Heritage Great Britain’s. It’s family attraction in Albert Dock in Liverpool with on site café, retail area and three themed zones for children. The developers team basically is one persons team. I decided to use own CMS developed in previous project and make changes required in this project and improve the CMS where possible. Used…
About The Land’s End Hotel belongs under the Heritage Great Britain’s. It’s hotel placed next to Land’s End in the very south-west part of British Isles. Used skills analysing requests and preparing proposal based on requested functionality own CMS, built on top of Laravel framework using composer and PSR4 autoloader. CMS in version of Laravel 5.0 mySQL for storing all data…
About Volcano Falls Adventure Golf is an adventure 65 Million Years in the making, a quest you will never forget. The website is built in old PHP code using MVC pattern, with mainly static content. This client occasionally request some changes to content, fixing issues or adding some new functionality. Used skills maintaining code and removing OWASP issues. refactoring where possible and replacing…
I would like to describe how to set up xDebug to work in your phpStorm IDE. There are different options available depending on your preference - you can have xDebug always try to initiate a connection for your devbox, or you can use browser plugins and extensions to choose when xDebug should try to run.
I’ve heard about some cool stuff that google is doing in one of software engineering podcasts. One of the tools was google pagespeed mod . It seemed to improve performance of the Apache2 webserver so I decided to give it a try.
About Towns.cz is a MMORPG based on Single Page Application. I am responsible for developing API server, the backend of the game, where clients will be able to connect, get and store their games progress. The game is still in development and is not open to public. Used skills Node.js server using Express framework mongoDB analysis and preparing game logic weekly scrums with development team…
About The Needles is one of the Heritage Great Britain’s attractions. The code of website was old and wasn’t using proper MVC pattern. It also didn’t offer CMS functionality. Design wasn’t responsive and wasn’t very attractive in means of todays design of websites. The developers team basically was one persons team. The project had needs of special functionality, and…
We already had our codebase under git repository. I didn’t want to lose the history of commits. We also had some branches, with some dev work on it. Those branches weren’t approved and safe to merge into master branch. I wanted to have all this stuff also on bitbucket. You will see that this process is really easy.
Repositories these days are one of the basic stones of any software development. It allows teams of people to work together on one piece of software and allow every team member to see who made what changes, when and why. Repositories basically hold the copy of all changes made to code and also gives you the latest, most recent version. I don’t want to go deeply into why is it good and why we…
About Snowdon Railway is one of the Heritage Great Britain’s attractions. The website is built in older version of Laravel framework and the cms functions of website are on quite low level. The code is using some PHP5.2 functions and is showing deprecated warnings in logs. Even so, I was said that the website is considered as quite new one and only servicing of urgent issues was required.…
Web pages these days have many images. They are also called multimedia rich web pages. It may take a long time to load all of them. Each image means a server request from browser. Did you know that browsers these days download concurrently only 6 resources?
About Lightwater Valley is one of the Heritage Great Britain’s attractions. The code of website was old and wasn’t using proper MVC pattern. It also didn’t offer CMS functionality. Design wasn’t responsive and wasn’t very attractive in means of today’s design of websites. The developers team basically was one persons team. The project had needs of special…
Php modules or extensions are pieces of code for PHP, which extends the basic functions and add or improve the existing functions. Some of them are already bundled with PHP and can be easily enabled or disabled. There are also external PHP modules which can be installed to system and then enabled in PHP.
Apache modules are software components that enhance the functionality and capabilities of the Apache HTTP Server. These modules are designed to extend and customize the server’s core features, allowing administrators and developers to add additional functionalities as per their requirements.
Today we will be creating virtual host on Apache2 web server. As one Apache2 web server can serve multiple websites we can later add more configs and tell Apache2 web server to serve all the websites from single unix instance.
I often need to add some scheduled job on server. I mean something that runs periodically, like every day or every hour. You simply add a command that will run as scheduled and when I say command it can be anything that your system is capable of running. Therefore, it can be shell command or script or even a java application. But let’s look closer how could we set up our own cron task on…
Composer is the dependency manager for PHP. That means that chunks of php code, which are tested and each package solves one some problem are packed into a packages and added to packagist repository. Using composer we can get those packages and add them into our codebase, and so reuse the stable code.
Today we are going to install the public key on server, that we want to use. The point of installing the Public key is to get to the target server, locate the authorized_keys file (usually in home directory inside .ssh folder) and add our public key to this file.
About Jamieson Contracting is a leading construction services company based in the North West. They have approached us with request for website and brochure where they could present all things they do. They want to have some basic CMS functionality and attractive design with images of their work. For this project we used WordPress CMS and designed template and implemented it. Used skills built…
About CQ2 are a design agency based in Manchester. It is also a place where I currently work. For many years we use WordPress CMS and our own designed template. Each website needs some time some new functionality or updates, called maintenance, which was my responsibility. Used skills maintaining and upgrading Wordpress based website making amends using css and javascript (mainly jquery libraries)…
About Land’s End Landmark is one of the Heritage Great Britain’s attractions. It’s located on the far south-west point of the British Isles. Their webpage was very old, the code was static and didn’t offer CMS functionality. Design wasn’t responsive and wasn’t very attractive in means of today’s design of websites. The developers team basically was one…
I would like to present some stuff I’m working on or was working on, to show you what level of expertise you can expect from me, in case you hire me.
About Carphone Warehouse is dealer of mobile phones and sim card services for major operators in the United Kingdom and has great resellers programs. One of the main in house resellers is E2save. E2save website is trying to concentrate on budget type of customers, not always pushing the latest iPhones and Android phones but the other cheapest ones rather. The main website was used since Carphone…
About TalkTalk offers many services like broadband, tv packages, telephone and mobile phone services. The part of company responsible for talktalk mobile phones has worked together with Carphone Warehouse Online Solutions in time, when I was working there. I was one of two developers in CPW working on talktalk projects. I was developing vouchers system which could be applied in checkout process to…
About My-wardrobe was a stylish online luxury fashion boutique with a office in central London and store in Nottingham. It was selling menswear and womenswear mainly in UK and was also trying to expand globally, mainly to Europe and Australia. As a web developer I was responsible for building pixel perfect weekly javascript features, newsletters, coding new features on website, like loyalty scheme…
About Website is a site full of Jokes nad funny stories. There is possibility to vote up and down jokes and a Top 10. Users can add their own content. Used skills php (engine coding, dynamically generated pages) mySQL (database) webdesign + css xHTML 1.0 Strict Screenshot Link vtipy.skey.sk
About Catalogue of Currencies and Catalogue of Documents were expert systems filled with in detail information about security features of banknotes, coins, passports, id cards, etc. This information was gathered from central banks around the world and ministries of interiors from all countries in form of specimens and leaflets. My role was to get these information and update the expert systems.…
About Apis Company employs around 10+ developers which develop many biometric systems and provide hardware solutions to security. The website was presenting all the software and hardware we were providing. Used skills php (forms processing) xml (the html data) xslt (stylesheets) CVS - cvs tortoise versioning system FTP Compiler generated static xHTML 1.0 Strict files from data in xml and xslt. New…
About Web portal of tattoo and piercing saloon. Possibility to upload own motive of tattoo and make a deal with tatter on size, price and time of tattooing. The second part of website is eshop, where one could buy bracelets, rings and earrings from master mossae . Used skills PHP - dynamically generated web pages using my own framework with a very simple eshop local filesystem used as database…
About Website of jobs agency offering jobs in many countries of European Union with possibility to download required forms and fill them in. Used skills PHP (dynamically generated web pages) using my own framework webdesign + css javascript (calendar) HTML 4.01 Screenshot Link agenturalaura.eu