DEV Community

Shani Shoham
Shani Shoham

Posted on • Originally published at devzero.io

9 tools, libraries and extensions our developer can't live without (and why)

I asked our developers at DevZero to give us the tools the tools they are in-love with and that started a long thread of opinions and debate. We summarised it for you here.

FZF

fzf plugs into almost every alias I have including shell history, which allows me to operate in the CLI using 1-5 keystrokes instead of typing out extremely long commands. Here's a good tutorial of using FZF.

Silver Searcher

There are other CLI search tools for code: grep, ripgrep, etc. or actual search tools (Sourcegraph, Github, IDEs), but I always reach for Silver Searcher/Ag. Ag is a code-searching tool similar to ack, but faster. The syntax is pretty good and it’s very helpful when I just want something basic such as when I’m just looking for the string Config (I don’t use complex regex).By the way fzf.zsh, combines ag with fzf to do instant full text search recursively over the current directory, and then pops you into vim at that exact file line.

VS Code

‍VS Code just works, and the marketplace is great and while the software can get a bit degraded from time to time, even "bad state" is more than good enough

Tailscale

Tailscale simplifies network management, enhances security, and facilitates remote collaboration, ultimately enabling them to focus on their core development tasks without worrying about networking complexities.

K9s

Typing out all the kubernetes commands is so annoying, and I find that K9s is actually better than most visual kubernetes interfaces. It also works everywhere.

Graphviz

Graphviz is a graph visualization tool - useful for visualizing things such as flow charts. You write out the graph in a special language called the "DOT language" where you specify what's in the graph, and graphviz handles all of the layout / visualization for you. It is insanely easy to programmatically create directed graphs and I use it when debugging complex state machines. I have a CLI shortcut to render those graphs in my command-line. It is also really useful to map out network topologies.
It helped me plan out network topologies for datacenter deployments, as well as help save me countless hours debugging complex code with lots of state flying around.As a bonus, here’s the code behind Graphviz.

Graphviz

Emacs

While Emacs has been around since the 70s. Its extensive library of add-on packages, which allow me to tailor the editor to their specific workflow and needs. Syntax highlighting, code completion, version control integration, and a built-in terminal emulator, making it suitable for me for a variety of programming tasks.

Emacs

Strace

Strace is a diagnostic, debugging and instructional userspace utility for Linux. It is used to monitor and tamper with interactions between processes and the Linux kernel, which include system calls, signal deliveries, and changes of process state. it provides detailed insight into the behavior of Linux processes, helps diagnose issues, and aids in performance optimization. Its versatility, compatibility, and ease of use make it an indispensable tool for Linux developers.

KubeShark

Debugging Kubernetes nodes is a nightmare. The amount of information is vast and the granularity isn’t great. Kubeshark is an API traffic analyzer for Kubernetes providing real-time K8s protocol-level visibility, capturing and monitoring all traffic and payloads going in, out and across containers, pods, nodes and clusters.

KubeShark

Top comments (2)

Collapse
 
ivan_smirnov_07696498e751 profile image
Ivan Smirnov

Absolutely great article! Love fzf, and the compilation of tools is incredible!

Collapse
 
dray92 profile image
Debosmit Ray

This is awesome!! Def can't live without VS Code and K9s
Tailscale is also a great exercise in how amazingly complex software can be presented w/ super simple UX -- definitely shows the level of depth to which the Tailscale team has gone to make this possible