<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Vladimir Timofeenko&#39;s blog</title>
    <link>https://vtimofeenko.com/</link>
    <description>Recent content on Vladimir Timofeenko&#39;s blog</description>
    <generator>Hugo</generator>
    <language>en-US</language>
    <lastBuildDate>Mon, 01 Sep 2025 00:00:00 -0800</lastBuildDate>
    <atom:link href="https://vtimofeenko.com/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Zero to ESP32 remote control</title>
      <link>https://vtimofeenko.com/posts/zero-to-esp32-remote-control/</link>
      <pubDate>Mon, 01 Sep 2025 00:00:00 -0800</pubDate>
      <guid>https://vtimofeenko.com/posts/zero-to-esp32-remote-control/</guid>
      <description>&lt;p&gt;A learn in public post on building a multi-button remote control with ESP32,&#xA;esphome and Home Assistant.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Flake-parts: writing custom flake modules</title>
      <link>https://vtimofeenko.com/posts/flake-parts-writing-custom-flake-modules/</link>
      <pubDate>Wed, 01 May 2024 00:00:00 -0800</pubDate>
      <guid>https://vtimofeenko.com/posts/flake-parts-writing-custom-flake-modules/</guid>
      <description>&lt;p&gt;A primer on writing &lt;a href=&#34;https://flake.parts&#34;&gt;flake-parts&lt;/a&gt; reusable flake modules.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Practical Nix flake anatomy: a guided tour of flake.nix</title>
      <link>https://vtimofeenko.com/posts/practical-nix-flake-anatomy-a-guided-tour-of-flake.nix/</link>
      <pubDate>Sun, 31 Mar 2024 00:00:00 -0800</pubDate>
      <guid>https://vtimofeenko.com/posts/practical-nix-flake-anatomy-a-guided-tour-of-flake.nix/</guid>
      <description>&lt;p&gt;Overview of the &lt;code&gt;flake.nix&lt;/code&gt; file, its components and what they are used for.&lt;/p&gt;</description>
    </item>
    <item>
      <title>My doom-emacs setup</title>
      <link>https://vtimofeenko.com/posts/my-doom-emacs-setup/</link>
      <pubDate>Tue, 20 Dec 2022 00:00:00 -0800</pubDate>
      <guid>https://vtimofeenko.com/posts/my-doom-emacs-setup/</guid>
      <description>&lt;p&gt;A literate programming Doom emacs setup centered around GTD and Nix development.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Wireguard namespace flake</title>
      <link>https://vtimofeenko.com/posts/wireguard-namespace-flake/</link>
      <pubDate>Wed, 09 Nov 2022 00:00:00 -0800</pubDate>
      <guid>https://vtimofeenko.com/posts/wireguard-namespace-flake/</guid>
      <description>&lt;p&gt;For a while I have been playing with the idea of running services in Linux namespaces to achieve network isolation from the &amp;ldquo;host&amp;rdquo; system on Linux. This project, written in literate programming style, is an Nix-based implementation of a configurable network namespace that uses Wireguard.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Unlocking LUKS2 with X509 Nitrokey during boot</title>
      <link>https://vtimofeenko.com/posts/unlocking-luks2-with-x509-nitrokey-during-boot/</link>
      <pubDate>Fri, 09 Jul 2021 00:00:00 +0000</pubDate>
      <guid>https://vtimofeenko.com/posts/unlocking-luks2-with-x509-nitrokey-during-boot/</guid>
      <description>&lt;p&gt;A continuation of &lt;a href=&#34;https://vtimofeenko.com/posts/unlocking-luks2-with-x509-certificate-on-nitrokey-storage/&#34;&gt;previous post&lt;/a&gt; with the instruction to unlock encrypted root partition during boot.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Unlocking LUKS2 with X509 certificate on Nitrokey Storage</title>
      <link>https://vtimofeenko.com/posts/unlocking-luks2-with-x509-certificate-on-nitrokey-storage/</link>
      <pubDate>Mon, 05 Jul 2021 00:00:00 +0000</pubDate>
      <guid>https://vtimofeenko.com/posts/unlocking-luks2-with-x509-certificate-on-nitrokey-storage/</guid>
      <description>&lt;p&gt;This post describes the procedure to unlock LUKS2 partition using X509 certificate stored on Nitrokey Storage.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Repository verification for Gentoo overlays</title>
      <link>https://vtimofeenko.com/posts/repository-verification-for-gentoo-overlays/</link>
      <pubDate>Sun, 06 Jun 2021 00:00:00 +0000</pubDate>
      <guid>https://vtimofeenko.com/posts/repository-verification-for-gentoo-overlays/</guid>
      <description>&lt;p&gt;This post describes the steps needed to set up signature verification on a git-based non-official Gentoo ebuild repository.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Migrating from no-multilib profile to multilib one</title>
      <link>https://vtimofeenko.com/posts/migrating-from-no-multilib-profile-to-multilib-one/</link>
      <pubDate>Fri, 02 Apr 2021 00:00:00 +0000</pubDate>
      <guid>https://vtimofeenko.com/posts/migrating-from-no-multilib-profile-to-multilib-one/</guid>
      <description>&lt;p&gt;An outline of a migration of a Gentoo installation from no-multilib profile to a multilib one without a full reinstall.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Mutt-wizard post-install configuration</title>
      <link>https://vtimofeenko.com/posts/mutt-wizard-post-install-configuration/</link>
      <pubDate>Tue, 09 Feb 2021 00:00:00 +0000</pubDate>
      <guid>https://vtimofeenko.com/posts/mutt-wizard-post-install-configuration/</guid>
      <description>&lt;p&gt;A few configuration steps after installing &lt;a href=&#34;https://github.com/LukeSmithxyz/mutt-wizard&#34;&gt;mutt-wizard&lt;/a&gt;. Includes a couple of patches and general configuration changes.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Creating nginx SSL proxies for services in docker on LAN</title>
      <link>https://vtimofeenko.com/posts/creating-nginx-ssl-proxies-for-services-in-docker-on-lan/</link>
      <pubDate>Thu, 16 Jul 2020 00:00:00 +0000</pubDate>
      <guid>https://vtimofeenko.com/posts/creating-nginx-ssl-proxies-for-services-in-docker-on-lan/</guid>
      <description>&lt;p&gt;This article talks about how one can use nginx to create SSL proxies for docker (and, potentially, other) services running in the local (e.g. home) network. Since the network is a home one, the certificates will be signed by specially created Certificate Authority that will be marked as trusted on the client devices.&lt;/p&gt;&#xA;&lt;h1 id=&#34;environment&#34; class=&#34;heading-parent&#34;&gt;&#xA;    Environment&#xA;    &lt;a class=&#34;heading-anchor&#34; href=&#34;#environment&#34; title=&#34;header link&#34;&gt;&#xA;&#x9;&#x9;#&#xA;    &lt;/a&gt;&#xA;&lt;/h1&gt;&#xA;&#xA;&lt;p&gt;In this scenario, we will have two machines. A &lt;strong&gt;client&lt;/strong&gt; and a &lt;strong&gt;server&lt;/strong&gt;. The &lt;strong&gt;server&lt;/strong&gt; machine is running one or more Docker containers. These containers expose certain ports to manage or access the services running inside those containers.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Firefox Browserpass with firejail and Apparmor</title>
      <link>https://vtimofeenko.com/posts/firefox-browserpass-with-firejail-and-apparmor/</link>
      <pubDate>Fri, 15 May 2020 00:00:00 +0000</pubDate>
      <guid>https://vtimofeenko.com/posts/firefox-browserpass-with-firejail-and-apparmor/</guid>
      <description>&lt;p&gt;This is a guide describing how to set up Firefox with &lt;a href=&#34;https://github.com/netblue30/firejail/&#34;&gt;firejail&lt;/a&gt; + &lt;a href=&#34;https://en.wikipedia.org/wiki/AppArmor&#34;&gt;AppArmor&lt;/a&gt; with password management in &lt;a href=&#34;https://www.passwordstore.org/&#34;&gt;pass&lt;/a&gt;. The passwords are filled in websites forms through &lt;a href=&#34;https://addons.mozilla.org/en-US/firefox/addon/Browserpass-ce/&#34;&gt;Browserpass addon&lt;/a&gt; + &lt;a href=&#34;https://github.com/Browserpass/Browserpass-native&#34;&gt;Browserpass&lt;/a&gt; native application.&lt;/p&gt;&#xA;&lt;p&gt;The setup password store will only contain passwords used by the websites encrypted through a separate key.&lt;/p&gt;</description>
    </item>
    <item>
      <title>CV</title>
      <link>https://vtimofeenko.com/cv/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://vtimofeenko.com/cv/</guid>
      <description>&lt;section id=&#34;short_summary&#34;&gt;&#xA;&lt;h1 id=&#34;short-summary&#34; class=&#34;heading-parent&#34;&gt;&#xA;    Short summary&#xA;    &lt;a class=&#34;heading-anchor&#34; href=&#34;#short-summary&#34; title=&#34;header link&#34;&gt;&#xA;&#x9;&#x9;#&#xA;    &lt;/a&gt;&#xA;&lt;/h1&gt;&#xA;&#xA;&lt;div class=&#34;short-spacing&#34;&gt;&#xA;&lt;p&gt;Kirkland, WA, USA&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://www.linkedin.com/in/vladimir-timofeenko/&#34;&gt;Linkedin&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://github.com/VTimofeenko&#34;&gt;GitHub&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://vtimofeenko.com&#34;&gt;Personal website&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;mailto:vladimir@vtimofeenko.com&#34;&gt;vladimir@vtimofeenko.com&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/div&gt;&#xA;&lt;/section&gt;&#xA;&lt;section id=&#34;summary&#34;&gt;&#xA;&lt;h1 id=&#34;summary&#34; class=&#34;heading-parent&#34;&gt;&#xA;    Summary&#xA;    &lt;a class=&#34;heading-anchor&#34; href=&#34;#summary&#34; title=&#34;header link&#34;&gt;&#xA;&#x9;&#x9;#&#xA;    &lt;/a&gt;&#xA;&lt;/h1&gt;&#xA;&#xA;&lt;p&gt;I am a software architect with over 10 years of experience, a passion for automation and a career in solution architecture, technical and sales support and system engineering.&lt;/p&gt;&#xA;&lt;p&gt;I have designed and delivered platforms for cloud services provisioning and billing for telecoms, distributors and MSPs. As a solutions architect and sales engineer I have been responsible for the technical side of the sales process – I perform demonstrations, gather requirements, create solution design documentation and lead the project delivery and post-sale support.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Projects and links</title>
      <link>https://vtimofeenko.com/projects/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://vtimofeenko.com/projects/</guid>
      <description>&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://medium.com/@vladimir.timofeenko&#34;&gt;My other blog, $DAYJOB related things&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://github.com/xremap/nix-flake&#34;&gt;xremap nix flake&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://github.com/VTimofeenko/monorepo-machine-config/&#34;&gt;homelab and dotfiles&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://github.com/VTimofeenko/confluence_poster&#34;&gt;confluence_poster&lt;/a&gt; – script to post Confluence articles written in local text editor&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h1 id=&#34;gentoo-related&#34; class=&#34;heading-parent&#34;&gt;&#xA;    Gentoo-related&#xA;    &lt;a class=&#34;heading-anchor&#34; href=&#34;#gentoo-related&#34; title=&#34;header link&#34;&gt;&#xA;&#x9;&#x9;#&#xA;    &lt;/a&gt;&#xA;&lt;/h1&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://github.com/VTimofeenko/nitratesky&#34;&gt;nitratesky&lt;/a&gt; – my personal Gentoo overlay&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://github.com/VTimofeenko/ncm2-ebuild&#34;&gt;ncm2-ebuild&lt;/a&gt; – ebuild completion module for neovim&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://github.com/VTimofeenko/git-verify-signature.eclass&#34;&gt;git-verify-signagure&lt;/a&gt; – Eclass that implements signature verification on the top commit of a git repository&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://github.com/VTimofeenko/overlay-maintain-tools&#34;&gt;overlay-maintain-tools&lt;/a&gt; – utilities to look up versions for overlay packages in remotes and to generate a README&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://github.com/VTimofeenko/dracut-pcscd-cryptsetup&#34;&gt;dracut-pcscd-cryptsetup&lt;/a&gt; – dracut module to allow unlocking LUKS2-encrypted partitions by smartcards&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://github.com/VTimofeenko/portage-overlay-cfg&#34;&gt;portage-overlay-cfg&lt;/a&gt; – Ansible role to manage Gentoo overlays&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h1 id=&#34;literate-programming&#34; class=&#34;heading-parent&#34;&gt;&#xA;    Literate programming&#xA;    &lt;a class=&#34;heading-anchor&#34; href=&#34;#literate-programming&#34; title=&#34;header link&#34;&gt;&#xA;&#x9;&#x9;#&#xA;    &lt;/a&gt;&#xA;&lt;/h1&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;wg-namespace-flake&lt;/code&gt; – a Nix flake that configures a Wireguard interface to run in its own network namespace. &lt;a href=&#34;https://github.com/VTimofeenko/wg-namespace-flake&#34;&gt;[repo]&lt;/a&gt; &lt;a href=&#34;../posts/wireguard-namespace-flake&#34;&gt;[project description]&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;My doom-emacs config – project that tangles my doom-emacs configuration &lt;a href=&#34;https://github.com/VTimofeenko/doom-config&#34;&gt;[repo]&lt;/a&gt; &lt;a href=&#34;../posts/my-doom-emacs-setup/&#34;&gt;[project description]&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;</description>
    </item>
  </channel>
</rss>
