1. How to destroy engineering organizations

    In 1944, the CIA released the Simple Sabotage Field Manual with the following goal:

    Sabotage varies from highly technical coup de main acts that require detailed planning and the use of specially trained operatives, to innumerable simple acts which the ordinary individual citizen-saboteur can perform. This paper is primarily concerned with the latter type. Simple sabotage does not require specially prepared tools or equipment; it is executed by an ordinary citizen who may or may not act individually and without the necessity for active connection with an organized group; and it is carried out in such a way as to involve a minimum danger of injury, detection, and reprisal.

    @prakhesar translates it to how modern organizations are sabotaged from within, some of which I’ve personally encountered in my career.

    • Create a strict leveling system with a long hierarchy
    • Encourage tons of meetings, lots of 1:1’s, lots of weekly syncs, and lots of planning meetings
    • Hire people that do not directly improve the product, or do not directly sell the product
    • Write lots of tickets, created a PRD for everything
    • Lots of cross-functional collaboration that results in blockers
    • Hire consultants with no subject matter expertise
    • Reward the loudest in the room with the biggest bonuses
    • …and the list goes on.

    This is why I enjoy being in special projects organizations within larger organizations. We typically have a different set of issues, and our difficulties don’t come from simple sabotage.

  2. The return of 2Advanced Studios

    If you’ve been in the web industry long enough, you might have heard of 2Advanced Studios. A lot of their work can still be found in the web design museum. They were the pinnacle of design during the flash era of the web, and they’re coming back from the dead.

    As a kid, I was inspired by 2A to take up Flash and Flash-related tools that outputted .swf files. ActionScript was the first actual programming language I learned before JavaScript and BASIC. I’m very excited to see what they’ll be working with, especially since so much has changed with web design and interactivity since then.

  3. Generating random bright colors

    On the index page of the site, you can see a chronologically sorted list of posts. When you hover this list, you’ll notice that the colors are randomized.

    I originally tried to implement this using the Cicada Principle. However, I ran into two main issues: first, I had to hand-code all the colors I wanted, so the list was definitely finite, and second, it wasn’t really random - the pattern is definitely static. That effectively meant that the order of the colors was static, as if you passed a seed to the RNG.

    I ended up deciding to use JS, since I figure I’ve been adding JS to random posts here anyway (ah the joys of Astro and markdown!). Between generating bright and dark colors, HSL is much easier to use. The code below lets you generate bright colors, which is exactly what I use for this site. To generate darker colors, simply change the range for the lightness!

    And of course, for the demo: here’sa randomlist of linksto showcasemy point.

    1
    const generateBrightColor = (() => {
    2
    "use strict";
    3
    4
    const nextInt = (min, max) => {
    5
    return Math.floor(Math.random() * (max - min + 1)) + min;
    6
    };
    7
    8
    return () => {
    9
    const h = nextInt(0, 360);
    10
    const s = nextInt(95, 100);
    11
    const l = nextInt(70, 90); // don't go too far high
    12
    return `hsl(${h},${s}%,${l}%)`;
    13
    };
    14
    })();
  4. Animated equations on the web

    I found this neat animation done by @FreyaHolmer which she made for an upcoming talk. Actually, Going through her talks, it seems she creates stunning slides with a mix of Blender, Google slides, and her own custom animation code.

    This inspired me to attempt to re-create it for myself, so I can use it on this blog. I will be posting about my solution when I get there. My initial idea is to use text splitting and basic animations, but I’ve yet to explore how the equation is rendered in HTML. I suspect some form of LaTeX -> HTML conversion is happening, rather than the full characters themselves being represented as text.

    Here is my quick idea for removing characters in action, I suspect adding is a whole other beast - same with centering it.

  5. My 15-day WhatPulse checkpoint

    I recently booted up WhatPulse again to help determine if I should finally get a 65% keyboard or stick with a layout that has the F keys. Here’s the halfway point statistics:

    WhatPulse 15-day statistics

    With presses: F2: 10 F11: 2 F12: 10 ESC: 103. The rest: nil.

    There’s still 15 days in my data collection, but given the total keypress count for the F keys make up for < 0.04% of my keypresses given a 15-day span, I think it’s safe to say that 65% keyboards are now in consideration.

    The next question is whether I should go with the smaller keyboard, or finally try out the splits.