<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Research Software on Badran Elshenawy</title>
    <link>https://badran-elshenawy.netlify.app/tags/research-software/</link>
    <description>Recent content in Research Software on Badran Elshenawy</description>
    <generator>Hugo</generator>
    <language>en</language>
    <lastBuildDate>Sat, 23 May 2026 09:00:00 +0000</lastBuildDate>
    <atom:link href="https://badran-elshenawy.netlify.app/tags/research-software/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Lockfiles – Post 2: uv.lock vs renv.lock in Practice</title>
      <link>https://badran-elshenawy.netlify.app/posts/uv-lock-vs-renv-lock-practical-comparison/</link>
      <pubDate>Sat, 23 May 2026 09:00:00 +0000</pubDate>
      <guid>https://badran-elshenawy.netlify.app/posts/uv-lock-vs-renv-lock-practical-comparison/</guid>
      <description>Both Python and R have lockfiles, but they do not work the same way. Here is the practical difference between &lt;code&gt;uv.lock&lt;/code&gt;, &lt;code&gt;renv.lock&lt;/code&gt;, and the newer R tools closing the gap.</description>
    </item>
    <item>
      <title>Lockfiles – Post 1: The Reproducibility Layer You&#39;re Probably Missing</title>
      <link>https://badran-elshenawy.netlify.app/posts/lockfiles-reproducibility-layer/</link>
      <pubDate>Mon, 18 May 2026 09:00:00 +0000</pubDate>
      <guid>https://badran-elshenawy.netlify.app/posts/lockfiles-reproducibility-layer/</guid>
      <description>Your code is on GitHub, your README is clean, and your pipeline worked perfectly six months ago. Here is why lockfiles are the missing piece.</description>
    </item>
  </channel>
</rss>
