# Ivan Roganov > Enterprise engineer for the AI era: 15+ years modernizing legacy systems, now integrating LLMs and AI agents into real businesses. Founder of Intelligent Forge Company LLC. Available for AI integration projects. Ivan Roganov (also known as "nurked") is an AI Integration & Enterprise Systems Engineer based in Clearwater, Florida, and the founder of Intelligent Forge Company LLC. Areas of expertise: AI Integration & LLM Systems, AI Agents & Workflow Automation, Enterprise AI Strategy, Legacy System Modernization, IT Troubleshooting, Software Development, Education, Technical Writing, Team Leadership, Project Recovery, Systems Architecture. Ivan is available for hire for AI integration and enterprise software work through his company, Intelligent Forge Company LLC (https://intelligentforge.net). ## Site - [Homepage](https://roganov.me/): Who Ivan is, what he does, and how to hire him - [Blog](https://roganov.me/blog/): Essays on software engineering, technology, education, and the economics of quality - [Blog in Russian](https://roganov.me/ru/blog/): Русскоязычная версия блога - [RSS feed](https://roganov.me/rss.xml) - [Intelligent Forge Company](https://intelligentforge.net/): Ivan's company — AI integration for business ## Projects - [KidDOS](https://kiddos.dev/): A fake computer inside your real one, for kids about 7 to 13: a fullscreen CRT terminal with a real Unix shell, a virtual drive, a manual, BASIC, C and Go in a sandbox, and games whose source the kid can read and change. No internet, nothing to break. Free and open source. - [SkyPeck](https://skypeck.fun/): Spread your wings in front of the camera, lean to turn, flap to fly. Pose detection runs entirely on the device, so the camera never uploads anything. For iPad, iPhone, Mac and PC. ## Contact - Email: ivan@roganov.me - LinkedIn: https://www.linkedin.com/in/ivan-roganov/ - GitHub: https://github.com/nurked - Telegram: https://t.me/nurked ## Blog Posts (English) - [KidDOS: A Computer Small Enough for a Kid to Explore](https://roganov.me/blog/kiddos/): I learned to program because I was bored in front of a 486DX4 with 8 megs of RAM and a 160 MB drive. Kids today can't have that. So I want to build it. - [Token — a Unit of Irresponsibility](https://roganov.me/blog/token-irresponsibility/): What a token really measures: how irresponsible a person is. Why you can't patch a field of irresponsibility with more irresponsibility — and what to do instead of dropping an AI agent on a broken process. - [Google Wakes Up](https://roganov.me/blog/google-wakes-up/): Google is launching the Googlebook. But the real story is why — while everyone watched the AI race, Apple quietly rewrote the laptop market with a cheap MacBook. - [Code has always been worthless](https://roganov.me/blog/code-always-worthless/): For forty years we pretended software was the product. SaaS moved the price to the service. AI moved it past zero. The artefact is free now — what's worth paying for is knowing which code to write. - [A lost computer](https://roganov.me/blog/lost-computer/): We had this amazing thing called a computer — precise, predictable, trustworthy. Then came AI, and the real danger isn't stolen jobs. It's erosion of responsibility. - [Artificial whatteligence?](https://roganov.me/blog/artificial-whatteligence/): An entire field of human knowledge goes stale because of one misunderstood word. Nobody can define intelligence — so what exactly is this 'Artificial Intelligence'? - [Leadership to insanity](https://roganov.me/blog/leadership-to-insanity/): Insanity is taking anything to the extreme. A manager's job is to keep the balance — let AI in, watch the people who worship it, and watch the ones who ban it. - [Do you wanna embarrass the hell out of yourself?](https://roganov.me/blog/embarrass-yourself/): Reading AI-generated slop at a birthday or a ceremony is the fastest way to ruin the room. People remember you by what you've done — not by a Wikipedia page. - [How does we support?](https://roganov.me/blog/how-does-we-support/): AI-powered support and overseas outsourcing are a great way to lose your customers. Help is supposed to mean something — and a real US-based voice is easy money. - [Tax The Which?](https://roganov.me/blog/tax-the-which/): Tax every billionaire in the US and each person gets $8,700 — one time. Then nothing. So maybe the real problem isn't billionaires. Maybe it's your education. - [A Distinct Taste of Life in Your Mouth](https://roganov.me/blog/taste-of-life/): Humans have way more than five senses. One of them — the sense of life — usually sits dormant. And then LLMs arrive and suddenly wake it up. - [From VHS Magic to Big Data Blockbusters: Why Modern Movies Have Lost Their Soul](https://roganov.me/blog/vhs-to-big-data-movies/): A 212-tape childhood VHS collection, Requiem for a Dream at 13, and then Star Wars VII. How movies turned from a filmmaker's vision into Big Data slurry. - [Why I Still Don't Believe in AI](https://roganov.me/blog/why-dont-believe-in-ai/): A programmer's take on the AI hype: a system that needs constant babysitting isn't a working system. And 'AI everywhere' is just another kind of stupidity. - [It's Impossible to Be Average, and AI Can't Help You](https://roganov.me/blog/impossible-to-be-average/): Out of 3,863 women, none matched the 'average.' Yet ChatGPT is designed to produce exactly that — the most average answer possible. Here's why that's a problem. - [The Code Writes Itself Now — Just Don't Ask Why It Works](https://roganov.me/blog/code-writes-itself/): Nobody's actually writing their code anymore — the LLM is. And that's perfectly fine. Let it handle the boilerplate and stop pretending we're improving JavaScript. - [Don't Even Think About Rewriting the Code? Seriously?](https://roganov.me/blog/dont-rewrite-the-code/): LinkedIn is clutching pearls over the idea of rewriting the U.S. Social Security codebase. In 2025? With LLMs? Let's wake up — rewriting business logic costs pennies now. - [The Infinite Joke: Math, AI, and the Minds That Mock the Universe](https://roganov.me/blog/infinite-joke-math-ai/): A waitress served me infinite coffee. Which got me thinking: the universe doesn't accept infinity — but we do. That's the real joke, and AI isn't in on it. - [The Illusion of Stability: What Disney's Decline Teaches Us About Creativity and Growth](https://roganov.me/blog/disney-decline-stability/): Disney can't animate anymore. They ran out of ideas. Here's what that tells us about stability, creativity, and why standing still is the scariest place to be. - [Will AI Really Steal Your Job? Let's Talk Reality.](https://roganov.me/blog/will-ai-steal-your-job/): People keep sending me doom videos about AI taking every job. Let's cut through the hype and look at what's actually happening with the money, the market, and reality. - [Let's Prove to Your Laptop That It's a Bad Laptop](https://roganov.me/blog/prove-laptop-is-bad/): Yelling at inanimate objects changes nothing — and neither does yelling at your AI. If the output is wrong, you have only yourself to blame. - [Ever wonder when life will finally get easier? Spoiler alert: it never does — and that's the beauty of it.](https://roganov.me/blog/life-never-gets-easier/): Life never gets easier — the better it gets, the more work comes with it. A take on resistance, cat poop, and why the path up is always more work, not less. - [Let's Conduct an Experiment and Create the Principle of Quantum Uncertainty Right Here, Right Now](https://roganov.me/blog/quantum-uncertainty-experiment/): Think of a cat. Congratulations — you just created a state of uncertainty nothing in the universe can read. A short take on thought, AI hype, and creation. - [How to Become a Bland Nobody with AI](https://roganov.me/blog/bland-nobody-with-ai/): Shove everything into Big Data and AI and you end up with gray average nothing. Hollywood, Nokia, and why instinct still beats dataset polish. - [Are your ideas worth anything? And what about the age of AI?](https://roganov.me/blog/ideas-in-age-of-ai/): Ideas are worthless — execution and selling are what make money. A blunt take on AI, startups, and why hiding in your little hole will get you nowhere. - [Fast Fashion of UI and UX](https://roganov.me/blog/fast-fashion-ui-ux/): UI and UX have turned into fast fashion — glossy effects that burn through GPUs, batteries and millions of dollars in power every day, only to be replaced next year. - [LinkedIn — your best partner in scam](https://roganov.me/blog/linkedin-scam-partner/): An open letter to LinkedIn's 'security' team: every report comes back 'Everything is fine' while obvious scam bots and real harassment are quietly left untouched. - [An Abysmal State of Modern UI](https://roganov.me/blog/abysmal-modern-ui/): Modern UI is an unpredictable mess — swipes do different things in every app, buttons jump around the screen, and SEO bros churn out '101 tips' to make it worse. - [Problems in the IT Industry](https://roganov.me/blog/problems-in-it-industry/): A solution to a problem is something that makes the problem go away. In IT, we skip that step — we pile on tools and processes while nobody learns the trade. - [The Grand Circus of IT Hiring](https://roganov.me/blog/grand-circus-it-hiring/): IT hiring has become a circus where common sense takes a holiday and absurdity is the norm. A short tour of the acts — from Facebook to Netflix to Jonny the junior. - [Stop Making Excuses: A Rant on Developer Ownership](https://roganov.me/blog/stop-making-excuses/): A blunt rant on programmers who blame everyone but themselves: responsibility, professionalism, and why excuses are a one-way ticket to burnout. - [Cloning Linux by Hand](https://roganov.me/blog/diy-linux-cloning/): How to clone Debian Linux by hand, without third-party tools: dd, partprobe, sgdisk, e2fsck, resize2fs, and a bit of Go — for when you wake up stranded on a desert island. - [Taming QEMU with an Iron Fist](https://roganov.me/blog/qemu-iron-fist/): A hands-on tutorial on driving QEMU virtual machines straight from Go via libvirt — no virsh, no clunky wrappers, just clean JSON in and JSON out. - [Fear and Loathing in RDP](https://roganov.me/blog/fear-and-loathing-rdp/): How RDP has quietly evolved over the last ten years: versions from NT 4.0 to 10, useful mstsc flags, shadow connections, security holes, and the future of Windows administration. - [Tightrope Walker on NVMe-over-TCP 2.0](https://roganov.me/blog/nvme-over-network-part-2/): Round two of beating up NVMe-over-TCP. A real test bench made of two Dell PowerEdge boxes, a 10-gigabit network, kernel 5.16, and answers to the questions you raised. - [HTC Touch Pro 2 in 2022: A Guest from the Past](https://roganov.me/blog/guest-from-the-past/): Buying a brand-new HTC Touch Pro 2 on eBay for $40 in 2022 and diving back into the lost world of Windows Mobile, PDAs, Palm, Nokia, and offline dicts. - [Don't Be Cringe](https://roganov.me/blog/dont-be-cringe/): Tips and personal stories on not being a clueless bore on an international team: accents, dictionaries, idioms, jokes, emails, names, and the little things that bite. - [Is Everyone Lying? More Adventures in Tormenting NVMe](https://roganov.me/blog/nvme-over-network-part-1/): NVMe is more than just a fast disk — it's a protocol. Here's how to expose an NVMe drive over the network through plain TCP, using nothing but your stock Linux kernel. - [Setting Up Your Own Mail Server with docker-compose](https://roganov.me/blog/docker-mail-server/): How to stand up your own mail server using Mailu — a curated set of docker containers with postfix, dovecot, roundcube and everything you need. Step-by-step, with the landmines marked. - [How to Learn to Write Articles (for Tech Blogs and Beyond)](https://roganov.me/blog/how-to-write-articles/): A practical guide to writing articles: five elements of good writing — from storytelling and reading tons of literature to developing your own style and dealing with critics. - [Grant Sanderson (3Blue1Brown): Interview on Math & Code](https://roganov.me/blog/3blue1brown-interview/): Grant Sanderson, creator of 3Blue1Brown, on applying math in business and programming, computing integrals in your head, and building a massive channel. - [Bad Advice for Teaching People to Code](https://roganov.me/blog/bad-advice-teaching/): How to teach programming without killing the spark: three idiotic claims, understanding vs. rote memorization, and why 'couldn't learn' is a cop-out. - [Building Your Own TV Studio with Blackjack and…](https://roganov.me/blog/diy-tv-studio/): How a sysadmin turned pandemic video calls into a full-blown TV studio: Jitsi, Restreamer, BlackMagic, SDI cameras, and broadcasting to 2,000 employees for under $7,000. - [What Should We Actually Be Afraid of in AI?](https://roganov.me/blog/ai-real-fears/): Why computers can't think, what's actually dangerous about AI, and how we quietly handed machines the right to choose for us — from TikTok recommendations to hiring systems. - [Bad Advice for Manual Writers](https://roganov.me/blog/bad-advice-manuals/): Why people don't read manuals, how to make docs even worse, and why you should write decent ones — a satirical reverse-advice take on documentation. - [Hire, Don't Filter Out — Mind the Comma](https://roganov.me/blog/hiring-humans/): A blunt take on IT hiring: why AI resume filters are killing the process, why you should hire without idiotic interviews, and how to motivate programmers like actual human beings. - [Learning Blazor by Building Something Useful. Part II](https://roganov.me/blog/blazor-useful-part-2/): Part two on Blazor: WASM binary pitfalls, Razor gotchas, component communication struggles, lifecycle traps, and the state of the ecosystem. - [Sharing (into) the Console](https://roganov.me/blog/console-sharing/): Useful console services for sysadmins and developers: terminal streaming via seashells.io, file transfers through transfer.sh, and what to do in the console while you're waiting for a deploy. - [Learning Blazor by Building Something Useful. Part I](https://roganov.me/blog/blazor-useful-part-1/): Part one of how, instead of yet another ToDo list, we built a useful IoT relay control system in Blazor: Entity Framework, MVC controller, server-side rendering, and C# instead of JavaScript. - [Digging Into the Compiler Source — How the Go Scheduler Works (Part II)](https://roganov.me/blog/goscheduler-part-2/): Part two of the series on Go's task scheduler: breaking down G, P, and M, thread parking, system calls, netpoll, and sysmon — all based on runtime source code. - [How to Build a Career by Helping People](https://roganov.me/blog/career-by-helping/): Transcript of a live talk about building an IT career: from fixing a PHPBB forum at 14 to landing contracts without interviews — why helping people works better than any resume. - [Leveling Up — Rust and Windows API](https://roganov.me/blog/rust-windows-api/): Continuing the compact-programs series: building 2048 in Rust with windows-rs, creating a native window via WinAPI, and wrangling the message queue. - [Digging Into the Compiler Source — How the Go Scheduler Works (Part I)](https://roganov.me/blog/goscheduler-part-1/): Part one of a series on Go's task scheduler: what happens with OS threads, why 180,000 threads will kill your system, and what work stealing has to do with any of it. - [x64 Assembly in 2021: Rebuilding 2048 After 20 Years](https://roganov.me/blog/assembly-2048/): Writing the game 2048 in x64 Assembly on Windows: from TASM memories to NASM and MinGW, fitting the entire game field into 16 bytes of memory. - [Windows 11 Deep Dive: What's Really Inside](https://roganov.me/blog/windows-11-deep-dive/): Windows 11 inside and out: rounded corners, the new Start menu, TPM 2.0 requirements, telemetry, and what the scary number eleven really hides. - [UUIDv7, or How Not to Get Lost in Time When Creating Identifiers](https://roganov.me/blog/uuid-v7/): A deep dive into UUIDv7 — a next-generation binary-sortable identifier: why it exists, how sub-second precision works, and why it matters for databases. - [Go Frontend with Vugu: WebAssembly in Pure Golang](https://roganov.me/blog/golang-frontend-vugu/): A look at vugu, a young library that lets you write frontend in Go via WebAssembly. Cats, goroutines, and 500 KB of WASM payload by the finish line. - [Brave New World: Data Privacy, Brave Browser & You](https://roganov.me/blog/brave-new-world/): The brave new world of data privacy: The Social Dilemma documentary, the Brave browser, and why your grandparents deserve a safer, quieter internet. - [Diving into the Rusty Depths. How the Rust Compiler Works](https://roganov.me/blog/rust-compiler-deep-dive/): A walkthrough of the Rust compiler source code — from parsing a source file to generating a binary via LLVM. We trace a program's journey through AST, HIR, and MIR. - [Rusting Further. How Rust Came to Be and Can You Do Web with It?](https://roganov.me/blog/rusting-further/): A deep dive into the history of compilation — from processors and opcodes through C, Java, and JavaScript to LLVM and Rust. Understanding why Rust exists and when to use it for web. - [How We Rusted. A Story of Adoption and Learning](https://roganov.me/blog/how-we-rusted/): A real-world experience of adopting Rust in production — from reading the documentation inside out to replacing 16 Docker containers with a 564 KB binary. - [Qualiflation: How Quality Decay Erodes the Economy](https://roganov.me/blog/qualiflation/): What happens when the result of your work is effectively nothing? How quality degradation — 'qualiflation' — quietly corrodes our economy and our lives. - [Windows 8 Developer Preview: What's Really Inside](https://roganov.me/blog/windows-8-deep-dive/): A detailed breakdown of Windows 8 Developer Preview: WinRT, Metro UI, tablet features, IE10, and honest impressions from three months of daily use. - [The Sysadmin Who Learned to Write: A Short Story](https://roganov.me/blog/habr-writing-story/): A sci-fi short story about Vasya the sysadmin, a 3 AM server-room emergency, and the unexpected encounter that inspired him to write his first article. - [PowerShell for Beginners: First Practical Steps](https://roganov.me/blog/powershell-first-steps/): A practical PowerShell intro for beginners: cmdlets, pipelines, working with .NET objects, the Windows registry, and writing your first useful scripts. - [Ruby on Rails Through a .NET Developer's Eyes](https://roganov.me/blog/first-slice-of-rails/): A .NET developer's first experience with Ruby on Rails: installing the stack, setting up the project, running the first scaffold, and honest impressions. - [.NET Interop: Working with Sockets via P/Invoke](https://roganov.me/blog/dotnet-interop-sockets/): .NET Interop in practice: using P/Invoke and DllImport to call native Windows Sockets from a managed C# app — a full example with code and pitfalls. - [Inheritance in ADO.NET Entity Framework](https://roganov.me/blog/entity-framework-inheritance/): Two inheritance types in ADO.NET Entity Framework — Table per Type and Table per Hierarchy — walked through with common mistakes and their fixes. - [ADO.NET Entity Framework: A Hands-On Introduction](https://roganov.me/blog/ado-net-entity-framework-intro/): A practical introduction to ADO.NET Entity Framework — from creating a data model to performing basic CRUD operations in ASP.NET. ## Blog Posts (Russian) - [KidDOS: компьютер, достаточно маленький, чтобы ребёнок мог его изучить целиком](https://roganov.me/ru/blog/kiddos/): Я научился программировать, потому что скучал перед 486DX4 с 8 мегабайтами памяти и диском на 160 МБ. У сегодняшних детей такого нет. Поэтому я хочу это построить. - [Токен — единица измерения безответственности](https://roganov.me/ru/blog/token-irresponsibility/): Что на самом деле измеряет токен — насколько человек безответственен. Почему поле безответственности нельзя залатать ещё большей безответственностью и что делать вместо того, чтобы бросать AI-агента на сломанный процесс. - [Гугл проснулся](https://roganov.me/ru/blog/google-wakes-up/): Гугл выпускает Googlebook. Но настоящая история — почему: пока все смотрели на гонку ИИ, Эппл тихо передели́л рынок ноутбуков дешёвым макбуком. - [Код всегда ничего не стоил](https://roganov.me/ru/blog/code-always-worthless/): Сорок лет мы делали вид, что софт — это товар. SaaS сдвинул цену на сервис. ИИ сдвинул её ниже нуля. Артефакт бесплатен. Платят теперь за понимание, какой именно код стоит писать. - [Потерянный компьютер](https://roganov.me/ru/blog/lost-computer/): У нас была потрясающая штука — компьютер: точный, предсказуемый, которому можно доверять. Потом появился ИИ. И главная беда не в украденных рабочих местах, а в том, что мы разучиваемся отвечать за результат. - [Искусственный чегототам?](https://roganov.me/ru/blog/artificial-whatteligence/): Целая область человеческих знаний выдыхается из-за одного неверно понятого слова. Интеллект никто определить не может — так что же это за «искусственный интеллект»? - [Руководство в безумие](https://roganov.me/ru/blog/leadership-to-insanity/): Безумие — это довести что угодно до крайности. Работа руководителя — держать баланс: впускай ИИ, приглядывай за теми, кто его обожествляет, и за теми, кто его запрещает. - [Хочешь опозориться в хлам?](https://roganov.me/ru/blog/embarrass-yourself/): Читать сгенерированную ИИ муть на дне рождения или на церемонии — самый верный способ испортить вечер. Людям ты запомнишься делами, а не страницей в Википедии. - [Как мы поддерживает?](https://roganov.me/ru/blog/how-does-we-support/): Саппорт на ИИ и аутсорс за океан — отличный способ растерять клиентов. Поддержка должна что-то значить, а живой голос из местного колл-центра — это лёгкие деньги. - [Обложить кого налогом?](https://roganov.me/ru/blog/tax-the-which/): Обложи налогом всех миллиардеров США — и каждому достанется по $8 700 один раз. А потом ничего. Может, дело не в миллиардерах. Может, дело в твоём образовании. - [Отчётливый вкус жизни во рту](https://roganov.me/ru/blog/taste-of-life/): У человека куда больше пяти чувств. Одно из них — чувство жизни — обычно дремлет. А тут появляются LLM и внезапно его будят. - [От магии VHS до блокбастеров на Big Data: почему современное кино потеряло душу](https://roganov.me/ru/blog/vhs-to-big-data-movies/): Детская VHS-коллекция из 212 кассет, «Реквием по мечте» в 13 лет, а потом — Star Wars VII. Как кино из режиссёрского высказывания превратилось в жижу из Big Data. - [Почему я всё ещё не верю в ИИ](https://roganov.me/ru/blog/why-dont-believe-in-ai/): Взгляд программиста на хайп вокруг ИИ: система, которую нужно постоянно нянчить, — это не рабочая система. А «ИИ везде» — просто ещё одна форма глупости. - [Быть средним невозможно, и ИИ тут тебе не поможет](https://roganov.me/ru/blog/impossible-to-be-average/): Из 3 863 женщин ни одна не совпала со «средней». А ChatGPT устроен так, чтобы выдавать именно это — самый усреднённый ответ. И в этом проблема. - [Код теперь пишет себя сам — только не спрашивай, почему он работает](https://roganov.me/ru/blog/code-writes-itself/): Никто на самом деле больше не пишет свой код — его пишет LLM. И это нормально. Пусть она и разгребает бойлерплейт, а мы перестанем делать вид, что улучшаем JavaScript. - [Даже не думай переписывать код? Серьёзно?](https://roganov.me/ru/blog/dont-rewrite-the-code/): LinkedIn хватается за сердце от мысли переписать код соцстраха США. В 2025-м? При наличии LLM? Очнитесь — переписать бизнес-логику сегодня стоит копейки. - [Бесконечный прикол: математика, ИИ и те, кто смеётся над вселенной](https://roganov.me/ru/blog/infinite-joke-math-ai/): Официантка принесла мне бесконечный кофе. И я задумался: вселенная не принимает бесконечность, а мы — принимаем. Вот это и есть настоящий прикол, а ИИ в нём не участвует. - [Иллюзия стабильности: чему упадок Disney учит нас о творчестве и росте](https://roganov.me/ru/blog/disney-decline-stability/): Disney разучился делать мультики. У них кончились идеи. Вот что это говорит нам про стабильность, творчество и почему стоять на месте — самое страшное, что может быть. - [И что, ИИ правда отнимет у тебя работу? Давай по-честному.](https://roganov.me/ru/blog/will-ai-steal-your-job/): Мне без конца шлют страшилки про то, как ИИ заберёт все рабочие места. Давайте по-честному разберёмся, что происходит с деньгами, рынком и вообще. - [Давай докажем твоему ноутбуку, что он — плохой ноутбук](https://roganov.me/ru/blog/prove-laptop-is-bad/): Орать на неодушевлённые предметы бесполезно — и на свой ИИ тоже. Если на выходе ерунда, винить нужно только себя самого. - [Задумывался, когда же жизнь наконец станет легче? Спойлер: никогда — и в этом вся прелесть.](https://roganov.me/ru/blog/life-never-gets-easier/): Жизнь никогда не становится легче — чем лучше она становится, тем больше работы. О сопротивлении, кошачьих лотках и почему путь наверх — это всегда больше работы. - [Давайте проведём эксперимент и создадим принцип квантовой неопределённости прямо здесь и сейчас](https://roganov.me/ru/blog/quantum-uncertainty-experiment/): Подумай о кошке. Поздравляю — ты только что создал во Вселенной состояние неопределённости, которое никто не способен считать. Короткий взгляд на мысль, хайп вокруг ИИ и творчество. - [Как с помощью ИИ превратиться в серое ничто](https://roganov.me/ru/blog/bland-nobody-with-ai/): Запихни всё в Big Data и ИИ — получишь на выходе серое усреднённое ничто. Голливуд, Nokia и почему чутьё всё ещё бьёт вылизанный датасет. - [А ваши идеи вообще чего-то стоят? И как с этим в эпоху ИИ?](https://roganov.me/ru/blog/ideas-in-age-of-ai/): Идеи не стоят ни гроша — деньги делает исполнение и умение продавать. Прямолинейный взгляд на ИИ, стартапы и почему отсидеться в углу не получится. - [Фастфэшн в UI и UX](https://roganov.me/ru/blog/fast-fashion-ui-ux/): UI и UX превратились в фастфэшн — глянцевые эффекты сжирают GPU, батареи и миллионы долларов электричества в день, чтобы через год их заменили на новые. - [LinkedIn — ваш лучший партнёр в мошенничестве](https://roganov.me/ru/blog/linkedin-scam-partner/): Открытое письмо «службе безопасности» LinkedIn: на каждую жалобу приходит «всё хорошо», пока очевидные скам-боты и реальные оскорбления остаются без внимания. - [Бездна современного UI](https://roganov.me/ru/blog/abysmal-modern-ui/): Современный UI — это непредсказуемый хаос. Свайпы в каждом приложении делают разное, кнопки прыгают по экрану, а SEO-шники штампуют '101 совет', как сделать ещё хуже. - [Проблемы IT-индустрии](https://roganov.me/ru/blog/problems-in-it-industry/): Решение проблемы — это то, что делает проблему несуществующей. В IT мы этот шаг пропускаем: наворачиваем инструменты и процессы, а ремеслу так никто и не учится. - [Большой цирк IT-найма](https://roganov.me/ru/blog/grand-circus-it-hiring/): IT-найм превратился в цирк, где здравый смысл ушёл в отпуск, а абсурд стал нормой. Короткий тур по арене — от Facebook и Netflix до джуна Джонни. - [Прекращайте оправдываться](https://roganov.me/ru/blog/stop-making-excuses/): Жёсткое мнение о программистах, которые любят искать виноватых на стороне. Об ответственности, профессионализме и о том, почему оправдания — прямой путь к выгоранию. - [Клонируем сами, своими руками](https://roganov.me/ru/blog/diy-linux-cloning/): Как клонировать Debian Linux вручную без сторонних утилит: dd, partprobe, sgdisk, e2fsck, resize2fs и немного Go — на случай, если вас занесло на необитаемый остров. - [Правим QEMU железным кулаком](https://roganov.me/ru/blog/qemu-iron-fist/): Туториал о том, как на Go программно управлять виртуальными машинами QEMU через libvirt — пишем небольшую утилиту с человеческим выводом в JSON вместо virsh. - [Страх и ненависть в протоколе RDP](https://roganov.me/ru/blog/fear-and-loathing-rdp/): Как протокол RDP менялся за последние десять лет: версии от NT 4.0 до десятки, полезные флаги mstsc, теневые подключения, дыры в безопасности и будущее администрирования Windows. - [Девочка, балансирующая на NVMe-over-TCP 2.0](https://roganov.me/ru/blog/nvme-over-network-part-2/): Продолжаем издеваться над NVMe-over-TCP. Настоящий тестовый стенд из двух Dell PowerEdge, 10-гигабитная сеть, новое ядро 5.16 и ответы на вопросы из первой части. - [Гость из прошлого](https://roganov.me/ru/blog/guest-from-the-past/): Как в 2022 году я купил на eBay новенький HTC Touch Pro 2 и заново окунулся в эпоху Windows Mobile, КПК, Palm, Nokia и оффлайновых словарей. - [Don't be cringe — не будь занудой](https://roganov.me/ru/blog/dont-be-cringe/): Советы и личный опыт о том, как не выглядеть нелепо в международной команде: акценты, словари, идиомы, шутки, письма, имена и прочие мелочи, которые портят жизнь. - [А все ли врут? Продолжаем издеваться над NVMe](https://roganov.me/ru/blog/nvme-over-network-part-1/): NVMe — это не только жёсткий диск, но и протокол. Подключаем NVMe-диск по сети через TCP средствами обычного ядра Linux, без танцев с бубном и проприетарных решений. - [Настраиваем свой почтовый сервер в docker-compose](https://roganov.me/ru/blog/docker-mail-server/): Как поднять свой почтовый сервер на базе Mailu — набора docker-контейнеров с postfix, dovecot, roundcube и всем необходимым. Пошаговая инструкция с подводными минами. - [Как научиться писать статьи (для Хабра и не только)](https://roganov.me/ru/blog/how-to-write-articles/): Практическое руководство по написанию статей: пять элементов хорошего текста — от умения рассказывать истории и чтения тонн литературы до выработки собственного стиля и борьбы с критиками. - [Спец-интервью для Хабра: Грант Сандерсон (3Blue1Brown)](https://roganov.me/ru/blog/3blue1brown-interview/): Грант Сандерсон, создатель одного из самых популярных YouTube каналов о высшей математике 3Blue1Brown, отвечает на вопросы: о применении математики в бизнесе и программировании, о подсчёте интегралов в уме и о том, как лабораторная работа по программированию превратилась в огромный канал. - [Григорий Остер — Вредные советы для учителей программировать](https://roganov.me/ru/blog/bad-advice-teaching/): Как учить людей программированию, не убивая искру в их глазах. О трёх идиотских утверждениях, понимании вместо зубрёжки, и почему «не смог» на самом деле означает «недостаточно старались». - [Строим свою телестудию с блекджеком и…](https://roganov.me/ru/blog/diy-tv-studio/): Как системный администратор превратил ковидные видеозвонки в полноценную телестудию: Jitsi, Restreamer, BlackMagic, SDI-камеры и вещание на 2000 сотрудников за $7000. - [Чего на самом деле стоит опасаться в AI?](https://roganov.me/ru/blog/ai-real-fears/): Почему компьютеры не умеют думать, чем на самом деле опасен AI, и как мы незаметно отдали машинам право выбирать за нас — от рекомендаций в TikTok до системы найма. - [Григорий Остер — Вредные советы для писателей мануалов](https://roganov.me/ru/blog/bad-advice-manuals/): Почему люди не читают мануалы, как сделать документацию ещё хуже и зачем всё-таки стоит сесть и написать нормальную инструкцию — в стиле «Вредных советов» Григория Остера. - [Нанять нельзя отсеивать — ставим запятые](https://roganov.me/ru/blog/hiring-humans/): Откровенный взгляд на найм в IT: почему AI-фильтры резюме убивают процесс, зачем нанимать без дурацких интервью и как мотивировать программистов по-человечески. - [Как научиться работать в Blazor, делая что-то полезное. Часть II](https://roganov.me/ru/blog/blazor-useful-part-2/): Вторая часть о Blazor: подводные камни WASM-бинарников, ловушки Razor, проблемы с общением компонентов, жизненный цикл и состояние экосистемы. - [Шарим (в) консоль](https://roganov.me/ru/blog/console-sharing/): Полезные консольные сервисы для сисадминов и программистов: стриминг терминала через seashells.io, передача файлов через transfer.sh и чем заняться в консоли, пока ждёшь деплой. - [Как научиться работать в Blazor, делая что-то полезное. Часть I](https://roganov.me/ru/blog/blazor-useful-part-1/): Первая часть о том, как вместо очередного ToDo-листа написать на Blazor полезную систему управления IoT-реле: Entity Framework, MVC-контроллер, серверный рендеринг и C# вместо JavaScript. - [Лезем в сорцы компилятора — как работает goscheduler (Часть II)](https://roganov.me/ru/blog/goscheduler-part-2/): Вторая часть серии о планировщике задач в Go: разбираем G, P и M, парковку потоков, системные вызовы, netpoll и sysmon — всё на основе исходников runtime. - [Как сделать себе карьеру, помогая людям](https://roganov.me/ru/blog/career-by-helping/): Расшифровка эфира о карьере в IT: от починки PHPBB-форума в 14 лет до контрактов без собеседований — почему помощь людям работает лучше любого резюме. - [Прокачиваем силу — Rust и Windows API](https://roganov.me/ru/blog/rust-windows-api/): Продолжение серии о компактных программах: пишем 2048 на Rust с использованием windows-rs, создаём окно через WinAPI и разбираемся с очередью сообщений. - [Лезем в сорцы компилятора — как работает goscheduler (Часть I)](https://roganov.me/ru/blog/goscheduler-part-1/): Первая часть серии о планировщике задач в Go: что происходит с потоками ОС, почему 180000 потоков убивают систему и при чём тут захват работы. - [Трясём стариной — или как вспомнить Ассемблер, если ты его учил 20 лет назад](https://roganov.me/ru/blog/assembly-2048/): Тёплая, ламповая статья о написании игры 2048 на x64 Ассемблере под Windows: от воспоминаний о TASM до NASM, MinGW и 16 байт игрового поля. - [Что в действительности кроет в себе страшная цифра одиннадцать — история Windows 11](https://roganov.me/ru/blog/windows-11-deep-dive/): Продолжение серии о нововведениях в Windows: обзор Windows 11 изнутри и снаружи — от скруглённых углов и нового меню Пуск до TPM 2.0 и телеметрии. - [UUID версии 7, или как не потеряться во времени при создании идентификатора](https://roganov.me/ru/blog/uuid-v7/): Разбираемся с UUIDv7 — бинарно-сортируемым идентификатором нового поколения: зачем он нужен, как работает суб-секундная точность и почему это важно для баз данных. - [Пишем frontend на golang](https://roganov.me/ru/blog/golang-frontend-vugu/): Знакомство с vugu — молодой библиотекой, которая позволяет писать фронтенд на Go через WebAssembly. Котики, горутины и 500 килобайт WASM на выходе. - [Brave New World](https://roganov.me/ru/blog/brave-new-world/): О дивный новый мир приватности данных: документальный фильм The Social Dilemma, браузер Brave и почему ваши бабушки заслуживают лучшего интернета. - [Сказка — ложь…](https://roganov.me/ru/blog/fairytale-lie/): Сатирическая сказка о Царстве-Государстве, где берестовые программисты, летучие баржи и фотонные торпеды сталкиваются с указами о запрете прогресса. - [Погружаемся в логово ржавчины. Как работает компилятор Rust](https://roganov.me/ru/blog/rust-compiler-deep-dive/): Разбор исходных кодов компилятора Rust — от парсинга исходного файла до генерации бинарника через LLVM. Прослеживаем путь программы через AST, HIR и MIR. - [Ржавеем дальше. Как появился Rust и можно ли на нём WEB?](https://roganov.me/ru/blog/rusting-further/): Глубокое погружение в историю компиляции — от процессоров и опкодов через C, Java и JavaScript до LLVM и Rust. Понимание того, зачем нужен Rust и когда его использовать для веба. - [Как мы ржавели. История внедрения и обучения](https://roganov.me/ru/blog/how-we-rusted/): Реальный опыт внедрения Rust в продакшен — от чтения документации наизнанку до замены 16 Docker-контейнеров на 564 КБ бинарника. - [Квалифляция](https://roganov.me/ru/blog/qualiflation/): Что происходит, когда результат твоих действий оказывается нулевым? Взгляд на то, как деградация качества разрушает нашу экономику и наши жизни. - [Что в действительности кроет в себе страшная цифра восемь](https://roganov.me/ru/blog/windows-8-deep-dive/): Подробный разбор Windows 8 Developer Preview — WinRT, Metro UI, планшетные возможности, IE10 и общие впечатления от трёх месяцев работы на новой системе. - [Как он учился писать статьи на Хабре](https://roganov.me/ru/blog/habr-writing-story/): Фантастический рассказ о сисадмине Васе, ночном вызове в серверную и неожиданной встрече, которая вдохновила его написать свою первую статью. - [Первые шаги для пауэршельщиков](https://roganov.me/ru/blog/powershell-first-steps/): Практическое введение в PowerShell для начинающих — командлеты, конвейеры, работа с .NET-объектами, реестром и скриптами. - [First Slice of Rails: Ruby on Rails глазами .NET разработчика](https://roganov.me/ru/blog/first-slice-of-rails/): Личный опыт перехода с ASP.NET на Ruby on Rails — установка, настройка, первый scaffold и впечатления от фреймворка. - [.NET Interop на примере работы с сокетами](https://roganov.me/ru/blog/dotnet-interop-sockets/): Как скрестить ежа с ужом: используем P/Invoke и DllImport для работы с нативными Windows Sockets из .NET-приложения. - [Наследование в ADO.NET Entity Framework](https://roganov.me/ru/blog/entity-framework-inheritance/): Практический разбор двух типов наследования в ADO.NET Entity Framework: Table per Type и Table per Hierarchy — с типичными ошибками и их решениями. - [ADO.NET Entity Framework: практическое введение](https://roganov.me/ru/blog/ado-net-entity-framework-intro/): Практическое введение в ADO.NET Entity Framework — от создания модели данных до выполнения базовых операций CRUD в ASP.NET.