Recap: BarCamp Django San Francisco

I’ve been extremely busy over the past month, volunteering after work hours on Django community stuff. Here’s a quick update on one of my recent volunteer projects, BarCamp Django SF.

I was on the organizing committee for BarCamp Django San Francisco. It was one of my favorite tech conferences ever.

The BarCamp Django San Francisco website.
The BarCamp Django San Francisco website.

The event was a 2-day overnight unconference for users of the Django web framework. You can think of it as sort of like DjangoCon, but less formal and more centered around getting to know each other.

It covered topics in Django, JS, CSS, HTML5, and Python mostly, but also random fun topics like Django core dev Andrew Godwin‘s advice on how to become a pilot and read aeronautical charts.

It also involved an overnight campout at Eventbrite. I can be a shy wallflower in tech crowds, so I was a bit nervous about the social activities in the evening, but Natalie Downe and Simon Willison went out of their way to invite everyone to play and make sure no one felt left out. I ended up staying up way past my bedtime with Danny playing games like Werewolf.

Daniel and Audrey at BarCamp Django SF
Here I am with Danny the morning of the 2nd day of BarCamp Django SF. We look groggy because we were up late playing board games and Werewolf.

The best part of an unconference or barcamp is that people sign up to give their talks the same morning of the event, rather than in advance.

While this may sound ridiculous and chaotic, it results in heartfelt talks that are focused on the current passions of the speaker. I have never seen such inspired talks at a tech conference.

The Saturday Grid at #djbarcampsf
To sign up to present, you had to write your talk description on an index card and tape it to the schedule wall.

I gave an informal talk about advanced Cookiecutter usage and led a small sprint, where Rachel Sanders and Trey Hunner contributed a couple of critically-important fixes to Cookiecutter that are planned for the next release.

The Cookiecutter open source project on GitHub.
The Cookiecutter open source project on GitHub.

Behind the scenes, I also pitched in with some grassroots marketing, and with doing the design and illustration for the BarCamp Django SF website and t-shirts.

So incredible to see my artwork on the BarCamp Django SF t-shirts.
So incredible to see my artwork on the BarCamp Django SF t-shirts.

I had such a good time that I want there to be a BarCamp Django Los Angeles, a BarCamp Django San Diego, and ones in Riverside, Las Vegas, and Phoenix ASAP.

I want these BarCamps from an attendee perspective, not as an organizer. It’s your turn ;)

So it’s time for us to pass on the torch and let other people organize future BarCamp Django events. If you’re thinking of organizing another BarCamp Django, you should do it!

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.

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


Get every new post delivered to your Inbox.

Join 779 other followers