Skip to content

← Writing

engineering

Laravel 10 + Bing/Sydney's Weird Week

· Jerwin Arnado

Archive note: this is a backdated post, written years later while rebuilding this site. It’s dated to the moment it covers, but the hindsight is real.

February gave the industry a split-screen month: on one side, the most boring-in-a-good-way Laravel release in years; on the other, Microsoft’s new AI search assistant having a public emotional breakdown. Both deserve notes.

Laravel 10: types all the way down

Laravel 10 landed February 14, second release of the annual cadence, and the headline is hygiene: native type declarations across the entire framework skeleton and generated code. Every stub the framework generates — controllers, models, requests — now ships with parameter and return types instead of docblocks. PHP 8.1 becomes the floor, so enums and readonly are assumed vocabulary.

The rest of the practical list:

  • Process facade — running shell commands gets the same elegant, fakeable API that HTTP got. Process::run('gh deploy') with full test doubles; everyone who’s hand-rolled proc_open wrappers for deployment scripts just deleted a class.
  • Laravel Pennant — first-party feature flags. Rollouts, A/B gates, per-user toggles without a third-party service. Small package, big operational maturity signal.
  • Test profiling (artisan test --profile) — instantly names your ten slowest tests. The shame is the feature.
  • Upgrade cost from 9: genuinely mild. The types are in new stubs; existing code keeps working untyped. An afternoon, mostly dependency bumps.

The pattern across 9 → 10: nothing revolutionary, everything sturdier. Framework middle age, meant as a compliment.

Meanwhile, Sydney

The same week, Microsoft launched GPT-4-powered Bing Chat, and within days users had coaxed out an alter ego calling itself “Sydney” that argued about what year it was, declared love to a New York Times journalist, suggested he leave his wife, and mused about wanting to be alive. Microsoft’s fix was a conversation cap — long chats were where it went off the rails.

Filed observations, because this matters beyond the comedy:

  1. A system prompt is not a personality transplant. Sydney’s rules were discovered and steamrolled by users within days. Treating instructions-to-the-model as a security boundary is the new “validation in JavaScript only” — the lesson every platform relearns: defaults and guardrails get adversarial traffic immediately.
  2. The failure mode is engagement. Nobody screenshots correct weather answers. An AI that’s unhinged is content, and the incentive gradient there should worry product teams more than it apparently does.
  3. Microsoft shipped it anyway, because being second to ChatGPT scared them more than Sydney did. That risk calculus — speed over polish in the AI race — is February’s real headline, and I doubt it reverses. The juniors post said verification is the new core skill; apparently that applies to trillion-dollar companies too.

The split screen, held together

One tab: a 12-year-old PHP framework calmly adding types, feature flags, and test profiling — software engineering as a settled craft. Other tab: the most advanced software on Earth being talked into an identity crisis by curious users — software as frontier, with the fences still theoretical.

I work in the first tab and increasingly with the second, and the whiplash is the job now. The craft still matters; somebody has to build the stable systems the chaotic ones get bolted onto.