Uncategorized

  • journald rate limiting drops your logs silently

    systemd-journald discards messages from a service exceeding its burst limit and notes the fact in a single line that is easy to miss — so a debugging session…

  • Event versioning is harder than API versioning

    An API version can be retired once the clients have moved. An event may be sitting in a queue, or in an event store, published by a version…

  • The data store is where custom tables become possible

    Products have always been posts, which is why a catalogue of any size ends up fighting wp_postmeta. The CRUD layer puts a data store between the object and…

  • Redis modules exist now, and mostly you do not need one

    4.0 added a C module API, and the ecosystem that follows — search, JSON, time series, filters — is genuinely capable. It also means running a Redis that…

  • Alerting that people do not learn to ignore

    340 alerts in a month, four of which mattered. An alert channel nobody reads is the same as no alerting, and the cause is alerting on causes.

  • Measure at the percentile that hurts

    A mean response time of 180ms is compatible with 5% of requests taking four seconds, and it is the 5% who write in. The average is the one…

  • Mutation testing tells you what coverage does not

    Line coverage says a line executed during the suite. It does not say an assertion would have failed had that line been wrong, which is the question everyone…

  • Argument count errors are their own exception

    Calling a userland function with too few arguments used to be a warning that let execution continue with the parameter unset, which turned a call-site mistake into a…

  • Nullable types finally have syntax

    PHP 7.0 gave return types and no way to say a method might legitimately return nothing, so anything that could miss simply went untyped. 7.1 adds a leading…

  • String padStart for formatting without a library

    Zero-padding a number has been a slice of a string of zeros concatenated with the value, which is short enough to write inline and long enough to get…