$ ./cankurttekin

I'm a software developer who builds mostly with Java.
I enjoy exploring all kinds of engineering and development;
observing, tinkering, and using libre software.
I like using GNU/Linux, window managers, terminal and vim.

#links #writings #computing #projects #reading #bookmarks #contact
Blog ⟨blog.kurttekin.com⟩
LinkedIn ⟨linkedin.com/in/cankurttekin⟩
GitHub ⟨github.com/cankurttekin⟩
Codeberg ⟨codeberg.org/cankurttekin⟩
GPG ⟨pgp.mit.edu⟩

WRITINGS

[jan 20, 2026] Liberating my thinkpad x230 laptop, flashing free bios firmware
[sep 19, 2025] Building Handwired Ergo Keyboard
[aug 14, 2025] Why My Website Looks Shit And More About TCP
[jul 27, 2025] Sockets Explained
[nov 20, 2024] Domain Models
[sep 13, 2024] Touchpad grounding fix
[sep 02, 2024] Dependency Injection
[aug 10, 2024] How to Secure Your Spring Application
[aug 08, 2024] Event Sourcing Pattern
[aug 07, 2024] Immutability
[jul 19, 2024] Onion Architecture
[jun 10, 2024] Design Patterns

COMPUTING

Libre: Lenovo Thinkpad x230(i5 3320M, 8G) - Libreboot, GNU GUIX System, ath9k binary blob free wifi fw
Daily driver: Lenovo Yoga 7i(i5 1335u 16G) - Fedora Sway Spin
Home Server1 Acer Nitro 5(i7 7700hq, 16G) - headless, wol, Fedora - using as resource sharing, temp. container running server when im out of res. on my other machines
"Home Server"2 Unlocked Old Android phone running Debian 12 - Exit Node on home network, pi-hole and Nextcloud
Keyboard Dactyl Manuform

Text editor: neovim
Window manager: Sway
Terminal: foot + tmux + tmux sessionizer + fzf
Agentic Tools: opencode + Supermaven plugin(neovim)
Browser: LibreWolf + Vimium
Search Engine: DuckDuckGo
Mobile
    Browser: Fennec from F-Droid
    Music: VLC for local playback

PROJECTS

termtime
 Screentime-like CLI app for shell history

terminal portfolio
 ssh terminal.can.kurttekin.com

pinit-nvim
 Project-based note-taking plugin for neovim

ATSFS.COM
 Job application tracking with AI assistance

flowpoddy
 Flowchart-based podcast generator

REPOREAD
 Generate README files for GitHub repositories

PinIt
 GNOME Shell notification extension

WikiArt Wallpaper
 Daily artwork GNOME Shell extension

TCDD-CLI + Web
 Find empty seats via TCDD API

Android Debloater GUI
 Remove system apps without root

Kindle-ai
 AI assistant using Kindle highlights

Linux Handheld
 Upcycling old Android phones

READING

COMPLETED
    Free Software, Free Society — Stallman
    Software Engineering — Sommerville
    Design Patterns — GoF
    Clean Code — Robert C. Martin
    Dive Into Design Patterns — Shvets
    Spring Start Here — Spilca
    Domain-Driven Design — Evans
    Data Structures & Algorithms — Wengrow

IN PROGRESS
    Spring Microservices in Action
    The Pragmatic Programmer
    Effective Java
    Effective TypeScript
    Designing Data-Intensive Applications

NOT STARTED
    Patterns of Enterprise Application Architecture
    Test Driven Development
    Algorithms — Sedgewick
    Grokking Algorithms

BOOKMARKS

ThePrimeagen
Brodie Robertson
Technology Connections
bigclivedotcom
Computerphile
Low Level
David Bombal

CONTACT

can at kurttekin dot com

source code ⟨github⟩
This site was styled with the Rosé Pine theme.