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.

Code Hygiene: The Architectural Shield

Beyond Functionality: Why Code Hygiene is Your Project's Immune System

In the world of software engineering, we often obsess over the “Testing Pyramid.” We pour resources into unit tests, integration tests, and E2E suites. These are critical, they tell us that our features work as designed. But there’s a shadowy category of bugs that traditional tests often miss: the architectural “anti-patterns” and “API misuses” that don’t break functionality today but lead to system failures, memory leaks, or portability issues tomorrow. ...

April 22, 2026 · 3 min · Özkan Pakdil
Vulkan acceleration on Debian

Accelerating LLMs on Debian 13: Setting up Vulkan for llama.cpp

After setting up CUDA on my other laptop, I moved to a different(older) machine that doesn’t have an NVIDIA GPU. This one is an everyday laptop with integrated Intel graphics, but that doesn’t mean we have to settle for slow CPU-only performance. On this machine, I switched to the Vulkan backend for llama.cpp and the results were even more dramatic than I expected. Machine Hardware Info This laptop is running Debian 13 (Trixie/Sid) with the following specs: ...

March 22, 2026 · 3 min · Özkan Pakdil
NVIDIA CUDA acceleration on Debian

Accelerating LLMs on Debian 13: Setting up CUDA for llama.cpp

Setting up NVIDIA CUDA on Debian 13 (Trixie/Sid) to run Large Language Models (LLMs) can be a bit of a journey, especially if you’re transitioning from the default open-source drivers to the proprietary stack required for GPGPU workloads. Over the last few days, I’ve been working on getting llama.cpp to run with CUDA on my laptop to see how much of a difference it makes compared to pure CPU execution. ...

March 20, 2026 · 7 min · Özkan Pakdil
Podman performance optimization on macOS

Tuning Podman on macOS to Match OrbStack Performance

Note: These are suggested optimizations I have not personally tried yet. I’m blogging them as I’m planning to test them throughout this week. OrbStack is highly optimized for macOS, using a proprietary, high-performance networking stack and a custom VirtioFS implementation with aggressive caching. Podman, while being open-source and standard-compliant, can be tuned to significantly bridge the performance gap. The following plan outlines key areas where Podman’s performance can be improved on macOS: ...

March 8, 2026 · 3 min · Özkan Pakdil
Atlassian MCP Integration

Atlassian MCP

I have been using Atlassian MCP with internal Confluence and Jira, and it has been wonderful. Finding internal information is often challenging and time-consuming. To be honest, searching through Jira or Confluence and locating the right information can be really difficult. Create Jira and Confluence API tokens from your internal site profile page. For example: https://internalconfluence.company.com/profile/personal for Confluence and https://jira.company.com/secure/admin/CreateAPIToken!default.jspa for Jira. These URLs may vary depending on your setup. Create an mcp.json file in the .vscode folder for Visual Studio Code, or place this MCP configuration in the appropriate folder for your IDE of choice: { "mcpServers": { "mcp-atlassian": { "command": "uvx", "args": ["mcp-atlassian"], "env": { "JIRA_URL": "https://jira.company.com", "JIRA_USERNAME": "your.email@company.com", "JIRA_API_TOKEN": "your_api_token", "CONFLUENCE_URL": "https://internalconfluence.company.com/wiki", "CONFLUENCE_USERNAME": "your.email@company.com", "CONFLUENCE_API_TOKEN": "your_api_token" } } } } Remember to run podman-desktop or docker desktop. Because this MCP works as a docker container. ...

February 8, 2026 · 1 min · Özkan Pakdil