<?xml version="1.0" encoding="utf-8"?><rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/"><channel><title>Jeff Bailey | Practice</title><link>https://jeffbailey.us/categories/practice/</link><description>This website contains learning resources, opinions, and facts about software-related technology.</description><language>en</language><generator>Hugo</generator><atom:link href="https://jeffbailey.us/categories/practice/rss.xml" rel="self" type="application/rss+xml"/><lastBuildDate>Sun, 27 Sep 2026 00:00:00 +0000</lastBuildDate><item><title>Learn Tmux: Sessions, Windows, Panes, and a Command Reference</title><link>https://jeffbailey.us/blog/2026/09/27/learn-tmux/</link><guid isPermaLink="true">https://jeffbailey.us/blog/2026/09/27/learn-tmux/</guid><pubDate>Sun, 27 Sep 2026 00:00:00 +0000</pubDate><dc:creator>Jeff Bailey</dc:creator><category>Learn X</category><category>Development</category><category>Practice</category><description><![CDATA[<p>You&rsquo;re three commands into a deploy over ssh when the Wi-Fi drops, and the shell dies with it. Or you juggle six terminal tabs and lose track of which one runs the dev server. tmux fixes both: it keeps your shells running on their own, lets you split one terminal into many, and lets you walk away and come back to exactly where you left off.</p>
<p>This guide covers the 20% of tmux that does 80% of the work: sessions, windows, panes, the prefix key, and a small configuration file. A searchable command reference and a curated set of videos, podcasts, books, and online resources close the article.</p>]]></description></item><item><title>Learn Neovim: Practice in Your Browser, Then Set Up Plugins</title><link>https://jeffbailey.us/blog/2025/06/07/learn-neovim/</link><guid isPermaLink="true">https://jeffbailey.us/blog/2025/06/07/learn-neovim/</guid><pubDate>Sat, 07 Jun 2025 00:00:00 +0000</pubDate><dc:creator>Jeff Bailey</dc:creator><category>Learn X</category><category>Development</category><category>Command Line</category><category>Practice</category><description><![CDATA[<p>You open a file in Neovim, press a key to start typing, and a line disappears instead. Modal editing feels hostile for the first hour and fast for years after that. The way through that first hour is practice, and this guide puts real Neovim in your browser so you can start before you install anything.</p>
<p>Install Neovim, try the commands in the <a href="#practice-neovim">practice editor</a>, then learn how modes, configuration, and plugins fit together. A searchable command reference closes the article.</p>]]></description></item><item><title>jq Cookbook: Practical jq Use Cases and Examples for Parsing JSON</title><link>https://jeffbailey.us/blog/2021/11/30/learn-jq/</link><guid isPermaLink="true">https://jeffbailey.us/blog/2021/11/30/learn-jq/</guid><pubDate>Wed, 01 Dec 2021 00:00:00 +0000</pubDate><dc:creator>Jeff Bailey</dc:creator><category>Learn X</category><category>Command Line</category><category>Developer Tools</category><category>Practice</category><description><![CDATA[<p>An API hands you 4,000 lines of JSON and you need three fields from it. Scrolling works once. The second time, reach for jq.</p>
<p>This jq cookbook collects the filters you&rsquo;ll use most, grouped by task. Every example runs against the same small sample file, and every output shown came from running the command with jq 1.8.2. Copy a recipe, swap in your own field names, and move on.</p>
<h2 id="what-youll-learn">What You&rsquo;ll Learn</h2>
<ul>
<li>When to reach for jq, and when another tool fits better.</li>
<li>How jq filters and pipes work, so you can read any recipe.</li>
<li>How to pull values, filter arrays with <code>select</code>, and handle missing keys.</li>
<li>How to reshape objects, rename fields, and update values.</li>
<li>How to count, sum, group, and sort.</li>
<li>How to turn JSON into CSV, TSV, or plain text for other tools.</li>
<li>How to pass shell variables into jq and use jq in scripts.</li>
<li>How to apply all of it to real output from the GitHub API, kubectl, and the AWS CLI.</li>
</ul>
<h2 id="when-to-use-jq">When to Use jq</h2>
<p>jq earns its place when JSON stands between you and an answer. These use cases cover the jobs it handles best:</p>]]></description></item></channel></rss>