Latest writing
148 total posts Topics: Python, Jupyter, Air, FastHTML, Django, AI, web engineering
Featured

Staticware 0.2.0: The first cut

This is an early release. Staticware does something very satisfyingly today: it serves static files with content-hashed URLs for cache busting. That means when you edit your CSS then redeploy and restart your server, visitors get the latest CSS without forcing a refresh. More will come.

Continue reading
Post 29 of 148

Excavating a Lost CLI Tool

I thought I had completely lost my new iteration on my notebook titler tool, but it turns out I'm finding bits and pieces in various places. Here I try to put it together again.

Continue reading
Post 62 of 148

Understanding FastHTML Routes, Requests, and Redirects

In this tutorial we'll look at the simplest routes and route handlers you can create with FastHTML. We'll define the handlers as little functions, and then call them as we would any other Python function. After that, we'll make simple GET requests to a simple index route/handler, a parameterized one, and a parameterized one with a redirect.

Continue reading
Post 97 of 148

Setting Up a Blog With nbdev

I feel like Jupyter notebooks would be really nice for blogging or publishing "Today I Learned" posts. I had heard about Fastpages before via Jeremy Howard's blog or YouTube videos, but seeing that it was deprecated in favor of nbdev, I decided to try nbdev.

Continue reading
Post 100 of 148

Ride a Bike Today

My husband Daniel and I created this piece together during the holidays, and I forgot to post it so I'm doing so now. It started with a pen-and-ink drawing I drew. Then we transformed it several times, alternating photocopier distortion, gouache, watercolor, house paint, more pen and ink, and collage over and over.

Ride a Bike Today Continue reading
Post 101 of 148

Butterflies

Daniel and I painted these butterflies with gouache, pastels, and a brush pen. Originally my intent was to experiment with butterfly shapes for republishing my butterfly book, but then I decided to play around with brush shapes and mark-making. Daniel joined in the fun of giving the butterflies their beautiful coloration with me.

Butterflies Continue reading
Post 103 of 148

Impossible Hero Books Logo

We're moving all five of our fantasy novels to a new publishing imprint! Daniel and I came up with the name "Impossible Hero Books" and created this logo together on the plane ride back home.

Impossible Hero Books Logo Continue reading
Post 105 of 148

My Baby Is One Year Old!

I'm so proud of my daughter, Uma. She's so strong, smart, and lovely. Here she is at her first birthday party in her spacesuit. She's only been with me and Daniel for a short time, but it feels like our lives have just begun. She makes every new day so meaningful.

Continue reading
Post 108 of 148

Rediscovery

This painting represents my recent experiences. Paths in various uncertain directions are overlapped with spiraling curves revisiting the past and building upon it. Along the way, beauty shows up in the most unexpected places.

Rediscovery Continue reading
Post 110 of 148

Watercolor and Stenciled Paper Mandalas

I love using recycled materials. I cut out these snowflakes from the heavy cardstock backing piece of a pack of markers. I estimate it as 120-150lb cardstock. The 3-inch piece cut well, but the 2-inch one didn't cut cleanly.

Watercolor and Stenciled Paper Mandalas Continue reading
Post 111 of 148

Voronoi Mandalas

SciPy has tools for creating Voronoi tessellations. Besides the obvious data science applications, you can use them to make pretty art like this:

Voronoi Mandalas Continue reading
Post 119 of 148

Land of Five Suns

This is another piece inspired by Tolkien's illustrations. I wanted it to be a scene from another planet, though, so I gave it five suns and tried to make the land a bit otherworldly.

Land of Five Suns Continue reading
Post 120 of 148

River and Mountains

Few are aware that J. R. R. Tolkien was as great an artist as a writer. His art is incredibly inspiring. It inspired me to paint this piece.

River and Mountains Continue reading
Post 121 of 148

Flowers and a Blue Potato

I've painted yet another tribute to a Chris Foss illustration I'm obsessed with. This version has flowers instead of an explosion, and the asteroid is actually a blue potato.

Flowers and a Blue Potato Continue reading
Post 127 of 148

Strawberries

One of my favorite plates at home has a strawberry pattern printed on it. This is sort of loosely inspired by seeing that pattern almost every day.

Strawberries Continue reading
Post 128 of 148

Metallic Flower Doodles

Just playing around with metallic watercolor pencils. They don't really look metallic. They're like regular watercolor pencils, but with the colors just a bit desaturated.

Metallic Flower Doodles Continue reading
Post 133 of 148

Flying Dog Sketches

I started writing a short story about flying dogs awhile back. The story is a work-in-progress, but I hope to finish it soon and post it on Wattpad.

Flying Dog Sketches Continue reading
Post 134 of 148

Endless Food

This is a draft of a cover for another short story about food teleportation. For some reason I'm stuck on that idea. Not sure why.

Endless Food Continue reading
Post 135 of 148

Simple Garden

I have a confession to make. Sometimes when I work on my paintings for the 100 day project, I do them at night right before bed when I'm completely exhausted. My state of mind in these situations is wanting to get the painting over with as quickly as possible so I can get to bed.

Simple Garden Continue reading
Post 137 of 148

Spring Garden

Abstract art is deceptively hard to create. It always looks so easy that a child could do it, yet it practice it's one of the hardest things.

Spring Garden Continue reading
Post 139 of 148

Ice Cream Cake With Starfish

Everyone has a default doodle or two that they make when they can't think of what to draw. Sometimes when I can't think of what to draw, my default is ice cream. I blame Two Scoops of Django for this.

Ice Cream Cake With Starfish Continue reading
Post 143 of 148

Palace Dome, From the Presidio

The Presidio is a large area of parkland on the northwest side San Francisco. It used to be a military base, but now it's occupied by a mixture of residential and commercial buildings. I woke up early today to try painting from a coffee shop there, which turned out to be filled with employees of Intel, ILM, and other Presidio corporate tenants.

Palace Dome, From the Presidio Continue reading
Post 144 of 148

Golden Gate Bridge II

The other day, while I was painting the Golden Gate Bridge in the distance, I kept thinking about how I wanted to get closer to it and then do another painting.

Golden Gate Bridge II Continue reading
Post 145 of 148

Golden Gate Bridge I

The Golden Gate Bridge is one of those landmarks that's irresistible to watercolor painters, especially me. Even with all the other closer, brighter scenery around, the bridge and hills of in the far distance lured me to paint them.

Golden Gate Bridge I Continue reading
Post 146 of 148

The Boatyard

Last year, Danny and I spent almost a month in Split, Croatia. It was the end of the summer, so it was pretty quiet.

The Boatyard Continue reading