Free Intro to Python Workshop in San Diego on Sat, Sept 20

I’m co-hosting a free Python programming workshop this weekend. Whether you’ve never coded before or have some coding background, this workshop if for you.

Saturday, September 20, 2014
Ansir Innovation Center, San Diego, CA


As a woman programmer, I encourage more women to sign up and fill the remaining spaces!

There are still spaces available through Inland Empire Pyladies and San Diego Pyladies. RSVP through the Pyladies chapter closest to you:

If one of the above fills up, it’s okay to RSVP through the other.

This is a joint event between San Diego Python/Pyladies and Inland Empire Python/Pyladies. It is also affiliated with OpenHatch and sponsored by the Python Software Foundation.

jQuery MessageBar: A Top Bar For Notifications

Last year, Danny and I did a major, major overhaul of the Django Packages website. During this effort, I extracted some of the interesting JS/CSS functionality into freestanding jQuery/JS plugins of their own.

One of the fruits of this effort was a jQuery plugin called MessageBar.

Here’s what it looks like when it shows up on Django Packages:

Screenshot of jQuery MessageBar on Django Packages
jQuery MessageBar, as seen at the top of Django Packages

Consider this a gift to the front-end developer community. It is free and open-source, available on GitHub:

It works particularly nicely with Django’s messages framework, but Django isn’t required. It’s just HTML, CSS, and JS. Therefore, it would work just fine with any PHP or Ruby site, for example.

Cookiecutter Hits 704 Stars on GitHub

One of my largest open source projects, Cookiecutter, has surpassed the 700-star milestone.

Cookiecutter logo

In case you aren’t familiar with it, Cookiecutter is a utility for generating projects from project templates. It is language-agnostic, and there are boilerplate templates for HTML, JS, C, Python, Django, LaTeX, Common Lisp, and other types of projects.

Development Continues

Slowly but surely, I have been working through the queue of pull requests for Cookiecutter and cookiecutter-pypackage. Reviewing pull requests takes time because:

  • Every patch must be carefully reviewed for cross-platform compatibility (Windows, Linux, Mac).
  • Once a patch goes in, it’s in the codebase forever. Each line of code requires thoughtful consideration.
  • Contributors to Cookiecutter are generally very experienced programmers that push the limits of my knowledge.
  • To meet my standards, each patch typically requires hours of coding on my part. This is to fix cross-platform issues, cross-Python-version compatibility issues, ensure uniform coding style, hunt down any edge cases that may have been missed, etc. It’s a labor of love.

Open source projects benefit greatly from having a leader who understand every piece that goes into the project, and who has a vision for the project’s functionality, coding style, and growth. I look forward to having the opportunity to develop my vision in the coming months.

Sponsorship Opportunity

If your company uses Cookiecutter, consider sponsoring the project. Benefits include:

  • Advertising and exposure on the Cookiecutter README and the documentation homepage.
  • Extra attention given to issues/pull requests from your company’s developers.
  • Additional development work on Cookiecutter, focused on your company’s needs.
  • The gratification of giving back to open source, and full bragging rights. This makes for great company PR.
  • Mentions of your company on future blog posts about Cookiecutter, in the release notes, and more.

For more information, email me at aroy at

Art Donated to PyCon Philippines

Art Donated to PyCon Philippines

I hand-painted this art print in watercolor, which will be raffled off as a prize at PyCon Philippines 2014. The painting shows the various logging levels, as applied to ice cream.

See a larger photo here.

This was part of Two Scoops Press’ in-kind conference sponsorship package for PyCon Philippines.

Cheers and Congratulations

I can’t even begin to express how thrilled I am about the growth and success of PyCon Philippines.

My mother was born and raised in the Philippines, and I lived there for part of my childhood. I still visit family in the Philippines often. I am very proud to consider myself a part of the technical community there.

As a past co-organizer who worked like crazy in 2012 creating and managing the previous PyCon PH website, doing PR, running the live coverage Twitter stream, and helping with sponsorships, I know how hard the organizing team is working and salute your efforts.

In particular, special shout-outs to these PyCon PH & Python community leaders:

I urge everyone to show their gratitude. I think I speak for everyone in the Python community when I say that your efforts are not only appreciated, but also recognized internationally.

Two Scoops of Django 1.6 is a #1 Python Bestseller

Last week, Danny and I released our new book, Two Scoops of Django: Best Practices for Django 1.6.

Bestseller Status

We made it as a #1 bestseller in the Programming and in the Python categories on Amazon.

The 1.6 edition is still a “#1 Python Bestseller” as of now:

Screenshot of Two Scoops of Django 1.6 as Amazon #1 Python Bestseller
Screenshot from Amazon showing our book as a #1 Python bestseller.

At one point, it even ranked #33 overall in Amazon’s entire Education & Reference Books category.

This is what happens when you write thoughtfully, with careful attention to detail, and with strong intentions to create a truly helpful reference book.

Huge Thank You to Supporters

Response from buyers of the 1.6 edition has been overwhelmingly positive and glowing. We are getting your emails and messages, and they really touch our hearts and mean a lot to us.

We released the 1.5 edition over a year ago. The 1.6 edition took several additional months of work. The positive response from readers is what has made all of our effort worthwhile.

Special thanks to all who reviewed the book on and other international Amazon sites.

Autographed Copies

Last week, we autographed around 50 copies and mailed them out around the world. This was a lot of fun. Some of the copies may be autographed a bit wildly, with completely wacky humor. We got a bit carried away, doing our best to put a lot of thought and care into sending each package.

For anyone who didn’t get an autographed copy:

  • We are waiting for another shipment of books to arrive on our doorstep. Once it arrives, we’ll have more available through
  • We’re also happy to autograph books in person. We won’t be able to make it to conferences this year, but we’re thinking of doing a road trip at some point and might visit some user groups.

The Last of the Series

As we mentioned, the 1.6 edition is the last Two Scoops of Django book that we will ever create. It is a major expansion and rewrite of the book, with countless tips from readers incorporated into the material.

It was a major effort, and we are incredibly proud of the results. But we are tired now, and we are done. Our time has come to move on to other great things.

Our Long History of Listening to Feedback

We have updated the FAQ again with more answers to common questions. To save us from typing and repetitive stress injury pain, please check there first if you have a common question or comment.

Remember, we have a long, long history of always listening to reader feedback and trying our best, but that our physical and mental health, family, and work have to come first.

We will continue to try our best, but please understand we’re backlogged with work and family obligations (not to mention open source project maintenance obligations). Right now, getting our lives in order is our top priority.

Old-Fashioned American Hot Fudge Sauce

The closest that most people have come to having proper old-fashioned American hot fudge is a fast food ice cream sundae or a store-bought microwaveable bottle of hot fudge topping.

You might not be aware that it’s possible to do much better. But it is. 

Jar of homemade hot fudge sauce.
A jar of homemade hot fudge sauce, which tastes nothing like what you can buy in any store.

Imagine hot fudge with the taste and texture of a block of chocolate fudge, except in thick liquid form. You know the fudge that you get on beach boardwalks and at theme parks? It’ll be a thick syrup version of that. 

This recipe isn’t 100% perfect because I cobbled together the ingredients from what we already had at home, but it’s very good. If I were to do it over again:

  1. I’d add honey to help inhibit crystallization, since it may be a bit grainy for some (although I happen to like the graininess, which makes it even more reminiscent of candy store fudge).
  2. I’d also try making this with whole milk or even heavy cream instead of 2% milk.

This recipe was developed in the Greenfeld Test Kitchen this week. Consider it a first iteration.

1/2 cup semisweet chocolate chips
3 tbsp butter
2 cups dark brown sugar
1 1/2 cups of 2% milk
1 tbsp vanilla
1/4 c unsweetened cocoa powder

Melt butter in saucepan on medium heat. I like to brown it carefully for a minute or so after it melts. Just be careful not to go overboard with browning the butter.

Bring the heat down to medium-low. Add the other ingredients. Stir the mixture constantly until the chocolate chips have melted. I use a silicone spatula for this. Once everything is mixed and the chocolate chips have melted, bring the heat back up to medium.

Hot fudge sauce, at the start of the confectionery process.
At this point, the mixture should be smooth and thin. Here the color is lighter than expected, but it will soon darken into a richer, more familiar fudge color.

The temperature of the mixture should rise. Keep an eye on it, stirring it every now and then. Use the silicone spatula to scrape the sides of the saucepan down regularly.

Hot fudge boiling in a saucepan.
Observe the confectionery process. As the mixture increases in temperature, changes to color and viscosity will appear.

When it rises to 220 degrees, bring it down to medium-low. Watch it carefully as the temperature continues to rise. As soon as it hits 225 degrees, turn off the heat. Your hot fudge is ready to serve.

Now, get your ice cream out and scoop it into bowls. Spoon the hot fudge over the ice cream generously. It will thicken as it cools, transforming into a slightly chewy texture that is fun to eat.

Bowl of candy cane ice cream, topped with homemade hot fudge.
Close-up showing the grainy texture of the resulting fudge sauce, which looks and tastes similar to candy shop fudge.

Danny and I poured this over holiday candy cane ice cream. The combination was perfect.

I Married Daniel Greenfeld! Part 1

A little less than a month ago, Danny and I got married!!

My husband, PyDanny! Here he is in front of our rental car. When you tell a rental car company that you’re getting married, they upgrade you. Look at his glowing smile, and his gold bow tie that he untied. Definitely not a clip-on bow tie. Photo taken by me.

It was a quiet little wedding in Maryland, in front of our closest family members. The ceremony was held at the courthouse.

Audrey in the car before the wedding ceremony.
Here I am in the car, in the parking garage right before we rushed to the courthouse. Danny took this photo from the driver’s seat. I look a bit disheveled here because we were in a hurry and didn’t want to miss our ceremony.

I will post Part 2 with more photos and details when I get a chance. Until then, stay tuned.

The blog of @audreyr, a.k.a. Audrey Roy


Get every new post delivered to your Inbox.

Join 775 other followers