Jekyll2023-09-03T14:08:57-04:00https://stolee.dev/feed.xmlStolee’s Dev BlogThe personal developer blog of Derrick StoleeLearning about Guitar Making on YouTube2022-12-25T00:00:00-05:002022-12-25T00:00:00-05:00https://stolee.dev/2022/12/25/luthiery-videos<p>There comes a time in every software engineer’s lifetime where they need
to break out of their digital life and away from screens. I’ve already
done this in some ways when listening to vinyl records or playing Magic
the Gathering with friends in real life. However, one hobby has become so
common for software engineers that it’s practically a meme: woodworking.</p>
<p>Growing up, I learned several handy skills from building things with my
father. This includes helping to build and finish a lake cabin. In grad
school, I built a few pieces of furniture for our small home, but they
were very basic due to building things as quickly as possible without too
much attention to detail.</p>
<p>I’ve wanted to get back into it and learn real skills and build the focus
to do high-quality finishes. However, I’ve not found a project that
captivated me enough to want to invest the time, money, and effort into
the process.</p>
<p>Recently, I’ve been relearning the guitar and enjoy learning about what
makes an electric guitar really work. This led me to discover several
guitar YouTube channels, mostly about learning how to play better. This
did have a side effect: YouTube then recommended some <em>guitar maker</em>
channels. That led me down a rabbit hole so deep that I now “know” what it
takes to build a guitar and want to try it myself.</p>
<p>I haven’t even started trying to build a guitar, but I have watched many
videos to the point that I have a rough idea of how I want to get started
and level up from there. Here is an inventory of my favorite channels and
particularly helpful videos in case you are interested in getting started.</p>
<!--more-->
<h2 id="guitar-making-channels">Guitar Making Channels</h2>
<p>Here is a curated list of my favorite channels for learning about guitar
making. These creators make it look easy, but also film and edit it in a
way that is easy to get lost in their content for hours.</p>
<h3 id="tchiks-guitars"><a href="https://www.youtube.com/@tchiksguitars">tchiks guitars</a></h3>
<p><strong>tchiks guitars</strong> makes beautiful guitars that show the natural features
of wood grain. That is, unless they are making guitars from old Ikea
furniture or other odd restrictions. My favorite videos have no narration,
but demonstrate the creation in careful visual detail. They are relaxing
to watch as well as educational.</p>
<p>To get started, I recommend watching their
<a href="https://www.youtube.com/playlist?list=PL3DG0jde7mcR5fuIrA1yUsU3Jt_4W4ouB">How to make your first guitar at home</a>
guide. They build a Telecaster style guitar while explaining all of the
details step-by-step as well as the tools being used. It’s inspirational,
for sure, even though I don’t think I will start my <em>first</em> guitar with
such an ambitious project.</p>
<p>However, I want to highlight a different video,
<a href="https://youtu.be/yOO9QWr81eg">their Les Paul build</a>
has a lot of details that I aspire to eventually be able to replicate:
carved top on top of the body base, laminated neck, woodworked pick guard,
and many other careful details.</p>
<iframe width="560" height="315" src="https://www.youtube.com/embed/yOO9QWr81eg" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen=""></iframe>
<h3 id="crimson-custom-guitars"><a href="https://www.youtube.com/@CrimsonCustomGuitars">Crimson Custom Guitars</a></h3>
<p><strong>Crimson Custom Guitars</strong> is probably the biggest guitar making channel
out there. They run their own school and supply shop dedicated to supporting
hobbyists and professionals alike. Their videos include intricate, one-of-a-kind
builds. But also, they include shorter videos about upgrading or repairing
guitars they didn’t build.</p>
<p>They also run <a href="https://greatguitarbuildoff.com/">the Great Guitar Build Off</a>,
which is also a great way to find more guitar makers.</p>
<p>To highlight some of the craziest features Crimson Custom Guitars can make,
I recommend <a href="https://youtu.be/Z4J42JsBReo">the super cut of the Nebula 2.0 guitar</a>.
Most guitars can be described as “shaped like [famous guitar brand]”
but this one is in its own category. Take a look at what can be done when
every part of the guitar is rethought and created with precision. Also,
that color finish is unbelievable.</p>
<iframe width="560" height="315" src="https://www.youtube.com/embed/Z4J42JsBReo" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen=""></iframe>
<h3 id="magic-attic-guitars"><a href="https://www.youtube.com/@MagicAtticGuitars">Magic Attic Guitars</a></h3>
<p><strong>Magic Attic Guitars</strong> creates works of art. Every guitar has incredible
details, right down to the inlay logo in each headstock. Even with all of
those high-end flourishes, this channel also includes tips and tricks for
everyone to level up in very specific ways.</p>
<p>I’ve chosen to highlight <a href="https://youtu.be/QKemu6JxGos">Building guitar with wire inlay</a> because it demonstrates the attention to small details and
decorations.</p>
<iframe width="560" height="315" src="https://www.youtube.com/embed/QKemu6JxGos" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen=""></iframe>
<h3 id="daisy-tempest"><a href="https://www.youtube.com/@DaisyTempest">Daisy Tempest</a></h3>
<p><strong>Daisy Tempest</strong> is a more traditional <em>luthier</em> and builds beautiful
acoustic guitars. Her videos are educational and talk about the tools of
the trade in addition to the techniques required. While I’m not planning
to build an acoustic guitar until I’m satisfied with electric guitars.</p>
<p>I want to highlight one of her technique videos, especially
<a href="https://www.youtube.com/watch?v=uFqIJkhjgAw">this one about she does high-end fretwork</a>.
In particular, I’ve learned that she always applies binding to the sides
of her fretboard which requires <em>fret tang nippers</em> to cut the part of the
fret that inserts into the fret board so it doesn’t cut into the binding.
I’ve fallen in love with that look and want to build a fretboard that way
myself (just not at first).</p>
<iframe width="560" height="315" src="https://www.youtube.com/embed/uFqIJkhjgAw" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen=""></iframe>
<h3 id="noe-hervas"><a href="https://www.youtube.com/@NoeHervas">Noe Hervas</a></h3>
<p><strong>Noe Hervas</strong> is probably my most-recent discovery in this vein, but their
work looks really impressive from what I’ve explored so far. This is
another creator that focuses on high-quality wood and their skills bring
out the natural strengths of the wood.</p>
<p>I want to highlight their <a href="https://youtu.be/EZf9MJbijHo">“The Opal” full build</a>
as an example of showing all the steps but without words. It’s the kind of
video I can watch with a small child in my lap to help them calm down.</p>
<iframe width="560" height="315" src="https://www.youtube.com/embed/EZf9MJbijHo" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen=""></iframe>
<h2 id="getting-started-plan">Getting Started Plan</h2>
<p>The first thing I need to learn is how to adjust the settings on my own
guitars. I can change my strings just fine, but adjusting the string
height (the <em>action</em>) or the bend of the neck are all new concepts to me.
It would also be good to clean up the fretboard on one guitar I bought
used, and the finishing techniques would be helpful to try there.</p>
<p>To whet my woodworking appetite, I could build some helper tools for when
I get around to building a guitar, such as a <a href="https://www.crimsonguitars.com/collections/guitar-maintenance-tools/products/rockin-neck-rest">neck rest</a>
or a stand to hold multiple guitars.</p>
<p>For my first full guitar, I plan to start with a kit, such as one from
<a href="https://www.stewmac.com/kits-and-projects/instrument-kits/?gclid=CjwKCAiAhqCdBhB0EiwAH8M_GtAz_AnfZDvJDVEwg1fkQc03fbvPHU29DuqdZIY9QIMtUz8jAekjxRoCdIsQAvD_BwE">StewMac</a>,
which seems to be the place to go. The focus is to get to a complete
project as soon as possible, as well as to have a straight-forward way to
learn about wiring and finishing. This approach should be much cheaper
than starting from a body blank because of the materials and tools. Fret boards and neck seem like
the most complicated things and easiest to get wrong, so leaving that for
a future project would be best.</p>
<p>The next step would be to create a custom body while using a prebuilt neck.
This might be an optional one depending on if I want to make the leap to
a full build based on the kit experience.</p>
<h2 id="guitar-making-bucket-list">Guitar Making Bucket List</h2>
<p>After building from a kit and having a complete project under my belt, I
want to try going into more advanced concepts, such as hand-carving the
neck and fretboard. I’d like to consider laminating the guitar body for
interesting patterns along the edges, or creating a laminated neck for
lines up the neck and headstock. I’d like to create custom fretboard
inlays for the fret markers. Some guitar bodies require binding; the
simple start is to use a plastic binding, but more advanced would be to
bend a wood binding around the guitar. I’ve also mentioned that I like
the look of binding on a fretboard.</p>
<p>There are a variety of guitar styles that I think I’d like to try, and
from the videos I’ve seen have some variation in difficulty level. There
are some skills that are absolutely necessary for some (carved top for
Les Pauls) while not as much for others (Telecasters are pretty flat).</p>
<p>Here’s my mostly-ordered list of body styles that I’d like to try out:</p>
<ul>
<li>Telecaster Style</li>
<li>Stratocaster or Super-strat style</li>
<li>Flying V Style</li>
<li>Explorer Style</li>
<li>Les Paul Style with curved top</li>
<li>ES-335 Style with semi-hollow body (bonus for neck-through design)</li>
</ul>
<p>In some hypothetical future where I’ve built several electric guitars and
am happy with the results, I’ll do another deep dive into acoustic guitar
making and try that on for size. The few acoustic guitar video builds I’ve
seen show a dramatically different set of techniques that require even
more patience and attention to detail.</p>Derrick StoleeThere comes a time in every software engineer’s lifetime where they need to break out of their digital life and away from screens. I’ve already done this in some ways when listening to vinyl records or playing Magic the Gathering with friends in real life. However, one hobby has become so common for software engineers that it’s practically a meme: woodworking. Growing up, I learned several handy skills from building things with my father. This includes helping to build and finish a lake cabin. In grad school, I built a few pieces of furniture for our small home, but they were very basic due to building things as quickly as possible without too much attention to detail. I’ve wanted to get back into it and learn real skills and build the focus to do high-quality finishes. However, I’ve not found a project that captivated me enough to want to invest the time, money, and effort into the process. Recently, I’ve been relearning the guitar and enjoy learning about what makes an electric guitar really work. This led me to discover several guitar YouTube channels, mostly about learning how to play better. This did have a side effect: YouTube then recommended some guitar maker channels. That led me down a rabbit hole so deep that I now “know” what it takes to build a guitar and want to try it myself. I haven’t even started trying to build a guitar, but I have watched many videos to the point that I have a rough idea of how I want to get started and level up from there. Here is an inventory of my favorite channels and particularly helpful videos in case you are interested in getting started.On Mental Toughness (for Software Engineers): How the Best of the Best Get Better And Better2019-10-27T00:00:00-04:002019-10-27T00:00:00-04:00https://stolee.dev/2019/10/27/mental-toughness-1<p>I was recently gifted <em>On Mental Toughness</em>, a collection
of ten Harvard Business Review articles reprinted as a
paperback. The first article,
<a href="http://project12.circlespring.com/workshop1/R0806H-PDF-ENG.PDF">“How the Best of the Best Get Better and Better” by Graham Jones</a>,
takes advice
gathered from athletic achievement into business achievement.
Let’s explore some of the ideas as they relate to
building software.</p>
<!--more-->
<blockquote>
<p>This post is part of a series where I try to take
generic business articles and view them through my
lens as an individual contributor software engineer.</p>
<p>While the articles are usually focused on upper
management roles, I believe there are many parallels
with IC software engineers. Our profession is very
intellectually demanding, there are always trade-offs
in every choice we make, and our mistakes are likely
to affect many people (customers or others in our
organizations).</p>
</blockquote>
<h1 id="mental-barriers">Mental barriers</h1>
<p>The article begins using the example of the
<a href="https://en.wikipedia.org/wiki/Four-minute_mile">four-minute mile</a>.
For decades, everyone publicly declared that running
a four-minute mile was impossible, until someone did it.
(This is very similar to the recent advances towards
a <a href="https://en.wikipedia.org/wiki/Ineos_1:59_Challenge">two-hour marathon</a>.)
After one person ran that fast, others quickly followed
suit. These days, some of the most elite high-school
runners can run a four-minute mile.</p>
<p>Some limits are in your mind, or are ingrained by
those around you.</p>
<p>What problems are you facing but not trying to overcome
because others’ experience says it is impossible?</p>
<p>Don’t forget to know what is a real limitation, and what
is not. Feel free to assume that an NP-Hard problem will
not have a polynomial-time algorithm. Instead, see if
your specific version of the problem can be solved using
heuristics, or the “slow” algorithm is actually fast for
you due to some bounded parameter.</p>
<p><strong>Example:</strong> I remember working on counting the number
of perfect matchings in graphs. This is a well-known
P#-Complete problem (if you can solve this problem fast,
then you can count the number of solutions to 3-SAT fast,
too). Turns out that the reduction required to translate
3-SAT into a perfect matching problem requires an
exponential increase in the number of solutions. The
reason it is “hard” to count is because there are so
many! When focusing on graphs with a small number of
perfect matchings, the brute-force algorithm is quite
fast.</p>
<h1 id="focus-on-your-own-excellence">Focus on your own excellence</h1>
<p>To improve, you must focus on what you can control.</p>
<p>Don’t compare yourself to others. <strong>Their success is not
your failure.</strong> I had to remind myself of that frequently
in graduate school, when I was first getting my bearings
in how to publish scholarly work. Other students (usually
from higher-ranking institutions) would publish more
papers in higher venues, and I would find my rate
inadequate. This led to a very stressful point in my
life, where I overworked myself more than ever.</p>
<p>What I realized (eventually) was that there will <em>always</em>
be someone who achieves more than me (or you) and from
the outside it will look like it was easy for them. This
is especially true when looking at an international field
of people. In grad school, journals came in every month
with authors from all over the world. Now, I see fantastic
people sharing their expertise and professional adventures
on Twitter. It’s hard to avoid FOMO when presented with
the best view of someone’s life.</p>
<p>By focusing on yourself, you can think about what you
can control, and what steps you can take to advance your
goals. Instead of seeing what others are doing, do the
thing that shows your talents the best. Success will
follow.</p>
<h1 id="understand-your-own-success">Understand your own success</h1>
<p>In order to focus on your own success, you must also
reflect and discover what had led to your current
level of success.</p>
<p><em>If you are like me, then a lot of your success has
come from privilege. Recognize that, then find the
<strong>next</strong> reason for your success.</em></p>
<p>Jones mentions this in their section about celebrating
victories. While athletes spend time celebrating the
big wins, having a bit of fun is not the point of the
party. “The very best performers do not move on before
they have scrutinized and understood thoroughly the
factors underpinning their success,” Jones writes.</p>
<p>If you have a big win, then take the time and enjoy
that win! While you are relaxed and happy, think back
on what choices you made to influence that success.</p>
<p>When building software, our view of the future can
be murky. We don’t always know how difficult things
will be. Our code is exercised in situations we
never expected. We may be redirected from one
project to another, or the project changes significantly
one week to the next.</p>
<p>But we can always look back at what we have done.
Version control is great for this: you can literally
see everything you completed. With good commit
messages, you can remember the challenges you faced
and overcame. Can you also recall the different
options you could have pursued? The priorities you
could have set instead? What constellations aligned
this time to create your success? Hopefully, you
can look back to decisions you made based on
thoughtful preparation. You can repeat the success
by making those steps part of your daily process.</p>
<h1 id="working-with-the-best">Working with the best</h1>
<p>While focusing on yourself is good, it always helps
to have a little bit of competition. Jones mentions
how rivals sometimes train together as a way for
each athlete to improve. By learning from each other,
the athletes each grow more than they could by
themselves. At the end of the day, they compete
against each other – but also against a lot of others.</p>
<p>There are two things I gather from this idea:
have a great team, and work in the open.</p>
<p>Working with high-quality engineers makes everyone
on the team better. Code review spreads good habits
and spreads knowledge. Working with great people
is inspiring. This seems like an idea that is
widespread in the software industry.</p>
<p>This is the same when working on an open source
project, <em>especially with your competitors</em>. Git
is the backbone of most Git hosting providers:
GitHub, GitLab, BitBucket, etc. (NOT Azure Repos
or Gerrit). The Git client is used by all Git
users on their workstations, including most
engineers in Microsoft. The Git development
community is filled with engineers from all of
the companies that rely on Git, even though
they compete <em>directly</em> in the space. By coming
together and being open about our goals, the
community thrives and everyone benefits.</p>
<p>Also, I never thought I’d learn so much minutia
about shell scripts that I do after working on
Git.</p>
<h1 id="how-do-you-get-better-and-better">How do you get better and better?</h1>
<p><a href="https://twitter.com/stolee">Find me on Twitter</a> and
let me know!</p>Derrick StoleeI was recently gifted On Mental Toughness, a collection of ten Harvard Business Review articles reprinted as a paperback. The first article, “How the Best of the Best Get Better and Better” by Graham Jones, takes advice gathered from athletic achievement into business achievement. Let’s explore some of the ideas as they relate to building software.Building stolee.dev2019-03-13T00:00:00-04:002019-03-13T00:00:00-04:00https://stolee.dev/2019/03/13/building-stolee-dev<p>Welcome to <a href="https://stolee.dev">stolee.dev</a>! This is my
personal blog, not to be confused with blog articles I
write for my job.</p>
<p>In this post, I’ll discuss some things I learned while
building this page, and share links to the sources I
used.</p>
<!--more-->
<h1 id="connecting-a-dev-domain-to-github-pages">Connecting a .dev domain to GitHub Pages</h1>
<p>I hadn’t purchased a domain in fifteen years, so when
<a href="https://www.blog.google/technology/developers/hello-dev/">Google announced the <code class="language-plaintext highlighter-rouge">.dev</code> domain</a>,
I thought it would be a good time to try it again. I’ve
been using GitHub Pages for some side projects, so I
wanted to use that for easy hosting. But I hadn’t set
up a custom domain yet.</p>
<p>To set up a custom domain, I used Luis L’s
<a href="https://medium.com/@Tnylnc/tnylnc-how-to-set-up-github-pages-with-google-domains-83bd5a4fbc5c">How to set up Github Pages with Google domains</a>.
Of course, I made some mistakes and was a bit impatient
waiting for the changes in Google Domains to propagate
to GitHub Page’s tools.</p>
<h1 id="mobile-friendly-rendering">Mobile-friendly rendering</h1>
<p>I got started with HTML in 2001, and gave up all desire
to make web pages by 2007, so I missed the mobile boom.
After desigining a simple layout using my desktop browser,
I tried looking at the page on my phone and it was <em>awful</em>.
Instead of nicely rendering the font at a readable size, it
was zoomed way out and tiny.</p>
<p>This turns out to be a trick phone browsers use to display
web pages that have <em>not</em> been optimized for mobile. The
simple way to get around this behavior is to add the
following tag to the <code class="language-plaintext highlighter-rouge"><head></code> of your page:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code><meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
</code></pre></div></div>
<p><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Mobile/Viewport_meta_tag">You can learn more about the viewport on Mozilla’s web docs</a>.</p>
<h1 id="text-friendly-rendering">Text-friendly rendering</h1>
<p>Since I’m used to working with the Git mailing list,
I’ve grown fond of old-school approaches to things.
Making the page useful for text-based browsers was
one thing I really wanted to ensure was that
text-based browsers could read the page as close to
the original rendering as possible. Here is how it
looks:</p>
<p><img src="https://stolee.dev/img/text-render.png" alt="How it looks in lynx" /></p>
<p>Of course, the home page is super-simple, so this is
not a surprise. The entire page is mostly a collection
of unordered lists (<code class="language-plaintext highlighter-rouge"><ul></code> tags) with some simple CSS
to style different parts. The most interesting part is
that the navigation menu for the different sections has
a horizontal list, even though it is a <code class="language-plaintext highlighter-rouge"><ul></code> tag.</p>
<p>Hopefully, this focus on text-based visibility also
ensures anyone with a visual impairment can read the page.
Please let me know if you have any trouble!</p>
<h1 id="jekyll-enabled-blogging">Jekyll-enabled blogging</h1>
<p>Since this page is deployed and hosted by GitHub pages,
it is by necessity a static site. However, we can get
a bit creative to automatically generate a blog feed based
on a list of markdown files using Jekyll.</p>
<p>Here is my <code class="language-plaintext highlighter-rouge">_config.yml</code> file:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>name: Stolee's Dev Blog
description: The personal developer blog of Derrick Stolee
url: https://stolee.dev
plugins:
- jekyll-feed
theme: minima
permalink: /posts/:year/:month/:title
feed_items: 10
feed_update_period: daily
feed_update_frequency: 1
collections:
posts:
output: true
permalink : date
paginate_path : /page:num
timezone: America/New_York
markdown : kramdown
highlighter : rouge
lsi : false
excerpt_separator : "<!--more-->"
incremental : false
</code></pre></div></div>
<p>Then, I have my posts written in markdown in the
<code class="language-plaintext highlighter-rouge">_posts</code> folder automatically generate HTML pages
for each article, an <a href="https://stolee.dev/feed.xml">RSS feed</a>,
and <a href="https://stolee.dev/blog/">an HTML index of posts</a>. The
index is generated by a simple <code class="language-plaintext highlighter-rouge">blog/index.md</code> file:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>---
layout: home
title: Stolee's Dev Blog
---
</code></pre></div></div>
<p>One <strong>super important thing</strong> that tripped me up was that
the files in the <code class="language-plaintext highlighter-rouge">_posts</code> folder <strong>must</strong> have filenames
with the format <code class="language-plaintext highlighter-rouge">YYYY-MM-DD-name.md</code> or else Jekyll will
ignore them!</p>
<p>I’m sure there are ways to make this more fancy, but this
suits me for now.</p>Derrick StoleeWelcome to stolee.dev! This is my personal blog, not to be confused with blog articles I write for my job. In this post, I’ll discuss some things I learned while building this page, and share links to the sources I used.