Brian Cottingham is spiffytech
  1. Art

  2. Sort by Newest

    Google Maps' default review sorting is useless. We can do better.

  3. LLMs: The standard is not perfection

    Who cares if LLMs get things wrong, when *everything else* gets things wrong too!

  4. A better sentiment rating scale

    A rating system for the 21st century for board games, restaurants, and movies

  5. How to waterproof a level 1 EV charging cord

    Nobody tells you how to waterproof these adapters. It's easy once you know the trick.

  6. How NOT to connect a well pump to an IBC tote

    You'd think it'd be simple to get a water pump to pump water. Here are all the hiccups I went through.

  7. How many SIMs can my Pixel 8 have?

    I conduct ✨science✨ to see if my Pixel 8 can be subscribed to 3 cell plans at once

  8. I tried out the Vision Pro

    I visited the Apple store first thing on launch day to answer the question: is the Vision Pro the future, or just a gimmick?

  9. 🫴🦋 Is this an emoji?

    Given a string, can you tell if it's an emoji?

  10. Audit log ALL the things?

    Should I architect features with audit logs as opt-out, or opt-in?

  11. A Framework laptop success story

    Finally, a laptop that's easy to tear into!

  12. Preserve an element's position in the viewport after a layout shift

    I wanted to update the UI without having it jump around.

  13. I used a Monte Carlo simulation to pick my health insurance plan

    Picking a health insurance plan is hard. Let's simulate the future!

  14. Dokku with Let's Encrypt behind Cloudflare

    Bootstrapping Let's Encrypt behind Cloudflare with "SSL: Full" is tricky. Here's how to do it.

  15. Creating a type from nested interface properties in TypeScript

    How to reach deep into TypeScript interfaces and pull out a specific field

  16. A lazy-loading higher-order component for Svelte

    Using IntersectionObserver to delay a component's activation until it's visible

  17. Creating a bottom nav with CSS Flexbox

    Use flexbox to keep a nav bar at the bottom of the viewport.

  18. Setting up Sapper with Netlify CMS

    How to integrate these two technologies

  19. GraphQL Subscriptions with Vanilla JS

    I wanted to consume a GraphQL subscription without a heavy library. Here's the minimum code you need.

  20. A Minimal Svelte Router

    Svelte doesn't come with a router. Here's how to give it one.