<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <url>
    <loc>https://samsaffron.com</loc>
    <lastmod>2025-12-09</lastmod>
  </url>
    <url>
      <loc>https://samsaffron.com/archive/2025/11/23/the-age-of-personalized-software</loc>
      <lastmod>2025-12-09</lastmod>
    </url>
    <url>
      <loc>https://samsaffron.com/archive/2025/10/27/your-vibe-coded-slop-pr-is-not-welcome</loc>
      <lastmod>2025-12-09</lastmod>
    </url>
    <url>
      <loc>https://samsaffron.com/archive/2024/03/07/claude-3-opus-first-impressions</loc>
      <lastmod>2025-12-09</lastmod>
    </url>
    <url>
      <loc>https://samsaffron.com/archive/2019/10/08/debugging-unmanaged-and-hidden-memory-leaks-in-ruby</loc>
      <lastmod>2025-12-09</lastmod>
    </url>
    <url>
      <loc>https://samsaffron.com/archive/2019/05/15/tests-that-sometimes-fail</loc>
      <lastmod>2025-12-09</lastmod>
    </url>
    <url>
      <loc>https://samsaffron.com/archive/2019/04/09/my-i3-window-manager-setup</loc>
      <lastmod>2025-12-09</lastmod>
    </url>
    <url>
      <loc>https://samsaffron.com/archive/2019/03/31/why-i-stuck-with-windows-for-6-years-while-developing-discourse</loc>
      <lastmod>2025-12-09</lastmod>
    </url>
    <url>
      <loc>https://samsaffron.com/archive/2018/12/27/logster-and-our-logging-strategy-at-discourse</loc>
      <lastmod>2025-12-09</lastmod>
    </url>
    <url>
      <loc>https://samsaffron.com/archive/2018/08/07/finding-where-stdout-stderr-debug-messages-are-coming-from</loc>
      <lastmod>2023-02-19</lastmod>
    </url>
    <url>
      <loc>https://samsaffron.com/archive/2018/06/13/ruby-x27-s-external-malloc-problem</loc>
      <lastmod>2025-12-09</lastmod>
    </url>
    <url>
      <loc>https://samsaffron.com/archive/2018/06/01/an-analysis-of-memory-bloat-in-active-record-5-2</loc>
      <lastmod>2025-12-09</lastmod>
    </url>
    <url>
      <loc>https://samsaffron.com/archive/2018/03/22/managing-db-schema-changes-without-downtime</loc>
      <lastmod>2025-12-09</lastmod>
    </url>
    <url>
      <loc>https://samsaffron.com/archive/2018/02/16/reducing-string-duplication-in-ruby</loc>
      <lastmod>2025-12-09</lastmod>
    </url>
    <url>
      <loc>https://samsaffron.com/archive/2018/02/02/instrumenting-rails-with-prometheus</loc>
      <lastmod>2025-12-09</lastmod>
    </url>
    <url>
      <loc>https://samsaffron.com/archive/2018/01/18/my-production-ruby-on-rails-cpu-is-at-100-now-what</loc>
      <lastmod>2025-12-09</lastmod>
    </url>
    <url>
      <loc>https://samsaffron.com/archive/2017/10/18/fastest-way-to-profile-a-method-in-ruby</loc>
      <lastmod>2025-12-09</lastmod>
    </url>
    <url>
      <loc>https://samsaffron.com/archive/2016/06/15/the-current-state-of-brotli-compression</loc>
      <lastmod>2025-12-09</lastmod>
    </url>
    <url>
      <loc>https://samsaffron.com/archive/2015/12/29/websockets-caution-required</loc>
      <lastmod>2025-12-09</lastmod>
    </url>
    <url>
      <loc>https://samsaffron.com/archive/2015/10/02/fixing-discourse-performance-regressions</loc>
      <lastmod>2025-12-09</lastmod>
    </url>
    <url>
      <loc>https://samsaffron.com/archive/2015/03/31/debugging-memory-leaks-in-ruby</loc>
      <lastmod>2025-12-09</lastmod>
    </url>
    <url>
      <loc>https://samsaffron.com/archive/2015/01/08/announcing-rubybench-org</loc>
      <lastmod>2025-12-09</lastmod>
    </url>
    <url>
      <loc>https://samsaffron.com/archive/2014/12/01/speeding-up-rails-4-2</loc>
      <lastmod>2025-12-09</lastmod>
    </url>
    <url>
      <loc>https://samsaffron.com/archive/2014/04/08/ruby-2-1-garbage-collection-ready-for-production</loc>
      <lastmod>2014-10-23</lastmod>
    </url>
    <url>
      <loc>https://samsaffron.com/archive/2014/01/15/vintage-javascript-begone</loc>
      <lastmod>2025-12-09</lastmod>
    </url>
    <url>
      <loc>https://samsaffron.com/archive/2013/12/11/call-to-action-long-running-ruby-benchmark</loc>
      <lastmod>2025-12-09</lastmod>
    </url>
    <url>
      <loc>https://samsaffron.com/archive/2013/12/04/commenting-powered-by-discourse</loc>
      <lastmod>2025-03-20</lastmod>
    </url>
    <url>
      <loc>https://samsaffron.com/archive/2013/11/22/demystifying-the-ruby-gc</loc>
      <lastmod>2025-12-09</lastmod>
    </url>
    <url>
      <loc>https://samsaffron.com/archive/2013/11/13/live-restarts-of-a-supervised-unicorn-process</loc>
      <lastmod>2023-02-19</lastmod>
    </url>
    <url>
      <loc>https://samsaffron.com/archive/2013/11/07/discourse-in-a-docker-container</loc>
      <lastmod>2025-12-09</lastmod>
    </url>
    <url>
      <loc>https://samsaffron.com/archive/2013/10/10/discourse-as-my-blogging-platform</loc>
      <lastmod>2023-02-19</lastmod>
    </url>
    <url>
      <loc>https://samsaffron.com/archive/2013/05/03/eliminating-my-trivial-inconveniences</loc>
      <lastmod>2025-12-09</lastmod>
    </url>
    <url>
      <loc>https://samsaffron.com/archive/2013/03/19/flame-graphs-in-ruby-miniprofiler</loc>
      <lastmod>2025-12-09</lastmod>
    </url>
    <url>
      <loc>https://samsaffron.com/archive/2013/02/22/do-you-smoke-test</loc>
      <lastmod>2025-12-09</lastmod>
    </url>
    <url>
      <loc>https://samsaffron.com/archive/2012/09/29/mapping-is-not-a-cartographic-problem-it-is-a-search-problem</loc>
      <lastmod>2023-11-25</lastmod>
    </url>
    <url>
      <loc>https://samsaffron.com/archive/2012/07/12/miniprofiler-ruby-edition</loc>
      <lastmod>2025-12-09</lastmod>
    </url>
    <url>
      <loc>https://samsaffron.com/archive/2012/06/14/leaving-stack-exchange</loc>
      <lastmod>2025-12-09</lastmod>
    </url>
    <url>
      <loc>https://samsaffron.com/archive/2012/06/07/testing-3-million-hyperlinks-lessons-learned</loc>
      <lastmod>2025-12-09</lastmod>
    </url>
    <url>
      <loc>https://samsaffron.com/archive/2012/03/23/sam-s-ultimate-web-performance-tools-and-resources</loc>
      <lastmod>2025-12-09</lastmod>
    </url>
    <url>
      <loc>https://samsaffron.com/archive/2012/03/01/why-upgrading-your-linux-kernel-will-make-your-customers-much-happier</loc>
      <lastmod>2025-12-09</lastmod>
    </url>
    <url>
      <loc>https://samsaffron.com/archive/2012/02/22/miniprofiler-2-0-almost-out-of-the-gate</loc>
      <lastmod>2025-12-09</lastmod>
    </url>
    <url>
      <loc>https://samsaffron.com/archive/2012/02/17/stop-paying-your-jquery-tax</loc>
      <lastmod>2025-12-09</lastmod>
    </url>
    <url>
      <loc>https://samsaffron.com/archive/2012/01/16/that-annoying-insert-problem-getting-data-into-the-db-using-dapper</loc>
      <lastmod>2025-12-09</lastmod>
    </url>
    <url>
      <loc>https://samsaffron.com/archive/2011/10/28/in-managed-code-we-trust-our-recent-battles-with-the-net-garbage-collector</loc>
      <lastmod>2025-12-09</lastmod>
    </url>
    <url>
      <loc>https://samsaffron.com/archive/2011/10/13/optimising-asp-net-mvc3-routing</loc>
      <lastmod>2023-11-25</lastmod>
    </url>
    <url>
      <loc>https://samsaffron.com/archive/2011/10/04/Spam+bacon+sausage+and+blog+spam+a+JavaScript+approach</loc>
      <lastmod>2023-02-20</lastmod>
    </url>
    <url>
      <loc>https://samsaffron.com/archive/2011/09/08/Extending+the+ASP.NET+error+page+show+me+the+SQL+edition</loc>
      <lastmod>2023-02-20</lastmod>
    </url>
    <url>
      <loc>https://samsaffron.com/archive/2011/09/05/Digging+ourselves+out+of+the+mess+Linq-2-SQL+created</loc>
      <lastmod>2023-02-20</lastmod>
    </url>
    <url>
      <loc>https://samsaffron.com/archive/2011/08/16/Oh+view+where+are+thou+finding+views+in+ASPNET+MVC3+</loc>
      <lastmod>2025-12-09</lastmod>
    </url>
    <url>
      <loc>https://samsaffron.com/archive/2011/07/25/Automatically+instrumenting+an+MVC3+app</loc>
      <lastmod>2023-11-25</lastmod>
    </url>
    <url>
      <loc>https://samsaffron.com/archive/2011/06/09/+Profiling+your+website+like+a+true+Ninja</loc>
      <lastmod>2025-12-09</lastmod>
    </url>
    <url>
      <loc>https://samsaffron.com/archive/2011/05/02/A+day+in+the+life+of+a+slow+page+at+Stack+Overflow</loc>
      <lastmod>2025-12-09</lastmod>
    </url>
    <url>
      <loc>https://samsaffron.com/archive/2011/03/30/How+I+learned+to+stop+worrying+and+write+my+own+ORM</loc>
      <lastmod>2025-12-09</lastmod>
    </url>
    <url>
      <loc>https://samsaffron.com/archive/2010/08/05/Interesting+answers+on+Stack+Overflow+from+July</loc>
      <lastmod>2025-12-09</lastmod>
    </url>
    <url>
      <loc>https://samsaffron.com/archive/2009/11/11/Diagnosing+runaway+CPU+in+a+Net+production+application</loc>
      <lastmod>2025-12-09</lastmod>
    </url>
    <url>
      <loc>https://samsaffron.com/archive/2009/10/06/Got+Flare</loc>
      <lastmod>2025-12-09</lastmod>
    </url>
    <url>
      <loc>https://samsaffron.com/archive/2009/08/21/Behaviour+driven+design+using+rspec+IronRuby+and+C</loc>
      <lastmod>2025-12-09</lastmod>
    </url>
    <url>
      <loc>https://samsaffron.com/archive/2009/06/29/My+new+startup+Media+Browser</loc>
      <lastmod>2025-12-09</lastmod>
    </url>
    <url>
      <loc>https://samsaffron.com/archive/2009/06/24/Will+program+for+food+the+future+of+Media+Browser</loc>
      <lastmod>2013-10-11</lastmod>
    </url>
    <url>
      <loc>https://samsaffron.com/archive/2009/05/08/Media+Browser+the+next+version</loc>
      <lastmod>2019-02-22</lastmod>
    </url>
    <url>
      <loc>https://samsaffron.com/archive/2009/04/27/Media+Browser+source+code+license+changes</loc>
      <lastmod>2023-02-20</lastmod>
    </url>
    <url>
      <loc>https://samsaffron.com/archive/2009/03/25/Refactoring+media+browser+entity+resolution</loc>
      <lastmod>2019-02-22</lastmod>
    </url>
    <url>
      <loc>https://samsaffron.com/archive/2009/01/28/Simpler+debugging+of+Vista+Media+Center+plugins</loc>
      <lastmod>2019-02-22</lastmod>
    </url>
    <url>
      <loc>https://samsaffron.com/archive/2009/01/23/Slow+response-time+is+usabilities+alcholism</loc>
      <lastmod>2023-11-25</lastmod>
    </url>
    <url>
      <loc>https://samsaffron.com/archive/2009/01/02/My+server+just+died%2C+long+live+my+new+VPS</loc>
      <lastmod>2025-12-09</lastmod>
    </url>
    <url>
      <loc>https://samsaffron.com/archive/2008/08/27/Deadlocked+</loc>
      <lastmod>2025-12-09</lastmod>
    </url>
    <url>
      <loc>https://samsaffron.com/archive/2008/07/02/SSH+Jumphosts+tunneling+and+other+curiosities+</loc>
      <lastmod>2025-12-09</lastmod>
    </url>
    <url>
      <loc>https://samsaffron.com/archive/2008/06/06/video_browser_past_present_and_future</loc>
      <lastmod>2025-12-09</lastmod>
    </url>
    <url>
      <loc>https://samsaffron.com/archive/2008/03/29/Speed+up+your+feed+generation+in+rails</loc>
      <lastmod>2025-12-09</lastmod>
    </url>
    <url>
      <loc>https://samsaffron.com/archive/2008/03/15/You+should+be+very+careful+when+using+ActiveRecord+eager+loading</loc>
      <lastmod>2025-12-09</lastmod>
    </url>
    <url>
      <loc>https://samsaffron.com/archive/2008/03/03/I+fixed+up+Video+Browsers+sort+by+date</loc>
      <lastmod>2019-02-22</lastmod>
    </url>
    <url>
      <loc>https://samsaffron.com/archive/2008/02/10/Genre+and+runtime+sort+options+for+Video+Browser</loc>
      <lastmod>2023-02-20</lastmod>
    </url>
    <url>
      <loc>https://samsaffron.com/archive/2008/02/09/A+cleaner+way+to+iterate+through+Enumerable+lists+in+Prototype</loc>
      <lastmod>2025-12-09</lastmod>
    </url>
    <url>
      <loc>https://samsaffron.com/archive/2008/02/02/Redo+your+migrations+in+Rails+and+keep+your+data</loc>
      <lastmod>2023-02-20</lastmod>
    </url>
    <url>
      <loc>https://samsaffron.com/archive/2008/01/22/A+few+new+features+for+Video+Browser</loc>
      <lastmod>2019-02-22</lastmod>
    </url>
    <url>
      <loc>https://samsaffron.com/archive/2008/01/18/Getting+started+with+Ruby+On+Rails+on+Windows</loc>
      <lastmod>2025-12-30</lastmod>
    </url>
    <url>
      <loc>https://samsaffron.com/archive/2008/01/12/Why+the+hell+write+yet+another+blog+engine</loc>
      <lastmod>2025-12-09</lastmod>
    </url>
    <url>
      <loc>https://samsaffron.com/archive/2008/01/12/Hello+World</loc>
      <lastmod>2013-10-09</lastmod>
    </url>
    <url>
      <loc>https://samsaffron.com/blog/archive/2007/11/03/22.aspx</loc>
      <lastmod>2013-10-21</lastmod>
    </url>
    <url>
      <loc>https://samsaffron.com/blog/archive/2007/09/22/20.aspx</loc>
      <lastmod>2019-02-22</lastmod>
    </url>
    <url>
      <loc>https://samsaffron.com/blog/archive/2007/09/22/19.aspx</loc>
      <lastmod>2019-02-22</lastmod>
    </url>
    <url>
      <loc>https://samsaffron.com/blog/archive/2007/08/06/16.aspx</loc>
      <lastmod>2023-02-19</lastmod>
    </url>
    <url>
      <loc>https://samsaffron.com/blog/archive/2007/04/04/14.aspx</loc>
      <lastmod>2023-02-19</lastmod>
    </url>
    <url>
      <loc>https://samsaffron.com/blog/archive/2007/03/12/13.aspx</loc>
      <lastmod>2013-10-09</lastmod>
    </url>
    <url>
      <loc>https://samsaffron.com/blog/archive/2007/02/21/11.aspx</loc>
      <lastmod>2013-10-11</lastmod>
    </url>
    <url>
      <loc>https://samsaffron.com/blog/archive/2007/02/20/10.aspx</loc>
      <lastmod>2019-02-22</lastmod>
    </url>
    <url>
      <loc>https://samsaffron.com/blog/archive/2007/02/16/7.aspx</loc>
      <lastmod>2025-12-09</lastmod>
    </url>
</urlset>
