About:

NotAShelf is a software engineer and FOSS contributor with interests in Linux, OSS, and data privacy in politics.

Website:

Specializations:

Interests:

Linux Programming OSS Information system Data integrity/privacy Policymaking

Incoming Links:

Subscribe to RSS:
A detailed guide on cross-compiling Dioxus applications for Windows from a Nix-based Linux environment, addressing integration challenges and solutions.
A retrospective on 2025's projects and a wishlist for 2026, emphasizing the need for better software practices and a shift away from unnecessary complexity.
The post critiques the emerging trend of 'vibe coding,' where developers use large language models (LLMs) to generate code based on prompts and intuition rather than traditional programming skills. The author argues that while vib...
The post discusses the blurred lines between government control and corporate influence in the digital age, emphasizing how technology, initially seen as a tool for freedom, has become a means of manipulation. It highlights the im...
The blog post discusses the complexities and trade-offs involved in software development, particularly when balancing simplicity and sophistication in coding. The author reflects on their personal experiences with coding, emphasiz...
The text discusses the concept of mutation testing, which is a method to measure the effectiveness of a test suite by changing the code and seeing if the tests catch the changes. It emphasizes that mutation testing is a better cod...
The text discusses the curse of knowing how to fix everything in programming, and the emotional and mental toll it takes on the programmer. It delves into the compulsion to assert control, the illusion of finality, and the burnout...
The text is a personal reflection on the author's feelings of spite, pain, and disappointment, and their desire to escape from it all. They express a lack of trust in others and a preference for solitude, and a yearning for an end...
The author details their journey from learning Javascript to transitioning from Golang to Rust while still retaining C in their tech stack. They discuss the advantages and limitations of each language, and the technical reasoning ...
The text discusses the ease of writing integration tests for existing infrastructure using NixOS, and provides a guide on setting up integration tests outside the context of Nixpkgs. It also explains the process of writing and run...
The text discusses nixConfig, an attribute set of values that reflect the values given to nix.conf. It explains the security implications of using nixConfig and the potential risks associated with it. The author advises against bl...
The text discusses the implementation of a Typst builder in Nixpkgs, providing a flake.nix to test and demonstrate its functionality. It re-exports buildTypstPackage and typstPackages from nixpkgs and uses the new typst.withPackag...
The author discusses their new role as a Release Editor for NixOS 25.05, their experience with Neovim as an editor, and their thoughts on the future of Neovim. They also express their frustration with the education system and thei...
The text discusses the vulnerabilities in NixOS and the need to harden each component of the system. It focuses on hardening systemd services to reduce potential attack surfaces. It provides detailed information on how to harden i...
The text explains how to sign Git commits with SSH keys, providing detailed instructions for setting up SSH signing for Git commits on traditional distros and NixOS. The author shares their experience with SSH signing and provides...
The text discusses the concept of Remote Builders in Nix, a package manager and build tool. It explains how remote builders work, the setup required, and the benefits of using them.
The text discusses the concept of impermanence on NixOS, which allows the system to clean itself up on each reboot. It explains the process of setting up a stateless NixOS system on encrypted disks using BTRFS snapshots. The post ...
The text explains how to extend Nixpkgs' standard library, nixpkgs.lib, and why it might be necessary. It provides a detailed guide on the process of extending the library and the caveats associated with it.
The text discusses lazy evaluation in Nix, explaining how it makes conditionals less relevant and unnecessary. It provides examples of lazy evaluation in Haskell, Python, and Nix, and explains how it affects conditionals, function...
The author discovered that Meta's web crawlers were scraping their personal Git forge, leading to a decision to block all requests from Meta's known crawlers. The author also shared a Python script they used to identify and ban th...
The text is a beginner's guide to writing error messages for programmers. It discusses the importance of providing human-readable error messages and handling errors effectively. It also highlights the significance of separating er...
The author has created a basic static site generator using a Bash script for their blog. They plan to write more in-depth posts and focus on Nix and Linux, as well as technical writeups about the languages they work with.
The author discusses the redundancy of the Just command runner when tools like Nix exist, and encourages the use of Nix to its fullest extent.
SysRq is a key combination understood by the Linux kernel that allows you to perform low-level commands to recover from and debug an unresponsive system. It is most often used to avoid hard shutdowns and potential data corruption....