<rss version="2.0">
    <channel>
        <title>Down with the friction</title>
        <link>http://cbarrete.com</link>

        <item>
            <title>One sentence per line</title>
            <link>http://cbarrete.com/one-sentence-per-line.html</link>
            <pubDate>18 Jan 2026</pubDate>
            <description>Advocating for writing one sentence per line in text files</description>
        </item>
        <item>
            <title>Recommendation: <code>to_string()</code> vs <code>to_owned()</code> for string literals (Rust)</title>
            <link>http://cbarrete.com/coffee.html</link>
            <pubDate>20 Dec 2025</pubDate>
            <description>This comment from <a href="https://github.com/dtolnay">dtolnay</a> convinced me of using <code>to_owned()</code> on string literals years ago. I have been using it and sending this link to collaborators since then.</description>
        </item>
        <item>
            <title>Yes, I will have coffee with you</title>
            <link>http://cbarrete.com/coffee.html</link>
            <pubDate>02 Nov 2025</pubDate>
            <description>Hit me up for coffee in NYC!</description>
        </item>
        <item>
            <title>Recommendation: Tremily - RPATH, RUNPATH, and dynamic linking</title>
            <link>https://blog.tremily.us/posts/rpath/</link>
            <pubDate>19 Oct 2025</pubDate>
            <description>A short article about the differences between <code>RPATH</code> and <code>RUNPATH</code>, most importantly the fact that <code>RPATH</code> overrides <code>LD_LIBRARY_PATH</code>, but <code>RUNPATH</code> does not.</description>
        </item>
        <item>
            <title>Recommendation: Matt Stuchlik - Counting Bytes Faster Than You'd Think Possible</title>
            <link>https://blog.mattstuchlik.com/2024/07/21/fastest-memory-read.html</link>
            <pubDate>19 Oct 2025</pubDate>
            <description>An interesting short article on speeding up memory-bound programs using interleaved memory accesses.</description>
        </item>
        <item>
            <title>Bit tricks</title>
            <link>http://cbarrete.com/bit-tricks.html</link>
            <pubDate>19 Oct 2025</pubDate>
            <description>Some bit-twiddling tricks, I might add some more in the future</description>
        </item>
        <item>
            <title>A simple <code>.clang-format</code></title>
            <link>http://cbarrete.com/clang-format.html</link>
            <pubDate>18 Jan 2025</pubDate>
            <description>Just posting my <code>.clang-format</code></description>
        </item>
        <item>
            <title>Recommendation: Our Machinery - Virtual Memory Tricks</title>
            <link>https://web.archive.org/web/20211214180302/https://ourmachinery.com/post/virtual-memory-tricks/</link>
            <pubDate>14 Jan 2025</pubDate>
            <description>A great collection of tricks related to taking advantage of virtual memory on modern operating systems. I have previously talked about similar things in <a href="infinite-memory.html">Working with infinite memory</a> and planned on covering more of those tricks myself, but this is a good resource in the meantime!</description>
        </item>
        <item>
            <title>Lots of added recommendations!</title>
            <link>http://cbarrete.com/recommendations.html</link>
            <pubDate>05 Jan 2025</pubDate>
            <description>I've added a bunch of links to my recommended reads. Check them out!</description>
        </item>
        <item>
            <title>A different memory pool in Rust</title>
            <link>http://cbarrete.com/pool.html</link>
            <pubDate>16 Jun 2024</pubDate>
            <description>Let's design a surprisingly unique yet simple toy memory pool in Rust</description>
        </item>
        <item>
            <title>Multicast</title>
            <link>http://cbarrete.com/multicast.html</link>
            <pubDate>08 Jun 2024</pubDate>
            <description>Some notes about multicast</description>
        </item>
        <item>
            <title>Build systems and package management in 2024</title>
            <link>http://cbarrete.com/package-management-for-builds.html</link>
            <pubDate>23 May 2024</pubDate>
            <description>An overview of the state of the art regarding integrating package managers in modern build systems</description>
        </item>
        <item>
            <title>How to start using Nix: building packages and Home Manager</title>
            <link>http://cbarrete.com/how-to-start-using-nix.html</link>
            <pubDate>03 Jul 2023</pubDate>
            <description>I've updated my "How to start using Nix" series to cover building packages and installing/configuring packages via Home Manager</description>
        </item>
        <item>
            <title>Recommendation: Matthew Croughan - What Nix Can Do (Docker Can't)</title>
            <link>https://www.youtube.com/watch?v=6Le0IbPRzOE</link>
            <pubDate>22 Apr 2023</pubDate>
            <description>
                I might at some point write a concise list of reasons to consider using Nix, but in the meantime this presentation from Matthew Croughan brilliantly showcases some of the most useful and impressive features of Nix
            </description>
        </item>
        <item>
            <title>How to start using Nix: development shells and garbage collection</title>
            <link>http://cbarrete.com/how-to-start-using-nix.html</link>
            <pubDate>22 Apr 2023</pubDate>
            <description>I've updated my "How to start using Nix" series to cover development shells, garbage collection and store optimisation</description>
        </item>
        <item>
            <title>How to start using Nix</title>
            <link>http://cbarrete.com/how-to-start-using-nix.html</link>
            <pubDate>16 Apr 2023</pubDate>
            <description>An opinionated series about how to get started with Nix</description>
        </item>
        <item>
            <title>Working with infinite memory</title>
            <link>http://cbarrete.com/infinite-memory.html</link>
            <pubDate>05 Nov 2022</pubDate>
            <description>Some tricks based on huge virtual memory allocations</description>
        </item>
        <item>
            <title>Just how slow are slow languages?</title>
            <link>http://cbarrete.com/slow-langs.html</link>
            <pubDate>10 Jul 2022</pubDate>
            <description>Benchmarking production languages against a terrible compiler</description>
        </item>
        <item>
            <title>Pointers as files</title>
            <link>http://cbarrete.com/pointers-as-files.html</link>
            <pubDate>27 Mar 2022</pubDate>
            <description>Proposing an analogy for teaching what pointers are and how they work</description>
        </item>
        <item>
            <title>Trying out Colemak</title>
            <link>http://cbarrete.com/colemak.html</link>
            <pubDate>26 Mar 2022</pubDate>
            <description>Notes on my experience trying the Colemak keyboard layout</description>
        </item>
        <item>
            <title>Removing Maildir folders client-side using <code>mbsync</code></title>
            <link>http://cbarrete.com/remove-folder-mbsync.html</link>
            <pubDate>26 Mar 2022</pubDate>
            <description>Notes on how to delete Maildir folders client-side using <code>mbsync</code></description>
        </item>
        <item>
            <title>John Carmack on inlined code and functional programming</title>
            <link>http://cbarrete.com/carmack.html</link>
            <pubDate>26 Mar 2022</pubDate>
            <description>Lightly edited backups of insightful writings from John Carmack</description>
        </item>
        <item>
            <title>C++ move semantics from scratch</title>
            <link>http://cbarrete.com/move-from-scratch.html</link>
            <pubDate>14 Jan 2022</pubDate>
            <description>A pseudo-historical overview of C++ move semantics, building them up from scratch, without fluff or magic</description>
        </item>
        <item>
            <title>Identifying abstraction</title>
            <link>https://cbarrete.com/abstraction.html</link>
            <pubDate>07 Jan 2022</pubDate>
            <description>An exploration of the concept of abstraction, trying to identify where it makes sense to leak details</description>
        </item>
        <item>
            <title>Recommendation: Practical DOD</title>
            <link>https://vimeo.com/649009599?owner=45836359</link>
            <pubDate>27 Dec 2021</pubDate>
            <description>Great talk from Zig's Andrew Kelly about practical tips for getting into Data Oriented Design.</description>
        </item>
        <item>
            <title>Recommendation: Roc Lang</title>
            <link>https://vimeo.com/653510682?owner=45836359</link>
            <pubDate>28 Dec 2021</pubDate>
            <description>
                &lt;p&gt;Lately I've been thinking about how most
                modern systems languages like Rust have been trying to become more
                approachable. In particular, I have seen many people move away from
                Javascript/Go to Rust for performance and type safety reasons. It
                strikes me as odd that such people would reach for that low-level a
                language. Why would you use a language designed to offer great
                control over your hardware (control which comes at a cost), if all
                you wanted was performance? Instead, it seems to me that a
                compiled, optimized, performance-focused language could fit
                their needs much better.&lt;/p&gt;
                &lt;p&gt;Richard Feldman introduces Roc, a functional language
                with that goal in mind: writing performant, high-level code at
                the expense of low-level control. This is an interesting talk
                given at Handmade Seattle which articulates some of the
                thoughts that I've been having lately.&lt;/p&gt;
                &lt;p&gt;I've never looked closely at Roc and don't care about
                pure functional languages so I can't comment on it, but I
                recommend the talk to anyone who would be interested in fresh
                ideas about what future high-level yet performant languages
                might look like.&lt;/p&gt;
            </description>
        </item>
        <item>
            <title>Additions to "Why I don't love Rust (either)"</title>
            <link>http://cbarrete.com/rust-bad.html</link>
            <pubDate>27 Dec 2021</pubDate>
            <description>I've added sections about my issues with compile-time evaluation and low-level obfuscation to the original article.</description>
        </item>
        <item>
            <title>Recommendation: The story of ispc</title>
            <link>https://pharr.org/matt/blog/2018/04/18/ispc-origins</link>
            <pubDate>27 Dec 2021</pubDate>
            <description>I suggest anyone interested in SIMD/SPMD and auto-vectorization to read Matt Pharr's excellent series about the story of ispc</description>
        </item>
        <item>
            <title>Take back control over your contacts and calendars</title>
            <link>http://cbarrete.com/caldav-carddav.html</link>
            <pubDate>22 Dec 2021</pubDate>
            <description>Quick tutorial on self-hosting a calendars and contacts server</description>
        </item>
        <item>
            <title>ClangFormat your JAVA CODE?</title>
            <link>http://cbarrete.com/clang-format-languages.html</link>
            <pubDate>6 Dec 2021</pubDate>
            <description>PSA: you can format more than just C/C++ with ClangFormat</description>
        </item>
        <item>
            <title>Sharing expenses with ledger</title>
            <link>http://cbarrete.com/shared-ledger.html</link>
            <pubDate>6 Dec 2021</pubDate>
            <description>Ideas about how to deal with shared expenses with someone when using ledger</description>
        </item>
        <item>
            <title>Why you should consider using RSS</title>
            <link>http://cbarrete.com/rss-good.html</link>
            <pubDate>6 Dec 2021</pubDate>
            <description>My arguing for a more widespread use of RSS feeds (I know, ironic that you're reading this in an RSS reader)</description>
        </item>
        <item>
            <title>Why I don't love Rust (either)</title>
            <link>http://cbarrete.com/rust-bad.html</link>
            <pubDate>14 Nov 2021</pubDate>
            <description>No, I don't love Rust: some of my gripes with my go-to languages</description>
        </item>
        <item>
            <title>Easy key bindings in Bash</title>
            <link>http://cbarrete.com/bind.html</link>
            <pubDate>11 Jun 2021</pubDate>
            <description>Making easy key bindings in Bash</description>
        </item>
        <item>
            <title>Persistent key repeat under X</title>
            <link>http://cbarrete.com/repeat.html</link>
            <pubDate>16 May 2021</pubDate>
            <description>Making key repeat under X more robust</description>
        </item>
        <item>
            <title>On the advantages of off-line audio processing</title>
            <link>http://cbarrete.com/offline.html</link>
            <pubDate>23 Jan 2021</pubDate>
            <description>Overview of some advantages of off-line vs real-time audio processing</description>
        </item>
        <item>
            <title>Packaging your setup on Debian</title>
            <link>http://cbarrete.com/deb.html</link>
            <pubDate>25 Oct 2020</pubDate>
            <description>Bite sized tutorial on how to install all of your favorite software at once on Debian</description>
        </item>
        <item>
            <title>Native Vim plugin management</title>
            <link>http://cbarrete.com/pack.html</link>
            <pubDate>06 Oct 2020</pubDate>
            <description>Short introduction to managing Vim plugins without a third party manager</description>
        </item>
        <item>
            <title>More stuff that rocks</title>
            <link>http://cbarrete.com/rocks.html</link>
            <pubDate>05 Oct 2020</pubDate>
            <description>I've added fzf and Neovim to the list of stuff the rocks</description>
        </item>
        <item>
            <title>Stuff that rocks</title>
            <link>http://cbarrete.com/rocks.html</link>
            <pubDate>20 Sep 2020</pubDate>
            <description>List of friction-free software that I recommend using</description>
        </item>
        <item>
            <title>Why Neovim over Vim</title>
            <link>http://cbarrete.com/neovim.html</link>
            <pubDate>12 Sep 2020</pubDate>
            <description>My main reasons for using Neovim over Vim</description>
        </item>
        <item>
            <title>Keyboard buying checklist</title>
            <link>http://cbarrete.com/keyboard.html</link>
            <pubDate>05 Aug 2020</pubDate>
            <description>List of features to consider before asking me about which keyboard to buy</description>
        </item>
        <item>
            <title>Getting Vim to shut up</title>
            <link>http://cbarrete.com/quiet-vim.html</link>
            <pubDate>18 Jul 2020</pubDate>
            <description>Presenting a few options that make Vim a little quieter</description>
        </item>
        <item>
            <title>About theming document websites</title>
            <link>http://cbarrete.com/theming.html</link>
            <pubDate>12 Jul 2020</pubDate>
            <description>Thoughts about the modern Web's support for browsing document</description>
        </item>
        <item>
            <title>Efficient file management with <code>lf</code></title>
            <link>http://cbarrete.com/lf.html</link>
            <pubDate>25 May 2020</pubDate>
            <description>Notes on how to configure and use <code>lf</code>, including integration with <code>fzf</code> and <code>dragcli</code></description>
        </item>
        <item>
            <title>Swapping the Control and Caps Lock keys</title>
            <link>http://cbarrete.com/swap.html</link>
            <pubDate>25 May 2020</pubDate>
            <description>Notes on how to swap Control and Caps Lock and why it is beneficial</description>
        </item>
        <item>
            <title>Fuzzy <code>pass</code> completion in <code>bash</code></title>
            <link>http://cbarrete.com/pass-completion.html</link>
            <pubDate>24 May 2020</pubDate>
            <description>Fuzzy <code>pass</code> completion in <code>bash</code> using <code>fzf</code></description>
        </item>
        <item>
            <title>A better drag and drop workflow</title>
            <link>http://cbarrete.com/dragcli.html</link>
            <pubDate>24 May 2020</pubDate>
            <description>Efficient/comfortable workflow for drag and drop</description>
        </item>
        <item>
            <title>The state of rolling release Linux distributions</title>
            <link>http://cbarrete.com/rolling.html</link>
            <pubDate>25 Apr 2020</pubDate>
            <description>Rant on the state of rolling release Linux distributions and how terrible Arch Linux is</description>
        </item>
        <item>
            <title>Working with LaTeX</title>
            <link>http://cbarrete.com/latex.html</link>
            <pubDate>06 Apr 2020</pubDate>
            <description>Notes on easily compiling and cleaning LaTeX documents</description>
        </item>
        <item>
            <title>Configuring vim for ledger</title>
            <link>http://cbarrete.com/ledger.html</link>
            <pubDate>03 Mar 2020</pubDate>
            <description>Notes on configuring vim to easily manipulate ledger journals</description>
        </item>
    </channel>
</rss>
