OIDC: The Identity Boundary Behind Login
A practical introduction to OpenID Connect: what problem it solves, when it is worth using, how it fits login and payments, and how it differs from OAuth, SAML, CAS, LDAP, JWT, and passkeys.
A practical introduction to OpenID Connect: what problem it solves, when it is worth using, how it fits login and payments, and how it differs from OAuth, SAML, CAS, LDAP, JWT, and passkeys.
AI coding is increasingly an agentic loop: write code, run validation, read failures, and fix again. In that loop, test, lint, and build performance directly shape engineering throughput.
A reflection on why admin and configuration platforms should stop exposing their capabilities only through pages, and start turning operations into CLI commands and agent-readable skills.
Rewritten English prompt patterns for editorial information visuals, technology posters, brand concepts, and botanical knowledge cards.
Rewritten English prompt patterns for turning architecture notes, technical mechanisms, and Mermaid flows into readable gpt-image-2 visuals.
A growing collection of reusable gpt-image-2 prompt patterns, rewritten and tested in English with new example images.
How a repeated blog image workflow became two reusable npm CLI tools: tinify-cli for compression and imgasset for AI generation, raw asset storage, compression, and publishing.
A reflection on why Astro fits content-driven static sites, based on recent website projects, a blog migration from Hexo to Astro, and comparisons with Hugo, Eleventy, VitePress, Docusaurus, and Next.js.
A reflection on Bun's move toward Rust, a small SolidJS-to-Vue migration, and why technical choices in the AI era are becoming less like permanent bets and more like decisions that can be revised.
A reflection on why AI applications feel less like traditional internet products and more like on-demand production, where every useful answer, image, and agent run has a real cost.