Blog

Notes by Rostislav Egorov (craftzman): architecture, Rust and Go, industrial telemetry, AI agents, indie products.

Echo 2.3.1: accurate CPU and GPU temperatureFixed the CPU and GPU temperature sticking at ~105 °C at idle and the disappearance of the temperature tab after a sensor read failure.Drafta 1.5: Mermaid on Pele and synchronization without a buttonDrafta 1.5 draws Mermaid diagrams with a single Pele renderer and picks up changes from the server on its own within seconds — without a "Synchronize" button.Echo 2.2: zones for windows, layouts, and CPU and GPU temperaturesIn Echo 2.2 — zones and grids for windows with auto-rules, layouts by hotkey, and CPU and GPU temperatures: a two-line graph in the popover and a line next to the network.Drafta 1.4: knowledge exchange in OKF format and Ctrl-w in vimDrafta 1.4 reads and writes Open Knowledge Format, serves it to agents via MCP, teaches vim mode to switch between panes with Ctrl-w, and fixes double prefixes in quick search.Code quality: what it means for business and how to ensure itSoftware code quality: readability, tests, code reviews, a unified style, CI, and technical debt control. Why clean code reduces the cost of owning a system.High loads and large data volumes: how to test them and what the numbers showHow to test a system for high loads and large data volumes: load profiles, tool choice (Rust vs Go), accounting for losses without a feedback channel, integrity and latency control. Real numbers: hundreds of gigabytes, millions of messages, zero distortion.Secure software development: how protection is built in from day oneSecure software development: threat modeling, secure architecture, data and secret protection, dependency control, review and testing. Principles and checklist.Software testing and acceptance: how to make sure the system works before releaseSoftware testing before release: unit, integration, load, and end-to-end tests, security checks, acceptance criteria, and release plan.Keel: how to design a system where you can't peekAnalysis of the Keel CRM architecture for foreign trade: depersonalization at the server level and separate databases, rather than hiding fields in the interface. Rust, axum, sqlx, Vue 3, Postgres.Software architecture: design and planning before the first line of codeWhy design software architecture before development: requirements, key decisions, ADRs, decomposition, and planning. How this reduces project cost and risks.Software development from scratch turnkey: from idea to releaseHow software development from scratch proceeds: idea, requirements, architecture, planning, development, testing, release, and support. Stages, timelines, risks, and what the customer gets."Ruslo": how an IIoT platform is built for an enterprise's closed networkHow the Ruslo IIoT platform is structured: telemetry collection via MQTT, Modbus TCP, and OPC UA, ClickHouse, enterprise tree, operation without the internet. Analysis of architectural decisions.What I do outside of code: forest, camping, photography, and a German Shepherd named KatieDeveloper craftzman's hobbies: camping and the forest on weekends, a German Shepherd named Katie, videos on the ROSTCAMP channel, photography, music, art, and machine learning.Emoji in Drafta: colon instead of a paletteHow to insert emoji into Drafta from the keyboard: a colon and a couple of letters of the name, like on GitHub. The note keeps the symbol itself, not the code.What I do: my products and projectsOverview of craftzman projects: the Ruslo IIoT platform, Keel CRM, the Istok stand, the Drafta editor, the Echo monitor, the Helm workspace. Stack, ideas, and what they have in common.Who is craftzman: from forensic expert to architectRostislav Egorov (craftzman): an engineer and lawyer who became a backend developer, team lead, and architect. The path from property valuation to Rust and industrial systems.Drafta 1.2.2: clean previews and a theme-matched iconIn Drafta 1.2.2, note previews in the list became plain text without Markdown formatting, and the app icon changes with the light and dark themes of macOS.Drafta 1.2.4: swipe and wide tablesIn Drafta 1.2.4, horizontal scrolling of a wide table no longer collapses the sidebar: the swipe for panels only triggers when there is nothing left to scroll.Echo 2.0.1: word correction cancellation works reliablyEcho 2.0.1 fixes undo autocorrect with ⌥⇧Space: it no longer works intermittently, isn't thrown off by Backspace and ⌥Space, and works with a reassigned hotkey.Drafta 1.2: local models, model selection, and calculatorDrafta 1.2 connects local models via LM Studio and Ollama, lets you choose a model for each provider, adds OpenCode Zen and a built-in calculator.Drafta 1.1: into five thousand notes without delaysDrafta 1.1 on speed: autosave in 7 ms, search in milliseconds, launch in fractions of a second, switching notes without reloading the editor.Drafta 1.1.1: nested tagsIn Drafta 1.1.1, a parent/child tag became a single tag, a tag tree appeared in the sidebar, and tags no longer move notes between notebooks.AI assistant in Drafta: ⌘J and your keyHow the Drafta AI assistant works: a popover via ⌘J, seven ready-made commands, editing a selection and inserting at the cursor, Anthropic, OpenAI, or DeepSeek keys.Drafta 1.0 has been releasedDrafta 1.0 — a native Markdown editor for programmers on macOS. What's in the release, who it's for, how much it costs, and what's next.Drafta Editor: Markdown, preview, and splitHow the Drafta editor works: CodeMirror 6, three view modes, live Mermaid and KaTeX preview, callouts, table of contents, and note statistics.Drafta MCP server: agents read and write notesDrafta's built-in MCP server gives Claude and other clients 12 tools for the entire library. How to connect, what it can do, and how to restrict it to read-only.Notes are files: notebooks, tags, statuses, and linksHow Drafta stores and organizes notes: Markdown files with YAML front-matter, nested notebooks, tags, four statuses, bookmarks, and a link graph.Revision history and backupsHow Drafta stores up to 30 revisions of each note with diff and one-click revert and how it backs up the entire library to ZIP.Synchronization and encryption in DraftaHow Drafta syncs notes via the cloud or its own CouchDB, encrypts them with AES-256-GCM on your Mac, and why the account has two passwords.Type from the keyboard: shortcuts, snippets, autocorrectDrafta hotkeys, quick navigation with ⌘P, slash snippets, and autocorrect while typing — everything that keeps you from reaching for the mouse.What Drafta looks like: themes, typography, exportEleven built-in Drafta themes and custom themes in JSON, four typography presets, and export to PDF, DOCX, HTML, and Markdown via styling profiles.Echo 2.0: battery and two languagesEcho 2.0 has a battery feature — a charge graph for the day and the apps that drained it — with an interface in Russian and English, and layout autocorrection has become a separate toggle.Echo 1.13: fixes in manual conversion and keyboard cleaningEcho 1.13–1.13.7 — bug-fix releases: manual word conversion via ⌥⇧Space no longer swallows the space and now genuinely works as undo, while Keyboard Cleaning locks the keyboard entirely, including the top row.Echo 1.9: snippets and translation without taking your hands off the keyboardIn Echo 1.9–1.12, snippets and in-place translation of selected text appeared, and the menu bar icon learned to show live metrics.Echo 1.8: you type ghbdtn — you get privetEcho 1.8 introduces Ultra Switch: a word typed in the wrong layout is corrected automatically, the layout switches right after, and language switching works with ⌥Space. And the app now updates itself.Echo 1.1: Prevent Sleep really does prevent sleepIn Echo 1.1, Prevent Sleep has been fixed: the display no longer turns off, and the Mac no longer goes to sleep, including with the lid closed.Echo 1.0: system monitor in the macOS menu barEcho — a native macOS menu bar app: CPU, memory, disk, and network in one window, plus a window manager, clipboard history, and small system utilities.

RSS