# Maltsev · Forward Deployed Engineer > Canonical address for this file: https://maltsev-dev.github.io/llms.txt > Anatolii Maltsev, forward deployed engineer. I build AI systems that survive production: agent runtime security, retrieval quality, and the reliability layer underneath both. Four years of it in QA automation and platform test engineering, the rest in applied AI engineering, embedded Rust underneath it, and eight years of practice in total. This site is the work and the writing: what an agent is allowed to do, what happens when it does it anyway, and the hardware and toolchain work underneath. Everything here is English, server-rendered HTML with no login and no client-side requirement for reading. If you only need the map, stop after "Topics": the index below it is complete, so there is no need to crawl every post. ## Pages - [Home](https://maltsev-dev.github.io/): The pitch in one screen: what the work is and where to go next. - [Profile](https://maltsev-dev.github.io/about/): Method rather than CV: how engagements run, and what is on the desk right now. - [Writing](https://maltsev-dev.github.io/blog/): Every post, newest first, filed by topic. - [Projects](https://maltsev-dev.github.io/projects/): Case studies and shipped milestones side by side. - [Experience](https://maltsev-dev.github.io/experience/): Six stops over eight years, then the 24-skill toolkit pyramid with provenance per skill. - [Engagements](https://maltsev-dev.github.io/freelance/): The five shapes of work taken on, what each one delivers, and the four-step run: scope call, written proposal, build in the open, handover. ## Case studies Three, each with the problem, the architecture and what it moved: - [AI Lead Qualification Agent](https://maltsev-dev.github.io/projects/lead-qualification-agent/): Qualifies inbound leads over SMS and WhatsApp, then books the appointment and flags it to sales. Every thread is answered in seconds, and the calendar fills without anyone touching it. Tags: LLM, WhatsApp, CRM. - [AI Support Triage Agent](https://maltsev-dev.github.io/projects/support-triage-agent/): Resolves 40-60% of support tickets on its own. The rest are routed to a human with the context already attached, so nobody opens a blank ticket. Tags: RAG, Intercom, React. - [AI Email Reply Agent](https://maltsev-dev.github.io/projects/email-reply-agent/): Resolves inbound cold-outreach replies in minutes. It classifies the reply, drafts a response in the sender's own words, and books the meeting, so no lead goes quiet in an inbox. Tags: LLM, Gmail, React. ## Shipped work Milestones from the project history. Where there is no page of its own, the entry links to the post that covers it. - NullRun (Current): A runtime authorization layer for agents: tool execution, approvals, budgets and policy. An agent acts inside a limit instead of an assumption: every call gated, every grant recorded. See: https://nullrun.io - Social Media Agent: 7-Platform Publishing with Human Review (Mar 2026): A LangGraph pipeline generating content variants with DALL-E media across seven networks. Each one is held for human approval before it schedules and publishes, targeting 75% less production time and 3x posting frequency. - Internal Knowledge: Permission-aware RAG (Mar 2026): A 13-stage hybrid retrieval pipeline: dense and BM25, merged by Reciprocal Rank Fusion, reranked by a cross-encoder. GPT-4o synthesis refuses to answer without grounded sources, so the system cannot invent a citation. - Telegram Support Multi-Agent System (Feb 2026): A 10-node LangGraph pipeline that classifies intent and answers from a RAG knowledge base. Anything unsafe or unresolved is validated and escalated to a human agent, targeting 60%+ auto-resolution under 5 seconds. - Dev-Nurse (Jul 2025 — Nov 2025): A resource-constrained TinyML system on ESP32-S3: on-device inference, MQTT streaming and a Rust backend. Built to run fully at the edge, with no cloud dependency when the network drops. See: https://maltsev-dev.github.io/blog/2026-01-07-from-device-to-system-communication-backend-and-dashboard-for-an-embedded-ai-product/ - RestOn (Dec 2024 — Jan 2025): Actix-web backend code with third-party API integrations, generated from a prompt. It arrives with tests already written, so a prototype runs in minutes instead of an afternoon. See: https://maltsev-dev.github.io/blog/2025-01-26-actix-web-ai-agent/ - UE5 Shooter Game (Jul 2024 — Aug 2024): A shooter I built with my own hands. The sci-fi story and the combat both exceeded what I expected from a two-month project. See: https://maltsev-dev.github.io/blog/2024-09-15-exploring-c-game-development-with-unreal-engine-5/ - Android Emulator Launcher (Aug 2023 — Sep 2023): A Java Swing desktop application for configuring, creating and managing Android emulators. It turns the command-line ritual of AVD setup into a window with buttons. See: https://maltsev-dev.github.io/blog/2023-07-05-android-emulator-launcher/ - dev_stories_blog (Jun 2023 — Dec 2025): Technical writing that takes my own projects apart piece by piece, and doubles as reflection on the work behind them. See: https://maltsev-dev.github.io/blog/ ## Topics ### Agent runtime & security (24) The argument that an agent is two systems joined by a seam, and that the seam needs its own authority, budget and evidence. - [The AI pipeline is not optional](https://maltsev-dev.github.io/blog/2026-04-07-the-ai-pipeline-is-not-optional/): Most production AI systems have an excellent model and a mess around it. I have seen GPT-4, Claude and Gemini sitting behind hardcoded prompts, zero validation and no separation of concerns. · 2026-04-07 · ai, engineering, architecture - [Treat an agent as two systems joined by a seam](https://maltsev-dev.github.io/blog/2026-06-01-the-seam-between-model-and-execution/): An agent produces a perfectly acceptable response and then sends the wrong payment, deletes the wrong resource, modifies the wrong record, or calls a tool with a mutated argument. · 2026-06-01 · authorization, security - [Intercepting tool calls without patching framework internals](https://maltsev-dev.github.io/blog/2026-06-07-intercept-tool-calls-before-execution/): The request that shows up repeatedly in agent framework issue trackers is a developer who wants to inspect and block a tool call before it executes. · 2026-06-07 · architecture, authorization - [Every authorization is an instance of a permission category](https://maltsev-dev.github.io/blog/2026-06-13-permissions-are-categories-authorizations-are-instances/): Same agent. Same tool. Same permission. A support agent with refund access approves a twenty-dollar refund, which is exactly what it is there for. · 2026-06-13 · authorization, cost - [Agent security layers: what each category can and cannot catch](https://maltsev-dev.github.io/blog/2026-06-19-choosing-an-agent-runtime-security-layer/): Almost every comparison of agent security tools lines up vendors on a feature grid and lets the reader decide. · 2026-06-19 · architecture, security - [An agent budget is an authorization decision](https://maltsev-dev.github.io/blog/2026-06-26-agent-budget-is-a-permission-not-a-limit/): The first version of this always looks the same. There is a number, the number grows, and when the number crosses a threshold the request is rejected. · 2026-06-26 · cost, authorization - [How to enforce a hard budget on every LLM call your agent makes](https://maltsev-dev.github.io/blog/2026-07-02-budget-enforcement-per-llm-call/): Every "control your LLM spend" guide reaches the same place: you set a monthly cap somewhere and hope the number on the dashboard means something. · 2026-07-02 · budget, enforcement - [Atomic budget reservation in Redis Lua: pattern and failure modes](https://maltsev-dev.github.io/blog/2026-07-08-atomic-budget-reservation-redis-lua/): Between the get and the decrby, every other agent in the system reads the same stale balance and draws the same conclusion. · 2026-07-08 · redis, architecture - [The iteration cap lives inside the agent, and that is the problem](https://maltsev-dev.github.io/blog/2026-07-14-agent-loops-need-an-external-stopping-boundary/): A tool starts returning poor results. The agent notices, retries, gets poor results again, retries. Four hundred calls later it either trips a provider rate limit or exhausts the budget. · 2026-07-14 · reliability, cost - [Six enforcement paths, six declared defaults](https://maltsev-dev.github.io/blog/2026-07-20-fail-closed-is-not-a-single-switch/): Fail-closed is a one-sentence rule: when the rule cannot be evaluated, refuse. Every enforcement system claims it. · 2026-07-20 · reliability, authorization - [How human-in-the-loop approvals get bypassed on agents](https://maltsev-dev.github.io/blog/2026-07-26-how-hitl-approvals-get-bypassed/): A team ships a human-in-the-loop approval step. The tests pass, the demo works, the security review signs off. · 2026-07-26 · architecture, authorization - [Binding a human approval to the exact payload it authorized](https://maltsev-dev.github.io/blog/2026-08-01-human-approval-is-not-authorization/): Every framework ships a human-in-the-loop step. A human sees a card, the human clicks approve, the tool runs. · 2026-08-01 · authorization, compliance - [An approval is durable security state](https://maltsev-dev.github.io/blog/2026-08-08-approval-is-security-state-not-session-state/): The sequence is short. An agent submits an action for approval. The operator approves it. The agent crashes. · 2026-08-08 · authorization, reliability - [Which fields are material? What makes a digest mean something](https://maltsev-dev.github.io/blog/2026-08-14-material-fields-and-canonicalization/): A tool is described by a JSON schema: its parameters, their types, what it accepts. This vocabulary fits an interface. · 2026-08-14 · authorization, security - [Reducing approval fatigue without removing the control](https://maltsev-dev.github.io/blog/2026-08-20-reducing-hitl-approval-fatigue/): A team wants an agent that issues refunds. Security is nervous. There are exactly two options on the table, and both are bad. · 2026-08-20 · operations, authorization - [Scope an agent's permissions to the credential it holds](https://maltsev-dev.github.io/blog/2026-08-26-scope-agent-permissions-to-the-credential/): Three agents, one platform. The support agent reads the CRM, opens tickets, and refunds up to fifty dollars. · 2026-08-26 · authorization, security - [A tool name is a label: MCP authorization binds to identity](https://maltsev-dev.github.io/blog/2026-09-01-mcp-tool-identity-not-tool-name/): The trust list has an entry that says delete_user is allowed. What the agent calls is delete_user. Same string, two different things. · 2026-09-01 · mcp, security - [Authority is durable, and evidence expires on its own clock](https://maltsev-dev.github.io/blog/2026-09-07-authority-and-evidence-have-separate-lifecycles/): An agent is authorized to issue refunds up to five hundred dollars. The permission is valid, and the agent uses it correctly. · 2026-09-07 · authorization, compliance - [Agents cannot widen their own authority](https://maltsev-dev.github.io/blog/2026-09-13-authority-over-its-own-authority/): There is a question most governance frameworks never ask, because it does not come up until an agent can write code, configure integrations or modify its own workflows. · 2026-09-13 · authorization, security - [Operator control lives in state the agent cannot reach](https://maltsev-dev.github.io/blog/2026-09-19-operator-control-must-be-external-state/): The worker is on another pod. The queue keeps delivering jobs. Another worker picks up the in-flight execution. · 2026-09-19 · reliability, authorization - [How to build an audit trail for AI agent tool calls that survives an auditor](https://maltsev-dev.github.io/blog/2026-09-25-audit-trail-for-ai-agent-tool-calls/): Most agent audit logs are a table someone can UPDATE. That records what the system believed at write time. · 2026-09-25 · audit, compliance - [Testing agent security policies against adversarial inputs](https://maltsev-dev.github.io/blog/2026-10-01-testing-agent-policies-against-adversarial-inputs/): A policy has a test suite. The tests pass. Then someone finds an input that gets through, and the retrospective is always the same shape. · 2026-10-01 · testing, security - [Four valid permissions and one chain nobody approved](https://maltsev-dev.github.io/blog/2026-10-07-four-valid-permissions-one-unacceptable-chain/): Every step is in scope. The chain is a bulk data export to an external recipient. The agent executes them in order, because the task it was given was "produce a customer report". · 2026-10-07 · authorization, security - [An unknown outcome is its own state](https://maltsev-dev.github.io/blog/2026-10-10-unknown-outcome-is-not-a-failure-state/): A process crashes mid-execution. The audit log shows the action was authorized. The runtime logs show it was attempted. · 2026-10-10 · reliability, authorization ### Embedded Rust & firmware (26) Twenty-six posts on embedded Rust: firmware, peripherals, and the edge inference built on top of them. - [Critical compression of embedded firmware: understanding cargo size and linker strategies in Rust](https://maltsev-dev.github.io/blog/2025-05-29-critical-compression-of-embedded-firmware-understanding-cargo-size-and-linker-strategies-in-rust/): Embedded Rust firmware is size constrained because the microcontroller has very little memory to spend. · 2025-05-29 · rust, embedded, linker - [From Rust source to embedded executable: the compilation process for embedded systems](https://maltsev-dev.github.io/blog/2025-06-05-from-rust-source-to-embedded-executable-a-deep-dive-into-the-compilation-process-for-embedded-systems/): This is the second part of my exploration into the stages and optimizations of Rust compilation, focusing now on embedded systems development. · 2025-06-05 · rust, compilers, embedded - [GPIO (General Purpose Input / Output)](https://maltsev-dev.github.io/blog/2025-06-12-gpio-general-purpose-input-output/): GPIO stands for general purpose input/output. It is a type of pin found on an integrated circuit that does not have a specific function. · 2025-06-12 · rust, embedded, basic, gpio - [Building Trustworthy Embedded Systems with Rust](https://maltsev-dev.github.io/blog/2025-06-16-building-trustworthy-embedded-systems-with-rust/): Firmware for hardware that cannot be patched in the field has a different cost of failure than an application you can restart. · 2025-06-16 · rust, embedded, memory - [RP2040 Pico W Lab](https://maltsev-dev.github.io/blog/2025-06-24-rp2040-pico-w-lab/): This repository contains my projects, experiments, and notes using the Raspberry Pi Pico W, built on the RP2040 microcontroller with integrated Wi-Fi. · 2025-06-24 · rust, rp2040, embedded, project - [Embedded crates ecosystem](https://maltsev-dev.github.io/blog/2025-06-25-embedded-crates-ecosystem/): In general, developing programs for an MCU is aimed at obtaining some information from the surrounding world, performing necessary calculations with this data and interacting back. · 2025-06-25 · rust, embedded - [Serial Protocols](https://maltsev-dev.github.io/blog/2025-06-28-serial-protocols/): Digital systems are built on bits, and beyond using bits they often have to move them between two components, an MCU and a sensor or an LCD, for instance. · 2025-06-28 · embedded, basic, sp - [I2C (Inter-Integrated Circuit)](https://maltsev-dev.github.io/blog/2025-06-30-i2c-inter-integrated-circuit/): I2C (Inter-Integrated Circuit) is a low-speed two-wire master-slave serial protocol, widely used for short-distance data transmission over a data bus (SDA) with a clock synchronization line (SCL). · 2025-06-30 · embedded, basic, sp - [SPI (Serial Peripheral Interface)](https://maltsev-dev.github.io/blog/2025-06-30-spi-serial-peripheral-interface/): SPI (Serial Peripheral Interface) is a low-speed four-wire master-slave full-duplex serial protocol, widely used as a faster alternative to UART/I2C for transferring data between an intelligent… · 2025-06-30 · embedded, basic, sp - [UART (Universal Asynchronous Receiver / Transmitter)](https://maltsev-dev.github.io/blog/2025-06-30-uart-universal-asynchronous-receiver-transmitter/): UART (Universal Asynchronous Receiver / Transmitter) is a low-speed two-wire asynchronous multi-duplex serial protocol. · 2025-06-30 · embedded, basic, sp - [Debugging firmware](https://maltsev-dev.github.io/blog/2025-07-01-debugging-firmware/): Software development runs in a cycle: write, run, check, fix. On a desktop, debugging is simplified by built-in logs, breakpoints and step-by-step code execution directly in the IDE. · 2025-07-01 · rust, embedded, basic - [CPU and Peripheral I/O Communication: Approaches and Trade-offs](https://maltsev-dev.github.io/blog/2025-07-02-cpu-peripheral-i-o-communication-approaches-and-trade-offs/): A microcontroller talks to its peripherals through one of a small number of I/O models, and the choice decides how much of the CPU's time the transfer costs, how quickly the peripheral gets serviced. · 2025-07-02 · embedded, basic, cpu - [MMIO (Memory-Mapped I/O)](https://maltsev-dev.github.io/blog/2025-07-02-mmio-memory-mapped-i-o/): MMIO (Memory-Mapped I/O) is a way for the central processing unit (CPU) to interact with peripheral hardware devices. · 2025-07-02 · embedded, basic, mmio - [Basic Embedded Rust Flow (Cortex-M)](https://maltsev-dev.github.io/blog/2025-07-11-basic-embedded-rust-flow-cortex-m/): A Rust project for microcontrollers needs a handful of files before it will compile, flash and print something. · 2025-07-11 · rust, embedded, basic - [MCU Peripherals](https://maltsev-dev.github.io/blog/2025-07-11-mcu-peripherals/): Microcontroller peripherals are functional blocks integrated into the chip that enable it to interact with the outside world or carry out specific tasks, often without involving the processor core. · 2025-07-11 · embedded, basic, peripherals - [MCU Registers](https://maltsev-dev.github.io/blog/2025-07-11-mcu-registers/): A processor register is a quickly accessible location available to a computer's processor. · 2025-07-11 · embedded, basic, registers - [PWM (Pulse Width Modulation)](https://maltsev-dev.github.io/blog/2025-07-13-pwm-pulse-width-modulation/): The classic way to do that is to reduce the voltage through a rheostat or a potentiometer. That is inefficient, since part of the energy is lost as heat. · 2025-07-13 · embedded, basic, pwm - [Timers](https://maltsev-dev.github.io/blog/2025-07-14-timers/): Timers are hardware modules of the microcontroller for actions with time counting and event generation without the participation of the main code. · 2025-07-14 · embedded, basic, timers - [Interrupts (ISR, IVT, NVIC)](https://maltsev-dev.github.io/blog/2025-07-15-interrupts-isr-ivt-nvic/): An interrupt lets the microcontroller respond to an important event without spending cycles polling its peripherals. · 2025-07-15 · embedded, basic, interrupts - [MCU Clock System](https://maltsev-dev.github.io/blog/2025-07-15-mcu-clock-system/): The clock system is the basis for timers and interrupts. It sets the pace of every digital component of the microcontroller. · 2025-07-15 · embedded, basic, clock - [MCU Synchronization](https://maltsev-dev.github.io/blog/2025-07-16-mcu-synchronization/): Synchronization is what keeps the processor, the peripherals, the timers and the interrupts operating in a consistent and accurate manner, based on a common clock source. · 2025-07-16 · embedded, basic, clock, timers, interrupts - [nrf52833 BBC micro:bit](https://maltsev-dev.github.io/blog/2025-07-24-nrf52833-bbc-micro-bit/): This repository contains my projects, experiments, and notes using the micro:bit v2.21, built on the nrf52833 microcontroller. · 2025-07-24 · rust, nrf52833, embedded, project - [Why overspecialization is over, and how I decided to create my own AI device on MCU](https://maltsev-dev.github.io/blog/2025-12-02-why-overspecialization-is-over-and-how-i-decided-to-create-my-own-ai-device-on-mcu/): This series covers the building of an ESP32-S3 device with ML built right into the firmware, along with the decisions, compromises, and challenges that came up along the way. · 2025-12-02 · project, rust, nurse, product - [Hardware and firmware organization: the foundation of an AI device on the ESP32-S3](https://maltsev-dev.github.io/blog/2025-12-05-hardware-and-firmware-organization-the-foundation-of-an-ai-device-on-the-esp32-s3/): This article covers the hardware I use in my AI device project, why I chose it, and how I structured the firmware in Rust. · 2025-12-05 · project, rust, nurse, product - [TinyML on MCU: from dataset to real-time inference in Rust firmware](https://maltsev-dev.github.io/blog/2025-12-26-tinyml-on-mcu-from-dataset-to-real-time-inference-in-rust-firmware/): The TinyML lifecycle on a microcontroller, from dataset preparation and model training to TensorFlow Lite Micro on bare metal, with the model bound into Rust firmware through a custom FFI wrapper. · 2025-12-26 · project, rust, nurse, product - [From device to system: communication, backend, and dashboard for an embedded AI product](https://maltsev-dev.github.io/blog/2026-01-07-from-device-to-system-communication-backend-and-dashboard-for-an-embedded-ai-product/): This final article connects the embedded AI device to the real world. It describes how inference results leave the MCU, travel through MQTT and HTTP, land in a Rust backend. · 2026-01-07 · project, rust, nurse, product ### Systems & tooling (9) What is under the application: the compiler, the memory model, the web server, the toolchain. - [HTML Scraper](https://maltsev-dev.github.io/blog/2023-06-26-html-scraper/): The pipeline runs end to end: it fetches raw HTML from a given URL, extracts the relevant information, maps it to structured Java objects (POJOs), and writes the results into an .xls Excel file. · 2023-06-26 · java, spring, project - [Android Emulator Launcher](https://maltsev-dev.github.io/blog/2023-07-05-android-emulator-launcher/): This tool simplifies managing Android Virtual Devices (AVDs) by providing a user-friendly GUI to create and launch emulators. · 2023-07-05 · java, android, project - [Wasm-based Application: Tax Calculator](https://maltsev-dev.github.io/blog/2024-10-05-wasm-based-application-tax-calculator/): · 2024-10-05 · rust, webassembly, project - [Actix-Web Server](https://maltsev-dev.github.io/blog/2024-10-19-actix-web-server/): A lightweight backend service built with modern Rust web technologies, usable as the backend for a full-stack app or an API-centric one. · 2024-10-19 · rust, actix_web, project - [std web_server](https://maltsev-dev.github.io/blog/2024-12-10-std-web-server/): A minimal but functional multi-threaded web server implemented entirely with the Rust standard library. · 2024-12-10 · rust, sync, project - [Rust Toolchain: A Complete Guide to Managing and Configuring Your Rust Environment](https://maltsev-dev.github.io/blog/2025-01-15-rust-toolchain-a-complete-guide-to-managing-and-configuring-your-rust-environment/): The Rust toolchain is a collection of tools and components that streamline the development, building and maintenance of Rust projects. · 2025-01-15 · rust, basic - [Actix-web AI Agent](https://maltsev-dev.github.io/blog/2025-01-26-actix-web-ai-agent/): RestOn is an agent that generates backend code from a text query. It is built in Rust on top of Actix-web. · 2025-01-26 · rust, actix_web, open_ai, project - [From Rust source code to optimized executable: inside the Rust compiler pipeline](https://maltsev-dev.github.io/blog/2025-05-27-from-rust-source-code-to-optimized-executable-inside-the-rust-compiler-pipeline/): Rust turns source code into a machine-executable binary through a pipeline of intermediate representations. · 2025-05-27 · rust, compilers, aot - [Understanding Memory Management in Rust: From Dynamically Sized Types to Fat Pointers](https://maltsev-dev.github.io/blog/2025-06-09-understanding-memory-management-in-rust-from-dynamically-sized-types-to-fat-pointers/): Rust handles memory through its type system, and a handful of questions follow. · 2025-06-09 · rust, memory, basic ### Making & side quests (8) The things built because they were interesting: a shooter, a Solana program, a cross-stitch generator, a pomodoro timer. - [Exploring C++ Game Development with Unreal Engine 5](https://maltsev-dev.github.io/blog/2024-09-15-exploring-c-game-development-with-unreal-engine-5/): Three C++ games built inside Unreal Engine 5, and what they taught me about level design. I get genuinely excited when I can make a computer do something I can touch, see and interact with. · 2024-09-15 · cpp, gamedev, project - [TUI Pomodoro App](https://maltsev-dev.github.io/blog/2024-10-07-tui-pomodoro-app/): A terminal-based Pomodoro timer built with Rust and Cursive, with the feel of a vintage console tool. · 2024-10-07 · rust, tui, project - [TUI Inventory App](https://maltsev-dev.github.io/blog/2024-10-11-tui-inventory-app/): This project is an experiment in building a Text User Interface application with the Cursive library, a TUI framework for Rust. · 2024-10-11 · rust, tui, project - [Simple Solana Counter Program](https://maltsev-dev.github.io/blog/2025-03-04-simple-solana-counter-program/): The program is a minimal Solana on-chain program written in native Rust. The core functionality is a counter. · 2025-03-04 · rust, solana, project - [Game on Solana: Guess the Number](https://maltsev-dev.github.io/blog/2025-03-07-game-on-solana-guess-the-number/): A simple interactive number guessing game, powered by smart contracts on the Solana blockchain. Written in Rust with the Anchor framework. · 2025-03-07 · rust, solana, anchor, project - [Anchor CPI: Cross-Program Invocation on Solana](https://maltsev-dev.github.io/blog/2025-03-19-anchor-cpi-cross-program-invocation-on-solana/): The project has two Solana programs, program-a and program-b. Program A performs a CPI to Program B, and also interacts with the System Program for SOL transfers. · 2025-03-19 · rust, solana, anchor, project - [On-Chain Key-Value Storage](https://maltsev-dev.github.io/blog/2025-04-09-on-chain-key-value-storage/): A Solana smart contract project that shows how to send, store and update data on-chain using keys. Written in Rust with the Anchor framework. · 2025-04-09 · rust, solana, anchor, project - [From image to pattern: building a cross-stitch generator as a CLI tool](https://maltsev-dev.github.io/blog/2025-11-30-from-image-to-pattern-building-a-cross-stitch-generator-as-a-cli-tool/): This project converts raster images into cross-stitch and needlepoint patterns. The output is a structured, printable and editable SVG pattern, with full control over the size and the color palette. · 2025-11-30 · project, rust, cli, graphics, svg ### Silicon & hardware (2) Two long reads on what the hardware is actually made of, written around the firmware series for the same reason. - [Semiconductors: from atoms to crystals](https://maltsev-dev.github.io/blog/2025-05-28-diving-into-the-world-of-semiconductors-from-atoms-to-crystals/): Semiconductors sit between conductors and insulators, and their behavior comes down to how electrons are arranged in atoms. · 2025-05-28 · basic_electronics - [The aesthetics of semiconductor destruction: understanding the PN junction](https://maltsev-dev.github.io/blog/2025-06-01-the-aesthetics-of-semiconductor-destruction-understanding-the-pn-junction/): The PN junction is the fundamental building block of many semiconductor devices, from diodes to transistors and solar cells. · 2025-06-01 · basic_electronics ## Contact - Email: mr.a.maltsev@gmail.com (mailto:mr.a.maltsev@gmail.com) - GitHub: https://github.com/maltsev-dev - LinkedIn: https://www.linkedin.com/in/a-maltsev - Telegram: https://t.me/a_maltsev_dev ## Machine-readable - RSS: https://maltsev-dev.github.io/rss.xml - Sitemap: https://maltsev-dev.github.io/sitemap.xml - robots.txt: https://maltsev-dev.github.io/robots.txt - Agent map: https://maltsev-dev.github.io/llms.txt ## Notes for crawlers - Every *page* URL ends in a slash; the machine-readable files listed above do not. - Posts are long-form. A single post is one page of prose with code fences; there is no pagination and no infinite scroll. - Diagrams are images under /images/. Their surrounding prose and captions carry the meaning, so a text-only read loses the drawing but not the argument. - Navigation, the command palette (Ctrl K) and theme switching are JavaScript enhancements. The content does not depend on them. - /archive/ and /page/ are stubs from a previous generator that redirect; do not index them. - /tags// are real pages, one per tag, and they are listed in the sitemap.