Welcome to Özkan Pakdil’s Blog

👋 Hello! I’m Özkan Pakdil, a software engineer with professional experience since 2004.

  • I specialize in Java development and C# but consider myself a full-stack developer with expertise in backend, database, server-side development, UI, and UX.

  • My technical journey spans various technologies including Spring Boot, Kubernetes, React, and many more. I’m a Linux enthusiast since 1999 and enjoy optimizing system performance.

  • This blog contains articles about technologies I use and my experiences in software development. Feel free to explore my projects on GitHub.

MariaDB versus MySQL versus PostgreSQL benchmark

MariaDB vs MySQL vs PostgreSQL: an mpazari Benchmark

I recently compared MariaDB, MySQL, and PostgreSQL using the real mpazari.com application. The goal was not to produce a synthetic database benchmark. I wanted to answer a more practical question: does MariaDB really have an advantage when an application sends many simple queries? This question came up after reading an argument that PostgreSQL is obviously faster than MySQL, but that MariaDB should be faster for applications with many simple queries, while PostgreSQL is probably better for complex joins. The suggestion was that a MariaDB versus PostgreSQL comparison would be more interesting than a PostgreSQL versus MySQL comparison. ...

September 23, 2026 · 6 min · Özkan Pakdil
java spring to rust warp

From Spring Boot to Rust: Rewriting a Live Marketplace

From Spring Boot to Rust: Rewriting a Live Marketplace mpazari.com spent years on a legacy ASP.NET stack — the .aspx URLs still in the wild prove it. A recent Spring Boot rewrite replaced that engine, first as a JVM jar, then as a GraalVM native image to tame memory usage. The question that started this project: if we rewrote the whole application in Rust, what would we gain, what would we break, and how do we prove we broke nothing? This post covers the rewrite, the parity hunting, the server-side build/deploy pipeline, and the load test comparing all three runtimes on the same production box. ...

September 21, 2026 · 5 min · Özkan Pakdil
mysql to pg upgrade

From MySQL to PostgreSQL: a much lighter server

I recently migrated mpazari.com, a Turkish motorcycle classifieds site, from MySQL 8 to PostgreSQL 12. The application is a Spring Boot 4 / Java 25 GraalVM native image using hand-written SQL. The migration involved moving the existing database, adapting the MySQL-specific queries, and testing the application against a real production snapshot. The migration was completed with approximately three minutes of downtime. The main steps were: Create the PostgreSQL schema. Copy the MySQL data into PostgreSQL. Update the application queries for PostgreSQL. Run the test suite and verify the row counts. Stop the application, perform the final copy, switch the JDBC URL, and restart it. PostgreSQL’s stricter typing exposed a few old data and SQL issues that MySQL had silently accepted. The test suite helped find and fix those issues before the production cutover. ...

September 18, 2026 · 2 min · Özkan Pakdil
Playwright Resource Monitor: browser window with a breach arrow crossing the 70% threshold

Playwright Resource Monitor: making CI fail when your browser tabs burn CPU

Green build, slow pages. That combination has annoyed me for years: Playwright happily reports 136/136 passing while the browser quietly burns 90% of one core on a badly-behaved tab, or the whole runner sits at 99% memory and everything gets suspiciously slow. Test outcomes say nothing about how much resource the tests consumed. Resource waste in CI is exactly the kind of thing you want to fail loudly, not discover from user complaints later. ...

August 30, 2026 · 6 min · Özkan Pakdil
Free NVIDIA Models

How to add NVIDIA free models to VS Code

NVIDIA offers free access to their powerful Nemotron models through their NVIDIA Build platform. In this post, I’ll walk you through how to get a free API key and configure it in VS Code to use models like nvidia/nemotron-3-ultra-550b-a55b directly in VS Code. Also you can choose any other model from here. Prerequisites VScode needs to be above 1.27 it needs to have customendpoint supporting Getting Your Free NVIDIA API Key Go to build.nvidia.com Sign in or create an NVIDIA account Navigate to the model you want to use (e.g., Nemotron 3 Ultra) Click “Get API Key” button Note: In my experience, the “Get API Key” button in the UI didn’t work properly (it appeared to do nothing). If this happens to you, here’s how to get your API key: ...

July 19, 2026 · 4 min · Özkan Pakdil