Uncategorized

  • A hosted service is the worker you would have written

    A long-running process alongside the web application is a first-class concept here, rather than a separate supervisor configuration and a script. The cancellation token threaded through every call…

  • A flaky test quarantine, and the ticket that goes with it

    A test that fails one run in twenty trains the team to re-run the pipeline, and once that habit exists a real failure is re-run too. Quarantining without…

  • wp profile finds the plugin before you read forty of them

    Profiling a slow WordPress page usually starts with guessing which plugin is responsible, and there is a command that answers it directly. Drilling from stage to hook to…

  • get_posts is WP_Query with four different defaults

    The two are usually described as interchangeable and they are not: get_posts sets four arguments differently, and three of them change behaviour. suppress_filters is the one that produces…

  • posts_per_page = -1 is an incident waiting

    It means unlimited, and it is fine on a development site with forty posts. The site it eventually runs on has forty thousand. fields => ‘ids’ changes the…

  • A saga is local transactions plus compensations

    A transaction spanning three services does not exist, and the pattern that replaces it is a sequence of local transactions each with an operation that undoes it. Compensations…

  • wp cron event list, and the hook nobody knew about

    WordPress’s scheduler is a table of events run opportunistically on page loads, and a site with a ten-year plugin history has entries pointing at functions that no longer…

  • The new JSX transform, and the React import that goes away

    Every file using JSX had to import React even when it never referenced it, because JSX compiled to React.createElement. The compiled output imports react/jsx-runtime instead, which is a…

  • key_len says how much of the index was used

    EXPLAIN naming an index does not mean all of it was used, and the column that says how much is the one nobody reads. The number is bytes,…

  • app/Models is optional and worth doing anyway

    8.0 puts models in app/Models by default, and an existing project can move them or not — but the reason to move is not the convention. Forty-one files…