Best of UNIXJuly 2024

  1. 1
    Article
    Avatar of itnextITNEXT·2y

    The Zsh Shell Tricks I Wish I’d Known Earlier

    Enhance your command-line productivity with Zsh! Zsh is a powerful Unix shell known for its robust features like command-line editing, spell checking, and programmable completion. This guide offers practical tips on cursor navigation, line editing, globbing, command history, parameter expansion, and custom commands. Learn to navigate directories efficiently, create and bind custom commands, and use Zsh’s advanced features to optimize your workflow. Whether you're a developer, system administrator, DevOps engineer, or tech enthusiast, mastering Zsh can significantly boost your efficiency.

  2. 2
    Article
    Avatar of hnHacker News·2y

    vslavik/diff-pdf: A simple tool for visually comparing two PDF files

    diff-pdf is a tool for visually comparing two PDF files. By default, it outputs a return code indicating whether the PDFs differ. With the `--output-diff` option, it generates a PDF highlighting the differences. Using the `--view` option, a simple GUI allows visual comparison. The tool can be installed on Windows using Chocolatey, on Mac with Homebrew or MacPorts, and on Unix systems using common package managers. Compilation from source requires dependencies like wxWidgets, Cairo, and Poppler.

  3. 3
    Article
    Avatar of hnHacker News·2y

    eza-community/eza: A modern, maintained replacement for ls

    eza is a modern replacement for the Unix and Linux command-line tool 'ls', offering more features, better defaults, and improved usability. It supports various advanced features like colors for file types, Git status display, SELinux context, human-readable dates, and multiple security fixes. It is small, fast, and available as a single binary for Windows, macOS, and Linux. Detailed installation instructions and usage options are provided.

  4. 4
    Article
    Avatar of itnextITNEXT·2y

    Terminating Elegantly: A Guide to Graceful Shutdowns

    Graceful shutdowns prevent data loss and maintain system stability during the termination of software services. This guide explains how to implement graceful shutdowns in Go applications running on Kubernetes. It covers handling Unix system signals, setting up a test environment with Redis, deploying services on Kubernetes, and ensuring all requests are processed before termination. Techniques include using Go's signal package and context for managing shutdown signals, enhancing server functionality, and optimizing resource management.

  5. 5
    Article
    Avatar of communityCommunity Picks·2y

    How to maintain code for a century: Just add Rust

    Rewriting the GNU coreutils in Rust is not driven by typical concerns like security or reliability. Instead, it stems from the personal motivations of Sylvestre Ledru, who wanted to learn Rust. This reimplementation brings modern coding practices to an essential toolkit created half a century ago, potentially ensuring its relevance for the future. The project has gained popularity for its robustness, increased contributors, performance advantages, and a more permissive MIT license.

  6. 6
    Article
    Avatar of systemweaknessSystem Weakness·2y

    Mastering Crontabs: Automating Tasks in Linux

    Crontabs are configuration files used for automating tasks on Unix-like systems, including Linux and macOS. They allow for scheduling scripts, backups, and other maintenance tasks at specified intervals. Understanding the structure and syntax of crontabs can vastly improve system efficiency. Examples include running scripts at specific times and keeping track of command outputs to ensure proper execution.