Category: Development

sixos: A Nixpkgs-based OS Replacing systemd with s6

2025-01-31
sixos: A Nixpkgs-based OS Replacing systemd with s6

Adam Joseph announced the release of sixos, a new operating system built on Nixpkgs and using s6 instead of systemd. Rejecting systemd's monolithic design, sixos employs the simpler infuse combinator for service management, mirroring Nixpkgs' package handling. It also integrates ownerboot for complete version control and secure management of firmware, eliminating the artificial distinction between firmware and software. Currently running on workstations, servers, routers, and more, sixos offers a lightweight and secure alternative.

Development

A Minimalist Ruby X11 Window Manager: rubywm

2025-01-31
A Minimalist Ruby X11 Window Manager: rubywm

Frustrated with existing window managers, the author created rubywm, a minimalist window manager written in under 1000 lines of pure Ruby (including the X11 driver). It supports tiling and floating window layouts but lacks window decorations and drag-and-resize functionality. All keyboard handling is delegated to external tools like sxhkd, and communication happens via X11 ClientMessage events. Currently, it only supports single monitors and is experimental, prone to crashing. The author's primary goal is personal use, not a large user base.

Development

Deploying the 671B Parameter DeepSeek R1 LLM Locally

2025-01-31

This post details the experience of deploying the 671B parameter DeepSeek R1 large language model locally using Ollama. The author experimented with two quantized versions: 1.73-bit and 4-bit, requiring at least 200GB and 500GB of memory respectively. On a workstation with four RTX 4090s and 384GB of DDR5 RAM, the 1.73-bit version showed slightly faster generation speed, but the 4-bit version proved more stable and less prone to generating inappropriate content. The author recommends using the model for lighter tasks, avoiding long text generation which significantly slows down the speed. Deployment involved downloading model files, installing Ollama, creating a model file, and running the model; adjusting GPU and context window parameters might be necessary to prevent out-of-memory errors.

Development Model Deployment

arXivLabs: Experimental Projects with Community Collaborators

2025-01-31
arXivLabs: Experimental Projects with Community Collaborators

arXivLabs is a framework for collaborators to develop and share new arXiv features directly on the website. Individuals and organizations involved embrace arXiv's values of openness, community, excellence, and user data privacy. arXiv only partners with those adhering to these values. Got an idea to enhance the arXiv community? Learn more about arXivLabs.

Reaktiv: A Reactive Programming Library for Python

2025-01-31
Reaktiv: A Reactive Programming Library for Python

Reaktiv is a reactive programming library for Python, inspired by Angular's reactivity model and featuring first-class async/await support. It simplifies building and managing data-dependent signals, automatically updating dependencies when data changes. With a straightforward API, Reaktiv supports both synchronous and asynchronous contexts, boasts automatic dependency tracking, zero external dependencies, and efficient memory management, significantly reducing the complexity of asynchronous programming.

Development reactive programming

Jane Street's Decade-Long Journey: From Jenga to Dune

2025-01-30
Jane Street's Decade-Long Journey: From Jenga to Dune

Jane Street initially built Jenga, an OCaml build system, but its limitations led to its limited adoption and even a reversal of its open-source status. They then created the simpler Jbuilder, which unexpectedly gained popularity due to its speed, eventually evolving into Dune. After years of effort, the Jane Street team successfully migrated their internal build system from Jenga to Dune for their 70 million lines of code, boosting build speeds and setting a strong foundation for Dune's future.

Development

Distr: Simplifying Enterprise Software Distribution

2025-01-30
Distr: Simplifying Enterprise Software Distribution

Distr simplifies distributing enterprise software to customer-controlled or shared-responsibility environments. It features an intuitive web UI for viewing deployments and agents, a white-label customer portal for customer control, an API accessible via a rich SDK, and is fully open-source and self-hostable. The Distr Hub is distributed as a Docker image with a Docker Compose example deployment. Comprehensive documentation covers self-hosting and building from source, and a JavaScript SDK is available for application integration.

Development Software Distribution

Unearthing the Oldest Lines in Your Git Repo

2025-01-30

The author shares a shell script to find the oldest lines of code in a Git repository. The script uses `git blame` along with `find` and `awk` to filter non-binary files and identify the earliest committed lines, revealing a glimpse into the project's history. While currently limited to commits after 2000, it offers a fascinating look at how the codebase has evolved.

Development Code History

Automating Customer Workflows: From Onboarding to Compliance

2025-01-30

This article outlines three automated customer workflows: customer onboarding (document collection, identity verification, account setup, welcome calls, and automated welcome materials), KYC (verifying client identity, assessing risk, collecting documentation, background checks, and maintaining compliance records), and contract review (initial draft review, legal team approval, stakeholder feedback, revision tracking, electronic signature collection, and final document storage). Automating these processes significantly improves efficiency, reduces risks, and enhances the customer experience.

Stats: A macOS Menu Bar System Monitor

2025-01-30
Stats: A macOS Menu Bar System Monitor

Stats is a macOS system monitoring application residing in your menu bar. It provides real-time information on CPU and GPU utilization, memory usage, disk I/O, network activity, battery level, and more. Compatible with macOS 10.15 (Catalina) and later, Stats also offers sensor data (temperature, voltage, power) and Bluetooth device monitoring. M1 Macs require manual HID sensor activation for sensor data. Intel-based Macs can display CPU frequency with Intel Power Gadget installed. To minimize power consumption, users can disable modules like Sensors and Bluetooth. Released under the MIT License, Stats welcomes contributions for translations and improvements.

Control Your iTerm from LLMs with iterm-mcp

2025-01-30
Control Your iTerm from LLMs with iterm-mcp

iterm-mcp is a Model Context Protocol (MCP) server providing LLM access to your iTerm session. It features efficient token usage by only reading the output the model needs; natural integration allowing LLMs to interact with iTerm, answering questions or performing tasks; and full terminal control with REPL support. Easy to install via npx and integrate with clients like Claude Desktop, it prioritizes simplicity. However, it lacks built-in safety restrictions, requiring users to monitor model activity and exercise caution.

Development

Exploring the World of APL: A Russian Literature Review

2025-01-30

This 1990 Russian-language literature review, "The World of APL Language," published in Moscow's "Computing Technique And Its Usage," by Kondrashev et al., provides an overview of the APL programming language. The paper offers insights into APL's history, applications, and characteristics and may be of interest to researchers studying APL.

Development literature review

Audiocube: A Revolutionary Standalone 3D DAW

2025-01-30
Audiocube: A Revolutionary Standalone 3D DAW

Move beyond cluttered VST plugin setups! Audiocube is a standalone 3D digital audio workstation (DAW) built with a custom audio, physics, and graphics engine, offering unparalleled depth and control. It enables immersive audio creation and exploration, providing a level of creative freedom unlike any plugin. This is the perfect solution for musicians seeking a modern approach to audio production.

LibreOffice Downloads Surpass 400 Million: A Desktop Office Suite's Comeback Story

2025-01-30
LibreOffice Downloads Surpass 400 Million: A Desktop Office Suite's Comeback Story

The LibreOffice download histogram tells a compelling story. From 2011 to 2014, despite fierce competition, downloads rapidly reached 30 million. A period of stagnation followed as desktop office suites seemed destined for obsolescence. However, a resurgence occurred as users recognized the enduring value of desktop suites alongside cloud options. In 2019, attacks on the download counter caused a temporary spike, but the growth continued. By 2024, LibreOffice surpassed 35 million downloads, accumulating over 400 million since 2011. This success is a testament to the developers, contributors, and users who have supported the project.

Temporal API: Revolutionizing Date and Time Handling in JavaScript

2025-01-30
Temporal API: Revolutionizing Date and Time Handling in JavaScript

The Temporal API simplifies date and time manipulation in JavaScript. It supports various calendar systems (like the Chinese Lunar calendar), handles time zone conversions seamlessly, and offers intuitive comparison methods. For example, it can calculate the next Chinese New Year or determine the duration until a future Unix timestamp. While `toLocaleString` behavior varies slightly across browser implementations, the Temporal API offers robust date and time operations, making it a boon for developers.

Development Date Time

teemoji: The CLI That Adds Emojis to Your Terminal Output

2025-01-30
teemoji: The CLI That Adds Emojis to Your Terminal Output

teemoji is a command-line tool inspired by the classic tee utility. It uses a Core ML model to predict and prepend an appropriate emoji to each line of text, adding a fun, contextual element to your command-line workflows. Features include emoji prediction, standard I/O support, file handling options (append or overwrite), and easy integration into existing shell pipelines. Installation is straightforward via Homebrew, and usage mirrors the standard tee command, with added emoji functionality and helpful options.

Development

Hardcore Rust: A Ray Tracer Without Dynamic Memory Allocation

2025-01-30

This post details a case study of writing a Rust application using only a minimal, artificially constrained API (no dynamic memory allocation). The author critiques RAII (Resource Acquisition Is Initialization) for leading to messy resource management and proposes a "hard mode": splitting the program into a `std` binary and a `#![no_std] no_alloc` library, allowing only the binary to directly request resources from the OS. Using a toy ray tracer as an example, the author meticulously explains handling pixel buffers, parallelization, the memory allocator, and scene parsing in this "hard mode," ultimately achieving a ray tracer without dynamic memory allocation.

Development

Decompilation's Resurgence: A Look Back at 2024

2025-01-30
Decompilation's Resurgence: A Look Back at 2024

2024 marked a significant resurgence in decompilation research. Academic publications from that year comprised nearly 30% of all top-tier publications ever in the field. This post summarizes the academic and ideological advancements in decompilation during 2024. A surge in academic papers occurred, with four focusing on defining 'good' decompilation and four exploring AI's role, including symbol prediction and code simplification. Nearly all papers included open-source implementations, fostering industry adoption. The year also saw a tour by decompilation pioneer Dr. Cristina Cifuentes and a prominent expert panel at Recon 2024, further driving the field forward.

Development decompilation

Mathesar: Open-Source Spreadsheet-like Interface for Postgres

2025-01-30
Mathesar: Open-Source Spreadsheet-like Interface for Postgres

Mathesar is an open-source application providing an intuitive, spreadsheet-like interface for viewing, editing, and querying Postgres data. Users of all technical skill levels can collaborate directly on their data. It's 100% open source, self-hosted, and leverages native Postgres access control for security. Mathesar boasts easy installation (via Docker), scalability to handle any data size, and seamless integration with existing infrastructure. Its user-friendly interface simplifies database interactions, while robust security features ensure data protection.

Development Database Management

showkey: A Linux Command-Line Tool for Keyboard Troubleshooting

2025-01-30
showkey: A Linux Command-Line Tool for Keyboard Troubleshooting

The author encountered a strange issue where their "]" key kept repeating. Using the Linux command-line tool `showkey`, they discovered the culprit: a secondary keyboard pressed against an IMSAI 8080 Replica under their desk. `showkey` displays keycodes and scancodes, aiding in keyboard input troubleshooting. The -a option provides ASCII, decimal, octal, and hexadecimal values for pressed keys. The article details `showkey`'s installation, usage, and options, sharing the author's problem-solving experience.

GitHub Action: Auto-Posting RSS Feeds to Bluesky

2025-01-30
GitHub Action: Auto-Posting RSS Feeds to Bluesky

Blueskyfeedbot is a GitHub Action that automates posting RSS/ATOM feeds to Bluesky. Users create a GitHub repository, configure secrets (Bluesky username and app password), and set up a workflow file specifying the RSS feed URL and a Handlebars template. This simplifies content syndication to Bluesky, offering a convenient solution for bloggers and developers.

Development

Ex-EA Engineer Builds Jank: A New Programming Language Blending Clojure and C++

2025-01-29
Ex-EA Engineer Builds Jank: A New Programming Language Blending Clojure and C++

Former EA engineer Jeaye Wilkerson is developing jank, a new programming language aiming to combine the interactive nature of Clojure with the native compilation speed and minimal runtime of C++. Built on LLVM and incorporating elements from C++, Clojure, and Rust, jank seeks to be a native Clojure dialect. The project has garnered significant community interest, becoming one of the most popular unreleased Clojure projects. Its unique feature is the flexibility to switch between dynamically and statically typed code, balancing rapid development with performance optimization. jank is poised to be a powerful tool for game development, GUI development, and data science.

Development

Zed Editor 2025 Roadmap: Enhancing Vim Mode and User Experience

2025-01-29
Zed Editor 2025 Roadmap: Enhancing Vim Mode and User Experience

The Zed editor team has released its 2025 roadmap, focusing on improving Vim mode and enhancing the overall user experience. Plans include boosting the non-editor user experience with improvements to the command palette, filename completion, and command history; increasing Vim mode compatibility by addressing edge cases and using side-by-side testing with Neovim; and improving the multi-cursor experience for smoother, easier use. The roadmap aims to make Zed an editor that combines the power of Vim with a modern user experience.

Development Zed editor

Dart Macros Project Abandoned: Focusing on Data Handling and Build Performance

2025-01-29

The Dart team announced the cancellation of its long-running macros project due to high compile-time costs impacting developer experience, particularly hot reload. The team acknowledged insurmountable technical hurdles, deciding to prioritize improving data handling capabilities and build speeds over continuing to invest in macros. Future efforts will focus on better data serialization/deserialization support, enhancements to the `build_runner` tool, and the independent release of augmentations—a feature initially prototyped as part of the macros project—to improve developer workflow.

Development

Airflow: Redefining Video Streaming

2025-01-29

Airflow is a one-time purchase, lifetime-use video streaming software that streams videos to Chromecast, Apple TV, and AirPlay 2 enabled TVs. Unlike others, Airflow boasts a custom-built video processing pipeline. It supports features like HEVC video streaming to Apple TV without transcoding, adaptive audio volume, spatial headphone downmix, and even real-time subtitle text recognition (OCR) for enhanced 4K video playback. It also offers a remote control app, supports various subtitle and audio formats, and features a polished UI with powerful capabilities such as multiple playlist support and speed testing.

Development video streaming

Keymapper: A Cross-Platform Context-Aware Key Remapper

2025-01-29
Keymapper: A Cross-Platform Context-Aware Key Remapper

Keymapper is a cross-platform, context-aware key remapper that lets you redefine your keyboard layout and shortcuts globally or per application. Supporting GNU/Linux, Windows, and macOS, it manages all your shortcuts in a single configuration file, even binding shortcuts to launch applications. Advanced features include using mouse buttons and the wheel in mappings, and activating different mappings based on context like window title, class, process path, or input device.

Development key remapping shortcuts

Elixir and Rust: A High-Performance PDF Parser

2025-01-29
Elixir and Rust: A High-Performance PDF Parser

This article demonstrates building a high-performance PDF parser in Elixir using Rust and NIFs. The author highlights Elixir's limitations in handling low-level tasks like PDF parsing, making Rust's speed and safety a perfect complement. Using the Rustler library, the author seamlessly integrates Rust-based PDF parsing code into an Elixir project, creating a user-friendly PDF upload and parsing interface with LiveView. The article details the implementation, covering dependency management, NIF function writing, data handling, and deployment strategies. Optimization techniques, such as using DirtyCpu scheduling to avoid blocking, are also shared.

Development
1 2 173 174 175 177 179 180 181 214 215