<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>linux &#8211; Benjamin Caccia</title>
	<atom:link href="https://bcacciaaudio.com/tag/linux/feed/" rel="self" type="application/rss+xml" />
	<link>https://bcacciaaudio.com</link>
	<description>Sound design, audio, and Linux tutorials</description>
	<lastBuildDate>Thu, 26 Aug 2021 15:44:45 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.8.3</generator>

<image>
	<url>https://bcacciaaudio.com/wp-content/uploads/2014/07/cropped-Music-audio-wave-2-icon1-1-32x32.png</url>
	<title>linux &#8211; Benjamin Caccia</title>
	<link>https://bcacciaaudio.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Raspberry Pi 4 Music Cyberdeck</title>
		<link>https://bcacciaaudio.com/2021/08/26/raspberry-pi-4-music-cyberdeck/</link>
		
		<dc:creator><![CDATA[Ben]]></dc:creator>
		<pubDate>Thu, 26 Aug 2021 15:30:35 +0000</pubDate>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Music]]></category>
		<category><![CDATA[cyberdeck]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[MODEP]]></category>
		<category><![CDATA[sunvox]]></category>
		<guid isPermaLink="false">https://bcacciaaudio.com/?p=903</guid>

					<description><![CDATA[Why? There were a couple of motivations and use cases for putting this together. Needed [&#8230;]]]></description>
										<content:encoded><![CDATA[
<figure class="wp-block-gallery columns-3 is-cropped wp-block-gallery-1 is-layout-flex wp-block-gallery-is-layout-flex"><ul class="blocks-gallery-grid"><li class="blocks-gallery-item"><figure><a href="https://bcacciaaudio.com/wp-content/uploads/2021/06/CyberdeckFront-scaled.jpg"><img fetchpriority="high" decoding="async" width="1024" height="768" src="https://bcacciaaudio.com/wp-content/uploads/2021/06/CyberdeckFront-1024x768.jpg" alt="" data-id="907" data-full-url="https://bcacciaaudio.com/wp-content/uploads/2021/06/CyberdeckFront-scaled.jpg" data-link="https://bcacciaaudio.com/cyberdeckfront/" class="wp-image-907" srcset="https://bcacciaaudio.com/wp-content/uploads/2021/06/CyberdeckFront-1024x768.jpg 1024w, https://bcacciaaudio.com/wp-content/uploads/2021/06/CyberdeckFront-300x225.jpg 300w, https://bcacciaaudio.com/wp-content/uploads/2021/06/CyberdeckFront-768x576.jpg 768w, https://bcacciaaudio.com/wp-content/uploads/2021/06/CyberdeckFront-1536x1152.jpg 1536w, https://bcacciaaudio.com/wp-content/uploads/2021/06/CyberdeckFront-2048x1536.jpg 2048w" sizes="(max-width: 1024px) 100vw, 1024px" /></a></figure></li><li class="blocks-gallery-item"><figure><a href="https://bcacciaaudio.com/wp-content/uploads/2021/06/CyberdeckSide-scaled.jpg"><img decoding="async" width="1024" height="768" src="https://bcacciaaudio.com/wp-content/uploads/2021/06/CyberdeckSide-1024x768.jpg" alt="" data-id="906" data-full-url="https://bcacciaaudio.com/wp-content/uploads/2021/06/CyberdeckSide-scaled.jpg" data-link="https://bcacciaaudio.com/cyberdeckside/" class="wp-image-906" srcset="https://bcacciaaudio.com/wp-content/uploads/2021/06/CyberdeckSide-1024x768.jpg 1024w, https://bcacciaaudio.com/wp-content/uploads/2021/06/CyberdeckSide-300x225.jpg 300w, https://bcacciaaudio.com/wp-content/uploads/2021/06/CyberdeckSide-768x576.jpg 768w, https://bcacciaaudio.com/wp-content/uploads/2021/06/CyberdeckSide-1536x1152.jpg 1536w" sizes="(max-width: 1024px) 100vw, 1024px" /></a></figure></li><li class="blocks-gallery-item"><figure><a href="https://bcacciaaudio.com/wp-content/uploads/2021/06/CyberdeckBack-scaled.jpg"><img decoding="async" width="1024" height="768" src="https://bcacciaaudio.com/wp-content/uploads/2021/06/CyberdeckBack-1024x768.jpg" alt="" data-id="905" data-full-url="https://bcacciaaudio.com/wp-content/uploads/2021/06/CyberdeckBack-scaled.jpg" data-link="https://bcacciaaudio.com/cyberdeckback/" class="wp-image-905" srcset="https://bcacciaaudio.com/wp-content/uploads/2021/06/CyberdeckBack-1024x768.jpg 1024w, https://bcacciaaudio.com/wp-content/uploads/2021/06/CyberdeckBack-300x225.jpg 300w, https://bcacciaaudio.com/wp-content/uploads/2021/06/CyberdeckBack-768x576.jpg 768w, https://bcacciaaudio.com/wp-content/uploads/2021/06/CyberdeckBack-1536x1152.jpg 1536w" sizes="(max-width: 1024px) 100vw, 1024px" /></a></figure></li></ul></figure>



<h2 class="wp-block-heading">Why?</h2>



<p>There were a couple of motivations and use cases for putting this together.</p>



<ul class="wp-block-list"><li>Needed a better way of triggering backing track playback when performing with my band <a href="https://www.bigtimekill.com/">Big Time Kill</a></li><li>Wanted a compact but powerful synth that could be used for performances or jamming</li><li>Stand alone guitar pedal board/amp modeling</li><li>Something that felt like a stand-alone piece of production hardware</li></ul>



<h2 class="wp-block-heading">But an iPad can do all of this</h2>



<p>Yes, it can do all of this and has a very rich audio production ecosystem. However:</p>



<ul class="wp-block-list"><li>An iPad is more expensive</li><li>I like to tinker and build things</li><li>I wanted it to look cool</li><li>There are lots of USB ports and GPIO pins which allow me to add more MIDI interfaces or maybe even trigger some lights (via GPIO)</li></ul>



<h2 class="wp-block-heading">Did you just super glued/velcro off the shelf parts together?</h2>



<p>Yes.</p>



<h2 class="wp-block-heading">What does it do?</h2>



<p>Here are some video examples. A lot of these were filmed before the whole unit was built so just the core and the software are featured in many of these. </p>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe loading="lazy" title="Musical Cyberdeck" width="640" height="360" src="https://www.youtube.com/embed/videoseries?list=PLV5huCqz1xvlbU3v1dZE8POA1Lz2q5HLZ" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div></figure>



<h2 class="wp-block-heading">Parts BOM</h2>



<p>Note that some items are no longer available or the prices have changed. I&#8217;ve listed the prices I paid for particular items at the time of purchase.</p>



<figure class="wp-block-table"><table><tbody><tr><td>Item</td><td>Price</td></tr><tr><td><a href="https://www.pishop.us/product/raspberry-pi-4-model-b-2gb/">Raspberry Pi 4 Model B &#8211; 2 GB RAM</a></td><td>$35</td></tr><tr><td>Official Raspberry Pi Power Supply 5.1V 3A (can be added via checkbox when purchasing the Pi)</td><td>$7.95</td></tr><tr><td><a href="https://www.amazon.com/gp/product/B0153R2A9I?psc=1">Raspberry Pi Official 7 Inch Touch Screen for Raspberry Pi 4</a></td><td>$68.99</td></tr><tr><td><a href="https://www.amazon.com/gp/product/B081VT2CPW?psc=1">NeeGo Raspberry Pi 4 Screen Case</a></td><td>$24.99</td></tr><tr><td>Presonus Audiobox 2&#215;2 (off of Reverb.com)</td><td>$70.00</td></tr><tr><td><a href="https://www.amazon.com/gp/product/B07FCMBLV6?psc=1">SanDisk 64 GB Micro SD Card</a></td><td>$14.79</td></tr><tr><td><a href="https://www.amazon.com/gp/product/B07P96JN11?psc=1">Charmast 26800 Power Bank</a></td><td>$42.99</td></tr><tr><td><a href="https://www.amazon.com/gp/product/B00EYNLXRI?psc=1">Tablet Stand</a></td><td>$14.38</td></tr><tr><td><a href="https://www.amazon.com/gp/product/B07FFLNF5C?psc=1">Mechanical Number Pad</a></td><td>$16.99</td></tr><tr><td><a href="https://www.amazon.com/gp/product/B07Z3Q417K?psc=1">Geekworm Embeded Heatsink with Fan</a></td><td>$9.99</td></tr></tbody></table></figure>



<h2 class="wp-block-heading">Software</h2>



<p><a href="https://blokas.io/patchbox-os/">Patchbox OS</a> was used as the operating system. It comes out of the box optimized for low-latency audio playback.</p>



<p><a href="https://blokas.io/modep/">MODEP</a> comes installed with Patchbox OS and is a community-based MOD DUO emulator.</p>



<p><a href="https://warmplace.ru/soft/sunvox/">SunVox</a> is a modular music tracker that allows me to design synthesizers, produce full tracks, or process incoming audio signals.</p>



<p>In order to run SunVox properly on the Pi you will need to install SDL by running:</p>



<pre class="wp-block-code"><code>sudo apt install libsdl2-2.0-0 libsdl2-dev</code></pre>



<p>At this point it will run but the UI will have terrible FPS. To <a href="https://www.warmplace.ru/forum/viewtopic.php?f=16&amp;t=4454">resolve this</a> edit <code>~/.config/SunVox/sunvox_config.ini</code> and add the <code>softrender</code> option to the file. </p>



<h2 class="wp-block-heading">Design</h2>



<p>The form factor was inspired and derived from the aesthetics of cyberdecks. <a href="https://cyberdeck.cafe/">Cyberdeck.cafe</a> and the <a href="https://www.reddit.com/r/cyberDeck/">cyberdeck subreddit</a> served as sources of inspiration.</p>



<p>The first step was to order all the parts. Once they arrived everything was assembled and tested. After verifying it worked I began taking measurements of the overall footprint of the gear to determine the size base needed. It ended up being <strong>12 x 16</strong> inches. A couple cardboard mock ups were made and I played with using an elevated shelf design to keep the overall footprint smaller.</p>



<p>Once I was happy with the cardboard mockup I went to work creating a base in <a href="https://www.tinkercad.com/">Tinkercad</a>. This is an easy to use free 3d modeling tool that outputs to the .stl file format used for 3d printing. The base design was slatted to reduce the overall weight/material required and had a gap area where peripherals/batteries could be placed.</p>



<figure class="wp-block-image size-large"><a href="https://bcacciaaudio.com/wp-content/uploads/2021/06/BaseDesignMockup.png"><img loading="lazy" decoding="async" width="928" height="571" src="https://bcacciaaudio.com/wp-content/uploads/2021/06/BaseDesignMockup.png" alt="" class="wp-image-917" srcset="https://bcacciaaudio.com/wp-content/uploads/2021/06/BaseDesignMockup.png 928w, https://bcacciaaudio.com/wp-content/uploads/2021/06/BaseDesignMockup-300x185.png 300w, https://bcacciaaudio.com/wp-content/uploads/2021/06/BaseDesignMockup-768x473.png 768w" sizes="auto, (max-width: 928px) 100vw, 928px" /></a></figure>



<p>And below is a mock up of what the hardware was going to look like mounted on top of the base.</p>



<figure class="wp-block-image size-large"><a href="https://bcacciaaudio.com/wp-content/uploads/2021/06/DesignMockup.png"><img loading="lazy" decoding="async" width="1013" height="665" src="https://bcacciaaudio.com/wp-content/uploads/2021/06/DesignMockup.png" alt="" class="wp-image-918" srcset="https://bcacciaaudio.com/wp-content/uploads/2021/06/DesignMockup.png 1013w, https://bcacciaaudio.com/wp-content/uploads/2021/06/DesignMockup-300x197.png 300w, https://bcacciaaudio.com/wp-content/uploads/2021/06/DesignMockup-768x504.png 768w" sizes="auto, (max-width: 1013px) 100vw, 1013px" /></a></figure>



<p>After sending the above files off to a co worker that has a 3d printer it was determined the design was going to be a pain to print due to it&#8217;s size. Additionally, it probably wasn&#8217;t going to be sturdy enough. They modified the design to be solid instead of slatted and sliced it into smaller pieces for easier printing. The print medium used was ABS plastic. All I had to do was glue the pieces together with some super glue. The actual hardware was fastened to the base using 3M Dual Lock Velcro. </p>



<h2 class="wp-block-heading">Numpad mapping</h2>



<p>SunVox has very robust touch controls. That being said I wanted some physical buttons.</p>



<ul class="wp-block-list"><li>Quickly access commonly used functions that are buried in the hamburger menu</li><li>Tactile clicky buttons feel nice</li></ul>



<figure class="wp-block-image size-full"><a href="https://bcacciaaudio.com/wp-content/uploads/2021/08/MusicCyberdeckNumpadMapping.jpg"><img loading="lazy" decoding="async" width="427" height="710" src="https://bcacciaaudio.com/wp-content/uploads/2021/08/MusicCyberdeckNumpadMapping.jpg" alt="" class="wp-image-938" srcset="https://bcacciaaudio.com/wp-content/uploads/2021/08/MusicCyberdeckNumpadMapping.jpg 427w, https://bcacciaaudio.com/wp-content/uploads/2021/08/MusicCyberdeckNumpadMapping-180x300.jpg 180w" sizes="auto, (max-width: 427px) 100vw, 427px" /></a></figure>



<h2 class="wp-block-heading">Battery life and thermals</h2>



<p>The Pi 4 draws much more power than previous generations. I used the information in <a href="https://raspi.tv/2019/how-much-power-does-the-pi4b-use-power-measurements">this</a> helpful comparison of the power draw for all the different models to get a ballpark estimate of what would be required by the build. The 7 inch display has a constant power draw at max brightness so that was easy. This allowed me to get the following values:</p>



<figure class="wp-block-table"><table><tbody><tr><td>Component</td><td>Idle (mA)</td><td>Peak (mA)</td></tr><tr><td>Raspberry Pi 4</td><td>575</td><td>885</td></tr><tr><td>7in Pi Display</td><td>460</td><td>460</td></tr></tbody></table></figure>



<p>The other peripherals (MIDI keyboard, number pad, audio interface) didn&#8217;t have their power draw published anywhere. With everything hooked up while on the official power supply it ran without issue. The results when using a cheap battery bank that could output a max of 2.1A were interesting. Not only was the lightning bolt icon displayed in the top right hand corner of the screen displayed, but the Pi CPU was throttled heavily due to the deficient amperage being received. I conducted a battery drain test and got the following results.</p>



<ul class="wp-block-list"><li>Large MODEP patch loaded</li><li>Large SunVox session playing back on a loop</li><li>Wifi enabled, Bluetooth disabled</li><li>Screen at full brightness</li></ul>



<figure class="wp-block-table"><table><tbody><tr><td>Battery bank capacity: 4400maH</td></tr><tr><td>2.1A max output</td></tr><tr><td>Total Run Time: 2h, 38 min</td></tr></tbody></table></figure>



<p>Another factor to consider is that the USB-C cable being used with the power bank must also be rated to carry 3A. Many are not. A lot of the ones that claim to handle it in their specs actually don&#8217;t.  Thankfully the Charmast supply I found provides a cable that can handle the 3A output by the bank. I ran some load testing by hooking up all the peripherals and running a large MODEP/SunVox session. Everything ran fine with no lightning bolt or CPU throttling. I also lowered the overall display brightness from 100% to 70%. This not only increases the run time of the unit but also prevents me from being blinded by the display in a dark venue. This is done by running the following command where <code>n</code> is a value between 0-255:</p>



<pre class="wp-block-code"><code>echo n &gt; /sys/class/backlight/rpi_backlight/brightness</code></pre>



<p>By extrapolating from my above battery drain test I can estimate that the unit can achieve a run time of at least 16 hours, though I&#8217;ve yet to actually do a full drain.</p>



<p>he MODEP/SunVox stress tests were run again and the temperature checked via the command line using:</p>



<pre class="wp-block-code"><code>/opt/vc/bin/vcgencmd measure_temp</code></pre>



<p>The above outputs the temperature as Celsius. This test was conducted indoors with an ambient temperature of around 65F/18C. In this environment when under load I am seeing an average temperature of 75C. The Pi 4B will begin throttling due to <a href="https://raspberrypi.stackexchange.com/questions/114462/how-much-temperature-is-normal-temperature-for-raspberry-pi-4">temperature at 80C</a>. </p>



<p>To give the unit more thermal headroom (in case I play some outdoor summer shows or in an especially hot venue) I ordered and installed a <a href="https://www.amazon.com/gp/product/B07Z3Q417K?psc=1">low profile heat sink with fan</a>.  It fit within the NeeGo case with plenty of leftover headroom. The fan just about lines up with the cutout logo on the back plate which allows air to pass through freely. The only difficulty that I ran into was that the plastic power plug for the fan was quite large and wouldn&#8217;t fit comfortable next to the other connections on the GPIO pins for the screen. This was resolved by snipping off the plug and soldering directly to the appropriate positive and negative pins directly. With this unit installed the temperature was reduced to 60C, a reduction of 15C.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>[Sunvox + MODEP + Raspberry Pi 4] &#8211; Dream in a Dream, jam over the WIP</title>
		<link>https://bcacciaaudio.com/2020/11/10/875/</link>
		
		<dc:creator><![CDATA[Ben]]></dc:creator>
		<pubDate>Tue, 10 Nov 2020 22:27:57 +0000</pubDate>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Music]]></category>
		<category><![CDATA[guitar]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[MODEP]]></category>
		<category><![CDATA[sunvox]]></category>
		<guid isPermaLink="false">https://bcacciaaudio.com/?p=875</guid>

					<description><![CDATA[Jamming over a WIP song using my Raspberry Pi 4 music box. SunVox is running [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>Jamming over a WIP song using my Raspberry Pi 4 music box.</p>



<p>SunVox is running on the small 7in box and is what I sequenced all the synths/samples on for the backing track. MODEP is also running on this device. On my left monitor I&#8217;ve accessed the MODEP UI on the Pi via the network so I can build the guitar patch.</p>



<p>Output of the Pi is recorded into my desktop running Reaper in Manjaro(right screen). </p>



<p>&#8211; Raspberry Pi 4 + Official 7 in display <br>&#8211; Presonus Audiobox USB 96 <br>&#8211; Patchbox OS <br>&#8211; SunVox <br>&#8211; MODEP</p>



<figure class="wp-block-embed-youtube wp-block-embed is-type-video is-provider-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe loading="lazy" title="[Sunvox + MODEP + Raspberry Pi 4] - Dream in a Dream, jam over the WIP" width="640" height="360" src="https://www.youtube.com/embed/E3pHGQrIAes?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div></figure>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Configure KDE to function like a tiling WM</title>
		<link>https://bcacciaaudio.com/2020/05/14/configure-kde-to-function-like-a-tiling-wm/</link>
		
		<dc:creator><![CDATA[Ben]]></dc:creator>
		<pubDate>Thu, 14 May 2020 20:19:36 +0000</pubDate>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[linux]]></category>
		<guid isPermaLink="false">https://bcacciaaudio.com/?p=832</guid>

					<description><![CDATA[KDE Plasma is a very flexible desktop environment. In the video below, I&#8217;ll outline the [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>KDE Plasma is a very flexible desktop environment. In the video below, I&#8217;ll outline the steps needed to alter the appearance and functionality of KDE Plasma to mimic that of a tiling window manager (i3, dwm, etc)</p>



<figure class="wp-block-embed-youtube wp-block-embed is-type-video is-provider-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe loading="lazy" title="Configure KDE to function like a tiling WM" width="640" height="360" src="https://www.youtube.com/embed/n4pppzPxD3Q?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div></figure>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Formatting a thumb drive from the command line in Linux</title>
		<link>https://bcacciaaudio.com/2020/02/20/formatting-a-thumb-drive-from-the-command-line-in-linux/</link>
		
		<dc:creator><![CDATA[Ben]]></dc:creator>
		<pubDate>Thu, 20 Feb 2020 14:00:04 +0000</pubDate>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[linux]]></category>
		<guid isPermaLink="false">https://bcacciaaudio.com/?p=795</guid>

					<description><![CDATA[There are many ways of formatting a thumb drive in Linux. This tutorial will outline [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>There are many ways of formatting a thumb drive in Linux. This tutorial will outline the primary method I use. </p>



<figure class="wp-block-embed-youtube wp-block-embed is-type-video is-provider-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe loading="lazy" title="Formatting a thumb drive from the command line in Linux" width="640" height="360" src="https://www.youtube.com/embed/T4WIqe8nAwg?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div></figure>



<h2 class="wp-block-heading">Identify the disk</h2>



<ol class="wp-block-list"><li>Without the disk plugged in, run <code>sudo lsblk -f</code> and observe the output.</li><li>Plug in the disk. Run <code>sudo lsblk -f</code> again. This time you should see a new entry or entries. This is your disk. You can also use the listed size to confirm it is the correct device. </li></ol>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="816" height="573" src="https://bcacciaaudio.com/wp-content/uploads/2020/02/image.png" alt="Example lsblk -f output" class="wp-image-799" srcset="https://bcacciaaudio.com/wp-content/uploads/2020/02/image.png 816w, https://bcacciaaudio.com/wp-content/uploads/2020/02/image-300x211.png 300w, https://bcacciaaudio.com/wp-content/uploads/2020/02/image-768x539.png 768w" sizes="auto, (max-width: 816px) 100vw, 816px" /></figure>



<h2 class="wp-block-heading">Partition the disk</h2>



<p>I generally use <strong>cgdisk</strong> for this portion as it is:</p>



<ol class="wp-block-list"><li>User friendly enough to a newbie that they will likely not need to refer to the man page.</li><li>Supports GPT partitions. </li></ol>



<p>If you are curious about the differences between GPT and MBR, see <a href="https://wiki.archlinux.org/index.php/Partitioning#Choosing_between_GPT_and_MBR">this section</a> of the Arch Wiki.</p>



<p><strong>cgdisk </strong>is part of the <strong>gdisk </strong>package in Ubuntu. It can be installed with <code>sudo apt install gdisk</code>.</p>



<p class="has-text-color has-vivid-red-color"><strong>Note that the actions we are going to take in <code>cgdisk</code> will delete any data currently located on your volume.</strong></p>



<ol class="wp-block-list"><li>Run <code>cgdisk /dev/sdxx</code> <em>(replace the x&#8217;s with the correct device id)</em></li><li>Delete any existing partitions by selecting them and then choosing <strong>Delete</strong>.</li><li>Select the free space in the UI and then choose <strong>New </strong>to create a new partition.</li><li>Select <strong>Write</strong> to finalize your changes and write them to disk.</li></ol>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="776" src="https://bcacciaaudio.com/wp-content/uploads/2020/02/image-2-1024x776.png" alt="Example cgdisk screen" class="wp-image-802" srcset="https://bcacciaaudio.com/wp-content/uploads/2020/02/image-2-1024x776.png 1024w, https://bcacciaaudio.com/wp-content/uploads/2020/02/image-2-300x227.png 300w, https://bcacciaaudio.com/wp-content/uploads/2020/02/image-2-768x582.png 768w, https://bcacciaaudio.com/wp-content/uploads/2020/02/image-2-105x80.png 105w, https://bcacciaaudio.com/wp-content/uploads/2020/02/image-2.png 1357w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<h2 class="wp-block-heading">Format the partition</h2>



<p>We&#8217;ll need to create a filesystem on our brand new partition. In this case I&#8217;ll be creating a <strong>FAT32</strong> partition for the drive as it is intended to be used with Mac, Windows, and Linux.</p>



<p>I&#8217;m using the <strong>dosfstools</strong> package in my Ubuntu based distro. If you don&#8217;t have it, install with <code>sudo apt install dosfstools</code>. </p>



<p>Then run <code>sudo mkfs.fat -F 32 /dev/sdx</code> <em>(replace the x&#8217;s with the correct device id)</em></p>



<h2 class="wp-block-heading">Label the drive</h2>



<p>Finally, we have to give the drive a label. This is the name that will show up for the device. <strong>fatlabel</strong> is part of the <strong>dosfstools</strong> package.</p>



<p>The syntax is <code>sudo fatlabel /dev/sdxx</code> <em>(replace the x&#8217;s with the correct device id)</em></p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>[GNU Stow] &#8211; Dotfile management</title>
		<link>https://bcacciaaudio.com/2020/01/30/gnu-stow-dotfile-management/</link>
		
		<dc:creator><![CDATA[Ben]]></dc:creator>
		<pubDate>Thu, 30 Jan 2020 10:00:00 +0000</pubDate>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[linux]]></category>
		<guid isPermaLink="false">https://bcacciaaudio.com/?p=779</guid>

					<description><![CDATA[]]></description>
										<content:encoded><![CDATA[
<figure class="wp-block-embed-youtube wp-block-embed is-type-video is-provider-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe loading="lazy" title="[GNU Stow] - Dotfile management" width="640" height="360" src="https://www.youtube.com/embed/7mv411guRaI?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div></figure>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>[bmon] &#8211; Terminal bandwidth monitor</title>
		<link>https://bcacciaaudio.com/2020/01/28/bmon-terminal-bandwidth-monitor/</link>
		
		<dc:creator><![CDATA[Ben]]></dc:creator>
		<pubDate>Tue, 28 Jan 2020 10:00:00 +0000</pubDate>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[tui]]></category>
		<guid isPermaLink="false">https://bcacciaaudio.com/?p=773</guid>

					<description><![CDATA[]]></description>
										<content:encoded><![CDATA[
<figure class="wp-block-embed-youtube wp-block-embed is-type-video is-provider-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe loading="lazy" title="[bmon] - Terminal bandwidth monitor" width="640" height="360" src="https://www.youtube.com/embed/EnB-u-X2f2Q?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div></figure>



<p></p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>[fff] &#8211; Terminal file manager written in bash</title>
		<link>https://bcacciaaudio.com/2020/01/26/fff-terminal-file-manager-written-in-bash/</link>
		
		<dc:creator><![CDATA[Ben]]></dc:creator>
		<pubDate>Sun, 26 Jan 2020 18:59:48 +0000</pubDate>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[tui]]></category>
		<guid isPermaLink="false">https://bcacciaaudio.com/?p=769</guid>

					<description><![CDATA[Get fff from Github.]]></description>
										<content:encoded><![CDATA[
<figure class="wp-block-embed-youtube wp-block-embed is-type-video is-provider-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe loading="lazy" title="[fff] - Terminal file manager written in bash" width="640" height="360" src="https://www.youtube.com/embed/LWJDShUwXBs?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div></figure>



<p>Get <strong>fff </strong>from <a href="https://github.com/dylanaraps/fff/">Github</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Linux Beat Mastering</title>
		<link>https://bcacciaaudio.com/2018/12/10/linux-beat-mastering/</link>
		
		<dc:creator><![CDATA[Ben]]></dc:creator>
		<pubDate>Mon, 10 Dec 2018 13:04:45 +0000</pubDate>
				<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[ardour]]></category>
		<category><![CDATA[beats]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[mastering]]></category>
		<category><![CDATA[reaper]]></category>
		<guid isPermaLink="false">https://bcacciaaudio.com/?p=741</guid>

					<description><![CDATA[This is the process I use when mastering beats for a platform such as Airbit. [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>This is the process I use when mastering beats for a platform such as Airbit. I&#8217;m running Kubuntu 18.04. All sequencing/recording/arrangement is done in Reaper. Mastering is done in Ardour using the Calf Audio plugins. </p>



<figure class="wp-block-embed-youtube wp-block-embed is-type-video is-provider-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe loading="lazy" title="Linux Beat Mastering Process" width="640" height="360" src="https://www.youtube.com/embed/xQPNmp4Ak5Y?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div></figure>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Use aliases for faster BASH shell navigation</title>
		<link>https://bcacciaaudio.com/2018/11/14/use-aliases-for-faster-bash-shell-navigation/</link>
		
		<dc:creator><![CDATA[Ben]]></dc:creator>
		<pubDate>Wed, 14 Nov 2018 14:50:57 +0000</pubDate>
				<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[linux]]></category>
		<guid isPermaLink="false">https://bcacciaaudio.com/?p=714</guid>

					<description><![CDATA[The BASH shell is very powerful and allows an experienced user to get things done [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>The BASH shell is very powerful and allows an experienced user to get things done quickly. One area that new users find frustrating is directory navigation. Coming from a GUI environment, it would appear that one is able to navigate around a file system much more quickly in their GUI file browser. As an example, say that I need to access my Dropbox folder very often. The workflow in a GUI environment would be:</p>
<ol>
<li>Open your file browser (Dolphin, Thunar, etc.)</li>
<li>Click on the shortcut in the left hand column of the browser.</li>
</ol>
<p>That is very simple! However, there are some inefficiencies there that can be removed. These inefficiencies are:</p>
<ol>
<li>The user needs to move their fingers off of the home row navigation of the keyboard.</li>
<li>The user must switch away from the terminal environment and open another program outside of the terminal.</li>
</ol>
<p>This may not seem like a big deal. After all, you can leave your GUI file browser open and simply <strong>Alt + Tab</strong> to it. For the vast majority of users this workflow is just fine. For those that want to remain in a terminal environment, reduce distraction caused by multi tasking many applications on their desktop, and be more efficient, I recommend the following. We&#8217;ll use the same example above of wanting to navigate to my Dropbox folder that I access very often. This requires the following initial setup:</p>
<ol>
<li>Edit your .bashrc using <strong>vim ~/.bashrc</strong> or whatever your preferred text editor is.</li>
<li>Create the following alias: <strong>alias drp=&#8217;cd $HOME/Dropbox/&#8217;</strong></li>
<li>Save the file.</li>
<li>Reload your ~/.bashrc by typing <strong>source ~/.bashrc</strong></li>
</ol>
<p>Now that the initial setup is done, this is how you can navigate to your Dropbox folder from the command line:</p>
<ol>
<li>Type <strong>drp</strong> and press Enter.</li>
</ol>
<p>If you perform each of these workflows one after the other several times, you&#8217;ll notice that using the BASH alias is consistently quicker. However, you can&#8217;t see the contents of the directory immediately as you can in the GUI file manager. We can take our alias even further to resolve this by changing it to run <strong>ls</strong> once the first command is completed. I personally do not do this, but I&#8217;ll show it as an example:</p>
<p><strong>alias drp=&#8217;cd $HOME/Dropbox/;ls&#8217;</strong></p>
<p>These are my current directory navigation aliases. I&#8217;m sure I&#8217;ll be adding more to them in the future. The goal when creating these aliases is to keep them as short as possible so that they require a minimum of input, but that they be memorable and descriptive.<code></code><code></code></p>
<p><code>alias hm='cd ~'</code><br />
<code>alias mu='cd $HOME/Music'</code><br />
<code>alias doc='cd $HOME/Documents'</code><br />
<code>alias app='cd $HOME/Applications'</code><br />
<code>alias dsk='cd $HOME/Desktop'</code><br />
<code>alias pic='cd $HOME/Pictures'</code><br />
<code>alias dwn='cd $HOME/Downloads'</code><br />
<code>alias drp='cd $HOME/Dropbox'</code><br />
<code>alias abl='cd $HOME/Dropbox/Public/Ableton'</code></p>
<p>In addition to the above aliases, there is a BASH built in command I use all the time. Typing <strong>cd &#8211;</strong> will toggle you between your current directory and the last directory you were in.</p>
<h3>Directory Navigation Utilities</h3>
<p>There are some directory navigation programs that you can download and run in your BASH shell that will learn frequently visited directories. Once learned, they allow you to jump to them quickly. Some examples are <a href="https://github.com/wting/autojump">autojump</a> and <a href="https://github.com/rupa/z">z</a>. These may work for you, and you should try them! My reasoning for not using them is I want to keep my configuration as minimal and portable as possible. Only having to download my ~/.bashrc and not install any additional programs keeps things simple. Additionally, if I did use that utility and had to install it on another system, I would have to teach it my common directory habits again. This means there would be a period of time where it would have to again learn my habits.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>How to change urxvt terminal emulator colors</title>
		<link>https://bcacciaaudio.com/2018/11/02/how-to-change-urxvt-terminal-emulator-colors/</link>
		
		<dc:creator><![CDATA[Ben]]></dc:creator>
		<pubDate>Fri, 02 Nov 2018 14:56:33 +0000</pubDate>
				<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[cli]]></category>
		<category><![CDATA[linux]]></category>
		<guid isPermaLink="false">https://bcacciaaudio.com/?p=697</guid>

					<description><![CDATA[urxvt is a fast, lightweight terminal emulator that supports unicode. It is also very customizable. [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>urxvt is a fast, lightweight terminal emulator that supports unicode. It is also very customizable. In this walkthrough, you&#8217;ll learn how to customize the color scheme of urxvt.</p>
<h2><span style="text-decoration: underline;"><strong>Installation</strong></span></h2>
<p>To install in Ubuntu use:</p>
<p><code>sudo apt install rxvt-unicode</code></p>
<h2><span style="text-decoration: underline;"><strong>Setup</strong></span></h2>
<p>Configuration for urxvt is done in the <strong>~/.Xresources</strong> file. If you don&#8217;t have one, you can create it in your home directory.</p>
<p><a href="https://terminal.sexy/">terminal.sexy</a> is a great resource for viewing and downloading terminal themes. Simply:</p>
<p>1. Navigate to the site and browse the themes. Locate one you like.<br />
2. Click on the <strong>Export</strong> tab and select <strong>Xresources</strong> from the drop down.<br />
3. Click on the <strong>Export</strong> button which will populate the list with the theme. Copy and paste the values into your <strong>.Xresources</strong> file.<br />
4. Change all instances of <strong>*</strong> to be <strong>urxvt</strong> and then save your file.</p>
<p>Note that in the <strong>~/.Xresources</strong> file, a <strong>!</strong> is used to show a comment, not a <strong>#.</strong><br />
Once saved, the changes will not take effect immediately. You will need to perform the following order of actions:</p>
<p>1. Run the command <code>xrdb -merge ~/.Xresources</code><br />
2. Log out of any terminal instances.<br />
3. Launch a new terminal.</p>
<p>At this point your color changes will have taken effect.</p>
<h2><span style="text-decoration: underline;"><strong>Tips</strong></span></h2>
<p>I keep several .Xresources files for different themes in my home folder. The format is:</p>
<p><code>.Xresources.solarizeddark</code><br />
<code>.Xresources.molokai</code><br />
<code>.Xresources.materialblue</code></p>
<p>I&#8217;ve also created the alias below in my .bashrc to reload the .XResources file:<br />
<code>alias ureload='xrdb -merge ~/.Xresources</code></p>
<p>When it is time to change a theme, I will cp the new theme over the old one, and then run <strong>ureload</strong>. For example:</p>
<p><code>cp .XResources.solarizeddark .XResources</code><br />
<code>ureload</code></p>
<p>I have other configurations for urxvt in my .XResources file, so when I want to add a new theme, I simply copy the current one and replace the color scheme data. This should be all the basics you need to get started.</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
