<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>One More Line</title>
    <description>Weekly, bite-sized practical tips and insights to help you get just a little better at coding, writing, or design - one line at a time.</description>
    
    <link>https://coffee-chats-with-jono-98b910.beehiiv.com/</link>
    <atom:link href="https://rss.beehiiv.com/feeds/1pzymKfnla.xml" rel="self"/>
    
    <lastBuildDate>Thu, 9 Jul 2026 13:57:34 +0000</lastBuildDate>
    <pubDate>Thu, 22 May 2025 12:14:13 +0000</pubDate>
    <atom:published>2025-05-22T12:14:13Z</atom:published>
    <atom:updated>2026-07-09T13:57:34Z</atom:updated>
    
      <category>Productivity</category>
      <category>Software Engineering</category>
      <category>Technology</category>
    <copyright>Copyright 2026, One More Line</copyright>
    
    <image>
      <url>https://media.beehiiv.com/cdn-cgi/image/fit=scale-down,format=auto,onerror=redirect,quality=80/uploads/publication/logo/f52af57e-32af-45d6-9ace-78a323b883ad/One_More_Line_Logo_2.jpg</url>
      <title>One More Line</title>
      <link>https://coffee-chats-with-jono-98b910.beehiiv.com/</link>
    </image>
    
    <docs>https://www.rssboard.org/rss-specification</docs>
    <generator>beehiiv</generator>
    <language>en-us</language>
    <webMaster>support@beehiiv.com (Beehiiv Support)</webMaster>

      <item>
  <title>Ruby Date Parsing Shenanigans</title>
  <description>Getting over a creative slump, fun Ruby Date quirks, and the usual cool stuff around the web</description>
  <link>https://coffee-chats-with-jono-98b910.beehiiv.com/p/ruby-date-parsing-shenanigans</link>
  <guid isPermaLink="true">https://coffee-chats-with-jono-98b910.beehiiv.com/p/ruby-date-parsing-shenanigans</guid>
  <pubDate>Thu, 22 May 2025 12:14:13 +0000</pubDate>
  <atom:published>2025-05-22T12:14:13Z</atom:published>
    <dc:creator>Jonathan Yeong</dc:creator>
  <content:encoded><![CDATA[
    <div class='beehiiv'><style>
  .bh__table, .bh__table_header, .bh__table_cell { border: 1px solid #C0C0C0; }
  .bh__table_cell { padding: 5px; background-color: #FFFFFF; }
  .bh__table_cell p { color: #2D2D2D; font-family: 'Helvetica',Arial,sans-serif !important; overflow-wrap: break-word; }
  .bh__table_header { padding: 5px; background-color:#F1F1F1; }
  .bh__table_header p { color: #2A2A2A; font-family:'Trebuchet MS','Lucida Grande',Tahoma,sans-serif !important; overflow-wrap: break-word; }
</style><div class='beehiiv__body'><p class="paragraph" style="text-align:left;">I&#39;ve been in a creative slump this week. There hasn&#39;t been a particular topic I wanted to write about. When I&#39;m in a slump I usually need to sleep, read, or build more to get out of it.</p><p class="paragraph" style="text-align:left;">So I spent the majority of yesterday coding to see if it would trigger a topic. And I came across some Ruby Date parsing shenanigans I wanted to share with you!</p><p class="paragraph" style="text-align:left;">In Ruby, <code>Date.parse</code> converts a string into a date object. I was using it to convert an input from a form to a date object I could use elsewhere. For example:</p><div class="codeblock"><pre><code>Date.parse(&quot;2025-05-22&quot;)
# =&gt; Thu, 22 May 2025</code></pre></div><p class="paragraph" style="text-align:left;">Could we use <code>Date.parse</code> to validate strings? I would assume <code>Date.parse</code> would error given an invalid string. And it does!</p><div class="codeblock"><pre><code>Date.parse(&quot;1234&quot;)
# &#39;Date.parse&#39;: invalid date (Date::Error)</code></pre></div><p class="paragraph" style="text-align:left;">How about the string <code>12345</code>?</p><div class="codeblock"><pre><code>Date.parse(&quot;12345&quot;)
# =&gt; Mon, 10 Dec 2012</code></pre></div><p class="paragraph" style="text-align:left;">Wait what? Isn&#39;t <code>12345</code> just as invalid as <code>1234</code>?</p><p class="paragraph" style="text-align:left;">It turns out <code>Date.parse</code> does some funky stuff under the hood. Based on the string length, from 2 digits up to 14, it will perform different regex matches. Assigning the match to specific date labels.</p><p class="paragraph" style="text-align:left;"><code>2025-05-22</code> is a simple one; 2025 is matched to a year. 05 is matched to a month. And 22 is matched to day of month.</p><p class="paragraph" style="text-align:left;">What about our &quot;invalid&quot; strings?</p><p class="paragraph" style="text-align:left;">Since <code>1234</code> is 4 characters, it gets split into two components. 12 is the month, and 34 is the day of the month. Since there aren&#39;t 34 days in December, Date parse fails.</p><p class="paragraph" style="text-align:left;">And <code>12345</code> being 5 characters will have different labels assigned to the numbers. 12 is matched to the year (2012) and 345 is matched to the day in the year. Giving 10 Dec 2012.</p><p class="paragraph" style="text-align:left;">Interestingly, <code>69123</code> returns <code>03 May 1969</code>. Two char digits 69-99 refer to years in the twentieth century (1969-1999). While values in the range 00-68 refer to years in the twenty-first century (2000-2068). Maybe this is common knowledge, but it wasn&#39;t to me!</p><p class="paragraph" style="text-align:left;">So what are the lessons here?</p><p class="paragraph" style="text-align:left;">Don&#39;t be afraid to read the source code. I used an LLM to help navigate the Ruby source code, feeding it snippets and asking questions to understand what the hell was happening.</p><p class="paragraph" style="text-align:left;">More importantly, don&#39;t use <code>Date.parse</code> to validate strings! The docs do say that <code>Date.parse</code> results could be unpredictable. I should&#39;ve listened.</p><h2 class="heading" style="text-align:left;" id="cool-stuff-on-the-web">Cool stuff on the web</h2><p class="paragraph" style="text-align:left;"><a class="link" href="https://schembri.me/solid-interface-segregation-principle-isp/" target="_blank" rel="noopener noreferrer nofollow">SOLID: Interface Segregation Principle (ISP)</a> the penultimate post in the series by Jamie Schembri. It&#39;s a well explained post on ISP and a good refresher on SOLID principles.</p><p class="paragraph" style="text-align:left;"><a class="link" href="https://help.obsidian.md/bases" target="_blank" rel="noopener noreferrer nofollow">Obsidian will soon have databases (open to early access users)</a>! I&#39;m itching to try my hand at building some sort of content pipeline or link aggregator with bases.</p><p class="paragraph" style="text-align:left;"><a class="link" href="https://notes.andymatuschak.org/zHTevHGZQPu8QHpRhUmtsuK" target="_blank" rel="noopener noreferrer nofollow">My morning writing practice</a> a note by Andy Matuschak. When Matuschak&#39;s writing inbox doesn&#39;t yield fruitful topics, they need to vary their inputs, or give themselves more creative space.</p><hr class="content_break"><p class="paragraph" style="text-align:left;">Thanks for reading this week&#39;s newsletter. If you have any thoughts or questions, feel free to reach out by replying to this email or send me a DM on <a class="link" href="https://bsky.app/profile/jonathanyeong.com?_bhlid=83cb3cdb892790eb353e0dd9f2d0749e21110d70" target="_blank" rel="noopener noreferrer nofollow">Bluesky</a>.</p><p class="paragraph" style="text-align:left;">I&#39;ll be away on vacation for the next two weeks so I&#39;ll catch you all in June!</p><p class="paragraph" style="text-align:left;">Jono</p></div><div class='beehiiv__footer'><br class='beehiiv__footer__break'><hr class='beehiiv__footer__line'><a target="_blank" class="beehiiv__footer_link" style="text-align: center;" href="https://www.beehiiv.com/?utm_campaign=43d7624a-1613-47e3-8823-90cac6ebd9c5&utm_medium=post_rss&utm_source=one_more_line">Powered by beehiiv</a></div></div>
  ]]></content:encoded>
</item>

      <item>
  <title>How much does AI sound like me?</title>
  <description>Experimenting with using AI to write like me, and some thoughts about the result. </description>
  <link>https://coffee-chats-with-jono-98b910.beehiiv.com/p/how-much-does-ai-sound-like-me</link>
  <guid isPermaLink="true">https://coffee-chats-with-jono-98b910.beehiiv.com/p/how-much-does-ai-sound-like-me</guid>
  <pubDate>Wed, 14 May 2025 12:29:36 +0000</pubDate>
  <atom:published>2025-05-14T12:29:36Z</atom:published>
    <dc:creator>Jonathan Yeong</dc:creator>
  <content:encoded><![CDATA[
    <div class='beehiiv'><style>
  .bh__table, .bh__table_header, .bh__table_cell { border: 1px solid #C0C0C0; }
  .bh__table_cell { padding: 5px; background-color: #FFFFFF; }
  .bh__table_cell p { color: #2D2D2D; font-family: 'Helvetica',Arial,sans-serif !important; overflow-wrap: break-word; }
  .bh__table_header { padding: 5px; background-color:#F1F1F1; }
  .bh__table_header p { color: #2A2A2A; font-family:'Trebuchet MS','Lucida Grande',Tahoma,sans-serif !important; overflow-wrap: break-word; }
</style><div class='beehiiv__body'><p class="paragraph" style="text-align:left;">I try to use AI sparingly when writing. One thing I avoid is using AI to write for me. We all know how AI slop sounds. Or do we?</p><p class="paragraph" style="text-align:left;">With Claude AI, and I&#39;m sure others, you can feed it pieces of your writing to have it write in your voice. I was curious so I gave Claude my last 6 newsletters and had it write a few paragraphs. What I want to find out is how close AI can get to my voice.</p><p class="paragraph" style="text-align:left;">Below are two snippets about shifting from external to internal validation - something I&#39;ve been thinking about a lot recently.</p><p class="paragraph" style="text-align:left;">One of these snippets is written by me and the other by AI. Can you guess which one?</p><h2 class="heading" style="text-align:left;" id="snippet-one">Snippet One</h2><p class="paragraph" style="text-align:left;">What if you couldn&#39;t tell anyone about your achievements? Would you still pursue them with the same passion? That&#39;s a powerful question to consider when examining our relationship with validation.</p><p class="paragraph" style="text-align:left;">The shift from external to internal validation begins when we start measuring our work against our own standards rather than anticipating others&#39; reactions. It involves creating personal benchmarks that reflect what truly matters to us—not what might generate likes, praise, or recognition.</p><p class="paragraph" style="text-align:left;">When we design our projects, write our code, or craft our words primarily to satisfy our own curiosity and values, we cultivate a resilient sense of accomplishment that doesn&#39;t evaporate when external feedback is mixed or absent.</p><p class="paragraph" style="text-align:left;">This transition isn&#39;t about rejecting feedback entirely—it&#39;s about ensuring your motivation comes from within first, allowing external validation to serve as a pleasant bonus rather than the driving force behind your efforts. The most fulfilling work often happens in those quiet moments when you&#39;re completely absorbed in the process, regardless of who might eventually see the results.</p><h2 class="heading" style="text-align:left;" id="snippet-one">Snippet Two</h2><p class="paragraph" style="text-align:left;">Would you still do what you do if nobody sees it? A question around external validation that I would hope to answer yes. But the allure of external validation is powerful. And social media has made it all the more enticing and destructive.</p><p class="paragraph" style="text-align:left;">Something I&#39;ve observed in myself is the inability to separate metrics from my own self worth. For example, if I publish a newsletter and I see a few people unsubscribe. It tells me that my last newsletter was unworthy. That I&#39;ve failed.</p><p class="paragraph" style="text-align:left;">External validation causes us to make opinionated choices for the wrong reasons. Either we change to get more likes. Or we become discouraged and give up. What we need to develop instead is internal validation.</p><p class="paragraph" style="text-align:left;">We can do that by fulfilling three needs — autonomy, competence, and relatedness.</p><p class="paragraph" style="text-align:left;">These three needs encompass self-determination theory which posits that people are more motivated when they feel they have ownership over their lives, mastery of skills, and deep relationships.</p><h2 class="heading" style="text-align:left;" id="conclusion">Conclusion</h2><p class="paragraph" style="text-align:left;">If you thought the first snippet was written by AI, you&#39;re right!</p><p class="paragraph" style="text-align:left;">It&#39;s unsettling how close it&#39;s getting. Especially, how both snippets started with a similar question. But the AI snippet has a very uniform writing rhythm - long sentences about the same length.</p><p class="paragraph" style="text-align:left;">Maybe if I gave it more examples it would get closer and closer to my voice. I could also see using AI to generate text which you would edit to fit your voice. It would make the writing process faster.</p><p class="paragraph" style="text-align:left;">But I don&#39;t know if we want that. I certainly don&#39;t.</p><p class="paragraph" style="text-align:left;">I don&#39;t want AI to pigeonhole my writing style. Maybe. I. Want. To. Have. One. Word. Sentences. Everywhere.</p><p class="paragraph" style="text-align:left;">I also want to struggle with writing. It ties into the thought on validation. Building competency is how we find internal validation. I don&#39;t want AI to take that journey away from me.</p><p class="paragraph" style="text-align:left;">A bit of a longer newsletter today, but an experiment I was curious to try. Onto the links!</p><hr class="content_break"><h2 class="heading" style="text-align:left;" id="cool-stuff-around-the-web">Cool stuff around the web</h2><p class="paragraph" style="text-align:left;"><a class="link" href="https://newsletters.feedbinusercontent.com/d6e/d6ec96ba6888b5ea0b20d3d85b3b0896bb2dc950.html" target="_blank" rel="noopener noreferrer nofollow">Kent Beck writes about Augmenting Coding & Design</a> - Development feels like breathing but AI is a genie that just inhales. It continually adds features increasing complexity. How can we use AI to breathe - not only inahale?</p><p class="paragraph" style="text-align:left;"><a class="link" href="https://github.com/ccbikai/Sink" target="_blank" rel="noopener noreferrer nofollow">Sink is a self hosted link shortener with analytics</a> - I&#39;m taking notes on what needs to go into a self hosted open source project.</p><p class="paragraph" style="text-align:left;"><a class="link" href="https://samwho.dev/reservoir-sampling/" target="_blank" rel="noopener noreferrer nofollow">Sam Rose wrote about Reservoir Sampling</a> - I wish all algorithm explanations were as interactive as this post.</p><hr class="content_break"><p class="paragraph" style="text-align:left;">Thanks for reading this week&#39;s newsletter. If you have any thoughts or questions, feel free to reach out by replying to this email or send me a DM on <a class="link" href="https://bsky.app/profile/jonathanyeong.com?_bhlid=83cb3cdb892790eb353e0dd9f2d0749e21110d70" target="_blank" rel="noopener noreferrer nofollow">Bluesky</a>.</p><p class="paragraph" style="text-align:left;">Catch you next week!</p><p class="paragraph" style="text-align:left;">Jono</p></div><div class='beehiiv__footer'><br class='beehiiv__footer__break'><hr class='beehiiv__footer__line'><a target="_blank" class="beehiiv__footer_link" style="text-align: center;" href="https://www.beehiiv.com/?utm_campaign=82b8944d-b74e-4ae0-a8ba-2f225822e6c1&utm_medium=post_rss&utm_source=one_more_line">Powered by beehiiv</a></div></div>
  ]]></content:encoded>
</item>

      <item>
  <title>Git worktree and nifty shell commands</title>
  <description>Managing my work using Git worktree, using pushd and popd to navigate directories, and the usual cool stuff I&#39;ve found around the web!</description>
  <link>https://coffee-chats-with-jono-98b910.beehiiv.com/p/git-worktree-and-nifty-shell-commands</link>
  <guid isPermaLink="true">https://coffee-chats-with-jono-98b910.beehiiv.com/p/git-worktree-and-nifty-shell-commands</guid>
  <pubDate>Wed, 07 May 2025 13:00:00 +0000</pubDate>
  <atom:published>2025-05-07T13:00:00Z</atom:published>
    <dc:creator>Jonathan Yeong</dc:creator>
  <content:encoded><![CDATA[
    <div class='beehiiv'><style>
  .bh__table, .bh__table_header, .bh__table_cell { border: 1px solid #C0C0C0; }
  .bh__table_cell { padding: 5px; background-color: #FFFFFF; }
  .bh__table_cell p { color: #2D2D2D; font-family: 'Helvetica',Arial,sans-serif !important; overflow-wrap: break-word; }
  .bh__table_header { padding: 5px; background-color:#F1F1F1; }
  .bh__table_header p { color: #2A2A2A; font-family:'Trebuchet MS','Lucida Grande',Tahoma,sans-serif !important; overflow-wrap: break-word; }
</style><div class='beehiiv__body'><p class="paragraph" style="text-align:left;">Hiya!</p><p class="paragraph" style="text-align:left;">Welcome to another issue of One More Line. Where I share tips on getting a little better at coding, writing, or design - one line at a time.</p><p class="paragraph" style="text-align:left;">I’m continuing the Git theme this week with <code>git worktree</code>. As well as sharing two shell commands I found.</p><h2 class="heading" style="text-align:left;" id="git-worktree-to-manage-work">Git worktree to manage work</h2><p class="paragraph" style="text-align:left;">I’ve been looking for an alternative to <code>git stash</code>. In most cases, it’s fine. But it gets dicey if I stash pop and there’s merge conflicts in multiple untracked files.</p><p class="paragraph" style="text-align:left;">Enter: <code>git worktree</code>.</p><p class="paragraph" style="text-align:left;">Basically, <code>git worktree</code> copies your project in another directory. You treat that directory like another branch. Where you &quot;switch&quot; between branches by changing directories.</p><p class="paragraph" style="text-align:left;">Let’s say I’m working on a large prototype but I need to make a quick bug fix. Instead of Git stashing, switching, pushing, switching, popping. I would create a new Git worktree, change directories, push, change directories. Seems neater.</p><p class="paragraph" style="text-align:left;">Here&#39;s the a lightly altered example from the <a class="link" href="https://git-scm.com/docs/git-worktree" target="_blank" rel="noopener noreferrer nofollow">Git scm docs</a></p><div class="codeblock"><pre><code>$ git worktree add -b emergency-fix ../temp master
$ pushd ../temp
# ... Open folder in editor - hack hack hack ...
$ git commit -a -m &#39;emergency fix for boss&#39;
$ git push
$ popd
$ git worktree remove ../temp</code></pre></div><p class="paragraph" style="text-align:left;">The <code>git worktree</code> commands deal with the setup and teardown of the <code>temp</code> folder. You treat that folder like the main project. Opening it up in a code editor, making changes, and pushing.</p><p class="paragraph" style="text-align:left;">What’s also interesting is the two shell commands I’ve never seen before.</p><p class="paragraph" style="text-align:left;"><code>pushd</code> and <code>popd</code> - <a class="link" href="https://en.wikipedia.org/wiki/Pushd_and_popd" target="_blank" rel="noopener noreferrer nofollow"><i>they have their own wiki page</i></a>.</p><h3 class="heading" style="text-align:left;" id="pushing-and-popping-directories">Pushing and popping directories</h3><p class="paragraph" style="text-align:left;">As we navigate directories, our shell keeps the history in a stack. The <code>dirs</code> command will show you that history. </p><p class="paragraph" style="text-align:left;"><code>pushd</code> will push a directory onto that stack, changing directories to the specified folder.</p><p class="paragraph" style="text-align:left;"><code>popd</code> will pop a directory off the stack, sending us back to the previous directory we were in.</p><p class="paragraph" style="text-align:left;">Basically, we can navigate to one directory using <code>pushd</code> and switch back to the previous directory using <code>popd</code>.</p><h3 class="heading" style="text-align:left;" id="conclusion">Conclusion</h3><p class="paragraph" style="text-align:left;">I wonder if <code>git worktree</code> would be too slow with our large monolith at work. I’m very curious to try it. But I’m really glad I researched it. because I found <code>popd</code> and <code>pushd</code>. Two nifty shell commands I can’t wait to use more often.</p><h2 class="heading" style="text-align:left;" id="cool-stuff-around-the-web">Cool stuff around the web</h2><p class="paragraph" style="text-align:left;"><a class="link" href="https://www.youtube.com/watch?v=72yeeuFjtSk" target="_blank" rel="noopener noreferrer nofollow">James Hoffman was on Matt D&#39;Avella&#39;s podcast: Three Rules</a>. Hoffman has thoughts on external validation (around 16:30). <i>What if you couldn&#39;t tell anyone about the thing you did? Would you still do it?</i> I’d like to answer yes for most of the things I do. But the allure of external validation is strong.</p><p class="paragraph" style="text-align:left;"><a class="link" href="https://elliotjaystocks.com/book" target="_blank" rel="noopener noreferrer nofollow">Elliot Jay Stocks&#39; book: Universal Principles of Typography</a> is a stunning book chock full of information about typography. I picked it up over the weekend and I highly recommend!</p><p class="paragraph" style="text-align:left;"><a class="link" href="https://refactoringenglish.com/chapters/passive-voice-considered-harmful/" target="_blank" rel="noopener noreferrer nofollow">Active vs Passive voice by Michael Lynch</a> goes through some scenarios where passive voice might be more appropriate then active. I just assumed active voice is <i>always</i> better.</p><hr class="content_break"><p class="paragraph" style="text-align:left;">Thanks for reading this week&#39;s newsletter. If you have any thoughts or questions, feel free to reach out by replying to this email or send me a DM on <a class="link" href="https://bsky.app/profile/jonathanyeong.com?_bhlid=83cb3cdb892790eb353e0dd9f2d0749e21110d70" target="_blank" rel="noopener noreferrer nofollow">Bluesky</a>.</p><p class="paragraph" style="text-align:left;">Catch you next week!</p><p class="paragraph" style="text-align:left;">Jono</p></div><div class='beehiiv__footer'><br class='beehiiv__footer__break'><hr class='beehiiv__footer__line'><a target="_blank" class="beehiiv__footer_link" style="text-align: center;" href="https://www.beehiiv.com/?utm_campaign=31ac980f-3581-467e-8069-726e01a0f6c9&utm_medium=post_rss&utm_source=one_more_line">Powered by beehiiv</a></div></div>
  ]]></content:encoded>
</item>

      <item>
  <title>What do you do when you git reset too hard</title>
  <description>How I use git reflog to recover lost commits, plus links to a couple of good reads and a fun little game</description>
  <link>https://coffee-chats-with-jono-98b910.beehiiv.com/p/what-do-you-do-when-you-git-reset-too-hard</link>
  <guid isPermaLink="true">https://coffee-chats-with-jono-98b910.beehiiv.com/p/what-do-you-do-when-you-git-reset-too-hard</guid>
  <pubDate>Wed, 30 Apr 2025 13:00:00 +0000</pubDate>
  <atom:published>2025-04-30T13:00:00Z</atom:published>
    <dc:creator>Jonathan Yeong</dc:creator>
  <content:encoded><![CDATA[
    <div class='beehiiv'><style>
  .bh__table, .bh__table_header, .bh__table_cell { border: 1px solid #C0C0C0; }
  .bh__table_cell { padding: 5px; background-color: #FFFFFF; }
  .bh__table_cell p { color: #111110; font-family: 'Helvetica',Arial,sans-serif !important; overflow-wrap: break-word; }
  .bh__table_header { padding: 5px; background-color:#F1F1F1; }
  .bh__table_header p { color: #111110; font-family:'700' !important; overflow-wrap: break-word; }
</style><div class='beehiiv__body'><p class="paragraph" style="text-align:left;">Hiya,</p><p class="paragraph" style="text-align:left;">I want to share a safety net that I wish someone showed me when I was first learning git - <code>git reflog</code>.</p><p class="paragraph" style="text-align:left;">Imagine we’re exploring a new city. We visit sights, collecting trinkets along the way. As we explore, we keep directions on how to get from one location to another. If we lose a trinket, we can retrace our steps to find it. <i>In this analogy, stealing doesn’t exist.</i></p><p class="paragraph" style="text-align:left;">This describes the git reference log or reflog. To put it another way, reflog is a history of commands that represent the state of your repository - or more accurately, the HEAD - at certain points.</p><p class="paragraph" style="text-align:left;">Here&#39;s a concrete example; let&#39;s say I git reset <i>too</i> hard, and deleted one too many commits.</p><div class="codeblock"><pre><code>git reset --hard HEAD~2</code></pre></div><p class="paragraph" style="text-align:left;">Using <code>git reflog</code> I can see a history of my repository state:</p><div class="codeblock"><pre><code>5a660d190 HEAD@&#123;0&#125;: reset: moving to HEAD~2
f345e56d6 HEAD@&#123;1&#125;: commit: Test another commit
e839a7c22 HEAD@&#123;2&#125;: commit: Test commit</code></pre></div><p class="paragraph" style="text-align:left;">A line in the reflog tells us a few things: <code>5a660d190 HEAD@&#123;0&#125;: reset: moving to HEAD~2</code></p><ul><li><p class="paragraph" style="text-align:left;"><code>5a660d190 HEAD@&#123;0&#125;</code> - the SHA and a handy shortcut to reference the SHA.</p></li><li><p class="paragraph" style="text-align:left;"><code>reset</code> - the git command that was run.</p></li><li><p class="paragraph" style="text-align:left;"><code>moving to HEAD~2</code> - the result of the command.</p></li></ul><p class="paragraph" style="text-align:left;">To recover the lost commits, we need to know the point before the <code>reset</code>. That would be <code>HEAD@&#123;1&#125;</code>. We can then use <code>git reset</code> with this reference to travel back to that repository state.</p><div class="codeblock"><pre><code>git reset --hard HEAD@&#123;1&#125;</code></pre></div><p class="paragraph" style="text-align:left;">And there we go, the lost commits are back on our branch! Thankfully, Git never really loses its history. We can travel back to different points in our repository using <code>reflog</code>.</p><h2 class="heading" style="text-align:left;" id="cool-stuff-around-the-web">Cool stuff around the web</h2><p class="paragraph" style="text-align:left;"><a class="link" href="https://newsletters.feedbinusercontent.com/3ce/3ce8e8d6752344cc6c8029d6f7661bf2df07c01d.html" target="_blank" rel="noopener noreferrer nofollow">Addy Osmani&#39;s latest newsletter issue: Avoiding skill atrophy in the Age of AI</a> highlights the danger of being overly reliant on AI. Maybe we all need to have a No-AI day.</p><p class="paragraph" style="text-align:left;"><a class="link" href="https://boolean.method.ac/" target="_blank" rel="noopener noreferrer nofollow">The Boolean Game</a> is a fun little game that teaches you when to use union, subtract, intersect, and difference with shapes. You can use these functions to make icons in Figma!</p><p class="paragraph" style="text-align:left;"><a class="link" href="https://ashley.dev/posts/fear-of-being-seen/" target="_blank" rel="noopener noreferrer nofollow">Ashley Willis shared her fears about being seen</a> I found myself nodding along to the entire post. Willis works through their thoughts about writing publicly. I also love the writing style. It went straight into my writing inspo folder.</p><p class="paragraph" style="text-align:left;">Thanks for reading this weeks newsletter. If you have any thoughts or questions, feel free to reach out by replying to this email or send me a DM on <a class="link" href="https://bsky.app/profile/jonathanyeong.com?_bhlid=83cb3cdb892790eb353e0dd9f2d0749e21110d70" target="_blank" rel="noopener noreferrer nofollow">Bluesky</a>.</p><p class="paragraph" style="text-align:left;">Catch you next week!</p><p class="paragraph" style="text-align:left;">Jono</p></div><div class='beehiiv__footer'><br class='beehiiv__footer__break'><hr class='beehiiv__footer__line'><a target="_blank" class="beehiiv__footer_link" style="text-align: center;" href="https://www.beehiiv.com/?utm_campaign=114ff857-217f-4258-8d71-80c00f7ada48&utm_medium=post_rss&utm_source=one_more_line">Powered by beehiiv</a></div></div>
  ]]></content:encoded>
</item>

      <item>
  <title>Modern CSS is awesome</title>
  <description>New site redesign, a CSS snippet that elegantly vertically aligns text, plus some cool stuff I found around the web.</description>
  <link>https://coffee-chats-with-jono-98b910.beehiiv.com/p/modern-css-is-awesome</link>
  <guid isPermaLink="true">https://coffee-chats-with-jono-98b910.beehiiv.com/p/modern-css-is-awesome</guid>
  <pubDate>Wed, 23 Apr 2025 13:00:00 +0000</pubDate>
  <atom:published>2025-04-23T13:00:00Z</atom:published>
    <dc:creator>Jonathan Yeong</dc:creator>
  <content:encoded><![CDATA[
    <div class='beehiiv'><style>
  .bh__table, .bh__table_header, .bh__table_cell { border: 1px solid #C0C0C0; }
  .bh__table_cell { padding: 5px; background-color: #FFFFFF; }
  .bh__table_cell p { color: #2D2D2D; font-family: 'Helvetica',Arial,sans-serif !important; overflow-wrap: break-word; }
  .bh__table_header { padding: 5px; background-color:#F1F1F1; }
  .bh__table_header p { color: #2A2A2A; font-family:'Trebuchet MS','Lucida Grande',Tahoma,sans-serif !important; overflow-wrap: break-word; }
</style><div class='beehiiv__body'><p class="paragraph" style="text-align:left;">Hiya!</p><p class="paragraph" style="text-align:left;">You might have noticed some changes around here - I&#39;m doing a little rebrand.</p><p class="paragraph" style="text-align:left;">Introducing <b>One More Line</b>.</p><p class="paragraph" style="text-align:left;">Every week, I&#39;ll be sharing insights and tips that have meaningfully improved how I code, design, and write - one line at a time. </p><p class="paragraph" style="text-align:left;">Over the past 3 months, I&#39;ve had fun scribbling down thoughts on writing and design. I&#39;m also itching to write about coding. </p><p class="paragraph" style="text-align:left;">In this next iteration of my newsletter, I want it to be more helpful for devs as well as <i>hopefully</i> entertaining.</p><p class="paragraph" style="text-align:left;">Huge thank you for supporting this newsletter so far. Especially, if you&#39;ve been reading since the early days 🙇🏻.</p><p class="paragraph" style="text-align:left;">Anyway, onto this weeks topic!</p><hr class="content_break"><p class="paragraph" style="text-align:left;">You may have already seen it, but this week I shipped my <a class="link" href="https://jonathanyeong.com/" target="_blank" rel="noopener noreferrer nofollow">new site redesign</a>!</p><p class="paragraph" style="text-align:left;">Not going to lie, it was nerve wracking merging the final PR. There&#39;s always some self doubt, &quot;is it going to be good enough?&quot;. But the response so far has been incredibly positive and kind.</p><p class="paragraph" style="text-align:left;">Along with the redesign, I also <a class="link" href="https://jonathanyeong.com/writing/blog-redesign-v3/" target="_blank" rel="noopener noreferrer nofollow">published a blog post detailing the redesign process</a>.</p><p class="paragraph" style="text-align:left;">You had a sneak peek of the design process last week. But one thing I didn&#39;t highlight was this small CSS snippet.</p><div class="codeblock"><pre><code>display: grid;
place-items: center;
</code></pre></div><p class="paragraph" style="text-align:left;">These two lines blow my mind - they horizontally <i><b>and</b></i> vertically center text. Here&#39;s a <a class="link" href="https://codepen.io/jonathanyeong/pen/EaaPGOL" target="_blank" rel="noopener noreferrer nofollow">small Codepen demo</a> to see it in action. I also use it in my hero text section.</p><p class="paragraph" style="text-align:left;">I&#39;ve always remembered vertically aligning text to be a pain in the ass. This is a neat, elegant solution that is now in my top three favourite CSS snippets.</p><h2 class="heading" style="text-align:left;" id="cool-stuff-around-the-web">Cool stuff around the web</h2><p class="paragraph" style="text-align:left;"><a class="link" href="https://www.emgoto.com/four-day-work-week/" target="_blank" rel="noopener noreferrer nofollow">Emma Goto wrote about a 4 day work week</a>. It&#39;s confirmed my thoughts that 4 day work weeks are superior. I <i>just</i> need to figure out how to convince my manager.</p><p class="paragraph" style="text-align:left;"><a class="link" href="https://piccalil.li/blog/how-to-write-error-messages-that-actually-help-users-rather-than-frustrate-them/?ref=main-rss-feed" target="_blank" rel="noopener noreferrer nofollow">Amy Hupe&#39;s post on writing better error message</a> is very good. Writing actionable, clear error messages can be the difference between winning or losing trust from the user.</p><p class="paragraph" style="text-align:left;"><a class="link" href="https://www.arrowtype.com/articles/name-sans-process" target="_blank" rel="noopener noreferrer nofollow">The Story of Name Sans</a> has given me an appreciation of how much work goes into designing a typeface. Spoiler alert: <i>it&#39;s a lot</i>.</p><p class="paragraph" style="text-align:left;">Thanks for reading this weeks newsletter. If you have any thoughts or questions, feel free to reach out by replying to this email or send me a DM on <a class="link" href="https://bsky.app/profile/jonathanyeong.com" target="_blank" rel="noopener noreferrer nofollow">Bluesky</a>.</p><p class="paragraph" style="text-align:left;">Catch you next week!</p><p class="paragraph" style="text-align:left;">Jono</p></div><div class='beehiiv__footer'><br class='beehiiv__footer__break'><hr class='beehiiv__footer__line'><a target="_blank" class="beehiiv__footer_link" style="text-align: center;" href="https://www.beehiiv.com/?utm_campaign=777d4160-9dab-41c1-9f8e-5aad3b4a7de6&utm_medium=post_rss&utm_source=one_more_line">Powered by beehiiv</a></div></div>
  ]]></content:encoded>
</item>

      <item>
  <title>Behind the scenes: personal site redesign mockups</title>
  <description></description>
  <link>https://coffee-chats-with-jono-98b910.beehiiv.com/p/behind-the-scenes-personal-site-redesign-mockups</link>
  <guid isPermaLink="true">https://coffee-chats-with-jono-98b910.beehiiv.com/p/behind-the-scenes-personal-site-redesign-mockups</guid>
  <pubDate>Thu, 17 Apr 2025 13:00:00 +0000</pubDate>
  <atom:published>2025-04-17T13:00:00Z</atom:published>
    <dc:creator>Jonathan Yeong</dc:creator>
  <content:encoded><![CDATA[
    <div class='beehiiv'><style>
  .bh__table, .bh__table_header, .bh__table_cell { border: 1px solid #C0C0C0; }
  .bh__table_cell { padding: 5px; background-color: #FFFFFF; }
  .bh__table_cell p { color: #2D2D2D; font-family: 'Helvetica',Arial,sans-serif !important; overflow-wrap: break-word; }
  .bh__table_header { padding: 5px; background-color:#F1F1F1; }
  .bh__table_header p { color: #2A2A2A; font-family:'Trebuchet MS','Lucida Grande',Tahoma,sans-serif !important; overflow-wrap: break-word; }
</style><div class='beehiiv__body'><p class="paragraph" style="text-align:left;">It&#39;s show and tell time!</p><p class="paragraph" style="text-align:left;">If you didn’t already know, I’ve been working on a personal site redesign for the past couple of months. I started the redesign with some goals:</p><ol start="1"><li><p class="paragraph" style="text-align:left;">Main purpose is a blog. Posts should be easy to read and discover, with a touch of personal curation (recommended or featured posts).</p></li><li><p class="paragraph" style="text-align:left;">I want something that&#39;s personal, minimal, and friendly. Focus on typography with splashes of colour maybe something green.</p></li><li><p class="paragraph" style="text-align:left;">Newsletter CTA. I&#39;d love to have more people find my newsletter.</p></li><li><p class="paragraph" style="text-align:left;">A design I can build in a reasonable amount of time, but extensible in the future</p></li></ol><p class="paragraph" style="text-align:left;">I ended up with three design iterations. The first iteration I finished at the end of 2024. The last iteration I finished sometime last month.</p><p class="paragraph" style="text-align:left;">The first two designs were difficult to implement responsively. I had too many media queries to make sure things looked correct in small screens and soon the code became brittle. <i>Side note: this could’ve been due to my (lack of) CSS skills.</i></p><p class="paragraph" style="text-align:left;">The last iteration is way more straightforward to implement. It also ticks off all my goals! It feels maybe more plain. But I’m planning on adding some interactivity or animations to jazz it up. </p><p class="paragraph" style="text-align:left;">For reference, this is my current homepage design. It’s plain but it gets the job done.</p><div class="image"><img alt="This is my current homepage. It has some text at the top describing who I am. Then a list of blog posts. There are links to about and rss in the navbar." class="image__image" style="border-radius:0px 0px 0px 0px;border-style:solid;border-width:0px 0px 0px 0px;box-sizing:border-box;border-color:#E5E7EB;" src="https://media.beehiiv.com/cdn-cgi/image/fit=scale-down,format=auto,onerror=redirect,quality=80/uploads/asset/file/6ded43fb-210d-4d74-8618-6b2910e82614/CleanShot_2025-04-16_at_17.06.02_2x.png?t=1744837612"/></div><p class="paragraph" style="text-align:left;">In V1, I wanted to add more information at a glance as well as some curation — articles and notes. I was also really into gradients at the end of 2024.</p><div class="image"><img alt="A teal gradient hero section with articles, notes and projects on the homepage." class="image__image" style="" src="https://media.beehiiv.com/cdn-cgi/image/fit=scale-down,format=auto,onerror=redirect,quality=80/uploads/asset/file/92de649c-d88a-4758-a35e-9d5bd1c3ebfb/v1.jpg?t=1744834729"/></div><p class="paragraph" style="text-align:left;">V2 went a completely different direction. I switched to warmer colours, and went for something more minimal. I also switched out the hero font to <a class="link" href="https://fonts.google.com/specimen/Poppins" target="_blank" rel="noopener noreferrer nofollow">Poppins</a>. I really love how round and friendly it feels.</p><div class="image"><img alt="Homepage design with large hero text that fills the container. Contains featured, topics, and about section. As well as a newsletter cta" class="image__image" style="" src="https://media.beehiiv.com/cdn-cgi/image/fit=scale-down,format=auto,onerror=redirect,quality=80/uploads/asset/file/89fa7a66-d943-4d73-b117-daf5ae262779/v2.jpg?t=1744834686"/></div><p class="paragraph" style="text-align:left;">V3 and final version! I changed out the hero because it just didn’t work when the screen changed size. So instead, I took inspiration from the original introduction paragraph and turned it into a hero.</p><div class="image"><img alt="Hero text is a paragraph, featured and topics are the only other headings." class="image__image" style="" src="https://media.beehiiv.com/cdn-cgi/image/fit=scale-down,format=auto,onerror=redirect,quality=80/uploads/asset/file/5ad751d2-1358-419f-a342-a2cc6b4f24cb/v3.jpg?t=1744834632"/></div><p class="paragraph" style="text-align:left;">It’s always nerve wracking sharing something I’ve been working on for a while. It feels like the design needs to be <i>perfect</i>. Which it definitely isn’t. There’s already a laundry list of tweaks I want to make.</p><p class="paragraph" style="text-align:left;">It would be awesome to have a group of people to bounce ideas off outside of work. When working on side projects by myself it’s something I sorely miss. Speaking of which — if you ever want to bounce ideas off someone, give me a shout! Happy to help!</p><hr class="content_break"><p class="paragraph" style="text-align:left;"><i>Do you like these behind the scenes posts? Reply to this email to let me know!</i></p></div><div class='beehiiv__footer'><br class='beehiiv__footer__break'><hr class='beehiiv__footer__line'><a target="_blank" class="beehiiv__footer_link" style="text-align: center;" href="https://www.beehiiv.com/?utm_campaign=ac140bb5-3adb-4a9b-baba-3c24bd3e6dde&utm_medium=post_rss&utm_source=one_more_line">Powered by beehiiv</a></div></div>
  ]]></content:encoded>
</item>

      <item>
  <title>Become a better designer by stealing</title>
  <description></description>
  <link>https://coffee-chats-with-jono-98b910.beehiiv.com/p/become-a-better-designer-by-stealing</link>
  <guid isPermaLink="true">https://coffee-chats-with-jono-98b910.beehiiv.com/p/become-a-better-designer-by-stealing</guid>
  <pubDate>Thu, 10 Apr 2025 13:03:02 +0000</pubDate>
  <atom:published>2025-04-10T13:03:02Z</atom:published>
    <dc:creator>Jonathan Yeong</dc:creator>
  <content:encoded><![CDATA[
    <div class='beehiiv'><style>
  .bh__table, .bh__table_header, .bh__table_cell { border: 1px solid #C0C0C0; }
  .bh__table_cell { padding: 5px; background-color: #FFFFFF; }
  .bh__table_cell p { color: #2D2D2D; font-family: 'Helvetica',Arial,sans-serif !important; overflow-wrap: break-word; }
  .bh__table_header { padding: 5px; background-color:#F1F1F1; }
  .bh__table_header p { color: #2A2A2A; font-family:'Trebuchet MS','Lucida Grande',Tahoma,sans-serif !important; overflow-wrap: break-word; }
</style><div class='beehiiv__body'><p class="paragraph" style="text-align:left;">Early on in my design journey, I thought design was an <i>aha</i> driven process. I would sit down in front of a blank Figma page, thinking <i><b>really</b></i> hard about what my design would look like. Hoping for that <i>aha</i> moment.</p><p class="paragraph" style="text-align:left;">But design doesn&#39;t magically appear out of thin air.</p><p class="paragraph" style="text-align:left;">This was something I learnt only after I had gathered a handful of partially watched design courses. They all started the same way.</p><p class="paragraph" style="text-align:left;"><b>Steal ideas to become a better designer.</b></p><p class="paragraph" style="text-align:left;">A design is made up of past experiences, likes and dislikes, trends, elements that others have created. By practicing combining ideas from others, we start to understand what works, and why it works.</p><p class="paragraph" style="text-align:left;">But to get to that point we need to build a collection of ideas. It all starts with curation.</p><h2 class="heading" style="text-align:left;" id="become-a-curator">Become a curator</h2><p class="paragraph" style="text-align:left;">Start collecting visual cues that inspire you. For a long time, I thought I should only collect screenshots of websites. Because that&#39;s what I was designing.</p><p class="paragraph" style="text-align:left;">But you can find inspiration in a variety of visual cues:</p><ul><li><p class="paragraph" style="text-align:left;">Graphic posters</p></li><li><p class="paragraph" style="text-align:left;">Typography</p></li><li><p class="paragraph" style="text-align:left;">Artwork that you think is cool</p></li><li><p class="paragraph" style="text-align:left;">Physical items like gadgets, toys, knick knacks</p></li></ul><p class="paragraph" style="text-align:left;">Through thoughtful selection you begin to understand what you like, and why you like it.</p><p class="paragraph" style="text-align:left;">There&#39;s no wrong way to curate. I have a mixture of bookmarks in Raindrop and screenshots that I&#39;ve saved in Figma. Once you have a bank of inspiration, now is the time to steal.</p><h2 class="heading" style="text-align:left;" id="how-to-steal-like-a-designer">How to steal like a designer</h2><p class="paragraph" style="text-align:left;">Never pass a design off as your own. Don&#39;t steal for the sake of stealing. Steal to learn.</p><p class="paragraph" style="text-align:left;">One course I watched suggested taking a design and copying it out verbatim. Like tracing an artwork on paper. As you go through the process, note down surprising things like; &quot;They used more fonts than I expected&quot; or &quot;the letter spacing is wider than I thought&quot; or &quot;wow another shade of purple&quot;.</p><p class="paragraph" style="text-align:left;">Once you&#39;ve copied the design, start making tweaks to it. See how changing different elements affects the design.</p><p class="paragraph" style="text-align:left;">A design becomes yours when it looks nothing like the original.</p><p class="paragraph" style="text-align:left;">Similarly, you can achieve this by combining, aka stealing, elements from your curated collection. Having a collection you can take ideas from means you won&#39;t start from a blank page. And you&#39;ll always have an idea of what your design might look like.</p><p class="paragraph" style="text-align:left;">What I&#39;m learning from these courses is design isn&#39;t as spur of the moment as I thought. It comes from careful curation, and consistent practice of combining ideas from others.</p><p class="paragraph" style="text-align:left;">I felt uncomfortable with the term stealing at first. But it&#39;s not about passing a design off as mine. It&#39;s about combining ideas in a way that&#39;s unique and personal. And in the process, becoming a better designer. Well that&#39;s the hope anyway 🤞.</p><hr class="content_break"><p class="paragraph" style="text-align:left;"><i>Have any thoughts or comments? I’d love to read them, feel free to DM me on </i><a class="link" href="https://bsky.app/profile/jonathanyeong.com" target="_blank" rel="noopener noreferrer nofollow"><i>Bluesky</i></a><i>! </i></p></div><div class='beehiiv__footer'><br class='beehiiv__footer__break'><hr class='beehiiv__footer__line'><a target="_blank" class="beehiiv__footer_link" style="text-align: center;" href="https://www.beehiiv.com/?utm_campaign=01ab96dd-357f-421c-ad6f-d71773dd573b&utm_medium=post_rss&utm_source=one_more_line">Powered by beehiiv</a></div></div>
  ]]></content:encoded>
</item>

      <item>
  <title>A design lesson from Monster Hunter Wilds</title>
  <description>What I&#39;m learning from a terribly designed UI that still delivers on the core experience.</description>
  <link>https://coffee-chats-with-jono-98b910.beehiiv.com/p/a-design-lesson-from-monster-hunter-wilds</link>
  <guid isPermaLink="true">https://coffee-chats-with-jono-98b910.beehiiv.com/p/a-design-lesson-from-monster-hunter-wilds</guid>
  <pubDate>Thu, 03 Apr 2025 19:00:00 +0000</pubDate>
  <atom:published>2025-04-03T19:00:00Z</atom:published>
    <dc:creator>Jonathan Yeong</dc:creator>
  <content:encoded><![CDATA[
    <div class='beehiiv'><style>
  .bh__table, .bh__table_header, .bh__table_cell { border: 1px solid #C0C0C0; }
  .bh__table_cell { padding: 5px; background-color: #FFFFFF; }
  .bh__table_cell p { color: #2D2D2D; font-family: 'Helvetica',Arial,sans-serif !important; overflow-wrap: break-word; }
  .bh__table_header { padding: 5px; background-color:#F1F1F1; }
  .bh__table_header p { color: #2A2A2A; font-family:'Trebuchet MS','Lucida Grande',Tahoma,sans-serif !important; overflow-wrap: break-word; }
</style><div class='beehiiv__body'><p class="paragraph" style="text-align:left;">I&#39;ve been watching my partner play Monster Hunter Wilds. And the UI/UX makes me dizzy. The fact that there&#39;s a <a class="link" href="https://www.youtube.com/watch?v=pON56v-Mr4U" target="_blank" rel="noopener noreferrer nofollow">7 min video explaining the UI</a> tells me that I&#39;m not crazy. It&#39;s wildly confusing, and hard to navigate.</p><p class="paragraph" style="text-align:left;">But even with a terrible UI experience she&#39;s still sunk 50+ hours into the game. And she&#39;s not alone. The game recently crossed <a class="link" href="https://www.capcom.co.jp/ir/english/news/html/e250331.html" target="_blank" rel="noopener noreferrer nofollow">10 million copies sold</a> and it&#39;s received great reviews since its launch.</p><p class="paragraph" style="text-align:left;">So how does Monster Hunter get away with such horrible UI/UX?</p><p class="paragraph" style="text-align:left;">It delivers on its core experience - you&#39;re a badass monster hunter - in <i>spite</i> of its design.</p><p class="paragraph" style="text-align:left;">On the flip side, there are plenty of sites and apps that objectively look great, but have poor UX that gets in the way of the main purpose.</p><p class="paragraph" style="text-align:left;">AI in code editors is the first example that comes to mind. There are some great looking editors with integrated AI like Cursor, Windsurf, or VSCode with Copilot.</p><p class="paragraph" style="text-align:left;">But the reason I use a code editor is to write code.</p><p class="paragraph" style="text-align:left;">If AI auto complete suggestions keep popping up, they disrupt my flow and get in the way of that core experience.</p><p class="paragraph" style="text-align:left;">As someone learning design, it&#39;s interesting picturing the target audience of the design. And what promise they&#39;re trying to deliver. Maybe I&#39;m not the right audience for integrated AI code editors.</p><p class="paragraph" style="text-align:left;">It&#39;s also refreshing to know that UIs like Monster Hunter exist. I don&#39;t have to get a design perfect as long as I let the core experience shine.</p></div><div class='beehiiv__footer'><br class='beehiiv__footer__break'><hr class='beehiiv__footer__line'><a target="_blank" class="beehiiv__footer_link" style="text-align: center;" href="https://www.beehiiv.com/?utm_campaign=23098772-59f4-4629-8b2c-f9595fed84df&utm_medium=post_rss&utm_source=one_more_line">Powered by beehiiv</a></div></div>
  ]]></content:encoded>
</item>

      <item>
  <title>What are the easiest mushrooms to grow?</title>
  <description>A journey of the rabbit hole I went down this week.</description>
  <link>https://coffee-chats-with-jono-98b910.beehiiv.com/p/what-are-the-easiest-mushrooms-to-grow</link>
  <guid isPermaLink="true">https://coffee-chats-with-jono-98b910.beehiiv.com/p/what-are-the-easiest-mushrooms-to-grow</guid>
  <pubDate>Thu, 27 Mar 2025 13:00:00 +0000</pubDate>
  <atom:published>2025-03-27T13:00:00Z</atom:published>
    <dc:creator>Jonathan Yeong</dc:creator>
  <content:encoded><![CDATA[
    <div class='beehiiv'><style>
  .bh__table, .bh__table_header, .bh__table_cell { border: 1px solid #C0C0C0; }
  .bh__table_cell { padding: 5px; background-color: #FFFFFF; }
  .bh__table_cell p { color: #2D2D2D; font-family: 'Helvetica',Arial,sans-serif !important; overflow-wrap: break-word; }
  .bh__table_header { padding: 5px; background-color:#F1F1F1; }
  .bh__table_header p { color: #2A2A2A; font-family:'Trebuchet MS','Lucida Grande',Tahoma,sans-serif !important; overflow-wrap: break-word; }
</style><div class='beehiiv__body'><p class="paragraph" style="text-align:left;">Oyster mushrooms are the best starter crop if you want to grow your own mushrooms. They have a good yield to effort ratio. Also Oyster mushrooms are delicious.</p><p class="paragraph" style="text-align:left;">Mushroom care is straightforward. They can grow in coffee grounds, packed into a bag or a jar. Sterilise the grounds and equipment to kick out any mould which would compete with your shroomies.</p><p class="paragraph" style="text-align:left;">Last thing you need to do is to keep everything moist. If you don&#39;t keep mushrooms moist, they get dry and their caps crack. Nobody likes a cracked cap!</p><p class="paragraph" style="text-align:left;">One important note, grow them in a well ventilated area because they release a lot of spores.</p><p class="paragraph" style="text-align:left;">Which begs the question. <i>Can mushroom spores affect humans?</i></p><p class="paragraph" style="text-align:left;">So it turns out, that exposure to a lot of mushroom spores for a long time can cause <a class="link" href="https://academic.oup.com/occmed/article-abstract/48/7/465/1515141?redirectedFrom=PDF&login=false" target="_blank" rel="noopener noreferrer nofollow">mushroom workers lung</a>. Which manifests itself as flu-like symptoms when exposed to spores. Almost like an allergic reaction.</p><p class="paragraph" style="text-align:left;">It reminds me of potter&#39;s lung, aka Silicosis. Basically, breathing in small, fine, pottery particles all day, every day is bad for you.</p><p class="paragraph" style="text-align:left;">As a beginner, I&#39;m barely exposed to the danger of potter&#39;s lung. I spend most of my time throwing. And failing. But failing in the most rewarding way.</p><p class="paragraph" style="text-align:left;">My partner and I are challenging ourselves, because last week we started an intermediate course. Am I even ready for it? I don&#39;t even know what clay is.</p><p class="paragraph" style="text-align:left;">Turns out, it&#39;s really, really fine dirt particles &lt; 0.005 mm. That have a plasticity when water is introduced. But clay we use in the pottery studio has an added ingredient; grog.</p><p class="paragraph" style="text-align:left;">Grog is crushed up pieces of ceramic that gets added to raw clay. This gives the clay structure and helps prevent it from cracking in the oven.</p><p class="paragraph" style="text-align:left;">Clay with high grog content feels like sandpaper when you&#39;re throwing. Not painful, but your hands will feel raw after throwing a lot of pots. Low grog content clay, is what we typically use in the pottery course. It&#39;s smoother to throw with, but doesn&#39;t hold its structure as easily as high grogged clay.</p><p class="paragraph" style="text-align:left;">Funnily enough, grog is also a drink. According to <a class="link" href="https://en.wikipedia.org/wiki/Grog" target="_blank" rel="noopener noreferrer nofollow">Wikipedia</a>, grog is a mixture of one part rum and four parts water given to sailors in the British Royal Navy to minimise their drunkenness. I can&#39;t imagine this would be a great tasting drink.</p><p class="paragraph" style="text-align:left;">Anyway, I should get back to work.</p></div><div class='beehiiv__footer'><br class='beehiiv__footer__break'><hr class='beehiiv__footer__line'><a target="_blank" class="beehiiv__footer_link" style="text-align: center;" href="https://www.beehiiv.com/?utm_campaign=848231f4-9c8a-4ac3-87df-13b440913e9c&utm_medium=post_rss&utm_source=one_more_line">Powered by beehiiv</a></div></div>
  ]]></content:encoded>
</item>

      <item>
  <title>All writing starts from an idea</title>
  <description>A glimpse of my writing process starting with how I capture ideas</description>
  <link>https://coffee-chats-with-jono-98b910.beehiiv.com/p/all-writing-starts-from-an-idea</link>
  <guid isPermaLink="true">https://coffee-chats-with-jono-98b910.beehiiv.com/p/all-writing-starts-from-an-idea</guid>
  <pubDate>Thu, 20 Mar 2025 12:00:00 +0000</pubDate>
  <atom:published>2025-03-20T12:00:00Z</atom:published>
    <dc:creator>Jonathan Yeong</dc:creator>
  <content:encoded><![CDATA[
    <div class='beehiiv'><style>
  .bh__table, .bh__table_header, .bh__table_cell { border: 1px solid #C0C0C0; }
  .bh__table_cell { padding: 5px; background-color: #FFFFFF; }
  .bh__table_cell p { color: #2D2D2D; font-family: 'Helvetica',Arial,sans-serif !important; overflow-wrap: break-word; }
  .bh__table_header { padding: 5px; background-color:#F1F1F1; }
  .bh__table_header p { color: #2A2A2A; font-family:'Trebuchet MS','Lucida Grande',Tahoma,sans-serif !important; overflow-wrap: break-word; }
</style><div class='beehiiv__body'><p class="paragraph" style="text-align:left;">I find it fascinating seeing how people do stuff. And I&#39;m very fond of behind the scenes type content. It&#39;s been fun writing about writing, so I&#39;m continuing here with a glimpse into my writing process.</p><p class="paragraph" style="text-align:left;">I&#39;ll describe my process in two words: <b>chaotic</b> and <b>messy</b>. It&#39;s very <i>inspiration</i> driven, but it works. Mostly.</p><p class="paragraph" style="text-align:left;">It all starts by capturing as many ideas as possible.</p><p class="paragraph" style="text-align:left;">All of my ideas live in Obsidian&#39;s daily note. If you&#39;re curious, this is the date format of my Daily Note:</p><p class="paragraph" style="text-align:left;"><code>YYYY/MM-MMMM/YYYY-MM-DD</code></p><p class="paragraph" style="text-align:left;">This format will create folders and organise the notes, like <code>2025/03-March/2024-03-19</code>. Having folders makes viewing my daily notes in the sidebar less overwhelming.</p><p class="paragraph" style="text-align:left;">Also, Obsidian sync is crazy good. You could store your Obsidian vault in iCloud — or some other cloud service — to get the same behaviour. But I find Obsidian sync faster and more reliable.</p><p class="paragraph" style="text-align:left;">The ideas in my daily note are a blob of text. I&#39;ve found this to be the best way for me to capture without getting caught up in organisation. When I sit down to write, I&#39;ll go through today&#39;s note and move ideas I like into their own page.</p><p class="paragraph" style="text-align:left;">There&#39;s no limit to what an idea looks like. Sometimes, it&#39;s a fun title with a description.</p><div class="blockquote"><blockquote class="blockquote__quote"></blockquote></div><p class="paragraph" style="text-align:left;">Other times it&#39;s a paragraph I enjoyed writing:</p><div class="blockquote"><blockquote class="blockquote__quote"></blockquote></div><p class="paragraph" style="text-align:left;">Rarely is an idea fully formed.</p><p class="paragraph" style="text-align:left;">Over time I’ll add more to the idea and once it hits critical mass, it has legs to become a post.</p><p class="paragraph" style="text-align:left;">As you can imagine, this is not the most optimal process. </p><p class="paragraph" style="text-align:left;">Knowing when to pursue an idea is an art I haven&#39;t yet mastered. And I probably spend too much time investing in ideas that are meh. But it’s satisfying when you’ve been thinking of an idea for a while and it finally clicks.</p><p class="paragraph" style="text-align:left;">What I love about this process is that it promotes growing ideas over time. It&#39;s similar to a digital garden. I plant a bunch of seedlings and see them sprout as I tend to them.</p><p class="paragraph" style="text-align:left;">That pottery idea might have legs. If only as another excuse to write the phrase &quot;fleshy brain folds&quot;.</p></div><div class='beehiiv__footer'><br class='beehiiv__footer__break'><hr class='beehiiv__footer__line'><a target="_blank" class="beehiiv__footer_link" style="text-align: center;" href="https://www.beehiiv.com/?utm_campaign=108efd82-8d77-4498-8134-d121cd87cba8&utm_medium=post_rss&utm_source=one_more_line">Powered by beehiiv</a></div></div>
  ]]></content:encoded>
</item>

      <item>
  <title>Developing my writing style</title>
  <description>Thoughts on writing in an authentic voice, as well as finding writing inspiration.</description>
  <link>https://coffee-chats-with-jono-98b910.beehiiv.com/p/developing-my-writing-style</link>
  <guid isPermaLink="true">https://coffee-chats-with-jono-98b910.beehiiv.com/p/developing-my-writing-style</guid>
  <pubDate>Thu, 13 Mar 2025 13:00:00 +0000</pubDate>
  <atom:published>2025-03-13T13:00:00Z</atom:published>
    <dc:creator>Jonathan Yeong</dc:creator>
  <content:encoded><![CDATA[
    <div class='beehiiv'><style>
  .bh__table, .bh__table_header, .bh__table_cell { border: 1px solid #C0C0C0; }
  .bh__table_cell { padding: 5px; background-color: #FFFFFF; }
  .bh__table_cell p { color: #2D2D2D; font-family: 'Helvetica',Arial,sans-serif !important; overflow-wrap: break-word; }
  .bh__table_header { padding: 5px; background-color:#F1F1F1; }
  .bh__table_header p { color: #2A2A2A; font-family:'Trebuchet MS','Lucida Grande',Tahoma,sans-serif !important; overflow-wrap: break-word; }
</style><div class='beehiiv__body'><p class="paragraph" style="text-align:left;">There&#39;s a line from Zinsser, <i>On Writing Well</i>, that has been stuck in my head:</p><p class="paragraph" style="text-align:left;">&quot;Don&#39;t alter your voice to fit your subject. Develop one voice that readers will recognize when they hear it on the page&quot;</p><p class="paragraph" style="text-align:left;">Over the past month, I&#39;ve been discovering my voice with this newsletter. It&#39;s been a joy to write because the words are starting to sound like me. The advice to <a class="link" href="https://www.paulgraham.com/talk.html" target="_blank" rel="noopener noreferrer nofollow">write like you talk</a> rings true.</p><p class="paragraph" style="text-align:left;">I find it interesting to look back on old blog posts to see how my voice has changed. Let&#39;s take my introduction from <a class="link" href="https://jonathanyeong.com/personal-productivity-handbook/" target="_blank" rel="noopener noreferrer nofollow">Personal Productivity Handbook</a>.</p><div class="blockquote"><blockquote class="blockquote__quote"></blockquote></div><p class="paragraph" style="text-align:left;">It&#39;s not a <i>bad</i> introduction, it sounds like something I would say. But it feels a bit stiff.</p><p class="paragraph" style="text-align:left;">A couple of weeks ago I wrote about how my <a class="link" href="https://newsletter.jonathanyeong.com/p/everything-i-know-about-writing-a-conclusion-is-wrong" target="_blank" rel="noopener noreferrer nofollow">conclusions felt cookie cutter</a>. Turns out this also applies to my introductions. I&#39;m nothing if not consistent.</p><p class="paragraph" style="text-align:left;">If I were to rewrite the intro in my current voice:</p><div class="blockquote"><blockquote class="blockquote__quote"></blockquote></div><p class="paragraph" style="text-align:left;">I loved the season metaphor so I doubled down on it. And I wanted to add more of my humour, &quot;... other productive stuff&quot;. I also wanted visual breathing room by using 2-3 sentence paragraphs.</p><p class="paragraph" style="text-align:left;">It still needs tweaking, but it&#39;s getting there.</p><h2 class="heading" style="text-align:left;" id="finding-writing-inspo">Finding writing inspo</h2><p class="paragraph" style="text-align:left;"><a class="link" href="https://www.joshwcomeau.com/" target="_blank" rel="noopener noreferrer nofollow">Josh Comeau</a> is someone who inspires me. I love his posts because they&#39;re in-depth, technical, and most importantly approachable. Let&#39;s see how they do it.</p><div class="blockquote"><blockquote class="blockquote__quote"></blockquote></div><p class="paragraph" style="text-align:left;">This paragraph from Comeau caps off a heavily technical section on polar coordinates.</p><p class="paragraph" style="text-align:left;">It&#39;s personal, &quot;secret little keys that I rely on&quot;. </p><p class="paragraph" style="text-align:left;">It&#39;s humorous, &quot;probably doesn&#39;t send a thrill up your leg&quot;.</p><p class="paragraph" style="text-align:left;">It lands the importance of polar coordinates, &quot;critical concept for the sorts of things I build&quot;</p><p class="paragraph" style="text-align:left;">I see it as a respite for my brain. A break from one set of concepts, and a launching point for the next. Analysing how Comeau writes shows me new ways to express my voice in writing. Unsurprisingly, reading more leads to more inspiration which in turns leads to more ideas.</p><p class="paragraph" style="text-align:left;">I still have work to do. But my writing is starting to sound more like me. It feels better, more intentional, and <i><b>way</b></i> more fun to write.</p></div><div class='beehiiv__footer'><br class='beehiiv__footer__break'><hr class='beehiiv__footer__line'><a target="_blank" class="beehiiv__footer_link" style="text-align: center;" href="https://www.beehiiv.com/?utm_campaign=7eef8c70-ab48-4239-a432-924477813493&utm_medium=post_rss&utm_source=one_more_line">Powered by beehiiv</a></div></div>
  ]]></content:encoded>
</item>

      <item>
  <title>The spoon I didn&#39;t know I needed</title>
  <description>An appreciation post for good industrial design of a lowly kitchen spoon.</description>
  <link>https://coffee-chats-with-jono-98b910.beehiiv.com/p/the-spoon-i-didn-t-know-i-needed</link>
  <guid isPermaLink="true">https://coffee-chats-with-jono-98b910.beehiiv.com/p/the-spoon-i-didn-t-know-i-needed</guid>
  <pubDate>Thu, 06 Mar 2025 14:00:00 +0000</pubDate>
  <atom:published>2025-03-06T14:00:00Z</atom:published>
    <dc:creator>Jonathan Yeong</dc:creator>
  <content:encoded><![CDATA[
    <div class='beehiiv'><style>
  .bh__table, .bh__table_header, .bh__table_cell { border: 1px solid #C0C0C0; }
  .bh__table_cell { padding: 5px; background-color: #FFFFFF; }
  .bh__table_cell p { color: #2D2D2D; font-family: 'Helvetica',Arial,sans-serif !important; overflow-wrap: break-word; }
  .bh__table_header { padding: 5px; background-color:#F1F1F1; }
  .bh__table_header p { color: #2A2A2A; font-family:'Trebuchet MS','Lucida Grande',Tahoma,sans-serif !important; overflow-wrap: break-word; }
</style><div class='beehiiv__body'><p class="paragraph" style="text-align:left;">I stumbled on this spoon the other day, the <a class="link" href="https://gesturautensils.com/products/01-kitchen-spoon" target="_blank" rel="noopener noreferrer nofollow">Gestura 01</a>. And now I need it.</p><p class="paragraph" style="text-align:left;">Okay maybe <i>need</i> is a strong word. But I can&#39;t stop thinking about the amount of time a company spent perfecting a spoon.</p><p class="paragraph" style="text-align:left;">Here&#39;s the blurb:</p><div class="blockquote"><blockquote class="blockquote__quote"><p class="paragraph" style="text-align:left;">01 Silver is built with a single tablespoon volume (half ounce) to scale recipes and ratios with consistency. The well is deeply formed to cradle liquid, the tip is tapered to a fine point for precise pouring or basting. The handle is long enough to stir a braise or a pot of beans, and nimble enough to sauce a plate.The lip is thin and flared to help scrape the corners of a pan or storage container.</p><figcaption class="blockquote__byline"></figcaption></blockquote></div><p class="paragraph" style="text-align:left;">Such craftmanship. Much wow.</p><p class="paragraph" style="text-align:left;">It&#39;s a tool that I have paid little mind to in the kitchen. But now that I think about it, I use a spoon for all sorts of things. And I&#39;ll inevitably burn my fingers when it falls into a pot of hot, bubbling liquid.</p><p class="paragraph" style="text-align:left;">Imagine, if I had this super spoon. Goodbye burnt fingers.</p><p class="paragraph" style="text-align:left;">It sounds like I&#39;m trying to justify the purchase of a $40 CAD spoon. You&#39;re right, I totally am. But I also want us to admire that someone used a spoon while cooking, found it lacking, and developed a superior version of this simple utensil.</p><p class="paragraph" style="text-align:left;">It feels like there&#39;s a metaphor to building software products or crafting a masterful piece of code here. I&#39;m sure someone on LinkedIn has already made it.</p><hr class="content_break"><p class="paragraph" style="text-align:left;"><i>This post is not affiliated with Gestura. Just appreciating good industrial design, back to usual topics next week. Have a great week ✌️!</i></p></div><div class='beehiiv__footer'><br class='beehiiv__footer__break'><hr class='beehiiv__footer__line'><a target="_blank" class="beehiiv__footer_link" style="text-align: center;" href="https://www.beehiiv.com/?utm_campaign=612b8380-83d3-4315-8466-16dd3228d7bb&utm_medium=post_rss&utm_source=one_more_line">Powered by beehiiv</a></div></div>
  ]]></content:encoded>
</item>

      <item>
  <title>Everything I know about writing a conclusion is wrong</title>
  <description></description>
  <link>https://coffee-chats-with-jono-98b910.beehiiv.com/p/everything-i-know-about-writing-a-conclusion-is-wrong</link>
  <guid isPermaLink="true">https://coffee-chats-with-jono-98b910.beehiiv.com/p/everything-i-know-about-writing-a-conclusion-is-wrong</guid>
  <pubDate>Thu, 27 Feb 2025 13:37:00 +0000</pubDate>
  <atom:published>2025-02-27T13:37:00Z</atom:published>
    <dc:creator>Jonathan Yeong</dc:creator>
  <content:encoded><![CDATA[
    <div class='beehiiv'><style>
  .bh__table, .bh__table_header, .bh__table_cell { border: 1px solid #C0C0C0; }
  .bh__table_cell { padding: 5px; background-color: #FFFFFF; }
  .bh__table_cell p { color: #2D2D2D; font-family: 'Helvetica',Arial,sans-serif !important; overflow-wrap: break-word; }
  .bh__table_header { padding: 5px; background-color:#F1F1F1; }
  .bh__table_header p { color: #2A2A2A; font-family:'Trebuchet MS','Lucida Grande',Tahoma,sans-serif !important; overflow-wrap: break-word; }
</style><div class='beehiiv__body'><p class="paragraph" style="text-align:left;">The biggest struggle I have with writing is finishing.</p><p class="paragraph" style="text-align:left;">It was ingrained in me by my high school English teacher that every written piece had this structure: a beginning, middle, and end. Where the conclusion is used to summarise all the points made throughout the piece.</p><p class="paragraph" style="text-align:left;">But now, after <i>many</i> years out of high school, something feels off about the conclusion. It feels too plain, too cookie cutter. It might make sense in high school English. But it&#39;s too boring in the real world.</p><p class="paragraph" style="text-align:left;">I&#39;m on a journey to get better at writing. And I can’t think of a better place to start than with the end.</p><p class="paragraph" style="text-align:left;">Reading over some of my recent blog posts, I feel like my conclusions are unsatisfying. Here are some examples:</p><div class="blockquote"><blockquote class="blockquote__quote"><p class="paragraph" style="text-align:left;">If you’re wanting to build your design gut instinct, give the above steps a try and let me know what you come up with! You can tag me with your notes / Figma file on <a class="link" href="https://bsky.app/profile/jonathanyeong.com" target="_blank" rel="noopener noreferrer nofollow">Bluesky</a>.</p><figcaption class="blockquote__byline"></figcaption></blockquote></div><div class="blockquote"><blockquote class="blockquote__quote"><p class="paragraph" style="text-align:left;">My reading habit is still a work in progress, these tips have been helping, but I have a ways to go before I complete the Goodreads Challenge. I hope these tips have been helpful. Happy reading!</p><figcaption class="blockquote__byline"></figcaption></blockquote></div><div class="blockquote"><blockquote class="blockquote__quote"><p class="paragraph" style="text-align:left;">Working on imposter syndrome is a work in progress. And reframing my anxiety this way doesn’t magically make it disappear. But now I have these questions in the back of my mind when I start to think I’m a fraud. I hope they help you.</p><figcaption class="blockquote__byline"></figcaption></blockquote></div><p class="paragraph" style="text-align:left;">They&#39;re all similar. Summarise points, mention work in progress, bada-bing-bada-boom.</p><p class="paragraph" style="text-align:left;">William Zinsser offers this advice in his book, On Writing Well.</p><p class="paragraph" style="text-align:left;"><i>&quot;The perfect ending should take your readers slightly by surprise and yet seem exactly right&quot;.</i></p><p class="paragraph" style="text-align:left;"><i>&quot;When you&#39;re ready to stop, stop. If you have presented all the facts and made the point you want to make, look for the nearest exit&quot;</i></p><p class="paragraph" style="text-align:left;">If you take my post on <a class="link" href="https://jonathanyeong.com/building-design-gut-instinct/" target="_blank" rel="noopener noreferrer nofollow">Building a Design Gut instinct</a>, the paragraph before would&#39;ve made a much stronger ending.</p><div class="blockquote"><blockquote class="blockquote__quote"><p class="paragraph" style="text-align:left;">Our goal is to build a library of patterns that we can draw from. We want to know what patterns work well, and why they work. The other benefit of documenting these patterns is to build an inspo board. When you start designing your own site, you’ll have a well of inspiration.</p><figcaption class="blockquote__byline"></figcaption></blockquote></div><p class="paragraph" style="text-align:left;">Like with all learning, there&#39;s a chance I&#39;ll overcorrect. My future endings may seem abrupt.</p></div><div class='beehiiv__footer'><br class='beehiiv__footer__break'><hr class='beehiiv__footer__line'><a target="_blank" class="beehiiv__footer_link" style="text-align: center;" href="https://www.beehiiv.com/?utm_campaign=cd2db22d-0171-43df-b018-80ca759a0ebe&utm_medium=post_rss&utm_source=one_more_line">Powered by beehiiv</a></div></div>
  ]]></content:encoded>
</item>

      <item>
  <title>How I use AI as inefficiently as possible</title>
  <description></description>
  <link>https://coffee-chats-with-jono-98b910.beehiiv.com/p/how-i-use-ai-as-inefficiently-as-possible</link>
  <guid isPermaLink="true">https://coffee-chats-with-jono-98b910.beehiiv.com/p/how-i-use-ai-as-inefficiently-as-possible</guid>
  <pubDate>Thu, 20 Feb 2025 14:00:00 +0000</pubDate>
  <atom:published>2025-02-20T14:00:00Z</atom:published>
    <dc:creator>Jonathan Yeong</dc:creator>
  <content:encoded><![CDATA[
    <div class='beehiiv'><style>
  .bh__table, .bh__table_header, .bh__table_cell { border: 1px solid #C0C0C0; }
  .bh__table_cell { padding: 5px; background-color: #FFFFFF; }
  .bh__table_cell p { color: #2D2D2D; font-family: 'Helvetica',Arial,sans-serif !important; overflow-wrap: break-word; }
  .bh__table_header { padding: 5px; background-color:#F1F1F1; }
  .bh__table_header p { color: #2A2A2A; font-family:'Trebuchet MS','Lucida Grande',Tahoma,sans-serif !important; overflow-wrap: break-word; }
</style><div class='beehiiv__body'><hr class="content_break"><p class="paragraph" style="text-align:left;">If you want to be like me and use AI to its least-full capacity, follow these Do’s and Don’ts.</p><p class="paragraph" style="text-align:left;"><b>Do</b> give it a vague prompt because you don&#39;t really know what you want.</p><p class="paragraph" style="text-align:left;"><b>Don&#39;t</b> use an AI code editor. Let&#39;s face it, if it writes too much code at one time, you&#39;re not going to read it. Like a long pull request that you just approve with &quot;🚢 LGTM&quot;</p><p class="paragraph" style="text-align:left;"><b>Do</b> ask it to generate names for you. There&#39;s nothing better than a <a class="link" href="https://www.cnbc.com/2025/01/07/anthropic-in-talks-to-raise-funding-at-60-billion-valuation.html" target="_blank" rel="noopener noreferrer nofollow">company valued at $60 billion</a> coming up with names for a pottery Instagram account like Claylyfe, WheelTurns, MuddyMoments. Actually, I kinda like these...</p><p class="paragraph" style="text-align:left;"><b>Don&#39;t</b> give AI more context to give better answers. Remember if it&#39;s in your head, they can&#39;t train off that data.</p><p class="paragraph" style="text-align:left;"><b>Do</b> use AI as a glorified Google search. But also use Google to check if someone else has written about what you&#39;re searching for.</p><p class="paragraph" style="text-align:left;"><b>Don&#39;t</b> ask AI to write things in your voice / tone. You don&#39;t realise what you sound like until you read what AI writes back to you. Like seriously do I use like that many emojis 😱🤯?</p><p class="paragraph" style="text-align:left;"><b>Do</b> use AI as a collaborative partner. But treat it like a partner you don&#39;t trust, who makes shit up, and has no idea what you&#39;re talking about.</p><p class="paragraph" style="text-align:left;"><b>Don&#39;t</b> avoid AI. Just be inefficient. Because there&#39;s nothing more human than using a tool so poorly you&#39;re forced to do things yourself</p><hr class="content_break"><p class="paragraph" style="text-align:left;">In all seriousness, I want to start using AI how Amelia Wattenberger suggests in her post, <a class="link" href="https://wattenberger.com/thoughts/llms-as-a-tool-for-thought" target="_blank" rel="noopener noreferrer nofollow">LLMs are a tool for thought</a>. </p><p class="paragraph" style="text-align:left;">Not as a tool to solve my problems. But as a way to gradually reach the solution myself. Inception style.</p><p class="paragraph" style="text-align:left;">Instead of asking it to generate code, have it validate my approach. Or instead of asking it to edit my posts, ask if there’s gaps in my thesis. Ultimately, I would still do the work and get the learning goodness. But AI can help me get there faster.</p><p class="paragraph" style="text-align:left;">At this point, I’m just summarising Amelia’s post. Go read it if you haven’t already! It’s beautiful.</p><p class="paragraph" style="text-align:left;">See you next week!</p></div><div class='beehiiv__footer'><br class='beehiiv__footer__break'><hr class='beehiiv__footer__line'><a target="_blank" class="beehiiv__footer_link" style="text-align: center;" href="https://www.beehiiv.com/?utm_campaign=0b1c0757-13a4-41b7-814c-d78ae5b7d5dd&utm_medium=post_rss&utm_source=one_more_line">Powered by beehiiv</a></div></div>
  ]]></content:encoded>
</item>

      <item>
  <title>Absolute nonsense brings me joy</title>
  <description></description>
  <link>https://coffee-chats-with-jono-98b910.beehiiv.com/p/absolute-nonsense-brings-me-joy</link>
  <guid isPermaLink="true">https://coffee-chats-with-jono-98b910.beehiiv.com/p/absolute-nonsense-brings-me-joy</guid>
  <pubDate>Fri, 14 Feb 2025 13:00:00 +0000</pubDate>
  <atom:published>2025-02-14T13:00:00Z</atom:published>
    <dc:creator>Jonathan Yeong</dc:creator>
  <content:encoded><![CDATA[
    <div class='beehiiv'><style>
  .bh__table, .bh__table_header, .bh__table_cell { border: 1px solid #C0C0C0; }
  .bh__table_cell { padding: 5px; background-color: #FFFFFF; }
  .bh__table_cell p { color: #2D2D2D; font-family: 'Helvetica',Arial,sans-serif !important; overflow-wrap: break-word; }
  .bh__table_header { padding: 5px; background-color:#F1F1F1; }
  .bh__table_header p { color: #2A2A2A; font-family:'Trebuchet MS','Lucida Grande',Tahoma,sans-serif !important; overflow-wrap: break-word; }
</style><div class='beehiiv__body'><hr class="content_break"><p class="paragraph" style="text-align:left;">A little while back I started doing something called <a class="link" href="https://www.ship30for30.com/post/how-to-write-an-atomic-essay-a-beginners-guide" target="_blank" rel="noopener noreferrer nofollow">Atomic Essays</a>. The idea was to write a short 300 word essay and share it every day.</p><p class="paragraph" style="text-align:left;">The concept was cool, and the writing prompts seemed &quot;industry-standard&quot;:</p><ul><li><p class="paragraph" style="text-align:left;">Write about what you’re consuming</p></li><li><p class="paragraph" style="text-align:left;">Respond or expand on someone else’s writing.</p></li><li><p class="paragraph" style="text-align:left;">Curate “the best of” any industry/topic</p></li><li><p class="paragraph" style="text-align:left;">Teach a reader “How to” do something.</p></li><li><p class="paragraph" style="text-align:left;">Share a powerful life lesson you learned</p></li></ul><p class="paragraph" style="text-align:left;">I&#39;ve seen these prompts in other places, and I&#39;ve seen plenty of content fit into those prompts. No shade to this type of content. It&#39;s helpful content that&#39;s shaped my dev career.</p><p class="paragraph" style="text-align:left;">But for me, writing like this was a slog. The words I put on the page felt hollow, and I felt too sales-y. Okay, so maybe this is a <i>me</i> problem, but I think there&#39;s a principle here.</p><p class="paragraph" style="text-align:left;"><b>Prioritise creating content you enjoy, instead of content you&#39;re </b><i><b>supposed</b></i><b> to create.</b></p><p class="paragraph" style="text-align:left;">Take Simone Giertz, for example, she builds robots that fail spectacularly at performing simple tasks. It doesn&#39;t fit any of the prompts above. It&#39;s absolute nonsense, unnecessary, and I love it.</p><p class="paragraph" style="text-align:left;">The world needs more content like shitty robots.</p><iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen="true" class="youtube_embed" frameborder="0" height="100%" src="https://youtube.com/embed/E2evC2xTNWg" width="100%"></iframe><p class="paragraph" style="text-align:left;">Another example is one of my favourite posts is from Cassidy Williams, <a class="link" href="https://cassidoo.co/post/33-pure-gold-ideas/" target="_blank" rel="noopener noreferrer nofollow">33 pure gold ideas</a>. A list of unfinished jokes. One of the jokes is just &quot;Poultrygeist&quot;. I have no idea where that&#39;s going but I&#39;m here for it.</p><p class="paragraph" style="text-align:left;">This content isn&#39;t what you&#39;re <i>supposed</i> to create. It doesn’t fit the standard prompts. But it brings me so much joy. It could be nonsense but it’s still someone sharing their experience. This is all to say, I hope my nonsense content brings you the same amount of joy.</p><p class="paragraph" style="text-align:left;">I&#39;ll be channeling my inner 💩🤖 and 🐓👻 this week. See you next week!</p><hr class="content_break"><p class="paragraph" style="text-align:left;">P.S Here&#39;s a shortlist of some of my fav helpful newsletters. Go subscribe to them if you haven’t!</p><ul><li><p class="paragraph" style="text-align:left;"><a class="link" href="https://archives.balancedengineer.com/" target="_blank" rel="noopener noreferrer nofollow">Balanced Engineer by Brittany Ellich</a></p></li><li><p class="paragraph" style="text-align:left;"><a class="link" href="https://cassidoo.co/newsletter/?utm_source=cassidoo&utm_medium=email&utm_campaign=the-world-is-a-museum-of-other-peoples-passion" target="_blank" rel="noopener noreferrer nofollow">Rendezvous with Cassidoo by Cassidy Williams</a></p></li><li><p class="paragraph" style="text-align:left;"><a class="link" href="https://one-tip-a-week.beehiiv.com/" target="_blank" rel="noopener noreferrer nofollow">One tip a week by Nick Taylor</a></p></li><li><p class="paragraph" style="text-align:left;"><a class="link" href="https://buttondown.com/theindex" target="_blank" rel="noopener noreferrer nofollow">The Index by Piccalilli</a></p></li><li><p class="paragraph" style="text-align:left;"><a class="link" href="https://thecollectivenewsletter.beehiiv.com/" target="_blank" rel="noopener noreferrer nofollow">The Collective by Codrops</a></p></li><li><p class="paragraph" style="text-align:left;"><a class="link" href="https://html-css-tip-of-the-week.netlify.app/" target="_blank" rel="noopener noreferrer nofollow">HTML & CSS Tip of the Week by Kevin Powell</a></p></li></ul><p class="paragraph" style="text-align:left;">P.P.S Send me your most random content. I would love to read / watch it!</p></div><div class='beehiiv__footer'><br class='beehiiv__footer__break'><hr class='beehiiv__footer__line'><a target="_blank" class="beehiiv__footer_link" style="text-align: center;" href="https://www.beehiiv.com/?utm_campaign=20c56012-97ff-4131-8c3b-47cd11caceae&utm_medium=post_rss&utm_source=one_more_line">Powered by beehiiv</a></div></div>
  ]]></content:encoded>
</item>

  </channel>
</rss>
