<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Pavel Kalashnikov</title>
    <description>The latest articles on DEV Community by Pavel Kalashnikov (@kalashnikovisme).</description>
    <link>https://dev.to/kalashnikovisme</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F806972%2F14390bd8-8731-4b03-b970-3e9caf223ffe.jpeg</url>
      <title>DEV Community: Pavel Kalashnikov</title>
      <link>https://dev.to/kalashnikovisme</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/kalashnikovisme"/>
    <language>en</language>
    <item>
      <title>Saving tokens also means using existing tools.</title>
      <dc:creator>Pavel Kalashnikov</dc:creator>
      <pubDate>Sat, 26 Sep 2026 15:11:48 +0000</pubDate>
      <link>https://dev.to/kalashnikovisme/saving-tokens-also-means-using-existing-tools-81c</link>
      <guid>https://dev.to/kalashnikovisme/saving-tokens-also-means-using-existing-tools-81c</guid>
      <description>&lt;p&gt;In Rails apps with Tramway and tramway-skill, this is all Claude needs to add user creation to the admin panel.&lt;/p&gt;

&lt;p&gt;It even took the test from the example in the skill.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F0wvze0xrfsjkwfjysttm.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F0wvze0xrfsjkwfjysttm.png" alt=" " width="800" height="1193"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>rails</category>
      <category>tramway</category>
    </item>
    <item>
      <title>Ruby is more effective in terms of token safety</title>
      <dc:creator>Pavel Kalashnikov</dc:creator>
      <pubDate>Fri, 25 Sep 2026 15:51:07 +0000</pubDate>
      <link>https://dev.to/kalashnikovisme/ruby-is-more-effective-in-terms-of-token-safety-5g93</link>
      <guid>https://dev.to/kalashnikovisme/ruby-is-more-effective-in-terms-of-token-safety-5g93</guid>
      <description>&lt;p&gt;Purely empirically, Ruby feels way more token-efficient for programming.&lt;/p&gt;

&lt;p&gt;I spent the last month on a JS project and the past week mostly on Ruby projects.&lt;/p&gt;

&lt;p&gt;The difference is obvious. No further details 😄&lt;/p&gt;

</description>
      <category>ruby</category>
      <category>javascript</category>
    </item>
    <item>
      <title>11 years ago, we ran out of IPv4 addresses.</title>
      <dc:creator>Pavel Kalashnikov</dc:creator>
      <pubDate>Thu, 24 Sep 2026 12:32:39 +0000</pubDate>
      <link>https://dev.to/kalashnikovisme/11-years-ago-we-ran-out-of-ipv4-addresses-ep3</link>
      <guid>https://dev.to/kalashnikovisme/11-years-ago-we-ran-out-of-ipv4-addresses-ep3</guid>
      <description>&lt;p&gt;I wrote a short piece for the IT History Journal about how it happened — and how the internet has kept working ever since.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://history.purple-magic.com/en/sep/24/arin-ipv4-pool-exhausted/" rel="noopener noreferrer"&gt;https://history.purple-magic.com/en/sep/24/arin-ipv4-pool-exhausted/&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>I'm done with framework building</title>
      <dc:creator>Pavel Kalashnikov</dc:creator>
      <pubDate>Wed, 23 Sep 2026 23:19:17 +0000</pubDate>
      <link>https://dev.to/kalashnikovisme/im-done-with-framework-building-40ff</link>
      <guid>https://dev.to/kalashnikovisme/im-done-with-framework-building-40ff</guid>
      <description>&lt;p&gt;With this release, I’m done trying to make Tramway a do-everything Rails library.&lt;/p&gt;

&lt;p&gt;From now on, it’s simply a Rails admin panel you can get up and running in no time.&lt;/p&gt;

&lt;p&gt;We’ll vibe-code the rest anyway.&lt;/p&gt;

&lt;p&gt;Tramway 4.0&lt;/p&gt;

&lt;p&gt;It’s been a while since I posted gem updates — and there are quite a few:&lt;/p&gt;

&lt;p&gt;✅ Rails 7 support dropped&lt;br&gt;
✅ tramway_navbar completely revamped&lt;br&gt;
✅ New tramway_grid — a handy new component&lt;br&gt;
✅ Updates to tramway_table and tramway_chat&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/Purple-Magic/tramway/releases/tag/4.0" rel="noopener noreferrer"&gt;https://github.com/Purple-Magic/tramway/releases/tag/4.0&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Trivia night meets vibe coding.</title>
      <dc:creator>Pavel Kalashnikov</dc:creator>
      <pubDate>Wed, 23 Sep 2026 22:26:42 +0000</pubDate>
      <link>https://dev.to/kalashnikovisme/trivia-night-meets-vibe-coding-3fkm</link>
      <guid>https://dev.to/kalashnikovisme/trivia-night-meets-vibe-coding-3fkm</guid>
      <description>&lt;p&gt;My wife and I hosted a quiz at our friends’ wedding, but the venue had no projector.&lt;/p&gt;

&lt;p&gt;So we vibe-coded a website instead: everyone got the questions on their phones, while we controlled the game from ours.&lt;/p&gt;

</description>
      <category>coding</category>
      <category>webdev</category>
      <category>website</category>
    </item>
    <item>
      <title>Claude is asking this. What’s your answer?</title>
      <dc:creator>Pavel Kalashnikov</dc:creator>
      <pubDate>Wed, 23 Sep 2026 15:17:30 +0000</pubDate>
      <link>https://dev.to/kalashnikovisme/claude-is-asking-thiswhats-your-answer-4jn2</link>
      <guid>https://dev.to/kalashnikovisme/claude-is-asking-thiswhats-your-answer-4jn2</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fuoxeh3wt7sdeuh1b3vvq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fuoxeh3wt7sdeuh1b3vvq.png" alt=" " width="487" height="229"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>The first Android smartphone was unveiled exactly 18 years ago today</title>
      <dc:creator>Pavel Kalashnikov</dc:creator>
      <pubDate>Wed, 23 Sep 2026 14:17:45 +0000</pubDate>
      <link>https://dev.to/kalashnikovisme/the-first-android-smartphone-was-unveiled-exactly-18-years-ago-today-2hgm</link>
      <guid>https://dev.to/kalashnikovisme/the-first-android-smartphone-was-unveiled-exactly-18-years-ago-today-2hgm</guid>
      <description>&lt;p&gt;I wrote a short piece about it for the IT History Journal:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://history.purple-magic.com/en/sep/23/first-android-phone-unveiled/" rel="noopener noreferrer"&gt;https://history.purple-magic.com/en/sep/23/first-android-phone-unveiled/&lt;/a&gt;&lt;/p&gt;

</description>
      <category>android</category>
      <category>google</category>
    </item>
    <item>
      <title>Free tokens!</title>
      <dc:creator>Pavel Kalashnikov</dc:creator>
      <pubDate>Wed, 16 Sep 2026 10:49:26 +0000</pubDate>
      <link>https://dev.to/kalashnikovisme/free-tokens-5g9c</link>
      <guid>https://dev.to/kalashnikovisme/free-tokens-5g9c</guid>
      <description>&lt;p&gt;I’ve set up a local model to use with Codex. It runs at about the same speed as Claude with Sonnet at minimum effort.&lt;/p&gt;

&lt;p&gt;It definitely does some dumb stuff, but so far I’ve been able to fix all of it with better instructions. We’ll see how it goes.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why did I choose gpt-oss-20b?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I had Claude benchmark around 20 models on my machine and give me a report comparing execution time and quality.&lt;/p&gt;

&lt;p&gt;After 7 hours of testing and reasoning, it concluded that gpt-oss-20b was the best fit for my setup.&lt;/p&gt;

&lt;p&gt;I’m going to stick with it for now and see how it performs in actual day-to-day work.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Token safety of deployment</title>
      <dc:creator>Pavel Kalashnikov</dc:creator>
      <pubDate>Thu, 10 Sep 2026 02:34:16 +0000</pubDate>
      <link>https://dev.to/kalashnikovisme/token-safety-of-deployment-1fgo</link>
      <guid>https://dev.to/kalashnikovisme/token-safety-of-deployment-1fgo</guid>
      <description>&lt;p&gt;I updated my skill for deployment non-Rails apps with Kamal.&lt;/p&gt;

&lt;p&gt;It now uses the &lt;code&gt;--quiet&lt;/code&gt; flag correctly. This is especially important when Claude or Codex deploy your apps autonomously, so they don’t waste context on tons of useless logs.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/kalashnikovisme/kamal-deploy-skill" rel="noopener noreferrer"&gt;https://github.com/kalashnikovisme/kamal-deploy-skill&lt;/a&gt;&lt;/p&gt;

</description>
      <category>kamal</category>
      <category>claude</category>
    </item>
    <item>
      <title>Interactive Linux Timeline</title>
      <dc:creator>Pavel Kalashnikov</dc:creator>
      <pubDate>Sun, 06 Sep 2026 17:57:03 +0000</pubDate>
      <link>https://dev.to/kalashnikovisme/interactive-linux-timeline-2dge</link>
      <guid>https://dev.to/kalashnikovisme/interactive-linux-timeline-2dge</guid>
      <description>&lt;p&gt;I added an event board to my Linux timeline, with all the events grouped into categories.&lt;/p&gt;

&lt;p&gt;I also generated voiceovers for it — there’s no way I’m narrating anything in English with my nasal voice 😊&lt;/p&gt;

&lt;p&gt;&lt;a href="https://history.purple-magic.com/en/timelines/linux/" rel="noopener noreferrer"&gt;https://history.purple-magic.com/en/timelines/linux/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fngvlju6op636o5f1ggyr.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fngvlju6op636o5f1ggyr.png" alt=" " width="800" height="396"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>linux</category>
      <category>history</category>
    </item>
    <item>
      <title>On this day 26 years ago, the RSA algorithm became free to use</title>
      <dc:creator>Pavel Kalashnikov</dc:creator>
      <pubDate>Sun, 06 Sep 2026 08:21:50 +0000</pubDate>
      <link>https://dev.to/kalashnikovisme/on-this-day-26-years-ago-the-rsa-algorithm-became-free-to-use-29n4</link>
      <guid>https://dev.to/kalashnikovisme/on-this-day-26-years-ago-the-rsa-algorithm-became-free-to-use-29n4</guid>
      <description>&lt;div class="crayons-card c-embed text-styles text-styles--secondary"&gt;
    &lt;div class="c-embed__content"&gt;
        &lt;div class="c-embed__cover"&gt;
          &lt;a href="https://history.purple-magic.com/en/sep/6/rsa-becomes-free/" class="c-link align-middle" rel="noopener noreferrer"&gt;
            &lt;img alt="" src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto/https%3A%2F%2Fhistory.purple-magic.com%2Fen%2Fsep%2F6%2Frsa-becomes-free%2Fsocial-image.webp" height="420" class="m-0" width="800"&gt;
          &lt;/a&gt;
        &lt;/div&gt;
      &lt;div class="c-embed__body"&gt;
        &lt;h2 class="fs-xl lh-tight"&gt;
          &lt;a href="https://history.purple-magic.com/en/sep/6/rsa-becomes-free/" rel="noopener noreferrer" class="c-link"&gt;
            September 6, 2000 — RSA becomes free — IT History Journal
          &lt;/a&gt;
        &lt;/h2&gt;
        &lt;div class="color-secondary fs-s flex items-center"&gt;
            &lt;img alt="favicon" class="c-embed__favicon m-0 mr-2 radius-0" src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fhistory.purple-magic.com%2Ffavicon.ico" width="32" height="32"&gt;
          history.purple-magic.com
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;


</description>
      <category>history</category>
      <category>security</category>
    </item>
    <item>
      <title>Ever seen this guy before?</title>
      <dc:creator>Pavel Kalashnikov</dc:creator>
      <pubDate>Sun, 06 Sep 2026 07:10:17 +0000</pubDate>
      <link>https://dev.to/kalashnikovisme/ever-seen-this-guy-before-45hl</link>
      <guid>https://dev.to/kalashnikovisme/ever-seen-this-guy-before-45hl</guid>
      <description>&lt;p&gt;This photo is from my talk at the Omarchy meetup.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fqmeq51a0oxc3om269hgl.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fqmeq51a0oxc3om269hgl.jpeg" alt=" " width="800" height="800"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
  </channel>
</rss>
