Part 5: Text Editing

Linux developers spend a large amount of time in both the shell and their text editors. Part 4 of this series explored improving the shell experience. In this final installment, you’ll dive into how to text edit like a pro. Features of a Modern Text Editor What should your text editor provide? You want an editor with features that are IDE like without all the bloat and licensing requirements that come with an IDE. Below is a shortlist of the features a modern text editor should support: ...

July 28, 2024 · 7 min

Part 4: Terminal Emulation and the Shell

The terminal emulator and shell are critical components of any developer’s toolbox. The terminal provides features to customize the look and feel of the text interface. Most importantly, the terminal emulator runs a shell. The shell is the program that takes your text input, interprets the input as a set of one or more commands, and passes on those commands to the OS. All emulators and shells provide this basic set of features. What sets them apart are small differences that can sometimes amount to large productivity gains. ...

July 22, 2024 · 5 min

Part 3: An I3 Desktop Environment

The next step in optimizing your development workflow is to setup the desktop environment (DE). Linux has many different DEs to choose from: Unity, XFCE, KDE Plasma, just to name a few. Which should you choose? This series argues that the i3 tiling window manager is the optimal choice. Why i3 Listed below are the benefits of a tiling WM: Small CPU and memory footprint. Highly customizable in regards to look and feel. Focus on minimalism and keeping what’s important in focus. Keyboard centric workflow. Stability. A lag free environment where you don’t have to take your hands off the keyboard to sift through a sea of GUI menus is ideal. Tiling WMs provide just that. ...

July 13, 2024 · 4 min

Part 2: Choosing a Distribution

The Linux distribution you choose has a large impact on your Linux development experience. What’s a Linux distribution or distro for short? A distro is the OS. It’s the combination of a Linux kernel, package manager, and userland programs. You might think there are two or three Linux distros. As of today, DistroWatch shows there are over 20 different distros to choose from! Where do you start? Selection Criteria What makes a good developers distro? The five bullets below take a stab at answering that question: ...

July 6, 2024 · 3 min

Part 1: A Modern Linux Development Workflow

As a Linux developer, you have probably spent some time optimizing your workflow. In the world of Linux, you’re both blessed and cursed with many choices. You have a choice of distro, shell, terminal emulator, desktop environment, package manager, editor, the list goes on. It can get overwhelming to upgrade tools let alone start from scratch. This is the first in a series of articles that presents a modern Linux development workflow. These articles aim to have something for both new and old Linux developers. The series will start from scratch and will build up a dev environment through example. ...

June 28, 2024 · 2 min