<?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: Kirill</title>
    <description>The latest articles on DEV Community by Kirill (@klem42).</description>
    <link>https://dev.to/klem42</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.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3854060%2F9ed05a0b-6ec8-41bf-af78-5dc9a5898f7d.jpg</url>
      <title>DEV Community: Kirill</title>
      <link>https://dev.to/klem42</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/klem42"/>
    <language>en</language>
    <item>
      <title>Engineering Teams Quietly Reward Chaos</title>
      <dc:creator>Kirill</dc:creator>
      <pubDate>Fri, 08 May 2026 14:32:05 +0000</pubDate>
      <link>https://dev.to/klem42/engineering-teams-quietly-reward-chaos-3el5</link>
      <guid>https://dev.to/klem42/engineering-teams-quietly-reward-chaos-3el5</guid>
      <description>&lt;p&gt;Lately I've been having a strange thought.&lt;/p&gt;

&lt;p&gt;The more chaotic a system became, the more valuable I looked inside it.&lt;br&gt;
The harder things were to understand, the more people depended on me.&lt;br&gt;
The more production pain existed, the more visibility I got.&lt;/p&gt;

&lt;p&gt;And eventually I caught myself wondering something uncomfortable:&lt;br&gt;
Was I actually incentivized to reduce any of this?&lt;/p&gt;

&lt;p&gt;At first that thought sounded ridiculous. Nobody wakes up thinking: "Today I will make the system worse."&lt;/p&gt;

&lt;p&gt;At least I hope not.&lt;/p&gt;

&lt;p&gt;But engineering organizations create strange games. And once you notice the incentives, it's hard to unsee them.&lt;/p&gt;

&lt;p&gt;You start noticing what actually gets rewarded.&lt;/p&gt;

&lt;p&gt;Fast fixes get rewarded.&lt;br&gt;
Heroic debugging sessions get rewarded.&lt;br&gt;
Late-night firefighting gets rewarded.&lt;br&gt;
Being the person who saves the release gets rewarded.&lt;br&gt;
Visibility gets rewarded.&lt;br&gt;
Urgency gets rewarded.&lt;br&gt;
Visible suffering gets rewarded.&lt;/p&gt;

&lt;p&gt;Meanwhile, a lot of other things become &lt;em&gt;strangely invisible&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;Reducing future complexity.&lt;br&gt;
Eliminating operational pain before it exists.&lt;br&gt;
Making systems boring.&lt;br&gt;
Making onboarding easier.&lt;br&gt;
Documenting things well enough that people stop depending on you.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Nobody gathers the team to celebrate that nothing exploded this quarter.&lt;/strong&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.amazonaws.com%2Fuploads%2Farticles%2Fee82iedam2bh8ihyhjuk.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.amazonaws.com%2Fuploads%2Farticles%2Fee82iedam2bh8ihyhjuk.png" alt="The email you will probably never receive." width="800" height="592"&gt;&lt;/a&gt;&lt;em&gt;The email you will probably never receive.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;But everybody notices when you jump into chaos and survive it.&lt;/p&gt;

&lt;p&gt;I used to genuinely enjoy simplifying things.&lt;br&gt;
I automated repetitive work.&lt;br&gt;
I removed weird dependencies.&lt;br&gt;
I cleaned up ugly flows.&lt;br&gt;
I documented systems.&lt;br&gt;
I tried to make things understandable.&lt;br&gt;
I tried to make myself less of a bottleneck.&lt;/p&gt;

&lt;p&gt;But something strange kept happening. The cleaner things became, the less important I seemed to be.&lt;/p&gt;

&lt;p&gt;Fewer escalations.&lt;br&gt;
Fewer emergency calls.&lt;br&gt;
Fewer meetings where people suddenly needed me.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Stability made me respectable. Chaos made me important.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;And that realization messed with my head more than I expected. Because once you understand the game, the incentives start pulling on you in strange ways.&lt;/p&gt;

&lt;p&gt;If I automate this process perfectly, people stop needing me.&lt;br&gt;
If I document everything properly, knowledge asymmetry disappears.&lt;br&gt;
If onboarding becomes easy, I stop being irreplaceable.&lt;br&gt;
If incidents disappear, heroic visibility disappears too.&lt;br&gt;
If systems become predictable, nobody notices how much pain used to exist.&lt;/p&gt;

&lt;p&gt;And the worst part is that you don't even need to become malicious. You just slowly adapt.&lt;/p&gt;

&lt;p&gt;You postpone cleanup work a little longer.&lt;br&gt;
You stop fighting heroic culture as hard as you used to.&lt;br&gt;
You tolerate complexity instead of killing it immediately.&lt;br&gt;
You leave certain knowledge undocumented because keeping it in your head preserves a kind of invisible leverage.&lt;br&gt;
You optimize for what the organization visibly rewards.&lt;/p&gt;

&lt;p&gt;And eventually, part of you starts needing &lt;strong&gt;emergencies&lt;/strong&gt;. They make your value obvious.&lt;/p&gt;

&lt;p&gt;That was probably the most uncomfortable realization for me. Not that organizations reward chaos. But how quickly the human brain learns to survive inside systems like that.&lt;/p&gt;

&lt;p&gt;I don't think most engineers consciously choose this. I think many organizations accidentally create environments where reducing complexity becomes strategically irrational in the short term.&lt;/p&gt;

&lt;p&gt;Then later everybody acts surprised.&lt;/p&gt;

&lt;p&gt;Why are there knowledge silos?&lt;br&gt;
Why are certain engineers impossible to replace?&lt;br&gt;
Why does nobody fix root causes?&lt;br&gt;
Why is every release emotionally exhausting?&lt;br&gt;
Why does the organization depend on heroics just to function?&lt;/p&gt;

&lt;p&gt;Maybe the real problem is that modern engineering organizations are much better at rewarding visible heroics than invisible stability.&lt;/p&gt;

&lt;p&gt;And the hardest part is this: I'm no longer completely sure whether I'm reducing complexity inside these systems anymore. Or simply learning how to profit from it.&lt;/p&gt;

</description>
      <category>softwareengineering</category>
      <category>career</category>
      <category>discuss</category>
      <category>programming</category>
    </item>
    <item>
      <title>Move Fast and Break Things Was Fun. Now We’re Paying For It.</title>
      <dc:creator>Kirill</dc:creator>
      <pubDate>Wed, 06 May 2026 14:35:34 +0000</pubDate>
      <link>https://dev.to/klem42/move-fast-and-break-things-was-fun-now-were-paying-for-it-3l3n</link>
      <guid>https://dev.to/klem42/move-fast-and-break-things-was-fun-now-were-paying-for-it-3l3n</guid>
      <description>&lt;p&gt;The most valuable engineers I've worked with often looked... less "productive". They weren't always the fastest at closing tickets. They didn't push the most code. Sometimes it even felt like they were slowing things down.&lt;/p&gt;

&lt;p&gt;And yet, somehow, teams around them ended up dealing with a lot less bullshit six months later.&lt;/p&gt;

&lt;p&gt;Typical story: an API occasionally responds in 10 seconds under load. Not always. Just often enough to become painful. A ticket shows up: "Need to fix slow responses ASAP."&lt;/p&gt;

&lt;p&gt;One engineer goes for the obvious fix: "Let's add caching."&lt;br&gt;
A couple of days later, the issue seems gone. Everyone's happy. Ticket closed. Velocity looks great.&lt;/p&gt;

&lt;p&gt;Then the familiar magic begins: cache invalidation becomes painful, stale data starts showing up in weird places, edge cases multiply, more patches pile on top, and a month later the system is more complicated than before the "fix".&lt;/p&gt;

&lt;p&gt;Another engineer does the thing people often hate: &lt;strong&gt;instead of immediately writing code, they start asking&lt;/strong&gt; why the problem exists in the first place.&lt;/p&gt;

&lt;p&gt;And suddenly it turns out the backend isn't really the issue. The frontend is hammering the API because it has no proper way to receive updates.&lt;/p&gt;

&lt;p&gt;So instead of another caching layer, the solution becomes boring but clean: events, change notifications, fewer requests, less state, less magic.&lt;/p&gt;

&lt;p&gt;In the moment, the second engineer looked slower. They asked annoying questions. They added friction. Maybe they even irritated people a little.&lt;br&gt;
But six months later, systems around people like that somehow tend to be simpler, more stable, and easier to work with.&lt;/p&gt;

&lt;p&gt;And I think this is one of the strangest things in our industry.&lt;br&gt;
We're very good at measuring &lt;strong&gt;delivery speed&lt;/strong&gt;. We're much worse at noticing engineers who reduce the amount of future pain inside a system.&lt;/p&gt;

&lt;p&gt;And these aren't necessarily "10x architects" or technical geniuses.&lt;br&gt;
Often they're just the people who ask an uncomfortable question at the right moment:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Wait. Are we actually solving the right problem?"&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The funny part is that these are usually the engineers people try to bring with them from company to company, pull into difficult projects, and retain at almost any cost.&lt;/p&gt;

&lt;p&gt;Even though their value is incredibly hard to measure formally.&lt;/p&gt;

&lt;p&gt;Have you worked with engineers like this?&lt;/p&gt;

</description>
      <category>career</category>
      <category>discuss</category>
      <category>softwareengineering</category>
      <category>programming</category>
    </item>
    <item>
      <title>I used to have 100+ open tabs I wasn't reading</title>
      <dc:creator>Kirill</dc:creator>
      <pubDate>Sun, 03 May 2026 15:10:54 +0000</pubDate>
      <link>https://dev.to/klem42/i-used-to-have-100-open-tabs-i-wasnt-reading-4kl0</link>
      <guid>https://dev.to/klem42/i-used-to-have-100-open-tabs-i-wasnt-reading-4kl0</guid>
      <description>&lt;p&gt;My browser was basically a graveyard. Choosing what to read felt more draining than reading itself. I realized I didn't actually want to read most of those articles - I just didn't want to miss the 10% that actually mattered.&lt;/p&gt;

&lt;p&gt;So I changed the order. I started filtering everything through a ~3-minute audio breakdown before deciding whether to read it in full. I started doing this manually with ChatGPT, and that was enough to notice a pattern: for most long-form content, three minutes is enough. &lt;/p&gt;

&lt;p&gt;A short breakdown gives me the core ideas, hidden assumptions, and counter-arguments without the fluff. Anything longer starts to feel like a "half-read" that doesn't actually save time. Three minutes seems to be the sweet spot for a Go/No-Go decision.&lt;/p&gt;

&lt;p&gt;The signal improves a lot when you include discussion threads from Hacker News or Reddit. An article is one perspective. Comments expose the gaps and highlight the actual signal before you ever commit to a single tab.&lt;/p&gt;

&lt;p&gt;I eventually automated this for myself, but that part isn't the point. This changed how I deal with information. I no longer feel the need to "finish" my backlog; I just need a faster way to tell what deserves my attention.&lt;/p&gt;

&lt;p&gt;I don't try to read more anymore. I just commit less often.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>productivity</category>
      <category>programming</category>
      <category>discuss</category>
    </item>
    <item>
      <title>I tried staring at a wall to fix my focus</title>
      <dc:creator>Kirill</dc:creator>
      <pubDate>Wed, 29 Apr 2026 12:02:56 +0000</pubDate>
      <link>https://dev.to/klem42/i-tried-staring-at-a-wall-to-fix-my-focus-3om4</link>
      <guid>https://dev.to/klem42/i-tried-staring-at-a-wall-to-fix-my-focus-3om4</guid>
      <description>&lt;p&gt;Recently I read &lt;a href="https://dev.to/the_nortern_dev/trading-my-body-for-logic-the-physical-decay-we-ignore-3c4i"&gt;a post here on dev.to&lt;/a&gt;. A guy was writing about how his health slowly went off track. Nothing dramatic at first, just the usual things stacking up. Sleep getting worse, caffeine creeping in, energy dropping, focus dissolving somewhere in the background. It didn't read like a crisis. It read like something that quietly happens to a lot of people.&lt;/p&gt;

&lt;p&gt;For some reason that post stuck with me. Not because of the health part itself, but because of the pattern. The sense that things don't usually break in one big moment. They degrade through small habits that feel harmless when taken one by one.&lt;/p&gt;

&lt;p&gt;Around the same time I came across another idea that felt strangely related. It came from &lt;a href="https://www.alexselimov.com/posts/men_who_stare_at_walls/" rel="noopener noreferrer"&gt;a post about productivity&lt;/a&gt;, but it didn't look like productivity advice at all. The suggestion was almost absurd in its simplicity. &lt;strong&gt;When your focus drops, don't reach for your phone, don't switch tabs, don't look for stimulation. Just sit and stare at a wall for a few minutes.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;That was it.&lt;/p&gt;

&lt;p&gt;The author described a familiar loop where bad sleep leads to caffeine, caffeine leads to jittery focus, that leads to background noise like music or podcasts, which turns into scrolling and distraction, which then pushes sleep even further out of balance. A cycle that feeds itself without ever feeling like a conscious decision&lt;/p&gt;

&lt;p&gt;What caught my attention wasn't the cycle itself, but the proposed interruption. Not a better tool, not a smarter system, just the removal of input.&lt;/p&gt;

&lt;p&gt;I tried it out of curiosity. It felt like something too simple to matter, which is usually a good reason to test it.&lt;/p&gt;

&lt;p&gt;Sitting there and doing nothing turned out to be much harder than expected. Not physically, but mentally. The first thing I noticed was how quickly the mind tries to escape the situation. It doesn't matter where it goes. Checking messages, thinking about work, replaying conversations, planning something pointless. Anything is better than staying in that empty space.&lt;/p&gt;

&lt;p&gt;That reaction was more interesting than the exercise itself. It made me realize how little time there is in a normal day where nothing is happening. Every gap gets filled automatically. Waiting becomes scrolling. Walking becomes listening. Eating becomes watching something. Even working often comes with some kind of background input.&lt;/p&gt;

&lt;p&gt;At some point I saw a comment that put this into words more precisely. The problem with modern devices is not just that they take your attention. They take away the moments where your mind used to wander on its own.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;I've recently realised that the biggest problem with smartphones is not that they steal your attention (which is bad enough), but that they steal your disattention&lt;br&gt;
I don't know of a better word for it than disattention. Perhaps downtime? But it's not so structured. It's just those moments where you'd previously let your mind wander. Gone forever.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;That idea reframed the whole thing. It's not just about distraction. It's about the disappearance of mental idle time. The kind of low-stimulation state where thoughts connect in unpredictable ways, or where nothing particularly useful happens, but the system resets itself.&lt;/p&gt;

&lt;p&gt;Seen from that angle, staring at a wall doesn't look like a productivity trick. It looks more like restoring a missing state.&lt;/p&gt;

&lt;p&gt;Some people would probably call this meditation, and maybe that's technically correct. But the framing feels different. Meditation comes with expectations, structure, and sometimes a sense that you're supposed to achieve something. This feels more like a diagnostic tool. You sit down and check whether you can tolerate the absence of input for a few minutes.&lt;/p&gt;

&lt;p&gt;If the answer is yes, then nothing interesting happens. If the answer is no, then that's already a signal.&lt;/p&gt;

&lt;p&gt;What surprised me was that after a short period of doing nothing, going back to work felt slightly easier. Not in a dramatic or motivational way, but in a quieter sense. There was less internal friction. Fewer competing impulses pulling attention away.&lt;/p&gt;

&lt;p&gt;It didn't feel like gaining something new. It felt more like removing noise.&lt;/p&gt;

&lt;p&gt;I'm not sure how much of this is a real technique and how much is just a reaction to being constantly overloaded. But the experiment itself feels valuable because it's so easy to try and so hard to fake.&lt;/p&gt;

&lt;p&gt;You don't need a system or a habit tracker. You just need a few minutes and the willingness to not fill them with anything.&lt;/p&gt;

&lt;p&gt;When was the last time you let your mind wander without a podcast or a screen? I'd be curious to hear if anyone else has tried this "zero-input" experiment.&lt;/p&gt;

&lt;p&gt;The interesting part is not whether it works. The interesting part is whether you can actually do it.&lt;/p&gt;

</description>
      <category>productivity</category>
      <category>mentalhealth</category>
      <category>wellness</category>
      <category>career</category>
    </item>
    <item>
      <title>I asked an LLM to add one button. It rewrote half my repo.</title>
      <dc:creator>Kirill</dc:creator>
      <pubDate>Tue, 21 Apr 2026 16:42:08 +0000</pubDate>
      <link>https://dev.to/klem42/i-asked-an-llm-to-add-one-button-it-rewrote-half-my-repo-1l1f</link>
      <guid>https://dev.to/klem42/i-asked-an-llm-to-add-one-button-it-rewrote-half-my-repo-1l1f</guid>
      <description>&lt;p&gt;Let’s be honest: modern LLMs write amazing code. Sometimes I look at the output and realize I couldn’t have done it better or faster myself. It hits you with this almost addictive rush of speed.&lt;/p&gt;

&lt;p&gt;But that speed comes with a cost: you stop understanding what’s happening.&lt;/p&gt;

&lt;p&gt;Recently, I was working on my pet project — a Telegram bot that turns articles into audio. I wanted to add one simple feature: a "Detailed Summary" mode. I threw a quick prompt at the AI: &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Give users a way to get more detailed summaries&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;At first glance, everything looked fine. Then I tried to understand the diff.&lt;br&gt;
I couldn't.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Chaos of "Just Prompting"
&lt;/h2&gt;

&lt;p&gt;I had a clean setup: all my prompts lived in a prompts.yaml file, and a PromptBuilder class would neatly assemble them. It was a predictable, single-source-of-truth system.&lt;/p&gt;

&lt;p&gt;The agent ignored all of it. Instead of adding a template to the YAML, it shoved raw strings directly into the C# code.&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.amazonaws.com%2Fuploads%2Farticles%2Fbcxwe2z58qy03bh7njjl.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.amazonaws.com%2Fuploads%2Farticles%2Fbcxwe2z58qy03bh7njjl.png" alt="Hardcoded strings in BuildSummaryPrompt" width="800" height="342"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;It introduced if/else logic inside the builder and added extra prompt instructions as raw string literals. My architecture just left the building. Now I had two sources of truth.&lt;/p&gt;

&lt;p&gt;But the worst part was the UX. Instead of adding a simple Telegram button to trigger the detailed mode, the AI decided that the user should manually type magic hashtags like &lt;code&gt;#detailed&lt;/code&gt;. It chose the easiest path for the code, not the user.&lt;/p&gt;

&lt;p&gt;The model optimized for its own convenience, not for my system. And it made dozens of decisions I never asked for.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Spec as Anxiety Relief
&lt;/h2&gt;

&lt;p&gt;I realized I was tired. Tired of holding my breath every time I hit "Apply," wondering what exactly was about to break.&lt;/p&gt;

&lt;p&gt;At some point, I realized this isn’t just about AI being unpredictable. It’s about me not defining things clearly enough. That’s when I started using a &lt;strong&gt;Spec&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;It’s not just a technical fix; it’s anxiety relief. When I put a Markdown file in Git between my head and the code, I can finally breathe. I’m no longer guessing what’s going to happen.&lt;/p&gt;

&lt;h2&gt;
  
  
  My Workflow
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;The Architecture Chat: I use ChatGPT to argue about edge cases. I often dictate my thoughts by voice—it's easier to "think out loud" about things like race conditions. We talk until we have a solid &lt;code&gt;feature_spec.md&lt;/code&gt; file.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;The Consistency Check: I make the coding agent compare the new spec with my actual repo. If the AI finds a contradiction before writing code, I’ve already won.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;The Implementation: Only when the spec and architecture are aligned do I let the AI touch the code.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Same Task. Same AI. Different Outcome.
&lt;/h2&gt;

&lt;p&gt;When I implemented the same feature using a spec, the result was night and day.&lt;/p&gt;

&lt;p&gt;I explicitly defined the rules: "Use the existing YAML prompt storage. Use Telegram's native buttons. Do not force the user to type hashtags."&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.amazonaws.com%2Fuploads%2Farticles%2Fo1nlrldzbangfv90mnzl.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.amazonaws.com%2Fuploads%2Farticles%2Fo1nlrldzbangfv90mnzl.png" alt="Clean button logic vs hashtag mess" width="800" height="640"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The agent followed the contract. This time, it created a new prompt template in the right place and implemented a clean button-based UX.&lt;/p&gt;

&lt;p&gt;The difference wasn’t the model. It was the spec. The code remained clean, the architecture stayed intact, and I actually understood the diff.&lt;/p&gt;

&lt;h2&gt;
  
  
  Bottom Line
&lt;/h2&gt;

&lt;p&gt;AI is a fast, but very average developer.&lt;/p&gt;

&lt;p&gt;Without boundaries, it will pick the easiest, messiest path. It will still "work." And that's the dangerous part. You won't notice the rot until it's too late.&lt;/p&gt;

&lt;p&gt;Stop prompting. Start defining.&lt;/p&gt;

&lt;p&gt;How do you handle the AI's urge to "improve" your architecture without asking? Let’s discuss in the comments.&lt;/p&gt;

&lt;p&gt;Photo: &lt;a href="https://www.flickr.com/photos/infomatique/6281472940" rel="noopener noreferrer"&gt;William Murphy / flickr&lt;/a&gt; — CC BY-SA 2.0&lt;/p&gt;

</description>
      <category>ai</category>
      <category>programming</category>
      <category>softwareengineering</category>
      <category>architecture</category>
    </item>
  </channel>
</rss>
