diff --git a/htdocs/post/2017/10/agile-development-on-infrastructure/index.html b/htdocs/post/2017/10/agile-development-on-infrastructure/index.html
index 91281531aa76fd7989786a933fb1e5d7b74d054c..dc605389ab1cf1384a43bcc8c7aabdf501a13117 100644
--- a/htdocs/post/2017/10/agile-development-on-infrastructure/index.html
+++ b/htdocs/post/2017/10/agile-development-on-infrastructure/index.html
@@ -3,7 +3,7 @@
 <link rel=icon href=https://blog.vollink.nyc/favicon.ico><link rel=icon type=image/png sizes=16x16 href=https://blog.vollink.nyc/favicon-16x16.png><link rel=icon type=image/png sizes=32x32 href=https://blog.vollink.nyc/favicon-32x32.png><link rel=apple-touch-icon href=https://blog.vollink.nyc/apple-touch-icon.png><link rel=mask-icon href=https://blog.vollink.nyc/safari-pinned-tab.svg><meta name=theme-color content="#2e2e33"><meta name=msapplication-TileColor content="#2e2e33"><noscript><style>#theme-toggle,.top-link{display:none}</style><style>@media(prefers-color-scheme:dark){:root{--theme:rgb(29, 30, 32);--entry:rgb(46, 46, 51);--primary:rgb(218, 218, 219);--secondary:rgb(155, 156, 157);--tertiary:rgb(65, 66, 68);--content:rgb(196, 196, 197);--hljs-bg:rgb(46, 46, 51);--code-bg:rgb(55, 56, 62);--border:rgb(51, 51, 51)}.list{background:var(--theme)}.list:not(.dark)::-webkit-scrollbar-track{background:0 0}.list:not(.dark)::-webkit-scrollbar-thumb{border-color:var(--theme)}}</style></noscript><meta property="og:title" content="Agile Development on Infrastructure"><meta property="og:description" content="After a friend asked about using agile, I started thinking about the skateboard to car drawing.&nbsp; The author of this,&nbsp;Henrik Kniberg, wrote a really good blog breaking this down, called&nbsp;Making sense of MVP&nbsp;(Minimum Viable Product).&nbsp; This model is absolutely important, and makes a very good case for going about building something brand new.
   I've spent most of my post-Agile time doing infrastructure projects.&nbsp; I'm not building a product for end-users."><meta property="og:type" content="article"><meta property="og:url" content="https://blog.vollink.nyc/post/2017/10/agile-development-on-infrastructure/"><meta property="article:section" content="post"><meta property="article:published_time" content="2017-10-21T13:43:00-04:00"><meta property="article:modified_time" content="2019-01-06T23:19:37-05:00"><meta property="og:site_name" content="On My Mind..."><meta name=twitter:card content="summary"><meta name=twitter:title content="Agile Development on Infrastructure"><meta name=twitter:description content="After a friend asked about using agile, I started thinking about the skateboard to car drawing.&nbsp; The author of this,&nbsp;Henrik Kniberg, wrote a really good blog breaking this down, called&nbsp;Making sense of MVP&nbsp;(Minimum Viable Product).&nbsp; This model is absolutely important, and makes a very good case for going about building something brand new.
   I've spent most of my post-Agile time doing infrastructure projects.&nbsp; I'm not building a product for end-users."><script type=application/ld+json>{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Posts","item":"https://blog.vollink.nyc/post/"},{"@type":"ListItem","position":2,"name":"Agile Development on Infrastructure","item":"https://blog.vollink.nyc/post/2017/10/agile-development-on-infrastructure/"}]}</script><script type=application/ld+json>{"@context":"https://schema.org","@type":"BlogPosting","headline":"Agile Development on Infrastructure","name":"Agile Development on Infrastructure","description":"After a friend asked about using agile, I started thinking about the skateboard to car drawing.\u0026nbsp; The author of this,\u0026nbsp;Henrik Kniberg, wrote a really good blog breaking this down, called\u0026nbsp;Making sense of MVP\u0026nbsp;(Minimum Viable Product).\u0026nbsp; This model is absolutely important, and makes a very good case for going about building something brand new.\n  I've spent most of my post-Agile time doing infrastructure projects.\u0026nbsp; I'm not building a product for end-users.","keywords":["blog","tech"],"articleBody":"After a friend asked about using agile, I started thinking about the skateboard to car drawing. The author of this, Henrik Kniberg, wrote a really good blog breaking this down, called Making sense of MVP (Minimum Viable Product). This model is absolutely important, and makes a very good case for going about building something brand new.\n  I've spent most of my post-Agile time doing infrastructure projects. I'm not building a product for end-users. I spend most of my time replacing things that are already integral to a finished product. I did Agile work for over two years convinced that the MVP model was meaningful but that it doesn't really reflect what I do. I turns out, I was using this model, but thinking about it wrong.\nInfrastructure\nExtending the metaphor above, the group I work for got to step 4 of the top line. They did that in the 1990s. As I learned about agile, and got my certification, the wheel, the original step 1, needed to be replaced and updated. The wheel was doing more than it was designed for. Imagine, if you will:\n     This is much harder than developing for something new. I work for a big company, so it's important to understand that millions of dollars of revenue, per month, is travelling in this metaphorical car. I can't pull out the wheel work on it. I can't build part of a wheel, and present it to the production product flow.\nRethinking the Customer   I didn't realize it at the time, but my customer was tests. Fairly early in the project, a test suite was built to validate things. The first time we, as a group, were able to validate what we were doing against a test suite, we had our first MVP. That took 8 sprints (about four months). I forgive this for anybody new to Agile and anybody working on anything truly large. That four months wasn't aimless.\nThink of this time as the wheel above. Wheels, when they cannot simply be sourced from somewhere, are amazingly complex. What was built during that time was very important, and I'm honestly not sure, even in hind-sight, how we could have brought that chunk down.\nThe project I worked on took 20 months (on an 18 month estimate), and there was no part of this project that could actually be used in production until the day it was done. Yet, I couldn't have done that project without Agile methodologies, and I couldn't have done it without several minimum viable product points. The tests were early enough so that we didn't waste time doing something that was broken, they were unforgiving, and they are still useful for further improvements to this day.\nWhy I think I can talk about this: https://www.scrumalliance.org/community/profile/gvollink  ","wordCount":"458","inLanguage":"en","datePublished":"2017-10-21T13:43:00.002-04:00","dateModified":"2019-01-06T23:19:37.787-05:00","author":{"@type":"Person","name":"Gary Allen Vollink"},"mainEntityOfPage":{"@type":"WebPage","@id":"https://blog.vollink.nyc/post/2017/10/agile-development-on-infrastructure/"},"publisher":{"@type":"Organization","name":"On My Mind...","logo":{"@type":"ImageObject","url":"https://blog.vollink.nyc/favicon.ico"}}}</script></head><body id=top><script>localStorage.getItem("pref-theme")==="dark"?document.body.classList.add("dark"):localStorage.getItem("pref-theme")==="light"?document.body.classList.remove("dark"):window.matchMedia("(prefers-color-scheme: dark)").matches&&document.body.classList.add("dark")</script><header class=header><nav class=nav><div class=logo><a href=https://blog.vollink.nyc/ accesskey=h title="Home (Alt + H)"><img src=https://blog.vollink.nyc/AllenWrench.gif alt=logo aria-label=logo height=35>Home</a>
-<span class=logo-switches><button id=theme-toggle accesskey=t title="(Alt + T)"><svg id="moon" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentcolor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M21 12.79A9 9 0 1111.21 3 7 7 0 0021 12.79z"/></svg><svg id="sun" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentcolor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="5"/><line x1="12" y1="1" x2="12" y2="3"/><line x1="12" y1="21" x2="12" y2="23"/><line x1="4.22" y1="4.22" x2="5.64" y2="5.64"/><line x1="18.36" y1="18.36" x2="19.78" y2="19.78"/><line x1="1" y1="12" x2="3" y2="12"/><line x1="21" y1="12" x2="23" y2="12"/><line x1="4.22" y1="19.78" x2="5.64" y2="18.36"/><line x1="18.36" y1="5.64" x2="19.78" y2="4.22"/></svg></button></span></div><ul id=menu><li><a href=https://blog.vollink.nyc/post/ title=Posts><span>Posts</span></a></li><li><a href=https://blog.vollink.nyc/tags/ title=Tags><span>Tags</span></a></li><li><a href=https://home.vollink.com/ title=home.vollink.com><span>home.vollink.com</span></a></li></ul></nav></header><main class=main><article class=post-single><header class=post-header><div class=breadcrumbs><a href=https://blog.vollink.nyc/>Home</a>&nbsp;»&nbsp;<a href=https://blog.vollink.nyc/post/>Posts</a></div><h1 class=post-title>Agile Development on Infrastructure</h1><div class=post-meta><span title="2017-10-21 13:43:00.002 -0400 -0400">21 Oct 2017</span>&nbsp;·&nbsp;3 min&nbsp;·&nbsp;Gary Allen Vollink</div></header><div class=post-content><div dir=ltr style=text-align:left trbidi=on>After a friend asked about using agile, I started thinking about the skateboard to car drawing.&nbsp; The author of this,&nbsp;Henrik Kniberg, wrote a really good blog breaking this down, called&nbsp;<a href=http://blog.crisp.se/2016/01/25/henrikkniberg/making-sense-of-mvp>Making sense of MVP</a>&nbsp;(Minimum Viable Product).&nbsp; This model is absolutely important, and makes a very good case for going about building something brand new.<br><br><div class=separator style=clear:both;text-align:center><a href=https://blog.crisp.se/2016/01/25/henrikkniberg/making-sense-of-mvp target=_blank><img alt="Not wheel, drive train, part of car, to car; skateboard, scooter, cycle, motorcycle, car" border=0 src=/img/agile-development-on-infrastructure_1_mvp.png data-original-height=597 data-original-width=800 height=238 title="Minimum Viable Product Illustration" width=320></a></div><br>I've spent most of my post-Agile time doing infrastructure projects.&nbsp; I'm not building a product for end-users.&nbsp; I spend most of my time replacing things that are already integral to a finished product.&nbsp; I did Agile work for over two years convinced that the MVP model was meaningful but that it doesn't really reflect what I do.&nbsp; I turns out, I was using this model, but thinking about it wrong.<br><br><h2 style=text-align:left>Infrastructure</h2><br>Extending the metaphor above, the group I work for got to step 4 of the top line.&nbsp; They did that in the 1990s.&nbsp; As I learned about agile, and got my certification, the wheel, the original step 1, needed to be replaced and updated.&nbsp; The wheel was doing more than it was designed for.&nbsp; Imagine, if you will:<br><br><div class=separator style=clear:both;text-align:center><a href=http://automotivepartsuppliers.com/top-5-reasons-overload-car/ target=_blank><img alt="Don't Overload Your Car" border=0 src=/img/agile-development-on-infrastructure_2_Overloaded-Car-240x300.jpg data-original-height=300 data-original-width=240 title="Don't Overload Your Car"></a>
+<span class=logo-switches><button id=theme-toggle accesskey=t title="(Alt + T)"><svg id="moon" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentcolor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M21 12.79A9 9 0 1111.21 3 7 7 0 0021 12.79z"/></svg><svg id="sun" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentcolor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="5"/><line x1="12" y1="1" x2="12" y2="3"/><line x1="12" y1="21" x2="12" y2="23"/><line x1="4.22" y1="4.22" x2="5.64" y2="5.64"/><line x1="18.36" y1="18.36" x2="19.78" y2="19.78"/><line x1="1" y1="12" x2="3" y2="12"/><line x1="21" y1="12" x2="23" y2="12"/><line x1="4.22" y1="19.78" x2="5.64" y2="18.36"/><line x1="18.36" y1="5.64" x2="19.78" y2="4.22"/></svg></button></span></div><ul id=menu><li><a href=https://blog.vollink.nyc/post/ title=Posts><span>Posts</span></a></li><li><a href=https://blog.vollink.nyc/tags/ title=Tags><span>Tags</span></a></li><li><a href=https://home.vollink.com/ title=home.vollink.com><span>home.vollink.com</span></a></li></ul></nav></header><main class=main><article class=post-single><header class=post-header><div class=breadcrumbs><a href=https://blog.vollink.nyc/>Home</a>&nbsp;»&nbsp;<a href=https://blog.vollink.nyc/post/>Posts</a></div><h1 class=post-title>Agile Development on Infrastructure</h1><div class=post-meta><span title="2017-10-21 13:43:00.002 -0400 -0400">21 Oct 2017</span>&nbsp;·&nbsp;3 min&nbsp;·&nbsp;Gary Allen Vollink</div></header><div class=toc><details><summary accesskey=c title="(Alt + C)"><span class=details>Table of Contents</span></summary><div class=inner><ul><li><a href=# aria-label=Infrastructure>Infrastructure</a><ul><li><a href=# aria-label="Rethinking the Customer">Rethinking the Customer</a></li></ul></li></ul></div></details></div><div class=post-content><div dir=ltr style=text-align:left trbidi=on>After a friend asked about using agile, I started thinking about the skateboard to car drawing.&nbsp; The author of this,&nbsp;Henrik Kniberg, wrote a really good blog breaking this down, called&nbsp;<a href=http://blog.crisp.se/2016/01/25/henrikkniberg/making-sense-of-mvp>Making sense of MVP</a>&nbsp;(Minimum Viable Product).&nbsp; This model is absolutely important, and makes a very good case for going about building something brand new.<br><br><div class=separator style=clear:both;text-align:center><a href=https://blog.crisp.se/2016/01/25/henrikkniberg/making-sense-of-mvp target=_blank><img alt="Not wheel, drive train, part of car, to car; skateboard, scooter, cycle, motorcycle, car" border=0 src=/img/agile-development-on-infrastructure_1_mvp.png data-original-height=597 data-original-width=800 height=238 title="Minimum Viable Product Illustration" width=320></a></div><br>I've spent most of my post-Agile time doing infrastructure projects.&nbsp; I'm not building a product for end-users.&nbsp; I spend most of my time replacing things that are already integral to a finished product.&nbsp; I did Agile work for over two years convinced that the MVP model was meaningful but that it doesn't really reflect what I do.&nbsp; I turns out, I was using this model, but thinking about it wrong.<br><br><h2 style=text-align:left>Infrastructure</h2><br>Extending the metaphor above, the group I work for got to step 4 of the top line.&nbsp; They did that in the 1990s.&nbsp; As I learned about agile, and got my certification, the wheel, the original step 1, needed to be replaced and updated.&nbsp; The wheel was doing more than it was designed for.&nbsp; Imagine, if you will:<br><br><div class=separator style=clear:both;text-align:center><a href=http://automotivepartsuppliers.com/top-5-reasons-overload-car/ target=_blank><img alt="Don't Overload Your Car" border=0 src=/img/agile-development-on-infrastructure_2_Overloaded-Car-240x300.jpg data-original-height=300 data-original-width=240 title="Don't Overload Your Car"></a>
 <span id=goog_352383586></span>
 <a href=https://www.blogger.com/></a>
 <span id=goog_352383587></span></div><br><br>This is much harder than developing for something new.&nbsp; I work for a big company, so it's important to understand that millions of dollars of revenue, per month, is travelling in this metaphorical car.&nbsp; I can't pull out the wheel work on it.&nbsp; I can't build part of a wheel, and present it to the production product flow.<br><br><h3>Rethinking the Customer</h3><div><br></div>I didn't realize it at the time, but my customer was tests.&nbsp; Fairly early in the project, a test suite was built to validate things.&nbsp; The first time we, as a group, were able to validate what we were doing against a test suite, we had our first MVP.&nbsp; That took 8 sprints (about four months).&nbsp; I forgive this for anybody new to Agile and anybody working on anything truly large.&nbsp; That four months wasn't aimless.<br><br>Think of this time as the wheel above.&nbsp; Wheels, when they cannot simply be sourced from somewhere, are amazingly complex.&nbsp; What was built during that time was very important, and I'm honestly not sure, even in hind-sight, how we could have brought that chunk down.<br><br>The project I worked on took 20 months (on an 18 month estimate), and there was no part of this project that could actually be used in production until the day it was done.&nbsp; Yet, I couldn't have done that project without Agile methodologies, and I couldn't have done it without several minimum viable product points.&nbsp; The tests were early enough so that we didn't waste time doing something that was broken, they were unforgiving, and they are still useful for further improvements to this day.<br><br><br>Why I think I can talk about this:&nbsp;&nbsp;<a href=https://www.scrumalliance.org/community/profile/gvollink>https://www.scrumalliance.org/community/profile/gvollink</a></div></div><footer class=post-footer><ul class=post-tags><li><a href=https://blog.vollink.nyc/tags/blog/>blog</a></li><li><a href=https://blog.vollink.nyc/tags/tech/>tech</a></li></ul><nav class=paginav><a class=prev href=https://blog.vollink.nyc/post/2018/01/the-agony-of-no-heat/><span class=title>« Prev</span><br><span>The Agony of No Heat</span></a>
diff --git a/htdocs/post/2019/03/managing-difficult-problems/index.html b/htdocs/post/2019/03/managing-difficult-problems/index.html
index 1b17f611a7204f246451ff3534d2b8178ba55631..a5226e1172eb2f06ff8db32d6bf3d7cc3c2491fb 100644
--- a/htdocs/post/2019/03/managing-difficult-problems/index.html
+++ b/htdocs/post/2019/03/managing-difficult-problems/index.html
@@ -3,7 +3,7 @@ Here's that one weird trick:I do the depth of reading myself.&nbsp; If I see mul
 <link rel=icon href=https://blog.vollink.nyc/favicon.ico><link rel=icon type=image/png sizes=16x16 href=https://blog.vollink.nyc/favicon-16x16.png><link rel=icon type=image/png sizes=32x32 href=https://blog.vollink.nyc/favicon-32x32.png><link rel=apple-touch-icon href=https://blog.vollink.nyc/apple-touch-icon.png><link rel=mask-icon href=https://blog.vollink.nyc/safari-pinned-tab.svg><meta name=theme-color content="#2e2e33"><meta name=msapplication-TileColor content="#2e2e33"><noscript><style>#theme-toggle,.top-link{display:none}</style><style>@media(prefers-color-scheme:dark){:root{--theme:rgb(29, 30, 32);--entry:rgb(46, 46, 51);--primary:rgb(218, 218, 219);--secondary:rgb(155, 156, 157);--tertiary:rgb(65, 66, 68);--content:rgb(196, 196, 197);--hljs-bg:rgb(46, 46, 51);--code-bg:rgb(55, 56, 62);--border:rgb(51, 51, 51)}.list{background:var(--theme)}.list:not(.dark)::-webkit-scrollbar-track{background:0 0}.list:not(.dark)::-webkit-scrollbar-thumb{border-color:var(--theme)}}</style></noscript><meta property="og:title" content="Managing Difficult Problems"><meta property="og:description" content="I can no longer count the number of times that I've been able to re-invigorate a problem investigation, even if I have zero visibility on the actual problem.&nbsp; This takes some self-discipline that doesn't come easy, especially during an urgent investigation.
 Here's that one weird trick:I do the depth of reading myself.&nbsp; If I see multiple threads, I'll read all of them.&nbsp; Then I will write as short a summary of all of the facts that I can."><meta property="og:type" content="article"><meta property="og:url" content="https://blog.vollink.nyc/post/2019/03/managing-difficult-problems/"><meta property="article:section" content="post"><meta property="article:published_time" content="2019-03-09T12:00:00-05:00"><meta property="article:modified_time" content="2019-03-09T12:15:02-05:00"><meta property="og:site_name" content="On My Mind..."><meta name=twitter:card content="summary"><meta name=twitter:title content="Managing Difficult Problems"><meta name=twitter:description content="I can no longer count the number of times that I've been able to re-invigorate a problem investigation, even if I have zero visibility on the actual problem.&nbsp; This takes some self-discipline that doesn't come easy, especially during an urgent investigation.
 Here's that one weird trick:I do the depth of reading myself.&nbsp; If I see multiple threads, I'll read all of them.&nbsp; Then I will write as short a summary of all of the facts that I can."><script type=application/ld+json>{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Posts","item":"https://blog.vollink.nyc/post/"},{"@type":"ListItem","position":2,"name":"Managing Difficult Problems","item":"https://blog.vollink.nyc/post/2019/03/managing-difficult-problems/"}]}</script><script type=application/ld+json>{"@context":"https://schema.org","@type":"BlogPosting","headline":"Managing Difficult Problems","name":"Managing Difficult Problems","description":"I can no longer count the number of times that I've been able to re-invigorate a problem investigation, even if I have zero visibility on the actual problem.\u0026nbsp; This takes some self-discipline that doesn't come easy, especially during an urgent investigation.\nHere's that one weird trick:I do the depth of reading myself.\u0026nbsp; If I see multiple threads, I'll read all of them.\u0026nbsp; Then I will write as short a summary of all of the facts that I can.","keywords":["blog","human nature","management","work"],"articleBody":"I can no longer count the number of times that I've been able to re-invigorate a problem investigation, even if I have zero visibility on the actual problem. This takes some self-discipline that doesn't come easy, especially during an urgent investigation.\nHere's that one weird trick:I do the depth of reading myself. If I see multiple threads, I'll read all of them. Then I will write as short a summary of all of the facts that I can. Re-summarizing all of the relevant facts that have been shared, pointing out the places where multiple people or departments have a differing view of the facts, and sometimes suggesting a list of questions that should be put back to the customer (the person who is reporting the problem), will usually refocus and reinvigorate the investigation.\nWait what?When something goes wrong, e-mails have a tendency of getting very long reply chains as people add a few sentences and add more people who might be able to help. This is pretty normal, and isn't actually a terrible way to go about finding a problem solution. The urgency is obvious, so most people just skim the top-most e-mails, and keep the chain moving.\nOn a normal day, few people will read e-mails beyond about two pages worth of text (some report as little as a paragraph). During a difficult or urgent problem, depth of reading is not likely to get better. I'm not here to lament this, it is just a fact about humans.\nWhy?I started doing this back when I did product support (so long ago it doesn't even hit my resume anymore). It came from a place of wanting to be able to contribute even when I didn't know the answer myself. Sometimes by writing the summary, I would be able to see the actual problem and just answer with a solution. Most often, though, the questions I would come up with would lead directly to a solution. Frankly, it might be one of the things that I did that helped others think that I should be a manager.\nNow, as a manager, I know that I am rarely going to have the answer, so it seems natural to continue doing the depth of reading and actually contributing back a summary and a few questions. That is, to me, the very act of trying to write a summary of a problem naturally leads to important insights into a problem.\nProblem spaceIt would seem that the people who have been on the thread since the beginning would be annoyed at seeing all the things they already said be repeated. This has happened twice that I know of over the last 20 years. It has never happened when the summary also brings up a disparity of reported facts. In any case, I've taken to explicitly starting with a line similar to this, \"I am summarizing this thread to clarify my understanding of what is going on here, and to introduce the problem to those recently added.\" I also find it very important to end with something like this, \"If I have anything wrong, or I missed an important detail, please let me know.\"\nEvery time I've done this, it has led to immediate changes. First, it is a point where a large number of people can legitimately leave the investigation (even if they can just start ignoring the thread). That is, some folks who know they have nothing to do with the problem are literally only hanging on to make sure that their one piece of input was heard. Especially in cases where I am pointing out a dispute in the facts, a number of people will re-investigate the dispute. About half of the time, the problem itself lies within the dispute.\nFeedback  Please ask questions if you have them. Also feel free to let me know if there's anything above that I should add. I wish to improve this if I can. After some time, I'm likely to republish this on LinkedIn.   ","wordCount":"668","inLanguage":"en","datePublished":"2019-03-09T12:00:00.001-05:00","dateModified":"2019-03-09T12:15:02.529-05:00","author":{"@type":"Person","name":"Gary Allen Vollink"},"mainEntityOfPage":{"@type":"WebPage","@id":"https://blog.vollink.nyc/post/2019/03/managing-difficult-problems/"},"publisher":{"@type":"Organization","name":"On My Mind...","logo":{"@type":"ImageObject","url":"https://blog.vollink.nyc/favicon.ico"}}}</script></head><body id=top><script>localStorage.getItem("pref-theme")==="dark"?document.body.classList.add("dark"):localStorage.getItem("pref-theme")==="light"?document.body.classList.remove("dark"):window.matchMedia("(prefers-color-scheme: dark)").matches&&document.body.classList.add("dark")</script><header class=header><nav class=nav><div class=logo><a href=https://blog.vollink.nyc/ accesskey=h title="Home (Alt + H)"><img src=https://blog.vollink.nyc/AllenWrench.gif alt=logo aria-label=logo height=35>Home</a>
-<span class=logo-switches><button id=theme-toggle accesskey=t title="(Alt + T)"><svg id="moon" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentcolor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M21 12.79A9 9 0 1111.21 3 7 7 0 0021 12.79z"/></svg><svg id="sun" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentcolor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="5"/><line x1="12" y1="1" x2="12" y2="3"/><line x1="12" y1="21" x2="12" y2="23"/><line x1="4.22" y1="4.22" x2="5.64" y2="5.64"/><line x1="18.36" y1="18.36" x2="19.78" y2="19.78"/><line x1="1" y1="12" x2="3" y2="12"/><line x1="21" y1="12" x2="23" y2="12"/><line x1="4.22" y1="19.78" x2="5.64" y2="18.36"/><line x1="18.36" y1="5.64" x2="19.78" y2="4.22"/></svg></button></span></div><ul id=menu><li><a href=https://blog.vollink.nyc/post/ title=Posts><span>Posts</span></a></li><li><a href=https://blog.vollink.nyc/tags/ title=Tags><span>Tags</span></a></li><li><a href=https://home.vollink.com/ title=home.vollink.com><span>home.vollink.com</span></a></li></ul></nav></header><main class=main><article class=post-single><header class=post-header><div class=breadcrumbs><a href=https://blog.vollink.nyc/>Home</a>&nbsp;»&nbsp;<a href=https://blog.vollink.nyc/post/>Posts</a></div><h1 class=post-title>Managing Difficult Problems</h1><div class=post-meta><span title="2019-03-09 12:00:00.001 -0500 -0500">9 Mar 2019</span>&nbsp;·&nbsp;4 min&nbsp;·&nbsp;Gary Allen Vollink</div></header><div class=post-content><div dir=ltr style=text-align:left trbidi=on>I can no longer count the number of times that I've been able to re-invigorate a problem investigation, even if I have zero visibility on the actual problem.&nbsp; This takes some self-discipline that doesn't come easy, especially during an urgent investigation.<br><h3>Here's that one weird trick:</h3>I do the depth of reading myself.&nbsp; If I see multiple threads, I'll read all of them.&nbsp; Then I will write as short a summary of all of the facts that I can.&nbsp; Re-summarizing all of the relevant facts that have been shared, pointing out the places where multiple people or departments have a differing view of the facts, and sometimes suggesting a list of questions that should be put back to the customer (the person who is reporting the problem), will usually refocus and reinvigorate the investigation.<br><h3 style=text-align:left>Wait what?</h3>When something goes wrong, e-mails have a tendency of getting very long reply chains as people add a few sentences and add more people who might be able to help.&nbsp; This is pretty normal, and isn't actually a terrible way to go about finding a problem solution.&nbsp; The urgency is obvious, so most people just skim the top-most e-mails, and keep the chain moving.<br><br>On a normal day, few people will read e-mails beyond about two pages worth of text (some report as little as a paragraph).&nbsp; During a difficult or urgent problem, depth of reading is not likely to get better.&nbsp; I'm not here to lament this, it is just a fact about humans.<br><h3 style=text-align:left>Why?</h3>I started doing this back when I did product support (so long ago it doesn't even hit my resume anymore).&nbsp; It came from a place of wanting to be able to contribute even when I didn't know the answer myself.&nbsp; Sometimes by writing the summary, I would be able to see the actual problem and just answer with a solution.&nbsp; Most often, though, the questions I would come up with would lead directly to a solution.&nbsp; Frankly, it might be one of the things that I did that helped others think that I should be a manager.<br><br>Now, as a manager, I know that I am rarely going to have the answer, so it seems natural to continue doing the depth of reading and actually contributing back a summary and a few questions.&nbsp; That is, to me, the very act of trying to write a summary of a problem naturally leads to important insights into a problem.<br><h3 style=text-align:left>Problem space</h3>It would seem that the people who have been on the thread since the beginning would be annoyed at seeing all the things they already said be repeated.&nbsp; This has happened twice that I know of over the last 20 years.&nbsp; It has never happened when the summary also brings up a disparity of reported facts.&nbsp; In any case, I've taken to explicitly starting with a line similar to this, "I am summarizing this thread to clarify my understanding of what is going on here, and to introduce the problem to those recently added."&nbsp; I also find it very important to end with something like this, "If I have anything wrong, or I missed an important detail, please let me know."<br><br>Every time I've done this, it has led to immediate changes.&nbsp; First, it is a point where a large number of people can legitimately leave the investigation (even if they can just start ignoring the thread).&nbsp; That is, some folks who know they have nothing to do with the problem are literally only hanging on to make sure that their one piece of input was heard.&nbsp; Especially in cases where I am pointing out a dispute in the facts, a number of people will re-investigate the dispute.&nbsp; About half of the time, the problem itself lies within the dispute.<br><h3 style=text-align:left>Feedback</h3><div>Please ask questions if you have them.&nbsp; Also feel free to let me know if there's anything above that I should add.&nbsp; I wish to improve this if I can.&nbsp; After some time, I'm likely to republish this on LinkedIn.</div></div></div><footer class=post-footer><ul class=post-tags><li><a href=https://blog.vollink.nyc/tags/blog/>blog</a></li><li><a href=https://blog.vollink.nyc/tags/human-nature/>human nature</a></li><li><a href=https://blog.vollink.nyc/tags/management/>management</a></li><li><a href=https://blog.vollink.nyc/tags/work/>work</a></li></ul><nav class=paginav><a class=prev href=https://blog.vollink.nyc/post/2019/03/movie-wont-you-be-my-neighbor-2018/><span class=title>« Prev</span><br><span>[Movie] Won't You Be My Neighbor (2018)</span></a>
+<span class=logo-switches><button id=theme-toggle accesskey=t title="(Alt + T)"><svg id="moon" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentcolor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M21 12.79A9 9 0 1111.21 3 7 7 0 0021 12.79z"/></svg><svg id="sun" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentcolor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="5"/><line x1="12" y1="1" x2="12" y2="3"/><line x1="12" y1="21" x2="12" y2="23"/><line x1="4.22" y1="4.22" x2="5.64" y2="5.64"/><line x1="18.36" y1="18.36" x2="19.78" y2="19.78"/><line x1="1" y1="12" x2="3" y2="12"/><line x1="21" y1="12" x2="23" y2="12"/><line x1="4.22" y1="19.78" x2="5.64" y2="18.36"/><line x1="18.36" y1="5.64" x2="19.78" y2="4.22"/></svg></button></span></div><ul id=menu><li><a href=https://blog.vollink.nyc/post/ title=Posts><span>Posts</span></a></li><li><a href=https://blog.vollink.nyc/tags/ title=Tags><span>Tags</span></a></li><li><a href=https://home.vollink.com/ title=home.vollink.com><span>home.vollink.com</span></a></li></ul></nav></header><main class=main><article class=post-single><header class=post-header><div class=breadcrumbs><a href=https://blog.vollink.nyc/>Home</a>&nbsp;»&nbsp;<a href=https://blog.vollink.nyc/post/>Posts</a></div><h1 class=post-title>Managing Difficult Problems</h1><div class=post-meta><span title="2019-03-09 12:00:00.001 -0500 -0500">9 Mar 2019</span>&nbsp;·&nbsp;4 min&nbsp;·&nbsp;Gary Allen Vollink</div></header><div class=toc><details><summary accesskey=c title="(Alt + C)"><span class=details>Table of Contents</span></summary><div class=inner><ul><li><a href=# aria-label="Here's that one weird trick:">Here's that one weird trick:</a></li><li><a href=# aria-label="Wait what?">Wait what?</a></li><li><a href=# aria-label=Why?>Why?</a></li><li><a href=# aria-label="Problem space">Problem space</a></li><li><a href=# aria-label=Feedback>Feedback</a></li></ul></div></details></div><div class=post-content><div dir=ltr style=text-align:left trbidi=on>I can no longer count the number of times that I've been able to re-invigorate a problem investigation, even if I have zero visibility on the actual problem.&nbsp; This takes some self-discipline that doesn't come easy, especially during an urgent investigation.<br><h3>Here's that one weird trick:</h3>I do the depth of reading myself.&nbsp; If I see multiple threads, I'll read all of them.&nbsp; Then I will write as short a summary of all of the facts that I can.&nbsp; Re-summarizing all of the relevant facts that have been shared, pointing out the places where multiple people or departments have a differing view of the facts, and sometimes suggesting a list of questions that should be put back to the customer (the person who is reporting the problem), will usually refocus and reinvigorate the investigation.<br><h3 style=text-align:left>Wait what?</h3>When something goes wrong, e-mails have a tendency of getting very long reply chains as people add a few sentences and add more people who might be able to help.&nbsp; This is pretty normal, and isn't actually a terrible way to go about finding a problem solution.&nbsp; The urgency is obvious, so most people just skim the top-most e-mails, and keep the chain moving.<br><br>On a normal day, few people will read e-mails beyond about two pages worth of text (some report as little as a paragraph).&nbsp; During a difficult or urgent problem, depth of reading is not likely to get better.&nbsp; I'm not here to lament this, it is just a fact about humans.<br><h3 style=text-align:left>Why?</h3>I started doing this back when I did product support (so long ago it doesn't even hit my resume anymore).&nbsp; It came from a place of wanting to be able to contribute even when I didn't know the answer myself.&nbsp; Sometimes by writing the summary, I would be able to see the actual problem and just answer with a solution.&nbsp; Most often, though, the questions I would come up with would lead directly to a solution.&nbsp; Frankly, it might be one of the things that I did that helped others think that I should be a manager.<br><br>Now, as a manager, I know that I am rarely going to have the answer, so it seems natural to continue doing the depth of reading and actually contributing back a summary and a few questions.&nbsp; That is, to me, the very act of trying to write a summary of a problem naturally leads to important insights into a problem.<br><h3 style=text-align:left>Problem space</h3>It would seem that the people who have been on the thread since the beginning would be annoyed at seeing all the things they already said be repeated.&nbsp; This has happened twice that I know of over the last 20 years.&nbsp; It has never happened when the summary also brings up a disparity of reported facts.&nbsp; In any case, I've taken to explicitly starting with a line similar to this, "I am summarizing this thread to clarify my understanding of what is going on here, and to introduce the problem to those recently added."&nbsp; I also find it very important to end with something like this, "If I have anything wrong, or I missed an important detail, please let me know."<br><br>Every time I've done this, it has led to immediate changes.&nbsp; First, it is a point where a large number of people can legitimately leave the investigation (even if they can just start ignoring the thread).&nbsp; That is, some folks who know they have nothing to do with the problem are literally only hanging on to make sure that their one piece of input was heard.&nbsp; Especially in cases where I am pointing out a dispute in the facts, a number of people will re-investigate the dispute.&nbsp; About half of the time, the problem itself lies within the dispute.<br><h3 style=text-align:left>Feedback</h3><div>Please ask questions if you have them.&nbsp; Also feel free to let me know if there's anything above that I should add.&nbsp; I wish to improve this if I can.&nbsp; After some time, I'm likely to republish this on LinkedIn.</div></div></div><footer class=post-footer><ul class=post-tags><li><a href=https://blog.vollink.nyc/tags/blog/>blog</a></li><li><a href=https://blog.vollink.nyc/tags/human-nature/>human nature</a></li><li><a href=https://blog.vollink.nyc/tags/management/>management</a></li><li><a href=https://blog.vollink.nyc/tags/work/>work</a></li></ul><nav class=paginav><a class=prev href=https://blog.vollink.nyc/post/2019/03/movie-wont-you-be-my-neighbor-2018/><span class=title>« Prev</span><br><span>[Movie] Won't You Be My Neighbor (2018)</span></a>
 <a class=next href=https://blog.vollink.nyc/post/2019/03/book-fear-by-bob-woodward/><span class=title>Next »</span><br><span>[Book] Fear by Bob Woodward</span></a></nav><div class=share-buttons><a target=_blank rel="noopener noreferrer" aria-label="share Managing Difficult Problems on twitter" href="https://twitter.com/intent/tweet/?text=Managing%20Difficult%20Problems&url=https%3a%2f%2fblog.vollink.nyc%2fpost%2f2019%2f03%2fmanaging-difficult-problems%2f&hashtags=blog%2chumannature%2cmanagement%2cwork"><svg viewBox="0 0 512 512"><path d="M449.446.0C483.971.0 512 28.03 512 62.554v386.892C512 483.97 483.97 512 449.446 512H62.554c-34.524.0-62.554-28.03-62.554-62.554V62.554c0-34.524 28.029-62.554 62.554-62.554h386.892zM195.519 424.544c135.939.0 210.268-112.643 210.268-210.268.0-3.218.0-6.437-.153-9.502 14.406-10.421 26.973-23.448 36.935-38.314-13.18 5.824-27.433 9.809-42.452 11.648 15.326-9.196 26.973-23.602 32.49-40.92-14.252 8.429-30.038 14.56-46.896 17.931-13.487-14.406-32.644-23.295-53.946-23.295-40.767.0-73.87 33.104-73.87 73.87.0 5.824.613 11.494 1.992 16.858-61.456-3.065-115.862-32.49-152.337-77.241-6.284 10.881-9.962 23.601-9.962 37.088.0 25.594 13.027 48.276 32.95 61.456-12.107-.307-23.448-3.678-33.41-9.196v.92c0 35.862 25.441 65.594 59.311 72.49-6.13 1.686-12.72 2.606-19.464 2.606-4.751.0-9.348-.46-13.946-1.38 9.349 29.426 36.628 50.728 68.965 51.341-25.287 19.771-57.164 31.571-91.8 31.571-5.977.0-11.801-.306-17.625-1.073 32.337 21.15 71.264 33.41 112.95 33.41z"/></svg></a><a target=_blank rel="noopener noreferrer" aria-label="share Managing Difficult Problems on linkedin" href="https://www.linkedin.com/shareArticle?mini=true&url=https%3a%2f%2fblog.vollink.nyc%2fpost%2f2019%2f03%2fmanaging-difficult-problems%2f&title=Managing%20Difficult%20Problems&summary=Managing%20Difficult%20Problems&source=https%3a%2f%2fblog.vollink.nyc%2fpost%2f2019%2f03%2fmanaging-difficult-problems%2f"><svg viewBox="0 0 512 512"><path d="M449.446.0C483.971.0 512 28.03 512 62.554v386.892C512 483.97 483.97 512 449.446 512H62.554c-34.524.0-62.554-28.03-62.554-62.554V62.554c0-34.524 28.029-62.554 62.554-62.554h386.892zM160.461 423.278V197.561h-75.04v225.717h75.04zm270.539.0V293.839c0-69.333-37.018-101.586-86.381-101.586-39.804.0-57.634 21.891-67.617 37.266v-31.958h-75.021c.995 21.181.0 225.717.0 225.717h75.02V297.222c0-6.748.486-13.492 2.474-18.315 5.414-13.475 17.767-27.434 38.494-27.434 27.135.0 38.007 20.707 38.007 51.037v120.768H431zM123.448 88.722C97.774 88.722 81 105.601 81 127.724c0 21.658 16.264 39.002 41.455 39.002h.484c26.165.0 42.452-17.344 42.452-39.002-.485-22.092-16.241-38.954-41.943-39.002z"/></svg></a><a target=_blank rel="noopener noreferrer" aria-label="share Managing Difficult Problems on reddit" href="https://reddit.com/submit?url=https%3a%2f%2fblog.vollink.nyc%2fpost%2f2019%2f03%2fmanaging-difficult-problems%2f&title=Managing%20Difficult%20Problems"><svg viewBox="0 0 512 512"><path d="M449.446.0C483.971.0 512 28.03 512 62.554v386.892C512 483.97 483.97 512 449.446 512H62.554c-34.524.0-62.554-28.03-62.554-62.554V62.554c0-34.524 28.029-62.554 62.554-62.554h386.892zM446 265.638c0-22.964-18.616-41.58-41.58-41.58-11.211.0-21.361 4.457-28.841 11.666-28.424-20.508-67.586-33.757-111.204-35.278l18.941-89.121 61.884 13.157c.756 15.734 13.642 28.29 29.56 28.29 16.407.0 29.706-13.299 29.706-29.701.0-16.403-13.299-29.702-29.706-29.702-11.666.0-21.657 6.792-26.515 16.578l-69.105-14.69c-1.922-.418-3.939-.042-5.585 1.036-1.658 1.073-2.811 2.761-3.224 4.686l-21.152 99.438c-44.258 1.228-84.046 14.494-112.837 35.232-7.468-7.164-17.589-11.591-28.757-11.591-22.965.0-41.585 18.616-41.585 41.58.0 16.896 10.095 31.41 24.568 37.918-.639 4.135-.99 8.328-.99 12.576.0 63.977 74.469 115.836 166.33 115.836s166.334-51.859 166.334-115.836c0-4.218-.347-8.387-.977-12.493 14.564-6.47 24.735-21.034 24.735-38.001zM326.526 373.831c-20.27 20.241-59.115 21.816-70.534 21.816-11.428.0-50.277-1.575-70.522-21.82-3.007-3.008-3.007-7.882.0-10.889 3.003-2.999 7.882-3.003 10.885.0 12.777 12.781 40.11 17.317 59.637 17.317 19.522.0 46.86-4.536 59.657-17.321 3.016-2.999 7.886-2.995 10.885.008 3.008 3.011 3.003 7.882-.008 10.889zm-5.23-48.781c-16.373.0-29.701-13.324-29.701-29.698.0-16.381 13.328-29.714 29.701-29.714 16.378.0 29.706 13.333 29.706 29.714.0 16.374-13.328 29.698-29.706 29.698zM160.91 295.348c0-16.381 13.328-29.71 29.714-29.71 16.369.0 29.689 13.329 29.689 29.71.0 16.373-13.32 29.693-29.689 29.693-16.386.0-29.714-13.32-29.714-29.693z"/></svg></a></div></footer></article></main><footer class=footer><span>&copy; 2022 <a href=https://blog.vollink.nyc/>On My Mind...</a></span>
 <span>Powered by
 <a href=https://gohugo.io/ rel="noopener noreferrer" target=_blank>Hugo</a> &
diff --git a/htdocs/post/2019/07/book-binti-trilogy-by-nnedi-okorafor/index.html b/htdocs/post/2019/07/book-binti-trilogy-by-nnedi-okorafor/index.html
index e239c1e53743d7e185b38a173278393f104398cf..c63effcbdc6cd5e412e240483d18f5efee5d79cf 100644
--- a/htdocs/post/2019/07/book-binti-trilogy-by-nnedi-okorafor/index.html
+++ b/htdocs/post/2019/07/book-binti-trilogy-by-nnedi-okorafor/index.html
@@ -3,7 +3,7 @@ There is a lot to unpack in the world-building and the world is built along with
 <link rel=icon href=https://blog.vollink.nyc/favicon.ico><link rel=icon type=image/png sizes=16x16 href=https://blog.vollink.nyc/favicon-16x16.png><link rel=icon type=image/png sizes=32x32 href=https://blog.vollink.nyc/favicon-32x32.png><link rel=apple-touch-icon href=https://blog.vollink.nyc/apple-touch-icon.png><link rel=mask-icon href=https://blog.vollink.nyc/safari-pinned-tab.svg><meta name=theme-color content="#2e2e33"><meta name=msapplication-TileColor content="#2e2e33"><noscript><style>#theme-toggle,.top-link{display:none}</style><style>@media(prefers-color-scheme:dark){:root{--theme:rgb(29, 30, 32);--entry:rgb(46, 46, 51);--primary:rgb(218, 218, 219);--secondary:rgb(155, 156, 157);--tertiary:rgb(65, 66, 68);--content:rgb(196, 196, 197);--hljs-bg:rgb(46, 46, 51);--code-bg:rgb(55, 56, 62);--border:rgb(51, 51, 51)}.list{background:var(--theme)}.list:not(.dark)::-webkit-scrollbar-track{background:0 0}.list:not(.dark)::-webkit-scrollbar-thumb{border-color:var(--theme)}}</style></noscript><meta property="og:title" content="[Book] Binti Trilogy by Nnedi Okorafor"><meta property="og:description" content="Book cover   This short book (novella) is the first in the trilogy.&nbsp; Binti is the name of the main character.&nbsp; This book starts on a distant future (unspecified timeline) Earth where humans are now space-faring, and alien races are known.
 There is a lot to unpack in the world-building and the world is built along with the story.&nbsp; Each chapter is unusually episodic, in that some small part of the last scene of a previous chapter will be often be repeated at the beginning of the next."><meta property="og:type" content="article"><meta property="og:url" content="https://blog.vollink.nyc/post/2019/07/book-binti-trilogy-by-nnedi-okorafor/"><meta property="article:section" content="post"><meta property="article:published_time" content="2019-07-10T12:00:00-04:00"><meta property="article:modified_time" content="2019-07-10T12:00:14-04:00"><meta property="og:site_name" content="On My Mind..."><meta name=twitter:card content="summary"><meta name=twitter:title content="[Book] Binti Trilogy by Nnedi Okorafor"><meta name=twitter:description content="Book cover   This short book (novella) is the first in the trilogy.&nbsp; Binti is the name of the main character.&nbsp; This book starts on a distant future (unspecified timeline) Earth where humans are now space-faring, and alien races are known.
 There is a lot to unpack in the world-building and the world is built along with the story.&nbsp; Each chapter is unusually episodic, in that some small part of the last scene of a previous chapter will be often be repeated at the beginning of the next."><script type=application/ld+json>{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Posts","item":"https://blog.vollink.nyc/post/"},{"@type":"ListItem","position":2,"name":"[Book] Binti Trilogy by Nnedi Okorafor","item":"https://blog.vollink.nyc/post/2019/07/book-binti-trilogy-by-nnedi-okorafor/"}]}</script><script type=application/ld+json>{"@context":"https://schema.org","@type":"BlogPosting","headline":"[Book] Binti Trilogy by Nnedi Okorafor","name":"[Book] Binti Trilogy by Nnedi Okorafor","description":"Book cover   This short book (novella) is the first in the trilogy.\u0026nbsp; Binti is the name of the main character.\u0026nbsp; This book starts on a distant future (unspecified timeline) Earth where humans are now space-faring, and alien races are known.\nThere is a lot to unpack in the world-building and the world is built along with the story.\u0026nbsp; Each chapter is unusually episodic, in that some small part of the last scene of a previous chapter will be often be repeated at the beginning of the next.","keywords":["book-review","recommend","science-fiction","sff","young-adult"],"articleBody":"    Book cover   This short book (novella) is the first in the trilogy. Binti is the name of the main character. This book starts on a distant future (unspecified timeline) Earth where humans are now space-faring, and alien races are known.\nThere is a lot to unpack in the world-building and the world is built along with the story. Each chapter is unusually episodic, in that some small part of the last scene of a previous chapter will be often be repeated at the beginning of the next. This took a little getting used to, but I imagine is much easier for readers who are going to read one chapter, and put the book down for a day or two.\nLike much of my my favorite Sci-Fi, this book explores racial tensions and cultural wounds through the lens of the far off and vastly different. The character Binti's understanding of mathematics and electronics is described as magical, as if some humans evolved to be able to create and control electrical currents in their mind. It does a great service to explaining how distant future culture and humans have become from what we are used to now.\nThis is a great story, but is very brief, and suspect the book may have been better had it been a little bit longer. More world-building could have dropped in the first few chapters before the story really got going. The strength of this story is Binti's internal monologue, and how she navigates through harrowing tragedy and survival itself. I look forward to reading Binti: Home, the second book in the trilogy.\n    Book 2 Cover   Trigger warnings for terrorist violence and detailed gore. Read this if you like space-drama and stories that don't feature a love triangle (as so much YA does). Skip if Sci-Fi really isn't your thing.\n-----------\nBinti: Home   Binti: Home picks up nearly a year after the end of the first book, and follows Binti and Okwa (her Alien friend) on a visit back to Earth. The book is much longer than the first, and it does not have the episodic repeating of the last scene that the first book occasionally had.\nThere are seeds from book 1 that are mined and expanded, but the style of world building as the story unfolds is very useful as new elements are revealed and used as the story expands. This book continues to follow Binti's internal monologue and highlights the amount of change in who Binti is after the trauma of book 1.\nThe themes from book 1 are still there, but this book's theme seems to focus more on family bonds (and family fractures). This book ends on a very dramatic cliff-hanger, and really does not feel like a complete story.\nWhile it is possible to read book 1, and be satisfied with a story I don't recommend reading book 2 unless you are committed to also reading book 3, and ... maybe read my review of book 3 (just below).\n    Book 3 Cover   ----------\nBinti: The Night Mascarade\nBinti: The Night Masquerade picks up a heartbeat after Binti: Home, and Binti is still on Earth, but as she joins the tribe of her paternal grandmother, her nuclear family is in dire trouble. This third book is over twice as long as the first novella.\nThe first half of this book (maybe a little more than half) feels like the conclusion of Binti: Home. The second half feels like a different short story. I suspect that this book is delineated in the way it is because the theme focus is on intersectionality (and how much heartbreak comes from those who do not understand).\nI would have been more satisfied with the story had this book ended in the middle. The second half felt a little too much like it was pushing for a happy ending, and maybe in sensing that it was going too far, ended on a bittersweet note.\nAfter three books, this universe seems very ripe and full of subtleties. I really enjoy Binti's personality, but I feel like I was done with Binti's story in the middle of this book. That is, I would live to read about other characters in this universe. I want to know of the adventures of other alien races, some of which were even hinted about in these stories.\nOverall, I'm happy I read these books, but I can't say I recommend the second two as much as I'd highly recommend book 1. I think, perhaps, I feel the second half of this book really needed some technological foreshadowing. This is a place where the unfolding of world building along side the plot does a disservice to the reader. For me, at least, there is a point in the book that broke my suspension of disbelief.\nBinti\nScience Fiction, Young Adult\nTor Publishing\nReleased, 22 September 2015\nSoftcover, 96 pages\nBinti: Home\nScience Fiction, Young Adult\nTor Publishing\nReleased, 31 January 2017\nSoftcover, 166 pages\nBinti: The Night Masquerade\nScience Fiction, Young Adult\nTor Publishing\nReleased, 16 January 2018\nSoftcover, 208 pages  ","wordCount":"846","inLanguage":"en","datePublished":"2019-07-10T12:00:00-04:00","dateModified":"2019-07-10T12:00:14.808-04:00","author":{"@type":"Person","name":"Gary Allen Vollink"},"mainEntityOfPage":{"@type":"WebPage","@id":"https://blog.vollink.nyc/post/2019/07/book-binti-trilogy-by-nnedi-okorafor/"},"publisher":{"@type":"Organization","name":"On My Mind...","logo":{"@type":"ImageObject","url":"https://blog.vollink.nyc/favicon.ico"}}}</script></head><body id=top><script>localStorage.getItem("pref-theme")==="dark"?document.body.classList.add("dark"):localStorage.getItem("pref-theme")==="light"?document.body.classList.remove("dark"):window.matchMedia("(prefers-color-scheme: dark)").matches&&document.body.classList.add("dark")</script><header class=header><nav class=nav><div class=logo><a href=https://blog.vollink.nyc/ accesskey=h title="Home (Alt + H)"><img src=https://blog.vollink.nyc/AllenWrench.gif alt=logo aria-label=logo height=35>Home</a>
-<span class=logo-switches><button id=theme-toggle accesskey=t title="(Alt + T)"><svg id="moon" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentcolor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M21 12.79A9 9 0 1111.21 3 7 7 0 0021 12.79z"/></svg><svg id="sun" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentcolor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="5"/><line x1="12" y1="1" x2="12" y2="3"/><line x1="12" y1="21" x2="12" y2="23"/><line x1="4.22" y1="4.22" x2="5.64" y2="5.64"/><line x1="18.36" y1="18.36" x2="19.78" y2="19.78"/><line x1="1" y1="12" x2="3" y2="12"/><line x1="21" y1="12" x2="23" y2="12"/><line x1="4.22" y1="19.78" x2="5.64" y2="18.36"/><line x1="18.36" y1="5.64" x2="19.78" y2="4.22"/></svg></button></span></div><ul id=menu><li><a href=https://blog.vollink.nyc/post/ title=Posts><span>Posts</span></a></li><li><a href=https://blog.vollink.nyc/tags/ title=Tags><span>Tags</span></a></li><li><a href=https://home.vollink.com/ title=home.vollink.com><span>home.vollink.com</span></a></li></ul></nav></header><main class=main><article class=post-single><header class=post-header><div class=breadcrumbs><a href=https://blog.vollink.nyc/>Home</a>&nbsp;»&nbsp;<a href=https://blog.vollink.nyc/post/>Posts</a></div><h1 class=post-title>[Book] Binti Trilogy by Nnedi Okorafor</h1><div class=post-meta><span title="2019-07-10 12:00:00 -0400 -0400">10 Jul 2019</span>&nbsp;·&nbsp;4 min&nbsp;·&nbsp;Gary Allen Vollink</div></header><div class=post-content><div dir=ltr style=text-align:left trbidi=on><table cellpadding=0 cellspacing=0 class=tr-caption-container style=float:right;margin-left:1em;text-align:right><tbody><tr><td style=text-align:center><a href=https://3.bp.blogspot.com/-rt57a9ExLHc/XJWr7eqs7FI/AAAAAAAAHtI/0F0ED951m-sM7dbGgWuo6sZ0mMIKCCU6gCLcBGAs/s1600/Binti-1.jpg imageanchor=1 style=clear:right;margin-bottom:1em;margin-left:auto;margin-right:auto><img border=0 data-original-height=1600 data-original-width=1000 height=320 src=/img/binti-trilogy_1_Binti-1.jpg width=200></a></td></tr><tr><td class=tr-caption style=text-align:center>Book cover</td></tr></tbody></table>This short book (novella) is the first in the trilogy.&nbsp; Binti is the name of the main character.&nbsp; This book starts on a distant future (unspecified timeline) Earth where humans are now space-faring, and alien races are known.<br><br>There is a lot to unpack in the world-building and the world is built along with the story.&nbsp; Each chapter is unusually episodic, in that some small part of the last scene of a previous chapter will be often be repeated at the beginning of the next.&nbsp; This took a little getting used to, but I imagine is much easier for readers who are going to read one chapter, and put the book down for a day or two.<br><br>Like much of my my favorite Sci-Fi, this book explores racial tensions and cultural wounds through the lens of the far off and vastly different.&nbsp; The character Binti's understanding of mathematics and electronics is described as magical, as if some humans evolved to be able to create and control electrical currents in their mind.&nbsp; It does a great service to explaining how distant future culture and humans have become from what we are used to now.<br><br>This is a great story, but is very brief, and suspect the book may have been better had it been a little bit longer.&nbsp; More world-building could have dropped in the first few chapters before the story really got going.&nbsp; The strength of this story is Binti's internal monologue, and how she navigates through harrowing tragedy and survival itself.&nbsp; I look forward to reading Binti: Home, the second book in the trilogy.<br><br><table cellpadding=0 cellspacing=0 class=tr-caption-container style=float:right;text-align:right><tbody><tr><td style=text-align:center><a href=https://4.bp.blogspot.com/-XkzI1O5YXTA/XJhy4PyJX_I/AAAAAAAAHts/PvRAzWLbYRkOK5JHH9UTmVNUgfQjmxdfgCLcBGAs/s1600/BintiHome.jpg imageanchor=1 style=clear:right;margin-bottom:1em;margin-left:auto;margin-right:auto><img border=0 data-original-height=1360 data-original-width=850 height=320 src=/img/binti-trilogy_2_BintiHome.jpg width=200></a></td></tr><tr><td class=tr-caption style=text-align:center>Book 2 Cover</td></tr></tbody></table>Trigger warnings for terrorist violence and detailed gore.&nbsp; Read this if you like space-drama and stories that don't feature a love triangle (as so much YA does).&nbsp; Skip if Sci-Fi really isn't your thing.<br><br>-----------<br><h3 style=text-align:left>Binti: Home</h3><div><br></div>Binti: Home picks up nearly a year after the end of the first book, and follows Binti and Okwa (her Alien friend) on a visit back to Earth.&nbsp; The book is much longer than the first, and it does not have the episodic repeating of the last scene that the first book occasionally had.<br><br>There are seeds from book 1 that are mined and expanded, but the style of world building as the story unfolds is very useful as new elements are revealed and used as the story expands.&nbsp; This book continues to follow Binti's internal monologue and highlights the amount of change in who Binti is after the trauma of book 1.<br><br>The themes from book 1 are still there, but this book's theme seems to focus more on family bonds (and family fractures).&nbsp; This book ends on a very dramatic cliff-hanger, and really does not feel like a complete story.<br><br>While it is possible to read book 1, and be satisfied with a story I don't recommend reading book 2 unless you are committed to also reading book 3, and ... maybe read my review of book 3 (just below).<br><br><table cellpadding=0 cellspacing=0 class=tr-caption-container style=float:right;margin-left:1em;text-align:right><tbody><tr><td style=text-align:center><a href=https://3.bp.blogspot.com/-9umUVbklsiQ/XJh_FojOz3I/AAAAAAAAHt4/ODdDY7J_cXkgEoDAVPaAETvtQnA2A3d8wCLcBGAs/s1600/BintiMasq.jpg imageanchor=1 style=clear:right;margin-bottom:1em;margin-left:auto;margin-right:auto><img border=0 data-original-height=1360 data-original-width=850 height=320 src=/img/binti-trilogy_3_BintiMasq.jpg width=200></a></td></tr><tr><td class=tr-caption style=text-align:center>Book 3 Cover</td></tr></tbody></table>----------<br><h3 style=text-align:left>Binti: The Night Mascarade</h3><br>Binti: The Night Masquerade picks up a heartbeat after Binti: Home, and Binti is still on Earth, but as she joins the tribe of her paternal grandmother, her nuclear family is in dire trouble.&nbsp; This third book is over twice as long as the first novella.<br><br>The first half of this book (maybe a little more than half) feels like the conclusion of Binti: Home.&nbsp; The second half feels like a different short story.&nbsp; I suspect that this book is delineated in the way it is because the theme focus is on intersectionality (and how much heartbreak comes from those who do not understand).<br><br>I would have been more satisfied with the story had this book ended in the middle.&nbsp; The second half felt a little too much like it was pushing for a happy ending, and maybe in sensing that it was going too far, ended on a bittersweet note.<br><br>After three books, this universe seems very ripe and full of subtleties.&nbsp; I really enjoy Binti's personality, but I feel like I was done with Binti's story in the middle of this book.&nbsp; That is, I would live to read about other characters in this universe.&nbsp; I want to know of the adventures of other alien races, some of which were even hinted about in these stories.<br><br>Overall, I'm happy I read these books, but I can't say I recommend the second two as much as I'd highly recommend book 1.&nbsp; I think, perhaps, I feel the second half of this book really needed some technological foreshadowing.&nbsp; This is a place where the unfolding of world building along side the plot does a disservice to the reader.&nbsp; For me, at least, there is a point in the book that broke my <a href=https://tvtropes.org/pmwiki/pmwiki.php/Main/WillingSuspensionOfDisbelief target=_blank>suspension of disbelief</a>.<br><br><br><a name=more></a><a href=https://smile.amazon.com/dp/0765385252/Binti-Nnedi-Okorafor/ target=_blank>Binti</a><br>Science Fiction, Young Adult<br><a href=https://www.tor.com/2015/08/17/excerpts-binti-nnedi-okorafor/ target=_blank>Tor Publishing</a><br>Released, 22 September 2015<br>Softcover, 96 pages<br><br><a href=https://smile.amazon.com/dp/0765393115/Binti-Home-Nnedi-Okorafor/ target=_blank>Binti: Home</a><br>Science Fiction, Young Adult<br><a href=https://www.tor.com/2017/01/24/excerpts-binti-home-nnedi-okorafor/ target=_blank>Tor Publishing</a><br>Released, 31 January 2017<br>Softcover,&nbsp;166 pages<br><br><a href=https://smile.amazon.com/dp/0765393131/Binti-Night-Masquerade-Nnedi-Okorafor/ target=_blank>Binti:&nbsp;The Night Masquerade</a><br>Science Fiction, Young Adult<br><a href=https://www.tor.com/2017/11/21/excerpts-binti-the-night-masquerade-nnedi-okorafor/ target=_blank>Tor Publishing</a><br>Released, 16 January 2018<br>Softcover, 208 pages</div></div><footer class=post-footer><ul class=post-tags><li><a href=https://blog.vollink.nyc/tags/book-review/>book-review</a></li><li><a href=https://blog.vollink.nyc/tags/recommend/>recommend</a></li><li><a href=https://blog.vollink.nyc/tags/science-fiction/>science-fiction</a></li><li><a href=https://blog.vollink.nyc/tags/sff/>sff</a></li><li><a href=https://blog.vollink.nyc/tags/young-adult/>young-adult</a></li></ul><nav class=paginav><a class=prev href=https://blog.vollink.nyc/post/2019/07/book-treasure-island-by-robert-louis-stevenson/><span class=title>« Prev</span><br><span>[Book] Treasure Island by Robert Louis Stevenson</span></a>
+<span class=logo-switches><button id=theme-toggle accesskey=t title="(Alt + T)"><svg id="moon" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentcolor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M21 12.79A9 9 0 1111.21 3 7 7 0 0021 12.79z"/></svg><svg id="sun" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentcolor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="5"/><line x1="12" y1="1" x2="12" y2="3"/><line x1="12" y1="21" x2="12" y2="23"/><line x1="4.22" y1="4.22" x2="5.64" y2="5.64"/><line x1="18.36" y1="18.36" x2="19.78" y2="19.78"/><line x1="1" y1="12" x2="3" y2="12"/><line x1="21" y1="12" x2="23" y2="12"/><line x1="4.22" y1="19.78" x2="5.64" y2="18.36"/><line x1="18.36" y1="5.64" x2="19.78" y2="4.22"/></svg></button></span></div><ul id=menu><li><a href=https://blog.vollink.nyc/post/ title=Posts><span>Posts</span></a></li><li><a href=https://blog.vollink.nyc/tags/ title=Tags><span>Tags</span></a></li><li><a href=https://home.vollink.com/ title=home.vollink.com><span>home.vollink.com</span></a></li></ul></nav></header><main class=main><article class=post-single><header class=post-header><div class=breadcrumbs><a href=https://blog.vollink.nyc/>Home</a>&nbsp;»&nbsp;<a href=https://blog.vollink.nyc/post/>Posts</a></div><h1 class=post-title>[Book] Binti Trilogy by Nnedi Okorafor</h1><div class=post-meta><span title="2019-07-10 12:00:00 -0400 -0400">10 Jul 2019</span>&nbsp;·&nbsp;4 min&nbsp;·&nbsp;Gary Allen Vollink</div></header><div class=toc><details><summary accesskey=c title="(Alt + C)"><span class=details>Table of Contents</span></summary><div class=inner><ul><li><a href=# aria-label="Binti: Home">Binti: Home</a></li><li><a href=# aria-label="Binti: The Night Mascarade">Binti: The Night Mascarade</a></li></ul></div></details></div><div class=post-content><div dir=ltr style=text-align:left trbidi=on><table cellpadding=0 cellspacing=0 class=tr-caption-container style=float:right;margin-left:1em;text-align:right><tbody><tr><td style=text-align:center><a href=https://3.bp.blogspot.com/-rt57a9ExLHc/XJWr7eqs7FI/AAAAAAAAHtI/0F0ED951m-sM7dbGgWuo6sZ0mMIKCCU6gCLcBGAs/s1600/Binti-1.jpg imageanchor=1 style=clear:right;margin-bottom:1em;margin-left:auto;margin-right:auto><img border=0 data-original-height=1600 data-original-width=1000 height=320 src=/img/binti-trilogy_1_Binti-1.jpg width=200></a></td></tr><tr><td class=tr-caption style=text-align:center>Book cover</td></tr></tbody></table>This short book (novella) is the first in the trilogy.&nbsp; Binti is the name of the main character.&nbsp; This book starts on a distant future (unspecified timeline) Earth where humans are now space-faring, and alien races are known.<br><br>There is a lot to unpack in the world-building and the world is built along with the story.&nbsp; Each chapter is unusually episodic, in that some small part of the last scene of a previous chapter will be often be repeated at the beginning of the next.&nbsp; This took a little getting used to, but I imagine is much easier for readers who are going to read one chapter, and put the book down for a day or two.<br><br>Like much of my my favorite Sci-Fi, this book explores racial tensions and cultural wounds through the lens of the far off and vastly different.&nbsp; The character Binti's understanding of mathematics and electronics is described as magical, as if some humans evolved to be able to create and control electrical currents in their mind.&nbsp; It does a great service to explaining how distant future culture and humans have become from what we are used to now.<br><br>This is a great story, but is very brief, and suspect the book may have been better had it been a little bit longer.&nbsp; More world-building could have dropped in the first few chapters before the story really got going.&nbsp; The strength of this story is Binti's internal monologue, and how she navigates through harrowing tragedy and survival itself.&nbsp; I look forward to reading Binti: Home, the second book in the trilogy.<br><br><table cellpadding=0 cellspacing=0 class=tr-caption-container style=float:right;text-align:right><tbody><tr><td style=text-align:center><a href=https://4.bp.blogspot.com/-XkzI1O5YXTA/XJhy4PyJX_I/AAAAAAAAHts/PvRAzWLbYRkOK5JHH9UTmVNUgfQjmxdfgCLcBGAs/s1600/BintiHome.jpg imageanchor=1 style=clear:right;margin-bottom:1em;margin-left:auto;margin-right:auto><img border=0 data-original-height=1360 data-original-width=850 height=320 src=/img/binti-trilogy_2_BintiHome.jpg width=200></a></td></tr><tr><td class=tr-caption style=text-align:center>Book 2 Cover</td></tr></tbody></table>Trigger warnings for terrorist violence and detailed gore.&nbsp; Read this if you like space-drama and stories that don't feature a love triangle (as so much YA does).&nbsp; Skip if Sci-Fi really isn't your thing.<br><br>-----------<br><h3 style=text-align:left>Binti: Home</h3><div><br></div>Binti: Home picks up nearly a year after the end of the first book, and follows Binti and Okwa (her Alien friend) on a visit back to Earth.&nbsp; The book is much longer than the first, and it does not have the episodic repeating of the last scene that the first book occasionally had.<br><br>There are seeds from book 1 that are mined and expanded, but the style of world building as the story unfolds is very useful as new elements are revealed and used as the story expands.&nbsp; This book continues to follow Binti's internal monologue and highlights the amount of change in who Binti is after the trauma of book 1.<br><br>The themes from book 1 are still there, but this book's theme seems to focus more on family bonds (and family fractures).&nbsp; This book ends on a very dramatic cliff-hanger, and really does not feel like a complete story.<br><br>While it is possible to read book 1, and be satisfied with a story I don't recommend reading book 2 unless you are committed to also reading book 3, and ... maybe read my review of book 3 (just below).<br><br><table cellpadding=0 cellspacing=0 class=tr-caption-container style=float:right;margin-left:1em;text-align:right><tbody><tr><td style=text-align:center><a href=https://3.bp.blogspot.com/-9umUVbklsiQ/XJh_FojOz3I/AAAAAAAAHt4/ODdDY7J_cXkgEoDAVPaAETvtQnA2A3d8wCLcBGAs/s1600/BintiMasq.jpg imageanchor=1 style=clear:right;margin-bottom:1em;margin-left:auto;margin-right:auto><img border=0 data-original-height=1360 data-original-width=850 height=320 src=/img/binti-trilogy_3_BintiMasq.jpg width=200></a></td></tr><tr><td class=tr-caption style=text-align:center>Book 3 Cover</td></tr></tbody></table>----------<br><h3 style=text-align:left>Binti: The Night Mascarade</h3><br>Binti: The Night Masquerade picks up a heartbeat after Binti: Home, and Binti is still on Earth, but as she joins the tribe of her paternal grandmother, her nuclear family is in dire trouble.&nbsp; This third book is over twice as long as the first novella.<br><br>The first half of this book (maybe a little more than half) feels like the conclusion of Binti: Home.&nbsp; The second half feels like a different short story.&nbsp; I suspect that this book is delineated in the way it is because the theme focus is on intersectionality (and how much heartbreak comes from those who do not understand).<br><br>I would have been more satisfied with the story had this book ended in the middle.&nbsp; The second half felt a little too much like it was pushing for a happy ending, and maybe in sensing that it was going too far, ended on a bittersweet note.<br><br>After three books, this universe seems very ripe and full of subtleties.&nbsp; I really enjoy Binti's personality, but I feel like I was done with Binti's story in the middle of this book.&nbsp; That is, I would live to read about other characters in this universe.&nbsp; I want to know of the adventures of other alien races, some of which were even hinted about in these stories.<br><br>Overall, I'm happy I read these books, but I can't say I recommend the second two as much as I'd highly recommend book 1.&nbsp; I think, perhaps, I feel the second half of this book really needed some technological foreshadowing.&nbsp; This is a place where the unfolding of world building along side the plot does a disservice to the reader.&nbsp; For me, at least, there is a point in the book that broke my <a href=https://tvtropes.org/pmwiki/pmwiki.php/Main/WillingSuspensionOfDisbelief target=_blank>suspension of disbelief</a>.<br><br><br><a name=more></a><a href=https://smile.amazon.com/dp/0765385252/Binti-Nnedi-Okorafor/ target=_blank>Binti</a><br>Science Fiction, Young Adult<br><a href=https://www.tor.com/2015/08/17/excerpts-binti-nnedi-okorafor/ target=_blank>Tor Publishing</a><br>Released, 22 September 2015<br>Softcover, 96 pages<br><br><a href=https://smile.amazon.com/dp/0765393115/Binti-Home-Nnedi-Okorafor/ target=_blank>Binti: Home</a><br>Science Fiction, Young Adult<br><a href=https://www.tor.com/2017/01/24/excerpts-binti-home-nnedi-okorafor/ target=_blank>Tor Publishing</a><br>Released, 31 January 2017<br>Softcover,&nbsp;166 pages<br><br><a href=https://smile.amazon.com/dp/0765393131/Binti-Night-Masquerade-Nnedi-Okorafor/ target=_blank>Binti:&nbsp;The Night Masquerade</a><br>Science Fiction, Young Adult<br><a href=https://www.tor.com/2017/11/21/excerpts-binti-the-night-masquerade-nnedi-okorafor/ target=_blank>Tor Publishing</a><br>Released, 16 January 2018<br>Softcover, 208 pages</div></div><footer class=post-footer><ul class=post-tags><li><a href=https://blog.vollink.nyc/tags/book-review/>book-review</a></li><li><a href=https://blog.vollink.nyc/tags/recommend/>recommend</a></li><li><a href=https://blog.vollink.nyc/tags/science-fiction/>science-fiction</a></li><li><a href=https://blog.vollink.nyc/tags/sff/>sff</a></li><li><a href=https://blog.vollink.nyc/tags/young-adult/>young-adult</a></li></ul><nav class=paginav><a class=prev href=https://blog.vollink.nyc/post/2019/07/book-treasure-island-by-robert-louis-stevenson/><span class=title>« Prev</span><br><span>[Book] Treasure Island by Robert Louis Stevenson</span></a>
 <a class=next href=https://blog.vollink.nyc/post/2019/06/book-defy-the-worlds-by-claudia-gray/><span class=title>Next »</span><br><span>[Book] Defy The Worlds by Claudia Gray</span></a></nav><div class=share-buttons><a target=_blank rel="noopener noreferrer" aria-label="share [Book] Binti Trilogy by Nnedi Okorafor on twitter" href="https://twitter.com/intent/tweet/?text=%5bBook%5d%20Binti%20Trilogy%20by%20Nnedi%20Okorafor&url=https%3a%2f%2fblog.vollink.nyc%2fpost%2f2019%2f07%2fbook-binti-trilogy-by-nnedi-okorafor%2f&hashtags=book-review%2crecommend%2cscience-fiction%2csff%2cyoung-adult"><svg viewBox="0 0 512 512"><path d="M449.446.0C483.971.0 512 28.03 512 62.554v386.892C512 483.97 483.97 512 449.446 512H62.554c-34.524.0-62.554-28.03-62.554-62.554V62.554c0-34.524 28.029-62.554 62.554-62.554h386.892zM195.519 424.544c135.939.0 210.268-112.643 210.268-210.268.0-3.218.0-6.437-.153-9.502 14.406-10.421 26.973-23.448 36.935-38.314-13.18 5.824-27.433 9.809-42.452 11.648 15.326-9.196 26.973-23.602 32.49-40.92-14.252 8.429-30.038 14.56-46.896 17.931-13.487-14.406-32.644-23.295-53.946-23.295-40.767.0-73.87 33.104-73.87 73.87.0 5.824.613 11.494 1.992 16.858-61.456-3.065-115.862-32.49-152.337-77.241-6.284 10.881-9.962 23.601-9.962 37.088.0 25.594 13.027 48.276 32.95 61.456-12.107-.307-23.448-3.678-33.41-9.196v.92c0 35.862 25.441 65.594 59.311 72.49-6.13 1.686-12.72 2.606-19.464 2.606-4.751.0-9.348-.46-13.946-1.38 9.349 29.426 36.628 50.728 68.965 51.341-25.287 19.771-57.164 31.571-91.8 31.571-5.977.0-11.801-.306-17.625-1.073 32.337 21.15 71.264 33.41 112.95 33.41z"/></svg></a><a target=_blank rel="noopener noreferrer" aria-label="share [Book] Binti Trilogy by Nnedi Okorafor on linkedin" href="https://www.linkedin.com/shareArticle?mini=true&url=https%3a%2f%2fblog.vollink.nyc%2fpost%2f2019%2f07%2fbook-binti-trilogy-by-nnedi-okorafor%2f&title=%5bBook%5d%20Binti%20Trilogy%20by%20Nnedi%20Okorafor&summary=%5bBook%5d%20Binti%20Trilogy%20by%20Nnedi%20Okorafor&source=https%3a%2f%2fblog.vollink.nyc%2fpost%2f2019%2f07%2fbook-binti-trilogy-by-nnedi-okorafor%2f"><svg viewBox="0 0 512 512"><path d="M449.446.0C483.971.0 512 28.03 512 62.554v386.892C512 483.97 483.97 512 449.446 512H62.554c-34.524.0-62.554-28.03-62.554-62.554V62.554c0-34.524 28.029-62.554 62.554-62.554h386.892zM160.461 423.278V197.561h-75.04v225.717h75.04zm270.539.0V293.839c0-69.333-37.018-101.586-86.381-101.586-39.804.0-57.634 21.891-67.617 37.266v-31.958h-75.021c.995 21.181.0 225.717.0 225.717h75.02V297.222c0-6.748.486-13.492 2.474-18.315 5.414-13.475 17.767-27.434 38.494-27.434 27.135.0 38.007 20.707 38.007 51.037v120.768H431zM123.448 88.722C97.774 88.722 81 105.601 81 127.724c0 21.658 16.264 39.002 41.455 39.002h.484c26.165.0 42.452-17.344 42.452-39.002-.485-22.092-16.241-38.954-41.943-39.002z"/></svg></a><a target=_blank rel="noopener noreferrer" aria-label="share [Book] Binti Trilogy by Nnedi Okorafor on reddit" href="https://reddit.com/submit?url=https%3a%2f%2fblog.vollink.nyc%2fpost%2f2019%2f07%2fbook-binti-trilogy-by-nnedi-okorafor%2f&title=%5bBook%5d%20Binti%20Trilogy%20by%20Nnedi%20Okorafor"><svg viewBox="0 0 512 512"><path d="M449.446.0C483.971.0 512 28.03 512 62.554v386.892C512 483.97 483.97 512 449.446 512H62.554c-34.524.0-62.554-28.03-62.554-62.554V62.554c0-34.524 28.029-62.554 62.554-62.554h386.892zM446 265.638c0-22.964-18.616-41.58-41.58-41.58-11.211.0-21.361 4.457-28.841 11.666-28.424-20.508-67.586-33.757-111.204-35.278l18.941-89.121 61.884 13.157c.756 15.734 13.642 28.29 29.56 28.29 16.407.0 29.706-13.299 29.706-29.701.0-16.403-13.299-29.702-29.706-29.702-11.666.0-21.657 6.792-26.515 16.578l-69.105-14.69c-1.922-.418-3.939-.042-5.585 1.036-1.658 1.073-2.811 2.761-3.224 4.686l-21.152 99.438c-44.258 1.228-84.046 14.494-112.837 35.232-7.468-7.164-17.589-11.591-28.757-11.591-22.965.0-41.585 18.616-41.585 41.58.0 16.896 10.095 31.41 24.568 37.918-.639 4.135-.99 8.328-.99 12.576.0 63.977 74.469 115.836 166.33 115.836s166.334-51.859 166.334-115.836c0-4.218-.347-8.387-.977-12.493 14.564-6.47 24.735-21.034 24.735-38.001zM326.526 373.831c-20.27 20.241-59.115 21.816-70.534 21.816-11.428.0-50.277-1.575-70.522-21.82-3.007-3.008-3.007-7.882.0-10.889 3.003-2.999 7.882-3.003 10.885.0 12.777 12.781 40.11 17.317 59.637 17.317 19.522.0 46.86-4.536 59.657-17.321 3.016-2.999 7.886-2.995 10.885.008 3.008 3.011 3.003 7.882-.008 10.889zm-5.23-48.781c-16.373.0-29.701-13.324-29.701-29.698.0-16.381 13.328-29.714 29.701-29.714 16.378.0 29.706 13.333 29.706 29.714.0 16.374-13.328 29.698-29.706 29.698zM160.91 295.348c0-16.381 13.328-29.71 29.714-29.71 16.369.0 29.689 13.329 29.689 29.71.0 16.373-13.32 29.693-29.689 29.693-16.386.0-29.714-13.32-29.714-29.693z"/></svg></a></div></footer></article></main><footer class=footer><span>&copy; 2022 <a href=https://blog.vollink.nyc/>On My Mind...</a></span>
 <span>Powered by
 <a href=https://gohugo.io/ rel="noopener noreferrer" target=_blank>Hugo</a> &
diff --git a/htdocs/post/2021/11/linux-command-prompt-in-color/index.html b/htdocs/post/2021/11/linux-command-prompt-in-color/index.html
index 668f8d458f459cbeda4c87929713bbf1bda9021d..20b428b4c88530402bf6ea20f83b060796a93416 100644
--- a/htdocs/post/2021/11/linux-command-prompt-in-color/index.html
+++ b/htdocs/post/2021/11/linux-command-prompt-in-color/index.html
@@ -1,6 +1,6 @@
 <!doctype html><html lang=en dir=auto><head><meta charset=utf-8><meta http-equiv=x-ua-compatible content="IE=edge"><meta name=viewport content="width=device-width,initial-scale=1,shrink-to-fit=no"><meta name=robots content="index, follow"><title>Linux Command Prompt in Color | On My Mind...</title><meta name=keywords content="blog"><meta name=description content="In this modern world, basically every terminal is compatible with VT-52 terminal sequences.&nbsp; These includes Windows Terminal (free from Microsoft on the Microsoft Store), Terminal.app (on macOS) and most terminals available under Linux.&nbsp; Further, most of these support emoji and 256 colors.  Yet, most of the advice out there on how to deal with this suggests hard-coding these escape sequences directly into your prompt.&nbsp; This is great, and probably will work just fine, but I find it to be painful."><meta name=author content="Gary Allen Vollink"><link rel=canonical href=https://blog.vollink.nyc/post/2021/11/linux-command-prompt-in-color/><link crossorigin=anonymous href=/assets/css/stylesheet.min.c30defa0e01dbe8f65cc43a70a58fbbc74cafc53a7f399e6a0af39088b9bcc16.css integrity="sha256-ww3voOAdvo9lzEOnClj7vHTK/FOn85nmoK85CIubzBY=" rel="preload stylesheet" as=style><script defer crossorigin=anonymous src=/assets/js/highlight.min.67ab6ccbad53232b614f9dbcbe19c8759e16f8552b23f5068b953ee70a6dd94f.js integrity="sha256-Z6tsy61TIythT528vhnIdZ4W+FUrI/UGi5U+5wpt2U8=" onload=hljs.initHighlightingOnLoad()></script>
 <link rel=icon href=https://blog.vollink.nyc/favicon.ico><link rel=icon type=image/png sizes=16x16 href=https://blog.vollink.nyc/favicon-16x16.png><link rel=icon type=image/png sizes=32x32 href=https://blog.vollink.nyc/favicon-32x32.png><link rel=apple-touch-icon href=https://blog.vollink.nyc/apple-touch-icon.png><link rel=mask-icon href=https://blog.vollink.nyc/safari-pinned-tab.svg><meta name=theme-color content="#2e2e33"><meta name=msapplication-TileColor content="#2e2e33"><noscript><style>#theme-toggle,.top-link{display:none}</style><style>@media(prefers-color-scheme:dark){:root{--theme:rgb(29, 30, 32);--entry:rgb(46, 46, 51);--primary:rgb(218, 218, 219);--secondary:rgb(155, 156, 157);--tertiary:rgb(65, 66, 68);--content:rgb(196, 196, 197);--hljs-bg:rgb(46, 46, 51);--code-bg:rgb(55, 56, 62);--border:rgb(51, 51, 51)}.list{background:var(--theme)}.list:not(.dark)::-webkit-scrollbar-track{background:0 0}.list:not(.dark)::-webkit-scrollbar-thumb{border-color:var(--theme)}}</style></noscript><meta property="og:title" content="Linux Command Prompt in Color"><meta property="og:description" content="In this modern world, basically every terminal is compatible with VT-52 terminal sequences.&nbsp; These includes Windows Terminal (free from Microsoft on the Microsoft Store), Terminal.app (on macOS) and most terminals available under Linux.&nbsp; Further, most of these support emoji and 256 colors.  Yet, most of the advice out there on how to deal with this suggests hard-coding these escape sequences directly into your prompt.&nbsp; This is great, and probably will work just fine, but I find it to be painful."><meta property="og:type" content="article"><meta property="og:url" content="https://blog.vollink.nyc/post/2021/11/linux-command-prompt-in-color/"><meta property="article:section" content="post"><meta property="article:published_time" content="2021-11-19T04:21:00-05:00"><meta property="article:modified_time" content="2021-11-19T04:21:52-05:00"><meta property="og:site_name" content="On My Mind..."><meta name=twitter:card content="summary"><meta name=twitter:title content="Linux Command Prompt in Color"><meta name=twitter:description content="In this modern world, basically every terminal is compatible with VT-52 terminal sequences.&nbsp; These includes Windows Terminal (free from Microsoft on the Microsoft Store), Terminal.app (on macOS) and most terminals available under Linux.&nbsp; Further, most of these support emoji and 256 colors.  Yet, most of the advice out there on how to deal with this suggests hard-coding these escape sequences directly into your prompt.&nbsp; This is great, and probably will work just fine, but I find it to be painful."><script type=application/ld+json>{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Posts","item":"https://blog.vollink.nyc/post/"},{"@type":"ListItem","position":2,"name":"Linux Command Prompt in Color","item":"https://blog.vollink.nyc/post/2021/11/linux-command-prompt-in-color/"}]}</script><script type=application/ld+json>{"@context":"https://schema.org","@type":"BlogPosting","headline":"Linux Command Prompt in Color","name":"Linux Command Prompt in Color","description":"In this modern world, basically every terminal is compatible with VT-52 terminal sequences.\u0026nbsp; These includes Windows Terminal (free from Microsoft on the Microsoft Store), Terminal.app (on macOS) and most terminals available under Linux.\u0026nbsp; Further, most of these support emoji and 256 colors.  Yet, most of the advice out there on how to deal with this suggests hard-coding these escape sequences directly into your prompt.\u0026nbsp; This is great, and probably will work just fine, but I find it to be painful.","keywords":["blog"],"articleBody":"  In this modern world, basically every terminal is compatible with VT-52 terminal sequences. These includes Windows Terminal (free from Microsoft on the Microsoft Store), Terminal.app (on macOS) and most terminals available under Linux. Further, most of these support emoji and 256 colors.  Yet, most of the advice out there on how to deal with this suggests hard-coding these escape sequences directly into your prompt. This is great, and probably will work just fine, but I find it to be painful.  On the off-chance such a prompt is ever tried on a terminal that uses a different terminal command language, there's a decent chance the prompt will look like garbage. Of course, linux has a whole dictionary of terminal types (terminfo) and a bunch of tools around that. BASH Prompt: PS1  Generally, the PS1, or primary prompt for the user is set by the system in /etc/profile or one of the files in /etc/profile.d/, and a user can override that prompt in a ${HOME}/.bash_profile or .bashrc file.     A common default prompt is PS1='\\u@\\h:\\w$ ' as in:     username@hostname:/home/username$      The important bit about embedding colors in a PS1 is to tell the shell that the characters it is sending out to the terminal are not actually advancing the cursor (this is important for command line editing, and long commands that wrap on the terminal). Every command sent to the terminal needs to be wrapped in escaped brackets; '\\[\\]'. Here is an embedded \"reset to default\" escape sequence within escaped brackets.     PS1='\\[\\033)B\\033[0m\\]\\u@\\h:\\w$ '  TPUT  The 'tput' command is available on all Linux, and most UNIX systems. My warning here is, like terminal escapes themselves, tput has its own weird language for settings.     setting a red foreground color using tput, and then setting it back, looks like this:    PS1='\\u@\\h:\\w$ '\nuser@host:/home/user$ tput setaf 1  user@host:/home/user$ tput sgr0  user@host:/home/user$     In this example, the prompt isn't trying to control the colors yet, and we can see that the last color that the terminal was told to deal with become the default color for everything until something changes it.    My .bashrc  I have a chunk in my .profile where I literally set the colors and other attributes I can use. If a terminal types does not have a command that matches one of these, then the shell variable will end up empty.    _TM_TX=$(tput setaf 7|sed -e 's/\\x1b/\\\\033/g')\n_TM_RD=$(tput setaf 9|sed -e 's/\\x1b/\\\\033/g')\n_TM_GR=$(tput setaf 10|sed -e 's/\\x1b/\\\\033/g')\n_TM_YL=$(tput setaf 11|sed -e 's/\\x1b/\\\\033/g')\n#_TM_BL=$(tput setaf 12|sed -e 's/\\x1b/\\\\033/g')\n_TM_BL=$(tput setaf 45|sed -e 's/\\x1b/\\\\033/g')\n_TM_PP=$(tput setaf 13|sed -e 's/\\x1b/\\\\033/g')\n_TM_TL=$(tput setaf 14|sed -e 's/\\x1b/\\\\033/g')\n_TM_ITAL=$(tput sitm|sed -e 's/\\x1b/\\\\033/g')\n_TM_BOLD=$(tput bold|sed -e 's/\\x1b/\\\\033/g')\n_TM__=$(tput sgr0|sed -e 's/\\x1b/\\\\033/g') # RESET\nif [ ! -z \"$_TM_TX\" ]   then   _PS_TX=\"\\[${_TM_TX}\\]\"\nfi   if [ ! -z \"$_TM_RD\" ]   then\n_PS_RD=\"\\[${_TM_RD}\\]\"\n   _PS_GR=\"\\[${_TM_GR}\\]\"\n_PS_YL=\"\\[${_TM_YL}\\]\"\n_PS_BL=\"\\[${_TM_BL}\\]\"\n_PS_PP=\"\\[${_TM_PP}\\]\"\n_PS_TL=\"\\[${_TM_TL}\\]\"\nfi   if [ ! -z \"$_TM_ITAL\" ]   then\n_PS_ITAL=\"\\[${_TM_ITAL}\\]\"\nfi   if [ ! -z \"$_TM_BOLD\" ]   then   _PS_BOLD=\"\\[${_TM_BOLD}\\]\"\nfi    _PS__=\"\\[${_TM__}\\]\"\nPS1=\"${_PS_GR}\\u${_PS__}@${_PS_BL}${_PS_BOLD}\\h${_PS__}:${_PS_TL}\\w${_PS__}\\$ \"   There's a repeating sed command here. What this does is it takes any escape characters in the output, and replaces them with an escaped octal for the escape key. This means that one can still echo $PS1 and see what the codes actually look like.  I'm using a light blue from the 255 color palette because I use a dark background on all of my terminals. This also means I'm at risk of having no color at all for elements that I expect to be blue. References  For tput subcommand info: see this terminfo manpage (using the cap-name column, and Color Handling). For setaf (or, background: setab) values, I use this color chart from Wikipedia. For more information on \\[ and \\], see the bash manpage, section on PROMPTING.   ","wordCount":"627","inLanguage":"en","datePublished":"2021-11-19T04:21:00.001-05:00","dateModified":"2021-11-19T04:21:52.504-05:00","author":{"@type":"Person","name":"Gary Allen Vollink"},"mainEntityOfPage":{"@type":"WebPage","@id":"https://blog.vollink.nyc/post/2021/11/linux-command-prompt-in-color/"},"publisher":{"@type":"Organization","name":"On My Mind...","logo":{"@type":"ImageObject","url":"https://blog.vollink.nyc/favicon.ico"}}}</script></head><body id=top><script>localStorage.getItem("pref-theme")==="dark"?document.body.classList.add("dark"):localStorage.getItem("pref-theme")==="light"?document.body.classList.remove("dark"):window.matchMedia("(prefers-color-scheme: dark)").matches&&document.body.classList.add("dark")</script><header class=header><nav class=nav><div class=logo><a href=https://blog.vollink.nyc/ accesskey=h title="Home (Alt + H)"><img src=https://blog.vollink.nyc/AllenWrench.gif alt=logo aria-label=logo height=35>Home</a>
-<span class=logo-switches><button id=theme-toggle accesskey=t title="(Alt + T)"><svg id="moon" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentcolor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M21 12.79A9 9 0 1111.21 3 7 7 0 0021 12.79z"/></svg><svg id="sun" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentcolor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="5"/><line x1="12" y1="1" x2="12" y2="3"/><line x1="12" y1="21" x2="12" y2="23"/><line x1="4.22" y1="4.22" x2="5.64" y2="5.64"/><line x1="18.36" y1="18.36" x2="19.78" y2="19.78"/><line x1="1" y1="12" x2="3" y2="12"/><line x1="21" y1="12" x2="23" y2="12"/><line x1="4.22" y1="19.78" x2="5.64" y2="18.36"/><line x1="18.36" y1="5.64" x2="19.78" y2="4.22"/></svg></button></span></div><ul id=menu><li><a href=https://blog.vollink.nyc/post/ title=Posts><span>Posts</span></a></li><li><a href=https://blog.vollink.nyc/tags/ title=Tags><span>Tags</span></a></li><li><a href=https://home.vollink.com/ title=home.vollink.com><span>home.vollink.com</span></a></li></ul></nav></header><main class=main><article class=post-single><header class=post-header><div class=breadcrumbs><a href=https://blog.vollink.nyc/>Home</a>&nbsp;»&nbsp;<a href=https://blog.vollink.nyc/post/>Posts</a></div><h1 class=post-title>Linux Command Prompt in Color</h1><div class=post-meta><span title="2021-11-19 04:21:00.001 -0500 -0500">19 Nov 2021</span>&nbsp;·&nbsp;3 min&nbsp;·&nbsp;Gary Allen Vollink</div></header><div class=post-content><p>In this modern world, basically every terminal is compatible with VT-52 terminal sequences.&nbsp; These includes Windows Terminal (free from Microsoft on the Microsoft Store), Terminal.app (on macOS) and most terminals available under Linux.&nbsp; Further, most of these support emoji and 256 colors.</p><p>Yet, most of the advice out there on how to deal with this suggests hard-coding these escape sequences directly into your prompt.&nbsp; This is great, and probably will work just fine, but I find it to be painful.</p><p>On the off-chance such a prompt is ever tried on a terminal that uses a different terminal command language, there's a decent chance the prompt will look like garbage.&nbsp; Of course, linux has a whole dictionary of terminal types (terminfo) and a bunch of tools around that.</p><h2 style=text-align:left>BASH Prompt: PS1</h2><div>Generally, the PS1, or primary prompt for the user is set by the system in /etc/profile or one of the files in /etc/profile.d/, and a user can override that prompt in a ${HOME}/.bash_profile or .bashrc file.</div><div><br></div><div>A common default prompt is
+<span class=logo-switches><button id=theme-toggle accesskey=t title="(Alt + T)"><svg id="moon" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentcolor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M21 12.79A9 9 0 1111.21 3 7 7 0 0021 12.79z"/></svg><svg id="sun" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentcolor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="5"/><line x1="12" y1="1" x2="12" y2="3"/><line x1="12" y1="21" x2="12" y2="23"/><line x1="4.22" y1="4.22" x2="5.64" y2="5.64"/><line x1="18.36" y1="18.36" x2="19.78" y2="19.78"/><line x1="1" y1="12" x2="3" y2="12"/><line x1="21" y1="12" x2="23" y2="12"/><line x1="4.22" y1="19.78" x2="5.64" y2="18.36"/><line x1="18.36" y1="5.64" x2="19.78" y2="4.22"/></svg></button></span></div><ul id=menu><li><a href=https://blog.vollink.nyc/post/ title=Posts><span>Posts</span></a></li><li><a href=https://blog.vollink.nyc/tags/ title=Tags><span>Tags</span></a></li><li><a href=https://home.vollink.com/ title=home.vollink.com><span>home.vollink.com</span></a></li></ul></nav></header><main class=main><article class=post-single><header class=post-header><div class=breadcrumbs><a href=https://blog.vollink.nyc/>Home</a>&nbsp;»&nbsp;<a href=https://blog.vollink.nyc/post/>Posts</a></div><h1 class=post-title>Linux Command Prompt in Color</h1><div class=post-meta><span title="2021-11-19 04:21:00.001 -0500 -0500">19 Nov 2021</span>&nbsp;·&nbsp;3 min&nbsp;·&nbsp;Gary Allen Vollink</div></header><div class=toc><details><summary accesskey=c title="(Alt + C)"><span class=details>Table of Contents</span></summary><div class=inner><ul><li><a href=# aria-label="BASH Prompt: PS1">BASH Prompt: PS1</a></li><li><a href=# aria-label=TPUT>TPUT</a></li><li><a href=# aria-label="My .bashrc">My .bashrc</a></li><li><a href=# aria-label=References>References</a></li></ul></div></details></div><div class=post-content><p>In this modern world, basically every terminal is compatible with VT-52 terminal sequences.&nbsp; These includes Windows Terminal (free from Microsoft on the Microsoft Store), Terminal.app (on macOS) and most terminals available under Linux.&nbsp; Further, most of these support emoji and 256 colors.</p><p>Yet, most of the advice out there on how to deal with this suggests hard-coding these escape sequences directly into your prompt.&nbsp; This is great, and probably will work just fine, but I find it to be painful.</p><p>On the off-chance such a prompt is ever tried on a terminal that uses a different terminal command language, there's a decent chance the prompt will look like garbage.&nbsp; Of course, linux has a whole dictionary of terminal types (terminfo) and a bunch of tools around that.</p><h2 style=text-align:left>BASH Prompt: PS1</h2><div>Generally, the PS1, or primary prompt for the user is set by the system in /etc/profile or one of the files in /etc/profile.d/, and a user can override that prompt in a ${HOME}/.bash_profile or .bashrc file.</div><div><br></div><div>A common default prompt is
 <span style=font-family:courier>PS1='\u@\h:\w$ '</span>
 as in:</div><div><br></div><div><span style=font-family:courier>username@hostname:/home/username$&nbsp;</span></div><div><br></div><div>The important bit about embedding colors in a PS1 is to tell the shell that the characters it is sending out to the terminal are not actually advancing the cursor (this is important for command line editing, and long commands that wrap on the terminal).&nbsp; Every command sent to the terminal needs to be wrapped in escaped brackets; '\[\]'.&nbsp; Here is an embedded "reset to default" escape sequence within escaped brackets.</div><div><br></div><div>PS1='\[\033)B\033[0m\]\u@\h:\w$ '</div><h2 style=text-align:left>TPUT</h2><div>The 'tput' command is available on all Linux, and most UNIX systems.&nbsp; My warning here is, like terminal escapes themselves, tput has its own weird language for settings.</div><div><br></div><div>setting a red foreground color using tput, and then setting it back, looks like this:</div><div><br></div><span style=background-color:#000;font-family:courier>PS1='\u@\h:\w$ '<br>user@host:/home/user$ tput setaf 1</span><div><span style=background-color:#000;color:red;font-family:courier>user@host:/home/user$ tput sgr0</span></div><span style=background-color:#000;font-family:courier>user@host:/home/user$</span><div><br></div><div>In this example, the prompt isn't trying to control the colors yet, and we can see that the last color that the terminal was told to deal with become the default color for everything until something changes it.</div><div><br></div><h2 style=text-align:left>My .bashrc</h2><div>I have a chunk in my .profile where I literally set the colors and other attributes I can use.&nbsp; If a terminal types does not have a command that matches one of these, then the shell variable will end up empty.</div><blockquote><div><span style=background-color:#000>_TM_TX=$(tput setaf 7|sed -e 's/\x1b/\\033/g')<br>_TM_RD=$(tput setaf 9|sed -e 's/\x1b/\\033/g')<br>_TM_GR=$(tput setaf 10|sed -e 's/\x1b/\\033/g')<br>_TM_YL=$(tput setaf 11|sed -e 's/\x1b/\\033/g')<br>#_TM_BL=$(tput setaf 12|sed -e 's/\x1b/\\033/g')<br>_TM_BL=$(tput setaf 45|sed -e 's/\x1b/\\033/g')<br>_TM_PP=$(tput setaf 13|sed -e 's/\x1b/\\033/g')<br>_TM_TL=$(tput setaf 14|sed -e 's/\x1b/\\033/g')<br>_TM_ITAL=$(tput sitm|sed -e 's/\x1b/\\033/g')<br>_TM_BOLD=$(tput bold|sed -e 's/\x1b/\\033/g')<br>_TM__=$(tput sgr0|sed -e 's/\x1b/\\033/g') # RESET<br>if [ ! -z "$_TM_TX" ]</span></div><div><span style=background-color:#000>then</span></div><div><span style=background-color:#000>&nbsp; &nbsp; _PS_TX="\[${_TM_TX}\]"<br>fi</span></div><div><span style=background-color:#000>if [ ! -z "$_TM_RD" ]</span></div><div><span style=background-color:#000>then<br>&nbsp; &nbsp; _PS_RD="\[${_TM_RD}\]"<br></span></div><div><span style=background-color:#000>&nbsp; &nbsp; _PS_GR="\[${_TM_GR}\]"<br>&nbsp; &nbsp; _PS_YL="\[${_TM_YL}\]"<br>&nbsp; &nbsp; _PS_BL="\[${_TM_BL}\]"<br>&nbsp; &nbsp; _PS_PP="\[${_TM_PP}\]"<br>&nbsp; &nbsp; _PS_TL="\[${_TM_TL}\]"<br>fi</span></div><div><span style=background-color:#000>if [ ! -z "$_TM_ITAL" ]</span></div><div><span style=background-color:#000>then<br>_PS_ITAL="\[${_TM_ITAL}\]"<br>fi</span></div><div><span style=background-color:#000>if [ ! -z "$_TM_BOLD" ]</span></div><div><span style=background-color:#000>then</span></div><div><span style=background-color:#000>&nbsp; &nbsp; _PS_BOLD="\[${_TM_BOLD}\]"<br>fi</span></div></blockquote><blockquote><span style=background-color:#000>_PS__="\[${_TM__}\]"<br>PS1="${_PS_GR}\u${_PS__}@${_PS_BL}${_PS_BOLD}\h${_PS__}:${_PS_TL}\w${_PS__}\$ "</span></blockquote><p>There's a repeating sed command here.&nbsp; What this does is it takes any escape characters in the output, and replaces them with an escaped octal for the escape key.&nbsp; This means that one can still echo $PS1 and see what the codes actually look like.</p><p>I'm using a light blue from the 255 color palette because I use a dark background on all of my terminals.&nbsp; This also means I'm at risk of having no color at all for elements that I expect to be blue.</p><h2 style=text-align:left>References</h2><p></p><ul style=text-align:left><li>For tput subcommand info: see this <a href=https://www.man7.org/linux/man-pages/man5/terminfo.5.html target=_blank>terminfo manpage</a> (using the cap-name column, and Color Handling).</li><li>For setaf (or, background: setab) values, I use this color chart from <a href=https://en.wikipedia.org/wiki/ANSI_escape_code#8-bit target=_blank>Wikipedia</a>.</li><li>For more information on \[ and \], see the <a href=https://man7.org/linux/man-pages/man1/bash.1.html#PROMPTING target=_blank>bash manpage</a>, section on PROMPTING.</li></ul><p></p><p><br></p></div><footer class=post-footer><ul class=post-tags><li><a href=https://blog.vollink.nyc/tags/blog/>blog</a></li></ul><nav class=paginav><a class=prev href=https://blog.vollink.nyc/post/2022/05/trying-hugo/><span class=title>« Prev</span><br><span>Trying Hugo</span></a>
 <a class=next href=https://blog.vollink.nyc/post/2020/01/book-of-curses-and-kisses-by-sandhya-menon/><span class=title>Next »</span><br><span>[Book] Of Curses and Kisses by Sandhya Menon</span></a></nav><div class=share-buttons><a target=_blank rel="noopener noreferrer" aria-label="share Linux Command Prompt in Color on twitter" href="https://twitter.com/intent/tweet/?text=Linux%20Command%20Prompt%20in%20Color&url=https%3a%2f%2fblog.vollink.nyc%2fpost%2f2021%2f11%2flinux-command-prompt-in-color%2f&hashtags=blog"><svg viewBox="0 0 512 512"><path d="M449.446.0C483.971.0 512 28.03 512 62.554v386.892C512 483.97 483.97 512 449.446 512H62.554c-34.524.0-62.554-28.03-62.554-62.554V62.554c0-34.524 28.029-62.554 62.554-62.554h386.892zM195.519 424.544c135.939.0 210.268-112.643 210.268-210.268.0-3.218.0-6.437-.153-9.502 14.406-10.421 26.973-23.448 36.935-38.314-13.18 5.824-27.433 9.809-42.452 11.648 15.326-9.196 26.973-23.602 32.49-40.92-14.252 8.429-30.038 14.56-46.896 17.931-13.487-14.406-32.644-23.295-53.946-23.295-40.767.0-73.87 33.104-73.87 73.87.0 5.824.613 11.494 1.992 16.858-61.456-3.065-115.862-32.49-152.337-77.241-6.284 10.881-9.962 23.601-9.962 37.088.0 25.594 13.027 48.276 32.95 61.456-12.107-.307-23.448-3.678-33.41-9.196v.92c0 35.862 25.441 65.594 59.311 72.49-6.13 1.686-12.72 2.606-19.464 2.606-4.751.0-9.348-.46-13.946-1.38 9.349 29.426 36.628 50.728 68.965 51.341-25.287 19.771-57.164 31.571-91.8 31.571-5.977.0-11.801-.306-17.625-1.073 32.337 21.15 71.264 33.41 112.95 33.41z"/></svg></a><a target=_blank rel="noopener noreferrer" aria-label="share Linux Command Prompt in Color on linkedin" href="https://www.linkedin.com/shareArticle?mini=true&url=https%3a%2f%2fblog.vollink.nyc%2fpost%2f2021%2f11%2flinux-command-prompt-in-color%2f&title=Linux%20Command%20Prompt%20in%20Color&summary=Linux%20Command%20Prompt%20in%20Color&source=https%3a%2f%2fblog.vollink.nyc%2fpost%2f2021%2f11%2flinux-command-prompt-in-color%2f"><svg viewBox="0 0 512 512"><path d="M449.446.0C483.971.0 512 28.03 512 62.554v386.892C512 483.97 483.97 512 449.446 512H62.554c-34.524.0-62.554-28.03-62.554-62.554V62.554c0-34.524 28.029-62.554 62.554-62.554h386.892zM160.461 423.278V197.561h-75.04v225.717h75.04zm270.539.0V293.839c0-69.333-37.018-101.586-86.381-101.586-39.804.0-57.634 21.891-67.617 37.266v-31.958h-75.021c.995 21.181.0 225.717.0 225.717h75.02V297.222c0-6.748.486-13.492 2.474-18.315 5.414-13.475 17.767-27.434 38.494-27.434 27.135.0 38.007 20.707 38.007 51.037v120.768H431zM123.448 88.722C97.774 88.722 81 105.601 81 127.724c0 21.658 16.264 39.002 41.455 39.002h.484c26.165.0 42.452-17.344 42.452-39.002-.485-22.092-16.241-38.954-41.943-39.002z"/></svg></a><a target=_blank rel="noopener noreferrer" aria-label="share Linux Command Prompt in Color on reddit" href="https://reddit.com/submit?url=https%3a%2f%2fblog.vollink.nyc%2fpost%2f2021%2f11%2flinux-command-prompt-in-color%2f&title=Linux%20Command%20Prompt%20in%20Color"><svg viewBox="0 0 512 512"><path d="M449.446.0C483.971.0 512 28.03 512 62.554v386.892C512 483.97 483.97 512 449.446 512H62.554c-34.524.0-62.554-28.03-62.554-62.554V62.554c0-34.524 28.029-62.554 62.554-62.554h386.892zM446 265.638c0-22.964-18.616-41.58-41.58-41.58-11.211.0-21.361 4.457-28.841 11.666-28.424-20.508-67.586-33.757-111.204-35.278l18.941-89.121 61.884 13.157c.756 15.734 13.642 28.29 29.56 28.29 16.407.0 29.706-13.299 29.706-29.701.0-16.403-13.299-29.702-29.706-29.702-11.666.0-21.657 6.792-26.515 16.578l-69.105-14.69c-1.922-.418-3.939-.042-5.585 1.036-1.658 1.073-2.811 2.761-3.224 4.686l-21.152 99.438c-44.258 1.228-84.046 14.494-112.837 35.232-7.468-7.164-17.589-11.591-28.757-11.591-22.965.0-41.585 18.616-41.585 41.58.0 16.896 10.095 31.41 24.568 37.918-.639 4.135-.99 8.328-.99 12.576.0 63.977 74.469 115.836 166.33 115.836s166.334-51.859 166.334-115.836c0-4.218-.347-8.387-.977-12.493 14.564-6.47 24.735-21.034 24.735-38.001zM326.526 373.831c-20.27 20.241-59.115 21.816-70.534 21.816-11.428.0-50.277-1.575-70.522-21.82-3.007-3.008-3.007-7.882.0-10.889 3.003-2.999 7.882-3.003 10.885.0 12.777 12.781 40.11 17.317 59.637 17.317 19.522.0 46.86-4.536 59.657-17.321 3.016-2.999 7.886-2.995 10.885.008 3.008 3.011 3.003 7.882-.008 10.889zm-5.23-48.781c-16.373.0-29.701-13.324-29.701-29.698.0-16.381 13.328-29.714 29.701-29.714 16.378.0 29.706 13.333 29.706 29.714.0 16.374-13.328 29.698-29.706 29.698zM160.91 295.348c0-16.381 13.328-29.71 29.714-29.71 16.369.0 29.689 13.329 29.689 29.71.0 16.373-13.32 29.693-29.689 29.693-16.386.0-29.714-13.32-29.714-29.693z"/></svg></a></div></footer></article></main><footer class=footer><span>&copy; 2022 <a href=https://blog.vollink.nyc/>On My Mind...</a></span>
diff --git a/htdocs/post/2022/05/trying-hugo/index.html b/htdocs/post/2022/05/trying-hugo/index.html
index 39507c1d1299a188f20e5e260b0c0fc14c4f6032..08637c8d39713d0e5bee9cb6a84b56547e327a4a 100644
--- a/htdocs/post/2022/05/trying-hugo/index.html
+++ b/htdocs/post/2022/05/trying-hugo/index.html
@@ -9,7 +9,7 @@ my $test = MyStuff->new(); if ( ! $test ) { printf {*STDERR} &#34;Error.\n&#34;;
 Turns out, it works pretty well. Here are some features I&rsquo;m likely to use.
 Sub With Code Trying a sub-topic
 my $test = MyStuff->new(); if ( ! $test ) { printf {*STDERR} &#34;Error.\n&#34;; } Final Thoughts It took me over a week to figure out how to extract what I needed from my old Google blogger account, and now that I&rsquo;ve done that, I&rsquo;m &mldr; happy enough &mldr; with the results."><script type=application/ld+json>{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Posts","item":"https://blog.vollink.nyc/post/"},{"@type":"ListItem","position":2,"name":"Trying Hugo","item":"https://blog.vollink.nyc/post/2022/05/trying-hugo/"}]}</script><script type=application/ld+json>{"@context":"https://schema.org","@type":"BlogPosting","headline":"Trying Hugo","name":"Trying Hugo","description":"This is a post where I\u0026rsquo;m literally doing nothing but testing hugo to see if it will work for what I need.\nTurns out, it works pretty well. Here are some features I\u0026rsquo;m likely to use.\nSub With Code Trying a sub-topic\nmy $test = MyStuff-\u0026gt;new(); if ( ! $test ) { printf {*STDERR} \u0026#34;Error.\\n\u0026#34;; } Final Thoughts It took me over a week to figure out how to extract what I needed from my old Google blogger account, and now that I\u0026rsquo;ve done that, I\u0026rsquo;m \u0026hellip; happy enough \u0026hellip; with the results.","keywords":["blog","dev","geek","meta"],"articleBody":"This is a post where I’m literally doing nothing but testing hugo to see if it will work for what I need.\nTurns out, it works pretty well. Here are some features I’m likely to use.\nSub With Code Trying a sub-topic\nmy $test = MyStuff-new(); if ( ! $test ) { printf {*STDERR} \"Error.\\n\"; } Final Thoughts It took me over a week to figure out how to extract what I needed from my old Google blogger account, and now that I’ve done that, I’m … happy enough … with the results.\nThere are things that don’t work, but they weren’t working in almost the same way under blogger (mostly dead image links).\nMeh, few folks are going to go deep into my blog’s back catalog.\n","wordCount":"127","inLanguage":"en","datePublished":"2022-05-16T21:52:30-04:00","dateModified":"2022-05-16T21:52:30-04:00","author":{"@type":"Person","name":"Gary Allen Vollink"},"mainEntityOfPage":{"@type":"WebPage","@id":"https://blog.vollink.nyc/post/2022/05/trying-hugo/"},"publisher":{"@type":"Organization","name":"On My Mind...","logo":{"@type":"ImageObject","url":"https://blog.vollink.nyc/favicon.ico"}}}</script></head><body id=top><script>localStorage.getItem("pref-theme")==="dark"?document.body.classList.add("dark"):localStorage.getItem("pref-theme")==="light"?document.body.classList.remove("dark"):window.matchMedia("(prefers-color-scheme: dark)").matches&&document.body.classList.add("dark")</script><header class=header><nav class=nav><div class=logo><a href=https://blog.vollink.nyc/ accesskey=h title="Home (Alt + H)"><img src=https://blog.vollink.nyc/AllenWrench.gif alt=logo aria-label=logo height=35>Home</a>
-<span class=logo-switches><button id=theme-toggle accesskey=t title="(Alt + T)"><svg id="moon" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentcolor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M21 12.79A9 9 0 1111.21 3 7 7 0 0021 12.79z"/></svg><svg id="sun" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentcolor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="5"/><line x1="12" y1="1" x2="12" y2="3"/><line x1="12" y1="21" x2="12" y2="23"/><line x1="4.22" y1="4.22" x2="5.64" y2="5.64"/><line x1="18.36" y1="18.36" x2="19.78" y2="19.78"/><line x1="1" y1="12" x2="3" y2="12"/><line x1="21" y1="12" x2="23" y2="12"/><line x1="4.22" y1="19.78" x2="5.64" y2="18.36"/><line x1="18.36" y1="5.64" x2="19.78" y2="4.22"/></svg></button></span></div><ul id=menu><li><a href=https://blog.vollink.nyc/post/ title=Posts><span>Posts</span></a></li><li><a href=https://blog.vollink.nyc/tags/ title=Tags><span>Tags</span></a></li><li><a href=https://home.vollink.com/ title=home.vollink.com><span>home.vollink.com</span></a></li></ul></nav></header><main class=main><article class=post-single><header class=post-header><div class=breadcrumbs><a href=https://blog.vollink.nyc/>Home</a>&nbsp;»&nbsp;<a href=https://blog.vollink.nyc/post/>Posts</a></div><h1 class=post-title>Trying Hugo</h1><div class=post-meta><span title="2022-05-16 21:52:30 -0400 -0400">16 May 2022</span>&nbsp;·&nbsp;1 min&nbsp;·&nbsp;Gary Allen Vollink</div></header><div class=post-content><p>This is a post where I&rsquo;m literally doing nothing but testing hugo to see if
+<span class=logo-switches><button id=theme-toggle accesskey=t title="(Alt + T)"><svg id="moon" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentcolor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M21 12.79A9 9 0 1111.21 3 7 7 0 0021 12.79z"/></svg><svg id="sun" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentcolor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="5"/><line x1="12" y1="1" x2="12" y2="3"/><line x1="12" y1="21" x2="12" y2="23"/><line x1="4.22" y1="4.22" x2="5.64" y2="5.64"/><line x1="18.36" y1="18.36" x2="19.78" y2="19.78"/><line x1="1" y1="12" x2="3" y2="12"/><line x1="21" y1="12" x2="23" y2="12"/><line x1="4.22" y1="19.78" x2="5.64" y2="18.36"/><line x1="18.36" y1="5.64" x2="19.78" y2="4.22"/></svg></button></span></div><ul id=menu><li><a href=https://blog.vollink.nyc/post/ title=Posts><span>Posts</span></a></li><li><a href=https://blog.vollink.nyc/tags/ title=Tags><span>Tags</span></a></li><li><a href=https://home.vollink.com/ title=home.vollink.com><span>home.vollink.com</span></a></li></ul></nav></header><main class=main><article class=post-single><header class=post-header><div class=breadcrumbs><a href=https://blog.vollink.nyc/>Home</a>&nbsp;»&nbsp;<a href=https://blog.vollink.nyc/post/>Posts</a></div><h1 class=post-title>Trying Hugo</h1><div class=post-meta><span title="2022-05-16 21:52:30 -0400 -0400">16 May 2022</span>&nbsp;·&nbsp;1 min&nbsp;·&nbsp;Gary Allen Vollink</div></header><div class=toc><details><summary accesskey=c title="(Alt + C)"><span class=details>Table of Contents</span></summary><div class=inner><ul><li><a href=#sub-with-code aria-label="Sub With Code">Sub With Code</a></li><li><a href=#final-thoughts aria-label="Final Thoughts">Final Thoughts</a></li></ul></div></details></div><div class=post-content><p>This is a post where I&rsquo;m literally doing nothing but testing hugo to see if
 it will work for what I need.</p><p>Turns out, it works pretty well. Here are some features I&rsquo;m likely to use.</p><h2 id=sub-with-code>Sub With Code<a hidden class=anchor aria-hidden=true href=#sub-with-code>#</a></h2><p>Trying a sub-topic</p><div class=highlight><pre tabindex=0 class=chroma><code class=language-perl data-lang=perl><span class=line><span class=cl>    <span class=k>my</span> <span class=nv>$test</span> <span class=o>=</span> <span class=nn>MyStuff</span><span class=o>-&gt;</span><span class=k>new</span><span class=p>();</span>
 </span></span><span class=line><span class=cl>    <span class=k>if</span> <span class=p>(</span> <span class=o>!</span> <span class=nv>$test</span> <span class=p>)</span> <span class=p>{</span>
 </span></span><span class=line><span class=cl>        <span class=nb>printf</span> <span class=p>{</span><span class=o>*</span><span class=bp>STDERR</span><span class=p>}</span> <span class=s>&#34;Error.\n&#34;</span><span class=p>;</span>