Programming
An in-depth exploration of monads through property-based testing in Rust, demonstrating how monadic composition impacts testing performance and shrinking behavior, while providing practical examples and performance metrics.
A comprehensive guide to FFmpeg assembly language programming, focusing on SIMD operations and vector processing for multimedia optimization. The lesson covers basic concepts, register types, and instruction syntax while explaining how hand-written assembly can achieve significant performance improvements over compiler optimizations.
A former programmer reflects on the frustrations of modern software development, highlighting challenges like incomplete domain knowledge, complex APIs, and constant technological evolution. The author expresses preference for small, manageable programming projects while suggesting that high-pressure development may be better suited for younger developers.
A developer shares their experience building a minimalist compiler called TinyCompiler for a custom programming language 'wend' over a weekend. The project aims to translate 'wend' code into GNU assembly while maintaining a codebase of around 500 lines of Python, serving as an educational exploration of compiler theory.
Rust 1.85.0 introduces the Rust 2024 Edition, featuring significant language changes and improvements including async closures support and expanded tuple operations. The release includes extensive updates to the standard library, Cargo package manager, and development tools like Rustdoc and Rustfmt.
An in-depth exploration of Relaxed Radix Balanced (RRB) Trees explains their implementation for immutable vectors, focusing on efficient merging operations. The data structure combines radix search with size tables to maintain balanced trees while allowing flexible node sizes, offering improved performance over traditional Persistent Vectors.
Linux kernel maintainer Greg Kroah-Hartman advocates for writing new kernel drivers in Rust, highlighting how it eliminates common C-related memory bugs. The debate over Rust in the Linux kernel continues, with Linus Torvalds supporting its inclusion despite some maintainers' opposition. Kroah-Hartman emphasizes that while existing C code won't disappear, Rust offers better memory safety and API design opportunities.
A detailed walkthrough of building a JSON parser in Rust from scratch, covering implementation details from basic value parsing to complex data structures. The project demonstrates practical application of parsing techniques while learning Rust, resulting in a functional parser in approximately 500 lines of code.
Gulf of Mexico is a unique programming language featuring unconventional syntax rules, including mandatory exclamation marks, three-space indentation, and unusual variable declarations. The language incorporates creative features like variable lifetimes, reverse code direction, and automatic syntax completion.
Schemesh is a Unix login shell that combines traditional shell functionality with a full Lisp REPL powered by Chez Scheme. Users can seamlessly switch between shell and Lisp syntax, offering both interactive command execution and powerful Scheme programming capabilities with native code optimization.
A critical analysis of NASA's 10 coding rules for embedded software programming discusses potential issues with their restrictions, especially around recursion, memory allocation, and function pointers. The analysis emphasizes how these rules, while potentially beneficial for spacecraft software, may lead to less maintainable code and argues against limitations that prevent common programming patterns.
A discussion on the challenges of naming enumeration types in software design, highlighting the difficulty in finding unbiased and precise terminology that accurately represents binary states or conditions. The problem extends beyond simple true/false scenarios into more complex domain-specific naming conventions.
An exploration of image dithering techniques demonstrates how to convert color images to black-and-white using various algorithms, including a novel approach that balances between Atkinson and Floyd-Steinberg methods. The author developed this technique while building Guten, a custom newspaper printer that requires monochrome images, showcasing practical applications of dithering in modern technology.
Ada/SPARK Crate Of The Year 2024 announces winners across three categories, with BBT winning Ada Crate, elogs securing SPARK Crate, and bbs_lisp taking Embedded Crate honors. BBT offers English-based test automation, elogs provides SPARK-validated message logging, while bbs_lisp delivers an embeddable Lisp interpreter for constrained environments.
Explores the differences and optimal usage patterns between &str and String in Rust, focusing on their implementation in function arguments, return values, and struct fields. Explains how each type has specific use cases based on memory ownership, lifetime requirements, and performance considerations.
A do-nothing script encodes manual procedural steps into functions without actually performing them, serving as a bridge between manual processes and full automation in ops teams. While not directly reducing manual effort, this approach makes procedures more manageable and creates a framework for gradual automation of operational tasks.
A comprehensive analysis of how various programming languages and libraries handle Bcrypt's 72-character input limitation reveals widespread security vulnerabilities similar to the Okta incident. Most implementations silently truncate input exceeding the limit rather than throwing errors, potentially allowing authentication bypasses with long usernames. Only Go's standard library and a specific Java implementation properly validate input length, highlighting the importance of secure API design.
Zig is an unstable general-purpose programming language designed for creating maintainable and efficient software, with version 0.13.0 being the latest release. The language requires basic programming experience and understanding of low-level concepts, making it accessible to developers familiar with C, C++, Rust, or similar languages.
A detailed explanation of Go programming language's memory representation and data structures, covering basic types, structs, arrays, and slices. The content explores how Go gives programmers control over memory layout and pointers, differentiating it from languages like Java, while explaining the efficiency considerations behind these design choices.
A new C64 demo called 'Nine' was released at Fjälldata 2025, featuring innovative programming techniques and an accompanying music track, with a detailed explanation video in development.