26 links
tagged with programming
Click any tag below to further narrow down your results
Links
The article argues that the rise of AI and LLMs will increase the demand for programmers rather than decrease it, as efficient tools will lead to higher productivity and a growing backlog of work. This phenomenon, illustrated by Jevons Paradox, shows that as programmers become more capable, new opportunities and challenges arise, particularly in coordination and skill utilization among developers. The author emphasizes the importance of adapting management practices to keep pace with these changes in productivity.
In his article, Alexandru Nedelcu expresses his frustration with AI and LLMs in programming, arguing that they detract from the joy and satisfaction of the coding process. He emphasizes that while AI can handle simple tasks, it often fails at more complex problems, leading to a frustrating trial-and-error experience that lacks the fulfillment of traditional programming. Ultimately, he believes that relying on AI takes away the valuable learning journey inherent in programming.
The article provides a comprehensive guide on organizing tests in Rust, highlighting the importance of testing to identify and fix bugs before deployment. It covers various testing methodologies, including unit tests, integration tests, and documentation tests, while emphasizing best practices for effective test organization and execution.
The article discusses the concept of modulo bias, which occurs when reducing a larger set of numbers to a smaller set through the modulo operation, resulting in an uneven distribution. It highlights the potential implications of this issue, particularly in cryptographic applications, and references a related post by Yolan Romailler that provides further insight and solutions for mitigating the problem.
The article provides an overview of significant changes and new features introduced in Rust from version 1.78 to 1.90, highlighting the release of the 2024 edition and the establishment of an official language specification. It summarizes various enhancements in language capabilities, standard library updates, and tooling improvements, emphasizing the evolution of Rust over the past year and a half.
The article explores the hypothetical scenario of a programmer from 1984 waking up in 2014 and how their development practices would transform due to advancements in technology and programming paradigms. It emphasizes the shift towards high-level programming languages, efficient application design, and the necessity of simplifying software to adapt to modern computing capabilities. The author critiques the complexity of contemporary programming and advocates for self-contained applications that utilize modern system features effectively.
The article discusses the author's participation in the Old Computer Challenge, where they recreated a simple website for the ZX Spectrum using BASIC. They detail the limitations of the hardware, the design process for navigating services like Google and Hacker News, and share insights on the challenges of displaying content on a low-resolution screen. The author enjoyed the project and provides a link to the source code for others to explore.
The article discusses the author's experience porting the game Blood Money to the Commodore 64, highlighting the development process, tools used, and technical challenges faced, such as sprite management and collision detection. The author reflects on the nostalgia of the project and shares insights into the programming techniques employed during development.
The article provides a comprehensive guide to learning Z80 assembly programming through a series of tutorials and videos, focusing on various aspects such as CPU mysteries, data representation, and platform-specific instructions. It is designed for both beginners and experienced programmers, offering lessons that cover multiple hardware platforms like the Amstrad CPC, ZX Spectrum, and Gameboy. The content is accessible via text and accompanying YouTube videos for a more interactive learning experience.
The article is a compilation of libraries and extensions that enable the use of Scheme as a practical production tool for systems engineers and programmers, focusing on tasks such as file processing and report generation. It features various applications, tools, and resources related to Scheme, including a wiki engine and OpenGL bindings, and provides links to additional Scheme-related content. The author shares their personal projects and encourages others to use and test the provided tools.
The article explores four unconventional methods for type casting in TypeScript, highlighting the use of the `as` operator, the `is` operator, and techniques involving mutation and structural typing. It emphasizes the potential pitfalls and unsoundness of these casting methods, showcasing how TypeScript's type system can be manipulated in unexpected ways.
The GitHub repository "acwj" by DoctorWkt documents the author's journey in creating a self-compiling compiler for a subset of the C programming language. It includes practical explanations and detailed steps covering various aspects of compiler design, from lexical scanning to generating ARM assembly code, aimed at guiding others who wish to learn about compiler writing.
The article discusses the author's recent updates to mod_blog, highlighting the removal of long-standing features due to personal usage patterns and the complexity of maintaining outdated code. The author reflects on a specific bug related to C's precedence rules that went unnoticed due to infrequent use of the web interface, ultimately leading to the removal of over 3,000 lines of code in this release. The piece combines technical insights with personal anecdotes about programming and software development.
In this article, Josh Moody narrates a humorous conversation between a job candidate and an interviewer during a technical interview focused on programming concepts. The candidate attempts to solve the FizzBuzz problem using advanced techniques from lambda calculus and combinatory logic, showcasing a blend of creativity and complexity that ultimately confounds the interviewer.
The "Learn APL" article serves as a reference for users of the APL programming language, providing an overview of its features, functions, and operators. It is structured around existing APL tutorials and includes practical examples, exercises, and tips for using APL effectively, particularly with GNU APL. The guide emphasizes the importance of using a compatible monospace font for displaying APL characters correctly.
SETL is a high-level programming language developed in the late 1960s at New York University's Courant Institute, based on set theory. It features aggregate data types such as sets and tuples, and supports operations like union and intersection, along with quantified boolean expressions. Variants of SETL include SETL2 and ISETL, with influences on languages like Ada and Python's ABC.
The article provides an overview of Advent of Code 2025, a series of programming puzzles designed for various skill levels, and offers general tips for participants. It also addresses frequently asked questions regarding the event's structure, authentication, puzzle difficulty, and changes to the leaderboard system. The event, which starts on December 1st, encourages participation regardless of programming background and emphasizes problem-solving skills.
The article introduces JSON Query, a versatile and expandable query language designed for working with JSON data. It provides a playground, documentation, and function references, showcasing various examples of querying, filtering, sorting, and transforming JSON objects and arrays. Key functionalities include the ability to chain methods and utilize operators for diverse data manipulation tasks.
The article discusses the author's journey with the programming language Rust and its evolution, highlighting the factors that contributed to its success. It then draws parallels to a new version control system called jj, emphasizing its promising market fit, solid team, and potential user base, similar to what the author observed with Rust.
The article proposes several innovative computer science courses that address contemporary programming challenges and methodologies. It emphasizes the importance of creativity, user experience, and alternative programming paradigms, suggesting courses that explore unlearning traditional object-oriented programming, studying historical software, and enhancing user experience in command-line tools.
The article discusses the author's approach to coding, likening it to the precision of a surgeon who focuses on critical tasks while delegating secondary tasks to AI tools. The author emphasizes the importance of leveraging AI to handle grunt work, thus allowing for greater concentration on meaningful design work and enhancing productivity. Additionally, the article reflects on the evolving role of AI in programming and its implications for team dynamics and status hierarchies.
The GitHub repository "Are-we-fast-yet" by Rochus Keller features various implementations of the Are-we-fast-yet benchmark suite in multiple programming languages, including Oberon, C++, C, Pascal, Micron, and Luon. It serves as an extension to the main benchmark suite, providing additional resources and documentation for users interested in performance testing across different programming languages.
The article celebrates Decker's third birthday by highlighting significant updates from version 1.44 to 1.60, including expanded language support with DeckRoman, enhanced color features, and improved usability with new tools for managing widgets and links. It also introduces a mechanism for integrating JavaScript and browser APIs, making Decker more versatile for users.
The article refers to the `rlsw.h` file in the raylib project on GitHub, which is part of the external resources for the raylib library. The page encountered errors during loading, preventing access to the content and features of the GitHub repository.
The GitHub page for Ready-Z80 discusses multitasking features implemented in the Z80 microprocessor environment. It provides insights into the project's structure and showcases how multitasking is handled within the system. Users can explore the code and contribute to the ongoing development of this multitasking capability.
The article provides an interactive introduction to RISC-V assembly programming, aimed at those with basic knowledge of low-level computer science. It outlines the features of the RISC-V architecture, including its clean design, open standards, and community support, and presents a tutorial on the RV32I_Zicsr instruction set with practical examples for starting assembly programming.