Category: Tech

  • The coming of the Advent of Code

    The coming of the Advent of Code

    This year, let’s turn November into a low-stress, high-fun team challenge. We’ll take the Advent of Code 2023 puzzles and run them together from November 15 through December 10—when we actually have everyone around. Same great puzzles, better timing.

    SUBSCRIBE WITH THIS OFFER

    If you haven’t tried it: Advent of Code is basically an advent calendar for devs. Instead of chocolates, you get one algorithmic puzzle per day from December 1 to 25, each wrapped in a playful storyline. Solve part one, earn a star; then part two tweaks the rules and tests how flexible your solution really is. It’s language-agnostic: use whatever you like.

    We’re going to do the year of our Lord 2023 editions set so we can run it on our schedule, compare approaches, and have a little friendly fun together.

    How we’ll run it

    • Dates: Nov 15 → Dec 10
    • Puzzles: Advent of Code 2023 (all 25 available; You do not have to finish all of them)
    • Check-ins: A quick Friday knowledge-share for highlights on anything new you learned (Even as small as bubble sorting in Python)
    • Leaderboard: private board for bragging rights, inspiration, and gentle chaos
    • Tone: collaborative first, competitive second

    The twist: pick a new language (by default)

    To make it interesting, the default is: pick a language you’ve been curious about and do your AoC in that. Want to learn Rust? Perfect. Curious about Go, Kotlin, or Zig? Go for it. If you’d rather deepen a language you already use, that’s fine too—but the most fun tends to come from building a little toolbox in something new.

    Why this works so well:

    • You’ll quickly spot gaps and habits (parsing assumptions, off-by-one cousins, the “I’ll refactor later” ghost).
    • You’ll see multiple ways to model the same problem—graphs, grids, DP, memoization, pipelines.
    • You’ll collect reusable snippets: input parsing, grid utilities, BFS/DFS templates, small profilers.

    Light guardrails to keep it enjoyable

    • Spoilers: use spoiler tags in the channel until lunchtime. Help > hints > answers.
    • Show-and-tell, not code dumps: on Fridays, share the approach and trade-offs (data structures, complexity, edge cases).
    • Repo of goodies: drop notable solutions, parsing helpers, and brief READMEs so we can reuse patterns.
    • Friendly leaderboard: celebrate speed, but also clarity and “I learned something” moments. Micro-awards welcome:
      • Fastest First Star
      • Cleanest Solution
      • Most Educational Refactor
      • Best Plot Twist in Part Two
    • Pace with kindness: not everyone is a midnight solver. Stars earned after coffee still count as stars.

    What to expect

    • A little skill sharpening every day you play—even if it’s one or two puzzles a week.
    • Cross-pollination of ideas: “I modeled it as a graph and part two became Dijkstra,” versus “I memoized a brute force and it went brrr.”
    • The kind of jokes only we enjoy: CI dressed up as a Christmas tree, a temporary ceasefire in tabs-vs-spaces to fight trailing whitespace, someone claiming an O(1) solution because they “waited for Priya.”

    Getting started

    1. Pick your language (new-to-you by default).
    2. Join the private leaderboard (I’ll share the code in the channel).
    3. Grab Advent of Code 2023 and start wherever you like.
    4. Post progress in scrum notes; on Fridays, bring a highlight or a gotcha to the knowledge-share.

    If you’ve been meaning to learn Rust, Go, or “that one language” you keep bookmarking, this is your excuse. We’ll learn a bunch, borrow clever ideas from each other, and collect a tiny library of utilities that will pay off in real work.

    See you in the channel—bring your language flag and your favorite debugging snack.

  • Meet Biome v2: Our snappy new code gardener

    Meet Biome v2: Our snappy new code gardener

    TL;DR: We’re retiring ESLint and adopting Biome — a fast, Rust-built tool that lint-checks and formats our code in one go, with new smarts in v2 to catch more issues and reduce config fatigue

    SUBSCRIBE WITH THIS OFFER

    What is Biome (and why v2 matters)?

    Biome is an all‑in‑one toolchain for JavaScript/TypeScript that combines a linter, a formatter, and an editor‑friendly language server, designed for speed and simplicity thanks to its Rust core. The new v2 release upgrades the brains: type‑aware rules, multi‑file analysis, and an extensible plugin system to grow features without growing your config headaches.

    Why we’re swapping ESLint for Biome

    • One tool, fewer moving parts: Biome replaces the ESLint + Prettier combo with a unified engine, so less setup, fewer plugins, and fewer mystery conflicts.
    • Faster dev feedback: The Rust implementation makes linting/formatting feel snappy, which means tighter feedback loops and happier laptops.
    • Formatting you already trust: Biome’s formatter targets high compatibility with Prettier (97%), so your code style won’t do a sudden plot twist.
    • Smarter checks in v2: Type‑aware linting and cross‑file analysis help catch real‑world issues that single‑file rules can miss, plus a new plugin system to extend safely over time.

    How to think about it (intern‑friendly edition)

    • ESLint: a great code spell‑checker that often needs many dictionaries and grammar plugins.
    • Biome: a speedy proofreader that also cleans up your writing as you type — and in v2 it learned context, not just spelling, so it catches “their/there/they’re” across chapters, not just sentences.

    What changes for us

    • Fewer configs to maintain, fewer CI steps to juggle, and a single source of truth for style + correctness — with fast, consistent results across the team.
    • Same code style expectations, just enforced and formatted by a unified, Rust‑powered engine that’s kinder to your time and CPU.

    And now, the dramatic ending: We’re going Biome. Fewer plugins, faster feedback, smarter rules — because clean code shouldn’t feel like cardio
    Dive deeper in the official Biome documentation to get started https://biomejs.dev/guides/getting-started/