<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
 <title>grin.io</title>
 <link href="https://grin.io/atom.xml" rel="self"/>
 <link href="https://grin.io/"/>
 <updated>2026-04-25T18:57:41&#43;00:00</updated>
 <id>https://grin.io</id>
 <author>
   <name>Grin</name>
   <email>a@grin.io</email>
 </author>

 
 <entry>
   <title>What&amp;#39;s a network city?</title>
   <link href="https://grin.io/network-city/"/>
   <updated>2024-05-24T00:00:00-04:00</updated>
   <id>https://grin.io/network-city/</id>
   <content type="html">&amp;lt;p&amp;gt;I believe that our cities are outdated. &amp;lt;a href=&amp;#34;https://cabin.city&amp;#34;&amp;gt;Cabin&amp;lt;/a&amp;gt; is building a better, more modern city.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;A network city.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;What is a &amp;amp;ldquo;network city&amp;amp;rdquo;? It&amp;amp;rsquo;s partially physical like a normal city, but it’s also distributed across space and onto the internet.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;I believe a city is not a physical location, but the context for our daily life.&amp;lt;/strong&amp;gt; It&amp;amp;rsquo;s where we work, spend time, meet our friends, raise our kids. More and more, those happen online (and onchain).&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;Today&amp;amp;rsquo;s cities are physical only, and therefore outdated. The last major US city was founded over 100 years ago. Physical was the only option. But now cities no longer meet our needs. We need connection, and we seek it online. We need ownership, but we cannot own our city. We need representation, but cities are out of touch with us.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;Today I say I live in Boston. My goal is to someday say with a straight face that &amp;amp;ldquo;I live in Cabin&amp;amp;rdquo; and not be embarrassed by that. I want my parents, my friends, my kids and their friends, and my tribe to all live in Cabin. That&amp;amp;rsquo;s the level of abstraction that feels real to me, not owning a remote chunk of land or diplomatic recognition and regulatory arbitrage.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;&amp;lt;a href=&amp;#34;https://zora.co/collect/base:0xd3489c893f003babfbb795708a341d74e61e5e04/1&amp;#34;&amp;gt;mint this&amp;lt;/a&amp;gt;&amp;lt;/p&amp;gt;
</content>
 </entry>
 
 <entry>
   <title>The FarCon Formula</title>
   <link href="https://grin.io/farcon-formula/"/>
   <updated>2024-01-15T00:00:00-05:00</updated>
   <id>https://grin.io/farcon-formula/</id>
   <content type="html">&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;FarCon is an IRL gathering for the &amp;lt;a href=&amp;#34;https://farcaster.xyz&amp;#34;&amp;gt;Farcaster&amp;lt;/a&amp;gt; digital community.&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;A decentralized protocol requires a new kind of decentralized conference. The FarCon is a reusable template, an overarching structure that organizers remix to create a unique instance of the event. Historically, each FarCon is run by a different crew of organizers.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;The core purpose of a FarCon is to deepen connections and promote collaboration&amp;lt;/strong&amp;gt;. Everything about FarCon is aligned towards these twin goals, which also support each other. Collaboration brings people closer, and people are more likely to work together with others whom they are close with.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;&amp;lt;img src=&amp;#34;/img/farcon-purpose-loop.png&amp;#34; alt=&amp;#34;&amp;#34;&amp;gt;&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;The format of the event itself is highly collaborative. Organizers create the container, focusing mainly on tasks that cannot be distributed well (location, venue, ticketing and fundraising, big-picture schedule, some food and lodging). Attendees fill the container with things they care about and invite others to join them.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;A FarCon is &amp;amp;ldquo;for us, by us&amp;amp;rdquo;&amp;lt;/strong&amp;gt;. The vibe is personal and cozy. Ceremony is minimal. &amp;amp;ldquo;Extras&amp;amp;rdquo; are extra: swag, big afterparties, lavish decoration, famous speakers, sponsorships, etc. all deserve more scrutiny &amp;amp;ndash; do they support the purpose? Spectators (who watch but don&amp;amp;rsquo;t participate) are discouraged.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;That said, the bar to contribute is low and all genuine and creative gifts are welcome. You can participate just by being fully present or engaging in thoughtful conversation. It&amp;amp;rsquo;s mostly about the mindset.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;Farcaster is an evolving protocol, and FarCon changes with it. Every year will be different. A skillful remix should resonate with the current cultural moment while still paying homage to history and tradition.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;Finally, my advice on running a great event:&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;&amp;lt;a href=&amp;#34;https://farcaster.xyz/grin/0x39e1d2&amp;#34;&amp;gt;&amp;lt;img src=&amp;#34;/img/farcon-rules-cast.png&amp;#34; alt=&amp;#34;&amp;#34;&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;If you&amp;amp;rsquo;re running a FarCon, reach out. I&amp;amp;rsquo;m here for you.&amp;lt;/p&amp;gt;
</content>
 </entry>
 
 <entry>
   <title>Cabin @ The Network State Conference</title>
   <link href="https://grin.io/tns/"/>
   <updated>2023-11-01T00:00:00-04:00</updated>
   <id>https://grin.io/tns/</id>
   <content type="html">&amp;lt;style&amp;gt;hr{margin-bottom: 2rem}&amp;lt;/style&amp;gt;
&amp;lt;p&amp;gt;I recently gave a talk at Balaji&amp;amp;rsquo;s Network State Conference in Amsterdam. It&amp;amp;rsquo;s a conference for people interested in founding, funding, and finding new communities and parallel institutions.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;Topics included startup societies, network states, digital nomadism, competitive government, legalizing innovation, and building alternatives.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;The conference was a bit of a coming-out party for everyone working in this space over the last few years. One of the coolest parts of it
for me was seeing so many of my friends up on stage giving talk about their projects. Brooke did Vibecamp, Priya and Andrew presented
Fractal, Jason Benn talked about Neighborhood SF, etc. None of these are famous people, but we shared the stage with people like
Glenn Greenwald, Vitalik Buterin, Garry Tan, and Tyler Cowen.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;Personally, my goal was to rep Cabin, meet people (both the top builders in the space and also the biggest network state supporters), and to try to understand how Cabin can best serve the world.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;Here&amp;amp;rsquo;s a video of my talk, and also the slides and expanded text of what I said. I also did a &amp;lt;a href=&amp;#34;https://forum.cabin.city/t/trip-report-network-state-conference/80&amp;#34;&amp;gt;Cabin-focused writeup&amp;lt;/a&amp;gt; of what I learned.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;Enjoy!&amp;lt;/p&amp;gt;
&amp;lt;h2 id=&amp;#34;video&amp;#34;&amp;gt;Video&amp;lt;/h2&amp;gt;
&amp;lt;iframe src=&amp;#34;https://www.youtube.com/embed/_m8lliIqAfs?si=cEEdizyDI6AhYCom&amp;#34; title=&amp;#34;YouTube video player&amp;#34; frameborder=&amp;#34;0&amp;#34; allow=&amp;#34;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share&amp;#34; allowfullscreen&amp;gt;&amp;lt;/iframe&amp;gt;
&amp;lt;h2 id=&amp;#34;slides-and-text&amp;#34;&amp;gt;Slides and Text&amp;lt;/h2&amp;gt;
&amp;lt;p&amp;gt;&amp;lt;a href=&amp;#34;/img/tns/pg-01.jpg&amp;#34;&amp;gt;&amp;lt;img src=&amp;#34;/img/tns/pg-01.jpg&amp;#34; alt=&amp;#34;Slide 1&amp;#34;&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;Cabin is a &amp;lt;strong&amp;gt;group of internet friends&amp;lt;/strong&amp;gt; building a &amp;lt;strong&amp;gt;network city&amp;lt;/strong&amp;gt; of &amp;lt;strong&amp;gt;modern villages&amp;lt;/strong&amp;gt;.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;That&amp;amp;rsquo;s kind of a long description, so let’s take that sentence piece by piece. When I say a group of internet friends, I mean a pretty big group.&amp;lt;/p&amp;gt;
&amp;lt;hr/&amp;gt;
&amp;lt;p&amp;gt;&amp;lt;a href=&amp;#34;/img/tns/pg-02.jpg&amp;#34;&amp;gt;&amp;lt;img src=&amp;#34;/img/tns/pg-02.jpg&amp;#34; alt=&amp;#34;Slide 2&amp;#34;&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;The Cabin community has over 4200 members. Of those, 355 are Cabin citizens (citizenship is a paid yearly membership). We also have 23 locations around the world where Cabin members live and gather.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;These people and places comprise our network city.&amp;lt;/p&amp;gt;
&amp;lt;hr/&amp;gt;
&amp;lt;p&amp;gt;&amp;lt;a href=&amp;#34;/img/tns/pg-03.jpg&amp;#34;&amp;gt;&amp;lt;img src=&amp;#34;/img/tns/pg-03.jpg&amp;#34; alt=&amp;#34;Slide 3&amp;#34;&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;So what’s a network city?&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;It&amp;amp;rsquo;s a city thats partially physical like a normal city, but it’s also distributed across space and onto the internet.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;We think of the city less as one physical place, and more as the context for your day-to-day activity – where you live, work, see your friends, raise your kids.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;Today&amp;amp;rsquo;s cities exist only in the physical world. But most of us live at least partially online. So our cities are no longer meeting our
needs.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;Unlike a network state, we’re not aiming for diplomatic recognition. But we do want people to someday be able to say “I live in Cabin” and really mean it.&amp;lt;/p&amp;gt;
&amp;lt;hr/&amp;gt;
&amp;lt;p&amp;gt;&amp;lt;a href=&amp;#34;/img/tns/pg-04.jpg&amp;#34;&amp;gt;&amp;lt;img src=&amp;#34;/img/tns/pg-04.jpg&amp;#34; alt=&amp;#34;Slide 4&amp;#34;&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;So that’s the the network city part. What is a modern village?&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;That’s the shortest way of expressing the two halves of our vision.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;The village is about community, nature, and close relationship, while modern embraces technology and innovation.&amp;lt;/p&amp;gt;
&amp;lt;hr/&amp;gt;
&amp;lt;p&amp;gt;&amp;lt;a href=&amp;#34;/img/tns/pg-05.jpg&amp;#34;&amp;gt;&amp;lt;img src=&amp;#34;/img/tns/pg-05.jpg&amp;#34; alt=&amp;#34;Slide 5&amp;#34;&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;At the core of Cabin are three obvious truths that guide our vision. Or at least they feel obvious and true to us.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;We believe co-creation grows culture. People bond by overcoming challenges together.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;We believe we’re at our best when we live with people we admire. Thanks to the magic of the internet, we can connect with those people online and then come together in person.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;We believe touching grass is good for our wellbeing. Nature and the outdoors permeate everything at Cabin.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;Working together with people we admire in nature. That’s Cabin.&amp;lt;/p&amp;gt;
&amp;lt;hr/&amp;gt;
&amp;lt;p&amp;gt;&amp;lt;a href=&amp;#34;/img/tns/pg-06.jpg&amp;#34;&amp;gt;&amp;lt;img src=&amp;#34;/img/tns/pg-06.jpg&amp;#34; alt=&amp;#34;Slide 6&amp;#34;&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;Here are some of the people of Cabin.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;These are the real people who’ve joined our community calls and stayed at properties in our network.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;Btw, there are no stock photos in this talk. Every photo you see actually happened at Cabin.&amp;lt;/p&amp;gt;
&amp;lt;hr/&amp;gt;
&amp;lt;p&amp;gt;&amp;lt;a href=&amp;#34;/img/tns/pg-07.jpg&amp;#34;&amp;gt;&amp;lt;img src=&amp;#34;/img/tns/pg-07.jpg&amp;#34; alt=&amp;#34;Slide 7&amp;#34;&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;These are some Cabin properties. They’re all around the world, including a few here in Europe.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;They’re beautiful locations, all with high speed internet and nature right outside the front door, and they’re open to Citizens.&amp;lt;/p&amp;gt;
&amp;lt;hr/&amp;gt;
&amp;lt;p&amp;gt;&amp;lt;a href=&amp;#34;/img/tns/pg-08.jpg&amp;#34;&amp;gt;&amp;lt;img src=&amp;#34;/img/tns/pg-08.jpg&amp;#34; alt=&amp;#34;Slide 8&amp;#34;&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;A bit of our history: Cabin is a few years old now.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;Over the years we’ve done dozens of gathering experiments across multiple sizes and durations: from small dinners and conference events, to weekend-long camps for dozens of people, to residency programs for online creators and DAO leaders, all the way up to long-term coliving and from-scratch neighborhood development.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;These experiments confirmed to us that complex things like cities must evolve from smaller, simpler versions of themselves. You can’t build them all at once. You have to slowly grow them, like a garden.&amp;lt;/p&amp;gt;
&amp;lt;hr/&amp;gt;
&amp;lt;p&amp;gt;&amp;lt;a href=&amp;#34;/img/tns/pg-09.jpg&amp;#34;&amp;gt;&amp;lt;img src=&amp;#34;/img/tns/pg-09.jpg&amp;#34; alt=&amp;#34;Slide 9&amp;#34;&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;This tweet really sums it up well.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;Well good news, Rich! We&amp;amp;rsquo;re solving this problem with &amp;amp;hellip;&amp;lt;/p&amp;gt;
&amp;lt;hr/&amp;gt;
&amp;lt;p&amp;gt;&amp;lt;a href=&amp;#34;/img/tns/pg-10.jpg&amp;#34;&amp;gt;&amp;lt;img src=&amp;#34;/img/tns/pg-10.jpg&amp;#34; alt=&amp;#34;Slide 10&amp;#34;&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;&amp;amp;hellip; &amp;lt;a href=&amp;#34;https://cabin.city/supperclub&amp;#34;&amp;gt;our supper club program&amp;lt;/a&amp;gt;.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;It’s exactly what it sounds like: meet interesting people, cook a meal together, talk to each other, drop some selfies on social, and Cabin picks up the bill.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;It’s the simplest way for new people to start making connections in the Cabin community.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;So even if you&amp;amp;rsquo;ve never hosted a dinner party, we&amp;amp;rsquo;ll help you start your journey to building a network state 😁&amp;lt;/p&amp;gt;
&amp;lt;hr/&amp;gt;
&amp;lt;p&amp;gt;&amp;lt;a href=&amp;#34;/img/tns/pg-11.jpg&amp;#34;&amp;gt;&amp;lt;img src=&amp;#34;/img/tns/pg-11.jpg&amp;#34; alt=&amp;#34;Slide 11&amp;#34;&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;So far I’ve focused on Cabin’s physical presence because we believe the most important thing here is relationships between people, and there’s still no substitute for building those in-person.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;But we’re a network city and we build things with code, not just wood.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;Over time, we’ve developed a system of several components that work together to connect Cabin members online.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;These primitives will exist in any online/offline community, though they’ll look different depending on the community history and values.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;Here’s what ours looks like.&amp;lt;/p&amp;gt;
&amp;lt;hr/&amp;gt;
&amp;lt;p&amp;gt;&amp;lt;a href=&amp;#34;/img/tns/pg-12.jpg&amp;#34;&amp;gt;&amp;lt;img src=&amp;#34;/img/tns/pg-12.jpg&amp;#34; alt=&amp;#34;Slide 12&amp;#34;&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;The first piece of our app is the Census. It’s your digital presence in the Cabin online world.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;Anyone can create a profile and begin building their identity and reputation within the community.&amp;lt;/p&amp;gt;
&amp;lt;hr/&amp;gt;
&amp;lt;p&amp;gt;&amp;lt;a href=&amp;#34;/img/tns/pg-13.jpg&amp;#34;&amp;gt;&amp;lt;img src=&amp;#34;/img/tns/pg-13.jpg&amp;#34; alt=&amp;#34;Slide 13&amp;#34;&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;Over time your profile accrues stamps, kind of the way a laptop collects stickers or a boy scout earns merit badges.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;These are onchain credentials that provide a cultural vibe-check by recording what you’ve done with the community.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;We’ve given out thousands of stamps to members for joining community calls, attending events, completing residencies, and coliving with Cabin.&amp;lt;/p&amp;gt;
&amp;lt;hr/&amp;gt;
&amp;lt;p&amp;gt;&amp;lt;a href=&amp;#34;/img/tns/pg-14.jpg&amp;#34;&amp;gt;&amp;lt;img src=&amp;#34;/img/tns/pg-14.jpg&amp;#34; alt=&amp;#34;Slide 14&amp;#34;&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;Next is the City Directory. It determines which locations are &amp;amp;ldquo;within city limits&amp;amp;rdquo; for Cabin.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;It’s also an open token-curated registry. Any Citizen can add locations, and people can vote their tokens toward the places they like most.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;Locations with more votes move to the top of the list, which provides information to guests and feedback to hosts.&amp;lt;/p&amp;gt;
&amp;lt;hr/&amp;gt;
&amp;lt;p&amp;gt;&amp;lt;a href=&amp;#34;/img/tns/pg-15.jpg&amp;#34;&amp;gt;&amp;lt;img src=&amp;#34;/img/tns/pg-15.jpg&amp;#34; alt=&amp;#34;Slide 15&amp;#34;&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;Subscriptions are a natural way to fund the growth of network cities, and citizenship is our subscription membership at Cabin.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;For 0.2 Eth a year, citizenship grants access to locations in the City Directory, our annual gathering, partnership perks, and more.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;When you join, you get a numbered Citizen NFT, some ₡ABIN tokens for governance, and a custom chip-embedded passport card.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;These have custom chips made by a DAO called Kong Land. They have a private key and do transaction signing on-chip, so they’re are much closer to a Ledger than a standard NFC.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;Citizenship works on a web-of-trust model, so you have to know an existing citizen who’ll refer you. Reach out to me if you want in.&amp;lt;/p&amp;gt;
&amp;lt;hr/&amp;gt;
&amp;lt;p&amp;gt;&amp;lt;a href=&amp;#34;/img/tns/pg-16.jpg&amp;#34;&amp;gt;&amp;lt;img src=&amp;#34;/img/tns/pg-16.jpg&amp;#34; alt=&amp;#34;Slide 16&amp;#34;&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;Finally, the Pulse is Cabin’s network homepage. This is something we’re just starting to build now.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;You might remember something like from Balaji’s &amp;lt;a href=&amp;#34;https://www.thenetworkstate.com/the-network-state-in-one-image&amp;#34;&amp;gt;Network State in One Image&amp;lt;/a&amp;gt;. Our’s is less of a dashboard and more of a bulletin board in the town square.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;It’s a single place where you can go to see what’s happening around Cabin and what’s coming up.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;For example, there’s a map of where citizen are now, and where they want to meet later or start new Cabin nodes.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;But it’s not just activity that happens in the Cabin app…&amp;lt;/p&amp;gt;
&amp;lt;hr/&amp;gt;
&amp;lt;p&amp;gt;&amp;lt;a href=&amp;#34;/img/tns/pg-17.jpg&amp;#34;&amp;gt;&amp;lt;img src=&amp;#34;/img/tns/pg-17.jpg&amp;#34; alt=&amp;#34;Slide 17&amp;#34;&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;It’s also activity from Cabin members across the whole internet. There’s a Strava challenge that people compete in, blog posts get pulled in from Mirror or Substack,&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;All the social and onchain activity from the commuinty, together in one place.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;We think this is how hybrid communities will bridge the gap between physical and digital presence.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;We built this for us, and we’re also building it for you. This whole stack – stamps, citizenship, the pulse, we also have roles, a booking platform, and a bunch of others things I didn&amp;amp;rsquo;t mention — they’re a product of everything we’ve learned over the years, and we want to offer them to you.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;The names, look and feel of the pieces will be different, but the underlying social primitives exist in all communities in this space.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;If you want something like this for your network city, get in touch with me.&amp;lt;/p&amp;gt;
&amp;lt;hr/&amp;gt;
&amp;lt;p&amp;gt;&amp;lt;a href=&amp;#34;/img/tns/pg-18.jpg&amp;#34;&amp;gt;&amp;lt;img src=&amp;#34;/img/tns/pg-18.jpg&amp;#34; alt=&amp;#34;Slide 18&amp;#34;&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;If you’re looking for IRL connection, I want you to come to a supper club.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;Don’t be that guy from the tweet. If you’re here and you’re serious about network states, a local dinner is the easiest way to start.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;Go to &amp;lt;a href=&amp;#34;https://cabin.city/supperclub&amp;#34;&amp;gt;cabin.city/supperclub&amp;lt;/a&amp;gt; and sign up for one.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;&amp;lt;a href=&amp;#34;https://cabin.city&amp;#34;&amp;gt;cabin.city&amp;lt;/a&amp;gt; also has links to our Discord, our community forum, our newsletter, and so on.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;And if our app caught your eye more than the in-person stuff, then yea talk to me and let’s collaborate.&amp;lt;/p&amp;gt;
&amp;lt;hr/&amp;gt;
&amp;lt;p&amp;gt;&amp;lt;a href=&amp;#34;/img/tns/pg-19.jpg&amp;#34;&amp;gt;&amp;lt;img src=&amp;#34;/img/tns/pg-19.jpg&amp;#34; alt=&amp;#34;Slide 19&amp;#34;&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;Once again, I’m Grin, the tech lead at Cabin.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;Before Cabin, I was a founder of other adjacent projects you may have heard of, like &amp;lt;a href=&amp;#34;https://lbry.com&amp;#34;&amp;gt;LBRY&amp;lt;/a&amp;gt;, &amp;lt;a href=&amp;#34;https://odysee.com&amp;#34;&amp;gt;Odysee&amp;lt;/a&amp;gt; and &amp;lt;a href=&amp;#34;https://vibe.camp&amp;#34;&amp;gt;Vibecamp&amp;lt;/a&amp;gt;.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;And I’m at Cabin now to build the city that I want to live in, not just for me but for my family, my friends, and my tribe.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;Get in touch 👋&amp;lt;/p&amp;gt;
</content>
 </entry>
 
 <entry>
   <title>To My Daughter</title>
   <link href="https://grin.io/daughter/"/>
   <updated>2021-08-12T00:00:00-04:00</updated>
   <id>https://grin.io/daughter/</id>
   <content type="html">&amp;lt;p&amp;gt;These are the phrases I often say to you, and what they mean to me. You&amp;amp;rsquo;re only four, so when you&amp;amp;rsquo;re older you can tell me if any of this came through.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;&amp;lt;a href=&amp;#34;/img/matching-nails.jpg&amp;#34;&amp;gt;&amp;lt;img src=&amp;#34;/img/matching-nails.jpg&amp;#34; alt=&amp;#34;&amp;#34;&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/p&amp;gt;
&amp;lt;h2 id=&amp;#34;i-love-you-no-matter-what&amp;#34;&amp;gt;I love you no matter what&amp;lt;/h2&amp;gt;
&amp;lt;p&amp;gt;I hope you&amp;amp;rsquo;re not surprised to see this one at the top of the list. For the past few months, it&amp;amp;rsquo;s been the last thing you hear before going to sleep. After we brush teeth, read Mr. Putter books or look at the world map, turn off the lights, and snuggle up with your favorite Bunny, I pronounce this last part of our ritual. You whisper back &amp;amp;ldquo;I love you no matter what too&amp;amp;rdquo;, though I doubt you know what that really means. Maybe someday.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;What I&amp;amp;rsquo;m really saying is, I accept you as you are. Even when I&amp;amp;rsquo;m mad at you, even when you&amp;amp;rsquo;re ashamed or sad or being selfish or doing something you shouldn&amp;amp;rsquo;t be. Even when you&amp;amp;rsquo;re ecstatic, or you knocked your brother off the jungle gym again, or you demand to have the peas picked out of your pasta because today you feel allergic to green.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;Branding advice says that mottos are important because people only pay attention for a few seconds. Most of what is communicated is lost. Leaders have to repeat everything over and over, so a company can&amp;amp;rsquo;t have 17 values unless they drill the employees daily. But a motto, a single idea, can be transmitted pretty reliably. If I could only tell you one thing, it would be this: I accept you as you are. There&amp;amp;rsquo;s nothing to do, nothing to change. I won&amp;amp;rsquo;t always be happy with you, or proud or even there for you. But that&amp;amp;rsquo;s about me, not you.&amp;lt;/p&amp;gt;
&amp;lt;h2 id=&amp;#34;yes-little-monkey&amp;#34;&amp;gt;Yes, little monkey?&amp;lt;/h2&amp;gt;
&amp;lt;p&amp;gt;One of the great joys of parenting is pet names. Your favorite is &amp;amp;ldquo;little monkey&amp;amp;rdquo;.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;My dad likes to tell me how creative Russians are with pet names. Any name can be the root of a vast tree of nicknames. Take Alexey, my birth name. Only a teacher or judge would call me that. The shopkeeper lady might call me Alyosha, the first step up the name tree trunk. My parents and friends in the yard would use Lyosha or Lyoshka. Lyoshenka, up in the furthest branches, is my grandma&amp;amp;rsquo;s favorite; Leshunya is reserved solely for my mom (unless I&amp;amp;rsquo;m late for dinner, then it&amp;amp;rsquo;s Alexey Grigorievich!).&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;With you, our deal is that you call me Papa. Not Dada or Daddy or any of that. Papa is more unique and softer, more pleasing to the ear. In return, you like when I call you &amp;amp;ldquo;little monkey&amp;amp;rdquo;. You still respond to the occasional Zaychik (&amp;amp;ldquo;bunny&amp;amp;rdquo; in Russian) or other variations. But when you wanna ask to go play outside or how long before Grandma comes to visit, you lead with &amp;amp;ldquo;Papa?&amp;amp;rdquo; and I know what you want me to say.&amp;lt;/p&amp;gt;
&amp;lt;h2 id=&amp;#34;not-now-im-on-a-call&amp;#34;&amp;gt;Not now, I&amp;amp;rsquo;m on a call&amp;lt;/h2&amp;gt;
&amp;lt;p&amp;gt;Ok I admit it: I&amp;amp;rsquo;m not Superdad. I do other things besides spending time with you all day. When you sprint upstairs to our guestroom/office and jump on the foam mattress because your brother&amp;amp;rsquo;s going to sleep and there&amp;amp;rsquo;s no one to play with you, I&amp;amp;rsquo;m probably in the middle of something. Now you&amp;amp;rsquo;re jumping up and down impatiently, silently mouthing &amp;amp;ldquo;Papa I want to tell you something!&amp;amp;rdquo; as if I didn&amp;amp;rsquo;t know, as if it&amp;amp;rsquo;s not a daily thing for us. I try to pay attention to my meeting while holding up a finger off-screen asking for patience. It&amp;amp;rsquo;s futile.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;Sometimes, you storm in in tears while I&amp;amp;rsquo;m on a 1-on-1 call with someone I&amp;amp;rsquo;m hoping to hire. That&amp;amp;rsquo;s the triple whammy. My mic is pretty good at cutting out background noise, but it&amp;amp;rsquo;s no match for your high-pitched wail. I briefly wonder if the person on the other end has kids (mentally violating EEOC interviewing guidelines), and whether that makes them more or less likely to judge me. &amp;amp;ldquo;What a family-friendly workplace,&amp;amp;rdquo; I hope they&amp;amp;rsquo;re thinking, and not &amp;amp;ldquo;how do they get anything done?&amp;amp;rdquo;&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;I excuse myself to deliver this line to you. It doesn&amp;amp;rsquo;t help (is anyone surprised?).&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;Then I scoop up your small sweaty body and hug you. I prop you up against me on the chair next to my standing desk. You hold me and sob quietly while I try to continue the interview, hitting the Mute shortcut after every sentence.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;I love you no matter what.&amp;lt;/p&amp;gt;
&amp;lt;h2 id=&amp;#34;how-would-you-feel-if-&amp;#34;&amp;gt;How would you feel if &amp;amp;hellip;&amp;lt;/h2&amp;gt;
&amp;lt;p&amp;gt;You&amp;amp;rsquo;re at once the most grown-up and the most selfish that you&amp;amp;rsquo;ve ever been. If I wrote a list of top things you say to me, &amp;amp;ldquo;I want &amp;amp;hellip;&amp;amp;rdquo; would be at the top.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;It&amp;amp;rsquo;s incredibly frustrating. You are so articulate and sensitive, yet all you think about is what you want. When you were younger, somehow it was more ok. Now that I sometimes spend 30 minutes debating with you about why you should get yourself a cup of water without my help, it&amp;amp;rsquo;s not.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;The other day you knocked your happily-playing brother off the jungle gym. He screamed, his whole face deep red and tear rolling down his cheeks. I couldn&amp;amp;rsquo;t believe eyes could make so much water. But you acted like nothing was wrong.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;I pointed it out and you didn&amp;amp;rsquo;t get it. You couldn&amp;amp;rsquo;t explain in words. But when I asked &amp;amp;ldquo;how would you feel if he pushed you off the bar&amp;amp;rdquo;, you showed me your angry tiger: face scrunched, eyes narrow, fingers curled into claws, and a growl in your throat. Where was that ten seconds ago?&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;Worse, you&amp;amp;rsquo;re teaching him that this is how he should play with you.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;Still, I love you no matter what.&amp;lt;/p&amp;gt;
&amp;lt;h2 id=&amp;#34;go-wash-your-face&amp;#34;&amp;gt;Go wash your face&amp;lt;/h2&amp;gt;
&amp;lt;p&amp;gt;Thinking back on life can make it seem like a collection of highlights: a first date, a graduation, a baby&amp;amp;rsquo;s first steps. But in the moment, its a thousand typical Tuesdays that fade together in memory. So too with parenting. Not every moment with you stands out as special. Sometimes we just have shit to do. Dress, undress, eat, clean up, go here, go there, go to the bathroom, go to sleep.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;You&amp;amp;rsquo;ve mastered most of these, but there are gaps. You don&amp;amp;rsquo;t fall over when you walk &amp;amp;hellip; most of the time. I don&amp;amp;rsquo;t have to remind you to go pee &amp;amp;hellip; except before we go out. And you can even pull the wobbly plastic stepstool up to the cabinet to reach the cheddar bunny snacks from the top shelf &amp;amp;hellip; but you refuse to wash your face after eating them.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;&amp;amp;ldquo;Go wash your face.&amp;amp;rdquo;
&amp;amp;ldquo;I don&amp;amp;rsquo;t want to.&amp;amp;rdquo;
&amp;amp;ldquo;It&amp;amp;rsquo;s dirty.&amp;amp;rdquo;
&amp;amp;ldquo;I don&amp;amp;rsquo;t waaaaant tooooo.&amp;amp;rdquo;&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;&amp;amp;ldquo;What&amp;amp;rsquo;s going on in your mind?,&amp;amp;rdquo; I scream internally. You know facewashing is coming &amp;amp;ndash; we do it after every meal. And you know resisting won&amp;amp;rsquo;t work because it didn&amp;amp;rsquo;t work the last dozen times you tried it. &amp;amp;ldquo;The longer you take, the less time for playing,&amp;amp;rdquo; I say. Why do you still threaten to turn a typical Tuesday into Ruby Ridge?&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;Putting up a fight must meet some need for you. Someday I hope you understand yourself well enough to explain it to me (most people never get there). In the meantime I grit my teeth, let out a long breath, and mentally go through my catalog of options. We don&amp;amp;rsquo;t have all day.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;&amp;amp;ldquo;What book should I read to you after you wash?&amp;amp;rdquo;&amp;lt;/p&amp;gt;
&amp;lt;h2 id=&amp;#34;do-you-understand-is-all-this-working&amp;#34;&amp;gt;Do you understand? Is all this working?&amp;lt;/h2&amp;gt;
&amp;lt;p&amp;gt;I don&amp;amp;rsquo;t say this one out loud because it&amp;amp;rsquo;s not something you can answer. But this is what I really want to know. I know I can&amp;amp;rsquo;t do it for you. I&amp;amp;rsquo;m sure my parents had a list just like this, yet I didn&amp;amp;rsquo;t internalize these things until I was ready (and I&amp;amp;rsquo;m still working on some). All I can do is repeat the important stuff and model our family values and wait and hope you absorb them.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;All these phrases point at my ultimate desire for you: to skillfully co-exist with and thrive among other humans. As my grandma likes to say, &amp;amp;ldquo;I&amp;amp;rsquo;ll love you no matter what, but I also want to respect you.&amp;amp;rdquo;&amp;lt;/p&amp;gt;
</content>
 </entry>
 
 <entry>
   <title>2019 in Podcasts</title>
   <link href="https://grin.io/pod2019/"/>
   <updated>2020-09-01T00:00:00-04:00</updated>
   <id>https://grin.io/pod2019/</id>
   <content type="html">&amp;lt;p&amp;gt;In 2019 I took notes on 38 podcasts, lectures, presentations, and one-of conversations. The distribution of sources approximates &amp;lt;a href=&amp;#34;https://en.wikipedia.org/wiki/Zipf%27s_law&amp;#34;&amp;gt;Zipf’s law&amp;lt;/a&amp;gt;. Half of the episodes came from my two favorite podcasts: 11 from &amp;lt;a href=&amp;#34;https://conversationswithtyler.com/&amp;#34;&amp;gt;Conversations with Tyler&amp;lt;/a&amp;gt; and 8 from &amp;lt;a href=&amp;#34;https://fs.blog/knowledge-project/&amp;#34;&amp;gt;The Knowledge Project&amp;lt;/a&amp;gt;. The rest are the long tail — mostly single episodes from all over the place.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;The conversations spanned a wide range of topics. They look like this:&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;&amp;lt;img src=&amp;#34;/img/2019-podcast-cloud.jpg&amp;#34; alt=&amp;#34;&amp;#34;&amp;gt;&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;Across those topics, four ideas stood out for me.&amp;lt;/p&amp;gt;
&amp;lt;h2 id=&amp;#34;1-greatness-requires-overcoming-hardship&amp;#34;&amp;gt;1. Greatness Requires Overcoming Hardship&amp;lt;/h2&amp;gt;
&amp;lt;p&amp;gt;The strongest theme I noticed is the idea that you have to struggle to succeed. At least six of the episodes talked about it directly, and it came up in many contexts: business, education, even parenting.&amp;lt;/p&amp;gt;
&amp;lt;blockquote&amp;gt;
&amp;lt;p&amp;gt;It’s important to let your children know that learning is supposed to be hard, and to model struggling at something and getting it. Don’t give up if you can’t get it right away.&amp;lt;br&amp;gt;
&amp;lt;em&amp;gt;~ Adam Robinson&amp;lt;/em&amp;gt;&amp;lt;/p&amp;gt;
&amp;lt;/blockquote&amp;gt;
&amp;lt;p&amp;gt;I think about this a lot with my children and my employees (management and parenting are surprisingly similar). I want them to become independent and succeed at hard things. But supporting them when they’re struggling often leads to removing the struggle. I don’t always strike the right balance.&amp;lt;/p&amp;gt;
&amp;lt;blockquote&amp;gt;
&amp;lt;p&amp;gt;The right way to practice is to look at what hurts the most and focus on that.&amp;lt;br&amp;gt;
&amp;lt;em&amp;gt;~ Barbara Oakley&amp;lt;/em&amp;gt;&amp;lt;/p&amp;gt;
&amp;lt;/blockquote&amp;gt;
&amp;lt;p&amp;gt;Caveat: you won’t reach success without overcoming challenges, but doing something hard doesn’t automatically lead to success. Sometimes you’re just banging your head against the wall, and you should stop. It’s important to consider if your struggle will bear fruit, and often it’s hard to know. In Haiti they say “Deye mon, gen mon.” Beyond the mountain, more mountains.&amp;lt;/p&amp;gt;
&amp;lt;h2 id=&amp;#34;2-low-downside-risk--high-expected-value&amp;#34;&amp;gt;2. Low Downside Risk &amp;amp;gt; High Expected Value&amp;lt;/h2&amp;gt;
&amp;lt;p&amp;gt;Expected value is what we think we’ll get from some investment (of money, of time, of energy) if we consider the odds of winning and losing. Downside risk is how much we stand to lose in the worst case. The risks we take are usually proportional to the rewards we expect. But if the downside risk is large, no reward is worth it.&amp;lt;/p&amp;gt;
&amp;lt;blockquote&amp;gt;
&amp;lt;p&amp;gt;The purpose of the margin of safety is to render the forecast unnecessary.&amp;lt;br&amp;gt;
&amp;lt;em&amp;gt;~ Morgan Housel, quoting Ben Graham&amp;lt;/em&amp;gt;&amp;lt;/p&amp;gt;
&amp;lt;/blockquote&amp;gt;
&amp;lt;p&amp;gt;Several podcasts mentioned this as a core idea that people undervalue. Morgan Housel pointed to it as the best investing advice he has. Nassim Taleb wrote &amp;lt;a href=&amp;#34;https://www.goodreads.com/book/show/242472.The_Black_Swan&amp;#34;&amp;gt;a whole book&amp;lt;/a&amp;gt; about it. Your expected value calculation never includes the possibility that your expected value calculation is wrong. And since you might be wrong, pay more attention to how badly things could go if you’re wrong.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;&amp;lt;img src=&amp;#34;/img/2019-podcast-turkey.jpg&amp;#34; alt=&amp;#34;&amp;#34;&amp;gt;&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;The world looks different when you keep this in mind. A lot of decisions became easier. You don’t have to optimize every choice. Instead, focus on doing the basics right and avoiding the big pitfalls that you cannot recover from.&amp;lt;/p&amp;gt;
&amp;lt;blockquote&amp;gt;
&amp;lt;p&amp;gt;You don&amp;amp;rsquo;t have to be great. Just don&amp;amp;rsquo;t screw up when it matters most.&amp;lt;br&amp;gt;
&amp;lt;em&amp;gt;~ Morgan Housel&amp;lt;/em&amp;gt;&amp;lt;/p&amp;gt;
&amp;lt;/blockquote&amp;gt;
&amp;lt;h2 id=&amp;#34;3-raise-others-ambition&amp;#34;&amp;gt;3. Raise Others’ Ambition&amp;lt;/h2&amp;gt;
&amp;lt;p&amp;gt;Building off the above two ideas, one of the best things you can do to improve the world is help other people become more ambitious.&amp;lt;/p&amp;gt;
&amp;lt;blockquote&amp;gt;
&amp;lt;p&amp;gt;Helping someone raise their ambition is very high-leverage for society. It costs little but is super beneficial. Surrounding yourself with people who see tremendous potential in you is huge.&amp;lt;br&amp;gt;
&amp;lt;em&amp;gt;~ Mason Hartman&amp;lt;/em&amp;gt;&amp;lt;/p&amp;gt;
&amp;lt;/blockquote&amp;gt;
&amp;lt;p&amp;gt;I once picked up with a team of college kids at a frisbee tournament. At the time I played for one of the best teams in the US, while they were just starting out in their careers. One in particular stood out for how well he played given his inexperience. We were low on players to begin with, faced several injuries, and finished last in the tournament. Morale was low.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;After games ended, I took the guy I noticed aside and told him about the potential I saw in him. It may have meant a lot to him, and even if it meant nothing, it didn’t cost me anything. It was pure upside. I hope he went on to become a great player.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;It would be wonderful if no one needed external validation. But we’re social animals. When we compare ourselves to the people we look up to, it’s easy to feel like we couldn’t do what they did. So look for ways to raise the aspirations of the people around you, and get close to the people who do the same for you.&amp;lt;/p&amp;gt;
&amp;lt;blockquote&amp;gt;
&amp;lt;p&amp;gt;A lot of catalyzing moments that create enduring curiosity begin with a small positive feedback from someone you admire.&amp;lt;br&amp;gt;
&amp;lt;em&amp;gt;~ Daniel Gross&amp;lt;/em&amp;gt;&amp;lt;/p&amp;gt;
&amp;lt;/blockquote&amp;gt;
&amp;lt;h2 id=&amp;#34;4-life-lessons-from-fiction&amp;#34;&amp;gt;4. Life Lessons From Fiction&amp;lt;/h2&amp;gt;
&amp;lt;p&amp;gt;This one made the list because it’s very specific, yet it came up in two completely separate podcasts. Even more coincidence: both segments featured Harry Potter. In the first one, Jodan Peterson gave the “lessons for life“ he saw in modern-day epics:&amp;lt;/p&amp;gt;
&amp;lt;blockquote&amp;gt;
&amp;lt;p&amp;gt;Tolkien: go and confront your dragons.&amp;lt;br&amp;gt;
Harry Potter: voluntary death and rebirth redeems.&amp;lt;br&amp;gt;
&amp;lt;em&amp;gt;~ Jordan Peterson&amp;lt;/em&amp;gt;&amp;lt;/p&amp;gt;
&amp;lt;/blockquote&amp;gt;
&amp;lt;p&amp;gt;The second piece was Daniel Gross talking about mental models he discovered in fiction that apply to real life. In both Ender’s Game and Harry Potter, it’s the children who were in charge (something I never noticed despite reading most of both series). They saw what the grownups missed. Our world, on the other hand, is mostly run by people older than us. What are they (and we) missing that the kids see?&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;Also in Harry Potter, the four houses are an example of the strength of tribal bonds based on arbitrary division. Yes, the sorting hat is magical and claims to put you in the right house for you. But who’s checking the hat’s work? To Gross, it’s the Hogwarts version of &amp;lt;a href=&amp;#34;https://en.wikipedia.org/wiki/Realistic_conflict_theory#Robbers_cave_study&amp;#34;&amp;gt;Robbers Cave&amp;lt;/a&amp;gt;, a famous experiment from the 50s where campers were split into two teams and quickly developed a strong in-group/out-group mentality. Our identity shapes us more than we expect, even if we didn’t choose that identity. So be mindful of how you label yourself.&amp;lt;/p&amp;gt;
&amp;lt;h2 id=&amp;#34;overall-reflection&amp;#34;&amp;gt;Overall Reflection&amp;lt;/h2&amp;gt;
&amp;lt;p&amp;gt;On the whole, I’m surprised how much I enjoyed writing this. I’ve been taking notes on things I read and listen to. I was a bit nervous about trying to pull out some grand themes from my mess of notes. Reviewing and consolidating them now showed me how much more I could be getting out them.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;Thank you, readers, for raising my ambitions :-)&amp;lt;/p&amp;gt;
</content>
 </entry>
 
 <entry>
   <title>More Corey Thomas On Culture</title>
   <link href="https://grin.io/more-corey-thomas-on-culture/"/>
   <updated>2020-08-27T00:00:00-04:00</updated>
   <id>https://grin.io/more-corey-thomas-on-culture/</id>
   <content type="html">&amp;lt;p&amp;gt;A while back I wrote about &amp;lt;a href=&amp;#34;/corey-thomas-on-culture&amp;#34;&amp;gt;Corey Thomas&amp;amp;rsquo;s take on company culture&amp;lt;/a&amp;gt;. Here are some more notes on culture from his
lunch talk today.&amp;lt;/p&amp;gt;
&amp;lt;h2 id=&amp;#34;figure-out-whats-important-to-you&amp;#34;&amp;gt;Figure out what&amp;amp;rsquo;s important to you&amp;lt;/h2&amp;gt;
&amp;lt;ul&amp;gt;
&amp;lt;li&amp;gt;take the time to clarify your company&amp;amp;rsquo;s vision: what you want to achieve and why is it important?&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;define your culture. &amp;lt;strong&amp;gt;what are the default shared attitudes/behaviors/beliefs (about what makes your company successful) that people at your company exhibit?&amp;lt;/strong&amp;gt;&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;focus on the extremes. what behaviors are critical to your success as a company, and what behaviors are a fireable offense?&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;these key behaviors will be the focus of your culture enforcement and your hiring decisions&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;be forgiving of negative behaviors that are not dealbreakers. point them out as micro-feedback when you see them and invite the transgressor to improve&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;practice noticing deep emotions throughout your day. stop and ask yourself &amp;amp;ldquo;why am I feeling this right now?&amp;amp;rdquo; the answers will help clarify your dealbreakers&amp;lt;/li&amp;gt;
&amp;lt;/ul&amp;gt;
&amp;lt;h2 id=&amp;#34;do-your-hiring-homework&amp;#34;&amp;gt;Do your hiring homework&amp;lt;/h2&amp;gt;
&amp;lt;ul&amp;gt;
&amp;lt;li&amp;gt;we&amp;amp;rsquo;re young entrepreneurs. people are eager to help if we ask&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;start your hiring process by talking to people who have built or done what you&amp;amp;rsquo;re trying to do &amp;lt;strong&amp;gt;at the stage of growth where you are or want to be soon&amp;lt;/strong&amp;gt;. don&amp;amp;rsquo;t talk to people at 1000-person companies unless they were there when it was 10 people.&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;get their story. what was the job like? what was the journey like? what from their background helped them succeed? how do they think about what success meant at that time? you&amp;amp;rsquo;re trying to define success for your role.&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;ask yourself how much you care if people in this role believe in the mission? there are many right answers. you have to be self-aware about your own answer so you can hire people who match what you want&amp;lt;/li&amp;gt;
&amp;lt;/ul&amp;gt;
&amp;lt;h2 id=&amp;#34;the-interview&amp;#34;&amp;gt;The interview&amp;lt;/h2&amp;gt;
&amp;lt;ul&amp;gt;
&amp;lt;li&amp;gt;&amp;lt;strong&amp;gt;focus on the key behaviors under stress&amp;lt;/strong&amp;gt;. push the candidate a little to see how they respond under pressure.&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;make sure you let the candidates know what your dealbreakers are. you don&amp;amp;rsquo;t want to hire someone who&amp;amp;rsquo;s gonna set you off all the time&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;you want someone who&amp;amp;rsquo;s attracted to what you value and disinclined to do what you dislike. try to understand their tendencies regarding your values and dealbreakers&amp;lt;/li&amp;gt;
&amp;lt;/ul&amp;gt;
&amp;lt;h2 id=&amp;#34;remote-work-advice&amp;#34;&amp;gt;Remote work advice&amp;lt;/h2&amp;gt;
&amp;lt;ul&amp;gt;
&amp;lt;li&amp;gt;you can&amp;amp;rsquo;t build a great company without getting to know people on a personal level - what drives them, what pisses them off. &amp;lt;strong&amp;gt;set aside unstructured time with everyone you work with&amp;lt;/strong&amp;gt;&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;give each new hire several hours of unstructured time with people across the company&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;when things are remote, it&amp;amp;rsquo;s easy for everything to become transactional&amp;lt;/li&amp;gt;
&amp;lt;/ul&amp;gt;
&amp;lt;h2 id=&amp;#34;coreys-one-weird-hiring-trick&amp;#34;&amp;gt;Corey&amp;amp;rsquo;s one weird hiring trick&amp;lt;/h2&amp;gt;
&amp;lt;ul&amp;gt;
&amp;lt;li&amp;gt;Find people who are excellent at their function and hungry for senior leadership experience they haven&amp;amp;rsquo;t been given before. Corey calls it &amp;amp;ldquo;promotional hiring&amp;amp;rdquo; - give them a chance at that senior role. be up front with them about the opportunity: &amp;amp;ldquo;I&amp;amp;rsquo;m giving you a chance. If it doesn&amp;amp;rsquo;t work out, I&amp;amp;rsquo;ll demote or fire you.&amp;amp;rdquo;&amp;lt;/li&amp;gt;
&amp;lt;/ul&amp;gt;
</content>
 </entry>
 
 <entry>
   <title>Keep It Simple</title>
   <link href="https://grin.io/keep-it-simple/"/>
   <updated>2020-07-19T00:00:00-04:00</updated>
   <id>https://grin.io/keep-it-simple/</id>
   <content type="html">&amp;lt;p&amp;gt;Simplicity is my most important software design principle. But &amp;amp;ldquo;keep it simple&amp;amp;rdquo; is easier said than done. In fact it’s said all the time, so we must not be doing it enough.&amp;lt;/p&amp;gt;
&amp;lt;h2 id=&amp;#34;what-is-simple&amp;#34;&amp;gt;What Is Simple?&amp;lt;/h2&amp;gt;
&amp;lt;p&amp;gt;Rich Hickey gave the &amp;lt;a href=&amp;#34;https://github.com/matthiasn/talk-transcripts/blob/master/Hickey_Rich/SimpleMadeEasy.md&amp;#34;&amp;gt;definitive talk&amp;lt;/a&amp;gt; (&amp;lt;a href=&amp;#34;/archive/github.com~matthiasn~talk-transcripts~blob~master~Hickey_Rich~SimpleMadeEasy.md.html&amp;#34;&amp;gt;a&amp;lt;/a&amp;gt;) on the words &amp;lt;em&amp;gt;simple&amp;lt;/em&amp;gt; and &amp;lt;em&amp;gt;complex&amp;lt;/em&amp;gt;. Complex means &amp;amp;ldquo;intertwined&amp;amp;rdquo; or &amp;amp;ldquo;braided together&amp;amp;rdquo;, like threads tangled into a ball. Simple is the opposite - those threads laid neatly alongside each other.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;Complexity is the enemy because it prevents us from understanding what our program does.&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;Hickey says:&amp;lt;/p&amp;gt;
&amp;lt;blockquote&amp;gt;
&amp;lt;p&amp;gt;Every time I pull out a new part of the software that I need to comprehend, and it&amp;amp;rsquo;s attached to another thing, I have to pull that other thing into my mind because I can&amp;amp;rsquo;t think about the one without the other.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;That&amp;amp;rsquo;s the nature of them being intertwined. So every intertwining is adding this burden, and the burden is combinatorial as to the number of things that we can consider.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;Fundamentally, this complexity (and by complexity I mean this braiding together of things) is going to limit our ability to understand our systems.&amp;lt;/p&amp;gt;
&amp;lt;/blockquote&amp;gt;
&amp;lt;p&amp;gt;&amp;lt;a href=&amp;#34;https://en.wikipedia.org/wiki/Chunking_(psychology)#Channel_capacity,%22Magic_number_seven,%22_Increase_of_short-term_memory&amp;#34;&amp;gt;We can pay attention to only a handful of things at once&amp;lt;/a&amp;gt;. Too many interconnections between components, and we literally cannot follow what our system is doing.&amp;lt;/p&amp;gt;
&amp;lt;h2 id=&amp;#34;why-simplify&amp;#34;&amp;gt;Why Simplify?&amp;lt;/h2&amp;gt;
&amp;lt;p&amp;gt;In 2017, I shared &amp;lt;a href=&amp;#34;https://grin.io/coding-maxims&amp;#34;&amp;gt;a few programming aphorisms&amp;lt;/a&amp;gt; with my company. Looking back, half of them are variations on Hickey&amp;amp;rsquo;s vision of simplicity:&amp;lt;/p&amp;gt;
&amp;lt;blockquote&amp;gt;
&amp;lt;ol&amp;gt;
&amp;lt;li&amp;gt;Code is debt&amp;lt;/li&amp;gt;
&amp;lt;/ol&amp;gt;
&amp;lt;/blockquote&amp;gt;
&amp;lt;p&amp;gt;Any code you write increases the complexity of your system. You should constantly ask yourself &amp;amp;ldquo;is this code worth making my system somewhat harder to understand?&amp;amp;rdquo;&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;This is especially relevant for complex features. Salvatore Sanfilippo, the creator of Redis, &amp;lt;a href=&amp;#34;http://antirez.com/news/112&amp;#34;&amp;gt;writes&amp;lt;/a&amp;gt;
(&amp;lt;a href=&amp;#34;/archive/antirez.com~news~112.html&amp;#34;&amp;gt;a&amp;lt;/a&amp;gt;):&amp;lt;/p&amp;gt;
&amp;lt;blockquote&amp;gt;
&amp;lt;p&amp;gt;Often complexity is generated when there is no willingness to recognize that a non-fundamental goal of a project is accounting for a very large amount of design complexity, or is making another more important goal very hard to reach, because there is a design tension among a fundamental feature and a non-fundamental one.&amp;lt;/p&amp;gt;
&amp;lt;/blockquote&amp;gt;
&amp;lt;p&amp;gt;The &amp;lt;a href=&amp;#34;https://en.wikipedia.org/wiki/Pareto_principle&amp;#34;&amp;gt;80/20 rule&amp;lt;/a&amp;gt; reminds us that most complexity comes from just a few features. Find the worst offenders and cut them out.&amp;lt;/p&amp;gt;
&amp;lt;blockquote&amp;gt;
&amp;lt;ol start=&amp;#34;3&amp;#34;&amp;gt;
&amp;lt;li&amp;gt;Gall&amp;amp;rsquo;s law&amp;lt;/li&amp;gt;
&amp;lt;/ol&amp;gt;
&amp;lt;/blockquote&amp;gt;
&amp;lt;p&amp;gt;“A complex system that works is invariably found to have evolved from a simple system that worked”. If you end up with a complex system and it’s not working, beware! You may not be able to fix it because you can’t load it all into your brain anymore.&amp;lt;/p&amp;gt;
&amp;lt;blockquote&amp;gt;
&amp;lt;ol start=&amp;#34;5&amp;#34;&amp;gt;
&amp;lt;li&amp;gt;Be predictable. No magic.&amp;lt;/li&amp;gt;
&amp;lt;/ol&amp;gt;
&amp;lt;/blockquote&amp;gt;
&amp;lt;p&amp;gt;I use &amp;lt;em&amp;gt;magic&amp;lt;/em&amp;gt; to mean a hidden effect that makes your code look nice or “just work” (e.g. operator overloading). It’s the worst kind of complexity because the underlying behavior is not obvious.&amp;lt;/p&amp;gt;
&amp;lt;blockquote&amp;gt;
&amp;lt;ol start=&amp;#34;7&amp;#34;&amp;gt;
&amp;lt;li&amp;gt;A good repro is 90% of a bugfix.&amp;lt;/li&amp;gt;
&amp;lt;/ol&amp;gt;
&amp;lt;/blockquote&amp;gt;
&amp;lt;p&amp;gt;If you&amp;amp;rsquo;ve cleanly reproduced the bug, then you really understand how it happens. This is why if you&amp;amp;rsquo;re having trouble reproducing it, the best way to go is to remove absolutely everything that&amp;amp;rsquo;s not related.&amp;lt;/p&amp;gt;
&amp;lt;blockquote&amp;gt;
&amp;lt;ol start=&amp;#34;8&amp;#34;&amp;gt;
&amp;lt;li&amp;gt;Code is written once, but read many times.&amp;lt;/li&amp;gt;
&amp;lt;/ol&amp;gt;
&amp;lt;/blockquote&amp;gt;
&amp;lt;p&amp;gt;You pay the price of complex code every time you come back to read it. Be mindful of the costs you impose on your future self and on other developers.&amp;lt;/p&amp;gt;
&amp;lt;blockquote&amp;gt;
&amp;lt;ol start=&amp;#34;10&amp;#34;&amp;gt;
&amp;lt;li&amp;gt;First code, then ship, then measure, &amp;lt;em&amp;gt;then&amp;lt;/em&amp;gt; optimize.&amp;lt;/li&amp;gt;
&amp;lt;/ol&amp;gt;
&amp;lt;/blockquote&amp;gt;
&amp;lt;p&amp;gt;This one&amp;amp;rsquo;s about the danger of premature optimization. Optimization adds complexity and you don&amp;amp;rsquo;t want to add it before you need it.&amp;lt;/p&amp;gt;
&amp;lt;h2 id=&amp;#34;learning-to-keep-it-simple&amp;#34;&amp;gt;Learning To Keep It Simple&amp;lt;/h2&amp;gt;
&amp;lt;p&amp;gt;Rich Hickey&amp;amp;rsquo;s talk is the first step to grokking &amp;lt;em&amp;gt;simple&amp;lt;/em&amp;gt;. Read or listen to it and take notes.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;When you feel stuck in your programming, step back a moment and notice the ways your code is entangled with other parts of the system. Imagine an engineer who is familiar with your tools but not your code. Ask yourself if they could understand the component you’re working on in isolation. What else would they need to know?&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;Ultimately, &amp;lt;strong&amp;gt;the best way to internalize simpicity is to work on one large project for a long time.&amp;lt;/strong&amp;gt; Several years, at least. That’s how the best programmers &amp;lt;a href=&amp;#34;http://www.paulgraham.com/taste.html&amp;#34;&amp;gt;develop a taste&amp;lt;/a&amp;gt; (&amp;lt;a href=&amp;#34;/archive/www.paulgraham.com~taste.html.html&amp;#34;&amp;gt;a&amp;lt;/a&amp;gt;) for simplicity. You’ll have the opportunity to make mistakes, see the effects of those mistakes, rewrite the system a few times, and experience the satisfaction of keeping it simple.&amp;lt;/p&amp;gt;
</content>
 </entry>
 
 <entry>
   <title>Working From Home</title>
   <link href="https://grin.io/working-from-home/"/>
   <updated>2020-07-07T00:00:00-04:00</updated>
   <id>https://grin.io/working-from-home/</id>
   <content type="html">&amp;lt;p&amp;gt;The last few months have turned just about everyone into a work-from-homer. For many, it&amp;amp;rsquo;s new, exciting, and probably somewhat stressful. For me, it&amp;amp;rsquo;s been my life for over a decade. Ever since I left my job as a Navy scientist to live in startup land, I&amp;amp;rsquo;ve been dealing with the ups and downs of working at home.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;It took me several years to figure out the right way to be sane and productive from home. The details of my approach changed, but the broad strokes remain the same: a strict separation between &amp;amp;ldquo;work&amp;amp;rdquo; and &amp;amp;ldquo;home&amp;amp;rdquo;, discipline, and regularly reviewing your processes to make sure they&amp;amp;rsquo;re still working for you.&amp;lt;/p&amp;gt;
&amp;lt;h2 id=&amp;#34;stage-1-the-honeymoon&amp;#34;&amp;gt;Stage 1: The Honeymoon&amp;lt;/h2&amp;gt;
&amp;lt;p&amp;gt;The first pitfall of working from home is that you end up half-working and half-home.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;&amp;lt;img src=&amp;#34;/img/ron-swanson-life-advice.jpg&amp;#34; alt=&amp;#34;this meme smells like steak&amp;#34;&amp;gt;&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;Once you get through the first week or two of &amp;amp;ldquo;how does this work&amp;amp;rdquo;, WFH is awesome. There&amp;amp;rsquo;s no time wasted commuting so you can sleep in. You&amp;amp;rsquo;re in the comfort of your living room (or bedroom, or front porch, wherever!). You&amp;amp;rsquo;re free and in charge and it&amp;amp;rsquo;s awesome.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;At least that&amp;amp;rsquo;s how it can feel, especially if you&amp;amp;rsquo;re on &amp;lt;a href=&amp;#34;http://www.paulgraham.com/makersschedule.html&amp;#34;&amp;gt;a manager&amp;amp;rsquo;s schedule&amp;lt;/a&amp;gt;. For a writer, software engineer, or anyone who needs large chunks of uninterrupted time, you&amp;amp;rsquo;ll find that the temptations of home life will destroy those precious chunks if you let them.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;That&amp;amp;rsquo;s exactly what happened to me. If I stayed out late with friends the night before, I&amp;amp;rsquo;d do a short day. If the weather was nice, I&amp;amp;rsquo;d go outside for a quick workout or some frisbee. &amp;amp;ldquo;What&amp;amp;rsquo;s so bad about that?&amp;amp;rdquo; you might ask. It&amp;amp;rsquo;s not bad, as long as you do it mindfully and it&amp;amp;rsquo;s part of your plan. If you do it too often, however, it starts to chip away at the time you&amp;amp;rsquo;d like to spend working.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;The solution I landed on was to have a &amp;amp;ldquo;going to work&amp;amp;rdquo; routine that involves actually leaving your house. If I wanted to start work at 9, I&amp;amp;rsquo;d walk out the door at 8:55 and walk clockwise around the block. As I walked, I&amp;amp;rsquo;d mentally go over what I wanted to get done that day and what I&amp;amp;rsquo;d start with. By the time I got back to my front door, I&amp;amp;rsquo;d be ready to sit down and crank out code. And by having a fixed start time and routine, it was harder to &amp;amp;ldquo;just five more minutes&amp;amp;rdquo; myself into wasting time till noon.&amp;lt;/p&amp;gt;
&amp;lt;h2 id=&amp;#34;stage-2-overdoing-it&amp;#34;&amp;gt;Stage 2: Overdoing It&amp;lt;/h2&amp;gt;
&amp;lt;p&amp;gt;As I got better and better at focusing on work, I started to see work as the default way of being. In our always-on world, it&amp;amp;rsquo;s very easy to squeeze in little bits of work here and there. A quick Slack checkin before rolling out of bed, a burst of emails during breakfast, a bit of writing after dinner, and suddenly your work is taking over your whole day. I lived in this mode for years.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;You can tell you&amp;amp;rsquo;re stuck here if you go to bed at night frustrated by how much time you spent &amp;amp;ldquo;working&amp;amp;rdquo; and how little you actually accomplished.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;Instead, I recommend a mirror of the &amp;amp;ldquo;go to work&amp;amp;rdquo; routine - a &amp;amp;ldquo;leave work&amp;amp;rdquo; routine. First, grab some paper and write down everything that&amp;amp;rsquo;s on your mind related to work. Getting it written down and knowing that it&amp;amp;rsquo;ll be handled will keep you from ruminating on it. When you come back to work tomorrow, your note will be the first thing you&amp;amp;rsquo;ll see and you&amp;amp;rsquo;ll pick up right where you left off.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;&amp;lt;img src=&amp;#34;/img/eod-note.jpg&amp;#34; alt=&amp;#34;my end-of-day note&amp;#34;&amp;gt;
&amp;lt;em&amp;gt;I like to use Post-Its. They keep me brief and focused.&amp;lt;/em&amp;gt;&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;Now leave the house and walk counter-clockwise back home. Once you&amp;amp;rsquo;re back, forbid yourself from doing even a little bit of work. Stay off Slack, hide your work email, and relax.&amp;lt;/p&amp;gt;
&amp;lt;h2 id=&amp;#34;stage-3-the-middle-path&amp;#34;&amp;gt;Stage 3: The Middle Path&amp;lt;/h2&amp;gt;
&amp;lt;p&amp;gt;Ironically, limiting my work time forced me to prioritize better. Now that I only had so many hours of work in a day, doing everything was no longer possible (honestly it was never possible, but now I was aware of that). So I had to eke as much out of each hour as I could. Once again, simple limits are the answer.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;Set aside a work-only zone, a place where you physically go that you only use for work. Ideally this would be a room that&amp;amp;rsquo;s comfortable, distraction-free, and not used for anything else. But it doesn&amp;amp;rsquo;t have to be. It could be a particular chair and a pair of headphones, or even a spot in the park under at tree. What&amp;amp;rsquo;s crucial is that once you&amp;amp;rsquo;re there, you&amp;amp;rsquo;re &amp;amp;ldquo;at work&amp;amp;rdquo;. No shopping online for groceries, no reading for fun. Tell everyone in your life that when you&amp;amp;rsquo;re here, you&amp;amp;rsquo;re working.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;Finally, spend some time each week reviewing your process. What I outlined is just the starting point. Take some time to think about what&amp;amp;rsquo;s working for you and what isn&amp;amp;rsquo;t. There are no absolutes, and my process won&amp;amp;rsquo;t solve all your problems. Only you can do that.&amp;lt;/p&amp;gt;
&amp;lt;blockquote&amp;gt;
&amp;lt;p&amp;gt;Research your own experience. Absorb what is useful, reject what is useless, add what is essentially your own. - Bruce Lee&amp;lt;/p&amp;gt;
&amp;lt;/blockquote&amp;gt;
&amp;lt;p&amp;gt;Just like twitter, working from home can be a huge plus, but only if you make a conscious effort. Don&amp;amp;rsquo;t just wing it. Make an effort to set up good habits for yourself. You&amp;amp;rsquo;ll thank me later.&amp;lt;/p&amp;gt;
</content>
 </entry>
 
 <entry>
   <title>Mistakes</title>
   <link href="https://grin.io/mistakes/"/>
   <updated>2019-11-01T00:00:00-04:00</updated>
   <id>https://grin.io/mistakes/</id>
   <content type="html">&amp;lt;p&amp;gt;Everyone makes mistakes. I&amp;amp;rsquo;ve made a lot, and I&amp;amp;rsquo;m gonna make more. If you&amp;amp;rsquo;re not making mistakes, you&amp;amp;rsquo;re not learning fast enough. Here&amp;amp;rsquo;s
what to do after a mistake.&amp;lt;/p&amp;gt;
&amp;lt;h2 id=&amp;#34;own-it&amp;#34;&amp;gt;Own It&amp;lt;/h2&amp;gt;
&amp;lt;p&amp;gt;You made a mistake. It happened. It&amp;amp;rsquo;s ok.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;Owning your mistake gives you agency and power.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;Admitting it publicly makes you more accountable, and more human. It increases psych safety. You lead by example. Your identity is not
tied up in being perfect.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;Do you want to live in a world where everyone is comfortable talking about their mistakes, or no one is?&amp;lt;/p&amp;gt;
&amp;lt;h2 id=&amp;#34;fix-it&amp;#34;&amp;gt;Fix It&amp;lt;/h2&amp;gt;
&amp;lt;p&amp;gt;You are responsible for fixing your mistake.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;You don&amp;amp;rsquo;t have to do it alone. Seek help if you need it. From your friends, from the person you wronged, from others, from the public.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;Be creative. A &amp;amp;ldquo;fix&amp;amp;rdquo; does not have to be a return to a past state of the world. Sometimes you can&amp;amp;rsquo;t go back. And sometimes you can make
things even better than they were.&amp;lt;/p&amp;gt;
&amp;lt;h2 id=&amp;#34;learn-from-it&amp;#34;&amp;gt;Learn From It&amp;lt;/h2&amp;gt;
&amp;lt;p&amp;gt;Don&amp;amp;rsquo;t repeat your mistakes. A mistake is a gift, a signal, an opportunity to improve. You already paid the price. Don&amp;amp;rsquo;t waste the
opportunity.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;&amp;lt;img src=&amp;#34;/img/learning_experience.png&amp;#34; alt=&amp;#34;&amp;#34;&amp;gt;&amp;lt;/p&amp;gt;
&amp;lt;h2 id=&amp;#34;move-on&amp;#34;&amp;gt;Move On&amp;lt;/h2&amp;gt;
&amp;lt;p&amp;gt;No need to dwell on your errors.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;Mistakes are not catastrophic. They don&amp;amp;rsquo;t last forever. They don&amp;amp;rsquo;t make you worthless or evil.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;You owned your mistake, you fixed it, and you learned from it. You&amp;amp;rsquo;re done. Move on. Apply what you learned. Live your life.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;h/t &amp;lt;a href=&amp;#34;https://www.goodreads.com/book/show/1129366.Kids_Are_Worth_It_&amp;#34;&amp;gt;Barbara Coloroso&amp;lt;/a&amp;gt;&amp;lt;/p&amp;gt;
</content>
 </entry>
 
 <entry>
   <title>Simple Summaries</title>
   <link href="https://grin.io/simple-summaries/"/>
   <updated>2019-09-17T00:00:00-04:00</updated>
   <id>https://grin.io/simple-summaries/</id>
   <content type="html">&amp;lt;p&amp;gt;I&amp;amp;rsquo;m trying to implement a new habit. When I read something, I will write a summary (at least one sentence) of it. This is inspired
by &amp;lt;a href=&amp;#34;https://fs.blog/2016/09/what-are-you-doing-about-it/&amp;#34;&amp;gt;these&amp;lt;/a&amp;gt; &amp;lt;a href=&amp;#34;https://fs.blog/2016/10/goal-gradient-hypothesis/&amp;#34;&amp;gt;two&amp;lt;/a&amp;gt; (&amp;lt;a href=&amp;#34;/archive/fs.blog~2016~09~what-are-you-doing-about-it.html&amp;#34;&amp;gt;a&amp;lt;/a&amp;gt;) (&amp;lt;a href=&amp;#34;/archive/fs.blog~2016~10~goal-gradient-hypothesis.html&amp;#34;&amp;gt;a&amp;lt;/a&amp;gt;) posts on Farnam
Street.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;To kick it off, here&amp;amp;rsquo;s my summary of the first post:&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;It&amp;amp;rsquo;s not enough to read something and go &amp;amp;ldquo;oh that makes sense&amp;amp;rdquo;. To get the full benefit you have to do two more things: deeply understand
what you read, and apply it to your life.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;To do the former, quiz yourself. See if you can summarize what you read, or try to explain it simply to a reasonably smart person who is
unfamiliar with the topic.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;For the latter, make a rule for your life that incorporates your new insight (ideally in the form of &amp;amp;ldquo;when X, I will Y&amp;amp;rdquo;).&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;If you fail to do these things, you are not learning. You are wasting time.&amp;lt;/p&amp;gt;
</content>
 </entry>
 
 <entry>
   <title>A Better Model Of Communication</title>
   <link href="https://grin.io/comms-model/"/>
   <updated>2019-08-15T00:00:00-04:00</updated>
   <id>https://grin.io/comms-model/</id>
   <content type="html">&amp;lt;p&amp;gt;&amp;lt;em&amp;gt;Status: work in progress&amp;lt;/em&amp;gt;&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;The goal of communication is to change the recipient&amp;amp;rsquo;s internal state. That could mean giving them information, motivating them to do
something, triggering their emotions, etc.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;To improve at this goal, we need a model of how communcation works and a way to tell if we&amp;amp;rsquo;re doing it right.&amp;lt;/p&amp;gt;
&amp;lt;h2 id=&amp;#34;a-naive-model&amp;#34;&amp;gt;A Naive Model&amp;lt;/h2&amp;gt;
&amp;lt;p&amp;gt;Our instinct is that communication works like this:&amp;lt;/p&amp;gt;
&amp;lt;pre tabindex=&amp;#34;0&amp;#34;&amp;gt;&amp;lt;code&amp;gt;1. the words you say/type
        |
        |
        ▼
2. their internal state
&amp;lt;/code&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;p&amp;gt;This is the naive model. It exists because it&amp;amp;rsquo;s how we experience communication when we&amp;amp;rsquo;re the recipient. We hear something, and it
affects us. We don&amp;amp;rsquo;t know what they intended, only what we got.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;That&amp;amp;rsquo;s also the model when we talk to ourselves. We know what we intended, so we get it exactly.&amp;lt;/p&amp;gt;
&amp;lt;h2 id=&amp;#34;a-better-model&amp;#34;&amp;gt;A Better Model&amp;lt;/h2&amp;gt;
&amp;lt;p&amp;gt;If you&amp;amp;rsquo;re serious about improving your communication, you have to adopt a more nuanced model. When you talk to other people, it&amp;amp;rsquo;s closer to this:&amp;lt;/p&amp;gt;
&amp;lt;pre tabindex=&amp;#34;0&amp;#34;&amp;gt;&amp;lt;code&amp;gt;1. your internal state
        ▼
  [[ black box 1 ]]
        ▼
2. your actions (the message you send)
   - content: the words you say/type
   - manner: tone of voice, body language, etc
   - context: location, relationship, what&amp;amp;#39;s happened recently, etc
        ▼
  [[ black box 2 ]]
        ▼
3. their perceptions (the message they receive)
        ▼
  [[ black box 3 ]]
        ▼
4. their internal state
&amp;lt;/code&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;p&amp;gt;First, notice the extra steps. Each side (sender and recipient) has two steps instead of one. One step is mental, the other is
physical. Turning your thoughts into words is a step in itself, and vice versa on the receiving side. Noticing the difference
will help you find sources of error.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;Next, look at those black boxes. They are filters that transform your message. You don&amp;amp;rsquo;t really know what&amp;amp;rsquo;s inside them or how they work.
They don&amp;amp;rsquo;t work exactly the same way every time. The best you can do is put something in and see what comes out the other side. Box 1
is the easiest to reverse-engineer because it&amp;amp;rsquo;s all yours. The second box is shared between you and the recipient. You don&amp;amp;rsquo;t have full
control and it&amp;amp;rsquo;s harder to tell what the output is. Box 3 is the hardest. Each person has their own and neither the inputs nor the outputs
are visible to you (though you can get some clues from their behavior).&amp;lt;/p&amp;gt;
&amp;lt;h2 id=&amp;#34;now-what&amp;#34;&amp;gt;Now What&amp;lt;/h2&amp;gt;
&amp;lt;p&amp;gt;Using this model, we can define the hard problem of communication: &amp;lt;strong&amp;gt;How do you create the desired state at step 4?&amp;lt;/strong&amp;gt;. It also offers a
process: learn how the black boxes work.&amp;lt;/p&amp;gt;
</content>
 </entry>
 
 <entry>
   <title>Notes on Lessons of History</title>
   <link href="https://grin.io/lessons-of-history/"/>
   <updated>2019-08-09T00:00:00-04:00</updated>
   <id>https://grin.io/lessons-of-history/</id>
   <content type="html">&amp;lt;p&amp;gt;Will and Ariel Durant spent four decades of their life writing an 11-volume history of humanity, from the beginning of civilization (3500 BC) to the time of Napoleon (mid-1800s). Then they condensed what they learned into an 100ish-page book called &amp;lt;a href=&amp;#34;https://www.goodreads.com/book/show/174713.The_Lessons_of_History&amp;#34;&amp;gt;The Lessons of History&amp;lt;/a&amp;gt;, which provides an overview of the themes and lessons they observed in their work. Will Durant said they &amp;amp;ldquo;made note of events and comments that might illuminate present affairs, future probabilities, the nature of man, and the conduct of states.&amp;amp;rdquo; Here are my highlights:&amp;lt;/p&amp;gt;
&amp;lt;h3 id=&amp;#34;history-and-the-earth&amp;#34;&amp;gt;History and the Earth&amp;lt;/h3&amp;gt;
&amp;lt;p&amp;gt;History is subject to geology.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;Geography is the matrix of history, its nourishing mother and disciplining home.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;Man, not the earth, makes civilization.&amp;lt;/p&amp;gt;
&amp;lt;h3 id=&amp;#34;biology-and-history&amp;#34;&amp;gt;Biology and History&amp;lt;/h3&amp;gt;
&amp;lt;p&amp;gt;The laws of biology are the fundamental lessons of history. We are subject to the processes and trials of evolution, to the struggle for existence and the survival of the fittest to survive. If some of us seem to escape the strife or the trials it is because our group protects us; but that group itself must meet the tests of survival. So the first biological lesson of history is that life is competition.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;Animals eat one another without qualm; civilized men consume one another by due process of law. Co-operation is real, and increases with social development, but mostly because it is a tool and form of competition; we co-operate in our group—our family, community, club, church, party, “race,” or nation—in order to strengthen our group in its competition with other groups.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;The second biological lesson of history is that life is selection. In the competition for food or mates or power some organisms succeed and some fail. In the struggle for existence some individuals are better equipped than others to meet the tests of survival.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;Nature smiles at the union of freedom and equality in our utopias. For freedom and equality are sworn and everlasting enemies, and when one prevails the other dies.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;The third biological lesson of history is that life must breed. Nature has no use for organisms, variations, or groups that cannot reproduce abundantly.&amp;lt;/p&amp;gt;
&amp;lt;h3 id=&amp;#34;race-and-history&amp;#34;&amp;gt;Race and History&amp;lt;/h3&amp;gt;
&amp;lt;p&amp;gt;It is not the race that makes the civilization, it is the civilization that makes the people: circumstances geographical, economic, and political create a culture, and the culture creates a human type.&amp;lt;/p&amp;gt;
&amp;lt;h3 id=&amp;#34;character-and-history&amp;#34;&amp;gt;Character and History&amp;lt;/h3&amp;gt;
&amp;lt;p&amp;gt;Nothing is clearer in history than the adoption by successful rebels of the methods they were accustomed to condemn in the forces they deposed.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;Evolution in man during recorded time has been social rather than biological.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;History in the large is the conflict of minorities; the majority applauds the victor and supplies the human material of social experiment.&amp;lt;/p&amp;gt;
&amp;lt;h3 id=&amp;#34;morals-and-history&amp;#34;&amp;gt;Morals and History&amp;lt;/h3&amp;gt;
&amp;lt;p&amp;gt;A little knowledge of history stresses the variability of moral codes, and concludes that they are negligible because they differ in time and place, and sometimes contradict each other. A larger knowledge stresses the universality of moral codes, and concludes to their necessity.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;Insecurity is the mother of greed.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;We must remind ourselves again that history as usually written (peccavimus) is quite different from history as usually lived: the historian records the exceptional because it is interesting—because it is exceptional.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;The freedom of the part varies with the security of the whole.&amp;lt;/p&amp;gt;
&amp;lt;h3 id=&amp;#34;religion-and-history&amp;#34;&amp;gt;Religion and History&amp;lt;/h3&amp;gt;
&amp;lt;p&amp;gt;Even the skeptical historian develops a humble respect for religion, since he sees it functioning, and seemingly indispensable, in every land and age.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;Like other departments of biology, history remains at bottom a natural selection of the fittest individuals and groups in a struggle wherein goodness receives no favors, misfortunes abound, and the final test is the ability to survive.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;There is no significant example in history, before our time, of a society successfully maintaining moral life without the aid of religion.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;As long as there is poverty there will be gods.&amp;lt;/p&amp;gt;
&amp;lt;h3 id=&amp;#34;economics-and-history&amp;#34;&amp;gt;Economics and History&amp;lt;/h3&amp;gt;
&amp;lt;p&amp;gt;History, according to Karl Marx, is economics in action—the contest, among individuals, groups, classes, and states, for food, fuel, materials, and economic power. Political forms, religious institutions, cultural creations, are all rooted in economic realities.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;Economic ambition, not the face of Helen “fairer than the evening air clad in the beauty of a thousand stars,” launched a thousand ships on Ilium.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;The experience of the past leaves little doubt that every economic system must sooner or later rely upon some form of the profit motive to stir individuals and groups to productivity.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;Since practical ability differs from person to person, the majority of such abilities, in nearly all societies, is gathered in a minority of men. The concentration of wealth is a natural result of this concentration of ability, and regularly recurs in history. The rate of concentration varies (other factors being equal) with the economic freedom permitted by morals and the laws.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;We conclude that the concentration of wealth is natural and inevitable, and is periodically alleviated by violent or peaceable partial redistribution. In this view all economic history is the slow heartbeat of the social organism, a vast systole and diastole of concentrating wealth and compulsive recirculation.&amp;lt;/p&amp;gt;
&amp;lt;h3 id=&amp;#34;socialism-and-history&amp;#34;&amp;gt;Socialism and History&amp;lt;/h3&amp;gt;
&amp;lt;p&amp;gt;The struggle of socialism against capitalism is part of the historic rhythm in the concentration and dispersion of wealth.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;Other factors equal, internal liberty varies inversely as external danger.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;The fear of capitalism has compelled socialism to widen freedom, and the fear of socialism has compelled capitalism to increase equality. East is West and West is East, and soon the twain will meet.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;If the Hegelian formula of thesis, antithesis, and synthesis is applied to the Industrial Revolution as thesis, and to capitalism versus socialism as antithesis, the third condition would be a synthesis of capitalism and socialism; and to this reconciliation the Western world visibly moves.&amp;lt;/p&amp;gt;
&amp;lt;h3 id=&amp;#34;government-and-history&amp;#34;&amp;gt;Government and History&amp;lt;/h3&amp;gt;
&amp;lt;p&amp;gt;Since men love freedom, and the freedom of individuals in society requires some regulation of conduct, the first condition of freedom is its limitation; make it absolute and it dies in chaos. So the prime task of government is to establish order; organized central force is the sole alternative to incalculable and disruptive force in private hands.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;The only real revolution is in the enlightenment of the mind and the improvement of character, the only real emancipation is individual, and the only real revolutionists are philosophers and saints.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;These and a hundred other conditions gave to America a democracy more basic and universal than history had ever seen. Many of these formative conditions have disappeared.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;And all this has come about not (as we thought in our hot youth) through the perversity of the rich, but through the impersonal fatality of economic development, and through the nature of man. Every advance in the complexity of the economy puts an added premium upon superior ability, and intensifies the concentration of wealth, responsibility, and political power.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;Democracy is the most difficult of all forms of government, since it requires the widest spread of intelligence, and we forgot to make ourselves intelligent when we made ourselves sovereign.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;If equality of educational opportunity can be established, democracy will be real and justified. For this is the vital truth beneath its catchwords: that though men cannot be equal, their access to education and opportunity can be made more nearly equal. The rights of man are not rights to office and power, but the rights of entry into every avenue that may nourish and test a man’s fitness for office and power. A right is not a gift of God or nature but a privilege which it is good for the group that the individual should have.&amp;lt;/p&amp;gt;
&amp;lt;h3 id=&amp;#34;history-and-war&amp;#34;&amp;gt;History and War&amp;lt;/h3&amp;gt;
&amp;lt;p&amp;gt;States will unite in basic co-operation only when they are in common attacked from without.&amp;lt;/p&amp;gt;
&amp;lt;h3 id=&amp;#34;growth-and-decay&amp;#34;&amp;gt;Growth and Decay&amp;lt;/h3&amp;gt;
&amp;lt;p&amp;gt;History repeats itself, but only in outline and in the large.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;If we put the problem further back, and ask what determines whether a challenge will or will not be met, the answer is that this depends upon the presence or absence of initiative and of creative individuals with clarity of mind and energy of will (which is almost a definition of genius), capable of effective responses to new situations (which is almost a definition of intelligence).&amp;lt;/p&amp;gt;
&amp;lt;h3 id=&amp;#34;is-progress-real&amp;#34;&amp;gt;Is Progress Real?&amp;lt;/h3&amp;gt;
&amp;lt;p&amp;gt;Is a more objective definition possible? We shall here define progress as the increasing control of the environment by life. It is a test that may hold for the lowliest organism as well as for man.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;If we find that the type of genius prevalent in young countries like America and Australia tends to the practical, inventive, scientific, executive kinds rather than to the painter of pictures or poems, the carver of statues or words, we must understand that each age and place needs and elicits some types of ability rather than others in its pursuit of environmental control. We should not compare the work of one land and time with the winnowed best of all the collected past. Our problem is whether the average man has increased his ability to control the conditions of his life.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;So our finest contemporary achievement is our unprecedented expenditure of wealth and toil in the provision of higher education for all.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;The historian will not mourn because he can see no meaning in human existence except that which man puts into it; let it be our pride that we ourselves may put meaning into our lives, and sometimes a significance that transcends death. If a man is fortunate he will, before he dies, gather up as much as he can of his civilized heritage and transmit it to his children. And to his final breath he will be grateful for this inexhaustible legacy, knowing that it is our nourishing mother and our lasting life.&amp;lt;/p&amp;gt;
</content>
 </entry>
 
 <entry>
   <title>Decisive Summary</title>
   <link href="https://grin.io/decisive/"/>
   <updated>2019-07-01T00:00:00-04:00</updated>
   <id>https://grin.io/decisive/</id>
   <content type="html">&amp;lt;p&amp;gt;My summary of &amp;lt;a href=&amp;#34;https://heathbrothers.com/books/decisive/&amp;#34;&amp;gt;Decisive&amp;lt;/a&amp;gt;, a book about a process for making better decisions.&amp;lt;/p&amp;gt;
&amp;lt;h2 id=&amp;#34;the-express-version&amp;#34;&amp;gt;The express version&amp;lt;/h2&amp;gt;
&amp;lt;ol&amp;gt;
&amp;lt;li&amp;gt;Widen Options: Add one more option to your consideration set. (If you can’t think of one easily, look for someone who’s solved your problem, via your network of contacts or a simple Internet search.)&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;Reality-Test: Call one expert who can educate you about the “base rates” in your situation (for example, odds of success or typical timelines).&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;Attain Distance: Resolve tough dilemmas by asking which option best fits your core priorities or what someone else (a friend or your successor) should do.&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;Prepare: Bookend the future—spend an hour thinking about what could go wrong and what could go right, and then do something to prepare for both contingencies.&amp;lt;/li&amp;gt;
&amp;lt;/ol&amp;gt;
&amp;lt;h2 id=&amp;#34;problem-the-four-villains&amp;#34;&amp;gt;Problem: The Four Villains&amp;lt;/h2&amp;gt;
&amp;lt;ul&amp;gt;
&amp;lt;li&amp;gt;Narrow framing (A or B)&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;Confirmation bias&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;Short-term emotion bias&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;Overconfidence&amp;lt;/li&amp;gt;
&amp;lt;/ul&amp;gt;
&amp;lt;h2 id=&amp;#34;intuition&amp;#34;&amp;gt;Intuition&amp;lt;/h2&amp;gt;
&amp;lt;p&amp;gt;Intuition is only accurate in domains where it has been carefully trained. Training intuition requires a &amp;amp;ldquo;kind&amp;amp;rdquo; environment - one that is predictable, where you get lots of repetition and quick feedback on your choices. See book endnotes for more on this.&amp;lt;/p&amp;gt;
&amp;lt;h2 id=&amp;#34;solution-the-wrap-process&amp;#34;&amp;gt;Solution: The WRAP Process&amp;lt;/h2&amp;gt;
&amp;lt;ul&amp;gt;
&amp;lt;li&amp;gt;Widen your options&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;Reality-test assumptions&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;Attain distance before deciding&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;Prepare to be wrong&amp;lt;/li&amp;gt;
&amp;lt;/ul&amp;gt;
&amp;lt;h2 id=&amp;#34;widen-your-options&amp;#34;&amp;gt;Widen Your Options&amp;lt;/h2&amp;gt;
&amp;lt;h3 id=&amp;#34;avoid-a-narrow-frame&amp;#34;&amp;gt;Avoid a narrow frame&amp;lt;/h3&amp;gt;
&amp;lt;ul&amp;gt;
&amp;lt;li&amp;gt;Think about opportunity cost. Would I rather have X, or have Y and keep $14.99 for other purchases?&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;Vanishing Options Test. What if the current options disappeared and I had to do something else? What would I do?&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;Watch out for &amp;amp;ldquo;whether or not&amp;amp;rdquo; framing (e.g. &amp;amp;ldquo;whether or not to drop out of school&amp;amp;rdquo;). That should set off warning bells. Similarly,
&amp;amp;ldquo;Should I do A or B?&amp;amp;rdquo; is also narrow. Try to add at least one more option.&amp;lt;/li&amp;gt;
&amp;lt;/ul&amp;gt;
&amp;lt;h3 id=&amp;#34;multitrack-consider-multiple-options-simultaneously&amp;#34;&amp;gt;Multitrack (consider multiple options simultaneously)&amp;lt;/h3&amp;gt;
&amp;lt;ul&amp;gt;
&amp;lt;li&amp;gt;Helps you learn the &amp;amp;ldquo;shape&amp;amp;rdquo; of the problem&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;Keeps egos in check. you don&amp;amp;rsquo;t get attached to a single option. and might be faster than single-tracking&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;You don&amp;amp;rsquo;t need a million options (there be decision paralysis), just one or two extra choices&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;Beware sham options (e.g. &amp;amp;ldquo;nuclear war, present policy, surrender&amp;amp;rdquo;)&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;Toggle between prevention and promotion mindsets (avoiding negative outcomes and pursuing positive outcomes)&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;Push for &amp;amp;ldquo;this AND that&amp;amp;rdquo; rather than &amp;amp;ldquo;this OR that&amp;amp;rdquo;&amp;lt;/li&amp;gt;
&amp;lt;/ul&amp;gt;
&amp;lt;h3 id=&amp;#34;find-someone-whos-solved-your-problem&amp;#34;&amp;gt;Find someone who&amp;amp;rsquo;s solved your problem&amp;lt;/h3&amp;gt;
&amp;lt;ul&amp;gt;
&amp;lt;li&amp;gt;When you need more options but are stuck, look for someone who&amp;amp;rsquo;s solved your problem&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;Look outside: competitive analysis, benchmarking, best practices&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;Look outside: find your bright spots. are there others in your group/org? what about your own personal bright spots?&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;Create a greatest hits decision playlist. a checklist prevents errors, a playlist stimulates new ideas.&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;Look in the distance: ladder up via analogies. start with close analogies (low novelty, low risk) and expand to broader &amp;amp;amp; more abstract analogies (high novelty, high risk)&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;Why generate your own ideas when you can sample the world&amp;amp;rsquo;s buffet of options?&amp;lt;/li&amp;gt;
&amp;lt;/ul&amp;gt;
&amp;lt;h2 id=&amp;#34;reality-test-assumptions&amp;#34;&amp;gt;Reality-test Assumptions&amp;lt;/h2&amp;gt;
&amp;lt;h3 id=&amp;#34;consider-the-opposite&amp;#34;&amp;gt;Consider the opposite&amp;lt;/h3&amp;gt;
&amp;lt;ul&amp;gt;
&amp;lt;li&amp;gt;Confirmation bias is self-serving. the hubris of CEOS can be counteracted by disagreement&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;Spark constructive disagreement inside the org. give license to skepticism. Ask &amp;amp;ldquo;What would have to be true for this option to be the very best choice?&amp;amp;rdquo;&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;Ask disconfirming questions. What problems does this thing have? Who were the last 3 people to leave the company? What are they doing now? How can I talk to them?&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;Caution: probing questions can backfire in situations with a power dynamic. e.g. doctors are wiser to as open-ended questions&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;Extreme disconfirmation: consider the opposite of your instincts. keep a gratitude diary in your relationship. assume positive intent.&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;Test assumptions with &amp;amp;ldquo;deliberate mistakes&amp;amp;rdquo;. sometimes do the &amp;amp;ldquo;wrong&amp;amp;rdquo; thing - it may turn out to be right.&amp;lt;/li&amp;gt;
&amp;lt;/ul&amp;gt;
&amp;lt;h3 id=&amp;#34;zoom-in-zoom-out&amp;#34;&amp;gt;Zoom in, zoom out&amp;lt;/h3&amp;gt;
&amp;lt;ul&amp;gt;
&amp;lt;li&amp;gt;We should trust &amp;amp;ldquo;averages&amp;amp;rdquo; (aka base rates) over our instincts much more than we do&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;Experts are great at estimating base rates (and helping you find the right base rate for your situation) but terrible at making specific predictions&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;Remember to start with the outside view&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;&amp;amp;hellip; but also get a close up (inside view) to add nuance. go to the genba. stay in touch with reality&amp;lt;/li&amp;gt;
&amp;lt;/ul&amp;gt;
&amp;lt;h3 id=&amp;#34;ooch-run-a-small-experiment-to-test-a-theory&amp;#34;&amp;gt;Ooch (run a small experiment to test a theory)&amp;lt;/h3&amp;gt;
&amp;lt;ul&amp;gt;
&amp;lt;li&amp;gt;Try to dip a toe in before jumping headfirst&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;Especially useful because we&amp;amp;rsquo;re awful at predicting the future&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;Common in the startup world (mvp, customer dev, testing)&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;Caveat: ooching is counterproductive when you need to commit. if you know what to do but are dreading it, don&amp;amp;rsquo;t ooch, just commit.&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;Hiring: don&amp;amp;rsquo;t try to predict success. try to get a work sample or a trial run.&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;Why ever predict when you can know?&amp;lt;/li&amp;gt;
&amp;lt;/ul&amp;gt;
&amp;lt;h2 id=&amp;#34;attain-distance-before-deciding&amp;#34;&amp;gt;Attain Distance Before Deciding&amp;lt;/h2&amp;gt;
&amp;lt;h3 id=&amp;#34;overcome-short-term-emotions&amp;#34;&amp;gt;Overcome short-term emotions&amp;lt;/h3&amp;gt;
&amp;lt;ul&amp;gt;
&amp;lt;li&amp;gt;To overcome distracting short-term emotions, attain some distance.&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;10/10/10 (minutes, months, years) provides distance by forcing us to consider future emotions as much as present ones.&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;Our decisions are often altered by two subtle short-term emotions: (1) mere exposure: we like what’s familiar to us; and (2) loss aversion: losses are more painful than gains are pleasant.&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;Loss aversion &#43; mere exposure = bias for maintaining the status quo.&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;Attain distance by looking at our situation from an observer’s perspective. &amp;amp;ldquo;What would our successors do?&amp;amp;rdquo;&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;“What would I tell my best friend to do in this situation?”&amp;lt;/li&amp;gt;
&amp;lt;/ul&amp;gt;
&amp;lt;h3 id=&amp;#34;honor-your-core-priorities&amp;#34;&amp;gt;Honor your core priorities&amp;lt;/h3&amp;gt;
&amp;lt;ul&amp;gt;
&amp;lt;li&amp;gt;Agonizing decisions are often a sign of a conflict among your core priorities - long-term emotional values, goals, and aspirations (what kind of person do you want to be? what kind of organization do you want
to build?)&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;The goal is not to eliminate emotion. It’s to honor the emotions that count.&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;By identifying and enshrining your core priorities, you make it easier to resolve present and future dilemmas.&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;Establishing your core priorities is, unfortunately, not the same as binding yourself to them. Many people don&amp;amp;rsquo;t regularly spend time on their core priorities.
-To carve out space to pursue our core priorities, we must go on the offense against lesser priorities. Make a &amp;amp;ldquo;List B&amp;amp;rdquo; (the dreary, repetitive stuff that is important but not core) and declare war on it. Make a &amp;amp;ldquo;stop-doing&amp;amp;rdquo; list of things you will give up so that you have more time to spend on your priorities?&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;Set up an &amp;amp;ldquo;hourly beep&amp;amp;rdquo; to remind you to ask yourself &amp;amp;ldquo;Am I doing what I most need to be doing right now?&amp;amp;rdquo;&amp;lt;/li&amp;gt;
&amp;lt;/ul&amp;gt;
&amp;lt;h2 id=&amp;#34;prepare-to-be-wrong&amp;#34;&amp;gt;Prepare to Be Wrong&amp;lt;/h2&amp;gt;
&amp;lt;h3 id=&amp;#34;bookend-the-future&amp;#34;&amp;gt;Bookend the future&amp;lt;/h3&amp;gt;
&amp;lt;ul&amp;gt;
&amp;lt;li&amp;gt;The future is not a “point”—a single scenario that we must predict. It is a range. We should bookend the future, considering a range of outcomes from very bad to very good.&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;To set a lower bookend, use a premortem (It’s a year from now. Our decision has failed utterly. Why?). For the upper bookend, use a preparade (It’s a year from now. We’re heroes. Will we be ready for success?).&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;To prepare for what can’t be foreseen, we can use a “safety factor.” Multiply our best estimate by X, just in case.&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;Anticipating problems helps us cope with them. The “realistic job preview” that reveals a job’s warts up front “vaccinates” people against dissatisfaction.&amp;lt;/li&amp;gt;
&amp;lt;/ul&amp;gt;
&amp;lt;h3 id=&amp;#34;set-a-tripwire&amp;#34;&amp;gt;Set a tripwire&amp;lt;/h3&amp;gt;
&amp;lt;ul&amp;gt;
&amp;lt;li&amp;gt;We naturally slip into autopilot, leaving past decisions unquestioned.&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;A tripwire can remind us that we have a choice, or to reconsider a past decision. Zappos pays you $5K to quit so you reconsider your decision after you get a taste for their culture. The brown M&amp;amp;amp;Ms signal that the contract wasn&amp;amp;rsquo;t read in depth and an inspection is necessary.&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;Tripwires are especially useful when change is gradual and there&amp;amp;rsquo;s no obvious time to act. They at least create a Schelling point.&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;Deadlines or partitions can be effective tripwires. We tend to escalate our investment in poor decisions; partitions can help rein that in.&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;Tripwires can actually create a safe space for risk taking. They: (1) cap risk; and (2) quiet your mind until the trigger is hit.&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;Many powerful tripwires are triggered by patterns rather than dates/metrics/budgets. For example, a children’s hospital told nurses to call the rapid-response team if they were &amp;amp;ldquo;worried&amp;amp;rdquo; about a patient. This was a qualitative tripwire, but it was very effective.&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;Tripwires can provide a precious realization: We have a choice to make.&amp;lt;/li&amp;gt;
&amp;lt;/ul&amp;gt;
&amp;lt;h3 id=&amp;#34;trusting-the-process&amp;#34;&amp;gt;Trusting the process&amp;lt;/h3&amp;gt;
&amp;lt;ul&amp;gt;
&amp;lt;li&amp;gt;Decisions made by groups have an additional burden: They must be seen as fair.&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;Bargaining”—horse-trading until all sides can live with the choice—makes for good decisions that will be seen as fair. It takes more time up front, but accelerates implementation (because implementation buy-in is just as important as the decision itself).&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;Procedural justice (a fair process) is critical in determining how people feel about a decision (compare with distributive justice - the result of the decision).&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;Make sure people are able to perceive that the process is just. State back the other side’s position better than they could state it. Sometimes the best way to defend a decision is to point out its flaws.&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;Process isn’t glamorous. But the confidence it can provide is precious. Trusting a process can permit us to take bigger risks, to make bolder choices. Studies of the elderly show that people regret not what they did but what they didn’t do.&amp;lt;/li&amp;gt;
&amp;lt;/ul&amp;gt;
</content>
 </entry>
 
 <entry>
   <title>The Right Due Date</title>
   <link href="https://grin.io/due-date/"/>
   <updated>2019-02-18T00:00:00-05:00</updated>
   <id>https://grin.io/due-date/</id>
   <content type="html">&amp;lt;p&amp;gt;&amp;lt;em&amp;gt;Disclaimer: I&amp;amp;rsquo;m not a doctor. This is not medical advice, just my interpretation of the facts. Read the cited links and think for yourself
before trusting a stranger on the internet.&amp;lt;/em&amp;gt;&amp;lt;/p&amp;gt;
&amp;lt;h2 id=&amp;#34;short-version&amp;#34;&amp;gt;Short Version&amp;lt;/h2&amp;gt;
&amp;lt;p&amp;gt;When you find out you&amp;amp;rsquo;re pregnant, tell your doctors that you don&amp;amp;rsquo;t remember when your last period was. Then schedule an ultrasound between
8 and 9 weeks after your last period to establish your due date. You&amp;amp;rsquo;ll get a more accurate date and you&amp;amp;rsquo;ll be significantly less likely to
be artificially induced because your pregnancy is considered late.&amp;lt;/p&amp;gt;
&amp;lt;h2 id=&amp;#34;long-version&amp;#34;&amp;gt;Long Version&amp;lt;/h2&amp;gt;
&amp;lt;p&amp;gt;If you want to minimize the odds of having your labor artificially induced, getting the right due date is very important. The risk of
complications increases the longer you go past your date. At 41 weeks (that&amp;amp;rsquo;s one week late), your doctor or midwife may gently recommend
that you consider induction. By the time you cross 42 weeks, and roughly &amp;lt;a href=&amp;#34;https://spacefem.com/pregnant/due.php&amp;#34;&amp;gt;8% of women do&amp;lt;/a&amp;gt;, the
anxiety level will be a lot higher and the recommendation a lot stronger. At this late stage, a due date that&amp;amp;rsquo;s off just a few days in
either direction can change the medical interpretation a great deal.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;There are two common ways to establish the due date: counting forward from the first day of the mother&amp;amp;rsquo;s last menstrual period (LMP) and
getting an ultrasound. According to the &amp;lt;a href=&amp;#34;https://www.acog.org/Clinical-Guidance-and-Publications/Committee-Opinions/Committee-on-Obstetric-Practice/Methods-for-Estimating-the-Due-Date&amp;#34;&amp;gt;latest guidelines&amp;lt;/a&amp;gt; (&amp;lt;a href=&amp;#34;/archive/www.acog.org~clinical~clinical-guidance~committee-opinion~articles~2017~05~methods-for-estimating-the-due-date.html&amp;#34;&amp;gt;a&amp;lt;/a&amp;gt;)
from the American College of Obstetricians and Gynecologists (ACOG), a first trimester ultrasound is the gold standard, and the earlier in
the trimester, the more accurate it is. However, ultrasounds before eight weeks run the risk of a fetus that&amp;amp;rsquo;s too small to measure. So
&amp;lt;strong&amp;gt;the very best time to do your ultrasound is between 8 and 9 weeks after the first day of your last menstrual period&amp;lt;/strong&amp;gt;. If you can&amp;amp;rsquo;t get it
scheduled for that exact window, do it as soon afterwards as you can. Anytime up to 14 weeks is fine, but sooner is better.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;{% comment %} In one study, 40% of women had their due date adjusted because their LMP-derived date was more than 5 days off from their
ultrasound date. The study &amp;lt;a href=&amp;#34;https://www.ajog.org/article/S0002-9378%2803%2901932-X/abstract&amp;#34;&amp;gt;concluded&amp;lt;/a&amp;gt; that &amp;amp;ldquo;the application of a program
of first trimester ultrasound screening to a low-risk obstetric population results in a significant reduction in the rate of labor induction
for postterm pregnancy.&amp;amp;rdquo; {% endcomment %}&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;Here&amp;amp;rsquo;s where it gets weird: the ACOG also recommends that as soon as a due date is established (whether by LMP or ultrasound), your doctor
should enter it into your medical record and should not change it except in &amp;amp;ldquo;rare circumstances&amp;amp;rdquo;. Specifically, it should only be updated
when the ultrasound disagrees with the LMP date by a significant margin&amp;amp;mdash;typically 7 or more days, but it varies based on when the
ultrasound was done. So you can end up in a situation where your LMP date is off by almost a week from your ultrasound date, yet the less
accurate date is used.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;That&amp;amp;rsquo;s exactly what happened to my wife and me when our daughter was born. Our LMP date said we were at 42 weeks, but according to the
ultrasound we were at 41 weeks, 2 days. We came to the hospital for a routine test (you get them every other day when you&amp;amp;rsquo;re late) and
everyone was on high alert and amazed that we had not been induced yet. There was a lot of pressure to speed the labor along artificially,
and no one cared that the more accurate dating gave us plenty of time to wait. We felt that our caregivers were not on our side, at a time
when we were most vulnerable. Luckily, my wife went into labor shortly thereafter and there were no complications.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;To avoid these problems, make sure your ultrasound date becomes the official date. Simply asking your doctor won&amp;amp;rsquo;t work. They will most
likely refuse to deviate from the ACOG guidelines because it opens them up to a potential lawsuit down the road (and lawsuits are already
super common in obstetrics).&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;Instead, &amp;lt;strong&amp;gt;keep your LMP date to yourself&amp;lt;/strong&amp;gt;. When your doctor asks you, say that you weren&amp;amp;rsquo;t paying attention and you don&amp;amp;rsquo;t remember (it
happens more often than you think). Then schedule your ultrasound at the right time, and you&amp;amp;rsquo;ll get the most accurate due date you can.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;If you know anyone who may be thinking of getting pregnant, send them this post. By the time they tell you they are pregnant, it may be too
late. They&amp;amp;rsquo;ve probably already confirmed their pregnancy with a doctor and have a due date on file.&amp;lt;/p&amp;gt;
</content>
 </entry>
 
 <entry>
   <title>The Four Agreements Microsummary</title>
   <link href="https://grin.io/the-four-agreements-microsummary/"/>
   <updated>2019-01-11T00:00:00-05:00</updated>
   <id>https://grin.io/the-four-agreements-microsummary/</id>
   <content type="html">&amp;lt;p&amp;gt;In &amp;lt;a href=&amp;#34;https://www.goodreads.com/book/show/6596.The_Four_Agreements&amp;#34;&amp;gt;The Four Agreements&amp;lt;/a&amp;gt;, Miguel Ruiz invites us to make the following commitments to ourselves:&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;Be impeccable with your word.&amp;lt;/strong&amp;gt; Try to be honest and true in everything you say. Do not lie, gossip, etc.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;Don’t take anything personally.&amp;lt;/strong&amp;gt; You cannot choose what others say or do, but you can choose how you respond to it.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;Don’t make assumptions.&amp;lt;/strong&amp;gt; Everyone has their own perspective and understanding of reality, and everyone is wrong much of the time. There is no shame in admitting your mistakes or uncertainty. Have the courage to ask questions and express your thoughts.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;Always do your best.&amp;lt;/strong&amp;gt; This one is the most important.Do not compromise.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;Adherence to these tenets will improve our lives immensely.&amp;lt;/p&amp;gt;
</content>
 </entry>
 
 <entry>
   <title>Mind Trick For Writing More</title>
   <link href="https://grin.io/mind-trick-for-writing-more/"/>
   <updated>2019-01-07T00:00:00-05:00</updated>
   <id>https://grin.io/mind-trick-for-writing-more/</id>
   <content type="html">&amp;lt;blockquote&amp;gt;
&amp;lt;p&amp;gt;I would like to wait far shorter to publish, and I would like to articulate my thoughts far more often.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;In order to encourage that, I will do two things:&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;I will allow myself the luxury to change my mind. Anything I write reflects my best thought process at the moment but does not define me as a person. This will allow me to write “in the now” and not worry about the future.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;The objective is to share my thoughts, not to measure my skill as a writer. Good writing takes time, and I strive to be a good writer. However, I don’t want that to make me write less often or worry that it’s taking too much time away from my core work.&amp;lt;/p&amp;gt;
&amp;lt;/blockquote&amp;gt;
&amp;lt;p&amp;gt;Source: &amp;lt;a href=&amp;#34;https://jonchoi.com/mindtrick/&amp;#34;&amp;gt;https://jonchoi.com/mindtrick/&amp;lt;/a&amp;gt;&amp;lt;/p&amp;gt;
</content>
 </entry>
 
 <entry>
   <title>Corey Thomas On Culture</title>
   <link href="https://grin.io/corey-thomas-on-culture/"/>
   <updated>2018-12-24T00:00:00-05:00</updated>
   <id>https://grin.io/corey-thomas-on-culture/</id>
   <content type="html">&amp;lt;p&amp;gt;I met with Corey Thomas from Rapid7 to talk about culture. Here are my notes.&amp;lt;/p&amp;gt;
&amp;lt;h2 id=&amp;#34;culture&amp;#34;&amp;gt;Culture&amp;lt;/h2&amp;gt;
&amp;lt;p&amp;gt;Corey defines culture as &amp;amp;ldquo;shared beliefs about how to create success&amp;amp;rdquo;. These are beliefs you won&amp;amp;rsquo;t compromise on, that you&amp;amp;rsquo;ll live and die by. It&amp;amp;rsquo;s better to fail with a principled and well-articulated set of beliefs than to exist in a wishy-washy state of uncertainty.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;Another way to think about culture is as a guide for making decisions. When something unexpected or challenging happens, how would you like the people on your team to handle it. Should they do what will cause the least conflict (&amp;lt;a href=&amp;#34;https://i.imgur.com/yZWWJCM.png&amp;#34;&amp;gt;HBR calls this an emphasis on order&amp;lt;/a&amp;gt;), do what is bold or daring (emphasis on authority), do something playful (emphasis on enjoyment), etc. At Rapid7, their culture is &amp;amp;ldquo;do the right thing, do it fast, learn from it&amp;amp;rdquo;, so an appropriate response might be to do the thing that lets you learn the most (even if it may be wrong or costly) and then look to iterate and improve.&amp;lt;/p&amp;gt;
&amp;lt;h2 id=&amp;#34;good-culture&amp;#34;&amp;gt;Good Culture&amp;lt;/h2&amp;gt;
&amp;lt;p&amp;gt;Corey likens culture to a band playing together. Each person must be excellent at their instrument, but it&amp;amp;rsquo;s only when they play together that they can make beautiful music. Similarly, if one person is out of tune or not on the same page, they ruin the whole experience. Good culture is coherent.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;There&amp;amp;rsquo;s no such thing as the one right culture. There are only tradeoffs. Whatever culture you have, it will naturally emphasize some universally valuable qualities at the expense of others that are equally valuable, but not to you or not right now. If your culture values predictability and preparedness, it will do better in a static environment where planning ahead is particularly useful. In a situation where things change constantly and planning is less effective, it will struggle.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;The important thing is to understand your culture, and what inherent upsides and downsides it has. A strong culture will always have negatives, and if you see them clearly you can accept them and manage to them.&amp;lt;/p&amp;gt;
&amp;lt;h2 id=&amp;#34;your-culture&amp;#34;&amp;gt;Your Culture&amp;lt;/h2&amp;gt;
&amp;lt;p&amp;gt;How to identify your culture? Ask yourself what you believe creates success. It doesn&amp;amp;rsquo;t have to be true in the objective sense. It only has to be true for you - something you collectively choose to believe at the moment.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;As you name each belief out loud, test yourself to make sure it really is what you think. Maybe you said that the most important thing is fun - that if everyone is excited and having fun at work, you will get the best results. If that is true, would you hire someone who struggles to finish work on time and isn&amp;amp;rsquo;t that smart, but is extremely funny and playful? If no, then &amp;amp;ldquo;fun&amp;amp;rdquo; is probably a nice-to-have for you but not a core part of your culture.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;Thinking about the extreme case helps you eliminate the platitudes. Corey calls this the &amp;amp;ldquo;motherhood and apple pie&amp;amp;rdquo; of culture. Some values like honesty are basic requirements, so it&amp;amp;rsquo;s not helpful to say that&amp;amp;rsquo;s what your culture is. Of course everyone has to tell the truth. Other values sounds nice, but when you dig deep you realize you can&amp;amp;rsquo;t have everything and you have to choose. Do you want high creativity or high efficiency? Having both is extremely difficult.&amp;lt;/p&amp;gt;
&amp;lt;h2 id=&amp;#34;lbrys-culture&amp;#34;&amp;gt;LBRY&amp;amp;rsquo;s Culture&amp;lt;/h2&amp;gt;
&amp;lt;p&amp;gt;Corey identified our culture at LBRY as a &amp;amp;ldquo;big idea&amp;amp;rdquo; culture. We have a big idea (that people want a decentraized marketplace for digital content, that Bittorrent &#43; payments &#43; global index is a winning combination, that using a blockchain to store metadata about content on the network is a scalable and useful application) and we&amp;amp;rsquo;re creating it together. We are meritocratic and semi-autonomous.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;As a consequence, Corey warned that LBRY may struggle with cohesion and cooperation. Leadership may expect people to come to us with problems instead of proactively providing support, but if we&amp;amp;rsquo;re not clear on this expectation, we may be neglecting someone. Corey also thought that we may struggle to meet short-term goals because big ideas take a long time to bring about.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;If he&amp;amp;rsquo;s right, acknowledging this will help us make active decisions about the tradeoffs. Most importantly, we can be explicit about them to ourselves. We should not be surprised at some of the challenges we&amp;amp;rsquo;re facing, because they are a direct result of what we (heretofore implicitly) chose to value.&amp;lt;/p&amp;gt;
&amp;lt;h2 id=&amp;#34;meta-advice&amp;#34;&amp;gt;Meta Advice&amp;lt;/h2&amp;gt;
&amp;lt;p&amp;gt;When I asked Corey how he created this model of culture for himself, he said his approach is to look for consistency and &amp;amp;ldquo;contradictions that matter&amp;amp;rdquo;. Cultures generally have multiple competing foci. That&amp;amp;rsquo;s ok if the tension created there is beneficial. For example, American culture emphasizes liberty and equality. You can&amp;amp;rsquo;t actually have both, but this contradiction creates a very useful conflict that has lead to a lot of progress. That said, it is generally very hard to pursue multiple goals that are opposed, so Corey suggests only doing it if &amp;amp;ldquo;the payoff would be astronomical&amp;amp;rdquo;.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;Update: HBR published &amp;lt;a href=&amp;#34;https://hbr.org/2019/01/the-hard-truth-about-innovative-cultures&amp;#34;&amp;gt;an article&amp;lt;/a&amp;gt; echoing the importance of understanding and managing contradictions in innovative cultures.&amp;lt;/p&amp;gt;
&amp;lt;h2 id=&amp;#34;references&amp;#34;&amp;gt;References&amp;lt;/h2&amp;gt;
&amp;lt;p&amp;gt;&amp;lt;a href=&amp;#34;https://hbr.org/2018/01/the-culture-factor&amp;#34;&amp;gt;HBR: The Culture Factor&amp;lt;/a&amp;gt; (here&amp;amp;rsquo;s a &amp;lt;a href=&amp;#34;http://www.strategicresults.com/new/wp-content/uploads/2016/01/Strategic-Results-The-Culture-Factor.pdf&amp;#34;&amp;gt;summary&amp;lt;/a&amp;gt;)&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;&amp;lt;a href=&amp;#34;https://medium.com/pillar-companies/recap-of-ceo-workshop-hiring-your-senior-team-with-corey-thomas-f47581b2c711#aca1&amp;#34;&amp;gt;more from Corey&amp;lt;/a&amp;gt;&amp;lt;/p&amp;gt;
</content>
 </entry>
 
 <entry>
   <title>Immigration Trilemma</title>
   <link href="https://grin.io/immigration-trilemma/"/>
   <updated>2018-12-24T00:00:00-05:00</updated>
   <id>https://grin.io/immigration-trilemma/</id>
   <content type="html">&amp;lt;p&amp;gt;Here are three properties that most people agree they want, but you can&amp;amp;rsquo;t have all three:&amp;lt;/p&amp;gt;
&amp;lt;ul&amp;gt;
&amp;lt;li&amp;gt;local democratic accountability&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;equal treatment under the law&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;ability to absorb a large number of migrants&amp;lt;/li&amp;gt;
&amp;lt;/ul&amp;gt;
&amp;lt;p&amp;gt;It&amp;amp;rsquo;s hard to reject the first two, so many jurisdictions have laws limiting immigrants from entering.&amp;lt;/p&amp;gt;
&amp;lt;blockquote&amp;gt;
&amp;lt;p&amp;gt;I think we should talk about a trilemma for migration, which is three things, and we can only have two out of the three. You think of the liberal democracies — what would we like as a response for large numbers of people who need to go someplace? If it was some political jurisdictions, one of the things we want is local democratic accountability for the officials in the government. The second would be equal treatment under the law. And the third is, in this jurisdiction, the ability to absorb large numbers of migrants, potentially numbers that are bigger than the existing population.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;Picture one of these places when there’s a million people there, but you’d like it to be able to accept another 9 million. All three of those things are things that most people would support, and you can’t have all three. So, the two we pick in most existing jurisdictions — we just don’t allow large-scale migration, and you can see some logic to that.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;If you’re one of a million people, and you like the equilibrium, and you’re contemplating bringing in another nine million, and you’re committed to equal treatment under the law, the system’s going to basically be the one that all the new arrivals are going to vote for, not the ones that you like. And the new arrivals might be coming for the thing that you like, but still, collectively, they might vote for or put in place something that isn’t the one they’re seeking out.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;There’s a reason why democratic systems can’t absorb huge numbers of migrants. You could violate equal treatment and say, “Okay, we’re going to let large numbers of people come in, but they’re not going to become citizens, have a different legal status.” Because of the norms that evolve in these conditions of inequality, I think that is going to prove to be a very damaging approach for both the migrants who arrive and the people in the existing society.&amp;lt;/p&amp;gt;
&amp;lt;/blockquote&amp;gt;
&amp;lt;p&amp;gt;Source: &amp;lt;a href=&amp;#34;https://medium.com/conversations-with-tyler/paul-romer-tyler-cowen-economics-education-growth-979315047773&amp;#34;&amp;gt;Tyler Cowen and Paul Romer&amp;lt;/a&amp;gt;&amp;lt;/p&amp;gt;
</content>
 </entry>
 
 <entry>
   <title>How To Change Social Norms</title>
   <link href="https://grin.io/how-to-change-social-norms/"/>
   <updated>2018-12-14T00:00:00-05:00</updated>
   <id>https://grin.io/how-to-change-social-norms/</id>
   <content type="html">&amp;lt;p&amp;gt;To change entrenched social norms, isolate a group that has the new norms. Then slowly reintroduce others at a rate where they absorb the new norms. This applies to countries and to startups.&amp;lt;/p&amp;gt;
&amp;lt;blockquote&amp;gt;
&amp;lt;p&amp;gt;Persistent norms are not necessarily a bad thing, but you do need to think about what if you get stuck in a situation where the norms in a population are inefficient and really holding you back? Then you have to ask, what are the mechanisms where a group can change its norms? And this idea of letting a nonrepresentative subgroup go off and be the founding population in a new place. Then as people go in at a moderate rate from the old population to the new one, they can get socialized into the predominant culture in the new place.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;With that mechanism, you can actually change the whole distribution of norms in a population in a way that might be more feasible than if you’re trying to change those norms in place in the population. These are the questions we should be asking about how to resolve some of the deepest challenges we face in development.&amp;lt;/p&amp;gt;
&amp;lt;/blockquote&amp;gt;
&amp;lt;p&amp;gt;Source: &amp;lt;a href=&amp;#34;https://medium.com/conversations-with-tyler/paul-romer-tyler-cowen-economics-education-growth-979315047773&amp;#34;&amp;gt;Tyler Cowen and Paul Romer&amp;lt;/a&amp;gt;&amp;lt;/p&amp;gt;
</content>
 </entry>
 
 <entry>
   <title>Factfulness</title>
   <link href="https://grin.io/factfulness/"/>
   <updated>2018-11-09T00:00:00-05:00</updated>
   <id>https://grin.io/factfulness/</id>
   <content type="html">&amp;lt;p&amp;gt;Inspired by Tony Sheng’s &amp;lt;a href=&amp;#34;http://www.tonysheng.com/blog/my-annual-book-audit-52-books-and-the-52-ways-they-changed-me-this-year/&amp;#34;&amp;gt;book audit&amp;lt;/a&amp;gt; (&amp;lt;a href=&amp;#34;/archive/www.tonysheng.com~blog~my-annual-book-audit-52-books-and-the-52-ways-they-changed-me-this-year.html&amp;#34;&amp;gt;a&amp;lt;/a&amp;gt;), I’m looking to boil each book down to at least one way in which it has affected my thinking, or one change that I will make as a result of reading it. For &amp;lt;a href=&amp;#34;https://www.goodreads.com/book/show/34890015-factfulness&amp;#34;&amp;gt;Factfulness&amp;lt;/a&amp;gt;, it’s easy to do - Hans tells you what it is right at the end. I’m going to &amp;lt;strong&amp;gt;start asking what the important facts are, and how many people know them&amp;lt;/strong&amp;gt;. And maybe read more outside the US.&amp;lt;/p&amp;gt;
</content>
 </entry>
 
 <entry>
   <title>Personal Space</title>
   <link href="https://grin.io/personal-space/"/>
   <updated>2017-08-20T00:00:00-04:00</updated>
   <id>https://grin.io/personal-space/</id>
   <content type="html">&amp;lt;p&amp;gt;Last week I spent a few hours at Zoya&amp;amp;rsquo;s daycare to learn their tricks for putting her to sleep. I did learn a lot about that, but the most interesting things happened while playing with the other kids in her class.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;There were three other children there with her, all between the ages of 1 and 3. At first they gave me a wide berth, since they only know me in the context of picking Zoya up or dropping her off. But then they warmed up to me (thanks for taking the lead, Julianna) and started to include me in their play. I was sitting on the floor, and they were crawling all over me, giving me books to read them and showing off their lego creations. I remember feeling a flash of concern, like something wasn&amp;amp;rsquo;t right. It didn&amp;amp;rsquo;t last very long, and I didn&amp;amp;rsquo;t think much of it at the time, but in retrospect it was clearly their disregard for personal space that momentarily threw me off.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;Personal space is a learned social norm, and its very rarely violated. I&amp;amp;rsquo;m not talking about being squeezed into a New York subway car - there&amp;amp;rsquo;s no expectation of space there. Unless someone&amp;amp;rsquo;s being aggressive or too flirty, most people go out of their way not to touch you or get too close unless it&amp;amp;rsquo;s appropriate. Which is why it stands out so much when three innocent kids jump all over you at once.&amp;lt;/p&amp;gt;
</content>
 </entry>
 
 <entry>
   <title>Coding Maxims</title>
   <link href="https://grin.io/coding-maxims/"/>
   <updated>2017-07-26T00:00:00-04:00</updated>
   <id>https://grin.io/coding-maxims/</id>
   <content type="html">&amp;lt;p&amp;gt;&amp;lt;em&amp;gt;numbered for ease of reference, not for priority&amp;lt;/em&amp;gt;&amp;lt;/p&amp;gt;
&amp;lt;ol&amp;gt;
&amp;lt;li&amp;gt;code is debt, and bad code is an &amp;lt;a href=&amp;#34;http://www.higherorderlogic.com/2010/07/bad-code-isnt-technical-debt-its-an-unhedged-call-option/&amp;#34;&amp;gt;unhedged call option&amp;lt;/a&amp;gt; (&amp;lt;a href=&amp;#34;/archive/www.higherorderlogic.com~2010~07~bad-code-isnt-technical-debt-its-an-unhedged-call-option.html&amp;#34;&amp;gt;a&amp;lt;/a&amp;gt;)&amp;lt;/li&amp;gt;
&amp;lt;/ol&amp;gt;
&amp;lt;ul&amp;gt;
&amp;lt;li&amp;gt;&amp;lt;img src=&amp;#34;/img/no-bugs.jpg&amp;#34; alt=&amp;#34;cant have 0-days or bugs if I dont write any code&amp;#34;&amp;gt;&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;our users dont care about the code&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;every line of code has costs (your time, readability, maintainability, complexity)&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;its like owning a house with lots of rooms. its nice when your friends come over once a month, but you pay rent every day&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;dont add features prematurely&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;&amp;lt;a href=&amp;#34;https://www.varunsrinivasan.com/2020/05/27/technical-shorts-not-technical-debt&amp;#34;&amp;gt;another perspective&amp;lt;/a&amp;gt; (&amp;lt;a href=&amp;#34;/archive/varunsrinivasan.com~2020~05~27~technical-shorts-not-technical-debt.html&amp;#34;&amp;gt;a&amp;lt;/a&amp;gt;)&amp;lt;/li&amp;gt;
&amp;lt;/ul&amp;gt;
&amp;lt;ol start=&amp;#34;2&amp;#34;&amp;gt;
&amp;lt;li&amp;gt;
&amp;lt;p&amp;gt;&amp;lt;del&amp;gt;DRY DRY &amp;lt;a href=&amp;#34;https://en.wikipedia.org/wiki/Don%27t_repeat_yourself&amp;#34;&amp;gt;DRY&amp;lt;/a&amp;gt;&amp;lt;/del&amp;gt; actually &amp;lt;a href=&amp;#34;https://twitter.com/matryer/status/1082278413510082560&amp;#34;&amp;gt;DAMP&amp;lt;/a&amp;gt; (&amp;lt;a href=&amp;#34;/img/damp.png&amp;#34;&amp;gt;a&amp;lt;/a&amp;gt;) is better&amp;lt;/p&amp;gt;
&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;
&amp;lt;p&amp;gt;keep it &amp;lt;a href=&amp;#34;https://github.com/matthiasn/talk-transcripts/blob/master/Hickey_Rich/SimpleMadeEasy.md&amp;#34;&amp;gt;simple&amp;lt;/a&amp;gt; (&amp;lt;a href=&amp;#34;/archive/github.com~matthiasn~talk-transcripts~blob~master~Hickey_Rich~SimpleMadeEasy.md.html&amp;#34;&amp;gt;a&amp;lt;/a&amp;gt;), especially &amp;lt;a href=&amp;#34;https://en.wikipedia.org/wiki/John_Gall_(author)#Gall.27s_law&amp;#34;&amp;gt;at first&amp;lt;/a&amp;gt;&amp;lt;/p&amp;gt;
&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;
&amp;lt;p&amp;gt;be consistent&amp;lt;/p&amp;gt;
&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;
&amp;lt;p&amp;gt;no magic! be predictable&amp;lt;/p&amp;gt;
&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;
&amp;lt;p&amp;gt;no &amp;lt;a href=&amp;#34;https://en.wikipedia.org/wiki/Magic_number_(programming)#Unnamed_numerical_constants&amp;#34;&amp;gt;magic numbers/strings&amp;lt;/a&amp;gt; — use constants instead&amp;lt;/p&amp;gt;
&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;
&amp;lt;p&amp;gt;a good repro is 90% of a bugfix&amp;lt;/p&amp;gt;
&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;
&amp;lt;p&amp;gt;code is written once, but is read many times&amp;lt;/p&amp;gt;
&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;
&amp;lt;p&amp;gt;ship early, ship often&amp;lt;/p&amp;gt;
&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;
&amp;lt;p&amp;gt;first code, then ship, &amp;lt;a href=&amp;#34;https://www.cs.unc.edu/~stotts/COMP590-059-f24/robsrules.html&amp;#34;&amp;gt;then measure&amp;lt;/a&amp;gt; (&amp;lt;a href=&amp;#34;/archive/www.cs.unc.edu~~stotts~COMP590-059-f24~robsrules.html&amp;#34;&amp;gt;a&amp;lt;/a&amp;gt;), &amp;lt;em&amp;gt;then&amp;lt;/em&amp;gt; optimize&amp;lt;/p&amp;gt;
&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;
&amp;lt;p&amp;gt;remember the &amp;lt;a href=&amp;#34;https://en.wikipedia.org/wiki/Pareto_principle&amp;#34;&amp;gt;80/20 rule&amp;lt;/a&amp;gt;, and the &amp;lt;a href=&amp;#34;https://en.wikipedia.org/wiki/Ninety-ninety_rule&amp;#34;&amp;gt;90/90 rule&amp;lt;/a&amp;gt;&amp;lt;/p&amp;gt;
&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;
&amp;lt;p&amp;gt;design &amp;lt;a href=&amp;#34;https://en.wikipedia.org/wiki/Abstraction_layer&amp;#34;&amp;gt;layers of abstraction&amp;lt;/a&amp;gt; with &amp;lt;a href=&amp;#34;https://web.stanford.edu/~ouster/cgi-bin/cs190-winter18/lecture.php?topic=modularDesign&amp;#34;&amp;gt;deep modules&amp;lt;/a&amp;gt; (&amp;lt;a href=&amp;#34;/archive/web.stanford.edu~~ouster~cgi-bin~cs190-winter18~lecture.php%3ftopic=modularDesign.html&amp;#34;&amp;gt;a&amp;lt;/a&amp;gt;)&amp;lt;/p&amp;gt;
&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;
&amp;lt;p&amp;gt;prefer &amp;lt;a href=&amp;#34;https://vitalik.ca/general/2022/02/28/complexity.html&amp;#34;&amp;gt;encapsulated complexity&amp;lt;/a&amp;gt; (&amp;lt;a href=&amp;#34;/archive/vitalik.ca~general~2022~02~28~complexity.html&amp;#34;&amp;gt;a&amp;lt;/a&amp;gt;)&amp;lt;/p&amp;gt;
&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;
&amp;lt;p&amp;gt;&amp;lt;a href=&amp;#34;https://kentcdodds.com/blog/write-tests&amp;#34;&amp;gt;write tests. not too many. mostly integration.&amp;lt;/a&amp;gt; (&amp;lt;a href=&amp;#34;/archive/kentcdodds.com~blog~write-tests.html&amp;#34;&amp;gt;a&amp;lt;/a&amp;gt;)&amp;lt;/p&amp;gt;
&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;
&amp;lt;p&amp;gt;comments should describe &amp;lt;a href=&amp;#34;https://web.stanford.edu/~ouster/cgi-bin/cs190-winter18/lecture.php?topic=comments&amp;#34;&amp;gt;what&amp;amp;rsquo;s not obvious&amp;lt;/a&amp;gt; (&amp;lt;a href=&amp;#34;/archive/web.stanford.edu~~ouster~cgi-bin~cs190-winter18~lecture.php%3ftopic=comments.html&amp;#34;&amp;gt;a&amp;lt;/a&amp;gt;). i used to hate comments but &amp;lt;a href=&amp;#34;https://www.goodreads.com/en/book/show/39996759-a-philosophy-of-software-design&amp;#34;&amp;gt;this book&amp;lt;/a&amp;gt; (&amp;lt;a href=&amp;#34;/archive/www.goodreads.com~en~book~show~39996759-a-philosophy-of-software-design.html&amp;#34;&amp;gt;a&amp;lt;/a&amp;gt;) changed my mind.&amp;lt;/p&amp;gt;
&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;
&amp;lt;p&amp;gt;&amp;lt;a href=&amp;#34;https://en.wikipedia.org/wiki/Robustness_principle&amp;#34;&amp;gt;Postel&amp;amp;rsquo;s law&amp;lt;/a&amp;gt; is wrong — be strict both ways&amp;lt;/p&amp;gt;
&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;
&amp;lt;p&amp;gt;budget your &amp;lt;a href=&amp;#34;https://mcfunley.com/choose-boring-technology&amp;#34;&amp;gt;innovation tokens&amp;lt;/a&amp;gt; (&amp;lt;a href=&amp;#34;/archive/mcfunley.com~choose-boring-technology.html&amp;#34;&amp;gt;a&amp;lt;/a&amp;gt;)&amp;lt;/p&amp;gt;
&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;
&amp;lt;p&amp;gt;tools, not rules. e.g. &amp;lt;a href=&amp;#34;https://go.dev/blog/gofmt&amp;#34;&amp;gt;go fmt&amp;lt;/a&amp;gt; (&amp;lt;a href=&amp;#34;/archive/go.dev~blog~gofmt.html&amp;#34;&amp;gt;a&amp;lt;/a&amp;gt;)&amp;lt;/p&amp;gt;
&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;
&amp;lt;p&amp;gt;&amp;lt;a href=&amp;#34;https://terminal.hackernoon.com/the-mvp-is-dead-long-live-the-rat-233d5d16ab02&amp;#34;&amp;gt;RAT&amp;lt;/a&amp;gt;, not MVP (&amp;lt;a href=&amp;#34;/archive/terminal.hackernoon.com~the-mvp-is-dead-long-live-the-rat-233d5d16ab02.html&amp;#34;&amp;gt;a&amp;lt;/a&amp;gt;)&amp;lt;/p&amp;gt;
&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;
&amp;lt;p&amp;gt;when in doubt, &amp;lt;a href=&amp;#34;https://blog.codinghorror.com/boyds-law-of-iteration/&amp;#34;&amp;gt;iterate faster&amp;lt;/a&amp;gt; (&amp;lt;a href=&amp;#34;/archive/blog.codinghorror.com~boyds-law-of-iteration.html&amp;#34;&amp;gt;a&amp;lt;/a&amp;gt;)&amp;lt;/p&amp;gt;
&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;
&amp;lt;p&amp;gt;first you don&amp;amp;rsquo;t know the rules, then you learn the rules, then you break the rules&amp;lt;/p&amp;gt;
&amp;lt;/li&amp;gt;
&amp;lt;/ol&amp;gt;
&amp;lt;p&amp;gt;See also: &amp;lt;a href=&amp;#34;https://en.wikipedia.org/wiki/Category:Programming_principles&amp;#34;&amp;gt;programming principles&amp;lt;/a&amp;gt;, &amp;lt;a href=&amp;#34;https://github.com/dwmkerr/hacker-laws&amp;#34;&amp;gt;hacker laws&amp;lt;/a&amp;gt; (&amp;lt;a href=&amp;#34;/archive/github.com~dwmkerr~hacker-laws.html&amp;#34;&amp;gt;a&amp;lt;/a&amp;gt;), &amp;lt;a href=&amp;#34;https://github.com/zedr/dieter-rams-10-applied-to-software&amp;#34;&amp;gt;Dieter Rams&amp;amp;rsquo; principles&amp;lt;/a&amp;gt; (&amp;lt;a href=&amp;#34;/archive/github.com~zedr~dieter-rams-10-applied-to-software.html&amp;#34;&amp;gt;a&amp;lt;/a&amp;gt;), &amp;lt;a href=&amp;#34;https://www.python.org/dev/peps/pep-0020/&amp;#34;&amp;gt;the Zen of python&amp;lt;/a&amp;gt; (&amp;lt;a href=&amp;#34;/archive/python.org-dev-peps-pep-0020.html&amp;#34;&amp;gt;a&amp;lt;/a&amp;gt;), &amp;lt;a href=&amp;#34;https://urbit.org/docs/development/precepts&amp;#34;&amp;gt;Urbit precepts&amp;lt;/a&amp;gt; (&amp;lt;a href=&amp;#34;/archive/urbit.org-docs-development-precepts.html&amp;#34;&amp;gt;a&amp;lt;/a&amp;gt;)&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;&amp;lt;em&amp;gt;old version &amp;lt;a href=&amp;#34;https://gist.github.com/lyoshenka/0a43205aa9a072b196ff87e2c689a8b9&amp;#34;&amp;gt;here&amp;lt;/a&amp;gt;&amp;lt;/em&amp;gt;&amp;lt;/p&amp;gt;
</content>
 </entry>
 
 <entry>
   <title>Books Of 2016</title>
   <link href="https://grin.io/books-of-2016/"/>
   <updated>2016-12-26T00:00:00-05:00</updated>
   <id>https://grin.io/books-of-2016/</id>
   <content type="html">&amp;lt;p&amp;gt;Here are the books I read (or at least tried to read) this year:&amp;lt;/p&amp;gt;
&amp;lt;ul&amp;gt;
&amp;lt;li&amp;gt;&amp;lt;a href=&amp;#34;https://www.goodreads.com/book/show/40445.Altered_Carbon&amp;#34;&amp;gt;Altered Carbon&amp;lt;/a&amp;gt; by Richard K. Morgan&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;&amp;lt;a href=&amp;#34;https://www.goodreads.com/book/show/17859574-how-to-fail-at-almost-everything-and-still-win-big&amp;#34;&amp;gt;How to Fail at Almost Everything and Still Win Big&amp;lt;/a&amp;gt; by Scott Adams&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;&amp;lt;a href=&amp;#34;https://www.goodreads.com/book/show/5617966-a-guide-to-the-good-life&amp;#34;&amp;gt;A Guide to the Good Life: The Ancient Art of Stoic Joy&amp;lt;/a&amp;gt; by William B. Irvine&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;&amp;lt;a href=&amp;#34;https://www.goodreads.com/book/show/16690.The_Moon_is_a_Harsh_Mistress&amp;#34;&amp;gt;The Moon is a Harsh Mistress&amp;lt;/a&amp;gt; by Robert A. Heinlein&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;&amp;lt;a href=&amp;#34;https://www.goodreads.com/book/show/68429.The_Well_of_Ascension&amp;#34;&amp;gt;The Well of Ascension (Mistborn, #2)&amp;lt;/a&amp;gt; by Brandon Sanderson&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;&amp;lt;a href=&amp;#34;https://www.goodreads.com/book/show/16703.The_Yiddish_Policemen_s_Union&amp;#34;&amp;gt;The Yiddish Policemen&amp;amp;rsquo;s Union&amp;lt;/a&amp;gt; by Michael Chabon&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;&amp;lt;a href=&amp;#34;https://www.goodreads.com/book/show/13629.The_Mythical_Man_Month&amp;#34;&amp;gt;The Mythical Man-Month&amp;lt;/a&amp;gt; by Frederick P. Brooks Jr.&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;&amp;lt;a href=&amp;#34;https://www.goodreads.com/book/show/17333324-ancillary-justice&amp;#34;&amp;gt;Ancillary Justice&amp;lt;/a&amp;gt; by Ann Leckie&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;&amp;lt;a href=&amp;#34;https://www.goodreads.com/book/show/17255186-the-phoenix-project&amp;#34;&amp;gt;The Phoenix Project&amp;lt;/a&amp;gt; by Gene Kim&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;&amp;lt;a href=&amp;#34;https://www.goodreads.com/book/show/16176.The_Red_Queen&amp;#34;&amp;gt;The Red Queen: Sex and the Evolution of Human Nature&amp;lt;/a&amp;gt; by Matt Ridley&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;&amp;lt;a href=&amp;#34;https://www.goodreads.com/book/show/19302950-a-factory-of-one&amp;#34;&amp;gt;A Factory Of One&amp;lt;/a&amp;gt; by Daniel Markovitz&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;&amp;lt;a href=&amp;#34;https://www.goodreads.com/book/show/29396738-monstress-volume-1&amp;#34;&amp;gt;Monstress, Volume 1: Awakening&amp;lt;/a&amp;gt; by Marjorie M. Liu&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;&amp;lt;a href=&amp;#34;https://www.goodreads.com/book/show/8216968-the-art-of-learning&amp;#34;&amp;gt;The Art of Learning: A Journey in the Pursuit of Excellence&amp;lt;/a&amp;gt; by Josh Waitzkin&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;&amp;lt;a href=&amp;#34;https://www.goodreads.com/book/show/11878168-anything-you-want&amp;#34;&amp;gt;Anything You Want&amp;lt;/a&amp;gt; by Derek Sivers&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;&amp;lt;a href=&amp;#34;http://www.goodreads.com/book/show/61179.Ringworld&amp;#34;&amp;gt;Ringworld&amp;lt;/a&amp;gt; by Larry Niven&amp;lt;/li&amp;gt;
&amp;lt;/ul&amp;gt;
&amp;lt;p&amp;gt;My favorite books were The Art of Learning and Anything You Want (nonfiction) and Harsh Mistress, Altered Carbon, and Ringworld (fiction). For several of the above books, I started reading them but stopped partway through. Sometimes, this was because I didn&amp;amp;rsquo;t like the book at all (Yiddish Policemen&amp;amp;rsquo;s Union, Mythical Man-Month). Other times, its because the book was interesting at first, but got repetitive (Red Queen).&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;Overall, I tried to do two things: alternate fiction and nonfiction, and read award-winning sci-fi. For scifi, I focused on books that won both the Hugo and the Nebula awards. Sadly, that let me down a few times. Yiddish Policemen&amp;amp;rsquo;s Union was especially slow in the beginning, and I could not get into it at all.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;You can see all my 2016 books and reviews &amp;lt;a href=&amp;#34;https://www.goodreads.com/user/year_in_books/2016/7456812&amp;#34;&amp;gt;on Goodreads&amp;lt;/a&amp;gt;.&amp;lt;/p&amp;gt;
</content>
 </entry>
 
 <entry>
   <title>My Git Command Flow</title>
   <link href="https://grin.io/my-git-command-flow/"/>
   <updated>2015-11-26T00:00:00-05:00</updated>
   <id>https://grin.io/my-git-command-flow/</id>
   <content type="html">&amp;lt;p&amp;gt;&amp;lt;a href=&amp;#34;https://visualize-your-git.herokuapp.com/display/4075/sparse&amp;#34;&amp;gt;&amp;lt;img src=&amp;#34;/img/git-command-flow.png&amp;#34; alt=&amp;#34;my git command flow&amp;#34;&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;&amp;lt;code&amp;gt;st&amp;lt;/code&amp;gt; = &amp;lt;code&amp;gt;status&amp;lt;/code&amp;gt;&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;&amp;lt;code&amp;gt;cmm&amp;lt;/code&amp;gt; = &amp;lt;code&amp;gt;commit -m&amp;lt;/code&amp;gt;&amp;lt;/p&amp;gt;
</content>
 </entry>
 
 <entry>
   <title>Photobooth Samurai</title>
   <link href="https://grin.io/photobooth-samurai/"/>
   <updated>2015-08-28T00:00:00-04:00</updated>
   <id>https://grin.io/photobooth-samurai/</id>
   <content type="html">&amp;lt;p&amp;gt;&amp;lt;a href=&amp;#34;/img/photobooth-samurai.jpg&amp;#34;&amp;gt;&amp;lt;img src=&amp;#34;/img/photobooth-samurai.jpg&amp;#34; alt=&amp;#34;&amp;#34;&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/p&amp;gt;
</content>
 </entry>
 
 <entry>
   <title>Email, MIME, and Content-Types</title>
   <link href="https://grin.io/email-mine-content-types/"/>
   <updated>2015-02-15T00:00:00-05:00</updated>
   <id>https://grin.io/email-mine-content-types/</id>
   <content type="html">&amp;lt;p&amp;gt;I spent the last two days fixing the &amp;lt;a href=&amp;#34;http://usetopscore.com&amp;#34;&amp;gt;Topscore&amp;lt;/a&amp;gt; mailing lists so they forward attachments and inline images correctly. I had attempted this task twice in the past, failing completely the first time and coming close the second time but abandoning the effort because of time constraints. For some reason, this time things clicked for me and I finally understood how email is actually structured. Here are some of the things I learned. Hopefully they will be useful to you (or my future self)&amp;lt;/p&amp;gt;
&amp;lt;h2 id=&amp;#34;thinking-about-email&amp;#34;&amp;gt;Thinking About Email&amp;lt;/h2&amp;gt;
&amp;lt;p&amp;gt;Email does not consist of just text, or even plain and HTML text. Email is a way to send any information, and a description of that information, while formatting it all as plain text. The basic format is kind of like a box you get from Amazon: there&amp;amp;rsquo;s the shipping label (the email envelope, not part of MIME), the packing slip describing what&amp;amp;rsquo;s in the box (the email headers) and the actual stuff you ordered (the email body). The MIME format that email uses is recursive (fractal, even), so an email can contain several other fully-formed emails inside it (like putting a bunch of boxes inside a larger box). Each box (including the first outer box) is called a &amp;lt;code&amp;gt;MIME Part&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;body part&amp;lt;/code&amp;gt;.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;Every MIME part has two sections: headers and body. The headers come first. They are rigidly formatted and consist of simple stuff like who sent the email, where they sent it to, and the subject, but also authentication information, spam filter results, whether the email is an auto-generated &amp;amp;ldquo;I&amp;amp;rsquo;m on vacation&amp;amp;rdquo; message, etc. A MIME part doesn&amp;amp;rsquo;t have to have any headers, but almost all have at least the &amp;lt;code&amp;gt;Content-Type&amp;lt;/code&amp;gt; header, which is one of the keys to correctly decoding an email for reading. After the headers comes the body, which can be formatted any number of ways depending on the content-type.&amp;lt;/p&amp;gt;
&amp;lt;h2 id=&amp;#34;common-content-types&amp;#34;&amp;gt;Common Content-Types&amp;lt;/h2&amp;gt;
&amp;lt;h3 id=&amp;#34;textplain-texthtml&amp;#34;&amp;gt;text/plain, text/html&amp;lt;/h3&amp;gt;
&amp;lt;p&amp;gt;Nothing complicated here. The body contains plain text or HTML-formatted text. Just show it.&amp;lt;/p&amp;gt;
&amp;lt;h3 id=&amp;#34;multipartmixed&amp;#34;&amp;gt;multipart/mixed&amp;lt;/h3&amp;gt;
&amp;lt;p&amp;gt;The default content type if one is not present. Also the type that clients should fall back to if they don&amp;amp;rsquo;t understand or know how to deal with the one provided. It simply means that &amp;lt;strong&amp;gt;the body contains one or more independent subparts that should be displayed in order&amp;lt;/strong&amp;gt;. For example, some text followed by an image followed by more text.&amp;lt;/p&amp;gt;
&amp;lt;h3 id=&amp;#34;multipartalternative&amp;#34;&amp;gt;multipart/alternative&amp;lt;/h3&amp;gt;
&amp;lt;p&amp;gt;This is kind of the opposite of mixed. It means &amp;lt;strong&amp;gt;the body contains several representations of the same information, and only one of them should be shown at a time&amp;lt;/strong&amp;gt;. So if your email contains a plain-text version and an HTML version of the same message, those versions should be wrapped in a &amp;lt;code&amp;gt;multipart/alternative&amp;lt;/code&amp;gt; part. The parts should also be arranged in order of increasing complexity (e.g. text then HTML). The client should present the most complex format it understands, or as the user to choose which format they want.&amp;lt;/p&amp;gt;
&amp;lt;h3 id=&amp;#34;multipartrelated&amp;#34;&amp;gt;multipart/related&amp;lt;/h3&amp;gt;
&amp;lt;p&amp;gt;This one is kind of tricky. To quote the RFC, &amp;amp;ldquo;the Multipart/Related media type is &amp;lt;strong&amp;gt;intended for compound objects consisting of several inter-related body parts&amp;lt;/strong&amp;gt;.  For a Multipart/Related object, proper display cannot be achieved by individually displaying the constituent body parts.&amp;amp;rdquo; An example of this would be text with inline images. The first body part (or whichever part is designated the &amp;amp;ldquo;root&amp;amp;rdquo;) would contain the text with links to images in the subsequent body parts (using the Content-ID header).&amp;lt;/p&amp;gt;
&amp;lt;h2 id=&amp;#34;references&amp;#34;&amp;gt;References&amp;lt;/h2&amp;gt;
&amp;lt;ul&amp;gt;
&amp;lt;li&amp;gt;&amp;lt;a href=&amp;#34;https://tools.ietf.org/html/rfc822&amp;#34;&amp;gt;RFC822&amp;lt;/a&amp;gt;, &amp;lt;a href=&amp;#34;https://tools.ietf.org/html/rfc2822&amp;#34;&amp;gt;RFC2822&amp;lt;/a&amp;gt;: Email structure, the &amp;amp;ldquo;memo&amp;amp;rdquo; format (headers/body)&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;&amp;lt;a href=&amp;#34;https://tools.ietf.org/html/rfc1521&amp;#34;&amp;gt;RFC1521&amp;lt;/a&amp;gt;: The MIME format&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;&amp;lt;a href=&amp;#34;https://tools.ietf.org/html/rfc2112&amp;#34;&amp;gt;RFC2112&amp;lt;/a&amp;gt;: multipart/related content type&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;&amp;lt;a href=&amp;#34;https://en.wikipedia.org/wiki/MIME&amp;#34;&amp;gt;https://en.wikipedia.org/wiki/MIME&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;&amp;lt;a href=&amp;#34;https://msdn.microsoft.com/en-us/library/ms527355(v=exchg.10).aspx&amp;#34;&amp;gt;https://msdn.microsoft.com/en-us/library/ms527355(v=exchg.10).aspx&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&amp;lt;/ul&amp;gt;
</content>
 </entry>
 
 <entry>
   <title>Raspberry Pi Weather Station</title>
   <link href="https://grin.io/raspberry-pi-weather-station/"/>
   <updated>2014-09-22T00:00:00-04:00</updated>
   <id>https://grin.io/raspberry-pi-weather-station/</id>
   <content type="html">&amp;lt;p&amp;gt;I recently bought a Raspberry Pi to play around with, and also started brewing beer a few weeks ago. I figured it would be great to build something to help with the brewing, so I went with an automated temperature/humidity sensor to track the climate of the brew. After a bit of soldering, wiring, and programming, everything is up and running. Here it is in all it&amp;amp;rsquo;s glory:&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;&amp;lt;img src=&amp;#34;/img/raspi-weather-station.jpg&amp;#34; alt=&amp;#34;&amp;#34;&amp;gt;&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;Ingredients:&amp;lt;/p&amp;gt;
&amp;lt;ul&amp;gt;
&amp;lt;li&amp;gt;&amp;lt;a href=&amp;#34;http://www.raspberrypi.org/products/model-b-plus/&amp;#34;&amp;gt;Raspberry Pi B&#43;&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;&amp;lt;a href=&amp;#34;http://www.adafruit.com/products/385&amp;#34;&amp;gt;DHT22&amp;lt;/a&amp;gt; (&amp;lt;a href=&amp;#34;/archive/www.adafruit.com~product~385.html&amp;#34;&amp;gt;a&amp;lt;/a&amp;gt;) temperature/humidity sensor&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;&amp;lt;a href=&amp;#34;https://www.adafruit.com/products/1990&amp;#34;&amp;gt;GPIO Breakout Connector&amp;lt;/a&amp;gt; (&amp;lt;a href=&amp;#34;/archive/www.adafruit.com~product~1990.html&amp;#34;&amp;gt;a&amp;lt;/a&amp;gt;) to connect the breadboard to the Pi&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;Solderless breadboard&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;Several male-male wires&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;Soldering iron &#43; solder&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;USB Wifi adapter - &amp;lt;a href=&amp;#34;http://www.amazon.com/gp/product/B003MTTJOY&amp;#34;&amp;gt;this one&amp;lt;/a&amp;gt; worked well&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;Case for the Pi (optional)&amp;lt;/li&amp;gt;
&amp;lt;/ul&amp;gt;
&amp;lt;h2 id=&amp;#34;soldering-the-breakout-connector&amp;#34;&amp;gt;Soldering the breakout connector&amp;lt;/h2&amp;gt;
&amp;lt;p&amp;gt;I had never soldered anything else in my life, so I was quite scared to not mess anything up, but it turned out much simpler than I expected. I read &amp;lt;a href=&amp;#34;http://www.aaroncake.net/electronics/solder.htm&amp;#34;&amp;gt;this article&amp;lt;/a&amp;gt; (&amp;lt;a href=&amp;#34;/archive/www.aaroncake.net~electronics~solder.htm.html&amp;#34;&amp;gt;a&amp;lt;/a&amp;gt;), watched &amp;lt;a href=&amp;#34;https://www.youtube.com/watch?v=I_NU2ruzyc4&amp;#34;&amp;gt;this youtube video&amp;lt;/a&amp;gt;, and went at it. It was slow going at first, but two things seemed to work well for me. First, putting a bit of solder on the tip of the iron before heating the joint seemed to help a lot. I think the solder helped conduct the heat into the joint. Second, when it was time to add the solder to the joint, it often helped to touch the tip of the solder to the iron and then move it down onto the joint. I think that helped melt the solder, because touching it to the opposite side of the pin was often not enough. Then again, the soldering iron I was using came from the West Philly Tool Library and was probably somewhat old and not in the best shape. The tip definitely looked like it could use a good cleaning.&amp;lt;/p&amp;gt;
&amp;lt;h2 id=&amp;#34;wiring-it-up&amp;#34;&amp;gt;Wiring it up&amp;lt;/h2&amp;gt;
&amp;lt;p&amp;gt;Once the soldering was done, the rest was easy. I connected everything as shown below. The connector in this diagram is for an older version of the Pi, but the idea is the same.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;&amp;lt;strong&amp;gt;Update 2020-01-02:&amp;lt;/strong&amp;gt; The DHT sensor has an operating range of 3V to 6V. If you can&amp;amp;rsquo;t get a reading, try powering it from the 5V pin.&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;&amp;lt;img src=&amp;#34;/img/raspi-dht22-wiring.gif&amp;#34; alt=&amp;#34;&amp;#34;&amp;gt;&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;Then I followed the instructions &amp;lt;a href=&amp;#34;https://learn.adafruit.com/dht-humidity-sensing-on-raspberry-pi-with-gdocs-logging/software-install-updated&amp;#34;&amp;gt;here&amp;lt;/a&amp;gt; (&amp;lt;a href=&amp;#34;/archive/learn.adafruit.com~dht-humidity-sensing-on-raspberry-pi-with-gdocs-logging~software-install-updated.html&amp;#34;&amp;gt;a&amp;lt;/a&amp;gt;) to install the Python library and the sample code. Here&amp;amp;rsquo;s the short version:&amp;lt;/p&amp;gt;
&amp;lt;pre&amp;gt;&amp;lt;code&amp;gt;# install python
sudo apt-get update
sudo apt-get install build-essential python-dev git

# get library/sample code
git clone https://github.com/adafruit/Adafruit_Python_DHT.git
cd Adafruit_Python_DHT

# install library
sudo python setup.py install

# run sample. first arg is the sensor type (11, 22, 2302). second arg is the GPIO pin that the sensor is connected to
cd examples
sudo ./AdafruitDHT.py 22 4
&amp;lt;/code&amp;gt;&amp;lt;/pre&amp;gt;
&amp;lt;p&amp;gt;That&amp;amp;rsquo;s it. Somewhat surprisingly, everything worked on the first try. This still doesn&amp;amp;rsquo;t mean that my soldering job worked, but at least the power, ground and data pins are soldered correctly. Also check the &amp;lt;code&amp;gt;google_spreadsheet.py&amp;lt;/code&amp;gt; example for how to write the temp data to a Google doc every few minutes. I couldn&amp;amp;rsquo;t get the google doc connection to work, so I just wrote the data to a file.&amp;lt;/p&amp;gt;
</content>
 </entry>
 
 <entry>
   <title>Hard Drive Recovery</title>
   <link href="https://grin.io/hard-drive-recovery/"/>
   <updated>2014-09-11T00:00:00-04:00</updated>
   <id>https://grin.io/hard-drive-recovery/</id>
   <content type="html">&amp;lt;p&amp;gt;My first foray into data recovery ended up being a big success. My GF&amp;amp;rsquo;s sister-in-law dropped her laptop and her hard drive started failing. She couldn&amp;amp;rsquo;t get the laptop to boot, and when she took it to the Apple Store, they told her they can&amp;amp;rsquo;t do anything for her. I knew I could do better.&amp;lt;/p&amp;gt;
&amp;lt;h2 id=&amp;#34;first-save-the-data&amp;#34;&amp;gt;First, Save the Data&amp;lt;/h2&amp;gt;
&amp;lt;p&amp;gt;When you&amp;amp;rsquo;re trying to recover a drive with hardware issues, or if you&amp;amp;rsquo;re not sure what the exact issue is, the first thing you have to do is get as much data off the drive as you can. You never know if the drive is destroying more data as you use it, or when it will start to fail worse or die completely. Fortunately there&amp;amp;rsquo;s a great program called &amp;lt;a href=&amp;#34;http://www.forensicswiki.org/wiki/Ddrescue&amp;#34;&amp;gt;ddrescue&amp;lt;/a&amp;gt; that will image the drive for you in the safest way it can. It keeps a log of all the sectors it reads, so it won&amp;amp;rsquo;t reread unneccesary data if you stop and restart it. For an in-depth but still simple explanation of how it works, check out &amp;lt;a href=&amp;#34;https://www.gnu.org/software/ddrescue/manual/ddrescue_manual.html&amp;#34;&amp;gt;the manual&amp;lt;/a&amp;gt; (&amp;lt;a href=&amp;#34;/archive/www.gnu.org~software~ddrescue~manual~ddrescue_manual.html&amp;#34;&amp;gt;a&amp;lt;/a&amp;gt;). If you wanna get straight to it, then find a harddrive with enough room, install ddrescue, and do the following:&amp;lt;/p&amp;gt;
&amp;lt;pre&amp;gt;&amp;lt;code&amp;gt;cd /path/to/large/hard/drive/recovery/dir

# first pass - copy as much good data as possible without worrying about errors
sudo ddrescue --no-split --verbose /dev/failed-drive drive-image.bin ddrescue.log

# second pass - go back over errors and get as much as you can
sudo ddrescue --direct --max-retries=3 -verbose /dev/failed-drive drive-image.bin ddrescue.log

# optional third pass - if you don&amp;#39;t have all the data by now, you can try re-trimming
sudo ddrescue --retrim --direct --max-retries=3 -verbose /dev/failed-drive drive-image.bin ddrescue.log
&amp;lt;/code&amp;gt;&amp;lt;/pre&amp;gt;
&amp;lt;h2 id=&amp;#34;check-the-filesystem&amp;#34;&amp;gt;Check the Filesystem&amp;lt;/h2&amp;gt;
&amp;lt;p&amp;gt;Hopefully at this point, you have a complete image of your failing drive. If you get a full copy, recovery is as simple as mounting a partition from the image and copying the files. Use &amp;lt;code&amp;gt;fdisk&amp;lt;/code&amp;gt; to read the partition table (&amp;lt;code&amp;gt;gdisk&amp;lt;/code&amp;gt; for GPT tables) and &amp;lt;code&amp;gt;mount&amp;lt;/code&amp;gt; to to mount the appropriate partition.&amp;lt;/p&amp;gt;
&amp;lt;pre&amp;gt;&amp;lt;code&amp;gt;# read partition table
fdisk -l drive-image.bin
&amp;lt;/code&amp;gt;&amp;lt;/pre&amp;gt;
&amp;lt;p&amp;gt;Note the start and end sectors of the partition you want to mount, and the partition size. You&amp;amp;rsquo;ll have to do a little math to convert from sectors to bytes. To get the start, multiply the start sector by the sector size (usually 512 bytes). To get the end, subtract the start sector from the end sector and multiply that by the sector size. Here&amp;amp;rsquo;s an example:&amp;lt;/p&amp;gt;
&amp;lt;pre&amp;gt;&amp;lt;code&amp;gt;$ gdisk -l drive-image.bin
GPT fdisk (gdisk) version 0.8.1

Partition table scan:
  MBR: protective
  BSD: not present
  APM: not present
  GPT: present

Found valid GPT with protective MBR; using GPT.
Disk drive-image.bin: 488397168 sectors, 232.9 GiB
Logical sector size: 512 bytes            &amp;amp;lt;- **THIS IS THE SECTOR SIZE**
Disk identifier (GUID): A6E3B260-D163-4C88-8560-D2870577ED94
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 488397134
Partitions will be aligned on 8-sector boundaries
Total free space is 262157 sectors (128.0 MiB)

Number  Start (sector)    End (sector)  Size       Code  Name
   1              40          409639   200.0 MiB   EF00  EFI System Partition
   2          409640       488134983   232.6 GiB   AF00  Customer

$ bc
bc 1.06.95
Copyright 1991-1994, 1997, 1998, 2000, 2004, 2006 Free Software Foundation, Inc.
This is free software with ABSOLUTELY NO WARRANTY.
For details type `warranty&amp;#39;.
409640*512
209735680               &amp;amp;lt;- **THIS IS THE FIRST BYTE OF THE SECOND PARTITION**
(488134983-409640)*512
249715375616            &amp;amp;lt;- **THIS IS THE SIZE OF THE SECOND PARTITION IN BYTES**
quit
&amp;lt;/code&amp;gt;&amp;lt;/pre&amp;gt;
&amp;lt;p&amp;gt;Now that you have the information you need, mount the partition using Linux&amp;amp;rsquo;s loopback device. The &amp;lt;code&amp;gt;offset&amp;lt;/code&amp;gt; option is the first byte of the partition you&amp;amp;rsquo;re mounting. The &amp;lt;code&amp;gt;sizelimit&amp;lt;/code&amp;gt; is the size of the partition.&amp;lt;/p&amp;gt;
&amp;lt;pre&amp;gt;&amp;lt;code&amp;gt;sudo mkdir /media/loop
sudo mount -o loop,offset=209735680,sizelimit=249715375616 drive-image.bin /media/loop
&amp;lt;/code&amp;gt;&amp;lt;/pre&amp;gt;
&amp;lt;p&amp;gt;If the filesystem is broken, you can try using &amp;lt;code&amp;gt;fsck&amp;lt;/code&amp;gt; to repair it. For more extreme repairs, check out &amp;lt;a href=&amp;#34;http://www.cgsecurity.org/wiki/TestDisk&amp;#34;&amp;gt;TestDisk&amp;lt;/a&amp;gt; and the &amp;lt;code&amp;gt;mmls&amp;lt;/code&amp;gt; utility from &amp;lt;a href=&amp;#34;http://sleuthkit.org/sleuthkit/&amp;#34;&amp;gt;Sleuthkit&amp;lt;/a&amp;gt;. Another option is to try to mount with a backup superblock. TestDisk can help you find the backup superblock(s) and see if it matches the main superblock.&amp;lt;/p&amp;gt;
&amp;lt;h2 id=&amp;#34;mounting-failed-now-what&amp;#34;&amp;gt;Mounting Failed, Now What?&amp;lt;/h2&amp;gt;
&amp;lt;p&amp;gt;If you can&amp;amp;rsquo;t get the image to mount, fear not. You can still try to recover the files from the raw image. There are a handful of tools that can help you do that (e.g. foremost, scalpel, magic rescue, photorec, sleuthkit/autopsy). I used Photorec because it came with TestDisk, and it worked like a charm.&amp;lt;/p&amp;gt;
&amp;lt;pre&amp;gt;&amp;lt;code&amp;gt;photorec -d /path/to/put/recovered/files drive-image.bin
&amp;lt;/code&amp;gt;&amp;lt;/pre&amp;gt;
&amp;lt;p&amp;gt;PhotoRec has several options, and lets you choose what types of files to recover. I just ran it for all the files to see what it will pull up. In my case, &amp;lt;code&amp;gt;ddrescue&amp;lt;/code&amp;gt; copied all but 5MB of a 180GB partition, so even though I couldn&amp;amp;rsquo;t mount the image, I got a ton of files from the drive. Many of them were system files that I didn&amp;amp;rsquo;t care about, but I also got all my important docs and my music collection. Hooray!&amp;lt;/p&amp;gt;
&amp;lt;h2 id=&amp;#34;other-resources&amp;#34;&amp;gt;Other Resources&amp;lt;/h2&amp;gt;
&amp;lt;ul&amp;gt;
&amp;lt;li&amp;gt;&amp;lt;a href=&amp;#34;https://help.ubuntu.com/community/DataRecovery&amp;#34;&amp;gt;Data Recovery - Ubuntu Wiki&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;&amp;lt;a href=&amp;#34;http://www.cyberciti.biz/tips/surviving-a-linux-filesystem-failures.html&amp;#34;&amp;gt;Surviving a Linux Filesystem Failure&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&amp;lt;li&amp;gt;Tools I used the most: ddrescue, sleuthkit (fls,mmls), testdisk, photorec, gdisk&amp;lt;/li&amp;gt;
&amp;lt;/ul&amp;gt;
</content>
 </entry>
 
 <entry>
   <title>Free Dynamic DNS</title>
   <link href="https://grin.io/free-dynamic-dns/"/>
   <updated>2014-01-31T00:00:00-05:00</updated>
   <id>https://grin.io/free-dynamic-dns/</id>
   <content type="html">&amp;lt;h2 id=&amp;#34;the-problem&amp;#34;&amp;gt;The Problem&amp;lt;/h2&amp;gt;
&amp;lt;p&amp;gt;Having easy access to my machines over the internet is very important to me. I&amp;amp;rsquo;ve used several dynamic DNS services in the past, but none of them ever felt right. Many of them cost money for more than one or two addresses and they all give you a weird domain name. I wanted to be able to SSH to mymachine.grin.io. Here&amp;amp;rsquo;s how I did it with Cloudflare and Bash.&amp;lt;/p&amp;gt;
&amp;lt;h2 id=&amp;#34;step-1-cloudflare&amp;#34;&amp;gt;Step 1: Cloudflare&amp;lt;/h2&amp;gt;
&amp;lt;p&amp;gt;&amp;lt;a href=&amp;#34;https://cloudflare.com&amp;#34;&amp;gt;Cloudflare&amp;lt;/a&amp;gt; is a fantastic service. They do several things: protect your site from DDOS attacks, auto-CDN your content, provide analytics, and other good stuff. But they can also serve as a free DNS host with a simple interface and an great API. Create an account follow the instructions to move your DNS to their servers. Once you&amp;amp;rsquo;re all set up, make an A record for the subdomain you want to use. I like to use the names of my machines. You could also do &amp;lt;em&amp;gt;ssh.domain.com&amp;lt;/em&amp;gt;.&amp;lt;/p&amp;gt;
&amp;lt;h2 id=&amp;#34;step-2-the-last-step&amp;#34;&amp;gt;Step 2: The Last Step&amp;lt;/h2&amp;gt;
&amp;lt;p&amp;gt;Download &amp;lt;a href=&amp;#34;https://gist.github.com/lyoshenka/6257440&amp;#34;&amp;gt;the script&amp;lt;/a&amp;gt; and put in your Cloudflare login credentials and subdomain. It will get your current IP and update the Cloudflare DNS record. Set it up to run hourly in cron. Boom, dynamic DNS that&amp;amp;rsquo;s free and easy.&amp;lt;/p&amp;gt;
&amp;lt;h2 id=&amp;#34;too-simple&amp;#34;&amp;gt;Too Simple?&amp;lt;/h2&amp;gt;
&amp;lt;p&amp;gt;Before this setup, I had also made &amp;lt;a href=&amp;#34;https://github.com/lyoshenka/cloudflare-ddns&amp;#34;&amp;gt;this PHP version&amp;lt;/a&amp;gt; that works pretty much the same way. It&amp;amp;rsquo;s a bit more robust and can create the A record for you (useful if you don&amp;amp;rsquo;t want to log into Cloudflare each time you add a new subdomain). However, I prefer the simplicity and portability of the Bash approach.&amp;lt;/p&amp;gt;
</content>
 </entry>
 

</feed>
