1. Do not push to production on a Friday

    | ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄|
    |   Don't Push To Production On Friday   |
    |________________________|
                   \ (•◡•) / 
                    \     / 
                     —————
                     |  |
                     |_ |_
    

    Yep, just don’t do it.

    You’d think with over 15 years in the industry, I’d have learned this by now, but nope! 1.5 months into my new role, I’d just introduced a production issue on a release that’s supposed to prevent further issues!

    Rookie mistake, but the long story short is that I had inherited a large monolith and I thought that the single entrypoint I had touched so far was the only entrypoint to the app!

    And so after introducing a change that affects entrypoints (think: middleware setups), I thought that was it. Turns out, the other entrypoints started failing. Thank god for alerts, logs, and DLQ’s!

  2. Remembering Aaron Swartz

    I saw this tweet earlier and felt the need to post about Aaron Swartz. Now more than ever, I feel the importance of the things that he fought for. In a world where we have the largest companies scraping the internet and selling you their AIs trained on this data for $20, it just seems so wild what happened to him over 10 years ago.

  3. HoloLive at the Dodgers stadium

    I don’t watch baseball, but I do watch a couple of VTubers. I consider the culture around sports and the people who enjoy it, especially in the context of people I’ve encountered in my life, the antithesis to the VTubing world - the classic jocks vs. nerds. The crowd reaction, how Twitter lit up during the event, and how this event might have possibly permanently started bridging that gap, all makes me happy.

    It’s a similar sentiment to how I feel about @alexisohanian’s efforts to investing in women’s sports. All it really takes is these orgs making that push to bridge gaps in subcultures, and if you do it correctly, the internet will do its job and reciprocate.

  4. Adding a little blip of activity

    While messing around with my .plan, I thought it would be nice if I could surface some of my real-time info on the site as well.

    Following my thirty days of WhatPulse, I never really paid attention to the app again and it just disappeared in the background. Turns out, WhatPulse has both a Client and Web API that allows you to access either real-time info or pulsed info.

    Anyway, here a link to an XML version of my stats. My Astro setup isn’t SSR-enabled, so the fetch I just only happens on build time and is rendered on the sidebar. You can see it in action at the bottom left.

    1
    const response = await fetch(
    2
    "https://api.whatpulse.org/user.php?user=codewisp&format=json"
    3
    );
    4
    5
    const data = await response.json();
    6
    const {
    7
    UptimeShort: uptime,
    8
    Keys: keys,
    9
    Clicks: clicks,
    10
    DistanceInMiles: distance,
    11
    Download: download,
    12
    Upload: upload,
    13
    } = data;
    14
    15
    const distanceInKm = distance * 1.609344;
  5. Animating equations on the web: Part 3

    Continuing off of animated equations on the web - part 2, I finally decided to complete the last bits of work needed to animate. Spoiler, this doesn’t actually automate the transition from static equations to animated equations.

    Previously, I wrote about my plan, which was to generate the diffs before animating the result with revealjs. What I actually ended up doing is taking the output of KaTeX, manually tagging the parts of the equation with data-ids, and letting revealjs animate from one slide to the next.

    It’s not as shiny as I originally wanted it to be, with just simply entering the equations and letting the script do the heavy lifting, but I am still happy with the result.

    Demo below:

    f(2)= (1F) + ((1F) a+ Fb)+ Fb
    f(2)= a (1F) 2+ (1F) Fb+Fb
    f(2)= a (1F) 2+ b ((1F) F+F)
    f(2)= a (1F) 2+ b (2FF 2)
    f(2)= a (1F) 2 b ( 2FF2)+ b
    f(2)= a (1F) 2 b (1 F)2+ b
    f(2)= ( a b) (1F) 2 + b