<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:media="http://search.yahoo.com/mrss/"><channel><title><![CDATA[Rob Pickering]]></title><description><![CDATA[I write about things that interest me:  Digital Transformation, Networking, Security, Home Automation, Macintosh Hardware/Software, and Programming.]]></description><link>https://robpickering.com/</link><image><url>https://robpickering.com/favicon.png</url><title>Rob Pickering</title><link>https://robpickering.com/</link></image><generator>Ghost 6.44</generator><lastBuildDate>Mon, 08 Jun 2026 11:03:51 GMT</lastBuildDate><atom:link href="https://robpickering.com/rss/" rel="self" type="application/rss+xml"/><ttl>60</ttl><item><title><![CDATA[Customer Success — Does your Company MEAN it?]]></title><description><![CDATA[<p>You can&apos;t purchase a piece of enterprise software today without also being solicited to consider purchasing an additional Customer Success package.  Companies will tell you that you need it to be successful, that it will help you in your implementation, provide prescriptive guidance, and that it will ensure</p>]]></description><link>https://robpickering.com/customer-success-does-your-company-mean-it/</link><guid isPermaLink="false">699bbc8bac82b80001fecf7e</guid><category><![CDATA[Customer Success]]></category><category><![CDATA[saas]]></category><category><![CDATA[Opinion]]></category><dc:creator><![CDATA[Rob Pickering]]></dc:creator><pubDate>Mon, 23 Feb 2026 02:42:38 GMT</pubDate><media:content url="https://images.unsplash.com/photo-1740313498441-68da0e01df37?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wxMTc3M3wwfDF8c2VhcmNofDJ8fGN1c3RvbWVyJTIwc3VjY2Vzc3xlbnwwfHx8fDE3NzE4MTQ0Nzh8MA&amp;ixlib=rb-4.1.0&amp;q=80&amp;w=2000" medium="image"/><content:encoded><![CDATA[<img src="https://images.unsplash.com/photo-1740313498441-68da0e01df37?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wxMTc3M3wwfDF8c2VhcmNofDJ8fGN1c3RvbWVyJTIwc3VjY2Vzc3xlbnwwfHx8fDE3NzE4MTQ0Nzh8MA&amp;ixlib=rb-4.1.0&amp;q=80&amp;w=2000" alt="Customer Success &#x2014; Does your Company MEAN it?"><p>You can&apos;t purchase a piece of enterprise software today without also being solicited to consider purchasing an additional Customer Success package.  Companies will tell you that you need it to be successful, that it will help you in your implementation, provide prescriptive guidance, and that it will ensure that you get the full value out of your investment, but will it?  Software vendors talk about Customer Success, but do they really mean it?  In this article I&apos;m going to break down what a genuine Customer Success offering looks like, how it differs from reactive customer service (aka Support), and how to recognize red flags when the offering is more self-serving than valuable.</p>
<h2 id="what-is-customer-success">What Is Customer Success?</h2>
<p>A dictionary definition of Customer Success is <em>a proactive, strategic approach to ensuring customers achieve their desired outcomes with a product or service</em>.</p>
<p>Pay close attention to that statement &quot;achieve their desired outcomes&quot;, because we&apos;re going to come back to it shortly.</p>
<p>The concept of Customer Success is widely credited to the mid-1990s and a company called Vantive, a Customer Relationship Management (CRM) company.  Vantive&apos;s CEO, John Luongo, and his partner Marie Alexander are often cited as pioneers in proactively ensuring that their customers achieved their desired outcomes with Vantive&apos;s products.  They set about this effort by proactively documenting customer expectations and then conducting regular reviews to align on various success metrics their customers were using.</p>
<p>Why did Vantive want their customers to achieve their desired outcomes?  Was it because they wanted those customers to ultimately be successful and therefore spread the word of how Vantive helped them accomplish those outcomes?  Maybe.  Clearly, you want positive word-of-mouth for your products making them easier to sell to the next customer, but there is likely an ulterior motive behind wanting customers to be successful with your products:  it makes them &quot;sticky&quot; and you&apos;ll be less likely to churn.</p>
<p>This is very different from either Customer Service (aka Support) which is reactive, issue-based, and most commonly break/fix only; or Account Management which is focused on selling you more products.</p>
<p>In order to truly understand Customer Success as a function of a business, you first have to understand what Customer Success is not.  The differences between these offerings can tell you WHY a company is offering you Customer Success and whether it&apos;s in your best interest to pay them for it.  Throughout this article, I&apos;ll help you understand what a typical Customer Success program should look like and more importantly how to spot the ones you most certainly do not want to purchase.</p>
<h2 id="a-strong-customer-success-offering">A Strong Customer Success Offering</h2>
<p>Effective Customer Success is broken into multiple parts; spend time understanding how your offering supports each of these areas of your business:</p>
<ul>
<li>
<p><strong>Proactive Engagement</strong>:  Regular checkpoints with your Customer Success team around value assessments, where they are showing you the value of what you&apos;re achieving from your investment.  These aren&apos;t done just when you have renewals, they&apos;re done quarterly (or monthly) throughout your contract.<br>
<strong>RED FLAG</strong>: There should be actionable usage data from everything you&apos;ve purchased.  They&apos;re a SaaS company, they have the data, they should be sharing it with you so you know exactly how much you&apos;re using, where there are opportunities to improve, and where there&apos;s waste.  If this isn&apos;t being done proactively, you should demand that it&apos;s included in your contract.</p>
</li>
<li>
<p><strong>Success Planning</strong>:  When you purchased your product or service, did you have a plan for implementation of everything you bought?  Is it all on a roadmap and being executed?  Did you have an implementation partner selected and vetted?  Your Customer Success team should be providing all of this and should be co-authoring those plans.<br>
<strong>RED FLAG</strong>:  These plans should include not only milestones and business objectives, but the actual success metrics that show that you&apos;ve succeeded.  If they don&apos;t have that well-defined and specific to you, it&apos;s not a success plan.</p>
</li>
<li>
<p><strong>Customer Education</strong>:  An onboarding experience that is beyond what a typical customer receives, including customized training plans for your team, implementation recommendations, best practices, and a tailored experience that walks you through everything you need to know to implement.<br>
<strong>RED FLAG</strong>:  You should be getting enhanced training beyond that of a typical customer, because you&apos;re paying for Customer Success.  Can the company articulate what that enhanced training is?</p>
</li>
<li>
<p><strong>Alignment with Product and Support</strong>:  Your Customer Success team is your advocate inside of their company.  They&apos;re bringing you directly into touch with Product and Support people, sharing internal roadmaps, and working with you to specifically prevent support issues.<br>
<strong>RED FLAG</strong>:  You&apos;ve provided multiple product enhancement suggestions, but no one can tell you where they are in the product lifecycle or if they&apos;ll ever see the light of day.</p>
</li>
<li>
<p><strong>Metrics that Matter</strong>:  You should be receiving regular (monthly at a minimum) customer health scores, time-to-value reports, product adoption reports, and outcome realization reports.  Ideally, all of these are in a dashboard provided to you, so you can see them in real-time anytime you need the information.<br>
<strong>RED FLAG</strong>:  In order to provide these metrics to you, your Customer Success team needs a lot of your time; they can&apos;t exist without your input.</p>
</li>
</ul>
<h2 id="when-customer-success-isnt">When Customer Success Isn&apos;t</h2>
<p>Here are specific areas where, if you see them in your offering, you should re-evaluate the value of that offering and likely shift your investment elsewhere.</p>
<h3 id="support">Support</h3>
<p>Customer Success is not support.  Support at a Software-as-a-Service company exists for one reason and one reason only: break and fix.  The reasons you might need support are:</p>
<ul>
<li>The software they&apos;ve sold you is documented poorly (if at all) and you can&apos;t figure out how to implement it properly, or know if it&apos;s working.</li>
<li>The software doesn&apos;t work the way the documentation states it should, or is not working at all.</li>
<li>The service is literally not working (outage) or has bugs.</li>
</ul>
<p>All of these reasons have one thing in common:  <strong>none of them are the customer&apos;s fault</strong>.</p>
<p>You should only be paying for support under very specific circumstances:</p>
<ol>
<li>The company is offering enhanced support where they will actually spend time helping to debug your customizations.</li>
<li>They are offering &quot;hands on keyboard&quot; and will go into your environment to make changes to your implementation.</li>
<li>You have needs that are far beyond their &quot;typical&quot; customers and require things like dedicated support agents embedded in your business, or response times that a typical customer doesn&apos;t require; or better, contractual resolution times.</li>
</ol>
<p>If you&apos;re ever told that you have to buy Customer Success in order to get basic Support (even 24x7), then you&apos;re being sold Support, not Customer Success.</p>
<h3 id="adoption">Adoption</h3>
<p>Customer Success is not about adoption.  Now don&apos;t get me wrong, you need to have adoption of what you&apos;ve purchased in order to fully realize the value of what you bought, and a good Customer Success team will absolutely help you with education and enablement on the things you&apos;ve deployed (as I mentioned above).  The distinction is this:  if your Customer Success team&apos;s primary mission is driving adoption of capabilities you haven&apos;t deployed yet, that&apos;s not Customer Success, that&apos;s revenue protection for the vendor.  The focus of your adoption efforts should be on the capabilities that you&apos;ve already deployed or have on a short-term roadmap.  Ultimately, if you have an adoption issue then one of two things have happened, both of which require re-investment, not Customer Success:</p>
<ol>
<li><strong>You&apos;ve been oversold</strong>.  This is usually the primary reason that your adoption is low.  You have products or capabilities that were sold to you, that maybe you didn&apos;t even realize you were buying, and you have no stated goal for using them.  That&apos;s a problem for your vendor, because that means you&apos;ll de-book (cancel or remove) the capability, and should, so they are marshaling Customer Success to drive that adoption at your expense.</li>
<li><strong>You&apos;ve overbought</strong>.  This is less likely, but it happens.  Your &quot;eyes were bigger than your stomach&quot;, or you had resourcing problems, or you couldn&apos;t get the investment in implementation services you were counting on.  In all cases, if you&apos;ve overbought, you should downsell &#x2014; reduce what you&apos;re paying for to match what you can actually use.  There&apos;s no reason to pay for something you&apos;re not able to use, and the money you&apos;re spending on a subscription-based capability that is undeployed should be spent on deploying things that will immediately drive value.</li>
</ol>
<h3 id="over-reliance-on-automation">Over-reliance on Automation</h3>
<p>Customer Success cannot be easily automated.  The most valuable Customer Success programs are those that are tailored to your specific business needs.  While things like dashboards and metric gathering can be automated, what you want to look out for is the use of automation to deliver &quot;value&quot; to you.  If you&apos;re receiving canned emails that miss the mark, or you&apos;re talking to a portal instead of a person, that company is over-reliant on automation.</p>
<h3 id="one-size-fits-all-playbooks-and-canned-experiences">One-Size-Fits-All Playbooks and Canned Experiences</h3>
<p>Just as with over-reliance on automation, one-size-fits-all playbooks are another red flag for your Customer Success program.  If you&apos;re seeing a menu of &quot;offerings&quot; and you have to pick things from that menu, or your Customer Success team is taking you through activities that don&apos;t have tangible and specific outcomes that you believe are valuable, then you&apos;re receiving a Playbook.  The work you do with your Customer Success team should be bespoke and tailored to your specific needs.  When you receive the final deliverable it should not only resonate with you, but it should also be actionable within a short time period.  Too often, you&apos;ll receive deliverables from a Customer Success team that look and feel right in the moment, but that are still sitting on a shelf, collecting dust, 6 months later.  Worse, you find yourself having to repeat it.</p>
<h3 id="lack-of-cross-functional-influence">Lack of Cross-Functional Influence</h3>
<p>One of the primary benefits of having a Customer Success team supporting you is that they are your internal advocates at the company.  You should be first in line to provide product feedback, receiving roadmap updates, and understanding exactly where your defects and enhancement requests stand.  It is this very &quot;access to experts&quot; that you&apos;re paying to receive and that which non-paying customers rarely receive.  Make sure that it&apos;s not only documented as a benefit, but that you&apos;re actually receiving it.  If your product enhancements and defects are falling into a &quot;black hole&quot;, then you don&apos;t have the access you&apos;re paying to receive.</p>
<h2 id="the-litmus-test">The Litmus Test</h2>
<p>In Chemistry, you have a litmus test strip that tells you of the presence of a base or an acid.  It&apos;s an indicator that you have something that you can&apos;t see visibly, so you need to test for it.</p>
<p>The Customer Success litmus tests are simple:</p>
<ol>
<li><strong>Ask your Customer Success team to articulate the value they&apos;ve provided</strong> in the last month, quarter, year.  They should be able to respond within 24 hours, ideally with a dashboard already in place and provided to you that shows it.</li>
<li><strong>Ask your Customer Success team to articulate your platform health</strong>, adoption level, and license usage.  These should not only be readily available, but should all be in a dashboard already.  This is ALL telemetry data that the company already has, so exposing it to you should be simple.</li>
<li><strong>Ask your Customer Success team for the business outcomes you&apos;re working to achieve</strong>.  At first, this might seem unfair, but realize that you were sold these products and services.  That sales process already uncovered the business outcomes you wanted to achieve &#x2014; that&apos;s how they sold it to you &#x2014; so your Customer Success team should already have these at hand.  If they don&apos;t, it&apos;s an indicator that Customer Success is not engrained in the overall customer lifecycle at that company.</li>
</ol>
<p>If any of these tests fail, then you don&apos;t have Customer Success, you have Customer Service.  And if that&apos;s the case, you have a decision to make:  renegotiate the terms of your Customer Success engagement to include the things that are missing, or redirect that investment into implementation services or additional capability that will drive immediate, measurable value for your business.</p>
<h2 id="before-you-sign">Before You Sign</h2>
<p>Before you purchase any Customer Success offering, you need to evaluate what you&apos;re going to be getting from that program.  If you&apos;ve already bought, it&apos;s not too late to perform this evaluation:</p>
<ol>
<li><strong>Look for case studies and success stories</strong>.  These should already be readily available.  If the company has been successful with their Customer Success platform they should be swimming in positive references.  Ask for a reference from someone in one of those case studies.  Make sure you&apos;re actually talking to the people at that reference company who are involved in the day-to-day operations of the service, not just an executive who may have other reasons for providing a good reference.</li>
<li><strong>Customer Zero usage</strong>; does the company demonstrate effective use of their own products?  Make sure you ask about how much they&apos;ve customized vs. used the out-of-box product.  You need to ask for a site visit to show how they&apos;re being used and be sure to ask for their value metrics, how they measure success, and what actual outcomes they&apos;ve realized.  They have full access to the product, the engineering teams, the product managers, and all of the documentation; if they&apos;re struggling, you will too.</li>
<li><strong>Ask what success looks like for your provider</strong>.  Do they talk about their product, or do they focus on your business outcomes and goals?</li>
<li><strong>Ask for a sample Customer Success Plan</strong>.  This should be immediately available and when you read it, you should be able to visualize clearly how it will help you in achieving your business outcomes.</li>
<li><strong>Ask how they segment and prioritize customers</strong>.  Does having Customer Success avail you to better overall outcomes?  What are they?  You should be able to clearly articulate what you&apos;re getting for the money you&apos;re paying; otherwise, spend it on implementation services.</li>
<li><strong>Inquire about renewal and churn processes</strong>.  What happens when customers struggle?  What resources are brought in, at no charge, to support those customers through those times?  Are these bespoke and tailored to your situation, or are they generic and one-size-fits-all?</li>
</ol>
<h2 id="conclusion">Conclusion</h2>
<p>At its best, Customer Success is a strategic partnership rooted in mutual growth.  It&apos;s not just about answering questions or keeping customers from churning &#x2014; it&apos;s about making sure they achieve the outcomes they came for in the first place.  A genuine Customer Success team will feel like an extension of your own, not just another department checking boxes.</p>
<p>If you take nothing else away from this article, take the litmus tests.  Run them.  If your Customer Success team can&apos;t articulate the value they&apos;ve delivered, can&apos;t show you your own platform health data, or doesn&apos;t know the business outcomes you&apos;re working toward, then what you have isn&apos;t Customer Success &#x2014; it&apos;s a line item on your invoice.  Redirect that investment into something that will actually move the needle for your business.</p>
<p>In a world where everyone <em>says</em> they&apos;re customer-centric, the ones who actually deliver on that promise stand out &#x2014; and they&apos;re the ones with whom you should stick.</p>
]]></content:encoded></item><item><title><![CDATA[Apple's Confusing Family Plans]]></title><description><![CDATA[<h3 id="how-to-fix-family-sharing-to-support-apple-one-and-individual-music-preferences">How to Fix Family Sharing to support Apple One and individual Music Preferences</h3><p>It started out simply enough, Apple released iTunes Music in January, 2001 and I started purchasing music digitally.  I have always hosted my own email server, so that gives me a bunch of flexibility when it comes</p>]]></description><link>https://robpickering.com/apples-confusing-family-plans/</link><guid isPermaLink="false">6935c81bdba7f80001b590f6</guid><dc:creator><![CDATA[Rob Pickering]]></dc:creator><pubDate>Thu, 19 Feb 2026 00:01:24 GMT</pubDate><media:content url="https://images.unsplash.com/photo-1580522154071-c6ca47a859ad?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wxMTc3M3wwfDF8c2VhcmNofDU3fHxhcHBsZSUyMGNvbXB1dGVyfGVufDB8fHx8MTc3MTQ0NzY1Nnww&amp;ixlib=rb-4.1.0&amp;q=80&amp;w=2000" medium="image"/><content:encoded><![CDATA[<h3 id="how-to-fix-family-sharing-to-support-apple-one-and-individual-music-preferences">How to Fix Family Sharing to support Apple One and individual Music Preferences</h3><img src="https://images.unsplash.com/photo-1580522154071-c6ca47a859ad?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wxMTc3M3wwfDF8c2VhcmNofDU3fHxhcHBsZSUyMGNvbXB1dGVyfGVufDB8fHx8MTc3MTQ0NzY1Nnww&amp;ixlib=rb-4.1.0&amp;q=80&amp;w=2000" alt="Apple&apos;s Confusing Family Plans"><p>It started out simply enough, Apple released iTunes Music in January, 2001 and I started purchasing music digitally.  I have always hosted my own email server, so that gives me a bunch of flexibility when it comes to email addresses.  So, like every service I subscribe to, I gave Apple a unique email address to identify me, let&apos;s call it &quot;itunes@mydomain.com&quot;.  No issues, I merrily purchased a bunch of music using that account.</p><p>In July 2002, Apple released their .Mac email service and I signed up and got my &quot;robuser@mac.com&quot; email address.  At this time, there was no connection and so I now had two email addresses that Apple knew me by:  &quot;itunes@mydomain.com&quot; and &quot;robuser@mac.com&quot;.  All of my iTunes purchases were affiliated to my itunes@mydomain.com account, but now I had an official Apple email account!</p><p>Then along came the iPhone App Store in July, 2008 and at the same time Apple launched MobileMe, their replacement for .Mac.  To make the transition easier, and to prevent conflicts, they gave everyone who had an &quot;@mac.com&quot; email address the same address but now &quot;@me.com&quot;.  Now I had three email addresses Apple knew me by:  &quot;robuser@me.com&quot;, &quot;robuser@mac.com&quot; and &quot;itunes@mydomain.com&quot;.  They also then released the concept of an <strong>Apple ID</strong> at this time and they designated my Apple Email, robuser@me.com as my new Apple ID, meaning I could purchase Applications in the App Store and they would be associated with that Apple ID.  Apple also configured my &quot;itunes@mydomain.com&quot; as an Apple ID as well, since it already had iTunes purchases associated to it.  For good measure, Apple aliased &quot;robuser@mac.com&quot; to be the same Apple ID as &quot;robuser@me.com&quot;.  So, I now had two official Apple IDs.  Yay?  I should have known this would come back and bite me...  Looking back, I wish Apple had immediately recognized the potential issues and offered to combine purchases into a single Apple ID, but they didn&apos;t, and still do not.  Then in iOS 5, Apple launched iCloud, so guess what they did?  They again gave everyone another alias, so now I had &quot;robuser@mac.com&quot;, &quot;robuser@me.com&quot;, and now &quot;robuser@icloud.com&quot;.  All three being effectively the same account.</p><p>Since I had been purchasing music from iTunes using my &quot;itunes@mydomain.com&quot; account, I set up my iPhone to use that for purchases, but used my &quot;robuser@icloud.com&quot; as my personal account.  So, that meant none of the purchases I was making were actually associated with the Apple ID that I was using 0n my iPhone to tie other things like Calendar, Reminders, Notes, and all of my personal preferences.  Instead, I kept making all of my purchases on the original Apple ID:  itunes@mydomain.com.  </p><p>The history of the separation of your Apple ID and iTunes Store accounts are as follows.</p><h2 id="the-name-history-of-the-media-purchases-settings-section"><strong>The Name History of the &quot;Media &amp; Purchases&quot; Settings Section</strong></h2><p>The settings section for your store/purchases account has gone through several names over the years, tied closely to what Apple was calling its services at the time.</p><p><strong>1. &quot;iTunes Store&quot; / &quot;Store&quot; era (iOS 1&#x2013;5, roughly 2007&#x2013;2011)</strong>&#xA0;In the very early days of the iPhone, there was a simple &quot;iTunes&quot; or &quot;Store&quot; entry in Settings. The App Store didn&apos;t exist until iOS 2 (2008), and iCloud wasn&apos;t a thing yet, so there was no concept of a separate iCloud vs. store account &#x2014; it was just your iTunes Store login.</p><p><strong>2. &quot;iTunes &amp; App Store&quot; (iOS 6 through iOS 13, roughly 2012&#x2013;2019)</strong>&#xA0;This was the most long-lived name, and the one most people remember. When iCloud launched with iOS 5 and Apple introduced a separate &quot;iCloud&quot; section in Settings, the store account became distinct &#x2014; sitting below iCloud in Settings as its own row labeled&#xA0;<strong>&quot;iTunes &amp; App Store.&quot; </strong>Forum posts and Apple documentation from 2013 through 2019 consistently reference this exact path (<code>Settings &gt; iTunes &amp; App Store</code>).</p><p><strong>3. &quot;Media &amp; Purchases&quot; (iOS 14 onward, September 2020 to present)</strong>&#xA0;With the iOS 14 release in fall 2020, Apple reorganized Settings. The top-level Apple ID section now consolidated iCloud and the store account under one profile page, and the store account was renamed&#xA0;<strong>&quot;Media &amp; Purchases&quot;</strong>&#xA0;&#x2014; accessible at&#xA0;<code>Settings &gt; [Your Name] &gt; Media &amp; Purchases</code>rather than as a standalone row. Apple community forum threads confirm users noticed this change when upgrading to iOS 14 and that &quot;iTunes &amp; App Store&quot; disappeared as a standalone item.</p><p><strong>Bonus &#x2014; the overarching &quot;Apple ID&quot; &#x2192; &quot;Apple Account&quot; rename (2024)</strong>&#xA0;In 2024 Apple also rebranded the Apple ID itself to&#xA0;<strong>&quot;Apple Account&quot;</strong>&#xA0;across all platforms. This doesn&apos;t change the &quot;Media &amp; Purchases&quot; label, but all Apple Support documentation now refers to the parent identity as Apple Account. You may see both terms used interchangeably depending on iOS version.</p><h2 id="family-purchase-sharing"><strong>Family Purchase Sharing</strong></h2><p>Before Family Sharing existed, there was no official mechanism for households to share purchases while maintaining separate accounts. The common workaround was simply for an entire family to share one Apple ID &#x2014; signing all their devices into the same iTunes &amp; App Store account. This was unsupported, messy, and created problems: messages, call history, photos, and contacts all cross-contaminated across devices. Apple&apos;s terms of service never explicitly blessed this approach, but millions of families did it anyway because there was no better option. This is where a lot of the &quot;two Apple ID&quot; complexity stems from &#x2014; people eventually tried to untangle this by creating individual iCloud IDs and keeping the shared account just for the &quot;iTunes &amp; App Store&quot; section, which directly connects back to the Media &amp; Purchases history discussed earlier.  This is the fundamental issue for millions of people using Apple&apos;s ecosystem.</p><h2 id="the-problem-with-a-shared-purchases-apple-id"><strong>The problem with a shared purchases Apple ID</strong></h2><h3 id="two-words-apple-one"><strong>Two words:  Apple One</strong></h3><p>Not too long ago, I decided to go &quot;all in&quot; on Apple Music.  That means spending hours &quot;liking&quot; songs and building playlists and helping Apple Music figure out what I like and, more importantly, what I don&apos;t.  The problem was that all of my son&apos;s music and preferences were in my Apple Music account, along with all of my wife&apos;s music and preferences.  Why?  Turns out Apple Music pays attention to your Media &amp; Purchases setting to determine the logged in account <strong>NOT</strong> your iCloud Apple Account.  Since my son and my wife were sharing the Media &amp; Purchases account with me, their preferences were &quot;infecting&quot; my preferences, making it impossible for me to get good information about my own preferences into Apple Music.</p><p>No problem.  I&apos;ll just remove both of their devices from the common purchases account, leave it with me, and then they&apos;ll establish their own preferences associated to their Apple Accounts.</p><h3 id="it-didnt-work">It Didn&apos;t Work</h3><p>When I did this on my wife&apos;s phone, setting her Media &amp; Purchases account to her own Apple Account, nothing available in Apple One (notably Apple Music) worked any more.  Apple Music just offered her to purchase a subscription.  Yet, we&apos;re all in a Family Account together and Apple One should be sharable!  I checked the Terms and Conditions for Apple One and sure enough, it&apos;s able to be shared across your established Family account.  Then why wasn&apos;t it working?</p><h3 id="there-are-two-settings-that-have-to-match">There are TWO settings that have to Match</h3><p>I had changed her Media &amp; Purchases setting to be her own account.  That way her purchases are tagged as her and Apple Music will keep her preferences separate from mine.  That&apos;s the logical place to set it up.  However, there is a <strong>SECRET</strong> <strong>second setting</strong>:  Settings &gt; Family &gt; Your Apple Account &gt; Purchases.  This second area needs to <strong>ALSO</strong> be your <strong>PERSONAL</strong> Apple Account and <strong>NOT</strong> the shared account.  Once I had changed this one to her Apple Account, it then saw the Apple One subscription and her preferences started to work.  I also had to <strong>reboot her phone</strong> to get it to be recognized.  If you&apos;re doing this at home, you <strong>MAY</strong> need to also &quot;log out&quot; of the shared account under Media and Purchases, in order to change it back to your personal Apple Account.</p><h2 id="what-apple-should-do-to-correct-this">What Apple should do to correct this</h2><p>Ultimately, this is a huge problem for millions of subscribers.  The fix is simple, provide a one-time &quot;merge&quot; option for Apple Accounts.  I would immediately merge my &quot;itunes@mydomain.com&quot; into my &quot;robuser@icloud.com&quot;, which would permanently associate all purchases from the former into the latter and <strong>DELETE</strong> the former account.  This would also have a side effect of giving me back one of my restricted 6 Family Accounts, since right now in order to share purchases I have to make the &quot;itunes@mydomain.com&quot; account one of my Family members.</p><p>I hope that someday Apple tackles this problem.  I understand how we got here (I just described it), but the ecosystem is mature now and it&apos;s time for Apple to clean this up.</p><h3 id="update">Update:  </h3><h3 id="thanks-to-claude-i-just-found-out-that-in-early-2025-apple-did-provide-a-merge-capability-there-are-some-caveats-but-i-thought-id-mention-it-here">Thanks to Claude I just found out that in early 2025, Apple DID provide a merge capability, there are some caveats, but I thought I&apos;d mention it here:</h3><p>Apple <a href="https://support.apple.com/en-us/117267?ref=robpickering.com" rel="noreferrer">finally added purchase migration</a> in early 2025 (launched February 2025) to solve the decades-old two-account problem. However, the migration itself has significant complications that directly affect Apple Music.</p><p>The primary Apple Account&apos;s music library data, personalization profile, social profile, and Apple Music Replay in the Apple Music app will migrate back to the secondary Apple Account during migration. If the secondary Apple Account had no music library data, personalization profile, social profile, and Apple Music Replay prior to migration, then this will remain associated with the primary Apple Account instead.</p><p>A critical blocker discovered by users: You can&apos;t migrate purchases if both the primary Apple Account and the secondary Apple Account have music library data associated with each of them. Even though there is an Apple Support article that says the secondary account music library will replace the first, if both accounts have a music library, the migration will fail and cannot be completed.&#xA0;<a href="https://mjtsai.com/blog/2025/02/12/migrating-apple-account-purchases-between-accounts/?ref=robpickering.com">Michael Tsai</a></p><p>Additional migration limitations relevant to Apple Music:</p><ul><li>All subscriptions except iCloud+ are cancelled during migration and must be manually resubscribed</li><li>Personalized recommendations in Apple Music do not migrate &#x2014; personalization starts over</li><li>The secondary Apple Account can no longer be used for Media &amp; Purchases after migration is complete</li><li>Migration can only be initiated on iPhone/iPad &#x2014; not available on Mac</li><li>The migration can only be undone once; after undoing, you cannot migrate again for one year</li></ul><p>So, at least there&apos;s something now.</p>]]></content:encoded></item><item><title><![CDATA[2025 What I've Read]]></title><description><![CDATA[<p>Twelve books. After the slow recovery of 2024, that&apos;s a number I&apos;m genuinely pleased with &#x2014; the best count since 2022. The pattern I&apos;ve noticed across these posts is holding: reading volume correlates almost entirely with deliberate structure. This year had more of that,</p>]]></description><link>https://robpickering.com/2025-what-ive-read/</link><guid isPermaLink="false">6996222fac82b80001fecebc</guid><dc:creator><![CDATA[Rob Pickering]]></dc:creator><pubDate>Wed, 18 Feb 2026 20:45:35 GMT</pubDate><media:content url="https://storage.ghost.io/c/06/05/06056eb8-88fb-4d10-9be0-4213dee89c68/content/images/2026/02/books-3.jpg" medium="image"/><content:encoded><![CDATA[<img src="https://storage.ghost.io/c/06/05/06056eb8-88fb-4d10-9be0-4213dee89c68/content/images/2026/02/books-3.jpg" alt="2025 What I&apos;ve Read"><p>Twelve books. After the slow recovery of 2024, that&apos;s a number I&apos;m genuinely pleased with &#x2014; the best count since 2022. The pattern I&apos;ve noticed across these posts is holding: reading volume correlates almost entirely with deliberate structure. This year had more of that, especially on the audiobook side. Long drives, early mornings, and a concerted effort to swap screen time for listening time made a real difference. The Doc Ford binge across three months didn&apos;t hurt either &#x2014; once you&apos;re back in a series, momentum does some of the work for you.</p>
<p>What was my breakdown of genres for the year?</p>
<p>In reviewing the books I read this year I found I read 12 titles. They were broken down in the following broad genres:</p>
<p>Entertainment - 33%<br>
Non-fiction - 25%<br>
Biographies - 17%<br>
Business - 17%<br>
Self-improvement - 8%<br>
Computing - 0%</p>
<h3 id="books-ive-completed-in-2025">Books I&apos;ve completed in 2025:</h3>
<h4 id="february">February</h4>
<ul>
<li><a href="https://amzn.to/4rWG1m8?ref=robpickering.com">A Hacker&apos;s Mind</a> (Audible) &#x2013; <em>Bruce Schneier expands the definition of hacking far beyond computers to argue that any complex system of rules has vulnerabilities &#x2014; and that the rich and powerful have always exploited them. Tax loopholes are hacks. Gerrymandering is a hack. Financial instruments designed to fail in slow motion while insiders cash out are hacks. Schneier&apos;s core thesis is that hacking has historically been a tool of the outsider, but it increasingly belongs to whoever has enough money and lawyers to find and exploit the gaps. The &quot;how to bend them back&quot; section at the end is thinner than you&apos;d want, but the reframing of how power actually operates is worth it on its own.</em></li>
</ul>
<h4 id="march">March</h4>
<ul>
<li><a href="https://amzn.to/4rXODc7?ref=robpickering.com">Salt River (Doc Ford #26)</a> (Kindle) &#x2013; <em>Two threads running in parallel: Doc is quietly selling off the Spanish gold he recovered at the end of Caribbean Rim, a side enterprise that attracts the attention of a corrupt former IRS agent and a Bahamian customs official looking to cut themselves in. Meanwhile, Tomlinson reveals that he spent some years as a sperm donor, and his now-adult biological children have tracked him down through genealogy websites &#x2014; at least one of them with intentions that aren&apos;t purely sentimental. The buddy dynamic between Doc and Tomlinson carries the book more than the plot does, but that&apos;s been true for most of the series.</em></li>
</ul>
<h4 id="april">April</h4>
<ul>
<li>
<p><a href="https://amzn.to/4siQKI3?ref=robpickering.com">One Deadly Eye (Doc Ford #27)</a> (Kindle) &#x2013; <em>A Russian diplomat disappears while Doc is tagging great white sharks in South Africa, and the Bratva &#x2014; Russian organized crime &#x2014; decides Doc must know something. They follow him home to Dinkin&apos;s Bay Marina, arriving just ahead of the deadliest hurricane to hit the Florida Gulf Coast in a century. The storm provides the structural backdrop for the whole novel, and White wrings a lot of tension out of the twelve hours before, during, and after the eye passes over. One of the better entries in the series in years &#x2014; the hurricane sequences are genuinely good.</em></p>
</li>
<li>
<p><a href="https://amzn.to/4bXxomL?ref=robpickering.com">The Heat Islands (Doc Ford #2)</a> (Kindle) &#x2013; <em>An early-series entry that has Doc investigating the suspicious death of a fishing guide who was about to expose a land-grab scheme on Sanibel Island. White was still finding his footing with the Doc Ford character here &#x2014; less spy thriller than the later books, more straight Florida mystery &#x2014; but the coastal setting and the environmental subtext are already well-developed. Worth reading in sequence if you&apos;re working through the series, but it doesn&apos;t demand it.</em></p>
</li>
</ul>
<h4 id="may">May</h4>
<ul>
<li><a href="https://amzn.to/4cAqDra?ref=robpickering.com">Cues</a> (Audible) &#x2013; <em>Vanessa Van Edwards&apos;s guide to the signals humans send and receive in social and professional settings. The central framework is a charisma matrix built on two axes: warmth and competence. Projecting one without the other creates problems &#x2014; all warmth reads as a pushover, all competence reads as cold and unapproachable. The book covers nonverbal cues, vocal patterns, word choice, and visual presentation, with research from Van Edwards&apos;s behavioral lab backing most of the claims. Practical, accessible, and the kind of thing you immediately start applying to Zoom calls.</em></li>
</ul>
<h4 id="june">June</h4>
<ul>
<li>
<p><a href="https://amzn.to/4cw6a6U?ref=robpickering.com">Who is Government?</a> (Audible) &#x2013; <em>Michael Lewis assembled a group of writers &#x2014; including Dave Eggers, Geraldine Brooks, Sarah Vowell, and John Lanchester &#x2014; and gave each of them a simple assignment: find someone doing an interesting job for the federal government and write about them. The result is eight essays profiling civil servants who are largely unknown and doing consequential work: the former coal miner who has spent decades making mine roofs less likely to collapse, the IRS investigator who thinks in terms of crime thrillers, the official who turned the National Cemetery Administration into the best-run organization &#x2014; public or private &#x2014; in the country. Originally published as a Washington Post series during the 2024 election, the book lands differently now, with DOGE having laid off or fired thousands of federal workers since it went to print. It reads as an elegy as much as a profile collection.</em></p>
</li>
<li>
<p><a href="https://amzn.to/4roHFx3?ref=robpickering.com">Killing Floor (Jack Reacher #1)</a> (Kindle) &#x2013; <em>The first Jack Reacher novel, which introduces the character in a small Georgia town where he stops randomly and immediately gets arrested for a murder he didn&apos;t commit. Reacher is a former military police major with no permanent address, no phone, no ties &#x2014; he travels by bus with nothing but a folding toothbrush, and his response to most problems is a combination of tactical thinking and overwhelming physical force. Lee Child&apos;s plotting moves fast, the dialogue is stripped down and efficient, and Reacher himself is either exactly your thing or isn&apos;t. Apparently he is mine &#x2014; this is a series I&apos;ll be coming back to.</em></p>
</li>
</ul>
<h4 id="july">July</h4>
<ul>
<li><a href="https://amzn.to/4qCNPs9?ref=robpickering.com">Multipliers</a> (Audible) &#x2013; <em>Liz Wiseman&apos;s research-based framework for understanding why some leaders make the people around them smarter and more capable, while others &#x2014; often unintentionally &#x2014; diminish them. The core distinction is between Multipliers, who believe intelligence is expandable and create conditions for others to think and act at full capacity, and Diminishers, who hoard decision-making and inadvertently suppress the team. Wiseman introduces the &quot;accidental diminisher&quot; &#x2014; the well-meaning manager who micromanages or rescues too quickly &#x2014; which is probably the most useful concept in the book for most readers. A staple of leadership development that earns that status.</em></li>
</ul>
<h4 id="september">September</h4>
<ul>
<li><a href="https://amzn.to/4qKaAun?ref=robpickering.com">What If?</a> (Kindle) &#x2013; <em>Randall Munroe, the xkcd cartoonist, answers absurd hypothetical questions using actual physics, math, and science. What would happen if you pitched a baseball at 90% of the speed of light? What if everyone on Earth jumped at the same time? What if you tried to build a periodic table using actual elements arranged in the correct positions? Each answer starts from the real question, follows the math honestly wherever it leads, and usually ends somewhere deeply strange. Smart, funny, and the kind of book that makes you feel like you&apos;re learning something while barely noticing.</em></li>
</ul>
<h4 id="october">October</h4>
<ul>
<li>
<p><a href="https://amzn.to/4kHUIr1?ref=robpickering.com">Liar&apos;s Poker</a> (Audible) &#x2013; <em>Michael Lewis&apos;s first book, written in 1989 from the inside of Salomon Brothers during the bond trading boom of the 1980s. Lewis was hired out of Princeton onto the trading floor with no particular qualifications and watched, often baffled, as the mortgage bond market was invented and then ran rampant. The characters are vivid &#x2014; John Gutfreund, the CEO who played liar&apos;s poker for a million dollars before breakfast; the various traders operating under the logic that if you weren&apos;t making money you were costing money. The culture Lewis describes, where new employees were called geeks and hazed until they either hardened or quit, led directly to the dynamics that caused the 2008 financial crisis. An essential book for understanding how Wall Street actually operates, and easy to read on its own merits.</em></p>
</li>
<li>
<p><a href="https://amzn.to/46Vhoy4?ref=robpickering.com">The Five Dysfunctions of a Team</a> (Audible) &#x2013; <em>A return to this one &#x2014; I read it in 2024 (the Kindle version) and came back to it on Audible in 2025. Lencioni&apos;s leadership fable about a new CEO trying to get her executive team to function is still the best entry point to the framework: absence of trust leads to fear of conflict, which leads to lack of commitment, which leads to avoidance of accountability, which leads to inattention to results. Hearing it again rather than reading it landed differently &#x2014; some of the patterns are easier to recognize in actual conversations when you&apos;ve listened to the dialogue rather than read it.</em></p>
</li>
</ul>
<h4 id="november">November</h4>
<ul>
<li><a href="https://amzn.to/3Ong6pu?ref=robpickering.com">Burn Book</a> (Audible) &#x2013; <em>Kara Swisher has spent thirty years covering Silicon Valley for the Washington Post, the Wall Street Journal, the New York Times, and her own media ventures, and Burn Book is her account of what she saw and how she thinks it went wrong. She was there for Netscape going public, for the rise of Google and Facebook, for the parade of founders who convinced themselves that their personal ambitions were aligned with making the world better. The book is part memoir &#x2014; her career arc, her family, her health &#x2014; and part reckoning, as she traces how the industry went from genuine idealism to something harder and more cynical. The audiobook version is particularly good because it sounds exactly like her podcast voice, which is to say: direct, opinionated, and funnier than you&apos;d expect given the subject matter.</em></li>
</ul>
<hr>
<p><em>The links above are Amazon affiliate links, there&apos;s no impact to you as the purchaser, but as an Amazon Associate I earn from qualifying purchases.</em></p>
]]></content:encoded></item><item><title><![CDATA[2024 What I've Read]]></title><description><![CDATA[<p>After the reading cliff of 2023, 2024 was a partial recovery. Seven books across five months &#x2014; not great, but better. The pattern is hard to miss looking back at these lists: reading volume is almost entirely a function of whether I have a structure forcing it. Without 75 Hard</p>]]></description><link>https://robpickering.com/2024-what-ive-read/</link><guid isPermaLink="false">69961f36ac82b80001fece84</guid><dc:creator><![CDATA[Rob Pickering]]></dc:creator><pubDate>Wed, 18 Feb 2026 20:33:28 GMT</pubDate><media:content url="https://storage.ghost.io/c/06/05/06056eb8-88fb-4d10-9be0-4213dee89c68/content/images/2026/02/books-2.jpg" medium="image"/><content:encoded><![CDATA[<img src="https://storage.ghost.io/c/06/05/06056eb8-88fb-4d10-9be0-4213dee89c68/content/images/2026/02/books-2.jpg" alt="2024 What I&apos;ve Read"><p>After the reading cliff of 2023, 2024 was a partial recovery. Seven books across five months &#x2014; not great, but better. The pattern is hard to miss looking back at these lists: reading volume is almost entirely a function of whether I have a structure forcing it. Without 75 Hard running in the background, books only happen when I&apos;m deliberate about making time for them. In 2024, I was deliberate some months and completely absent others, which explains the gaps.</p>
<p>What was my breakdown of genres for the year?</p>
<p>In reviewing the books I read this year I found I read 7 titles. They were broken down in the following broad genres:</p>
<p>Entertainment - 29%<br>
Non-fiction - 29%<br>
Computing - 0%<br>
Biographies - 14%<br>
Self-improvement - 14%<br>
Business - 14%</p>
<h3 id="books-i-completed-in-2024">Books I completed in 2024:</h3>
<h4 id="january">January</h4>
<ul>
<li><a href="https://amzn.to/4kIJVwt?ref=robpickering.com">Fire Weather</a> (Audible) &#x2013; <em>John Vaillant&apos;s account of the 2016 Fort McMurray wildfire, which forced the evacuation of 88,000 people in a single afternoon and burned through a city built in the middle of the Canadian oil industry&apos;s heartland. Vaillant treats fire as a living force and uses the Fort McMurray disaster as the anchor for a broader examination of combustion science, the history of the fossil fuel industry, and what a hotter world means for the relationship between human civilization and fire. A Pulitzer Prize finalist and one of the best-reviewed nonfiction books of 2023.</em></li>
</ul>
<h4 id="february">February</h4>
<ul>
<li><a href="https://amzn.to/4rnwtAF?ref=robpickering.com">Elon Musk</a> (Kindle) &#x2013; <em>Walter Isaacson&apos;s biography, written with extensive access to Musk over roughly two years. It traces his childhood in South Africa, his early companies (Zip2, PayPal), and the overlapping bets he placed on Tesla, SpaceX, and SolarCity &#x2014; companies that by conventional business logic had no business surviving their first few years. Isaacson is a sympathetic biographer and doesn&apos;t shy away from the contradictions: the same qualities that make Musk effective at forcing impossible timelines seem inseparable from what makes him genuinely difficult. Published the same week Musk closed his acquisition of Twitter.</em></li>
</ul>
<h4 id="june">June</h4>
<ul>
<li>
<p><a href="https://amzn.to/3MBRYi4?ref=robpickering.com">The Peripheral (The Jackpot Trilogy, Book 1)</a> (Kindle) &#x2013; <em>William Gibson&apos;s science fiction novel involving two different timelines connected by a mysterious server &#x2014; one set in a near-future rural America, one set roughly 70 years further on, in a London that survived a civilizational collapse called &quot;the Jackpot.&quot; When a woman in the earlier timeline witnesses something she shouldn&apos;t have through what she thinks is a game controller, people from her future begin reaching back to manipulate events in her present. Dense and rewarding, though Gibson doesn&apos;t make it easy.</em></p>
</li>
<li>
<p><a href="https://amzn.to/3MHNJBA?ref=robpickering.com">Caribbean Rim (Doc Ford 25)</a> (Kindle) &#x2013; <em>Doc Ford goes to the Bahamas ostensibly to research sharks, but really to track down a state archaeologist who disappeared with rare Spanish coins and a logbook of uncharted wreck sites belonging to Ford&apos;s old friend Carl Fitzpatrick. What follows involves sunken treasure, multiple competing factions of treasure hunters, and enough felonies to keep things moving. Takes the series out of the usual Florida coastal settings into open Caribbean water.</em></p>
</li>
<li>
<p><a href="https://amzn.to/4c2dKpM?ref=robpickering.com">Going Infinite</a> (Audible) &#x2013; <em>Michael Lewis spent months embedded with Sam Bankman-Fried before FTX collapsed, and the result is an unusual book &#x2014; part character study, part financial history, part meditation on what it looks like when effective altruism ideology meets unlimited leverage. Lewis had unprecedented access and came away genuinely uncertain about how much of FTX&apos;s collapse was fraud versus catastrophic mismanagement. Released the same week Bankman-Fried&apos;s trial began; by the time SBF was convicted on all counts, the book&apos;s careful agnosticism about his guilt had become a liability. Worth reading precisely because Lewis is wrestling with the material rather than fitting it into a predetermined narrative.</em></p>
</li>
</ul>
<h4 id="october">October</h4>
<ul>
<li><a href="https://amzn.to/3OphdEW?ref=robpickering.com">Five Dysfunctions of a Team</a> (Kindle) &#x2013; *Patrick Lencioni&apos;s business fable about why teams fail. Structured as a leadership novel about a new CEO trying to get her executive team to function, it builds toward a framework of five interconnected dysfunctions: absence of trust, fear of conflict, lack of commitment, avoidance of accountability, and inattention to results. The fable format makes it go quickly and the model is genuinely useful, even if the storytelling is thin. A staple of leadership development programs for good reason. This was my first reading of the book and it&apos;ll come back next year.  Stay tuned.</li>
</ul>
<h4 id="december">December</h4>
<ul>
<li><a href="https://amzn.to/4rwPnFG?ref=robpickering.com">Revenge of the Tipping Point</a> (Audible) &#x2013; <em>Twenty-five years after The Tipping Point, Gladwell returns to the subject of social epidemics with a darker lens. Where the original book was largely optimistic about the mechanics of contagion &#x2014; little things make big differences, the right connector can change the world &#x2014; this one is more interested in how those same mechanisms get weaponized. He traces the opioid crisis, Medicare fraud in Miami, suicide clusters in high-achieving high schools, and L.A.&apos;s epidemic of bank robberies in the late 1980s. The new framework introduces &quot;overstories&quot; &#x2014; the background environmental conditions that determine whether a contagion spreads &#x2014; and superspreaders as distinct from ordinary participants. A good companion to the original; works better if you&apos;ve read it.</em></li>
</ul>
<hr>
<p><em>The links above are Amazon affiliate links, there&apos;s no impact to you as the purchaser, but as an Amazon Associate I earn from qualifying purchases.</em></p>
]]></content:encoded></item><item><title><![CDATA[2023 What I've Read]]></title><description><![CDATA[<p>I&apos;m writing this 2023 post here in 2026, three years late.  For the last three years I&apos;ve been tracking all of the books I&apos;ve read, so that I can share them here on my blog for the readers that have commented how much they</p>]]></description><link>https://robpickering.com/2023-what-ive-read/</link><guid isPermaLink="false">69961c6dac82b80001fece3d</guid><dc:creator><![CDATA[Rob Pickering]]></dc:creator><pubDate>Wed, 18 Feb 2026 20:20:31 GMT</pubDate><media:content url="https://storage.ghost.io/c/06/05/06056eb8-88fb-4d10-9be0-4213dee89c68/content/images/2026/02/books-1.jpg" medium="image"/><content:encoded><![CDATA[<img src="https://storage.ghost.io/c/06/05/06056eb8-88fb-4d10-9be0-4213dee89c68/content/images/2026/02/books-1.jpg" alt="2023 What I&apos;ve Read"><p>I&apos;m writing this 2023 post here in 2026, three years late.  For the last three years I&apos;ve been tracking all of the books I&apos;ve read, so that I can share them here on my blog for the readers that have commented how much they enjoy these lists.  Sadly, I&apos;ve let those same readers down, because I haven&apos;t kept current with the lists themselves and publishing them.  That ends today, as I&apos;m working to get caught back up with <a href="https://robpickering/2022-what-ive-read?ref=robpickering.com">2022</a>, 2023, <a href="https://robpickering/2024-what-ive-read?ref=robpickering.com">2024</a>, and <a href="https://robpickering/2025-what-ive-read?ref=robpickering.com">2025</a> lists.  I have them, I just haven&apos;t done the posts.  Here they come!</p>
<p>I predicted in my 2022 What I&apos;ve Read post that 2023 was going to be rough for reading, and I was right. Without 75 Hard running in the background forcing daily pages and daily workouts with Audible, the structure that drove two books a month just wasn&apos;t there. I finished 5 books in 2023 &#x2014; and all of them came in the first half of the year. The back half of 2023 was a reading zero. It&apos;s a little embarrassing to write that, but it&apos;s honest. Fortunately, things picked back up in 2024 even though there were lots of changes coming (foreshadowing).</p>
<p>What was my breakdown of genres for the year?</p>
<p>In reviewing the books I read this year I found I read only 5 titles. That&apos;s down about 77% over 2022 and they were broken down in the following broad genres:<br>
Entertainment - 60%<br>
Non-fiction - 0%<br>
Computing - 0%<br>
Biographies - 0%<br>
Self-improvement - 40%</p>
<h3 id="books-ive-completed-in-2023">Books I&apos;ve completed in 2023:</h3>
<h4 id="january">January</h4>
<ul>
<li>
<p><a href="https://amzn.to/40niGhD?ref=robpickering.com">Atomic Habits</a> (Audible) &#x2013; <em>James Clear&apos;s framework for building good habits and breaking bad ones, built around the idea that small, consistent improvements compound dramatically over time. The core argument is that habits are better shaped by identity and environment than by willpower. Practical and well-organized &#x2014; one of those books where you find yourself mentally auditing your own routines as you read it.</em></p>
</li>
<li>
<p><a href="https://amzn.to/4aFIhqW?ref=robpickering.com">North of Havana (Doc Ford 5)</a> (Kindle) &#x2013; <em>Tomlinson sails to Cuba with a woman and ends up with his boat impounded by the Cuban government. Doc Ford goes to bail him out and walks into something far more complicated &#x2014; an assassination plot with roots in Ford&apos;s own covert past from the Mariel boatlift era. The series takes on a different texture here, with Havana providing a backdrop unlike the usual Florida coastal settings.</em></p>
</li>
</ul>
<h4 id="april">April</h4>
<ul>
<li>
<p><a href="https://amzn.to/4l29zNf?ref=robpickering.com">Start with Why</a> (Audible) &#x2013; <em>Simon Sinek&apos;s argument that the most influential leaders and organizations communicate from the inside out &#x2014; starting with purpose before moving to process or product. The &quot;Golden Circle&quot; framework (Why, How, What) is the central idea, illustrated through examples like Apple, Southwest Airlines, and Martin Luther King Jr. A companion piece to Leaders Eat Last in some ways, though it covers different ground.</em></p>
</li>
<li>
<p><a href="https://amzn.to/4kJadio?ref=robpickering.com">Ready Player Two</a> (Kindle) &#x2013; <em>The sequel to Ready Player One. Wade Watts discovers a new technology hidden by Halliday &#x2014; a full-immersion neural interface &#x2014; that triggers another high-stakes quest inside the OASIS, this time with the fate of millions of users hanging in the balance. It leans harder into the pop culture references than the first book, which will either work for you or it won&apos;t.</em></p>
</li>
</ul>
<h4 id="june">June</h4>
<ul>
<li><a href="https://amzn.to/4u0Qlf1?ref=robpickering.com">Critical Mass: A Delta-V Novel</a> (Kindle) &#x2013; <em>The second book in Daniel Suarez&apos;s Delta-V series. After an unsanctioned commercial asteroid-mining mission goes wrong and leaves two crew members stranded, the team that made it back to Earth has to design and build a rescue spacecraft from scratch &#x2014; on a timeline dictated by orbital mechanics. Hard science fiction that takes the engineering seriously, set against a backdrop of geopolitical tension and competing national interests in space.</em></li>
</ul>
<hr>
<p><em>The links above are Amazon affiliate links, there&apos;s no impact to you as the purchaser, but as an Amazon Associate I earn from qualifying purchases.</em></p>
]]></content:encoded></item><item><title><![CDATA[2022 What I've Read]]></title><description><![CDATA[<p>I&apos;m writing this 2022 post here in 2026, four years late.  For the last four years I&apos;ve been tracking all of the books I&apos;ve read, so that I can share them here on my blog for the readers that have commented how much they</p>]]></description><link>https://robpickering.com/2022-what-ive-read/</link><guid isPermaLink="false">6402c78cfa74c0003d1efece</guid><dc:creator><![CDATA[Rob Pickering]]></dc:creator><pubDate>Wed, 18 Feb 2026 15:44:31 GMT</pubDate><media:content url="https://storage.ghost.io/c/06/05/06056eb8-88fb-4d10-9be0-4213dee89c68/content/images/2026/02/books.jpg" medium="image"/><content:encoded><![CDATA[<img src="https://storage.ghost.io/c/06/05/06056eb8-88fb-4d10-9be0-4213dee89c68/content/images/2026/02/books.jpg" alt="2022 What I&apos;ve Read"><p>I&apos;m writing this 2022 post here in 2026, four years late.  For the last four years I&apos;ve been tracking all of the books I&apos;ve read, so that I can share them here on my blog for the readers that have commented how much they enjoy these lists.  Sadly, I&apos;ve let those same readers down, because I haven&apos;t kept current with the lists themselves and publishing them.  That ends today, as I&apos;m working to get caught back up with 2022, 2023, 2024, and 2025 lists.  I have them, I just haven&apos;t done the posts.  Here they come!</p><p>A huge motivator for reading books and completing them is the program that my wife and I accomplished twice in 2020, twice again in 2021, and twice more in 2022:  <a href="https://75hard.com/?ref=robpickering.com">75hard</a>.  The task of reading &quot;10 pages&quot; a day will make short work of any book (a 300 page book a month for example).  I augment this physical reading with my Audible subscription and at 90-minutes a day of working out, I&apos;m averaging a book every two weeks while on the program.  Sadly, as I&apos;m writing this in 2026, I can tell you that our &quot;Season 6&quot; in 2022 was the last time we did 75 Hard, so my book reading took a hit.</p><p>In my <a href="https://robpickering.com/2020-what-ive-read/">2021 What I&apos;ve Read</a> article, I set a goal of 30 books for 2022.  How&apos;d I do?  Well, in 2022 it looks like I got through 21 books.  Fell a bit short, but still almost 2 books a month!  Since I already know what I read in 2023 (hint, it fell off a cliff), I&apos;m not going to be making predictions until I get caught up.  One thing I&apos;ve noticed, when I look back, is that you have to make time for reading, if you don&apos;t, you just won&apos;t read that much, and that&apos;s clearly what happened to be over the years.  The mechanism I was using to dramatically increase my reading stopped happening, so I stopped reading as much.  It&apos;s something I miss and something I&apos;m going to get back to, for myself.</p><p>What was my breakdown of genres for the year?</p><p>In reviewing the books I read this year I found I read 21 titles.  That&apos;s down about 23% over 2021 and they were broken down in the following broad genres:</p><p>Entertainment - 47%<br>Non-fiction - 20%<br>Computing - 0%<br>Biographies - 0%<br>Self-improvement - 33%</p><h3 id="books-ive-completed-in-2022">Books I&apos;ve completed in 2022:</h3><h4 id="january">January</h4><ul><li><a href="https://amzn.to/4robRIF?ref=robpickering.com" rel="noreferrer">Leaders Eat Last</a>&#xA0;(Audible) &#x2013;&#xA0;<em>Simon Sinek examines why some teams and organizations are built on trust while others are driven by fear and self-interest. Using examples from the military, business, and government, he argues that the best leaders prioritize the well-being of their people above their own, and that this &quot;Circle of Safety&quot; is what separates high-performing cultures from toxic ones.</em></li></ul><h4 id="february">February</h4><ul><li><a href="https://amzn.to/4qOJuSV?ref=robpickering.com" rel="noreferrer">Leviathan Falls (The Expanse Book 9)</a>&#xA0;(Kindle) &#x2013;&#xA0;<em>The final book in The Expanse series. With the Laconian Empire collapsing and the alien force that destroyed the gate builders now actively targeting humanity, the crew of the Rocinante must navigate the endgame of a conflict that spans thirteen hundred solar systems. It brings closure to storylines that have been building across the entire series.</em></li></ul><h4 id="march">March</h4><ul><li><a href="https://amzn.to/4bX4kMb?ref=robpickering.com" rel="noreferrer">The Last Emperox (The Interdependency, Book 3)</a>&#xA0;(Kindle) &#x2013;&#xA0;<em>The concluding volume of John Scalzi&apos;s Interdependency trilogy. The Flow &#x2014; the extradimensional pathway that makes interstellar travel possible &#x2014; is collapsing faster than predicted, threatening to strand billions of people on worlds that cannot sustain themselves. Emperox Grayland II races to save as many as she can while fighting political opposition from those who refuse to accept the reality in front of them.</em></li><li><a href="https://amzn.to/4kKV9Ri?ref=robpickering.com" rel="noreferrer">Dead Shift - The Rho Agenda Inception (Book 3)</a>&#xA0;(Kindle) &#x2013;&#xA0;<em>The third book in Richard Phillips&apos; Rho Agenda Inception series. The NSA&apos;s top hacker is abducted and a covert military team is sent to recover him. The plot weaves together cyberwarfare, geopolitics, and an emerging artificial superintelligence that threatens to destabilize global infrastructure.</em></li><li><a href="https://amzn.to/4rj96bD?ref=robpickering.com" rel="noreferrer">What Happened to You?: Conversations on Trauma, Resilience, and Healing</a>&#xA0;(Audible) &#x2013;&#xA0;<em>A conversation-format book between Oprah Winfrey and psychiatrist Dr. Bruce Perry exploring how early childhood trauma shapes behavior and mental health throughout life. The central argument is that reframing the question from &quot;What&apos;s wrong with you?&quot; to &quot;What happened to you?&quot; changes how we understand and respond to people struggling with addiction, anxiety, and other conditions.</em></li></ul><h4 id="april">April</h4><ul><li><a href="https://amzn.to/40fwDy6?ref=robpickering.com" rel="noreferrer">Upstream: The Quest to Solve Problems Before They Happen</a>&#xA0;(Audible) &#x2013;&#xA0;<em>Dan Heath looks at why people and organizations default to reactive problem-solving rather than addressing root causes. Using a wide range of case studies &#x2014; from crime reduction to healthcare to education &#x2014; he examines the structural, psychological, and organizational barriers that keep us from acting on problems before they escalate.</em></li><li><a href="https://amzn.to/4tJpRyh?ref=robpickering.com" rel="noreferrer">Where Wizards Stay Up Late: The Origins of the Internet</a>&#xA0;(Audible) &#x2013;&#xA0;<em>A detailed history of ARPANET, the predecessor to the modern internet. It covers the researchers, engineers, and government officials at DARPA and MIT who designed and built the first packet-switched network in the 1960s and &apos;70s, tracing the decisions &#x2014; technical and political &#x2014; that shaped how the internet works today.</em></li><li><a href="https://amzn.to/4tIFvdg?ref=robpickering.com" rel="noreferrer">Deep Blue (Doc Ford 23)</a>&#xA0;(Kindle) &#x2013;&#xA0;<em>Doc Ford is pulled back into his covert government work when an American ISIS operative is identified through a hostage execution video. The mission takes Ford from Sanibel Island into international waters and foreign territory, with his marine biology cover providing access that intelligence agencies cannot.</em></li></ul><h4 id="may">May</h4><ul><li><a href="https://amzn.to/46exwux?ref=robpickering.com" rel="noreferrer">Mangrove Lightning (Doc Ford 24)</a>&#xA0;(Kindle) &#x2013;&#xA0;<em>A charter fishing captain approaches Doc Ford with an unusual problem &#x2014; members of his family have been suffering a string of violent incidents he believes are connected to a 1925 murder his ancestors were involved in. Ford and Tomlinson investigate, tracing the trail from the Florida Keys to Tallahassee while themselves becoming targets.</em></li></ul><h4 id="august">August</h4><ul><li><a href="https://amzn.to/4aXg3Jy?ref=robpickering.com" rel="noreferrer">The Kasari Nexus (Rho Agenda Assimilation, Book 1)</a>&#xA0;(Kindle) &#x2013;&#xA0;<em>The first book in Richard Phillips&apos; Rho Agenda Assimilation trilogy, picking up after the events of the Inception series. Jennifer Smythe steals an alien vessel and escapes through a wormhole to avoid a Kasari invasion of Earth, while her family back home faces a planet increasingly falling under alien influence.</em></li><li><a href="https://amzn.to/3OOHEnB?ref=robpickering.com" rel="noreferrer">The Altreian Enigma (Rho Agenda Assimilation, Book 2)</a>&#xA0;(Kindle) &#x2013;&#xA0;<em>Mark and Heather Smythe have stopped the immediate Kasari threat but Earth&apos;s new world government continues pursuing contact with extraterrestrial civilizations. The story expands to introduce the Altreians, another alien species with their own complicated relationship to the Kasari Collective.</em></li><li><a href="https://amzn.to/4c2OO1q?ref=robpickering.com" rel="noreferrer">How to Win Friends &amp; Influence People</a>&#xA0;(Audible) &#x2013;&#xA0;<em>Dale Carnegie&apos;s 1936 guide to interpersonal effectiveness, originally written for salespeople but broadly applicable. It covers practical techniques for making people feel valued, handling disagreements without creating enemies, and influencing others through genuine interest rather than manipulation. Dated in some examples but the core principles hold up.</em></li></ul><h4 id="september">September</h4><ul><li><a href="https://amzn.to/46UMjuo?ref=robpickering.com" rel="noreferrer">Cryptonomicon</a>&#xA0;(Audible) &#x2013;&#xA0;A book that was gifted to me by a close friend and roommate from college, it took me this long to read it, and I&apos;m glad I did.  Thanks Brad!  <em>Neal Stephenson&apos;s novel runs two parallel storylines &#x2014; one following Allied codebreakers and mathematicians during World War II, including a fictionalized Alan Turing, and one following their descendants in the late 1990s building a data haven in Southeast Asia. Cryptography, mathematics, and information theory are woven throughout. It&apos;s long, dense, and rewarding.</em></li></ul><h4 id="october">October</h4><ul><li><a href="https://amzn.to/4aXzbXW?ref=robpickering.com" rel="noreferrer">The Infinite Game</a>&#xA0;(Audible) &#x2013;&#xA0;<em>Simon Sinek draws on philosopher James Carse&apos;s distinction between finite and infinite games to analyze leadership and business strategy. Finite games have defined rules, players, and endpoints &#x2014; infinite games do not. He argues that companies get into trouble when they treat inherently infinite competitions like business as if they were finite, optimizing for short-term wins at the expense of long-term survival.</em></li><li><a href="https://amzn.to/4kFpnVK?ref=robpickering.com" rel="noreferrer">Predictably Irrational (Revised and Expanded Edition)</a>&#xA0;(Kindle) &#x2013;&#xA0;<em>Behavioral economist Dan Ariely presents research showing that human decision-making is systematically irrational in predictable, repeatable ways. Through experiments covering pricing psychology, the influence of &quot;free,&quot; relativity in decision-making, and the cost of social norms, he builds a case that standard economic models of rational actors don&apos;t reflect how people actually behave.</em></li><li><a href="https://amzn.to/4qHxiTW?ref=robpickering.com" rel="noreferrer">How to Be Perfect: The Correct Answer to Every Moral Question</a>&#xA0;(Audible) &#x2013;&#xA0;<em>Michael Schur, the creator of The Good Place, wrote this as an accessible introduction to moral philosophy. It covers the major ethical frameworks &#x2014; consequentialism, deontology, virtue ethics, contractualism &#x2014; using everyday scenarios to explain how each school of thought would approach common dilemmas. Genuinely funny and a good entry point into philosophical ethics without an academic background.</em></li><li><a href="https://amzn.to/4cARd3t?ref=robpickering.com" rel="noreferrer">The Meridian Ascent (Rho Agenda Assimilation, Book 3)</a>&#xA0;(Kindle) &#x2013;&#xA0;<em>The concluding volume of the Rho Agenda Assimilation trilogy. The altered humans and Earth&apos;s resistance fighters make their final push against the Kasari Collective. It wraps up the major story threads that have run across both the Inception and Assimilation series.</em></li><li><a href="https://amzn.to/46Ji3me?ref=robpickering.com" rel="noreferrer">You&apos;re Not Listening: What You&apos;re Missing and Why It Matters</a>&#xA0;(Audible) &#x2013;&#xA0;<em>Journalist Kate Murphy examines the decline of genuine listening in modern life. Drawing on interviews with a wide range of people &#x2014; from a CIA analyst to a hairdresser to a mortician &#x2014; she explores why people struggle to listen, what&apos;s lost when they don&apos;t, and what it actually takes to pay attention to another person in a meaningful way.</em></li><li><a href="https://amzn.to/46bHr3T?ref=robpickering.com" rel="noreferrer">Blink: The Power of Thinking Without Thinking</a>&#xA0;(Kindle) &#x2013;&#xA0;<em>Malcolm Gladwell looks at the psychology of rapid, unconscious decision-making &#x2014; what he calls &quot;thin-slicing.&quot; The book examines situations where snap judgments outperform careful deliberation, as well as cases where instincts fail catastrophically. It draws on research from psychology, marketing, and military strategy to map out when to trust your gut and when not to.</em></li></ul><h4 id="november">November</h4><ul><li><a href="https://amzn.to/4rXi0eD?ref=robpickering.com" rel="noreferrer">Give and Take: A Revolutionary Approach to Success</a>&#xA0;(Audible) &#x2013;&#xA0;<em>Organizational psychologist Adam Grant categorizes people as givers, takers, or matchers based on how they approach reciprocity in professional relationships. His research at Wharton found that givers occupy both the top and bottom of success metrics &#x2014; and the book examines what separates the ones who thrive from the ones who get taken advantage of.</em></li></ul><h4 id="december">December</h4><ul><li><a href="https://amzn.to/4c27hv4?ref=robpickering.com" rel="noreferrer">Captiva (Doc Ford Book 4)</a>&#xA0;(Kindle) &#x2013;&#xA0;<em>A conflict between commercial net fishermen and recreational sport fishermen on Florida&apos;s Gulf Coast escalates into arson and murder. Doc Ford gets drawn in when the dispute connects to interests reaching beyond Florida&apos;s waters. Typical of the series in its strong sense of place and the Florida marine environment.</em></li></ul><hr><p><em>The links above are Amazon affiliate links, there&apos;s no impact to you as the purchaser, but as an Amazon Associate I earn from qualifying purchases.</em></p>]]></content:encoded></item><item><title><![CDATA[Why I built my own Exhaust Fan Blueprint for Home Assistant]]></title><description><![CDATA[<p>Home Assistant has a way of quietly teaching you where the edges are.</p>
<p>You don&#x2019;t usually notice them on day one. You notice them after years of living with your automations &#x2014; when something <em>mostly</em> works, but never quite works <strong>right</strong>.</p>
<p>That&#x2019;s exactly what happened with</p>]]></description><link>https://robpickering.com/why-i-built-my-own-exhaust-fan-blueprint-for-home-assistant/</link><guid isPermaLink="false">695821decd43050001bdce1c</guid><dc:creator><![CDATA[Rob Pickering]]></dc:creator><pubDate>Fri, 02 Jan 2026 20:03:36 GMT</pubDate><media:content url="https://images.unsplash.com/photo-1610389337008-84e005329867?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wxMTc3M3wwfDF8c2VhcmNofDF8fEh1bWlkaXR5fGVufDB8fHx8MTc2NzM4NDI3Mnww&amp;ixlib=rb-4.1.0&amp;q=80&amp;w=2000" medium="image"/><content:encoded><![CDATA[<img src="https://images.unsplash.com/photo-1610389337008-84e005329867?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wxMTc3M3wwfDF8c2VhcmNofDF8fEh1bWlkaXR5fGVufDB8fHx8MTc2NzM4NDI3Mnww&amp;ixlib=rb-4.1.0&amp;q=80&amp;w=2000" alt="Why I built my own Exhaust Fan Blueprint for Home Assistant"><p>Home Assistant has a way of quietly teaching you where the edges are.</p>
<p>You don&#x2019;t usually notice them on day one. You notice them after years of living with your automations &#x2014; when something <em>mostly</em> works, but never quite works <strong>right</strong>.</p>
<p>That&#x2019;s exactly what happened with exhaust fan automation in my house.</p>
<hr>
<h2 id="the-setup-i-used-to-have-and-why-it-worked">The Setup I <em>Used</em> to Have (and Why It Worked)</h2>
<p>For a long time, I relied on <strong>basschipper&#x2019;s Generic Hygrostat custom integration</strong>:</p>
<p><a href="https://github.com/basschipper/homeassistant-generic-hygrostat?ref=robpickering.com">https://github.com/basschipper/homeassistant-generic-hygrostat</a></p>
<p>It did something critical that most solutions still don&#x2019;t:</p>
<p><strong>It understood behavior, not just thresholds.</strong></p>
<p>Humidity wasn&#x2019;t treated as a simple &#x201C;too high / too low&#x201D; value. It reacted well to showers, stabilized correctly afterward, and didn&#x2019;t randomly fire during storms or humid summer nights.</p>
<p>It worked well enough that I never thought about exhaust fans again &#x2014; which is exactly what good Home Assistant automation should do.</p>
<p>Unfortunately, that integration stopped being maintained over <strong>two years ago</strong>, and as Home Assistant evolved, it eventually stopped working entirely.</p>
<p>At some point, I had to move on.</p>
<hr>
<h2 id="the-problem-with-the-home-assistant-core-hygrostat">The Problem with the Home Assistant Core Hygrostat</h2>
<p>Home Assistant now includes a <strong>Generic Hygrostat</strong> in core:</p>
<p><a href="https://www.home-assistant.io/integrations/generic_hygrostat/?ref=robpickering.com">https://www.home-assistant.io/integrations/generic_hygrostat/</a></p>
<p>But here&#x2019;s the uncomfortable truth:</p>
<p>That integration is not designed for exhaust fans.</p>
<p>It&#x2019;s designed to control <strong>humidifiers and dehumidifiers</strong>. Conceptually, it behaves like a thermostat:</p>
<ul>
<li>Humidity above X &#x2192; turn on</li>
<li>Humidity below Y &#x2192; turn off</li>
</ul>
<p>That&#x2019;s fine for appliances designed to <em>add or remove moisture</em>.</p>
<p>It&#x2019;s a <strong>blunt instrument</strong> for exhaust fans.</p>
<p>Why?</p>
<p>Because <strong>absolute humidity is the wrong signal</strong>.</p>
<p>Humidity can be high because:</p>
<ul>
<li>It&#x2019;s raining</li>
<li>It&#x2019;s summer</li>
<li>The windows are open</li>
<li>The house is naturally humid</li>
</ul>
<p>What you actually care about in a bathroom is:</p>
<blockquote>
<p><strong>Is humidity rising quickly right now?</strong></p>
</blockquote>
<p>That single distinction changes everything, because...</p>
<h3 id="key-reasons-for-bathroom-exhaust-fans">Key Reasons for Bathroom Exhaust Fans:</h3>
<ul>
<li>Moisture Control &amp; Mold Prevention: Showers create significant humidity that condenses on walls and ceilings, leading to mold, mildew, peeling paint, and damaged drywall. Fans remove this moisture before it can cause problems.</li>
<li>Odor &amp; Germ Removal: They pull unpleasant smells and airborne germs out of the room, replacing them with fresher air, which is essential for comfort and hygiene.</li>
<li>Protecting Building Materials: By keeping the environment dry, fans prevent wood rot, warped doors, rusted fixtures, and damage to insulation.</li>
<li>Improved Air Quality &amp; Comfort: They clear foggy mirrors and prevent the air from feeling heavy and damp, making the bathroom a more pleasant space.</li>
<li>Code Requirements: Many building codes require proper ventilation in bathrooms, often mandating a fan or window to ensure health and safety standards are met.because condensation (and mold) don&apos;t appear just because humidity is high, they appear because there is a significant difference between two areas and their relative humidity.</li>
</ul>
<hr>
<h2 id="rate-of-change-is-the-signal-that-matters">Rate of Change Is the Signal That Matters</h2>
<p>A shower causes a <strong>rapid rise</strong> in humidity.<br>
Ambient conditions usually don&#x2019;t.</p>
<p>If you only watch absolute humidity:</p>
<ul>
<li>Fans turn on when they shouldn&#x2019;t</li>
<li>Fans turn off too early</li>
<li>Or worse, never turn off at all</li>
</ul>
<p>The Home Assistant core hygrostat does <strong>not</strong> account for rate of change. At all.</p>
<p>And after years of trying to tune around that limitation, I stopped fighting it.</p>
<hr>
<h2 id="why-i-built-a-home-assistant-blueprint-instead">Why I Built a Home Assistant Blueprint Instead</h2>
<p>Rather than patching together workarounds in individual automations, I decided to build what I actually wanted &#x2014; once &#x2014; and reuse it everywhere.</p>
<p>So I built a <strong>Home Assistant Automation Blueprint</strong> that:</p>
<ul>
<li>Uses a <strong>Derivative sensor</strong> to detect humidity <em>rate of change</em></li>
<li>Falls back to traditional thresholds if no rate sensor exists</li>
<li>Supports optional:
<ul>
<li>Shower-mode latch booleans</li>
<li>Sleep-hours inhibition</li>
<li>Maximum runtime safety timers</li>
</ul>
</li>
<li>Respects manual fan control</li>
<li>Uses modern HA YAML conventions (plural <code>triggers</code>, <code>conditions</code>, <code>actions</code>)</li>
<li>Is reusable across bathrooms, laundry rooms, or anywhere humidity spikes matter</li>
</ul>
<p>Most importantly:</p>
<p><strong>It behaves the way a human expects an exhaust fan to behave.</strong></p>
<hr>
<h2 id="this-is-for-home-assistant-users-%E2%80%94-full-stop">This Is for Home Assistant Users &#x2014; Full Stop</h2>
<p>This Blueprint is:</p>
<ul>
<li>Written specifically for <strong>Home Assistant</strong></li>
<li>Designed around HA helpers, sensors, and timers</li>
<li>Meant to be installed, configured, and tuned through HA&#x2019;s UI</li>
<li>Documented so you understand <em>why</em> each parameter exists</li>
</ul>
<p>This isn&#x2019;t a generic script. It&#x2019;s not a one-off automation.<br>
It&#x2019;s a reusable building block for real Home Assistant installations.</p>
<hr>
<h2 id="the-blueprint-is-open-source">The Blueprint Is Open Source</h2>
<p>I&#x2019;ve published the Blueprint on GitHub and will be maintaining it there going forward:</p>
<p><a href="https://github.com/pickerin/HA_Blueprints?ref=robpickering.com">https://github.com/pickerin/HA_Blueprints</a></p>
<p>This is the first Blueprint in that repository, and it sets the tone for what&#x2019;s coming next:</p>
<ul>
<li>Practical</li>
<li>Behavior-driven</li>
<li>Explicitly documented</li>
<li>Built from real-world HA usage, not theory</li>
</ul>
<hr>
<h2 id="closing-thought">Closing Thought</h2>
<p>If you&#x2019;ve ever thought:</p>
<blockquote>
<p>&#x201C;Why does my bathroom fan feel dumb?&#x201D;</p>
</blockquote>
<p>You&#x2019;re not wrong.</p>
<p>Humidity thresholds alone aren&#x2019;t enough &#x2014; and Home Assistant gives us the tools to do better.</p>
<p>So I did.</p>
<p>If you&apos;re interested in doing something similar here are the humidity sensors I use in my home:  <a href="https://amzn.to/4aMQBah?ref=robpickering.com">SONOFF SNZB-02P Zigbee Temperature Humidity Sensor</a></p>
]]></content:encoded></item><item><title><![CDATA[Adding custom syslog-ng filters to Synology Log Center]]></title><description><![CDATA[<p>I love my Synology, the recent controversies notwithstanding.  One of the many uses I have for my RS1221+ is using Log Center to receive syslog messages from all of my Ubiquiti networking equipment, among other sources.</p><h2 id="background">Background</h2><p>UniFi APs (notably the U7 Pro Wall) emit kernel-level Wi-Fi driver messages like</p>]]></description><link>https://robpickering.com/adding-custom-syslog-ng-filters-to-synology-log-center/</link><guid isPermaLink="false">695422da22f9a000014d328d</guid><dc:creator><![CDATA[Rob Pickering]]></dc:creator><pubDate>Tue, 30 Dec 2025 20:20:53 GMT</pubDate><media:content url="https://images.unsplash.com/photo-1517819655378-25fe37197692?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wxMTc3M3wwfDF8c2VhcmNofDF8fHN5bm9sb2d5fGVufDB8fHx8MTc2NzEyMjA2Nnww&amp;ixlib=rb-4.1.0&amp;q=80&amp;w=2000" medium="image"/><content:encoded><![CDATA[<img src="https://images.unsplash.com/photo-1517819655378-25fe37197692?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wxMTc3M3wwfDF8c2VhcmNofDF8fHN5bm9sb2d5fGVufDB8fHx8MTc2NzEyMjA2Nnww&amp;ixlib=rb-4.1.0&amp;q=80&amp;w=2000" alt="Adding custom syslog-ng filters to Synology Log Center"><p>I love my Synology, the recent controversies notwithstanding.  One of the many uses I have for my RS1221+ is using Log Center to receive syslog messages from all of my Ubiquiti networking equipment, among other sources.</p><h2 id="background">Background</h2><p>UniFi APs (notably the U7 Pro Wall) emit kernel-level Wi-Fi driver messages like this:</p><pre><code>kernel: wlan: [0:F:OBJMGR] wlan_objmgr_iterate_log_del_obj_handler:
#peer in L-state,MAC: 96:d3:62:76:f7:24</code></pre><p>UniFi tags these as&#xA0;<strong>severity &#x201C;emerg&#x201D;</strong>, which causes Synology Log Center to dutifully notify me as if something catastrophic just happened.</p><p>Seems serious right?  Well, some quick work with ChatGPT and I found the following explanation for the message:</p><blockquote>This is coming from the&#xA0;<strong>Qualcomm Wi-Fi 7 (802.11be) driver</strong>&#xA0;running on the U7 Pro Wall.<br>Translated:<br><strong>#peer</strong>&#xA0;= a connected Wi-Fi client<br><strong>L-state</strong>&#xA0;=&#xA0;<em>Link teardown state</em><br>The AP believes the client connection should already be gone<br>But the client is still &#x201C;half-present&#x201D; in the driver&#x2019;s object manager<br><br>This is a&#xA0;<strong>client-roaming / power-save edge case</strong>, not packet loss, not RF failure, and not a VLAN issue.<br><br><strong>Why Apple devices trigger this more than anything else</strong><br>Apple clients aggressively use:<br><strong>802.11k / v</strong>&#xA0;(neighbor reports + fast roaming)<br><strong>802.11r</strong>&#xA0;(Fast BSS Transition)<br><strong>U-APSD</strong>&#xA0;power save<br>Opportunistic band switching<br>Very short dwell times when moving or screen-locking</blockquote><p>So, TL;DR, you can safely ignore this message as it&apos;s expected behavior as the iOS devices will disconnect whenever you lock a screen or pretty much anything else, but the UniFi network won&apos;t like those short durations and half-open connections.  Not sure why the kernel in the U7 Pro Wall devices is logging that as an emergency, but there you have it.</p><p>So, next step, how do I stop it from coming into my Synology Log Center and filling my email with these everytime someone locks their phone?  Well, that turns out to be harder than you&apos;d think.</p><h2 id="filtering-the-log">Filtering the Log</h2><p>At first, this seemed like a simple task as there are lots of tutorials about doing custom filtering within Log Center.  It turns out; however, that all of those tutorials are written for Disk Station Manager 6.x and lower, I&apos;m on Disk Station Manager 7.x.  Seems Synology has permanently crippled DSM 7 with regards to Log Center.  You can no longer filter, you can no longer change notification preferences, it&apos;s pretty limited now.  That wouldn&apos;t be a big deal, except there really aren&apos;t any other solutions unless you want to roll your own on the Synology (like with Loki and Grafana; no thanks).  </p><p>I pulled out my trusty minion and we set off trying to investigate how we could do it normally within DSM 7, without too much difficulty, which turned out to be difficult, for the following reasons:</p><ul><li>DSM 7&#xA0;<strong>does not support content-based log filtering</strong>&#xA0;in Log Center</li><li>Notification rules are global and coarse</li><li>UniFi syslog severity levels are&#x2026; enthusiastic</li><li>Synology Log Center runs its&#xA0;<strong>own syslog-ng instance</strong>, separate from the system one</li><li>Much of Log Center&#x2019;s&#xA0;<em>real</em>&#xA0;configuration is dynamically included from directories misleadingly named&#xA0;patterndb.d</li></ul><p>So the fix has to happen&#xA0;<strong>inside Log Center&#x2019;s syslog-ng pipeline</strong>, before messages are persisted or trigger alerts.</p><hr><h2 id="step-1-identify-the-real-syslog-receiver"><strong>Step 1: Identify the Real Syslog Receiver</strong></h2><p>Log Center listens for remote syslog on UDP/514. The actual receiver is defined here:</p><pre><code>/var/packages/LogCenter/target/etc/syslog-ng/patterndb.d/pkg-LogCenter-recvrule.conf</code></pre><p>Inside that file you&#x2019;ll find the relevant source definition:</p><pre><code>source s_syno_ietf_IETF_UDP_514 {
    syslog(
        ip(&quot;0.0.0.0&quot;)
        port(514)
        transport(udp)
        ...
    );
};</code></pre><p>This is the ingestion point we want to hook.</p><hr><h2 id="step-2-create-a-drop-rule-at-ingest-time"><strong>Step 2: Create a Drop Rule at Ingest Time</strong></h2><p>Because Log Center&#x2019;s main config includes everything in its&#xA0;patterndb.d&#xA0;directory, the cleanest approach is to add a&#xA0;<strong>new config fragment</strong>&#xA0;there.</p><p>Create the following file:</p><pre><code>/var/packages/LogCenter/target/etc/syslog-ng/patterndb.d/00-drop-unifi-objmgr.conf</code></pre><p>(Using&#xA0;00-&#xA0;ensures it&#x2019;s evaluated early.)</p><h3 id="contents"><strong>Contents</strong></h3><pre><code># Drop noisy UniFi kernel WLAN OBJMGR peer cleanup messages

filter f_drop_unifi_objmgr {
    message(&quot;wlan_objmgr_iterate_log_del_obj_handler&quot;);
};

destination d_null { file(&quot;/dev/null&quot;); };

log {
    source(s_syno_ietf_IETF_UDP_514);
    filter(f_drop_unifi_objmgr);
    destination(d_null);
    flags(final);
};</code></pre><p>Key points:</p><ul><li>We match on the&#xA0;<strong>stable function name</strong>, not severity</li><li>We drop the message&#xA0;<strong>at the receiver</strong></li><li>flags(final)&#xA0;prevents the message from flowing into&#xA0;<em>any</em>&#xA0;downstream Log Center pipelines (storage, alerts, DB)</li></ul><p>Optional hardening: you can scope this further by hostname if you want to ensure it only applies to a specific AP.</p><hr><h2 id="step-3-validate-and-restart-log-center"><strong>Step 3: Validate and Restart Log Center</strong></h2><p>Before restarting anything, always validate:</p><pre><code>/var/packages/LogCenter/target/usr/bin/syslog-ng \
  -s --cfgfile=/var/packages/LogCenter/target/etc/syslog-ng/syslog-ng.conf</code></pre><p>If the syntax check passes, restart Log Center:</p><pre><code>synopkg restart LogCenter</code></pre><hr><h2 id="step-4-test-correctly-this-part-matters"><strong>Step 4: Test Correctly (This Part Matters)</strong></h2><p>If you test from the Synology itself, you&#x2019;ll get misleading results as it will take the local pipeline and not the syslog pipeline.  Also, macOS and BSD&#xA0;logger <strong>do not send remote syslog</strong>, even if you think they do.</p><p>To test properly, send a&#xA0;<strong>real UDP syslog packet from another machine</strong>. On macOS (since logger is broken), you can do it with &apos;nc&apos;:</p><pre><code>echo &apos;&lt;0&gt;kernel: wlan: [0:F:OBJMGR] wlan_objmgr_iterate_log_del_obj_handler test&apos; \
| nc -u -w1 &lt;NAS_IP&gt; 514</code></pre><p>On a raspberry pi it would look like:</p><pre><code>logger -n &lt;NAS_IP&gt; -P 514 -d -t kernel &apos;wlan: [0:F:OBJMGR] wlan_objmgr_iterate_log_del_obj_handler: #peer in L-state,MAC: 96:d3:62:76:f7:24&apos;</code></pre><p>When tested this way, the message is&#xA0;<strong>successfully filtered</strong>&#xA0;and never appears in Log Center.  Just to confirm, you should also try additional messages and those should come through normally.</p><p>This will confirm the rule is working on the actual ingestion path used by UniFi devices.</p><hr><h2 id="important-notes-read-this-before-a-dsm-update"><strong>Important Notes (Read This Before a DSM Update)</strong></h2><ul><li>Anything under&#xA0;/var/packages/.../target/&#xA0;<strong>may be overwritten</strong>&#xA0;by package updates</li><li>Keep a copy of your custom&#xA0;.conf&#xA0;file elsewhere</li><li>Reapply it after Log Center upgrades if needed</li><li>This is unsupported by Synology&#x2014;but it&#x2019;s deterministic, minimal, and easy to restore</li></ul><p>I consider that an acceptable tradeoff versus constant false &#x201C;emergency&#x201D; alerts.</p><hr><h2 id="final-outcome"><strong>Final Outcome</strong></h2><ul><li>UniFi kernel WLAN noise:&#xA0;<strong>gone</strong></li><li>Legitimate syslog messages:&#xA0;<strong>untouched</strong></li><li>No port changes</li><li>No proxy syslog daemon</li><li>No alert fatigue</li></ul><p>Synology Log Center remains what it is&#x2014;a basic syslog sink&#x2014;but with a little careful plumbing, it can be made to behave like a grown-up.</p><p>If you&#x2019;re running UniFi gear and using Log Center, this is one of those fixes that pays dividends every single day.</p>]]></content:encoded></item><item><title><![CDATA[2021 What I've Read]]></title><description><![CDATA[<!--kg-card-begin: markdown--><ol start="2021">
<li>I normally like having this article out in the 1st Quarter of the year, but here I am at the end of September, staring at a partially written blog post, so here goes...</li>
</ol>
<p>Coronavirus (COVID-19) still.  Mask Mandates still.  Stock Market Bubble, seems so; and those were only in the</p>]]></description><link>https://robpickering.com/2021-what-ive-read/</link><guid isPermaLink="false">6005d89d1cf7490039604d3a</guid><category><![CDATA[books]]></category><category><![CDATA[reading]]></category><dc:creator><![CDATA[Rob Pickering]]></dc:creator><pubDate>Sun, 18 Sep 2022 03:37:09 GMT</pubDate><media:content url="https://storage.ghost.io/c/06/05/06056eb8-88fb-4d10-9be0-4213dee89c68/content/images/2022/09/books.jpg" medium="image"/><content:encoded><![CDATA[<!--kg-card-begin: markdown--><ol start="2021">
<li>I normally like having this article out in the 1st Quarter of the year, but here I am at the end of September, staring at a partially written blog post, so here goes...</li>
</ol>
<img src="https://storage.ghost.io/c/06/05/06056eb8-88fb-4d10-9be0-4213dee89c68/content/images/2022/09/books.jpg" alt="2021 What I&apos;ve Read"><p>Coronavirus (COVID-19) still.  Mask Mandates still.  Stock Market Bubble, seems so; and those were only in the first few months of 2021.</p>
<p>Starting in 2021 I&apos;m not going to carry books forward.  I&apos;ll take credit for the book completion in the year that I completed it and I won&apos;t be talking about books until I actually finish them (regardless of when I started them).  I&apos;ve always been a &quot;completionist&quot; about most things, I hate not finishing a book, project, task.  That said, there&apos;s something incredibly healthy with looking at a book, project, or task and evaluating its ability to give you pleasure or satisfaction, and realizing that the reward is not worth the effort.  For these, you very much <strong>should</strong> abandon them and use your energy on something more worthwhile.</p>
<p>A huge motivator for reading books and completing them is the program that my wife and I have accomplished twice in 2020 and started again on January 4th, 2021:  <a href="https://75hard.com/?ref=robpickering.com">75hard</a>.  The task of reading &quot;10 pages&quot; a day will make short work of any book (a 300 page book a month for example).  I augment this physical reading with my Audible subscription and at 90-minutes a day of working out, I&apos;m averaging a book every two weeks while on the program.</p>
<p>In my <a href="https://robpickering.com/2020-what-ive-read/">2020 What I&apos;ve Read</a> article, I set a goal of 25 books for 2021.  So, for 2022 I&apos;m going to set a goal of 30; that&apos;s going to be a big push to get almost 3 per month.</p>
<p>What was my breakdown of genres for the year?</p>
<p>In reviewing the books I read this year I found I read 34 titles; however, many of these were novellas/short stories, so removing all of those it would be 26 titles, so I just squeeked past my goal of 25.  That&apos;s up 18% over 2020 and they were broken down in the following broad genres:</p>
<p>Entertainment - 46% (and that&apos;s without counting all the short stories!)<br>
Non-fiction - 27%<br>
Computing - 0%<br>
Biographies - 3%<br>
Self-improvement - 24%</p>
<h3 id="booksivecompletedin2021">Books I&apos;ve completed in 2021:</h3>
<h4 id="january">January</h4>
<ul>
<li><a href="https://amzn.to/3QLdltq?ref=robpickering.com">Chasing Midnight (Doc Ford: Book 19)</a> (Kindle) -- <em>On one of Florida&#x2019;s private islands, a notorious Russian black marketer is hosting a reception. Doc Ford only wanted to get an underwater look at the billionaire&#x2019;s yacht. But when he surfaces, he gets a look at something he&#x2019;d rather not see.</em></li>
<li><a href="https://amzn.to/3RXo6Kz?ref=robpickering.com">The Fear Index</a> (Audible) -- <em>Dr. Alex Hoffmann&#x2019;s name is carefully guarded from the general public, but within the secretive inner circles of the ultrarich, he is a legend. He has developed a revolutionary form of artificial intelligence that predicts movements in the financial markets with uncanny accuracy. His hedge fund, based in Geneva, makes billions. But one morning before dawn, a sinister intruder breaches the elaborate security of his lakeside mansion, and so begins a waking nightmare of paranoia and violence as Hoffmann attempts, with increasing desperation, to discover who is trying to destroy him.</em></li>
<li><a href="https://amzn.to/3Ui0IZT?ref=robpickering.com">The Checklist Manifesto</a> (Kindle) -- <em>We live in a world of great and increasing complexity, where even the most expert professionals struggle to master the tasks they face. Longer training, ever more advanced technologies&#x201A;&#xC4;&#xEE;neither seems to prevent grievous errors. But in a hopeful turn, acclaimed surgeon and writer Atul Gawande finds a remedy in the humblest and simplest of techniques: the checklist. First introduced decades ago by the U.S. Air Force, checklists have enabled pilots to fly aircraft of mind-boggling sophistication. Now innovative checklists are being adopted in hospitals around the world, helping doctors and nurses respond to everything from flu epidemics to avalanches. Even in the immensely complex world of surgery, a simple ninety-second variant has cut the rate of fatalities by more than a third.</em></li>
<li><a href="https://amzn.to/3eTVTWq?ref=robpickering.com">80/20 Principle</a> - Richard Koch (Audible) -- *Find your &quot;critical 20%&quot; and transform your time - and life - forever! The 80/20 principle - also known as the Pareto principle - is the well-verified observation that in business, economics, and life generally, about 80 percent of all results flow from a mere 20 percent of our efforts. In this thought-provoking and highly informative program, Richard Koch unveils the secrets to how this mysterious but practical principle actually works... how it is affecting your life right now... and how you can start using it to your advantage. *</li>
<li><a href="https://amzn.to/3LnPijl?ref=robpickering.com">The Four Tendencies</a> (Audible) -- <em>During her multi-book investigation into understanding human nature, Gretchen Rubin realized that by asking the seemingly dry question &#x201C;How do I respond to expectations?&#x201D; we gain explosive self-knowledge. She discovered that based on their answer, people fit into Four Tendencies: Upholders, Questioners, Obligers, and Rebels. Our Tendency shapes every aspect of our behavior, so using this framework allows us to make better decisions, meet deadlines, suffer less stress, and engage more effectively.</em></li>
<li><a href="https://amzn.to/3LpZaco?ref=robpickering.com">Night Moves (Doc Ford: Book 20)</a> (Kindle) -- <em>While trying to solve one of Florida&#x2019;s most profound mysteries, Doc Ford is the target of a murder attempt by someone who wants to make it look like an accident. Or is the target actually his friend Tomlinson? Whatever the answer, the liveaboards and fishing guides at Dinkin&#x2019;s Bay on Sanibel Island are becoming increasingly nervous&#x2014;and wary&#x2014;after a plane crash and other near-death incidents make it apparent that Ford and Tomlinson are dangerous companions.</em></li>
</ul>
<h4 id="february">February</h4>
<p>I was about to start the most recent novel in The Expanse saga (Tiamat&apos;s Wrath), but I realized that I had never read any of the short stories.  I found a resource online that explained the order in which all of the Expanse novels and short stories should all be read (published order), but I&apos;ve changed it instead to chronological (with the exception that anything before Leviathan Wakes will come after, so you have context.  I left the publishing date in case you want to re-arrange them back).  I read all of the stories in bold (ones not in bold I&apos;ve either previously read or will be) during February:</p>
<ul>
<li>Leviathan Wakes (2011, Book 1)</li>
<li><strong><a href="https://drive.google.com/file/d/0B_ai6QXrXx1hR2JEbmw4MUZ6UEU/view?ref=robpickering.com">Drive</a> (2012)</strong> (PDF) -- This was James S.A. Corey&apos;s short story about Solomon Epstein&apos;s creation of the drive that opened the Solar System. It&apos;s rather hard to find online, but I found a copy and linked it.</li>
<li><strong><a href="https://amzn.to/3BgTQ6k?ref=robpickering.com">The Butcher of Anderson Station</a> (2011)</strong> (Kindle) -- <em>One day, Colonel Fred Johnson will be hailed as a hero to the system. One day, he will meet a desperate man in possession of a stolen spaceship and a deadly secret and extend a hand of friendship. But long before he became the leader of the Outer Planets Alliance, Fred Johnson had a very different name. The Butcher of Anderson Station.</em></li>
<li><strong><a href="https://amzn.to/3Dzt2Rw?ref=robpickering.com">The Churn</a> (2014)</strong> (Kindle) -- <em>Before his trip to the stars, before the Rocinante, Timmy was confined to a Baltimore where crime paid you or killed you. Unless the authorities got to you first.</em></li>
<li><strong><a href>The Last Flight of the Cassandra</a> (2019)</strong> (Kindle) -- <em>Following the destruction of the Canterbury, Darius and his crew of Sundivers on the Cassandra realize the cost of prospecting will outweigh their ability to keep up with demands of shipboard life and have to make a tough decision about their future. While prospecting in the Aten Asteroids, the crew come across a mystery on Xi-Mallow 434 that forces a tough decision.</em> -- <strong>Note:</strong> this no longer appears to be in print or on Kindle</li>
<li>Caliban&apos;s War (2012, Book 2)</li>
<li><strong><a href="https://amzn.to/3LmvkoR?ref=robpickering.com">Gods of Risk</a> (2012)</strong> (Kindle) -- <em>As tension between Mars and Earth mounts, and terrorism plagues the Martian city of Londres Nova, 16-year-old David Draper is fighting his own lonely war. A gifted chemist vying for a place at the university, David leads a secret life as a manufacturer for a ruthless drug dealer. When his friend Leelee goes missing, leaving signs of the dealer&apos;s involvement, David takes it upon himself to save her. But first he must shake his aunt Bobbie Draper, an ex-Marine who has been set adrift in her own life after a mysterious series of events nobody is talking about.</em></li>
<li>Abaddon&apos;s Gate (2013, Book 3)</li>
<li><strong><a href="https://amzn.to/3eVpChG?ref=robpickering.com">The Vital Abyss</a> (2015)</strong> (Kindle) -- <em>Somewhere in the vast expanse of space, a group of prisoners lives in permanent captivity. The only company they have is each other and the Belters who guard them. The only stories they know are the triumphs and crimes that brought them there. The only future they see is an empty life in an enormous room.</em></li>
<li>Cibola Burn (2014, Book 4)</li>
<li>Nemesis Games (2015, Book 5)</li>
<li>Babylon&apos;s Ashes (2016, Book 6)</li>
<li><strong><a href="https://amzn.to/3LBZDbz?ref=robpickering.com">Strange Dogs</a> (2017)</strong> (Kindle) -- <em>Like many before them, Cara and her family ventured through the gates as scientists and researchers, driven to carve out a new life and uncover the endless possibilities of the unexplored alien worlds now within reach. But soon the soldiers followed and under this new order Cara makes a discovery that will change everything.</em></li>
<li>Persepolis Rising (2017, Book 7)</li>
<li>Auberon (2019)</li>
<li>Tiamat&apos;s Wrath (2020, Book 8)</li>
<li>Leviathan Falls (2021, Book 9)</li>
</ul>
<p><strong>Note:</strong> If you watch <a href="https://amzn.to/3OKRNMG?ref=robpickering.com">The Expanse</a> on Amazon Prime Video, you&apos;ll be pleasantly surprised that the events of Strange Dogs happen in the first episode of Season 6.  Also, you can get all of the Short Stories in a single volume called <a href="https://amzn.to/3RTygfi?ref=robpickering.com">Memory&apos;s Legion</a>, this is much cheaper than buying individually.</p>
<h4 id="march">March</h4>
<ul>
<li><a href="https://amzn.to/3LoexlB?ref=robpickering.com">Facebook:The Inside Story</a> (Audible) -- <em>As a college sophomore, Mark Zuckerberg created a simple website to serve as a campus social network. Today, Facebook is nearly unrecognizable from its first, modest iteration. In light of recent controversies surrounding election-influencing &quot;fake news&quot; accounts, the handling of its users&#x2019; personal data, and growing discontent with the actions of its founder and CEO - who has enormous power over what the world sees and says - never has a company been more central to the national conversation.</em></li>
<li><a href="https://amzn.to/3UmHa6O?ref=robpickering.com">Auberon (The Expanse, Short Story)</a> (Kindle) -- <em>Auberon is one of the first and most important colony worlds in humanity&apos;s reach, and the new conquering faction has come to claim it. Governor Rittenaur has come to bring civilization and order to the far outpost and guarantee the wealth and power of the Empire. But Auberon already has its own history, a complex culture, and a criminal kingpin named Erich with very different plans. In a world of deceit, violence, and corruption, the greatest danger Rittenaur faces is love.</em></li>
<li><a href="https://amzn.to/3qN0Ov2?ref=robpickering.com">Think Again</a> (Audible) -- <em>Intelligence is usually seen as the ability to think and learn, but in a rapidly changing world, there&apos;s another set of cognitive skills that might matter more: the ability to rethink and unlearn. In our daily lives, too many of us favor the comfort of conviction over the discomfort of doubt. We listen to opinions that make us feel good, instead of ideas that make us think hard. We see disagreement as a threat to our egos, rather than an opportunity to learn. We surround ourselves with people who agree with our conclusions, when we should be gravitating toward those who challenge our thought process.</em></li>
<li><a href="https://amzn.to/3RQATP5?ref=robpickering.com">The Premonition:A Pandemic Story</a> (Audible) -- <em>For those who could read between the lines, the censored news out of China was terrifying. But the president insisted there was nothing to worry about. Fortunately, we are still a nation of skeptics. Fortunately, there are those among us who study pandemics and are willing to look unflinchingly at worst-case scenarios. Michael Lewis&#x2019; taut and brilliant nonfiction thriller pits a band of medical visionaries against the wall of ignorance that was the official response of the Trump administration to the outbreak of COVID-19.</em></li>
<li><a href="https://amzn.to/3QTkvfl?ref=robpickering.com">This Is How You Lose the Time War</a> (Kindle) -- <em>Among the ashes of a dying world, an agent of the Commandment finds a letter. It reads: Burn before reading. Thus begins an unlikely correspondence between two rival agents hellbent on securing the best possible future for their warring factions. Now, what began as a taunt, a battlefield boast, becomes something more. Something epic. Something romantic. Something that could change the past and the future.</em></li>
</ul>
<h4 id="april">April</h4>
<ul>
<li><a href="https://amzn.to/3qM3KId?ref=robpickering.com">The Codebreaker</a> (Audible) -- <em>When Jennifer Doudna was in sixth grade, she came home one day to find that her dad had left a paperback titled The Double Helix on her bed. She put it aside, thinking it was one of those detective tales she loved. When she read it on a rainy Saturday, she discovered she was right, in a way. As she sped through the pages, she became enthralled by the intense drama behind the competition to discover the code of life. Even though her high school counselor told her girls didn&#x2019;t become scientists, she decided she would.</em></li>
<li><a href="https://amzn.to/3eXWC9d?ref=robpickering.com">What Every BODY is Saying</a> (Kindle) -- <em>Joe Navarro, a former FBI counterintelligence officer and a recognized expert on nonverbal behavior, explains how to &quot;speed-read&quot; people: decode sentiments and behaviors, avoid hidden pitfalls, and look for deceptive behaviors. You&apos;ll also learn how your body language can influence what your boss, family, friends, and strangers think of you.</em></li>
</ul>
<h4 id="may">May</h4>
<ul>
<li><a href="https://amzn.to/3BspSfE?ref=robpickering.com">Tiamat&apos;s Wrath</a> (The Expanse, Book 8) (Kindle) -- <em>Thirteen hundred gates have opened to solar systems around the galaxy. But as humanity builds its interstellar empire in the alien ruins, the mysteries and threats grow deeper. In the dead systems where gates lead to stranger things than alien planets, Elvi Okoye begins a desperate search to discover the nature of a genocide that happened before the first human beings existed, and to find weapons to fight a war against forces at the edge of the imaginable. But the price of that knowledge may be higher than she can pay.</em></li>
<li><a href="https://amzn.to/3r4OGWx?ref=robpickering.com">Brain Maker: The Power of Gut Microbes to Heal and Protect Your Brain</a> (Audible) -- <em>Debilitating brain disorders are on the rise - from children diagnosed with autism and ADHD to adults developing dementia at younger ages than ever before. But a medical revolution is underway that can solve this problem: Astonishing new research is revealing that the health of your brain is, to an extraordinary degree, dictated by the state of your microbiome - the vast population of organisms that live in your body and outnumber your own cells 10 to one. What&apos;s taking place in your intestines today is determining your risk for any number of brain-related conditions.</em></li>
<li><a href="https://amzn.to/3xxbNwo?ref=robpickering.com">Surely You&apos;re Joking, Mr. Feynman!</a> (Audible) -- <em>With his characteristic eyebrow-raising behavior, Richard P. Feynman once provoked the wife of a Princeton dean to remark, &quot;Surely you&apos;re joking, Mr. Feynman!&quot; But the many scientific and personal achievements of this Nobel Prize-winning physicist are no laughing matter. In addition to solving the mystery of liquid helium, Feynman has been commissioned to paint a naked female toreador and asked to crack the uncrackable safes guarding the atomic bomb&apos;s most critical secrets. He has traded ideas with Einstein and Bohr, discussed gambling odds with Nick the Greek, and accompanied a ballet on the bongo drums. Here, woven with his scintillating views on modern science, Feynman relates the defining moments of his accomplished life.</em></li>
</ul>
<h4 id="june">June</h4>
<ul>
<li><a href="https://amzn.to/3QWzGnU?ref=robpickering.com">A Promised Land</a> (Audible) -- <em>In the stirring, highly anticipated first volume of his presidential memoirs, Barack Obama tells the story of his improbable odyssey from young man searching for his identity to leader of the free world, describing in strikingly personal detail both his political education and the landmark moments of the first term of his historic presidency - a time of dramatic transformation and turmoil.</em></li>
<li><a href="https://amzn.to/3UikDb6?ref=robpickering.com">Sanibel Flats (Doc Ford Book 1)</a> (Kindle) -- <em>Its cool gulf breezes lured him from a life of danger. Its dark undercurrents threatened to destroy him. After ten years of living life on the edge, it was hard for Doc Ford to get that addiction to danger out of his system. But spending each day watching the sun melt into Dinkins Bay and the moon rise over the mangrove trees, cooking dinner for his beautiful neighbor, and dispensing advice to the locals over a cold beer lulled him into letting his guard down. Then Rafe Hollins appeared. How could he refuse his old friend&apos;s request-even if it would put him back on the firing line? Even if it would change forever the life he&apos;d built here on Sanibel Island?</em></li>
</ul>
<h4 id="july">July</h4>
<ul>
<li><a href="https://amzn.to/3RUV3aD?ref=robpickering.com">Bone Deep (Doc Ford Book 21)</a> (Kindle) -- <em>When a Crow Indian acquaintance of Tomlinson&#x2019;s asks him to help recover a relic stolen from his tribe, Doc Ford is happy to tag along&#x2014;but neither Doc nor Tomlinson realize what they&#x2019;ve let themselves in for. Their search takes them to the part of Central Florida known as Bone Valley, famous primarily for two things: a ruthless subculture of black-marketers who trade in illegal artifacts and fossils, and a multibillion-dollar phosphate industry whose strip mines compromise the very ground they walk on.</em></li>
</ul>
<h4 id="august">August</h4>
<ul>
<li><a href="https://amzn.to/3Ll9UIW?ref=robpickering.com">Cuba Straits (Doc Ford Book 22)</a> (Kindle) -- <em>Doc Ford&#x2019;s old friend, General Juan Garcia, has gone into the lucrative business of smuggling Cuban baseball players into the U.S. He is also feasting on profits made by buying historical treasures for pennies on the dollar. He prefers what dealers call HPC items&#x2014;high-profile collectibles&#x2014;but when he manages to obtain a collection of letters written by Fidel Castro between 1960&#x2013;62 to a secret girlfriend, it&#x2019;s not a matter of money anymore. Garcia has stumbled way out of his depth.</em></li>
</ul>
<h4 id="septemberoctober">September / October</h4>
<p>I said at the beginning of 2021 that I would finish several books I had started, I got these few behind me:</p>
<ul>
<li><a href="http://amzn.to/2FLEtsu?ref=robpickering.com">Dark Territory: The Secret History of Cyber War</a> (Kindle) -- <em>In June 1983, President Reagan watched the movie War Games, in which a teenager unwittingly hacks the Pentagon, and asked his top general if the scenario was plausible. The general said it was. This set in motion the first presidential directive on computer security.</em></li>
<li><a href="https://amzn.to/2VkuyAl?ref=robpickering.com">The Host</a> (Audible) -- <em>Melanie Stryder refuses to fade away. Earth has been invaded by a species that takes over the minds of human hosts while leaving their bodies intact, and most of humanity has succumbed.  Wanderer, the invading &quot;soul&quot; who has been given Melanie&apos;s body, knew about the challenges of living inside a human: the overwhelming emotions, the too vivid memories. But there was one difficulty Wanderer didn&apos;t expect: the former tenant of her body refusing to relinquish possession of her mind.</em></li>
<li><a href="https://amzn.to/328HKIH?ref=robpickering.com">Data and Goliath: The Hidden Battles to Collect Your Data and Control Your World</a> (Kindle) -- <em>Data is everywhere. We create it every time we go online, turn our phones on (or off), and pay with credit cards. The data is stored, studied, and bought and sold by corporations and governments for surveillance and for control. &quot;Foremost security expert&quot; (Wired) and best-selling author Bruce Schneier shows how this data has led to a double-edged Internet - a Web that gives power to the people but is abused by the institutions on which those people depend.</em></li>
</ul>
<h4 id="november">November</h4>
<ul>
<li><a href="https://amzn.to/3r584CN?ref=robpickering.com">The Collapsing Empire (The Interdependency Book 1)</a> (Kindle) -- <em>Our universe is ruled by physics. Faster than light travel is impossible&#x2014;until the discovery of The Flow, an extradimensional field available at certain points in space-time, which can take us to other planets around other stars. Riding The Flow, humanity spreads to innumerable other worlds. Earth is forgotten. A new empire arises, the Interdependency, based on the doctrine that no one human outpost can survive without the others. It&#x2019;s a hedge against interstellar war&#x2014;and, for the empire&#x2019;s rulers, a system of control.</em></li>
<li><a href="https://amzn.to/3QWUnA6?ref=robpickering.com">Unleashed: The Unapologetic Leader&apos;s Guide to Empowering Everyone Around You</a> (Audible) -- <em>Leadership isn&apos;t easy. It takes grit, courage, and vision, among other things, that can be hard to come by on your toughest days. When leaders and aspiring leaders seek out advice, they&apos;re often told to try harder. Dig deeper. Look in the mirror and own your natural-born strengths and fix any real or perceived career-limiting deficiencies. Frances Frei and Anne Morriss offer a different worldview. They argue that this popular leadership advice glosses over the most important thing you do as a leader: build others up. Leadership isn&apos;t about you. It&apos;s about how effective you are at empowering other people - and making sure this impact endures even in your absence.</em></li>
</ul>
<h4 id="december">December</h4>
<ul>
<li><a href="https://amzn.to/3dkH7Yi?ref=robpickering.com">Project Hail Mary</a> (Kindle) -- <em>Ryland Grace is the sole survivor on a desperate, last-chance mission&#x2014;and if he fails, humanity and the earth itself will perish. Except that right now, he doesn&#x2019;t know that. He can&#x2019;t even remember his own name, let alone the nature of his assignment or how to complete it. All he knows is that he&#x2019;s been asleep for a very, very long time. And he&#x2019;s just been awakened to find himself millions of miles from home, with nothing but two corpses for company.</em></li>
<li><a href="https://amzn.to/3S3751g?ref=robpickering.com">The Consuming Fire (The Interdependency Book 2)</a> (Kindle) -- <em>The Interdependency&#x2014;humanity&#x2019;s interstellar empire&#x2014;is on the verge of collapse. The extra-dimensional conduit that makes travel between the stars possible is disappearing, leaving entire systems and human civilizations stranded. Emperox Grayland II of the Interdependency is ready to take desperate measures to help ensure the survival of billions. But arrayed before her are those who believe the collapse of the Flow is a myth&#x2014;or at the very least an opportunity to an ascension to power.</em></li>
</ul>
<p><strong>Reflection</strong>: 2021 was another incredibly difficult year for everyone on the planet and it has even continued into a third year in 2022. My wife and I have now completed 75hard a total of five times.  It has become something that when we&apos;re feeling sluggish, low energy, or have gained some weight, we look at each other, nod, and do it again.</p>
<p>I hope everyone is doing well, vaccinated, masking in public, and keeping your spirits up to know that &quot;this too shall pass&quot;.</p>
<!--kg-card-end: markdown-->]]></content:encoded></item><item><title><![CDATA[Keeping your SmartDry dryer sensor operational]]></title><description><![CDATA[Connected Life has shut down their cloud service that was required to make the SmartDry dryer sensor work.  Here's how to keep yours operational.]]></description><link>https://robpickering.com/keeping-your-smartdry-dryer-sensor-operational/</link><guid isPermaLink="false">631616e55b9944003df346d7</guid><category><![CDATA[automation]]></category><category><![CDATA[hacking]]></category><category><![CDATA[hardware]]></category><category><![CDATA[howto]]></category><category><![CDATA[homeassistant]]></category><dc:creator><![CDATA[Rob Pickering]]></dc:creator><pubDate>Tue, 06 Sep 2022 00:38:43 GMT</pubDate><media:content url="https://storage.ghost.io/c/06/05/06056eb8-88fb-4d10-9be0-4213dee89c68/content/images/2022/09/Screen-Shot-2022-09-05-at-5.37.51-PM.png" medium="image"/><content:encoded><![CDATA[<img src="https://storage.ghost.io/c/06/05/06056eb8-88fb-4d10-9be0-4213dee89c68/content/images/2022/09/Screen-Shot-2022-09-05-at-5.37.51-PM.png" alt="Keeping your SmartDry dryer sensor operational"><p>On June 17, 2022, Connected Life posted this on their corporate website:</p><figure class="kg-card kg-image-card"><img src="https://storage.ghost.io/c/06/05/06056eb8-88fb-4d10-9be0-4213dee89c68/content/images/2022/09/Screen-Shot-2022-09-05-at-8.36.47-AM.png" class="kg-image" alt="Keeping your SmartDry dryer sensor operational" loading="lazy" width="1976" height="1352" srcset="https://storage.ghost.io/c/06/05/06056eb8-88fb-4d10-9be0-4213dee89c68/content/images/size/w600/2022/09/Screen-Shot-2022-09-05-at-8.36.47-AM.png 600w, https://storage.ghost.io/c/06/05/06056eb8-88fb-4d10-9be0-4213dee89c68/content/images/size/w1000/2022/09/Screen-Shot-2022-09-05-at-8.36.47-AM.png 1000w, https://storage.ghost.io/c/06/05/06056eb8-88fb-4d10-9be0-4213dee89c68/content/images/size/w1600/2022/09/Screen-Shot-2022-09-05-at-8.36.47-AM.png 1600w, https://storage.ghost.io/c/06/05/06056eb8-88fb-4d10-9be0-4213dee89c68/content/images/2022/09/Screen-Shot-2022-09-05-at-8.36.47-AM.png 1976w" sizes="(min-width: 720px) 720px"></figure><p>This is disappointing for all of users who have purchased this device. &#xA0;As of the writing of this blog post, you can still purchase these devices on eBay, but that&apos;s about it. &#xA0;The SmartDry worked by connecting to a cloud service run by Connected Labs that then pushed notifications to your mobile device via their application. &#xA0;It also had Google and Amazon connections to integrate into those ecosystems. &#xA0;Unfortunately, with the cloud service going away at the end of this month, most people will find they now have a paperweight and most of these will end up in a landfill. &#xA0;That&apos;s too bad, because with a little bit of effort, and some minor expense, you can make these devices function locally without a cloud service.</p><p>I was one of the first buyers of the SmartDry on October 1, 2019. &#xA0;However, while the SmartDry was useful, my personal home automation is all <a href="https://https//www.home-assistant.io?ref=robpickering.com">Home Assistant</a> based and I wanted figure out how to connect it to Home Assistant. &#xA0;I spent some time intercepting the traffic going to their AWS cloud service and then building a REST API call in Home Assistant that allowed me to have the sensors as part of my &#xA0;regular Home Automation setup. &#xA0;That worked fine until Connected Labs announced they were shutting down the cloud service and the API with it. &#xA0;That&apos;s when the <a href="https://community.home-assistant.io/t/clothes-dryer-automations/149017/175?ref=robpickering.com">Home Assistant Community</a> rallied to leverage the work I started with a bunch of smart people to make it fully local.</p><p>I personally had nothing to do with the solution I&apos;m documenting here, other than the initial work on the API, all credit for this solution belongs to several users of the Home Assistant Community, specifically: &#xA0;<a href="https://community.home-assistant.io/u/mclever?ref=robpickering.com">mclever</a>, <a href="https://community.home-assistant.io/u/doublebishop?ref=robpickering.com">doublebishop</a>, <a href="https://community.home-assistant.io/u/jmtorres22?ref=robpickering.com">Jose Torres</a>, and <a href="https://community.home-assistant.io/u/bryangerlach?ref=robpickering.com">Bryan Gerlach</a> for writing up a mini-guide to get it working. &#xA0;I&apos;m leveraging Bryan&apos;s work for the bulk of this article. </p><h2 id="prerequisites">Prerequisites</h2><p>To revive your SmartDry and make it operational locally in your home network, you&apos;re going to need a few things, I&apos;m not going to go into much detail on these, but I will link to other resources to get you up to speed.</p><p><strong><a href="https://www.home-assistant.io/installation/?ref=robpickering.com">A working Home Assistant installation</a></strong>. &#xA0;Obviously, Home Assistant is my home automation server choice. &#xA0;You can probably adapt these instructions to make it work with Hubitat, SmartThings, etc, but you&apos;re on your own there. &#xA0;To get a working Home Assistant setup there are no better instructions than <a href="https://www.home-assistant.io/installation/?ref=robpickering.com">the official documentation</a>. &#xA0;Head over there and when you have it up and running, come back.</p><p><strong>An <a href="https://amzn.to/3THwPBP?ref=robpickering.com">ESP32 Development board</a></strong>. &#xA0;The SmartDry, fortunately, is actually pretty dumb. &#xA0;It&apos;s just an ESP32 device that has a couple sensors and is broadcasting the value of those sensors over Bluetooth Low Energy (BLE). &#xA0;We&apos;re going to use another ESP32 to monitor for BLE transmissions, filter for the SmartDry, and then pass the values into Home Assistant via the native <a href="https://www.home-assistant.io/integrations/esphome/?ref=robpickering.com">ESPHome</a> integration to our ESP32 Development board. &#xA0;The <a href="https://amzn.to/3THwPBP?ref=robpickering.com">link above</a> is to the exact board I purchased myself for this purpose. &#xA0;The USB-C version also works, but I had more USB-A power adapter plugs laying around, so that&apos;s what I used.</p><p>That&apos;s it, once you have the above two things operational and in-hand, you&apos;ll be ready to follow the rest of this guide and get your SmartDry operational again.</p><h2 id="installation">Installation</h2><p><a href="https://community.home-assistant.io/t/clothes-dryer-automations/149017/130?ref=robpickering.com">Bryan Gerlach</a> provided the write-up I leveraged to get mine working, I&apos;m just going to clean it up a bit and add some color commentary.</p><h3 id="install-the-esphome-add-on-in-home-assistant">Install the ESPHome add-on in Home Assistant</h3><p>To do this select <strong>Settings</strong> &gt; <strong>Add-ons</strong>. &#xA0;Click the <strong>Add-on Store</strong> button in the bottom right of the screen and then search for &quot;ESPHome&quot; and select the one that says <strong>ESPHome</strong> (not the beta or the dev one). &#xA0;Once that&apos;s installed you&apos;ll now have a new menu in your sidebar called &quot;ESPHome&quot;.</p><figure class="kg-card kg-image-card"><img src="https://storage.ghost.io/c/06/05/06056eb8-88fb-4d10-9be0-4213dee89c68/content/images/2022/09/Screen-Shot-2022-09-05-at-9.21.18-AM.png" class="kg-image" alt="Keeping your SmartDry dryer sensor operational" loading="lazy" width="508" height="858"></figure><h3 id="define-secretsyaml-and-install-the-esp32-board">Define secrets.yaml and Install the ESP32 board &#xA0;</h3><p>The ESP32 board you purchased doesn&apos;t have any configuration on it and it won&apos;t know how to connect to your WiFi network without a configuration. &#xA0;To begin the configuration you first need to specify your wireless network settings so they won&apos;t be hard-coded on the ESP32. &#xA0;Click the ESPHome menu from the Sidebar, and then click the <strong>SECRETS</strong> button in the header:</p><figure class="kg-card kg-image-card"><img src="https://storage.ghost.io/c/06/05/06056eb8-88fb-4d10-9be0-4213dee89c68/content/images/2022/09/Screen-Shot-2022-09-05-at-4.34.00-PM.png" class="kg-image" alt="Keeping your SmartDry dryer sensor operational" loading="lazy" width="638" height="112" srcset="https://storage.ghost.io/c/06/05/06056eb8-88fb-4d10-9be0-4213dee89c68/content/images/size/w600/2022/09/Screen-Shot-2022-09-05-at-4.34.00-PM.png 600w, https://storage.ghost.io/c/06/05/06056eb8-88fb-4d10-9be0-4213dee89c68/content/images/2022/09/Screen-Shot-2022-09-05-at-4.34.00-PM.png 638w"></figure><p>You&apos;ll then be presented with the configuration for the &quot;secrets.yaml&quot; file where you can define your wireless network name and password:</p><figure class="kg-card kg-image-card"><img src="https://storage.ghost.io/c/06/05/06056eb8-88fb-4d10-9be0-4213dee89c68/content/images/2022/09/Screen-Shot-2022-09-05-at-10.41.02-AM.png" class="kg-image" alt="Keeping your SmartDry dryer sensor operational" loading="lazy" width="1286" height="342" srcset="https://storage.ghost.io/c/06/05/06056eb8-88fb-4d10-9be0-4213dee89c68/content/images/size/w600/2022/09/Screen-Shot-2022-09-05-at-10.41.02-AM.png 600w, https://storage.ghost.io/c/06/05/06056eb8-88fb-4d10-9be0-4213dee89c68/content/images/size/w1000/2022/09/Screen-Shot-2022-09-05-at-10.41.02-AM.png 1000w, https://storage.ghost.io/c/06/05/06056eb8-88fb-4d10-9be0-4213dee89c68/content/images/2022/09/Screen-Shot-2022-09-05-at-10.41.02-AM.png 1286w" sizes="(min-width: 720px) 720px"></figure><p>Define your &quot;wifi_ssid&quot; and &quot;wifi_password&quot; in this file, replacing the proper information within the quotes on each entry I have above.</p><p>You&apos;ll now take your ESP32 board and using a USB cable plug it into an available USB port on your Home Assistant server, that should power it up and make it accessible. &#xA0;Once it&apos;s powered up, go to Home Assistant and click the <strong>ESPHome</strong> menu from the Sidebar. &#xA0;Click the <strong>+ NEW DEVICE</strong> button in the bottom right and you&apos;ll probably get the following error message:</p><figure class="kg-card kg-image-card"><img src="https://storage.ghost.io/c/06/05/06056eb8-88fb-4d10-9be0-4213dee89c68/content/images/2022/09/Screen-Shot-2022-09-05-at-9.23.33-AM.png" class="kg-image" alt="Keeping your SmartDry dryer sensor operational" loading="lazy" width="752" height="900" srcset="https://storage.ghost.io/c/06/05/06056eb8-88fb-4d10-9be0-4213dee89c68/content/images/size/w600/2022/09/Screen-Shot-2022-09-05-at-9.23.33-AM.png 600w, https://storage.ghost.io/c/06/05/06056eb8-88fb-4d10-9be0-4213dee89c68/content/images/2022/09/Screen-Shot-2022-09-05-at-9.23.33-AM.png 752w" sizes="(min-width: 720px) 720px"></figure><p>What this is saying is that ESPHome <em>can</em> connect to USB devices plugged into your &#xA0;computer through your web browser if that browser supports &quot;WebSerial&quot;, regardless of whether or not you see this error message, we&apos;ve plugged the device into your Home Assistant server, so it won&apos;t matter. &#xA0;Just click <strong>CONTINUE</strong>.</p><h2 id="configuration">Configuration</h2><p>You should now be presented with a dialog box asking you to name your configuration, I used &quot;smartdry&quot;. &#xA0;Then click <strong>NEXT</strong> to proceed.</p><figure class="kg-card kg-image-card"><img src="https://storage.ghost.io/c/06/05/06056eb8-88fb-4d10-9be0-4213dee89c68/content/images/2022/09/Screen-Shot-2022-09-05-at-9.27.05-AM.png" class="kg-image" alt="Keeping your SmartDry dryer sensor operational" loading="lazy" width="768" height="516" srcset="https://storage.ghost.io/c/06/05/06056eb8-88fb-4d10-9be0-4213dee89c68/content/images/size/w600/2022/09/Screen-Shot-2022-09-05-at-9.27.05-AM.png 600w, https://storage.ghost.io/c/06/05/06056eb8-88fb-4d10-9be0-4213dee89c68/content/images/2022/09/Screen-Shot-2022-09-05-at-9.27.05-AM.png 768w" sizes="(min-width: 720px) 720px"></figure><p>You&apos;ll now be presented with a dialog box to select the type of ESP32 board you have, select &quot;ESP32&quot; and click <strong>NEXT</strong>.</p><figure class="kg-card kg-image-card"><img src="https://storage.ghost.io/c/06/05/06056eb8-88fb-4d10-9be0-4213dee89c68/content/images/2022/09/Screen-Shot-2022-09-05-at-4.47.24-PM.png" class="kg-image" alt="Keeping your SmartDry dryer sensor operational" loading="lazy" width="776" height="948" srcset="https://storage.ghost.io/c/06/05/06056eb8-88fb-4d10-9be0-4213dee89c68/content/images/size/w600/2022/09/Screen-Shot-2022-09-05-at-4.47.24-PM.png 600w, https://storage.ghost.io/c/06/05/06056eb8-88fb-4d10-9be0-4213dee89c68/content/images/2022/09/Screen-Shot-2022-09-05-at-4.47.24-PM.png 776w" sizes="(min-width: 720px) 720px"></figure><p>You should now receive a &quot;Congratulations&quot; for creating a new configuration and you&apos;ll probably see it pop-up on your Home Assistant dashboard in the background, but hang tight we&apos;re not there yet.</p><figure class="kg-card kg-image-card"><img src="https://storage.ghost.io/c/06/05/06056eb8-88fb-4d10-9be0-4213dee89c68/content/images/2022/09/Screen-Shot-2022-09-05-at-4.48.53-PM.png" class="kg-image" alt="Keeping your SmartDry dryer sensor operational" loading="lazy" width="772" height="662" srcset="https://storage.ghost.io/c/06/05/06056eb8-88fb-4d10-9be0-4213dee89c68/content/images/size/w600/2022/09/Screen-Shot-2022-09-05-at-4.48.53-PM.png 600w, https://storage.ghost.io/c/06/05/06056eb8-88fb-4d10-9be0-4213dee89c68/content/images/2022/09/Screen-Shot-2022-09-05-at-4.48.53-PM.png 772w" sizes="(min-width: 720px) 720px"></figure><p>Click <strong>INSTALL</strong> to move to the next step in the initial configuration.</p><p>Now you&apos;ll be asked how you&apos;d like to communicate with your board, since it doesn&apos;t have a wireless configuration on it yet, and since we just plugged it into the Home Assistant server itself, select <strong>Plug into the computer running ESPHome Dashboard</strong>.</p><figure class="kg-card kg-image-card"><img src="https://storage.ghost.io/c/06/05/06056eb8-88fb-4d10-9be0-4213dee89c68/content/images/2022/09/Screen-Shot-2022-09-05-at-4.50.44-PM.png" class="kg-image" alt="Keeping your SmartDry dryer sensor operational" loading="lazy" width="902" height="836" srcset="https://storage.ghost.io/c/06/05/06056eb8-88fb-4d10-9be0-4213dee89c68/content/images/size/w600/2022/09/Screen-Shot-2022-09-05-at-4.50.44-PM.png 600w, https://storage.ghost.io/c/06/05/06056eb8-88fb-4d10-9be0-4213dee89c68/content/images/2022/09/Screen-Shot-2022-09-05-at-4.50.44-PM.png 902w" sizes="(min-width: 720px) 720px"></figure><p>Now you have to select the USB port where your device is located. &#xA0;I only have two things plugged into the USB on my Home Assistant Server, my Conbee-II Zigbee controller and my ESP32 board, so select the right one (&quot;CP2102 USB to UART Bridge Controller&quot; for me).</p><figure class="kg-card kg-image-card"><img src="https://storage.ghost.io/c/06/05/06056eb8-88fb-4d10-9be0-4213dee89c68/content/images/2022/09/Screen-Shot-2022-09-05-at-4.53.28-PM.png" class="kg-image" alt="Keeping your SmartDry dryer sensor operational" loading="lazy" width="900" height="542" srcset="https://storage.ghost.io/c/06/05/06056eb8-88fb-4d10-9be0-4213dee89c68/content/images/size/w600/2022/09/Screen-Shot-2022-09-05-at-4.53.28-PM.png 600w, https://storage.ghost.io/c/06/05/06056eb8-88fb-4d10-9be0-4213dee89c68/content/images/2022/09/Screen-Shot-2022-09-05-at-4.53.28-PM.png 900w" sizes="(min-width: 720px) 720px"></figure><p>You&apos;ll now be presented with a terminal window and you&apos;ll see lots of configuration steps flying by (in this screenshot it&apos;s called &quot;sample.yaml&quot;, but yours should be &quot;smartdry.yaml&quot;, as I already had that configuration defined so used another name). &#xA0;Wait until you see the line &quot;setup() finished successfully!&quot;, before proceeding.</p><figure class="kg-card kg-image-card"><img src="https://storage.ghost.io/c/06/05/06056eb8-88fb-4d10-9be0-4213dee89c68/content/images/2022/09/Screen-Shot-2022-09-05-at-5.02.31-PM.png" class="kg-image" alt="Keeping your SmartDry dryer sensor operational" loading="lazy" width="2000" height="1310" srcset="https://storage.ghost.io/c/06/05/06056eb8-88fb-4d10-9be0-4213dee89c68/content/images/size/w600/2022/09/Screen-Shot-2022-09-05-at-5.02.31-PM.png 600w, https://storage.ghost.io/c/06/05/06056eb8-88fb-4d10-9be0-4213dee89c68/content/images/size/w1000/2022/09/Screen-Shot-2022-09-05-at-5.02.31-PM.png 1000w, https://storage.ghost.io/c/06/05/06056eb8-88fb-4d10-9be0-4213dee89c68/content/images/size/w1600/2022/09/Screen-Shot-2022-09-05-at-5.02.31-PM.png 1600w, https://storage.ghost.io/c/06/05/06056eb8-88fb-4d10-9be0-4213dee89c68/content/images/size/w2400/2022/09/Screen-Shot-2022-09-05-at-5.02.31-PM.png 2400w" sizes="(min-width: 720px) 720px"></figure><p>You should see in the areas I&apos;ve redacted the device connect to your home network, receive DNS servers, and see signal strength. &#xA0;All of these mean your device was properly connected to your WiFi network. &#xA0;Once it&apos;s connected and working, you can safely hit the <strong>STOP</strong> button in the lower right to be returned to Home Assistant where you should now see your new device in the ESP32 Dashboard.</p><h3 id="loading-your-esp32-configuration-for-home-assistant">Loading your ESP32 Configuration for Home Assistant </h3><p>Now that the device is on your network and being managed by Home Assistant, you can unplug it from your Home Assistant server, relocate it to your laundry room near your SmartDry transmitter, and plug it into power. &#xA0;Give it some time to reboot and you should see it go &quot;Online&quot; within the ESP32 Dashboard.</p><figure class="kg-card kg-image-card"><img src="https://storage.ghost.io/c/06/05/06056eb8-88fb-4d10-9be0-4213dee89c68/content/images/2022/09/Screen-Shot-2022-09-05-at-5.20.00-PM.png" class="kg-image" alt="Keeping your SmartDry dryer sensor operational" loading="lazy" width="824" height="294" srcset="https://storage.ghost.io/c/06/05/06056eb8-88fb-4d10-9be0-4213dee89c68/content/images/size/w600/2022/09/Screen-Shot-2022-09-05-at-5.20.00-PM.png 600w, https://storage.ghost.io/c/06/05/06056eb8-88fb-4d10-9be0-4213dee89c68/content/images/2022/09/Screen-Shot-2022-09-05-at-5.20.00-PM.png 824w" sizes="(min-width: 720px) 720px"></figure><p>Click the <strong>EDIT</strong> button and let&apos;s finish the configuration for your device.</p><p>You&apos;ll be presented with a basic configuration file including an API encryption key, an ota password, your WiFi configuration, and a fallback WiFi configuration in case your network fails and you want to connect to it to configure the device without having to plug it physically into your Home Assistant server again. &#xA0;To make it find and present the SmartDry sensors, add the following code immediately AFTER the header for &quot;captive_portal:&quot;</p><!--kg-card-begin: markdown--><pre><code>esp32_ble_tracker:
  on_ble_manufacturer_data_advertise:
    - manufacturer_id: &quot;01AE&quot;
      then:
        - lambda: |-
            id(raw_sensor).publish_state(format_hex(x));
            uint32_t temp = (x[0] + (x[1] &lt;&lt; 8) + (x[2] &lt;&lt; 16) + (x[3] &lt;&lt; 24));
            uint32_t hum = (x[4] + (x[5] &lt;&lt; 8) + (x[6] &lt;&lt; 16) + (x[7] &lt;&lt; 24));
            uint16_t shake = x[8] + (x[9] &lt;&lt; 8);
            uint8_t batt = x[10];
            uint8_t wake = x[11];
            id(temp_sensor).publish_state((*(float *) &amp;temp));
            id(hum_sensor).publish_state((*(float *) &amp;hum));
            id(shake_sensor).publish_state(shake);
            id(batt_sensor).publish_state(batt);
            id(wake_sensor).publish_state(wake);

sensor:
  - platform: template
    name: &quot;SmartDry Temperature&quot;
    device_class: &apos;temperature&apos;
    unit_of_measurement: &quot;&#xB0;C&quot;
    accuracy_decimals: 4
    id: temp_sensor
  - platform: template
    name: &quot;SmartDry Humidity&quot;
    device_class: &apos;humidity&apos;
    unit_of_measurement: &quot;%&quot;
    accuracy_decimals: 4
    id: hum_sensor
  - platform: template
    name: &quot;SmartDry Shake&quot;
    id: shake_sensor
  - platform: template
    name: &quot;SmartDry Battery&quot;
    device_class: battery
    id: batt_sensor
  - platform: template
    name: &quot;SmartDry Awake&quot;
    id: wake_sensor
text_sensor:
  - platform: template
    name: &quot;SmartDry Raw&quot;
    id: raw_sensor</code></pre>
<!--kg-card-end: markdown--><p>It should look like this:</p><figure class="kg-card kg-image-card"><img src="https://storage.ghost.io/c/06/05/06056eb8-88fb-4d10-9be0-4213dee89c68/content/images/2022/09/Screen-Shot-2022-09-05-at-5.27.17-PM.png" class="kg-image" alt="Keeping your SmartDry dryer sensor operational" loading="lazy" width="2000" height="1183" srcset="https://storage.ghost.io/c/06/05/06056eb8-88fb-4d10-9be0-4213dee89c68/content/images/size/w600/2022/09/Screen-Shot-2022-09-05-at-5.27.17-PM.png 600w, https://storage.ghost.io/c/06/05/06056eb8-88fb-4d10-9be0-4213dee89c68/content/images/size/w1000/2022/09/Screen-Shot-2022-09-05-at-5.27.17-PM.png 1000w, https://storage.ghost.io/c/06/05/06056eb8-88fb-4d10-9be0-4213dee89c68/content/images/size/w1600/2022/09/Screen-Shot-2022-09-05-at-5.27.17-PM.png 1600w, https://storage.ghost.io/c/06/05/06056eb8-88fb-4d10-9be0-4213dee89c68/content/images/size/w2400/2022/09/Screen-Shot-2022-09-05-at-5.27.17-PM.png 2400w" sizes="(min-width: 720px) 720px"></figure><p>Click <strong>SAVE</strong> and then click <strong>INSTALL</strong> to apply the configuration to your ESP32.</p><h2 id="congratulations">Congratulations!</h2><p>You should now have a working ESP32 receiver that will expose the listed sensors in your Home Assistant: &#xA0;<strong>Temperature</strong>, <strong>Humidity</strong>, <strong>Shake</strong>, <strong>Battery</strong>, <strong>Awake</strong>, and <strong>Raw</strong>.</p><h2 id="caveats">Caveats</h2><p>There are several caveats that we&apos;ve found over the last bit of time and changes to the configuration may happen to address them. &#xA0;The biggest issue we&apos;ve found is that the SmartDry does NOT send updates unless it&apos;s actually &quot;awake&quot; (or &quot;shaking&quot;). &#xA0;This means that the battery sensor is &quot;unreliable&quot; when the device isn&apos;t working. &#xA0;It&apos;s a minor pain, but it could be fixed with an automation that checks if the device is &quot;Awake&quot; and if it is updates a separate Battery sensor, and if not, leaves it reporting the last value it saw. &#xA0;More to come...</p>]]></content:encoded></item><item><title><![CDATA[Home Assistant Energy Monitoring of Tesla Solar Panels]]></title><description><![CDATA[<p>I&apos;ve been a Tesla Solar panel owner for 4 years. &#xA0;I&apos;ve always wanted to have monitoring of my energy in an easier-to-consume format than having to log into the Tesla app and look at it. &#xA0;Originally, my SolarEdge inverter provided me remote monitoring via</p>]]></description><link>https://robpickering.com/home-assistant-energy-monitoring-of-tesla-solar-panels/</link><guid isPermaLink="false">62b85c55923b0a003d5e3ed7</guid><dc:creator><![CDATA[Rob Pickering]]></dc:creator><pubDate>Sun, 26 Jun 2022 14:09:41 GMT</pubDate><media:content url="https://storage.ghost.io/c/06/05/06056eb8-88fb-4d10-9be0-4213dee89c68/content/images/2022/06/Screen-Shot-2022-06-26-at-7.08.09-AM-1.png" medium="image"/><content:encoded><![CDATA[<img src="https://storage.ghost.io/c/06/05/06056eb8-88fb-4d10-9be0-4213dee89c68/content/images/2022/06/Screen-Shot-2022-06-26-at-7.08.09-AM-1.png" alt="Home Assistant Energy Monitoring of Tesla Solar Panels"><p>I&apos;ve been a Tesla Solar panel owner for 4 years. &#xA0;I&apos;ve always wanted to have monitoring of my energy in an easier-to-consume format than having to log into the Tesla app and look at it. &#xA0;Originally, my SolarEdge inverter provided me remote monitoring via their API, and there was a SolarEdge integration that I could leverage from Home Assistant (and did). &#xA0;Unfortunately, about 2 years into my ownership, my inverter died and Tesla replaced it with a new one under warranty (that&apos;s not the unfortunate part). &#xA0;The unfortunate part is that they also stopped allowing customers to have access to the SolarEdge API for monitoring, requiring you to do all of your energy monitoring through the Tesla app. &#xA0;The Tesla app allows you to download your production data, down to hourly production values, but only by pulling a CSV file for every day. &#xA0;It&apos;s not a great solution for someone who wants to automate it.</p><h3 id="tesla-custom-integration">Tesla Custom Integration</h3><p>I also have a Tesla EV and have been using the <a href="https://github.com/alandtse/tesla?ref=robpickering.com">Tesla Custom Integration by alandtse</a> through <a href="https://hacs.xyz/docs/setup/download?ref=robpickering.com">HACS</a> for quite a while (the official Tesla integration is less complete). &#xA0;Recently though, my Tesla Custom Integration started providing me a new <em>sensor.tesla_solar_panel</em>:</p><figure class="kg-card kg-image-card"><img src="https://storage.ghost.io/c/06/05/06056eb8-88fb-4d10-9be0-4213dee89c68/content/images/2022/06/Screen-Shot-2022-06-26-at-6.35.08-AM.png" class="kg-image" alt="Home Assistant Energy Monitoring of Tesla Solar Panels" loading="lazy" width="644" height="326" srcset="https://storage.ghost.io/c/06/05/06056eb8-88fb-4d10-9be0-4213dee89c68/content/images/size/w600/2022/06/Screen-Shot-2022-06-26-at-6.35.08-AM.png 600w, https://storage.ghost.io/c/06/05/06056eb8-88fb-4d10-9be0-4213dee89c68/content/images/2022/06/Screen-Shot-2022-06-26-at-6.35.08-AM.png 644w"></figure><p>This new capability appears to have been added around October, 2021 in version 1.1.0, after the underlying <a href="https://github.com/zabuldon/teslajsonpy?ref=robpickering.com">teslajsonpy</a> added support for &quot;Energy Sites&quot;. &#xA0;So, I&apos;ve had this available for a while, but because it was just a production number, and in Watts, I didn&apos;t think much of it, until I realized that ...</p><h3 id="home-assistant-core-20218">Home Assistant Core 2021.8</h3><p>Back in <a href="https://www.home-assistant.io/blog/2021/08/04/release-20218/?ref=robpickering.com">August, 2021</a>, Home Assistant added an <a href="https://www.home-assistant.io/home-energy-management/?ref=robpickering.com">Energy Dashboard</a>. &#xA0;The purpose of this was to bring together all home energy management into a single unified interface within Home Assistant. &#xA0;My only challenge was that, at the time, I didn&apos;t really have anything in my home being monitored within Home Assistant. &#xA0;The Energy Dashboard is designed to expose Grid Power, Gas, Batteries, Solar, and EVs. &#xA0;I didn&apos;t have anything actively monitored (because my SolarEdge was offline at this point), so I just ignored it...until I saw the above sensor show up.</p><h3 id="configuring-the-energy-dashboard">Configuring the Energy Dashboard</h3><p>I started out by enabling the Energy Dashboard in my <em>configuration.yaml</em> by adding the following stanza and then restarting HA:</p><!--kg-card-begin: markdown--><p><code>energy:</code></p>
<!--kg-card-end: markdown--><p>This enabled the Energy Dashboard, but it wasn&apos;t configured. &#xA0;There&apos;s a great wizard that walks you though configuring it, I skipped everything in order to get to the Solar section, but I noticed my sensor wasn&apos;t available. &#xA0;The issue is that the Energy Dashboard expects kWh and I just had Watts coming from the Tesla Custom Integration, so I couldn&apos;t use it yet.</p><h3 id="riemann-sum-integral">Riemann sum integral</h3><p>Reading through the <a href="https://community.home-assistant.io/?ref=robpickering.com">Community</a>, I found that Home Assistant has a built-in integration for converting an integral by a finite sum, called <a href="https://www.home-assistant.io/integrations/integration/?ref=robpickering.com">Riemann sum integral</a>. &#xA0;This is what you need to convert WATT to kWh. &#xA0;So, in my <em>sensors.yaml</em> I added the following stanza:</p><!--kg-card-begin: markdown--><pre><code>- platform: integration
  source: sensor.tesla_solar_panel
  name: tesla_solar_production
  unit_prefix: k
  round: 2
</code></pre>
<!--kg-card-end: markdown--><div class="kg-card kg-callout-card kg-callout-card-blue"><div class="kg-callout-emoji">&#x1F4A1;</div><div class="kg-callout-text">This is &quot;old school&quot; HA, a much easier way is to add a Helper <a href="https://www.home-assistant.io/integrations/integration/?ref=robpickering.com">through the UI</a>. You want to use &apos;k&apos; as your units and &apos;h&apos; as your time so you end up with &apos;kWh&apos; from a source that is providing WATTs. Leave the default integration method &apos;trapezoidal&apos; for loads that are &apos;normal&apos; (like Solar) and &apos;left&apos; for loads that suddenly draw a lot of power over a short period (electric boilers, AC units, etc.). I&apos;m using &apos;left&apos; as the integration method for smart plugs that run fans, air cleaners, kettles, etc.</div></div><p>This created a new <em>sensor.tesla_solar_production</em> that I was able to use in my Solar configuration for the Energy Dashboard. &#xA0;Once configured and allowed to run, I now have my Solar production from my Tesla Solar Panels available in HA:</p><figure class="kg-card kg-image-card"><img src="https://storage.ghost.io/c/06/05/06056eb8-88fb-4d10-9be0-4213dee89c68/content/images/2022/06/Screen-Shot-2022-06-26-at-7.08.09-AM.png" class="kg-image" alt="Home Assistant Energy Monitoring of Tesla Solar Panels" loading="lazy" width="2000" height="1189" srcset="https://storage.ghost.io/c/06/05/06056eb8-88fb-4d10-9be0-4213dee89c68/content/images/size/w600/2022/06/Screen-Shot-2022-06-26-at-7.08.09-AM.png 600w, https://storage.ghost.io/c/06/05/06056eb8-88fb-4d10-9be0-4213dee89c68/content/images/size/w1000/2022/06/Screen-Shot-2022-06-26-at-7.08.09-AM.png 1000w, https://storage.ghost.io/c/06/05/06056eb8-88fb-4d10-9be0-4213dee89c68/content/images/size/w1600/2022/06/Screen-Shot-2022-06-26-at-7.08.09-AM.png 1600w, https://storage.ghost.io/c/06/05/06056eb8-88fb-4d10-9be0-4213dee89c68/content/images/size/w2400/2022/06/Screen-Shot-2022-06-26-at-7.08.09-AM.png 2400w" sizes="(min-width: 720px) 720px"></figure><p>Now to explore getting my actual grid power usage, natural gas, and other aspects of our home energy usage into HA. &#xA0;I&apos;m going to start with pulling individual energy monitoring (our EVs and energy monitoring smart plugs) into HA, can&apos;t wait!</p>]]></content:encoded></item><item><title><![CDATA[Integrate IOTTY wall switches with Home Assistant]]></title><description><![CDATA[How to integrate the IOTTY smart home switches into Home Assistant, leveraging Alexa Routines]]></description><link>https://robpickering.com/integrate-iotty-wall-switches-with-home-assistant/</link><guid isPermaLink="false">6187f5680c1886003b838426</guid><category><![CDATA[homeassistant]]></category><category><![CDATA[amazon]]></category><category><![CDATA[automation]]></category><category><![CDATA[howto]]></category><dc:creator><![CDATA[Rob Pickering]]></dc:creator><pubDate>Sun, 07 Nov 2021 18:21:22 GMT</pubDate><media:content url="https://storage.ghost.io/c/06/05/06056eb8-88fb-4d10-9be0-4213dee89c68/content/images/2021/11/Screen-Shot-2021-11-07-at-7.56.49-AM.png" medium="image"/><content:encoded><![CDATA[<img src="https://storage.ghost.io/c/06/05/06056eb8-88fb-4d10-9be0-4213dee89c68/content/images/2021/11/Screen-Shot-2021-11-07-at-7.56.49-AM.png" alt="Integrate IOTTY wall switches with Home Assistant"><p>My all-time favorite smart wall switches were the <a href="https://plumlife.com/?ref=robpickering.com">Plum Lightpads</a>. &#xA0;I loved these things, unfortunately they chose greed over openness, never published a public API, didn&apos;t work with any Home Automation providers, and now they&apos;re out of business (and I have 10 wall switches that will have to be replaced). &#xA0;In looking for a replacement, I stumbled upon the <a href="https://iottysmarthome.com/?ref=robpickering.com">IOTTY Smart Home</a> switches. &#xA0;These were good looking, felt capacitive (they aren&apos;t), and had native integrations to Alexa and Google Assistant. &#xA0;So, I had a discount code and purchased a two-gang and a single-gang switch to see how they worked. &#xA0;They worked okay!</p><p>However, I wanted them to work with Home Assistant. &#xA0;There is no native integration, as there&apos;s no open API for these switches (see above IOTTY). &#xA0;Since they do work with Alexa, I decided to spend, A LOT of, time seeing if I could get them integrated in a way that allowed the switches to function normally with Alexa, but also allowed me to see their state in HA and control them via HA, and Alexa would know if HA changed the state of the light.</p><h2 id="integrating-with-home-assistant">Integrating with Home Assistant</h2><p>The high-level integration steps are:</p><ol><li>Configure your IOTTY with the iotty App so you can control the light in question from that app</li><li>Have your IOTTY configured with Alexa (you should be able to tell Alexa to turn on and off the light in question) by following the instructions that came with the IOTTY</li><li>Have HA configured to use Alexa (I do this through Nabu Casa) by following the instructions here: &#xA0;<a href="https://www.nabucasa.com/config/amazon_alexa/?ref=robpickering.com">https://www.nabucasa.com/config/amazon_alexa/</a></li><li>Create some <em>virtual</em> <strong>binary_sensors</strong>, one for each of your IOTTY switches (so if you have a 2-gang, you&apos;ll need two), you&apos;ll expose these to Alexa so it knows when to turn things on and off</li><li>Create some <strong>input_booleans</strong>, one for each of your above <strong>binary_sensors</strong>, these are what you&apos;ll actually control using HA</li><li>Create a set of <strong>Routines</strong> in Alexa to control the lights based on the <strong>binary_sensors</strong> above</li></ol><h2 id="creating-the-inputboolean">Creating the input_boolean</h2><p><strong>Note:</strong> &#xA0;I&apos;m skipping steps 1 and 2 above, because these need to be done to make the light work at all and if you can&apos;t get those steps working, you should be able to get support from IOTTY directly. &#xA0;Throughout this tutorial I&apos;m going to be automating the <strong>Office Hallway</strong> light. &#xA0;I have an <strong>Office Hallway</strong> light in my IOTTY app and I can toggle it on and off. &#xA0;I also have an <strong>Office Hallway</strong> light in my Alexa app under &quot;Lights&quot; and can ask for it to be turned on or off.</p><p>The first configuration is to create an <strong>input_boolean</strong> via the HA UI that will effectively be your &quot;light&quot; to use within HA for controlling the light as well as for automations.</p><p>To create an <strong>input_boolean</strong>:</p><ol><li>Access <strong>Configuration</strong> &gt; <strong>Helpers</strong> via the Home Assistant UI</li><li>Click the <strong>Add Helper</strong> button in the bottom-right of the screen</li><li>Select <strong>Toggle</strong></li><li>Give it a name like &quot;Office Hallway Iotty&quot;</li><li>Give it a lightbulb icon using &quot;mdi:lightbulb&quot; as the icon</li><li>Click <strong>Create</strong></li></ol><p>Filled out, it should look like this:</p><figure class="kg-card kg-image-card"><img src="https://storage.ghost.io/c/06/05/06056eb8-88fb-4d10-9be0-4213dee89c68/content/images/2021/11/Screen-Shot-2021-11-07-at-9.58.33-AM.png" class="kg-image" alt="Integrate IOTTY wall switches with Home Assistant" loading="lazy" width="792" height="592" srcset="https://storage.ghost.io/c/06/05/06056eb8-88fb-4d10-9be0-4213dee89c68/content/images/size/w600/2021/11/Screen-Shot-2021-11-07-at-9.58.33-AM.png 600w, https://storage.ghost.io/c/06/05/06056eb8-88fb-4d10-9be0-4213dee89c68/content/images/2021/11/Screen-Shot-2021-11-07-at-9.58.33-AM.png 792w" sizes="(min-width: 720px) 720px"></figure><p>Once created, I would recommend changing the <strong>Entity ID</strong>, otherwise there could be some confusion later. &#xA0;To do that, just click the entity in the Helper list and update the <strong>Entity ID</strong>. &#xA0;I name this entity in my HA configuration as <strong>input_boolean.alexa_ha_office_hallway</strong>, you an also give it an <strong>Area</strong> here:</p><figure class="kg-card kg-image-card"><img src="https://storage.ghost.io/c/06/05/06056eb8-88fb-4d10-9be0-4213dee89c68/content/images/2021/11/Screen-Shot-2021-11-07-at-9.33.17-AM.png" class="kg-image" alt="Integrate IOTTY wall switches with Home Assistant" loading="lazy" width="910" height="1044" srcset="https://storage.ghost.io/c/06/05/06056eb8-88fb-4d10-9be0-4213dee89c68/content/images/size/w600/2021/11/Screen-Shot-2021-11-07-at-9.33.17-AM.png 600w, https://storage.ghost.io/c/06/05/06056eb8-88fb-4d10-9be0-4213dee89c68/content/images/2021/11/Screen-Shot-2021-11-07-at-9.33.17-AM.png 910w" sizes="(min-width: 720px) 720px"></figure><h2 id="creating-the-binarysensor">Creating the binary_sensor</h2><p>Next we need to create a <strong>binary_sensor</strong> <em>template sensor</em> in order for HA to communicate to Alexa when it should turn the Office Hallway on or off. &#xA0;This is going to look weird, but we&apos;re going to create it as a Garage Door, I have this stanza in my <em>binary_sensors.yaml</em> file, if you&apos;re doing it in <em>configuration.yaml</em> this should be in your <em>binary_sensor</em> stanza and indented properly:</p><pre><code>- platform: template
  sensors:     
    alexa_ha_office_hallway:                                            
      friendly_name: &quot;Alexa HA - Office Hallway&quot;                         
      device_class: garage_door
      value_template: &quot;{{ is_state(&apos;input_boolean.alexa_ha_office_hallway&apos;, &apos;on&apos;) }}&quot;
</code></pre><p>Looking at this <strong>binary_sensor</strong> we see that it will be tied to the state of the <strong>input_boolean</strong> we created earlier. &#xA0;So, if our <strong>input_boolean</strong> is turned &apos;on&apos;, this <strong>binary_sensor</strong> will trip to &apos;on&apos; as well.</p><h2 id="exposing-to-amazon-alexa">Exposing to Amazon Alexa</h2><p>Now we need to expose the entities we just created to our Amazon Alexa. &#xA0;If you are exposing all of your entities to Alexa, you won&apos;t have to do this. &#xA0;If, like me, you don&apos;t expose everything, you&apos;ll need to update your Alexa conifguration under <strong>Configuration &gt; Home Assistant Cloud &gt; Manage Entitites</strong> to include the sensors we just created.</p><h2 id="building-the-automations-in-alexa">Building the Automations in Alexa</h2><p>Everything is now set up to have Alexa automate our light for us. &#xA0;You&apos;ll need to create two different routines: &#xA0;one for turning on the light and one for turning off the light. Here is my <strong>Turn on office hallway light</strong> routine.</p><p>To start this process head into your <strong>Amazon Alexa</strong> app on your mobile device and tap the <strong>More</strong> button followed by <strong>Routines</strong>. &#xA0;Now, to create your <strong>Routine</strong>:</p><ol><li>Tap the <strong>+</strong> sign in the upper right</li><li>Tap <strong>Enter routine name</strong> and enter something like &quot;Turn on office hallway light&quot;</li><li>Tap <strong>When this happens</strong> and then <strong>Smart Home</strong> then select your <strong>binary_sensor</strong>, in this case &quot;Alexa HA - Office Hallway&quot; and then select <strong>Open</strong>.</li><li>Tap <strong>Add action,</strong> followed by <strong>Smart Home,</strong> and then <strong>Lights</strong> and then the light in question, in this case &quot;Office Hallway&quot; (which is your actual IOTTY light) hit <strong>Next</strong> and then set it to <strong>Power On</strong></li><li>Tap <strong>Add action</strong> again, followed by <strong>Smart Home</strong>, and then <strong>All Devices</strong> and locate your <strong>input_boolean</strong>, in this case &quot;Office Hallway Iotty&quot; and set it to <strong>Power On</strong></li><li>Tap <strong>Save</strong> in the upper right corner</li></ol><p>You should now have a <strong>Routine</strong> in Alexa that when the <strong>binary_sensor</strong> triggers to On, it will then turn on the IOTTY light and set the <strong>input_boolean</strong> to on as well. &#xA0;It should look just like this:</p><figure class="kg-card kg-image-card"><img src="https://storage.ghost.io/c/06/05/06056eb8-88fb-4d10-9be0-4213dee89c68/content/images/2021/11/IMG_0877.PNG" class="kg-image" alt="Integrate IOTTY wall switches with Home Assistant" loading="lazy" width="1170" height="2532" srcset="https://storage.ghost.io/c/06/05/06056eb8-88fb-4d10-9be0-4213dee89c68/content/images/size/w600/2021/11/IMG_0877.PNG 600w, https://storage.ghost.io/c/06/05/06056eb8-88fb-4d10-9be0-4213dee89c68/content/images/size/w1000/2021/11/IMG_0877.PNG 1000w, https://storage.ghost.io/c/06/05/06056eb8-88fb-4d10-9be0-4213dee89c68/content/images/2021/11/IMG_0877.PNG 1170w" sizes="(min-width: 720px) 720px"></figure><h2 id="whats-happening-here">What&apos;s happening here? &#xA0;</h2><p>When the <strong>binary_sensor</strong>, friendly name &quot;Alexa HA - Office Hallway&quot; opens (remember it was a garage door) we&apos;ll ask Alexa to do TWO things:</p><ol><li>Turn on the <strong>Office Hallway</strong> light (this is the IOTTY light that Alexa discovered and that HA has no idea exists)</li><li>Turn on the <strong>Office Hallway Iotty</strong> <strong>input_boolean</strong> we exposed via HA</li></ol><p>The magic is really the <strong>binary_sensor</strong> template sensor. &#xA0;This sensor is being driven off of the state of the <strong>input_boolean</strong>. &#xA0;So, if the <strong>input_boolean</strong> is &apos;on&apos;, then the <strong>binary_sensor</strong> will trigger on, if the <strong>input_boolean</strong> is &apos;off&apos;, then the <strong>binary_sensor</strong> will trigger off. &#xA0;Alexa is going to turn our <strong>input_boolean</strong> on or off depending on what we&apos;re asking it to do. &#xA0;Additionally, if we manually trigger the <strong>input_boolean</strong>, then the <strong>binary_sensor</strong> will change state and Alexa&apos;s routine will fire. &#xA0;You need <strong>BOTH</strong> in order to prevent an automation loop. &#xA0;If you turn on the <strong>input_boolean</strong>, it will trigger the <strong>binary_sensor</strong> to &apos;on&apos;, which will trigger the Alexa Routine to turn on the light <strong>AND</strong> turn on the <strong>input_boolean</strong> (but the <strong>input_boolean</strong> is already &apos;on&apos; so the loop will stop).</p><p>You&apos;ll also need to configure a corresponding &apos;off&apos; <strong>Routine </strong>in Alexa:</p><figure class="kg-card kg-image-card"><img src="https://storage.ghost.io/c/06/05/06056eb8-88fb-4d10-9be0-4213dee89c68/content/images/2021/11/IMG_0878.PNG" class="kg-image" alt="Integrate IOTTY wall switches with Home Assistant" loading="lazy" width="1170" height="2532" srcset="https://storage.ghost.io/c/06/05/06056eb8-88fb-4d10-9be0-4213dee89c68/content/images/size/w600/2021/11/IMG_0878.PNG 600w, https://storage.ghost.io/c/06/05/06056eb8-88fb-4d10-9be0-4213dee89c68/content/images/size/w1000/2021/11/IMG_0878.PNG 1000w, https://storage.ghost.io/c/06/05/06056eb8-88fb-4d10-9be0-4213dee89c68/content/images/2021/11/IMG_0878.PNG 1170w" sizes="(min-width: 720px) 720px"></figure><p>There&apos;s nothing special here, it&apos;s just the reverse of the &apos;on&apos; <strong>Routine</strong>.</p><h2 id="final-thoughts">Final Thoughts</h2><p>You should now have an IOTTY switch automated in HA. &#xA0;This is a horribly clunky way of performing this integration, but it <strong>DOES</strong> enable you to use in HA any device with native Alexa support, regardless of whether or not it is supported in HA. &#xA0;Unfortunately, requiring a <strong>binary_sensor</strong>, an <strong>input_boolean</strong>, and two Alexa routines to integrate EACH switch you want to use will add up quickly. This is the reason I&apos;m not likely to buy more IOTTY switches in the future and am continuing to look for a replacement to my Plum switches.</p><p></p>]]></content:encoded></item><item><title><![CDATA[macOS Monterey, Mail Privacy, and Pi-Hole]]></title><description><![CDATA[I recently upgraded to macOS Monterey on my MacBook Pro.  Unfortunately, I immediately had an issue in Mail.app where I was seeing "Your network preferences prevent content from loading privately."]]></description><link>https://robpickering.com/macos-monterey-and-mail-privacy/</link><guid isPermaLink="false">6186bc9f0c1886003b8383c0</guid><category><![CDATA[howto]]></category><category><![CDATA[macOS]]></category><category><![CDATA[security]]></category><dc:creator><![CDATA[Rob Pickering]]></dc:creator><pubDate>Sat, 06 Nov 2021 18:30:23 GMT</pubDate><media:content url="https://storage.ghost.io/c/06/05/06056eb8-88fb-4d10-9be0-4213dee89c68/content/images/2021/11/Unknown.jpeg" medium="image"/><content:encoded><![CDATA[<img src="https://storage.ghost.io/c/06/05/06056eb8-88fb-4d10-9be0-4213dee89c68/content/images/2021/11/Unknown.jpeg" alt="macOS Monterey, Mail Privacy, and Pi-Hole"><p>I recently upgraded to macOS Monterey on my MacBook Pro. &#xA0;Unfortunately, I immediately had an issue in Mail.app where I was seeing &quot;Your network preferences prevent content from loading privately.&quot; on the top of every email:</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://storage.ghost.io/c/06/05/06056eb8-88fb-4d10-9be0-4213dee89c68/content/images/2021/11/Screen-Shot-2021-11-06-at-11.27.45-AM.png" class="kg-image" alt="macOS Monterey, Mail Privacy, and Pi-Hole" loading="lazy" width="1244" height="72" srcset="https://storage.ghost.io/c/06/05/06056eb8-88fb-4d10-9be0-4213dee89c68/content/images/size/w600/2021/11/Screen-Shot-2021-11-06-at-11.27.45-AM.png 600w, https://storage.ghost.io/c/06/05/06056eb8-88fb-4d10-9be0-4213dee89c68/content/images/size/w1000/2021/11/Screen-Shot-2021-11-06-at-11.27.45-AM.png 1000w, https://storage.ghost.io/c/06/05/06056eb8-88fb-4d10-9be0-4213dee89c68/content/images/2021/11/Screen-Shot-2021-11-06-at-11.27.45-AM.png 1244w" sizes="(min-width: 720px) 720px"><figcaption>Annoying new error message in macOS Monterey</figcaption></figure><p>There is a lot of information floating around about what causes this, how to &quot;fix&quot; it, and in some cases just telling people to turn off &quot;Protect Mail Activity&quot; in Mail.app, which is probably not what you want to do.</p><p>In order to &quot;Protect Mail Activity&quot; Mail.app is using Apple servers to request all images, tracking pixels, and other Mail.app external content and then passing them down to your computer. &#xA0;This means that the remote servers think that ALL of our Mail.app image loads are happening from those two servers, twarting their ability to connect your activity or know where you&apos;re located. &#xA0;The servers in question are: &#xA0;<em>mask.icloud.com</em> and <em>mask-h2.icloud.com.</em></p><p>What&apos;s happening is that your Mac (or iPhone, or iPad), when there is an image to load in an email, is attempting to load that image from those two servers. &#xA0;That means your device is making a DNS request first to figure out the IP address of one of those servers, and then actually connecting to that IP address to get the content. &#xA0;This is where the problem lies.</p><p>Those servers may have been marked as malicious Proxies, SPAM servers, or Ad servers by your DNS provider, Ad Blocker, or Virus program. &#xA0;For me, it was my Pi-Hole DNS servers that were blocking DNS requests to those servers. &#xA0;If Mail.app has &quot;Protect Mail Activity&quot; checked <strong>and</strong> it cannot reach those servers, it won&apos;t load any images and the above message will be displayed, allowing you to load them from the sender&apos;s specified servers instead (and allowing them to track that activity). &#xA0;Ultimately, clicking the button won&apos;t make your email reading activity any less secure than it was before you loaded Monterey, but you&apos;re also not making it more secure, and of course it&apos;s annoying.</p><p>The fix is straight-forward. &#xA0;Unblock the servers in question, or put them on a whitelist. &#xA0;</p><p>For Pi-Hole users, here are the instructions to slightly change your configuration and future-proof it if Apple adds additional servers:</p><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://apple.stackexchange.com/questions/429899/why-am-i-seeing-your-network-settings-prevent-content-from-loading-privately-i/429900?ref=robpickering.com#429900"><div class="kg-bookmark-content"><div class="kg-bookmark-title">Why am I seeing &#x201C;Your network settings prevent content from loading privately&#x201D; in the mail apps after updating Pi-hole?</div><div class="kg-bookmark-description">After a recent update to my Pi-hole server, I&#x2019;m now seeing the warning &amp;quot;Your network settings prevent content from loading privately&amp;quot; above email messages in the Mail apps in iOS/iPadOS 1...</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://cdn.sstatic.net/Sites/apple/Img/favicon.ico?v=30f8d738fc74" alt="macOS Monterey, Mail Privacy, and Pi-Hole"><span class="kg-bookmark-author">Ask Different</span><span class="kg-bookmark-publisher">Jace</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://cdn.sstatic.net/Sites/apple/Img/apple-touch-icon@2.png?v=b514451ec60c" alt="macOS Monterey, Mail Privacy, and Pi-Hole"></div></a></figure><p>Hope this helps others be able to leverage this great new privacy feature in macOS, without causing a negative user experience.</p>]]></content:encoded></item><item><title><![CDATA[Raspberry Pi printing British Pound (£) instead of US Pound (#)]]></title><description><![CDATA[How to fix a raspberry pi printing a British pound symbol]]></description><link>https://robpickering.com/raspberry-pi-printing-british-pound/</link><guid isPermaLink="false">60b52aab6436b7004b39df7c</guid><category><![CDATA[howto]]></category><category><![CDATA[raspberrypi]]></category><dc:creator><![CDATA[Rob Pickering]]></dc:creator><pubDate>Mon, 31 May 2021 18:43:26 GMT</pubDate><media:content url="https://storage.ghost.io/c/06/05/06056eb8-88fb-4d10-9be0-4213dee89c68/content/images/2021/05/images.png" medium="image"/><content:encoded><![CDATA[<img src="https://storage.ghost.io/c/06/05/06056eb8-88fb-4d10-9be0-4213dee89c68/content/images/2021/05/images.png" alt="Raspberry Pi printing British Pound (&#xA3;) instead of US Pound (#)"><p>So, this will be short. &#xA0;I&apos;ve found lots of information around the Internet on how to correct this problem, but all of it assumes you can actually log into your Raspberry Pi. &#xA0;In my situation, the # is actually part of my password and resetting the keyboard layout from British English to US English couldn&apos;t be accomplished without first logging into the system.</p><p>I finally found the solution:</p><ul><li>The backslash (\) on a UK English keyboard layout will print a pound (#)</li></ul><p>That was how I was then able to actually log into my system.</p><p>For reference, if your keyboard layout is British English:</p><ul><li># will print a &#xA3;</li><li>\ will print a #</li><li>~ will print a `</li><li>| will print a ~</li><li>&quot; will print a @</li><li>@ will print a &quot;</li></ul><p>That should get you out of most jams without having to actually fix the keyboard layout on your Pi.</p><p>To make the permanent adjustment to US English:</p><ul><li>sudo raspi-config</li><li>Localisation Options (4)</li><li>Change Keyboard Layout (I3)</li><li>Generic 104-key PC</li><li>Other</li><li>English (US)</li><li>English (US)</li><li>The default for the keyboard layout</li><li>No compose key</li><li>Finish</li></ul><p>You should now have a working # key.</p>]]></content:encoded></item><item><title><![CDATA[2020 What I've Read]]></title><description><![CDATA[<!--kg-card-begin: markdown--><p>I&apos;m starting this years &quot;What I&apos;ve Read&quot; post with a few disclaimers, just to make my style for these posts crystal clear.  First, the links below are Amazon affiliate links, there&apos;s no impact to you as the purchaser, but as an Amazon</p>]]></description><link>https://robpickering.com/2020-what-ive-read/</link><guid isPermaLink="false">5e6e3769215b9600381fc729</guid><category><![CDATA[books]]></category><dc:creator><![CDATA[Rob Pickering]]></dc:creator><pubDate>Sat, 08 May 2021 22:40:21 GMT</pubDate><media:content url="https://storage.ghost.io/c/06/05/06056eb8-88fb-4d10-9be0-4213dee89c68/content/images/2021/05/books.jpg" medium="image"/><content:encoded><![CDATA[<!--kg-card-begin: markdown--><img src="https://storage.ghost.io/c/06/05/06056eb8-88fb-4d10-9be0-4213dee89c68/content/images/2021/05/books.jpg" alt="2020 What I&apos;ve Read"><p>I&apos;m starting this years &quot;What I&apos;ve Read&quot; post with a few disclaimers, just to make my style for these posts crystal clear.  First, the links below are Amazon affiliate links, there&apos;s no impact to you as the purchaser, but as an Amazon Associate I earn from qualifying purchases.  That income goes straight to paying my hosting provider, domain name registrar, and ISP.  The total amount I receive a year doesn&apos;t even fully cover the hosting provider for this blog, it just helps a bit, but I appreciate you using my links to buy.  You can read more about this in my <a href="https://robpickering.com/privacy/">Privacy Policy</a>.  Second, all book excerpts in italics are the property of Amazon.com, they&apos;re the same ones they provide in the book descriptions and aren&apos;t written by me (which is why I&apos;ve always put them in italics).  You&apos;ll now find this permanently on my <a href="https://robpickering.com/reading/">Reading</a> page as well.</p>
<ol start="2020">
<li>In 2019, I started this post by saying that 2019 had been hard, but that 2020 would be better.  Boy was I ever wrong! Coronavirus (COVID-19), Stock Market crash; and those were only in the first few months of 2020.  I set a goal on <a href="https://www.goodreads.com/user/show/63873600-rob?ref=robpickering.com">GoodReads</a> to read 22 books in 2020 and hit that goal!  In 2021, I&apos;m going to read 25!</li>
</ol>
<p>In reviewing the books I read this year (22 titles, up 38% from the 16 titles in 2019), they were broken down in the following broad genres:</p>
<ul>
<li>Entertainment - 18% (down from 25%)</li>
<li>Non-fiction - 27% (up from 19%)</li>
<li>Computing - 18% (up from 0%)</li>
<li>Biographies - 14% (up from 0%)</li>
<li>Self-improvement - 23% (down from 56%)</li>
</ul>
<p>All in all I&apos;m pretty happy that I seem to have gotten a wider set of genres over 2020 than in previous years, nothing is really heavy, nothing is missing.  I attribute a lot of this to a program I did that required reading but it had to be non-fiction in nature (and non-audiobook), more in a bit.</p>
<p>Unfortunately, I&apos;m still working on the following books in 2021:</p>
<ul>
<li><a href="https://amzn.to/3tphjME?ref=robpickering.com">The Fifty-Year Mission: The Complete, Uncensored, Unauthorized Oral History of Star Trek: The First 25 Years</a> (Kindle)</li>
<li><a href="https://amzn.to/2VkuyAl?ref=robpickering.com">The Host</a> (Audible)</li>
<li><a href="https://amzn.to/3ts9pSF?ref=robpickering.com">Designed for Digital</a> (Audible)</li>
</ul>
<p>A goal I&apos;m setting for this year is to have all 3 of those books finished by the end of 2021.</p>
<p>When I started 2020, I was still reading several books I had started at the end of <a href="https://robpickering.com/2019-what-ive-read/">2019</a> (or even <a href="https://robpickering.com/2018-what-ive-read/">2018</a>). Happy to report I finished all of these in 2020, the first two which were from 2019:</p>
<ul>
<li><a href="http://amzn.to/2FLEtsu?ref=robpickering.com">Dark Territory: The Secret History of Cyber War</a> (Kindle) -- <em>In June 1983, President Reagan watched the movie War Games, in which a teenager unwittingly hacks the Pentagon, and asked his top general if the scenario was plausible. The general said it was. This set in motion the first presidential directive on computer security.</em> They had me at &quot;War Games&quot;.</li>
<li><a href="http://amzn.to/2GFRn8K?ref=robpickering.com">Crypto: How the Code Rebels Beat the Government--Saving Privacy in the Digital Age</a> (Kindle) -- <em>If you&apos;ve ever made a secure purchase with your credit card over the Internet, then you have seen cryptography, or &quot;crypto&quot;, in action. From <strong>Stephen Levy</strong>&#x2014;the author who made &quot;hackers&quot; a household word&#x2014;comes this account of a revolution that is already affecting every citizen in the twenty-first century. <strong>Crypto</strong> tells the inside story of how a group of &quot;crypto rebels&quot;&#x2014;nerds and visionaries turned freedom fighters&#x2014;teamed up with corporate interests to beat Big Brother and ensure our privacy on the Internet. Levy&apos;s history of one of the most controversial and important topics of the digital age reads like the best futuristic fiction.</em></li>
<li><a href="https://amzn.to/2u8NhE6?ref=robpickering.com">Thinking, Fast and Slow</a> (Audible) -- <em>In his mega bestseller, <strong>Thinking, Fast and Slow</strong>, Daniel Kahneman, the renowned psychologist and winner of the Nobel Prize in Economics, takes us on a groundbreaking tour of the mind and explains the two systems that drive the way we think. System 1 is fast, intuitive, and emotional; System 2 is slower, more deliberative, and more logical. The impact of overconfidence on corporate strategies, the difficulties of predicting what will make us happy in the future, the profound effect of cognitive biases on everything from playing the stock market to planning our next vacation&#x2014;each of these can be understood only by knowing how the two systems shape our judgments and decisions.</em></li>
<li><a href="https://amzn.to/366RYvt?ref=robpickering.com">Winner&apos;s Dream: A Journey from Corner Store to Corner Office</a> (Audible) -- Bill is our current CEO at ServiceNow and I&apos;ve had the pleasure to speak with him in person as well as watch him perform internally, this book shows how he got to where he is, and I <strong>HIGHLY</strong> recommend listening to the audiobook which is read by Bill himself, <em>In <strong>Winners Dream</strong>, Bill McDermott&#x2014;the CEO of the world&#x2019;s largest business software company, SAP&#x2014;chronicles how relentless optimism, hard work, and disciplined execution embolden people and equip organizations to achieve audacious goals. Colorful and fast-paced, Bill&#x2019;s anecdotes contain effective takeaways: gutsy career moves; empathetic sales strategies; incentives that yield exceptional team performance; and proof of the competitive advantages of optimism and hard work. At the heart of Bill&#x2019;s story is a blueprint for success and the knowledge that the real dream is the journey, not a preconceived destination.</em></li>
<li><a href="https://amzn.to/2U6sbj0?ref=robpickering.com">The Unicorn Project</a> (Kindle) -- <em>This highly anticipated follow-up to the bestselling title <strong>The Phoenix Project</strong> takes another look at Parts Unlimited, this time from the perspective of software development. In <strong>The Unicorn Project</strong>, we follow Maxine, a senior lead developer and architect, as she is exiled to the Phoenix Project, to the horror of her friends and colleagues, as punishment for contributing to a payroll outage. She tries to survive in what feels like a heartless and uncaring bureaucracy and to work within a system where no one can get anything done without endless committees, paperwork, and approvals. One day, she is approached by a ragtag bunch of misfits who say they want to overthrow the existing order, to liberate developers, to bring joy back to technology work, and to enable the business to win in a time of digital disruption. To her surprise, she finds herself drawn ever further into this movement, eventually becoming one of the leaders of the Rebellion, which puts her in the crosshairs of some familiar and very dangerous enemies. The Age of Software is here, and another mass extinction event looms&#x2014;this is a story about rebel developers and business leaders working together, racing against time to innovate, survive, and thrive in a time of unprecedented uncertainty...and opportunity.</em></li>
<li><a href="https://amzn.to/328HKIH?ref=robpickering.com">Data and Goliath: The Hidden Battles to Collect Your Data and Control Your World</a> (Kindle) -- <em>Your cell phone provider tracks your location and knows who&#x2019;s with you. Your online and in-store purchasing patterns are recorded, and reveal if you&apos;re unemployed, sick, or pregnant. Your e-mails and texts expose your intimate and casual friends. Google knows what you&#x2019;re thinking because it saves your private searches. Facebook can determine your sexual orientation without you ever mentioning it. The powers that surveil us do more than simply store this information. Corporations use surveillance to manipulate not only the news articles and advertisements we each see, but also the prices we&#x2019;re offered. Governments use surveillance to discriminate, censor, chill free speech, and put people in danger worldwide. And both sides share this information with each other or, even worse, lose it to cybercriminals in huge data breaches. Much of this is voluntary: we cooperate with corporate surveillance because it promises us convenience, and we submit to government surveillance because it promises us protection. The result is a mass surveillance society of our own making. But have we given up more than we&#x2019;ve gained? In <em>Data and Goliath</em>, security expert Bruce Schneier offers another path, one that values both security and privacy. He brings his bestseller up-to-date with a new preface covering the latest developments, and then shows us exactly what we can do to reform government surveillance programs, shake up surveillance-based business models, and protect our individual privacy. You&apos;ll never look at your phone, your computer, your credit cards, or even your car in the same way again.</em></li>
</ul>
<p>On March 9th, my wife and I started working from home as part of our companies&apos; response to COVID-19.  Knowing that we were going to be home for a while, I suggested we attempt <a href="https://75hard.com/?ref=robpickering.com">75hard</a>, a mental toughness program.  So, on March 15th, one day before Santa Clara County ordered us to &quot;shelter in place&quot; to &quot;flatten the curve&quot; of COVID-19 infections, my wife and I (and some of my peers at ServiceNow) started on the program.  One aspect of the program is that you must read 10 pages of a non-fiction book each day and audiobooks didn&apos;t count.  That really amped up my reading!  Here are the books I read over those 75 days, if it&apos;s an audiobook, then I read it during my workouts (2 a day, 1 has to be outside):</p>
<ul>
<li><a href="https://amzn.to/2U2EdtC?ref=robpickering.com">Talking to Strangers</a> (Audible) -- I can&apos;t stress enough how amazing this audiobook is, if you&apos;ve never listened to an audiobook before, <strong>THIS</strong> is the one to start with, just incredlble and has to be heard to be believed. <em>How did Fidel Castro fool the CIA for a generation? Why did Neville Chamberlain think he could trust Adolf Hitler? Why are campus sexual assaults on the rise? Do television sitcoms teach us something about the way we relate to each other that isn&apos;t true?&#xA0;While tackling these questions, Malcolm Gladwell was not solely writing a book for the page. He was also producing for the ear. In the audiobook version of <strong>Talking to Strangers</strong>, you&#x2019;ll hear the voices of people he interviewed - scientists, criminologists, military psychologists. Court transcripts are brought to life with re-enactments. You actually hear the contentious arrest of Sandra Bland by the side of the road in Texas. As Gladwell revisits the deceptions of Bernie Madoff, the trial of Amanda Knox, and the suicide of Sylvia Plath, you hear directly from many of the players in these real-life tragedies. There&#x2019;s even a theme song - Janelle Monae&#x2019;s &#x201C;Hell You Talmbout&#x201D;.&#xA0; Something is very wrong, Gladwell argues, with the tools and strategies we use to make sense of people we don&apos;t know. And because we don&apos;t know how to talk to strangers, we are inviting conflict and misunderstanding in ways that have a profound effect on our lives and our world.</em></li>
<li><a href="https://amzn.to/3bc0u1j?ref=robpickering.com">Limitless Mind</a> (Audible) -- <em>From the moment we enter school as children, we are made to feel as if our brains are fixed entities, capable of learning certain things and not others, influenced exclusively by genetics. This notion follows us into adulthood, where we tend to simply accept these established beliefs about our skillsets (i.e. that we don&#x2019;t have &#x201C;a math brain&#x201D; or that we aren&#x2019;t &#x201C;the creative type&#x201D;). These damaging - and as new science has revealed, false - assumptions have influenced all of us at some time, affecting our confidence and willingness to try new things and limiting our choices, and, ultimately, our futures.&#xA0;Stanford University professor, bestselling author, and acclaimed educator Jo Boaler has spent decades studying the impact of beliefs and bias on education. In <strong>Limitless Mind</strong>, she explodes these myths and reveals the six keys to unlocking our boundless learning potential.</em></li>
<li><a href="https://amzn.to/33oEnk4?ref=robpickering.com">Lock In</a> (Audible) -- <em>Not too long from today, a new, highly contagious virus makes its way across the globe. Most who get sick experience nothing worse than flu, fever, and headaches. But for the unlucky one percent - and nearly five million souls in the United States alone - the disease causes &quot;Lock In&quot;: Victims fully awake and aware, but unable to move or respond to stimulus. The disease affects young, old, rich, poor, people of every color and creed. The world changes to meet the challenge. A quarter of a century later, in a world shaped by what&apos;s now known as &quot;Haden&apos;s syndrome&quot;, rookie FBI agent Chris Shane is paired with veteran agent Leslie Vann. The two of them are assigned what appears to be a Haden-related murder at the Watergate Hotel, with a suspect who is an &quot;integrator&quot; - someone who can let the locked in borrow their bodies for a time. If the Integrator was carrying a Haden client, then naming the suspect for the murder becomes that much more complicated.</em></li>
<li><a href="https://amzn.to/3h6tWK6?ref=robpickering.com">The Tales of Beedle the Bard</a> (Audible) -- <em>As every fan of the Harry Potter stories knows, the shelves of the Hogwarts Library are home to all sorts of fascinating books. There are three in particular you might have heard mentioned by certain Hogwarts students and that you can add to your listening list too, including <strong>The Tales of Beedle the Bard.</strong> As familiar to Hogwarts students as Cinderella and Sleeping Beauty are to Muggle children, Beedle&apos;s stories are a collection of popular fairy tales written for young witches and wizards. So, if you&apos;re wondering what&apos;s in store...well, your ears are in for a treat.</em></li>
<li><a href="https://amzn.to/3hcq6z5?ref=robpickering.com">The X-Files: Stolen Lives</a> (Audible) -- <strong>Note:</strong> This title is no longer available on Audible, so I&apos;ve linked to the CD version.  It&apos;s amazing because all of the voices are from the original cast. -- <em>Out of the ashes of the Syndicate, a new, more powerful threat has emerged. Resurrected members of this fallen group - now shadows of their former selves - seemingly bend to the will of someone, or something, with unmatched abilities and an unknown purpose. As those believed to be enemies become unlikely allies and trusted friends turn into terrifying foes, FBI agents Fox Mulder and Dana Scully become unknowing participants in a deadly game of deception and retribution, the stakes of which amount to the preservation of humankind.</em></li>
<li><a href="https://amzn.to/2wOm9M7?ref=robpickering.com">Where Wizards Stay Up Late: The Origins of the Internet</a> (Audible) -- <em>Twenty-five years ago, it didn&apos;t exist. Today, 20 million people worldwide are surfing the Net. <strong>Where Wizards Stay Up Late</strong> is the exciting story of the pioneers responsible for creating the most talked about, most influential, and most far-reaching communications breakthrough since the invention of the telephone. In the 1960s, when computers where regarded as mere giant calculators, J.C.R. Licklider at MIT saw them as the ultimate communications devices. With Defense Department funds, he and a band of visionary computer whizzes began work on a nationwide, interlocking network of computers. Taking listeners behind the scenes, <strong>Where Wizards Stay Up Late</strong> captures the hard work, genius, and happy accidents of their daring, stunningly successful venture.</em></li>
<li><a href="https://amzn.to/3bdQAwh?ref=robpickering.com">Creativity, Inc.: Overcoming the Unseen Forces That Stand in the Way of True Inspiration</a> (Audible) -- <em><strong>Creativity, Inc.</strong> is a manual for anyone who strives for originality and the first-ever all-access trip into the nerve center of Pixar Animation - into the meetings, postmortems, and &#x201C;Braintrust&#x201D; sessions where some of the most successful films in history are made. It is, at heart, a book about creativity - but it is also, as Pixar cofounder and president Ed Catmull writes, &#x201C;an expression of the ideas that I believe make the best in us possible&#x201D;.</em></li>
<li><a href="https://amzn.to/2SFgFy5?ref=robpickering.com">The Fifth Risk</a> (Kindle) -- <em>Michael Lewis&#x2019;s brilliant narrative of the Trump administration&#x2019;s botched presidential transition takes us into the engine rooms of a government under attack by its leaders through willful ignorance and greed. The government manages a vast array of critical services that keep us safe and underpin our lives from ensuring the safety of our food and drugs and predicting extreme weather events to tracking and locating black market uranium before the terrorists do. <strong>The Fifth Risk</strong> masterfully and vividly unspools the consequences if the people given control over our government have no idea how it works.</em></li>
<li><a href="https://amzn.to/3tybb4G?ref=robpickering.com">David and Goliath: Underdogs, Misfits, and the Art of Battling Giants</a> (Audible) -- <em>Three thousand years ago on a battlefield in ancient Palestine, a shepherd boy felled a mighty warrior with nothing more than a stone and a sling, and ever since then the names of David and Goliath have stood for battles between underdogs and giants. David&apos;s victory was improbable and miraculous. He <strong>shouldn&apos;t</strong> have won. Or should he have?  In <strong>David and Goliath</strong>, Malcolm Gladwell challenges how we think about obstacles and disadvantages, offering a new interpretation of what it means to be discriminated against, or cope with a disability, or lose a parent, or attend a mediocre school, or suffer from any number of other apparent setbacks.</em></li>
<li><a href="https://amzn.to/3beDGOJ?ref=robpickering.com">Atomic Habits</a> (Audible) -- <em>No matter your goals, <em>Atomic Habits</em> offers a proven framework for improving--every day. James Clear, one of the world&apos;s leading experts on habit formation, reveals practical strategies that will teach you exactly how to form good habits, break bad ones, and master the tiny behaviors that lead to remarkable results.  If you&apos;re having trouble changing your habits, the problem isn&apos;t you. The problem is your system. Bad habits repeat themselves again and again not because you don&apos;t want to change, but because you have the wrong system for change. You do not rise to the level of your goals. You fall to the level of your systems. Here, you&apos;ll get a proven system that can take you to new heights.</em></li>
</ul>
<p>After doing 75hard from March 15th to May 28th, we took a break.  However, we both felt really great, and frankly I also lost 30 lbs.  So, we decided to go for a second time, starting on June 1st, 2020.  That session ended on August 14th, one day before I turned 50.</p>
<p>Also, on August 3rd, 2020 we rescued our dog, Sunny, from the Humane Society.  He was 8 weeks old and while we thought he&apos;d be a big dog, turns out ... not so much.</p>
<ul>
<li><a href="https://amzn.to/3nWvTu2?ref=robpickering.com">How to Raise the Perfect Dog: Through Puppyhood and Beyond</a> (Kindle) -- <em>For the millions of people every year who consider bringing a puppy into their lives&#x2013;as well as those who have already brought a dog home&#x2013;Cesar Millan, the preeminent dog behavior expert, says, &quot;Yes, you <strong>can</strong> raise the perfect dog!&quot; It all starts with the proper foundation in the early years. Here, Cesar tells you everything you need to know to create the best environment for a well-balanced dog in order to avoid behavior issues in the future, and shows you how to correct the most common behavior issues for young dogs.</em></li>
<li><a href="https://amzn.to/33ERhe5?ref=robpickering.com">The Price of Tomorrow: Why Deflation is the Key to an Abundant Future</a> (Kindle) -- <em>We live in an extraordinary time. Technological advances are happening at a rate faster than our ability to understand them, and in a world that moves faster than we can imagine, we cannot afford to stand still. These advances bring efficiency and abundance&#x2014;and they are profoundly deflationary. Our economic systems were built for a pre-technology era when labour and capital were inextricably linked, an era that counted on growth and inflation, an era where we made money from inefficiency. That era is over, but we keep on pretending that those economic systems still work.</em></li>
<li><a href="https://amzn.to/3tpWG33?ref=robpickering.com">History of Bourbon</a> (Audible) -- <em>Is bourbon the quintessential American liquor?</em> Bourbon is not just alcohol&#x2014;the amber-colored drink is deeply ingrained in American culture and tangled in American history. From the early days of raw corn liquor to the myriad distilleries that have proliferated around the country today, bourbon is a symbol of the United States. This course traces bourbon&apos;s entire history, from the 1700s, with Irish, Scottish, and French settlers setting up stills and making distilled spirits in the New World, through today&apos;s booming resurgence._</li>
<li><a href="https://amzn.to/3f0sA0U?ref=robpickering.com">A Short History of Nearly Everything</a> (Audible) -- <em>In <strong>A Short History of Nearly Everything</strong>, Bill Bryson confronts his greatest challenge yet: to understand&#x2014;and, if possible, answer&#x2014;the oldest, biggest questions we have posed about the universe and ourselves. Taking as his territory everything from the Big Bang to the rise of civilization, Bryson seeks to understand how we got from there being nothing at all to there being <strong>us</strong>. The result is a sometimes profound, sometimes funny, and always supremely clear and entertaining adventure in the realms of human knowledge, as only Bill Bryson can render it.</em></li>
<li><a href="https://amzn.to/3uru4Ym?ref=robpickering.com">Chasing Midnight (Doc Ford Book 19)</a> (Kindle) -- <em>On one of Florida&#x2019;s private islands, a notorious Russian black marketer is hosting a reception. Doc Ford only wanted to get an underwater look at the billionaire&#x2019;s yacht. But when he surfaces, he gets a look at something he&#x2019;d rather not see.</em></li>
<li><a href="https://amzn.to/3f2CbEr?ref=robpickering.com">Essentialism: The Disciplined Pursuit of Less</a> -- <em>Essentialism is more than a time-management strategy or a productivity technique. It is a <strong>systematic discipline</strong> for discerning what is absolutely essential, then eliminating everything that is not, so we can make the highest possible contribution toward the things that really matter.  By forcing us to apply more selective criteria for what is Essential, the disciplined pursuit of less empowers us to reclaim control of our own choices about where to spend our precious time and energy&#x2014;instead of giving others the implicit permission to choose for us.</em></li>
</ul>
<p><strong>Reflection:</strong> 2020 was an incredibly difficult year for everyone on the planet and it&apos;s continued into 2021.  I was fortunate, dare I say prescient, that when we were all locked down, I knew that if I didn&apos;t make some dramatic changes in my life I was going to be far worse off when our COVID lockdown ended than when it started.  My wife and I found <strong>75hard</strong> and we ended the year in the best shape of the last decade or so.  We&apos;ve continued with this going on 75hard again at the beginning of 2021 and I personally achieved a weight I hadn&apos;t seen since before my son was born a decade ago.</p>
<p>I hope everyone continues to stay safe, has gotten vaccinated (regardless of your beliefs overall, this is a public health crises), and has learned to thrive in this new environment in which we find ourselves.</p>
<p>If you&apos;re suffering, seek help, or as I often do, find a good book to learn more about your situation and to create a sense of wonder and hope.</p>
<!--kg-card-end: markdown-->]]></content:encoded></item></channel></rss>