> All in One 586: October 2025

Ads

Sunday, October 12, 2025

Partly Cloudy today!



With a high of F and a low of 40F. Currently, it's 47F and Fair outside.

Current wind speeds: 12 from the Northeast

Pollen: 0

Sunrise: October 12, 2025 at 06:58PM

Sunset: October 13, 2025 at 06:16AM

UV index: 0

Humidity: 32%

via https://ift.tt/IvPMgk6

October 13, 2025 at 10:02AM

Saturday, October 11, 2025

Partly Cloudy today!



With a high of F and a low of 52F. Currently, it's 65F and Clear outside.

Current wind speeds: 17 from the South

Pollen: 0

Sunrise: October 11, 2025 at 06:57PM

Sunset: October 12, 2025 at 06:17AM

UV index: 0

Humidity: 60%

via https://ift.tt/uprhgeq

October 12, 2025 at 10:02AM

Friday, October 10, 2025

Mostly Cloudy today!



With a high of F and a low of 56F. Currently, it's 65F and Partly Cloudy outside.

Current wind speeds: 13 from the Southeast

Pollen: 0

Sunrise: October 10, 2025 at 06:56PM

Sunset: October 11, 2025 at 06:19AM

UV index: 0

Humidity: 67%

via https://ift.tt/L0ht8ws

October 11, 2025 at 10:02AM

Thursday, October 9, 2025

Mostly Clear today!



With a high of F and a low of 47F. Currently, it's 60F and Clear outside.

Current wind speeds: 6 from the Southeast

Pollen: 0

Sunrise: October 9, 2025 at 06:55PM

Sunset: October 10, 2025 at 06:20AM

UV index: 0

Humidity: 41%

via https://ift.tt/rDGL1tI

October 10, 2025 at 10:02AM

Wednesday, October 8, 2025

Clear today!



With a high of F and a low of 48F. Currently, it's 58F and Clear outside.

Current wind speeds: 14 from the Southeast

Pollen: 0

Sunrise: October 8, 2025 at 06:54PM

Sunset: October 9, 2025 at 06:22AM

UV index: 0

Humidity: 81%

via https://ift.tt/VrNCQXO

October 9, 2025 at 10:02AM

Tuesday, October 7, 2025

Mostly Cloudy today!



With a high of F and a low of 45F. Currently, it's 52F and Cloudy outside.

Current wind speeds: 8 from the Southeast

Pollen: 0

Sunrise: October 7, 2025 at 06:53PM

Sunset: October 8, 2025 at 06:23AM

UV index: 0

Humidity: 74%

via https://ift.tt/Not7qj0

October 8, 2025 at 10:02AM

Monday, October 6, 2025

Mostly Cloudy today!



With a high of F and a low of 40F. Currently, it's 47F and Mostly Cloudy outside.

Current wind speeds: 3 from the Northeast

Pollen: 0

Sunrise: October 6, 2025 at 06:52PM

Sunset: October 7, 2025 at 06:25AM

UV index: 0

Humidity: 85%

via https://ift.tt/d7Qzufk

October 7, 2025 at 10:02AM

Getting Creative With shape-outside

Last time, I asked, “Why do so many long-form articles feel visually flat?” I explained that:

“Images in long-form content can (and often should) do more than illustrate. They can shape how people navigate, engage with, and interpret what they’re reading. They help set the pace, influence how readers feel, and add character that words alone can’t always convey.”

Then, I touched on the expressive possibilities of CSS Shapes and how, by using shape-outside, you can wrap text around an image’s alpha channel to add energy to a design and keep it feeling lively.

There are so many creative opportunities for using shape-outside that I’m surprised I see it used so rarely. So, how can you use it to add personality to a design? Here’s how I do it.

A collage of three screenshots of Patty Melt's website side-by-side demonstrating the use of text flowing around image shapes.
Patty Meltt is an up-and-coming country music sensation.

My brief: Patty Meltt is an up-and-coming country music sensation, and she needed a website to launch her new album and tour. She wanted it to be distinctive-looking and memorable, so she called Stuff & Nonsense. Patty’s not real, but the challenges of designing and developing sites like hers are.

Most shape-outside guides start with circles and polygons. That’s useful, but it answers only the how. Designers need the why — otherwise it’s just another CSS property.

Whatever shape its subject takes, every image sits inside a box. By default, text flows above or below that box. If I float an image left or right, the text wraps around the rectangle, regardless of what’s inside. That’s the limitation shape-outside overcomes.

shape-outside lets you break free from those boxes by enabling layouts that can respond to the contours of an image. That shift from images in boxes to letting the image content define the composition is what makes using shape-outside so interesting.

Solid blocks of text around straight-edged images can feel static. But text that bends around a guitar or curves around a portrait creates movement, which can make a story more compelling and engaging.

CSS shape-outside enables text to flow around any custom shape, including an image’s alpha channel (i.e., the transparent areas):

img {
  float: left;
  width: 300px;
  shape-outside: url('patty.webp');
  shape-image-threshold: .5;
  shape-margin: 1rem;
}

First, a quick recap.

For text to flow around elements, they need to float either left or right and have their width defined. The shape-outside URL selects an image with an alpha channel, such as a PNG or WebP. The shape-image-threshold property sets the alpha channel threshold for creating a shape. Finally, there’s the shape-margin property which — believe it or not — creates a margin around the shape.

Interactive examples from this article are available in my lab.

Multiple image shapes

When I’m adding images to a long-form article, I ask myself, “How can they help shape someone’s experience?” Flowing text around images can slow people down a little, making their experience more immersive. Visually, it brings text and image into a closer relationship, making them feel part of a shared composition rather than isolated elements.

An image of Patty staring into the camera on the left and two columns of white text on a black background on the right.
Columns without shape-outside applied to them

Patty’s life story — from singing in honky-tonks to headlining stadiums — contains two sections: one about her, the other about her music. I added a tall vertical image of Patty to her biography and two smaller album covers to the music column:

<section id="patty">
  <div>
    <img src="patty.webp" alt="">
    [...]
  </div>

  <div>
    <img src="album-1.webp" alt="">
    [...]
    <img src="album-2.webp" alt="">
    [...]
  </div>
</section>

A simple grid then creates the two columns:

#patty {
  display: grid;
  grid-template-columns: 2fr 1fr;
  gap: 5rem;
}

I like to make my designs as flexible as I can, so instead of specifying image widths and margins in static pixels, I opted for percentages on those column widths so their actual size is relative to whatever the size of the container happens to be:

#patty > *:nth-child(1) img {
  float: left;
  width: 50%;
  shape-outside: url("patty.webp");
  shape-margin: 2%;
}

#patty > *:nth-child(2) img:nth-of-type(1) {
  float: left;
  width: 45%;
  shape-outside: url("album-1.webp");
  shape-margin: 2%;
}

#patty > *:nth-child(2) img:nth-of-type(2) {
  float: right;
  width: 45%;
  shape-outside: url("album-2.webp");
  shape-margin: 2%;
}
Imager of Patty on the left and two columns of white text on a black background to the right. The second column of text flows around two images showing album covers.
Columns with shape-outside applied to them. See this example in my lab.

Text now flows around Patty’s tall image without clipping paths or polygons — just the natural silhouette of her image shaping the text.

Silhouette of Patty's image on the left and two slightly rotated squares on the right that the text will flow around.
Building rotations into images.

When an image is rotated using a CSS transform, ideally, browsers would reflow text around its rotated alpha channel. Sadly, they don’t, so it’s often necessary to build that rotation into the image.

shape-outside with a faux-centred image

For text to flow around elements, they need to be floated either to the left or right. Placing an image in the centre of the text would make Patty’s biography design more striking. But there’s no center value for floats, so how might this be possible?

Patty’s image set between two text columns. See this example in my lab.

Patty’s bio content is split across two symmetrical columns:

#dolly {
  display: grid;
  grid-template-columns: 1fr 1fr;
}

To create the illusion of text flowing around both sides of her image, I first split it into two parts: one for the left and the other for the right, both of which are half, or 50%, of the original width.

A silhouette of Patty's image with a dotted line dividing the image vertically against a transparent background.
Splitting the image into two pieces.

Then I placed one image in the left column, the other in the right:

<section id="dolly">
  <div>
    <img src="patty-left.webp" alt="">
    [...]
  </div>
  
  <div>
    <img src="patty-right.webp" alt="">
    [...]
  </div>
</section>

To give the illusion that text flows around both sides of a single image, I floated the left column’s half to the right:

#dolly > *:nth-child(1) img {
  float: right;
  width: 40%;
  shape-outside: url("patty-left.webp");
  shape-margin: 2%;
}

…and the right column’s half to the left, so that both halves of Patty’s image combine right in the middle:

#dolly > *:nth-child(2) img {
  float: left;
  width: 40%;
  shape-outside: url("patty-right.webp");
  shape-margin: 2%;
}
Patty's image centered between two columns of white text flowing around it.
Faux-centred image. See this example in my lab.

Faux background image

So far, my designs for Patty’s biography have included a cut-out portrait with a clearly defined alpha channel. But, I often need to make a design that feels looser and more natural.

Image of Patty sitting on a chair and playing an acoustic guitar. White text on a black background flows around it on the right.
Faux background image. See this example in my lab.

Ordinarily, I would place a picture as a background-image, but for this design, I wanted the content to flow loosely around Patty and her guitar.

A large photo of Patty sitting on a chair playing an acoustic guitar. She is positioned slightly to the left of the frame.
Large featured image

So, I inserted Patty’s picture as an inline image, floated it, and set its width to 100%;

<section id="kenny">
  <img src="patty.webp" alt="">
  [...]
</section>
#kenny > img {
  float: left;
  width: 100%;
  max-width: 100%;
}

There are two methods I might use to flow text around Patty and her guitar. First, I might edit the image, removing non-essential parts to create a soft-edged alpha channel. Then, I could use the shape-image-threshold property to control which parts of the alpha channel form the contours for text wrapping:

#kenny > img {
  shape-outside: url("patty.webp");
  shape-image-threshold: 2;
}
The same image of Patty sitting in a chair playing an acoustic guitar. The right side has been removed following her shape, leaving a transparent area around her.
Edited image with a soft-edged alpha channel

However, this method is destructive, since much of the texture behind Patty is removed. Instead, I created a polygon clip-path and applied that as the shape-outside, around which text flows while preserving all the detail of my original image:

#kenny > img {
  float: left;
  width: 100%;
  max-width: 100%;
  shape-outside: polygon(…);
  shape-margin: 20px;
}
A white dotted line shows the image's clipped area.
Original image with a non-destructive clip-path.

I have little time for writing polygon path points by hand, so I rely on Bennett Feely’s CSS clip-path maker. I add my image URL, draw a custom polygon shape, then copy the clip-path values to my shape-outside property.

Editing the Patty image in Clippy, Bennett Feely’s CSS clip path maker.
Bennett Feely’s CSS clip path maker.

Text between shapes

Patty Meltt likes to push the boundaries of country music, and I wanted to do the same with my design of her biography. I planned to flow text between two photomontages, where elements overlap and parts of the images spill out of their containers to create depth.

Two large montages of Patty with a column of white text on a background in between them, following the shapes.
Text between shapes. See this example in my lab.

So, I made two montages with irregularly shaped alpha channels.

Showing silhouettes of the irregularly shaped alpha channels against a transparent background.
Irregularly shaped alpha channels

I placed both images above the content:

<section id="johnny">
  <img src="patty-1.webp" alt="">
  <img src="patty-2.webp" alt="">
  […]
</section>

…and used those same image URLs as values for shape-outside:

#johnny img:nth-of-type(1) {
  float: left;
  width: 45%;
  shape-outside: url("patty-1.webp");
  shape-margin: 2%;
}

#johnny img:nth-of-type(2) {
  float: right;
  width: 35%;
  shape-outside: url("img/patty-2.webp");
  shape-margin: 2%;
}

Content now flows like a river in a country song, between the two image montages, filling the design with energy and movement.

Conclusion

Too often, images in long-form content end up boxed in and isolated, as if they were dropped into the page as an afterthought. CSS Shapes — and especially shape-outside — give us a chance to treat images and text as part of the same composition.

This matters because design isn’t just about making things usable; it’s about shaping how people feel. Wrapping text around the curve of a guitar or the edge of a portrait slows readers down, invites them to linger, and makes their experience more immersive. It brings rhythm and personality to layouts that might otherwise feel flat.

So, next time you reach for a rectangle, pause and think about how shape-outside can help turn an ordinary page into something memorable.


Getting Creative With shape-outside originally published on CSS-Tricks, which is part of the DigitalOcean family. You should get the newsletter.



from CSS-Tricks https://ift.tt/ScM5ns3
via IFTTT

Sunday, October 5, 2025

Mostly Cloudy today!



With a high of F and a low of 39F. Currently, it's 45F and Clear outside.

Current wind speeds: 15 from the Northeast

Pollen: 0

Sunrise: October 5, 2025 at 06:51PM

Sunset: October 6, 2025 at 06:27AM

UV index: 0

Humidity: 84%

via https://ift.tt/tebYnjy

October 6, 2025 at 10:02AM

Saturday, October 4, 2025

Thunderstorms/Wind Early today!



With a high of F and a low of 43F. Currently, it's 59F and Partly Cloudy outside.

Current wind speeds: 15 from the South

Pollen: 0

Sunrise: October 4, 2025 at 06:50PM

Sunset: October 5, 2025 at 06:28AM

UV index: 0

Humidity: 72%

via https://ift.tt/OIYmKf5

October 5, 2025 at 10:02AM

Friday, October 3, 2025

Clear today!



With a high of F and a low of 55F. Currently, it's 65F and Clear outside.

Current wind speeds: 13 from the South

Pollen: 0

Sunrise: October 3, 2025 at 06:49PM

Sunset: October 4, 2025 at 06:30AM

UV index: 0

Humidity: 41%

via https://ift.tt/u7dMBq3

October 4, 2025 at 10:02AM

Thursday, October 2, 2025

Clear today!



With a high of F and a low of 51F. Currently, it's 63F and Clear outside.

Current wind speeds: 12 from the Southeast

Pollen: 0

Sunrise: October 2, 2025 at 06:48PM

Sunset: October 3, 2025 at 06:31AM

UV index: 0

Humidity: 53%

via https://ift.tt/QrngaPH

October 3, 2025 at 10:02AM

Wednesday, October 1, 2025

Mostly Clear today!



With a high of F and a low of 50F. Currently, it's 59F and Clear outside.

Current wind speeds: 6 from the Southeast

Pollen: 0

Sunrise: October 1, 2025 at 06:47PM

Sunset: October 2, 2025 at 06:33AM

UV index: 0

Humidity: 59%

via https://ift.tt/vinrmC3

October 2, 2025 at 10:02AM

Same Idea, Different Paint Brush

There’s the idiom that says everything looks like a nail when all you have is a hammer. I also like the one about worms in horseradish seeing the world as horseradish.

That’s what it felt like for me as I worked on music for an album of covers I released yesterday.

I was raised by my mother, a former high school art teacher (and a gifted artist in her own right), who exposed me to a lot of different tools and materials for painting and drawing. I’m convinced that’s what pointed me in the direction of web development, even though we’re talking years before the internet of AOL and 56K dial-up modems. And just as there’s art and craft to producing a creative 2D visual on paper with wet paint on a brush, there’s a level of art and craft to designing user interfaces that are written in code.

You might even say there’s a poetry to code, just as there’s code to writing poetry.

I’ve been painting with code for 20 years. HTML, CSS, JavaScript, and friends are my medium, and I’ve created a bunch of works since then. I know my mom made a bunch of artistic works in her 25+ years teaching and studying art. In a sense, we’re both artists using a different brush to produce works in different mediums.

Naturally, everything looks like code when I’m staring at a blank canvas. That’s whether the canvas is paper, a screen, some Figma artboard, or what have you. Code is my horseradish and I’ve been marinating in this horseradish ocean for quite a while.

This is what’s challenging to me about performing and producing an album of music. The work is done in a different medium. The brush is no longer code (though it can be) but sounds, be them vibrations that come from a physical instrument or digital waves that come from a programmed beat or sample.

There are parallels between painting with code and painting with sound, and it is mostly a matter of approach. The concepts, tasks, and challenges are the same, but the brush and canvas are totally different.

What’s in your stack?

Sound is no different than the web when it comes to choosing the right tools to do the work. Just as you need a stack of technical tools to produce a website or app, you will need technical tools to capture and produce sounds, and the decision affects how that work happens.

For example, my development environment might include an editor app for writing code, a virtual server to see my work locally, GitHub for version control and collaboration, some build process that compiles and deploys my code, and a host that serves the final product to everyone on the web to see.

Making music? I have recording software, microphones, gobs of guitars, and an audio interface that connects them together so that the physical sounds I make are captured and converted to digital sound waves. And, of course, I need a distributor to serve the music to be heard by others just as a host would serve code to be rendered as webpages.

Can your website’s technical stack be as simple as writing HTML in a plain text editor and manually uploading the file to a hosting service via FTP? Of course! Your album’s technical stack can just as easily be a boombox with a built in mic and recording. Be as indie or punk as you want!

Either way, you’ve gotta establish a working environment to do the work, and that environment requires you to make decisions that affect the way you work, be it code, music, or painting for that matter. Personalize your process and make it joyful.

It’s the “Recording Experience” (EX) to what we think of as Developer Experience (DX).

What’re you painting on?

If you’re painting, it could be paper. But what kind of paper? Is college-rule cool or do you need something more substantial with heavier card stock? You’re going to want something that supports the type of paint you’re using, whether it’s oil, water, acrylic… or lead? That wouldn’t be good.

On the web, you’re most often painting on a screen that measures its space in pixel units. Screens are different than paper because they’re not limited by physical constraints. Sure, the hardware may pose a constraint as far as how large a certain screen can be. But the scene itself is limitless where we can scroll to any portion of it that is not in the current frame. But please, avoid AJAX-based infinite scrolling patterns in your work for everyone’s sake.

I’m also painting music on a screen that’s as infinite as the canvas of a webpage. My recording software simply shows me a timeline and I paint sound on top of time, often layering multiple sounds at the same point in time — sound pictures, if you will.

Screenshot of the GarageBand recording app showing seven recorded tracks positioned along a progressive timeline based on beats per measure.

That’s simply one way to look at it. In some apps, it’s possible to view the canvas as movements that hold buckets of sound samples.

Screenshot of the Ableton Live recording app in grid view. There are nine colored columns representing song sections containing sound samples.

Same thing with code. Authoring code is as likely to happen in a code editor you type into as it is to happen with a point-and-click setup in a visual interface that doesn’t require touching any code at all (Dreamweaver, anyone?). Heck, the kids are even “vibe” coding now without any awareness of how the code actually comes together. Or maybe you’re super low-fi and like to sketch your code before sitting behind a keyboard.

How’re people using it?

Web developers be like all obsessed with how their work looks on whatever device someone is using. I know you know what I’m talking about because you not only resize browsers to check responsiveness but probably also have tried opening your site (and others!) on a slew of different devices.

⚠️ Auto-playing media
Animated gif showing a browser viewport being resized and how the layout adjusts to the changes.

It’s no different with sound. I’ve listened to each song I’ve recorded countless times because the way they sound varies from speaker to speaker. There’s one song in particular that I nearly scrapped because I struggled to get it sounding good on my AirPods Max headphones that are bass-ier than your typical speaker. I couldn’t handle the striking difference between that and a different output source that might be more widely used, like car speakers.

Will anyone actually listen to that song on a pair of AirPods Max headphones? Probably not. Then again, I don’t know if anyone is viewing my sites on some screen built into their fridge or washing machine, but you don’t see me rushing out to test that. I certainly do try to look at the sites I make on as many devices as possible to make sure nothing is completely busted.

A collage of various phone devices drawn in black and white line illustrations.

You can’t control what device someone uses to look at a website. You can’t control what speakers someone uses to listen to music. There’s a level of user experience and quality assurance that both fields share. There’s a whole other layer about accessibility and inclusive design that fits here as well.

There is one big difference: The cringe of listening to your own voice. I never feel personally attached to the websites I make, but listening to my sounds takes a certain level of vulnerability and humility that I have to cope with.

The creative process

I mentioned it earlier, but I think the way music is created shares a lot of overlap with how websites are generally built.

For example, a song rarely (if ever) comes fully formed. Most accounts I read of musicians discussing their creative process talk about the “magic” of a melody in which it pretty much falls in the writer’s lap. It often starts as the germ of an idea and it might take minutes, days, weeks, months, or even years to develop it into a comprehensive piece of work. I keep my phone’s Voice Memos app at the ready so that I’m able to quickly “sketch” ideas that strike me in the moment. It might simply be something I hum into the phone. It could be strumming a few chords on the guitar that sound really nice together. Whatever it is, I like to think of those recordings as little low-fidelity sketches, not totally unlike sketching website layouts and content blocks with paper and pencil.

A close up photo of a set of paper wireframes for a website project I worked on years ago.
I’m partial to sketching websites on paper and pencil before jumping straight into code.

It’s go time!

And, of course, there’s what you do when it’s time to release your work. I’m waist-deep in this part of the music and I can most definitely say that shipping an album has as many moving parts, if not more, than deploying a website. But they both require a lot of steps and dependencies that complicate the process. It’s no exaggeration that I’m more confused and lost about music publishing and distribution than I ever felt learning about publishing and deploying websites.

It’s perfectly understandable that someone might get lost when hosting a website. There’s so many ways to go about it, and the “right” way is shrouded in the cloak of “it depends” based on what you’re trying to accomplish.

Screenshot of an FTP application with local files on the left and server connection settings on the right.

Well, same goes for music, apparently. I’ve signed up for a professional rights organization that establishes me as the owner of the recordings, very similar to how I need to register myself as the owner of a particular web domain. On top of that, I’ve enlisted the help of a distributor to make the songs available for anyone to hear and it is exactly the same concept as needing a host to distribute your website over the wire.

I just wish I could programmatically push changes to my music catalog. Uploading and configuring the content for an album release reminds me so much of manually uploading hosted files with FTP. Nothing wrong with that, of course, but it’s certainly an opportunity to improve the developer recording experience.

So, what?

I guess what triggered this post is the realization that I’ve been in a self-made rut. Not a bad one, mind you, but more like being run by an automated script programmed to run efficiently in one direction. Working on a music project forced me into a new context where my development environment and paint brush of code are way less effective than what I need to get the job done.

It’s sort of like breaking out of the grid. My layout has been pretty fixed for some time and I’m drawing new grid tracks that open my imagination up to a whole new way of work that’s been right in front of me the entire time, but drowned in my horseradish ocean. There’s so much we can learn from other disciplines, be it music, painting, engineering, architecture, working on cars… turns out front-end development is like a lot of other things.

So, what’s your horseradish and what helps you look past it?


Same Idea, Different Paint Brush originally published on CSS-Tricks, which is part of the DigitalOcean family. You should get the newsletter.



from CSS-Tricks https://ift.tt/SBgRPeL
via IFTTT

Partly Cloudy today!

With a high of F and a low of 40F. Currently, it's 47F and Fair outside. Current wind speeds: 12 from the Northeast Pollen: 0 Su...