Tag Archives: python

Granny Squares, Now in Color

A pretty ugly blanket generated by the Granny Squares app.Many moons ago, I debuted my Granny Squares Color Pattern Generator, a utility to help crocheters randomize their blankets, which can be a daunting task.

I recently got a request for a way to help visualize the blanket that’s generated. It’s hard to work from a list of “r/h/p”-type entries. Not very user-friendly.

So I added in a color picker today, and the generator now shows the colors of the squares. As a warning, if you have a lot of very similar colors, the generated image may be difficult to work from. Then again, if your blanket’s in 15 shades of purple (yes, please!), you may not need this utility.

Continue reading Granny Squares, Now in Color

Chewing on Granny Squares

My knitting colleague E. made the (arguably) goofy decision to refresh her crocheting skills by taking on a granny squares blanket.

It’s a great idea for using up a ton of scrap yarn.

It’s not a great idea if you enjoyed the level of sanity you had when you started.

She quickly ran into the classic self-randomizing problem: given 20 different colored yarns of different weights, how do you put 3 different ones in each square while trying to keep the colors as random as possible? Sounds easy enough, but after 15 or so squares, it gets tricky. If you’re aiming for randomization, the last thing you want is a big diagonal of purple in your blanket when you’re done.

So E. appealed to me and asked me to write her a “script” to randomize her colors. I was on board, look forward to some Python/Django fun before I realized that what I’d been handed was a graph coloring problem with some fun restraints. (Turns out it was easy, but fun to think through.)

Before I get into the technical bits, go make a blanket or two. Then go find some esoteric method to contact me (or comment here) and let me know what you think, especially if you run into an issue.
Continue reading Chewing on Granny Squares

Weekly Linkage: Friday Fon

That’s, um, fon.

I’m currently taking an evening off from former-house cleaning to sit and chill with my busted shoulder. An old, old injury reared its head when we moved, and my left arm can’t raise more than about 20 degrees from straight down without quite a bit of pain. Lifting is a no-go. I’m very lucky that my right shoulder (also generally wonky) didn’t give way, too.

This week’s been chock full of coding, moving, fun food, and a bit of escapism, and my reading probably reflects that:
Continue reading Weekly Linkage: Friday Fon

Deployment Automation with Fabric: Bee’s Knees

One immensely valuable thing I learned at Skookum was the value of automated deployments. I worked with a gent who took the time to work up Capistrano scripts for each staging and production environment of the whale of a project I worked with him on.

I appreciated it during development, but I didn’t appreciate it until we were deploying single tweaks out to production on Amazon EC2 in rapid cycles. I haven’t worked with EC2 since then (second half of 2009), but let me tell you, deployments were for the birds.

With his scripts though: run the script, enter your SSH or git password(s) a few times, and you have an automated deployment that runs for each person on the team, despite all our separate setups (Mac, Linux, cygwin, etc.).

It sounds trivial and obvious, but how many deployments did I do by hand, or try (poorly) to document for someone else, or forget how to do before that really sunk in?

Continue reading Deployment Automation with Fabric: Bee’s Knees