---
title: "My Developer Toolkit"
created: "2025-06-19"
date: "2025-06-19"
slug: "tools"
published: true
layout: "page"
tags:
  - developer tools
  - linux
  - nixos
  - vim
  - vscode
  - tmux
  - shell scripting
  - git
  - c++
  - node.js
  - express
  - php
  - mysql
  - postgresql
  - aws
  - react
  - frontend
  - backend
  - system administration
  - python
  - svelte
  - clojure
  - homelab
---

# My Developer Toolkit

Welcome to my digital workbench. This page offers a glimpse into the essential tools and technologies that power my daily work, from crafting robust backend systems to fine-tuning frontend experiences and navigating the depths of Linux. My philosophy is to choose the right tool for the job, prioritizing efficiency, reliability, and the joy of building.

---

## Core Development Environment

These are the foundational tools that shape my coding experience:

- **Visual Studio Code (VS Code):** My go-to IDE. Its marketplace, debugging capabilities, and Git integration make it indispensable. Highly customizable.

- **Vim:** Beyond graphical editors, the terminal is my true home, and **Vim** is my steadfast companion within it. I extensively use Vim for its unparalleled efficiency and power as a text editor. Its modal editing paradigm and keyboard-driven interface allow for incredibly fast and precise code manipulation once mastered. I've configured my Vim environment with a carefully selected set of plugins and custom keybindings to optimize my workflow for development and system administration, enabling me to stay productive without ever leaving the terminal.

- **Tmux:** Terminal multiplexer enabling multiple shell sessions, session persistence, and pane management. Boosts command-line productivity.

- **Shell Scripting (Bash/Zsh):** Used for automating tasks and system configuration. Core productivity tool.

- **Git:** Daily version control. Proficient with branches, commits, rebases, and collaboration workflows.

- **Methodologies:** Test-Driven Development (TDD) is strictly required for general-purpose programming. Automated fuzzing is implemented systematically to generate unexpected inputs, validate system stability, and isolate edge cases including memory overflows.

---

## Backend & Database Technologies

Strong foundation in backend systems and data persistence:

- **C++:** Primary language for high-performance, system-level execution, memory management, and custom toolchains.

- **Python:** Utilized for backend API development, automation, and system-level orchestration.

- **Node.js:** Runtime for building scalable network applications. Used with Express.js for APIs.

- **Express.js:** Minimalist web framework for Node.js. Ideal for RESTful services.

- **PHP:** Legacy and ongoing use. Early web dev experience.

- **MySQL:** Relational database. Skilled in schema design, querying, and optimization.

- **PostgreSQL:** Preferred for complex data handling and feature-rich projects.

- **Amazon Web Services (AWS):** Used for deployment, cloud services, and infrastructure management.

---

## Frontend & Web Technologies

Capable of delivering full-stack solutions:

- **React:** Component-based JavaScript library for building user interfaces.

- **HTML/CSS/JavaScript:** Core web stack. Strong understanding of structure, styling, and interactivity.

---

## Operating Systems & System Administration

Deep systems knowledge and command-line fluency:

- **Linux (NixOS, Fedora, Debian, Arch Linux, Gentoo, Slackware, Ubuntu):** Long-time user across distributions. Daily driver: **NixOS** for its declarative configuration and reproducibility.

- **File Systems (Btrfs, Ext4):** Experienced with data integrity, snapshots (Btrfs), and standard Ext4 usage.

- **System Concepts:** Proficient with:
  - File permissions
  - Logical Volume Management (LVM)
  - PAM
  - Kerberos
  - SSSD
  - Access Control Lists (ACLs)

---

## Other Languages & Exploration

Continual exploration to expand tool proficiency:

- **Python:** Used for scripting, automation, and tasks beyond Bash’s scope. Leverages libraries and strong documentation.

- **Clojure:** Functional programming exposure. Explored for its concurrency model and paradigm shift benefits.
