<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Posts on {IT}</title><link>https://igortkanov.com/posts/</link><description>Recent content in Posts on {IT}</description><generator>Hugo</generator><language>en-us</language><copyright>Copyright © 2026 {IT}. All rights reserved. Unless otherwise stated, all text, images, diagrams, and other original content on this blog may not be reproduced, distributed, or used without prior written permission.</copyright><lastBuildDate>Mon, 25 May 2026 19:19:04 +0000</lastBuildDate><atom:link href="https://igortkanov.com/posts/index.xml" rel="self" type="application/rss+xml"/><item><title>STATUS.md: a shared file for multi-agent work</title><link>https://igortkanov.com/status-md-for-multi-agent-work/</link><pubDate>Mon, 25 May 2026 19:19:04 +0000</pubDate><guid>https://igortkanov.com/status-md-for-multi-agent-work/</guid><description>&lt;p&gt;When I work on a bigger task – a new feature, a Terraform change, a small PoC – I usually run it across multiple agents at once. Claude Code in one window for the code, a Cowork session in another for planning and content, sometimes Desktop Claude in a third.&lt;/p&gt;
&lt;p&gt;The split works well until I switch between them and have to type some flavour of &amp;ldquo;where are we?&amp;rdquo; so the agent can guess. Each one has its own TODO list. None of them can see the others&amp;rsquo;. And so I end up as the human message bus, with the context windows filling up with status updates instead of actual work.&lt;/p&gt;</description></item><item><title>How I spent a weekend reinventing a 50-cent chip</title><link>https://igortkanov.com/optocouplers/</link><pubDate>Sat, 25 Apr 2026 14:21:17 +0000</pubDate><guid>https://igortkanov.com/optocouplers/</guid><description>&lt;p&gt;&lt;figure class="alignright" style="max-width:280px"&gt;&lt;img src="https://igortkanov.com/optocouplers/IMG_5821-975x1024.jpg" alt="" width="280" loading="lazy"&gt;&lt;/figure&gt;&lt;/p&gt;
&lt;p&gt;An &lt;em&gt;optocoupler&lt;/em&gt; is a part I&amp;rsquo;d seen in schematics for a while and quietly skipped over. There&amp;rsquo;s an LED pointed at a photo-sensitive transistor with a dashed line between them. The dashed line is the entire point: the two halves of the part are not electrically connected.&lt;/p&gt;
&lt;p&gt;The signal &lt;strong&gt;crosses as light&lt;/strong&gt;, over a few hundred microns of darkness – and I wanted to see it work! So I built one on a breadboard before reaching for an actual 4N35 chip.&lt;/p&gt;</description></item><item><title>DIY Bluetooth Kobo page-turner remote with ESP32 and Lilka</title><link>https://igortkanov.com/lilka-kobo-page-turner-remote-esp32-ble/</link><pubDate>Fri, 23 Jan 2026 17:20:24 +0000</pubDate><guid>https://igortkanov.com/lilka-kobo-page-turner-remote-esp32-ble/</guid><description>&lt;p&gt;Page-turn clickers are a real category: Kobo even sells an &lt;strong&gt;&lt;a href="https://us.kobobooks.com/products/kobo-remote" target="_blank" rel="noopener noreferrer"&gt;official remote&lt;/a&gt;&lt;/strong&gt; so you can turn pages without poking the screen all the time. The official remote was out of stock when I thought of getting one, and the price was a bit on the higher end. So I thought of an interesting alternative: emulate the same thing with an &lt;a href="https://en.wikipedia.org/wiki/ESP32" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;ESP32&lt;/strong&gt;&lt;/a&gt; module, but with &lt;strong&gt;no hacks on the reader itself&lt;/strong&gt;.&lt;/p&gt;</description></item><item><title>A minimal LLM Ops stack with tracing and model costs</title><link>https://igortkanov.com/minimal-llm-ops-stack-with-tracing-and-model-costs-langfuse/</link><pubDate>Wed, 14 Jan 2026 12:30:35 +0000</pubDate><guid>https://igortkanov.com/minimal-llm-ops-stack-with-tracing-and-model-costs-langfuse/</guid><description>&lt;p&gt;Many &amp;ldquo;LLM app&amp;rdquo; demos stop the moment the model produces a decent-looking answer. However, when the app becomes more real, you get extra questions:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;What &lt;strong&gt;context&lt;/strong&gt; did the model actually see?&lt;/li&gt;
&lt;li&gt;Did &lt;strong&gt;retrieval&lt;/strong&gt; find anything useful. Or nothing at all?&lt;/li&gt;
&lt;li&gt;What did this request &lt;strong&gt;cost&lt;/strong&gt;? How do you compare it to another request?&lt;/li&gt;
&lt;li&gt;Did a &amp;ldquo;small prompt tweak&amp;rdquo; quietly &lt;strong&gt;break&lt;/strong&gt; refund handling?&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;In an attempt to make those questions easier to answer, I built a tiny &lt;strong&gt;&lt;a href="https://fastapi.tiangolo.com" target="_blank" rel="noopener noreferrer"&gt;FastAPI&lt;/a&gt;&lt;/strong&gt; &amp;ldquo;customer support reply drafter&amp;rdquo; app and integrated it with Langfuse. The goal was to have a workflow where &lt;strong&gt;every request leaves a trail&lt;/strong&gt; you can inspect, and where changes are measurable.&lt;/p&gt;</description></item><item><title>RAG: A (mostly) no-buzzword explanation</title><link>https://igortkanov.com/rag-a-no-buzzword-explanation/</link><pubDate>Wed, 19 Nov 2025 18:41:45 +0000</pubDate><guid>https://igortkanov.com/rag-a-no-buzzword-explanation/</guid><description>&lt;p&gt;LLMs, like the ones behind ChatGPT or Gemini, have two big weaknesses:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Their knowledge is frozen at training time (“knowledge cutoff”)&lt;/li&gt;
&lt;li&gt;They can “hallucinate” or confidently make things up&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;Retrieval-Augmented Generation (RAG)&lt;/strong&gt; is a pattern that fixes both problems by giving an LLM access to the right data at &lt;em&gt;answer time&lt;/em&gt;. Instead of asking the model to “remember everything”, RAG lets it look things up first, &lt;strong&gt;then&lt;/strong&gt; answer.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="core-idea"&gt;Core idea&lt;/h2&gt;
&lt;p&gt;RAG = search for relevant documents → feed them into the LLM → have the LLM respond using (also) those documents.&lt;/p&gt;</description></item><item><title>Unikernels, without the marketing</title><link>https://igortkanov.com/unikernels-without-the-marketing/</link><pubDate>Wed, 15 Oct 2025 05:12:00 +0000</pubDate><guid>https://igortkanov.com/unikernels-without-the-marketing/</guid><description>&lt;h2 id="tldr"&gt;TL;DR&lt;/h2&gt;
&lt;p&gt;A &lt;em&gt;unikernel&lt;/em&gt; is your app compiled together with only the OS pieces it really needs, producing a tiny binary that boots inside a microVM (e.g., &lt;strong&gt;&lt;a href="https://firecracker-microvm.github.io" target="_blank" rel="noopener noreferrer"&gt;Firecracker&lt;/a&gt;&lt;/strong&gt;/&lt;strong&gt;&lt;a href="https://linux-kvm.org/page/Main_Page" target="_blank" rel="noopener noreferrer"&gt;KVM&lt;/a&gt;&lt;/strong&gt;).&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Result&lt;/strong&gt;: fast starts, small footprint, and stronger isolation than containers, at the cost of trickier tooling and ops around it.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;When I saw &lt;strong&gt;&lt;a href="https://www.prisma.io" target="_blank" rel="noopener noreferrer"&gt;Prisma&lt;/a&gt;&lt;/strong&gt; put &amp;ldquo;serverless&amp;rdquo; and &amp;ldquo;no cold starts&amp;rdquo; &lt;strong&gt;&lt;a href="https://www.prisma.io/blog/announcing-prisma-postgres-early-access" target="_blank" rel="noopener noreferrer"&gt;in the same breath&lt;/a&gt;&lt;/strong&gt; for Prisma Postgres, my Lambda scars tingled 😄&lt;/p&gt;</description></item><item><title>When speed becomes strategy 💨</title><link>https://igortkanov.com/when-speed-becomes-strategy/</link><pubDate>Mon, 13 Oct 2025 19:21:12 +0000</pubDate><guid>https://igortkanov.com/when-speed-becomes-strategy/</guid><description>&lt;p&gt;&lt;strong&gt;Startups thrive on speed and hustle. But when everything feels urgent, how can you tell what actually matters?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;In many founder-led companies, management ends up being more reactive than intentional. There’s little in the way of a product roadmap, structured hiring plan, or resource allocation. The focus shifts to whatever’s on fire today.&lt;/p&gt;
&lt;p&gt;Hands-on leadership keeps momentum high − but often at the cost of clarity. Teams start juggling ad-hoc requests, switching tasks mid-sprint as priorities shift faster than plans can keep up.&lt;/p&gt;</description></item><item><title>Solving the Openfire Lab Blue team challenge</title><link>https://igortkanov.com/solving-the-openfire-lab-blue-team-challenge/</link><pubDate>Sun, 24 Aug 2025 11:34:34 +0000</pubDate><guid>https://igortkanov.com/solving-the-openfire-lab-blue-team-challenge/</guid><description>&lt;p&gt;Today we&amp;rsquo;re reviewing a vulnerability in &lt;strong&gt;&lt;a href="https://en.wikipedia.org/wiki/Openfire" target="_blank" rel="noopener noreferrer"&gt;Openfire&lt;/a&gt;&lt;/strong&gt;. It is a self-hosted alternative to Slack/Teams: you run it on your own infrastructure, control the data, and extend it with plugins.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;As a cybersecurity analyst, you are tasked with investigating a data breach targeting your organization&amp;rsquo;s Openfire messaging server.&lt;/p&gt;
&lt;p&gt;Attackers have exploited a vulnerability in the server, compromising sensitive communications and potentially exposing critical data.&lt;/p&gt;
&lt;p&gt;Your task is to analyze the provided network capture files using Wireshark. Identify evidence of the exploitation, trace the attacker&amp;rsquo;s actions, and uncover indicators of compromise.&lt;/p&gt;</description></item><item><title>Solving the ShadowCitadel Lab Blue team challenge 🫆</title><link>https://igortkanov.com/solving-the-shadowcitadel-lab-blue-team-challenge/</link><pubDate>Sun, 10 Aug 2025 19:33:14 +0000</pubDate><guid>https://igortkanov.com/solving-the-shadowcitadel-lab-blue-team-challenge/</guid><description>&lt;p&gt;Today, we dive into a host-based forensics investigation − a curious case of a breach inside the enterprise environment of a company called &lt;em&gt;TechSynergy&lt;/em&gt;:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;A leading tech firm, TechSynergy, has detected an anomaly after an employee engaged with an unexpected email attachment. This triggered a series of covert operations within the network, including unusual account activity and system alterations.&lt;/p&gt;
&lt;p&gt;Security alerts indicate potential access to sensitive infrastructure, with suspicious outbound traffic raising red flags. The incident response team fears a sophisticated attack may be underway, threatening critical data.&lt;/p&gt;</description></item><item><title>How to prevent token misuse in LLM integrations</title><link>https://igortkanov.com/how-to-prevent-token-misuse-in-llm-integrations/</link><pubDate>Tue, 22 Jul 2025 19:46:56 +0000</pubDate><guid>https://igortkanov.com/how-to-prevent-token-misuse-in-llm-integrations/</guid><description>&lt;p&gt;&lt;figure class="alignright" style="max-width:140px"&gt;&lt;img src="https://igortkanov.com/how-to-prevent-token-misuse-in-llm-integrations/dsc06113.jpg" alt="Old microscope part" width="140" loading="lazy"&gt;&lt;/figure&gt;&lt;/p&gt;
&lt;p&gt;LLMs are powerful. And expensive. Every token counts, and if you&amp;rsquo;re building something that uses an LLM API (Claude, OpenAI, Gemini or PaLM, Mistral, etc.), malicious users can abuse it to burn through your credits. This is especially true for apps that take user input and feed it to the model.&lt;/p&gt;
&lt;p&gt;The trick is that an attacker doesn&amp;rsquo;t have to hack your servers. Not even &lt;em&gt;SQL-inject&lt;/em&gt; it. They just have to &lt;strong&gt;convince the LLM&lt;/strong&gt; to do something it shouldn&amp;rsquo;t by crafting a proper prompt. So, actually, it does look a bit like an SQL injection, but for AI prompts.&lt;/p&gt;</description></item><item><title>Solving the XLMRat Blue team challenge</title><link>https://igortkanov.com/solving-the-xlmrat-blue-team-challenge/</link><pubDate>Sat, 28 Jun 2025 13:46:59 +0000</pubDate><guid>https://igortkanov.com/solving-the-xlmrat-blue-team-challenge/</guid><description>&lt;p&gt;Today we&amp;rsquo;re looking at the XLMRat malware. It is a remote access trojan (hence the RAT part) built to be small, sneaky, and stupidly persistent. It typically rides in via phishing or social engineering, often disguised as something mundane, like a JPG or TXT file. It targets Windows systems and speaks fluent PowerShell.&lt;/p&gt;
&lt;p&gt;It&amp;rsquo;s popular among low-effort attackers looking for ready-made tools that still pack a punch. Especially in campaigns targeting individuals or small orgs where endpoint hygiene is weak. There&amp;rsquo;s a block with more information at the end of this post ⬇️&lt;/p&gt;</description></item><item><title>A pint with Jimothy: on fear, ego, and hiring smarter</title><link>https://igortkanov.com/a-pint-with-jimothy-on-fear-ego-and-hiring-smarter/</link><pubDate>Thu, 12 Jun 2025 14:27:01 +0000</pubDate><guid>https://igortkanov.com/a-pint-with-jimothy-on-fear-ego-and-hiring-smarter/</guid><description>&lt;p&gt;☕️ We started with coffee, like most chats do. Black for me, cappuccino for Jimothy (he actually prefers Jim, or James). Corner terrace, Singelgracht. One of those confusing Amsterdam afternoons where the sky can’t decide – sunlight breaks through the clouds, then ducks back behind them. Just long enough to let a few leaves blow across the wet stone.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://igortkanov.com/a-pint-with-jimothy-on-fear-ego-and-hiring-smarter/DSC04367-copy-1024x396.jpg" alt="Autumn leaves" loading="lazy"&gt;&lt;/p&gt;
&lt;p&gt;Jim’s good at what he does. Senior technical manager at a mid-sized SaaS company. Knows the systems, understands the roadmap, has decent rapport with his engineers. But somewhere between the first sip and the second, he leans in and says quietly:&lt;/p&gt;</description></item><item><title>Billion-dollar brains: the real cost of AI</title><link>https://igortkanov.com/the-real-cost-of-ai/</link><pubDate>Mon, 26 May 2025 19:31:59 +0000</pubDate><guid>https://igortkanov.com/the-real-cost-of-ai/</guid><description>&lt;p&gt;AI-assisted coding feels like magic. You type what you want, and out comes working code. (well, maybe after a few hours of setup – but still)&lt;/p&gt;
&lt;p&gt;Like all magic, though, it has a cost. And right now, that cost is mostly hidden – even as the invoices show up every month. What makes it work is a stack of expensive infrastructure: thousands of GPUs, power-hungry data centers, and cloud contracts worth billions.&lt;/p&gt;</description></item><item><title>Solving the BlueSky Ransomware Blue team challenge</title><link>https://igortkanov.com/solving-the-bluesky-ransomware-blue-team-challenge/</link><pubDate>Sun, 18 May 2025 16:35:26 +0000</pubDate><guid>https://igortkanov.com/solving-the-bluesky-ransomware-blue-team-challenge/</guid><description>&lt;p&gt;Today we&amp;rsquo;re looking at the &lt;strong&gt;BlueSky ransomware&lt;/strong&gt;, a strain of malicious software that encrypts files on a victim&amp;rsquo;s system, rendering them inaccessible until a ransom is paid. First detected in June 2022, it shares similarities with other notorious ransomware families like Conti and Babuk.&lt;/p&gt;
&lt;p&gt;BlueSky spreads through methods such as phishing emails, malicious links, and network protocols like SMB (port &lt;code&gt;445&lt;/code&gt; TCP). Once inside a system, it uses advanced evasion techniques, such as hiding threads from debuggers, to avoid detection. It targets both files and processes, encrypting files with RSA encryption and adding the &lt;code&gt;.bluesky&lt;/code&gt; extension to them while maintaining operational stability by avoiding critical system processes.&lt;/p&gt;</description></item><item><title>When Slack starts to feel like a DDoS attack</title><link>https://igortkanov.com/when-slack-starts-to-feel-like-a-ddos-attack/</link><pubDate>Wed, 07 May 2025 16:53:49 +0000</pubDate><guid>https://igortkanov.com/when-slack-starts-to-feel-like-a-ddos-attack/</guid><description>&lt;p&gt;In software engineering, we often rely on “exponential back-off” when retrying failed network requests – a technique where each subsequent attempt is spaced out further in time &lt;strong&gt;to avoid overloading the system&lt;/strong&gt;. Oddly enough, I’ve found myself applying a similar concept to human communication.&lt;/p&gt;
&lt;p&gt;As an Engineering lead, I’m frequently on the receiving end of an unrelenting stream of requests:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;A Slack ping about a pressing issue&lt;/li&gt;
&lt;li&gt;A pull request to review&lt;/li&gt;
&lt;li&gt;A CV from a recruiter&lt;/li&gt;
&lt;li&gt;Another CV for a completely different role&lt;/li&gt;
&lt;li&gt;A message from customer support about an urgent user complaint&lt;/li&gt;
&lt;li&gt;An escalation from the Security team&lt;/li&gt;
&lt;li&gt;A calendar invite&lt;/li&gt;
&lt;li&gt;A last-moment meeting reschedule&lt;/li&gt;
&lt;li&gt;A &lt;em&gt;quick question&lt;/em&gt; (this one’s my favorite)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;All of this happens while I’m trying to carve out focused time to work on broader goals: improving team processes, ensuring teams have clear direction, and writing progress reports or strategic documentation. Even with AI-assisted tools, writing takes time – because effective communication requires tailoring the message to its audience. Tone matters. Clarity matters. Accuracy matters.&lt;/p&gt;</description></item><item><title>Solving the DanaBot Blue team challenge</title><link>https://igortkanov.com/solving-the-danabot-blue-team-challenge/</link><pubDate>Sun, 04 May 2025 19:54:58 +0000</pubDate><guid>https://igortkanov.com/solving-the-danabot-blue-team-challenge/</guid><description>&lt;p&gt;In this blog post, we&amp;rsquo;ll walk through a Blue Team lab challenge hosted by CyberDefenders, specifically investigating a breach scenario involving DanaBot malware.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;The SOC team has detected suspicious activity in the network traffic, revealing that a machine has been compromised. Sensitive company information has been stolen. Your task is to use Network Capture (PCAP) files and Threat Intelligence to investigate the incident and determine how the breach occurred.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;The challenge is presented by CyberDefenders (&lt;strong&gt;&lt;a href="https://cyberdefenders.org/" target="_blank" rel="noopener noreferrer"&gt;https://cyberdefenders.org&lt;/a&gt;&lt;/strong&gt;) and can be found here: &lt;strong&gt;&lt;a href="https://cyberdefenders.org/blueteam-ctf-challenges/danabot" target="_blank" rel="noopener noreferrer"&gt;https://cyberdefenders.org/blueteam-ctf-challenges/danabot&lt;/a&gt;&lt;/strong&gt;.&lt;/p&gt;</description></item><item><title>AI for Engineering managers: adapt now or trail behind</title><link>https://igortkanov.com/engineering-managers-the-future-is-here/</link><pubDate>Sat, 19 Apr 2025 15:43:11 +0000</pubDate><guid>https://igortkanov.com/engineering-managers-the-future-is-here/</guid><description>&lt;blockquote&gt;
&lt;p&gt;Remember when a five‑digit Stack Overflow score was a flex?&lt;/p&gt;
&lt;p&gt;Today that, and a vintage 2022 playbook will buy you precisely &lt;em&gt;zero&lt;/em&gt; leverage.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;hr&gt;
&lt;h2 id="yesterdays-job-tomorrows-irrelevance"&gt;Yesterday&amp;rsquo;s job, tomorrow&amp;rsquo;s irrelevance&lt;/h2&gt;
&lt;p&gt;Many Engineering managers still run on three rituals:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Status ✨astrology✨&lt;/strong&gt; or endless forecasting of ticket constellations. Hours massaging burndown charts, Jira dashboards, stand‑up forecasts – cargo‑cult evidence that the sprint is &amp;ldquo;on track&amp;rdquo;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Stakeholder &lt;del&gt;appeasement&lt;/del&gt; management&lt;/strong&gt;: slide decks, project reviews, &amp;ldquo;quick syncs&amp;rdquo; to keep exec egos fed and legal teams comfy.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;People babysitting&lt;/strong&gt; – counting story points, asking to update Jira, tolerance checks for burnout, sniffing out AI-powered &lt;em&gt;overemployment&lt;/em&gt;. By the way, did you know of &lt;a href="https://www.reddit.com/r/overemployed/" target="_blank" rel="noopener noreferrer"&gt;r/overemployed&lt;/a&gt;?&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;However, none of those moves the product faster. Meanwhile, AI agents are quietly doing code reviews, generating boilerplate, even writing RFCs. The org chart hasn&amp;rsquo;t noticed – yet.&lt;/p&gt;</description></item><item><title>Impostor syndrome: kicking self-doubt to the curb</title><link>https://igortkanov.com/impostor-syndrome-kicking-self-doubt-to-the-curb/</link><pubDate>Sun, 23 Mar 2025 04:51:00 +0000</pubDate><guid>https://igortkanov.com/impostor-syndrome-kicking-self-doubt-to-the-curb/</guid><description>&lt;p&gt;In a previous &lt;strong&gt;&lt;a href="https://igortkanov.com/managing-time-as-an-engineering-manager/" target="_blank" rel="noopener noreferrer"&gt;post&lt;/a&gt;&lt;/strong&gt;, I looked at managing time effectively as an Engineering manager, drawing from Aviv Ben-Yosef’s insightful book, &lt;em&gt;&lt;a href="https://www.goodreads.com/book/show/56365371-the-tech-executive-operating-system" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;The Tech Executive Operating System&lt;/strong&gt;&lt;/a&gt;&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;&lt;figure class="alignright" style="max-width:333px"&gt;&lt;img src="https://igortkanov.com/impostor-syndrome-kicking-self-doubt-to-the-curb/Untitled_Artwork-3-e1742652161317.png" alt="" width="333" loading="lazy"&gt;&lt;/figure&gt;&lt;/p&gt;
&lt;p&gt;Today, let’s explore another valuable lesson from this book: how to recognize and handle impostor syndrome &lt;strong&gt;in the moments when it affects us most&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;We’re all familiar with &lt;em&gt;IS&lt;/em&gt; − the nagging self-doubt that makes us feel undeserving of our achievements. &lt;em&gt;Less than.&lt;/em&gt; The pervasive worry that others will “find out” we aren’t as competent as we seem.&lt;/p&gt;</description></item><item><title>The unboring NIST SP 800-190</title><link>https://igortkanov.com/the-unboring-nist-sp-800-190/</link><pubDate>Tue, 18 Mar 2025 05:14:00 +0000</pubDate><guid>https://igortkanov.com/the-unboring-nist-sp-800-190/</guid><description>&lt;p&gt;&lt;figure class="alignright" style="max-width:200px"&gt;&lt;img src="https://igortkanov.com/the-unboring-nist-sp-800-190/File_drawing_105-1.png" alt="" width="200" loading="lazy"&gt;&lt;/figure&gt;&lt;/p&gt;
&lt;p&gt;When most of us hear “NIST guidelines”, our first reaction might be “&lt;em&gt;another boring PDF I’ll never open again&lt;/em&gt;”.&lt;/p&gt;
&lt;p&gt;My first encounter with NIST Special Publication 800-190 happened when I was studying for the &lt;a href="https://www.sans.org/cyber-security-courses/cloud-security-devsecops-automation/" target="_blank" rel="noopener noreferrer"&gt;GIAC GCSA&lt;/a&gt; exam, which is focused on DevSecOps and container security. The SP 800-190 is &lt;strong&gt;refreshingly&lt;/strong&gt; &lt;strong&gt;different&lt;/strong&gt;. It isn’t just another checkbox compliance document – it genuinely provides practical, actionable steps to enhance container security posture.&lt;/p&gt;</description></item><item><title>A convenient homelab SSH jumphost (without the drama)</title><link>https://igortkanov.com/convenient-homelab-ssh-jumphost/</link><pubDate>Sat, 08 Mar 2025 06:44:00 +0000</pubDate><guid>https://igortkanov.com/convenient-homelab-ssh-jumphost/</guid><description>&lt;p&gt;Managing a homelab is all fun and games until you&amp;rsquo;re knee-deep in IP addresses, SSH keys, and trying to remember if &lt;em&gt;this&lt;/em&gt; server was the one with Kubernetes or the one you broke last Tuesday.&lt;/p&gt;
&lt;p&gt;SSH-ing into multiple machines gets messy fast – unless you love memorizing IPs and usernames like some sort of 2000s hacker movie character.&lt;/p&gt;
&lt;p&gt;I didn&amp;rsquo;t 🤷‍♂️&lt;/p&gt;
&lt;p&gt;So, I set out to build an SSH jumphost that keeps a list of all servers and lets me connect to any of them by simply picking a friendly name from a menu. No more mental gymnastics – let me show you how I did it.&lt;/p&gt;</description></item><item><title>Too many tabs open? Why real multitasking is hard</title><link>https://igortkanov.com/too-many-tabs-open-why-real-multitasking-is-hard/</link><pubDate>Tue, 04 Mar 2025 02:42:00 +0000</pubDate><guid>https://igortkanov.com/too-many-tabs-open-why-real-multitasking-is-hard/</guid><description>&lt;p&gt;I recently attempted to write a blog post exploring how our human memory is limited and how easily things slip between the cracks when life gets overwhelming.&lt;/p&gt;
&lt;p&gt;The original draft was around 2,300 words – painstakingly researched, peppered with references to scientific studies, and teetering into “academic essay” territory. It ended up so dense and dry that it felt more like a term paper than a friendly blog post.&lt;/p&gt;
&lt;p&gt;So, after wrestling with it for a week, I did the unthinkable: trashed all of it and decided to start fresh!&lt;/p&gt;</description></item><item><title>Proxmox firewall layers in simple terms</title><link>https://igortkanov.com/proxmox-firewall-layers-in-simple-terms/</link><pubDate>Sun, 19 Jan 2025 06:56:00 +0000</pubDate><guid>https://igortkanov.com/proxmox-firewall-layers-in-simple-terms/</guid><description>&lt;p&gt;&lt;em&gt;&lt;strong&gt;Proxmox VE&lt;/strong&gt;&lt;/em&gt; is a phenomenal open-source virtualization platform that many of us (myself included) absolutely love. It&amp;rsquo;s powered by a strong community, and the fact that we can use it for free in our home labs or even in small production environments is a huge blessing.&lt;/p&gt;
&lt;p&gt;In my early days with &lt;a href="https://www.proxmox.com/en/products/proxmox-virtual-environment/overview" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Proxmox&lt;/strong&gt;&lt;/a&gt;, I struggled a bit with its firewall configuration. Then I took some time to learn how it&amp;rsquo;s laid out, and the entire system started to make sense.&lt;/p&gt;</description></item><item><title>Before you lead: honest questions for aspiring managers</title><link>https://igortkanov.com/before-you-lead-honest-questions-for-aspiring-managers/</link><pubDate>Mon, 13 Jan 2025 04:33:00 +0000</pubDate><guid>https://igortkanov.com/before-you-lead-honest-questions-for-aspiring-managers/</guid><description>&lt;p&gt;So you&amp;rsquo;ve spent years honing your craft as an individual contributor (IC), and now you&amp;rsquo;re &lt;strong&gt;considering a transition to a leadership position&lt;/strong&gt;. The appeal is obvious: greater influence, more responsibility, and a unique chance to shape your organization&amp;rsquo;s trajectory. However, stepping into a lead role comes with challenges that aren&amp;rsquo;t always highlighted in the job description.&lt;/p&gt;
&lt;p&gt;One of the most significant hurdles is the &lt;strong&gt;shift in mindset&lt;/strong&gt; that this move demands. Instead of focusing your energy on perfecting technical solutions or improving your own output, you&amp;rsquo;ll need to foster team dynamics, resolve interpersonal issues, and guide others to success.&lt;/p&gt;</description></item><item><title>Managing time as an Engineering manager</title><link>https://igortkanov.com/managing-time-as-an-engineering-manager/</link><pubDate>Tue, 24 Dec 2024 05:14:00 +0000</pubDate><guid>https://igortkanov.com/managing-time-as-an-engineering-manager/</guid><description>&lt;p&gt;Every Engineering manager knows &lt;em&gt;the feeling&lt;/em&gt;: you wake up already juggling a thousand thoughts, your calendar is a battlefield, and Slack notifications seem endless. It&amp;rsquo;s a chaotic yet rewarding role, one where the pressure to deliver is only rivaled by the satisfaction of seeing your team succeed.&lt;/p&gt;
&lt;p&gt;In 2024, my days as an Engineering manager (EM) were a constant balancing act. I want to share what those days looked like, the challenges I faced, and how I&amp;rsquo;ve since discovered a helpful framework for managing time better in Aviv Ben-Yosef&amp;rsquo;s &amp;ldquo;The Tech Executive Operating System&amp;rdquo; book.&lt;/p&gt;</description></item><item><title>Passkeys – the future of secure authentication</title><link>https://igortkanov.com/passkeys-the-future-of-secure-authentication/</link><pubDate>Mon, 02 Dec 2024 13:44:25 +0000</pubDate><guid>https://igortkanov.com/passkeys-the-future-of-secure-authentication/</guid><description>&lt;p&gt;As a long-term fan of &lt;strong&gt;&lt;a href="https://www.yubico.com" target="_blank" rel="noopener noreferrer"&gt;Yubikeys&lt;/a&gt;&lt;/strong&gt;, I quickly got curious about this relatively new concept called &amp;ldquo;&lt;strong&gt;passkeys&lt;/strong&gt;&amp;rdquo;. Big companies like Apple, Amazon, and Mastercard are nudging their users to adopt passkeys and use them instead of passwords. The &lt;em&gt;&amp;ldquo;instead of passwords&amp;rdquo;&lt;/em&gt; part really got me curious!&lt;/p&gt;
&lt;p&gt;&lt;figure class="alignright" style="max-width:322px"&gt;&lt;img src="https://igortkanov.com/passkeys-the-future-of-secure-authentication/yubikdy.jpg" alt="" width="322" loading="lazy"&gt;&lt;/figure&gt;&lt;/p&gt;
&lt;p&gt;Since forever, passwords have been a part of our online lives for as long as we can remember. But let&amp;rsquo;s be honest: most of us have a &lt;em&gt;love-hate&lt;/em&gt; relationship with them. They&amp;rsquo;re either too easy to guess or so complex that we forget them entirely. Yes, even if it&amp;rsquo;s just one master password to a password vault like Bitwarden or LastPass.&lt;/p&gt;</description></item><item><title>Say “yes” to SBOMs!</title><link>https://igortkanov.com/say-yes-to-sboms/</link><pubDate>Fri, 22 Nov 2024 14:11:03 +0000</pubDate><guid>https://igortkanov.com/say-yes-to-sboms/</guid><description>&lt;p&gt;&lt;strong&gt;Picture this&lt;/strong&gt;: your software application is running smoothly in production, serving thousands of users. Then, you hear about a new critical vulnerability affecting open-source libraries, and panic sets in. Is your application exposed? If so, which part is at risk? Without a clear map of your software’s components, answering these questions can feel like searching for a needle in a haystack.&lt;/p&gt;
&lt;p&gt;This is where a &lt;strong&gt;Software bill of materials&lt;/strong&gt;, or SBOM, becomes invaluable. An SBOM is like a recipe list for your software, cataloging every ingredient − libraries, dependencies, and components making up your application. Just as food labels provide transparency (‑ish) about what you’re consuming, an SBOM ensures full visibility into what’s inside your apps.&lt;/p&gt;</description></item><item><title>Getting it right: security awareness program on a budget</title><link>https://igortkanov.com/getting-it-right-security-awareness-program-on-a-budget/</link><pubDate>Mon, 22 Jul 2024 10:39:43 +0000</pubDate><guid>https://igortkanov.com/getting-it-right-security-awareness-program-on-a-budget/</guid><description>&lt;p&gt;Introducing a Security Awareness program is becoming increasingly important for organizations as the cybersecurity landscape changes rapidly. This undertaking becomes even more challenging if the security team is new to the organization and operates on a limited budget.&lt;/p&gt;
&lt;p&gt;&lt;figure class="alignleft" style="max-width:119px"&gt;&lt;img src="https://igortkanov.com/getting-it-right-security-awareness-program-on-a-budget/05-2.jpg" alt="" width="119" loading="lazy"&gt;&lt;/figure&gt;&lt;/p&gt;
&lt;p&gt;In this blog post, I share my &lt;strong&gt;experience implementing a security awareness program&lt;/strong&gt; enriched by &lt;strong&gt;extensive research and insights&lt;/strong&gt; from consulting with industry experts. This guide is designed to be highly practical to help you build and execute an effective program without breaking the bank.&lt;/p&gt;</description></item><item><title>Is my business secure? First look at the SAMM framework</title><link>https://igortkanov.com/is-my-business-secure-first-look-at-the-samm-framework/</link><pubDate>Tue, 09 Apr 2024 04:15:00 +0000</pubDate><guid>https://igortkanov.com/is-my-business-secure-first-look-at-the-samm-framework/</guid><description>&lt;p&gt;Security is becoming more important for businesses operating in an increasingly complex landscape of cyber threats and data breaches. Small businesses often don’t have the &lt;strong&gt;advanced security measures and resources&lt;/strong&gt; that larger enterprises possess, making them particularly vulnerable targets for cyberattacks.&lt;/p&gt;
&lt;p&gt;A breach can result in significant financial losses, reputational damage, and legal liabilities, which can be catastrophic for small businesses. Therefore, investing in adequate security measures is essential, and in this post, we will look at the SAMM framework that allows us to take control of the situation.&lt;/p&gt;</description></item><item><title>Short review: “Search in Plain Sight”</title><link>https://igortkanov.com/short-review-search-in-plain-sight/</link><pubDate>Wed, 20 Mar 2024 18:05:11 +0000</pubDate><guid>https://igortkanov.com/short-review-search-in-plain-sight/</guid><description>&lt;h2 id="priceless-find"&gt;Priceless find&lt;/h2&gt;
&lt;p&gt;Someone posted a recommendation for this book on one of the &lt;a href="http://leaddev.com" target="_blank" rel="noopener noreferrer"&gt;LeadDev&lt;/a&gt; Slack channels. I always considered recruiters partners rather than merely a “resource”, so I became interested in the book as a way to learn more about that world. It promised to show recruitment from within, and then I discovered that it is written for candidates. It doesn’t get better than this!&lt;/p&gt;
&lt;p&gt;The book is &lt;strong&gt;“Search in Plain Sight: Demystifying Executive Search”&lt;/strong&gt; by &lt;strong&gt;Somer Hackley&lt;/strong&gt;.&lt;/p&gt;</description></item><item><title>Solving the WebStrike Blue Team Challenge</title><link>https://igortkanov.com/solving-the-webstrike-blue-team-challenge/</link><pubDate>Sun, 17 Dec 2023 21:12:03 +0000</pubDate><guid>https://igortkanov.com/solving-the-webstrike-blue-team-challenge/</guid><description>&lt;h2 id="the-challenge"&gt;The challenge&lt;/h2&gt;
&lt;p&gt;In the intricate world of cybersecurity, every attack leaves behind digital footprints waiting to be deciphered. In this post, we embark on a brief journey to unravel a cyber threat, dissecting each element that reveals an attacker&amp;rsquo;s origin, tactics, and motives. Let&amp;rsquo;s dive in.&lt;/p&gt;
&lt;p&gt;The challenge is presented by CyberDefenders (&lt;a href="https://cyberdefenders.org" target="_blank" rel="noopener noreferrer"&gt;https://cyberdefenders.org&lt;/a&gt;) and can be found here: &lt;a href="https://cyberdefenders.org/blueteam-ctf-challenges/webstrike/" target="_blank" rel="noopener noreferrer"&gt;https://cyberdefenders.org/blueteam-ctf-challenges/webstrike/&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Note: This post is not sponsored by or affiliated with CyberDefenders.&lt;/em&gt;&lt;/p&gt;</description></item><item><title>Planning with confidence: high-level estimates in software projects</title><link>https://igortkanov.com/planning-with-confidence-high-level-estimates-in-software-projects/</link><pubDate>Sun, 27 Aug 2023 16:55:26 +0000</pubDate><guid>https://igortkanov.com/planning-with-confidence-high-level-estimates-in-software-projects/</guid><description>&lt;p&gt;It is not always easy or pleasant to talk about estimates. On the one hand, it&amp;rsquo;s a fun activity of trying to look far enough into the future. On the other hand, high-level estimates are often taken as a commitment. It gets shared with the bigger org, the sales organization (read &lt;em&gt;customers&lt;/em&gt;), and ultimately with the company leadership.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;High-level estimates in software engineering are &lt;strong&gt;preliminary projections of the time, effort, and resources required to complete a software project&lt;/strong&gt;. These estimates provide a broad overview during the initial planning phase and help stakeholders understand the general scope and feasibility of the project before delving into detailed planning, commitments to customers, and execution. High-level estimates also guide decision-making and resource allocation, setting the foundation for the project&amp;rsquo;s direction and expectations.&lt;/p&gt;</description></item><item><title>Office space: flex desks vs. reserved spaces 🔥</title><link>https://igortkanov.com/flex-desks-vs-reserved-spaces/</link><pubDate>Sun, 13 Aug 2023 11:27:00 +0000</pubDate><guid>https://igortkanov.com/flex-desks-vs-reserved-spaces/</guid><description>&lt;h2 id="the-discussion"&gt;The discussion&lt;/h2&gt;
&lt;p&gt;&lt;figure class="alignleft" style="max-width:260px"&gt;&lt;img src="https://igortkanov.com/flex-desks-vs-reserved-spaces/four_tables-jpeg.webp" alt="" width="260" loading="lazy"&gt;&lt;/figure&gt;&lt;/p&gt;
&lt;p&gt;In the previous office of my current company, we had a flex desk policy. People would pick a spot to sit as they came to work (in hybrid WFH and in-office setup).&lt;/p&gt;
&lt;p&gt;As we learned that an office move was coming up, there were discussions regarding the pros and cons of two approaches to office seating: flex desks and reserved spaces. Both are very different office space arrangements, each with its own set of advantages and disadvantages.&lt;/p&gt;</description></item><item><title>The delegation spectrum</title><link>https://igortkanov.com/the-delegation-spectrum/</link><pubDate>Sun, 06 Aug 2023 16:50:46 +0000</pubDate><guid>https://igortkanov.com/the-delegation-spectrum/</guid><description>&lt;p&gt;&lt;figure class="alignright" style="max-width:268px"&gt;&lt;img src="https://igortkanov.com/the-delegation-spectrum/Screenshot-2023-08-06-at-15.00.34.png" alt="" width="268" loading="lazy"&gt;&lt;/figure&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;The idea&lt;/strong&gt; behind delegation is clear: to free up time to focus on other important work while offering your team opportunities for growth and development. It sounds simple, yet, it&amp;rsquo;s hard to do, and there&amp;rsquo;s no good (as in, always working) instruction manual to it.&lt;/p&gt;
&lt;p&gt;In this blog post, I will not try to offer the manual but share some advice heavily inspired by a great book on career development called &lt;a href="https://www.goodreads.com/book/show/12838919-rise" target="_blank" rel="noopener noreferrer"&gt;Rise by Patty Azzarello&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Crimediggers: solving the cyber challenge</title><link>https://igortkanov.com/crimediggers-a-cybersecurity-challenge/</link><pubDate>Sun, 16 Apr 2023 15:37:09 +0000</pubDate><guid>https://igortkanov.com/crimediggers-a-cybersecurity-challenge/</guid><description>&lt;p&gt;&lt;a href="http://crimediggers.nl" target="_blank" rel="noopener noreferrer"&gt;Crimediggers&lt;/a&gt; is a promotional escape game brought out by the Dutch police. It&amp;rsquo;s a very high-quality, realistic challenge and generally aimed at recruiting digital specialists for the police&amp;rsquo;s cybercrime teams. Completing Crimediggers requires previous knowledge in the computer security domain.&lt;/p&gt;
&lt;p&gt;In this post, I share my path of progressing through the challenges. Solutions to the individual objectives will not be included, where possible, to avoid taking the fun away from other participants. DM me if you need help with any of these, and I&amp;rsquo;ll be happy to assist. Let&amp;rsquo;s get started!&lt;/p&gt;</description></item><item><title>The engineering manager role explained</title><link>https://igortkanov.com/the-engineering-manager-role-explained/</link><pubDate>Mon, 26 Sep 2022 22:20:54 +0000</pubDate><guid>https://igortkanov.com/the-engineering-manager-role-explained/</guid><description>&lt;p&gt;Explaining the engineering manager role is not a new subject. Nevertheless, the EM function is often defined differently depending on the company, its size, and even the market it operates. In this post, I offer my version of it, in an attempt to provide a new, valuable perspective.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Fun fact:&lt;/em&gt; this is the first piece on this blog featuring hand-drawn graphics ✏️&lt;/p&gt;
&lt;h2 id="who-will-find-it-useful"&gt;Who will find it useful&lt;/h2&gt;
&lt;p&gt;The information in this blog post will be helpful to people who collaborate with Engineering managers at work, willing to learn more about the role. For example, software engineering and recruitment professionals, SaaS sales experts, and individuals interested in becoming an EM.&lt;/p&gt;</description></item><item><title>Getting things done with to-do lists</title><link>https://igortkanov.com/to-do-lists-for-work/</link><pubDate>Mon, 18 Jul 2022 03:23:00 +0000</pubDate><guid>https://igortkanov.com/to-do-lists-for-work/</guid><description>&lt;p&gt;Is this another piece on to-do lists? Yes and no: we will cover the topic of using a to-do list for work, however, from a highly practical standpoint.&lt;/p&gt;
&lt;p&gt;&lt;figure class="alignright" style="max-width:214px"&gt;&lt;img src="https://igortkanov.com/to-do-lists-for-work/pexels-natalie-dupin-8724275-638x1024.jpg" alt="" width="214" loading="lazy"&gt;&lt;/figure&gt;&lt;/p&gt;
&lt;p&gt;Thinking about it, the human brain did not evolve to keep track of the jillion things we think about daily, but we still expect it to remember tasks from the three projects at work, home chores, social follow-ups, free time activities, and much more. And let&amp;rsquo;s not forget we want it all structured and prioritized.&lt;/p&gt;</description></item><item><title>Conflict resolution: practical guide for leaders</title><link>https://igortkanov.com/conflict-resolution-practical-guide-for-managers/</link><pubDate>Mon, 26 Jul 2021 00:37:00 +0000</pubDate><guid>https://igortkanov.com/conflict-resolution-practical-guide-for-managers/</guid><description>&lt;p&gt;In this post, I will discuss conflict in the workplace, its importance for a healthy team, and a few approaches to handling it successfully. If you&amp;rsquo;d like to jump straight to the practical part, please scroll to &amp;ldquo;Conflict resolution strategy&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;Conflict management is probably not the most exciting element of a manager&amp;rsquo;s job. Still, it is a big part of it and can not be left &amp;ldquo;for later&amp;rdquo;. Conflict buildup is easy to sweep under the rug, yet here are some of the very evident consequences of doing that:&lt;/p&gt;</description></item><item><title>Make your new recruiter work for you 🧑‍💻</title><link>https://igortkanov.com/make-your-recruiter-work-for-you/</link><pubDate>Sat, 15 May 2021 12:12:21 +0000</pubDate><guid>https://igortkanov.com/make-your-recruiter-work-for-you/</guid><description>&lt;p&gt;Your team is growing, and hiring has to scale proportionally. It&amp;rsquo;s a great moment to consider adding some power to the team by getting a recruitment professional on board. It is also worth remembering that the recruiter is the face of your company in the talent pool. Often, the recruiter will be the only person candidates will come in contact with.&lt;/p&gt;
&lt;p&gt;These are all very valid reasons to make sure your new recruiter works for you and truly helps strengthen the team.&lt;/p&gt;</description></item><item><title>4 easy steps for better onboarding 🏄</title><link>https://igortkanov.com/4-easy-steps-for-better-onboarding/</link><pubDate>Tue, 04 May 2021 21:39:37 +0000</pubDate><guid>https://igortkanov.com/4-easy-steps-for-better-onboarding/</guid><description>&lt;p&gt;Onboarding process is a defining moment in how well a new colleague starts their journey in your organisation. Onboarding can be time-consuming and a bit hectic, especially if hiring is happening at a fast pace. Not having an efficient process may also quickly cripple people&amp;rsquo;s schedules.&lt;/p&gt;
&lt;p&gt;In my experience, the following practices can bring structure to the onboarding process and give new employees a refreshing, thorough, and professional welcome to their new position.&lt;/p&gt;</description></item></channel></rss>