Website:

Specializations:

Subscribe to RSS:
The post introduces the concept of Transaction-Oriented Programming (TOP), which focuses on structuring software around 'user-relevant units of work' treated as transactions. The author discusses the importance of ACID properties ...
The author reflects on the evolution of programming tools from visual programming environments like Delphi and Game Maker to the current dominance of monospaced ASCII text in coding. They argue that despite advancements in technol...
The text discusses the implementation of logic programming, a paradigm less popular than procedural, object-oriented, and functional programming. It explains the basics of logic programming using Prolog and how to implement it. Th...
The text discusses the use of pointer tagging as an approach to achieve memory safety in programming languages. It explains the concept of pointer tagging, generational references, and the implementation of tagged pointers in C++....
The text discusses the lack of support for generic types in C and presents four different methods to implement generic types in C, each with its own pros and cons. The author compares the methods and concludes that the template he...
The author expresses frustration with the implementation of the Systems Modeling Language 2.0 standard, and the issues with object-oriented design. They argue that object-oriented design leads to a degradation of mental faculties,...
The text discusses the concept of the 'Borrow Checker' in Rust and how it enforces memory safety through compile-time checks. It explores the vulnerabilities it aims to prevent, such as double-free and use-after-free, and presents...
The text discusses the use of null objects for error handling in programming. It explains the drawbacks of using null objects and suggests alternative approaches to error handling. The author emphasizes the importance of handling ...
The text discusses the use of tracing garbage collection in systems programming languages, comparing it to reference counting. It explores the possibility of using a simple form of tracing garbage collection as a general memory ma...
The text discusses the challenges of error handling and resource management in C and introduces a macro trick to make dealing with resource management more pleasant. It compares the resource management mechanisms in various progra...
The White House released a press statement calling for software developers to take measures to stop introducing security vulnerabilities. The report suggests tools that can help achieve this goal, but it is all for nothing if the ...
The text discusses the implementation of generators in C, which are a subset of coroutines that can be used to implement iterators, streams, and state machines. The author explains how to implement generators in C and provides exa...
The text discusses the concepts of faults, errors, and failures in programming. It explains the differences between them and how they can be handled. The author also talks about error prevention and the use of exceptions in progra...
The text discusses different ways to store types after semantic analysis in a compiler. It presents four options: Mutable AST, Typed AST, Generic AST, and Relational AST, along with their pros and cons. It also provides recommenda...
The text discusses the forgotten side of AI, Machine Reasoning (MR), which is different from Machine Learning (ML). MR is a deductive process that derives facts from rules, and is better suited for well-defined problems that requi...
The text discusses various memory management approaches, from manual memory management to fully-automatic solutions. It covers regions, memory pools, reference counting, tracing garbage collection, and substructural type systems. ...
The post discusses the limitations of web frameworks like Angular and React for developing component libraries, and the features natively provided by the browser. It explains the standards of web components, including Custom Eleme...
The text discusses the hidden costs of tracing garbage collection in programming languages, focusing on the supporting infrastructure needed by a tracing garbage collector to do its job, and the costs of that infrastructure. It ex...
The text discusses the concept of Object-Oriented Programming (OOP) and its definition. It argues that OOP is a bad idea and that the concept is ill-defined. The author proposes a minimal definition of OOP and discusses the import...
The text explains how to handle expressions in a recursive descent parser, providing a step-by-step guide and code examples. It introduces the Pratt parser, a simple and beautiful parsing algorithm, and provides a Python script fo...
The text discusses the failure of Microsoft to provide a stable foundation for GUI applications, the history of Windows UI APIs, and the challenges faced by developers. It also highlights the popularity of web-based UIs and the us...