Dynamic Number of Flexible Columns in CSS Grid Lanes

When I saw that display: grid-lanes was coming I realized I could soon get rid of my masonry JavaScript layout and enjoy browser-smooth layout instead. But I couldn't get what I wanted: a dynamic number of columns, where each column was at most MAX-WIDTH wide, but could shrink to MIN-WIDTH to fit more columns. After playing around a bit I came up with this:

2026-07-23More

Winter Babies

That's what these two are called.

2026-07-22More

Getting Ducklings in a Row

All twelve of them.

2026-06-30More

Littler Crested Grebes

When taking a stroll I saw this family of Great Crested Grebes. I immediately ran home, grabbed the 150-600mm. It quickly became apparent that mommy and daddy Grebe mostly wanted to sleep, but little Grebe was full of energy and kept chirping.

2026-06-19More

Gasworks

The remains of the Värta Gas Works naphtha steam reforming plant that stood here until January 2011.

2026-06-05More

The Fluffballs of Husarviken

The ducks had kids, too.

2026-06-01More

Littlest Crested Grebe

A pair of great crested grebes have had additions to the family.

2026-06-01More

Supernumerary Rainbows

We've had some sunshowers lately.

2026-05-28More

What Coding Assistants Excel At

After using coding assistants a bit, I think I know what they excel at, and what they do less well.

2026-05-26More

Failure Modes of AI in Software Development

Everything old is new again.

2026-05-26More

AI as a Junior Developer

The short summary of where AI is in its coding skills in mid-2026 is this: AI is like a junior developer. If you have use for junior developers, AI will help you; and if you don't, it won't.

2026-05-26More

National Museum of the Marine Corps

A museum dedicated to the few and the proud.

2026-05-23More

Great Falls Park

The Great Falls of the Potomac River. Part of the Great Falls Park.

2026-04-30More

A Detour to Husarviken

After the cherry blossoms, I popped down to the jetties for some reflections.

2026-04-30More

Fish Park Playground Cherry Blossoms

I was going to hit the gym, but got sidetracked. High clouds, starting to light up in color, cherry blossoms, in full bloom... and I knew I wouldn't be able to do a single rep unless I first grabbed my camera and photographed this.

2026-04-30More

Morning Serenade

Spring is here, and with that, early sunrises and birds.

2026-04-10More

OM System LS-P5

Good video is one thing, but if you really want immersion you need good sound. The LS-P5 from OM System (previously Olympus) is a small recorder with good quality sound, in a small package, for a nice price.

2025-10-30More

JavaScript Layouts and Cumulative Layout Shift

On the first summer day of this year I surfed in on the Google Search Console and saw that the God-machine in Sunnyvale had declared this humble blog to be unworthy.

2020-06-01, updated: 2025-08-14More

Husby in the 70's

There's a fountain at the south end of Husby Centrum. I don't know when the current one was put there, but I kept having this annoying memory of it looking different when I grew up: I vaguely remembered a big block made of red granite. Unfortunately, I didn't own a digital camera then, nor had I been bitten by the photo bug; so there were no way to confirm or disprove that nagging memory. The only hope would be to find old archive photos of the square right about when it was built.

Google Web Search was utterly unhelpful. Google Image Search would only turn up recent photos - until I found the magic keywords: "husby centrum gamla bilder". About one and a half page down I saw a photo that I immediately recognized as being from Husby Centrum, from the 70's or early 80's and close to the fountain! Could there be more?

2015-09-22, updated: 2015-09-26More

Nikon D3200 Sharpness

Given that the Nikon D3200 has a 24.1 megapixel sensor, how do I get the most out of those pixels? In particular, what is the sharpest aperture for the Sigma 10-20mm?

2012-10-14More

Photo Planning

Everyone has their own ways to produce photos. This is my workflow.

2012-04-15More