Skip to content

Posts

Setting up SonarQube locally

This is not a tutorial. These are study notes on understanding the tool and applying it to small and medium-sized projects in private repositories. Since I already had SonarQube installed on my machine, here is how I configured Docker. Option 1 — Remove the existing container I had configured it for a code analysis study project as part of my postgraduate coursework. In this case I reconfigured it for another project; later I will set it up correctly again for the code analysis project.

Read more →

September 20, 2025

Building a portfolio website and organizing the work I have done

Building a portfolio website and organizing the work I have done Recently I started organizing my portfolio in a way that would help me present my work more clearly. I wanted more than a list of technologies or repository links. I also wanted to explain what I did, how I organized the stages, and what evidence is available to check each contribution. The project is on GitHub: https://github.com/kellen-xavier/ladydebug-workstation. The published version is available at https://kellen-xavier.github.io/ladydebug-workstation/.

Read more →

November 6, 2026

An analysis of PC game releases

Simple but crucial examples of testing in your project. PC gaming has been growing considerably for a long time, and gaming setups are gaining more space. They compete strongly with, and even surpass, video game consoles in power and performance. They also let people configure their own machines, from entry-level hardware to the latest components, choosing what best suits their needs at a given moment. Improvements include CPUs, motherboards, graphics cards, memory, and peripherals such as keyboards, mice, and monitors.

Read more →

October 29, 2026

Refactoring my blog

Analysis of the notion-blog repository My personal blog was full of bugs because I had not done the necessary maintenance since creating it, perhaps two years ago. Now the idea is to fix bugs and add features I would like. Broken pagination, slow loading, and content centralized in one tool. What I want to improve: decentralize the content, organize routine versioned backups, and deploy to dev as well as main.

Read more →

July 10, 2026

Bot Planner — Tracking personal development work

Recently I have been developing some AI study projects, and I needed a way to organize how long I spent working on them: elapsed time. While developing something, I usually read language documentation for practices, collect document links, and write documentation for particular project features. I also remember tasks while working and notice things I can finish right after the current task. Add comments about what was done, and that is the general tracking I needed.

Read more →

July 6, 2026

Crush coding agent with TUI and UI on Windows

Continuing my terminal and TUI studies, here I explore CRUSH on a Windows machine: how I configured it and how it has worked so far. I tested it with a simple open-source repository for setting up a Windows development environment. Main goal Let developers use AI assistance directly in the terminal, without switching to a web editor or an IDE with integrated plugins. It is also lighter to run than VS Code, for example. The tool offers:

Read more →

January 11, 2026

A BPMN cheat sheet

For anyone starting to draw flowcharts, here are the BPMN event options. Start begins the flow, intermediate happens along the way, boundary attaches to an activity to handle something, and end finishes the path. The rule of thumb: catch waits for something; throw triggers something. Start events Start event, none: starts without a condition. Message start: starts when a message arrives, such as a webhook. Timer start: schedule/cron, using a date, delay, or repetition. Conditional start: starts when an expression becomes true. Signal start: starts upon receiving a broadcast signal. Intermediate events Message intermediate, throw: sends a message to another participant. Timer intermediate, catch: waits for a time or date. Escalation intermediate, throw: raises an escalation without treating it as an error. Conditional intermediate, catch: pauses until a condition becomes true. Link, catch/throw: a jump within the same diagram, connecting points. Compensation intermediate, throw: triggers compensation to undo something. Signal intermediate, catch/throw: publish/subscribe broadcasting; any listener can receive it. Boundary events attached to a task or subprocess Trigger when something happens during the activity.

Read more →

September 1, 2025

Understanding terminals and everyday Git commands — part 1

This post started as a few practical Git commands for everyday use. But I had no written collection of terminal studies either: what a terminal is, how to use one, and where to read more before getting into Git commands. I always say it is important to know how to use the terminal. At a minimum, we need to know how to use these tools. There is no avoiding it, even if your IDE is perfect and entirely visual, because we will inevitably face problems outside the visual interface.

Read more →

June 17, 2025

A development testing workflow based on the test pyramid

1. What is development testing? Before moving a card to QA, the development team should validate its code with systematic tests at different levels: unit, integration, and functional. This reduces rework and improves software quality. 2. Structuring the tests The test pyramid suggests: Read the user stories, their tests, and their acceptance criteria. Unit tests, at the base: validate isolated pieces of code, such as functions and methods. Integration tests, in the middle: ensure different parts of the system interact correctly. Functional/E2E tests, at the top: validate the complete user flow. 3. How can this be applied to a bug? Step 1 — Unit test ✅ Write tests for the query that retrieves the correct domain from the database.

Read more →

June 5, 2025

Adding shift-left testing to the quality process step by step

Here is a brief overview of introducing a basic quality process to a team. Goal — Use a backlog to refine user stories for development: create a backlog of testing tasks and activities from the beginning of the development cycle. Write user stories with acceptance criteria, splitting complete flows into features: identify testing requirements for each feature through user stories. Include clear, specific acceptance criteria so every feature can be tested properly.

Read more →

June 5, 2025