Skip to main content

Posts

Building Data Pipeline with Kotlin Coroutines Actors

This blog post demonstrates how to build a data processing pipeline using Kotlin coroutines and actors, showing both single-threaded and parallel implementations. It walks through creating a simple data pipeline using Kotlin’s channel and actor abstractions for clean concurrent programming. The post includes practical code examples of handling message passing between actors, managing thread pools, implementing back-pressure, and scaling from a basic sequential pipeline to a parallel version that processes data more efficiently. The explanation is backed by detailed logging output that illustrates how messages flow through the system and how parallel processing improves overall performance.

How Does New Oracle JVM Licensing Encourage Agility

Oracle’s revised JDK policy requires companies to update Java every 6 months to maintain free security patches, since only short-term OpenJDK builds remain free for production use. This pushes organizations to automate testing and embrace more frequent deployments, as manual testing of bi-annual updates would be too costly. The article suggests this change naturally leads companies toward shorter release cycles and faster market adaptation.

Common Java Application Anti-patterns and Their Solutions

Software projects often run into trouble when developers mix different code layers together. The article explains how this leads to rigid, brittle code that’s hard to update and reuse. Software architecture problems are examined through biological cell analogies. A practical guide follows for improving existing systems without full rewrites, focusing on testing, API design, and gradual changes.

Customizing REST API Error Response in Spring Boot / Spring-Security-OAuth2

Defining error format is important part of REST API design.

Spring-Boot and Spring Security provide pretty nice error handling for RESTful APIs out of the box. Although it has to be documented, especially when contract-first approach to API design is used.

It is good idea to follow some common format for error responses. But OAuth2 specification and Spring Boot format may not satisfy those requirements.

External Site Monitoring

How did you know that your site is down? From your customers? Then it’s time to start using some external monitoring tool.

Logging Policy

There are different points of view on how logging levels should be used in code. I will share mine.

My assumption is: “There should be no errors in logs when everything is fine.”

Maximizing Efficiency with UI-First Development: A Client-Centric Approach to Project Success

One of the challenges for start-ups or any new project is to reduce the amount of work while still delivering a full-featured product. Agile methodologies address this challenge on the project management level. Let’s discuss another approach to address it on the architecture level: UI-first development.

How to Start Testing UI Before Backend is Ready

Testing web UIs before the backend is ready: create UI mockups first using fake data, turn them into a functional prototype, test thoroughly, then build the backend to match the UI data contract. Integrate frontend and backend at the end. Works for single-page apps and multi-page sites.