<!DOCTYPE html>
<html lang="en" dir="auto">

<head>
	<meta name="generator" content="Hugo 0.124.1"><meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<meta name="robots" content="index, follow">
<title>Parade of Rain</title>

<meta name="description" content="">
<meta name="author" content="">
<link rel="canonical" href="https://www.paradeofrain.com/">
<link crossorigin="anonymous" href="/assets/css/stylesheet.96224f4008bfa0884c52ae12a8f9fea912d0e624e7b34359db755367caab8c80.css" integrity="sha256-liJPQAi/oIhMUq4SqPn&#43;qRLQ5iTns0NZ23VTZ8qrjIA=" rel="preload stylesheet" as="style">
<link rel="icon" href="https://www.paradeofrain.com/favicon.ico">
<link rel="icon" type="image/png" sizes="16x16" href="https://www.paradeofrain.com/favicon-16x16.png">
<link rel="icon" type="image/png" sizes="32x32" href="https://www.paradeofrain.com/favicon-32x32.png">
<link rel="apple-touch-icon" href="https://www.paradeofrain.com/apple-touch-icon.png">
<link rel="mask-icon" href="https://www.paradeofrain.com/safari-pinned-tab.svg">
<meta name="theme-color" content="#2e2e33">
<meta name="msapplication-TileColor" content="#2e2e33">
<link rel="alternate" type="application/rss+xml" href="https://www.paradeofrain.com/index.xml">
<link rel="alternate" type="application/json" href="https://www.paradeofrain.com/index.json">
<link rel="alternate" hreflang="en" href="https://www.paradeofrain.com/">
<noscript>
    <style>
        #theme-toggle,
        .top-link {
            display: none;
        }

    </style>
</noscript><meta property="og:title" content="Parade of Rain" />
<meta property="og:description" content="" />
<meta property="og:type" content="website" />
<meta property="og:url" content="https://www.paradeofrain.com/" />

<meta name="twitter:card" content="summary"/>
<meta name="twitter:title" content="Parade of Rain"/>
<meta name="twitter:description" content=""/>

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Organization",
  "name": "Parade of Rain",
  "url": "https://www.paradeofrain.com/",
  "description": "",
  "thumbnailUrl": "https://www.paradeofrain.com/favicon.ico",
  "sameAs": [
      "https://twitter.com/alexokafor", "https://mastodon.gamedev.place/@AlexOkafor"
  ]
}
</script>
</head>

<body class="list dark" id="top">

<header class="header">
    <nav class="nav">
        <div class="logo">
            <a href="https://www.paradeofrain.com/" accesskey="h" title="Parade of Rain (Alt + H)">Parade of Rain</a>
            <div class="logo-switches">
                <ul class="lang-switch"><li>|</li>
                </ul>
            </div>
        </div>
        <ul id="menu">
            <li>
                <a href="https://www.paradeofrain.com/posts/" title="posts">
                    <span>posts</span>
                </a>
            </li>
            <li>
                <a href="https://www.paradeofrain.com/archives/" title="archives">
                    <span>archives</span>
                </a>
            </li>
            <li>
                <a href="https://www.paradeofrain.com/tags/" title="tags">
                    <span>tags</span>
                </a>
            </li>
            <li>
                <a href="https://www.paradeofrain.com/search/" title="search (Alt &#43; /)" accesskey=/>
                    <span>search</span>
                </a>
            </li>
            <li>
                <a href="https://www.paradeofrain.com/about" title="about">
                    <span>about</span>
                </a>
            </li>
        </ul>
    </nav>
</header>
<main class="main"> 

<article class="first-entry"> 
  <header class="entry-header">
    <h2>More of This Please
    </h2>
  </header>
  <div class="entry-content">
    <p>This is a good thing: BREAKING: Zohran Mamdani announces click-to-cancel rule for NYC. This rule is aimed at guaranteeing New Yorkers can cancel subscriptions as easily as they sign up — and stopping corporations from trapping customers. This will save New Yorkers up to $162.5 million per year.
— More Perfect Union (@moreperfectunion.bsky.social) 2026-07-10T16:34:45.674Z Source link
More of this please.</p>
  </div>
  <footer class="entry-footer"><span title='2026-07-11 15:51:30 -0400 -0400'>July 11, 2026</span></footer>
  <a class="entry-link" aria-label="post link to More of This Please" href="https://www.paradeofrain.com/posts/more-of-this-please/"></a>
</article>

<article class="post-entry"> 
  <header class="entry-header">
    <h2>Do We Want This
    </h2>
  </header>
  <div class="entry-content">
    <p>I’ve been following the discourse in AI software development, especially in the game development spaces, and the eagerness of people sharing their creations I think speaks to people’s desire to create, which I think is a good thing. Yet, they tout their ignorance as some kind of badge of honor. Them declaring they did a thing without knowing an ounce of programming, art, design, or writing I think is a sad outcome....</p>
  </div>
  <footer class="entry-footer"><span title='2026-07-10 13:23:28 -0400 -0400'>July 10, 2026</span></footer>
  <a class="entry-link" aria-label="post link to Do We Want This" href="https://www.paradeofrain.com/posts/do-we-want-this/"></a>
</article>

<article class="post-entry"> 
  <header class="entry-header">
    <h2>Community
    </h2>
  </header>
  <div class="entry-content">
    <p>“Community comes at the cost of convienence” is a great line. Got that quote from an interview with Brennan Lee Mulligan.
People want convienence and without knowing it, they gave up what we use to have: community. I think internet modernity may have broken it. And worse still, we may have handed the keys over to big tech in the process.
It wasn’t convienent to go to 5 different sites to catch up with different communities, but once everything became a feed and entered social media we lost that boundary and algorithms took over....</p>
  </div>
  <footer class="entry-footer"><span title='2026-06-22 08:12:24 -0400 -0400'>June 22, 2026</span></footer>
  <a class="entry-link" aria-label="post link to Community" href="https://www.paradeofrain.com/posts/community/"></a>
</article>

<article class="post-entry"> 
<figure class="entry-cover"><img loading="lazy" src="https://www.paradeofrain.com/posts/code-volume/images/thomas-tastet-unsplash.jpg" alt="">
</figure>
  <header class="entry-header">
    <h2>Code Volume
    </h2>
  </header>
  <div class="entry-content">
    <p>I generally have some eye for “how much code does it take” to do a specific task. One thing I’ve come to terms with while working on larger and larger systems is that the runtime code starts to become dwarfed by the test code and build system that helps make the final artifact.</p>
  </div>
  <footer class="entry-footer"><span title='2025-11-21 12:37:22 -0500 -0500'>November 21, 2025</span></footer>
  <a class="entry-link" aria-label="post link to Code Volume" href="https://www.paradeofrain.com/posts/code-volume/"></a>
</article>

<article class="post-entry"> 
  <header class="entry-header">
    <h2>Interruptions are the Norm
    </h2>
  </header>
  <div class="entry-content">
    <p>As life gets more complicated, and responsibilities increase, it’s easy to chalk up the lack of progress to the constant interruptions. I sometimes have to remind myself that interruptions are the norm, not the exception. Plan accordingly, and take solace in the increasingly fewer times life gives you those long stretches of peace and quiet. And more importantly, recognize some of those interruptions aren’t of the distracting variety, but they are life happening....</p>
  </div>
  <footer class="entry-footer"><span title='2025-11-17 23:00:01 -0500 -0500'>November 17, 2025</span></footer>
  <a class="entry-link" aria-label="post link to Interruptions are the Norm" href="https://www.paradeofrain.com/posts/interruptions-are-the-norm/"></a>
</article>

<article class="post-entry"> 
  <header class="entry-header">
    <h2>Small Gasp of Fresh Air
    </h2>
  </header>
  <div class="entry-content">
    <p>Tonight’s election feels like a small gasp of fresh air while still suffocating in this hellscape. The rebuke across the board in the various elections gives me hope. My political feeds on bluesky for once aren’t just utter doom and gloom.
OH MY GOD, DDHQ CALLS IT AND DEMS FLIP BOTH STATEWIDE ELECTIONS IN GEORGIA
— Joe (@electionsjoe.bsky.social) 2025-11-05T00:43:05.760Z 1. On Tuesday Night, Democrats won elections nationwide in a stunning rebuke of anti-transgender politics....</p>
  </div>
  <footer class="entry-footer"><span title='2025-11-05 00:03:54 -0500 -0500'>November 5, 2025</span></footer>
  <a class="entry-link" aria-label="post link to Small Gasp of Fresh Air" href="https://www.paradeofrain.com/posts/fresh-air/"></a>
</article>

<article class="post-entry"> 
  <header class="entry-header">
    <h2>Stop Falling for It
    </h2>
  </header>
  <div class="entry-content">
    <p>Affinity just announced their version 3 of their graphics suites. It’s a crazy technical achievement marred by the false promise of “democratizing creative tools”. This feels straight out of the enshittification playbook. I was rooting for them years ago after Adobe went subs only. Sad to see this direction. They gave away their core product for free. Professionals just lost their leverage. This is no longer a business relationship where someone exchanges money for the service....</p>
  </div>
  <footer class="entry-footer"><span title='2025-10-30 14:04:14 -0400 -0400'>October 30, 2025</span></footer>
  <a class="entry-link" aria-label="post link to Stop Falling for It" href="https://www.paradeofrain.com/posts/stop-falling-for-it/"></a>
</article>

<article class="post-entry"> 
  <header class="entry-header">
    <h2>One Percent a Day
    </h2>
  </header>
  <div class="entry-content">
    <p>Focusing on the 1% improvement per day for a long time instead of some herculean effort in some small intense burst generally yields bigger and better results in the long run. I don’t know why it took so long. I think I’ve always knew it intellectually. But in the past couple of years I think I’ve finally begun to internalized it. I read Atomic Habits a while back and it put into words that same sentiment....</p>
  </div>
  <footer class="entry-footer"><span title='2025-10-29 00:38:54 -0400 -0400'>October 29, 2025</span></footer>
  <a class="entry-link" aria-label="post link to One Percent a Day" href="https://www.paradeofrain.com/posts/one-percent-a-day/"></a>
</article>

<article class="post-entry"> 
  <header class="entry-header">
    <h2>Taking It Back, Part 1
    </h2>
  </header>
  <div class="entry-content">
    <p>I’ve been on a bit of a “get back in control of my data” streak. I’ve been experimenting with different services and software to help enable that. Some stick and some don’t quite hit the mark. One that’s had staying power for me has been Kagi. I’ve had it over a year now (August of last year) and I haven’t looked back to google search since. The few times I’ve been found myself on google search it really felt like a step backwards....</p>
  </div>
  <footer class="entry-footer"><span title='2025-10-23 08:11:50 -0400 -0400'>October 23, 2025</span></footer>
  <a class="entry-link" aria-label="post link to Taking It Back, Part 1" href="https://www.paradeofrain.com/posts/taking-it-back/"></a>
</article>

<article class="post-entry"> 
  <header class="entry-header">
    <h2>Creative Diet
    </h2>
  </header>
  <div class="entry-content">
    <p>Ran into this post earlier today with a choice quote from an old movie I enjoyed:
“In order to make delicious food, you must eat delicious food. The quality of ingredients is important, but one must develop a palate capable of discerning good and bad. Without good taste, you can’t make good food.&#34; - Jiro Ono in Jiro Dreams of Sushi (2011)
The sentiment shared in Prasatt’s post I agree with....</p>
  </div>
  <footer class="entry-footer"><span title='2025-10-22 15:51:17 -0400 -0400'>October 22, 2025</span></footer>
  <a class="entry-link" aria-label="post link to Creative Diet" href="https://www.paradeofrain.com/posts/creative-diet/"></a>
</article>
<footer class="page-footer">
  <nav class="pagination">
    <a class="next" href="https://www.paradeofrain.com/page/2/">Next&nbsp;&nbsp;»
    </a>
  </nav>
</footer>
    </main>
    
<footer class="footer">
    <span>&copy; 2026 <a href="https://www.paradeofrain.com/">Parade of Rain</a></span>
    <span>
        Powered by
        <a href="https://gohugo.io/" rel="noopener noreferrer" target="_blank">Hugo</a> &
        <a href="https://github.com/adityatelange/hugo-PaperMod/" rel="noopener" target="_blank">PaperMod</a>
    </span>
</footer>
<a href="#top" aria-label="go to top" title="Go to Top (Alt + G)" class="top-link" id="top-link" accesskey="g">
    <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 12 6" fill="currentColor">
        <path d="M12 6H0l6-6z" />
    </svg>
</a>

<script>
    let menu = document.getElementById('menu')
    if (menu) {
        menu.scrollLeft = localStorage.getItem("menu-scroll-position");
        menu.onscroll = function () {
            localStorage.setItem("menu-scroll-position", menu.scrollLeft);
        }
    }

    document.querySelectorAll('a[href^="#"]').forEach(anchor => {
        anchor.addEventListener("click", function (e) {
            e.preventDefault();
            var id = this.getAttribute("href").substr(1);
            if (!window.matchMedia('(prefers-reduced-motion: reduce)').matches) {
                document.querySelector(`[id='${decodeURIComponent(id)}']`).scrollIntoView({
                    behavior: "smooth"
                });
            } else {
                document.querySelector(`[id='${decodeURIComponent(id)}']`).scrollIntoView();
            }
            if (id === "top") {
                history.replaceState(null, null, " ");
            } else {
                history.pushState(null, null, `#${id}`);
            }
        });
    });

</script>
<script>
    var mybutton = document.getElementById("top-link");
    window.onscroll = function () {
        if (document.body.scrollTop > 800 || document.documentElement.scrollTop > 800) {
            mybutton.style.visibility = "visible";
            mybutton.style.opacity = "1";
        } else {
            mybutton.style.visibility = "hidden";
            mybutton.style.opacity = "0";
        }
    };

</script>
</body>

</html>
