Related articles

Solving SICP

A detailed analysis of solving the SICP problem set reveals it requires 729 hours over 8 months, involving 6 programming languages and 9 software tools, tracking time spent per exercise and difficulty distribution. The analysis provides valuable data on course workload estimation, student motivation tracking, and curriculum design improvements.

Why fastDOOM is fast

A detailed exploration of fastDOOM, a highly optimized version of DOOM achieving up to 48% better performance through 3,042 commits of incremental improvements. Victor Nieto's project demonstrates remarkable optimization across different CPU architectures and video modes, with particular attention to Mode Y versus Mode 13h implementations.

Effective Rust

A comprehensive guide presenting 35 specific methods to enhance Rust programming practices, covering essential topics from type systems to FFI boundaries. The guide is structured into six main sections, focusing on types, traits, concepts, dependencies, tooling, and advanced Rust features. Each item provides detailed insights for writing more effective and maintainable Rust code.

Smart Pointers Can't Solve Use-After-Free

Smart pointers in C++ cannot fully prevent use-after-free vulnerabilities due to internal raw pointers in types beyond user control. Examples with std::vector, std::span, and std::lock_guard demonstrate how iterator invalidation and pointer mismanagement can still lead to memory safety issues regardless of smart pointer usage.

I struggled with Git, so I'm making a game to spare others the pain

A developer created Devlands, a gamified 3D environment that makes learning Git more intuitive and accessible by allowing users to physically walk through their codebase. The project evolved from Git-Sim, incorporating voxel-based graphics and interactive tutorials to transform abstract Git concepts into tangible experiences.

Tips to debug hanging Go programs

A comprehensive guide explores debugging techniques for hanging Go programs, covering stack trace analysis with SIGQUIT, interactive debugging using Delve, and core dump collection for later analysis.

Knowing CSS is mastery to Frontend Development — Anselm Hannemann

A compelling argument for web developers to master fundamental languages like JavaScript and CSS rather than solely relying on frameworks and tools. Understanding core web technologies enables better debugging, optimization, and problem-solving capabilities, ultimately leading to more robust and maintainable applications.

The early days of Linux

A firsthand account of Linux's creation and early development by Lars Wirzenius, who witnessed Linus Torvalds' journey from writing a simple multitasking program to creating the Linux kernel in 1991. The kernel evolved from displaying alternating As and Bs on screen to becoming a global powerhouse running on billions of devices, including Mars rovers.

You Should Make Cross Views

A detailed guide explains how to create and view 3D photos using simple eye-crossing techniques without special equipment. The process leverages the brain's natural ability to construct 3D images from two slightly different perspectives, enabling anyone to capture and experience stereoscopic images. The guide emphasizes the artistic potential of 3D photography, particularly for capturing complex scenes like forests and caves.