Balancing Flexbox Lines with flex-wrap: balance

With flex-wrap: wrap, the last line often holds just a few items, leaving the lines badly unbalanced. flex-wrap: balance keeps the line count that normal wrapping produces while redistributing flex items so each line comes out about the same length.

Building Responsive Shapes with the CSS shape() Function

Shapes built with clip-path's path() are hard to make responsive because its coordinates are fixed pixels. shape() defines curves with percentages, CSS units, and custom properties. This article builds a resizable speech bubble and a motion path.

What I Learned From Having AI Write My Technical Blog Posts

I thought AI-written articles were too generic and too wordy, so I only used AI to catch typos. Trying a workflow that hands drafting to AI, I found that reading the draft critically and adding my own experience preserves most of the learning.

Trying Out Slack Code: Open Development on Slack

Slack Code brings open, team-wide development into Slack. Instead of DMs and threads, you create a special channel called a code channel and work with a coding agent as a whole team. Here is what it was like to actually try it out.