Skip to content
Al Shakib E Elahi
09Toolkit

The setup, and why each part of it earns its place.

Short lists on purpose. Anything here removes a decision rather than adding a feature - the bar for a new tool is that it stops me thinking about something.

Sections
6
Bias
Boring and fast
01Editor

Where most of the day goes. The bar for adding anything here is that it removes a decision rather than adding a feature.

  • Visual Studio Code

    Primary editor for TypeScript, Node and everything web-facing.

  • Visual Studio

    For .NET work - the debugger and profiler are worth the weight.

  • Vim keybindings

    Editing without leaving the home row. The investment pays back within a month.

02Theme & type

Low contrast between syntax colours, high contrast between code and background. Anything more decorative gets tiring by hour six.

  • Dark, low-saturation theme

    Colour reserved for things that are actually different.

  • JetBrains Mono

    Clear zeros, readable at small sizes, generous line height.

  • Ligatures off

    A personal preference. I want to see the characters I typed.

03Extensions

Short list on purpose. Each one has to justify its startup cost.

  • ESLint + Prettier

    Formatting is not a conversation worth having in review.

  • GitLens

    Blame inline. Half of understanding code is understanding when it changed.

  • REST Client

    API requests as files in the repo, versioned with the code they test.

  • Error Lens

    Diagnostics inline, so problems surface before the save.

  • Docker

    Container and image management without leaving the editor.

04Terminal

Deployment and debugging both live here. It should be fast and boring.

  • Windows Terminal

    Panes, profiles, and a sane copy-paste story.

  • PowerShell + Git Bash

    PowerShell for the Windows-native work, Git Bash for POSIX scripts.

  • tmux

    Sessions on remote hosts that survive a dropped SSH connection.

  • ripgrep & fzf

    Searching a large codebase should never take long enough to break focus.

05Hardware

Nothing exotic. Comfort over specification, past a baseline.

  • Multi-monitor setup

    Editor on one, logs and browser on the other. Context switching is the tax.

  • Mechanical keyboard

    Tactile switches. Typing is the job.

  • Wired headphones

    No pairing, no battery, no latency.

06Books

The ones that changed how I build rather than what I know. All still worth the second reading.

  • Designing Data-Intensive Applications - Martin Kleppmann

    The clearest explanation of why distributed systems break, and why the fix is usually a different model rather than a bigger machine.

  • Clean Architecture - Robert C. Martin

    Read critically. The dependency rule is the durable idea; not every chapter around it is.

  • Release It! - Michael Nygard

    Stability patterns from real outages. This is the book that makes you add timeouts everywhere.

  • The Pragmatic Programmer - Hunt & Thomas

    Mostly about judgement, which is the part that transfers between stacks.