Best of UNIX2024

  1. 1
    Video
    Avatar of fireshipFireship·2y

    FreeBSD in 100 Seconds

    FreeBSD is a complete Unix-like operating system known for its high performance and stability. Developed from the Berkeley Software Distribution project, it offers a non-copyleft license, allowing companies to use and commercialize its code. Unlike Linux, FreeBSD is a monolithic system with integrated kernel, drivers, and user tools. It's favored for its comprehensive documentation and support for popular desktop environments and third-party software. Installation is straightforward, and the system boasts traditional Unix features alongside modern advancements like the Z file system.

  2. 2
    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.

  3. 3
    Article
    Avatar of communityCommunity Picks·2y

    10 simple Linux tips which save 50% of my time in the command line

    Discover 10 simple Linux tips to save time in the command line and work efficiently in UNIX. Learn how to execute previous commands quickly, repeat the last command, use history to find frequently used commands, apply regular expressions in grep and find, use aliases, and more.

  4. 4
    Article
    Avatar of itsfossIt's Foss·1y

    Vi Editor Basics: Must Know Commands

    Vi is a powerful terminal-based text editor available on nearly all Unix and Linux distributions. It operates in two main modes: normal (command) mode for navigation and text manipulation, and insert mode for actual text input. Understanding basic commands for movement, deletion, copying, and pasting can significantly enhance text editing efficiency. Despite its steep learning curve, Vi/Vim offers extensive documentation, a wide range of plugins, and minimal system resource consumption, making it a valuable tool for any Unix-based workflow.

  5. 5
    Article
    Avatar of communityCommunity Picks·2y

    Apple macOS 15 Sequoia is officially UNIX

    Apple macOS 15 Sequoia has been officially recognized as a UNIX variant by the Open Group. This status is more about meeting POSIX compatibility specifications rather than using original AT&T Unix source code. The core of macOS is based on the Mach kernel and BSD-derived userland, making it Unix-like in behavior and compatibility. Despite the certification, POSIX compliance and the importance of Unix certification have diminished over time.

  6. 6
    Article
    Avatar of lobstersLobsters·2y

    Managing dotfiles with chezmoi

    Managing dotfiles with version control provides benefits like backup and recovery, consistent configuration, and ease of migration. While traditional tools like GNU Stow have limitations, chezmoi offers a comprehensive solution with features such as templating, password manager support, full file encryption, and cross-platform capabilities. chezmoi simplifies dotfile management by integrating closely with version control systems, supporting encrypted secrets, and handling various edge cases. It allows easy setup and management of dotfiles across multiple machines with minimal dependencies.

  7. 7
    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.

  8. 8
    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.

  9. 9
    Article
    Avatar of hnHacker News·1y

    The Biggest Shell Programs in the World

    This post lists some of the largest and most substantial shell programs, focusing on hand-written scripts that use data structures and algorithms, and those exceeding 5,000 lines of code. Examples include ble.sh, a sophisticated Bash Line Editor with 61K lines of code; testssl.sh, a single-file script with 21K lines; Simplenetes, Kubernetes in 17K lines of shell; powerlevel10k, a Zsh theme with 12K lines of code; and many others. These scripts demonstrate advanced programming techniques and complexity within shell scripting.

  10. 10
    Article
    Avatar of communityCommunity Picks·2y

    I Took This Modern Retro Unix Distro for a Spin

    Tribblix is a Unix-like system based on Solaris and illumos, designed to offer a retro experience with modern components. It requires old-school root commands and lightweight applications for installation. Tribblix uses an overlay system for software management, which involves collections of software rather than individual programs. Although the software selection is limited compared to major Linux distributions, Tribblix provides advanced features like Dtrace and ZFS, making it an interesting option for those who enjoy minimalistic systems or have a fondness for Solaris.

  11. 11
    Article
    Avatar of communityCommunity Picks·2y

    An Ode To Vim

    A personal recount of how using Vim, specifically Neovim, during university kickstarted a programming career. Despite initial resistance, the author describes how learning Vim fundamentally enhanced their programming skills and familiarity with the command line, contributing significantly to their development as a programmer. The post highlights the gradual and natural learning process associated with mastering Vim and the broader Unix environment.

  12. 12
    Article
    Avatar of hnHacker News·2y

    FyshOS/fynedesk: A full desktop environment for Linux/Unix using Fyne

    FyneDesk is an easy to use Linux/Unix desktop environment built using the Fyne toolkit. It follows material design principles and is designed to be easy to develop. The desktop does work without the runtime dependencies but the experience will be degraded. You can compile FyneDesk using the same dependencies as Fyne and for a full desktop experience, you will also need external tools like arandr, xbacklight or brightnessctl, connman-gtk, and compton installed. To set up FyneDesk as a selectable desktop option in your login manager, you can run specific commands.

  13. 13
    Article
    Avatar of last9Last9·1y

    Understanding Docker Logs: A Quick Guide for Developers

    Docker logs are essential for monitoring and troubleshooting containers. This guide explains how to access, use, and customize Docker logs for better application management. Key commands and environment setup for logging, integrating with APIs, and advanced configuration options are covered. Best practices such as log rotation, structured logging, and centralized logging are also discussed.

  14. 14
    Article
    Avatar of medium_jsMedium·2y

    Embracing Simplicity and Composability in Data Engineering

    The post highlights the importance of simplicity and composability in data engineering, drawing lessons from decades of industry experience. It discusses the Unix philosophy of treating data as files, the evolution of databases and NoSQL, and the complexity introduced by new ecosystems like Hadoop and Kubernetes. The post also critiques the over-complication of agile methodologies and stresses the necessity of adhering to fundamental principles to maintain flexibility and long-term value in software systems.

  15. 15
    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.

  16. 16
    Article
    Avatar of hnHacker News·2y

    Better Dotfiles

    A method to reorganize dotfiles without using superfluous managers or the 'version control $HOME' method by incorporating first-line comments in files for symlink creation. Using `awk` and a few shell commands, the process simplifies symlink management and checks, making the setup self-contained and requiring minimal dependencies common to Unix-like systems.

  17. 17
    Article
    Avatar of communityCommunity Picks·2y

    To NeoVim, Or Not to NeoVim

    NeoVim, despite its popularity, is criticized for failing to add significant value over Vim and detracting from essential Vi/m learning. The post argues that NeoVim's configuration changes, additional defaults, and altered features diverge from the core Unix philosophy and dilute the real benefits of using Vim. Moreover, criticisms include the removal of key features integral to Vim, resulting in a bloat that undermines performance and utility. While NeoVim offers options like multiple plugin support and better defaults, these are deemed unnecessary for those proficient in Vi/m.

  18. 18
    Article
    Avatar of hnHacker News·2y

    Data Science at the Command Line, 2e

    A revised guide on using the command line for data science, providing tools and techniques to improve efficiency and productivity. Ideal for data scientists, analysts, engineers, and researchers.

  19. 19
    Video
    Avatar of ericparkerEric Parker·2y

    the new "9.9" Severity Linux Vunlerability

    A CVSS 9.9 severity vulnerability affecting all systems using the CUPS (Common Unix Printing System) allows remote unauthenticated attackers to execute arbitrary commands when a print job is started. This is less severe than vulnerabilities like EternalBlue but still poses a significant risk, especially if systems are exposed to the internet. Properly configured firewalls can mitigate some threats, and updating CUPS is recommended to prevent exploitation.

  20. 20
    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.

  21. 21
    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.

  22. 22
    Article
    Avatar of kdnuggetsKDnuggets·2y

    How to Navigate the Filesystem Using Bash

    Learn how to navigate the Unix/Linux filesystem using bash commands. Key commands covered include `pwd` for displaying the current directory, `cd` for changing directories, `ls` for listing files, and `tree` for visualizing directory structures. Practical examples and tips on combining commands for efficient navigation are also provided.