<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <title>Eugene Rozhkov</title>
  <subtitle>iOS developer shipping in healthcare and logistics. Swift packages, articles, and a development log.</subtitle>
  <id>https://kovs705.github.io/PersonalPage/feed.xml</id>
  <link rel="alternate" type="text/html" href="https://kovs705.github.io/PersonalPage/"/>
  <link rel="self" type="application/atom+xml" href="https://kovs705.github.io/PersonalPage/feed.xml"/>
  <author><name>Eugene Rozhkov</name><email>EuKovs@gmail.com</email></author>
  
  <updated>2026-07-28T00:00:00+00:00</updated>
  
  <entry>
    <title>Grain is doing most of the work</title>
    <link rel="alternate" type="text/html" href="https://kovs705.github.io/PersonalPage/devlog/building-this-site/"/>
    <id>https://kovs705.github.io/PersonalPage/devlog/building-this-site/</id>
    <published>2026-07-28T00:00:00+00:00</published>
    <updated>2026-07-28T00:00:00+00:00</updated>
    <category term="devlog"/>
    <category term="css"/><category term="design"/>
    <summary type="text">Spent the evening on the tactile feel of the shell and the finding is almost embarrassing: a single inline SVG feTurbulence overlay — mix-blend-mode:screen at 6% opacity — accounts for most of what reads as “physical.”</summary>
    <content type="html">&lt;p&gt;Spent the evening on the tactile feel of the shell and the finding is almost embarrassing: a singleinline SVG &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;feTurbulence&lt;/code&gt; overlay — &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;mix-blend-mode:screen&lt;/code&gt; at 6% opacity — accounts for most of whatreads as “physical.”&lt;/p&gt;&lt;p&gt;The other half is press physics — one rule, applied everywhere:&lt;/p&gt;&lt;div class=&quot;language-css highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;nc&quot;&gt;.btn&lt;/span&gt;&lt;span class=&quot;nd&quot;&gt;:active&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;nl&quot;&gt;transform&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;translateY&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;m&quot;&gt;1px&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;&lt;span class=&quot;nl&quot;&gt;box-shadow&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;m&quot;&gt;1px&lt;/span&gt; &lt;span class=&quot;m&quot;&gt;1px&lt;/span&gt; &lt;span class=&quot;m&quot;&gt;0&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;rgba&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;m&quot;&gt;201&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;m&quot;&gt;242&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;m&quot;&gt;39&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;m&quot;&gt;.28&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)}&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;Eighty milliseconds. That’s the entire difference between a page and a panel of keys.&lt;/p&gt;</content>
  </entry>
  
  <entry>
    <title>Why I rebuilt my site around a devlog</title>
    <link rel="alternate" type="text/html" href="https://kovs705.github.io/PersonalPage/writing/why-i-rebuilt-my-site/"/>
    <id>https://kovs705.github.io/PersonalPage/writing/why-i-rebuilt-my-site/</id>
    <published>2026-07-28T00:00:00+00:00</published>
    <updated>2026-07-28T00:00:00+00:00</updated>
    <category term="article"/>
    <category term="meta"/><category term="writing"/>
    <summary type="text">My old resume page made claims. This one shows version numbers, dates, and the parts that fought back.</summary>
    <content type="html">&lt;p&gt;My previous site told visitors I “think beyond ticket execution.” It was true, and it was useless — aclaim with nothing behind it. Anyone can write that sentence.&lt;/p&gt;&lt;p&gt;So this version is built on a different rule: &lt;strong&gt;every row on the homepage is a fact you can check.&lt;/strong&gt;A version number, a licence, a date, a commit. If a sentence can’t be verified, it doesn’t belong onthe front page.&lt;/p&gt;&lt;h2 id=&quot;what-changed-structurally&quot;&gt;What changed structurally&lt;/h2&gt;&lt;p&gt;The devlog attaches to projects. Each entry carries an optional &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;project&lt;/code&gt; field, so a three-sentencenote about a gesture conflict becomes part of a build history rather than disappearing into achronological feed.&lt;/p&gt;&lt;div class=&quot;note info&quot;&gt;&lt;p&gt;This site is static — Jekyll on GitHub Pages, no build step I run locally. The whole publishing flow is one Markdown file and one &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;git push&lt;/code&gt;.&lt;/p&gt;&lt;/div&gt;&lt;h2 id=&quot;what-i-cut&quot;&gt;What I cut&lt;/h2&gt;&lt;p&gt;Stat cards claiming “4 human languages studied.” A three-language switcher wrapped around one page oftext. Stock 3D illustrations of a glossy phone. None of it survived the rule above.&lt;/p&gt;</content>
  </entry>
  
</feed>
