About:

Roman Kashitsyn is a blockchain researcher and developer with a passion for functional programming. He explores transaction models and programming paradigms in his articles.

Website:

Specializations:

Interests:

Blockchain Programming models Functional programming

Incoming Links:

Outgoing Links:

Subscribe to RSS:
The article discusses the challenges of traditional logging practices in software development, highlighting how raw logs have become overwhelming and ineffective. It proposes a tag-based logging model that allows developers to ann...
The blog post explores the std::adjacent_difference algorithm in C++, detailing its function of computing differences between adjacent elements while preserving the first element. It discusses the implications of this design choic...
Mapping complex webs of ideas onto hierarchical structures presents significant challenges across various fields, necessitating a more intentional approach to organization.
The blog post discusses the challenges of constant interaction with modern programming tools and advocates for a more deliberate approach to communication with these tools. It emphasizes the importance of batching tasks to enhance...
Solutions to Advent of Code 2025 puzzles are explored, highlighting algorithms, data structures, and the author's programming experiences in Rust.
The blog post discusses the impact of generative AI on content creation and programming, highlighting frustrations with AI-generated material and the loss of human touch. It contrasts the potential benefits of AI in automating tas...
In 2025, the author achieved personal milestones in running and martial arts while navigating the complexities of LLMs in programming and reflecting on significant reading experiences.

0Box combinators

2025-06-01

...
The article presents a view of system configuration as a program for an embedded interpreter, leading to three logical processing stages: parsing, analysis, and execution. It discusses the support for external references in config...
The author shares their experience with Duolingo after reaching a 3000-day streak, discussing the benefits and drawbacks of the app, and exploring alternatives for language acquisition, music, and math.
The article reflects on the author's professional preferences and how they are shaped by their early childhood experiences. It argues that culture and upbringing have a significant impact on technology preferences. The author conc...
The article introduces the ONNX file format, which is an open format for representing machine learning models. It describes the anatomy of an ONNX model, including the primary way to create an ONNX file, the textual representation...
The article summarizes the author's activities in 2024, including rewriting the blog engine, participating in the Advent of Code, trying new software tools, reading books, writing articles, learning languages, playing music, and e...

0Advent of Code 2024

2025-01-02

The article reflects on the author's experience with Advent of Code 2024, using OCaml to solve puzzles and the pros and cons of the language in this context. It describes solutions to three puzzles: Hoof It, Chronospacial Computer...
The blog post discusses the implementation of mechanics for a tile-matching game using a data-parallel array-oriented approach. It covers topics such as stabilizing the game board, implementing gravity, matching tiles, and putting...
The blog post discusses the safetensors file format, its structure, design flaws, and alternative designs such as tensorsafe, chunked metadata, and floating metadata. The author argues that moving the metadata section to the end o...
The article discusses four less-known programmers and thinkers who are considered programming avant-garde: Edward Kmett, Casey Muratori, Aaron Hsu, and Bret Victor. It highlights their contributions to the programming community an...
The blog post is an opinionated guide on writing design documents for software projects. It discusses the importance of design docs in organizing thoughts, correcting mistakes early, communicating context, onboarding new team memb...
The blog post explores the differences between account and utxo transaction models, comparing them to programming styles. It discusses topics such as replay attack resistance, multi-way transactions, error recovery, and regulatory...
The blog post discusses the plan-execute pattern in software engineering, which involves separating planning and execution stages to improve testing and debugging capabilities. The author describes how this pattern was applied in ...

0Enlightenmentware

2024-05-20

The blog post discusses the concept of 'enlightenmentware' in software tools that transcend mere utility and capture the imagination of programmers. The author praises UNIX, Git, Emacs, Boost.Graph, and Bazel for their impact on h...
The blog post discusses extending HTTPS outcalls on the Chainlink platform and the Internet Computer network to solve the oracle problem by providing byzantine fault-tolerant protocols. It explores the process of initiating https ...
The blog post discusses the importance of good names in programming, exploring the difference between concepts and their expressions, the role of the reader's context, and using mathematical models to determine good names. It emph...
The article discusses the importance of using domain types in programming to prevent bugs and improve code security. It explains newtypes and typedefs, as well as domain type classes like identifiers, amounts, loci, and quantities...