Python in Atlanta: resources for PyLadies

So, tonight I’m giving a talk at PyLadiesATL about doing Python in Atlanta. My goal is to share information that’s relevant to newcomers and experienced developers about what we currently have going on, so that we might all dream together about what we want.

Since a lot of folks won’t be able to make it, but might benefit from having the info available here, I decided to write up my thoughts. For anyone who has ever asked to pick my brain on doing Python in Atlanta: here ya go. This is what I know. Hope it helps – and: please? Help me out by lending your own suggestions. We’re all in this together, after all!

Our current resources

PyATL – a welcoming Meetup for all

PyATL is Atlanta’s Python Meetup that meets on the second Thursday of every month. It is convened by Doug Hellman, a super awesome guy who works on OpenStack and is a prolific open source contributor. He is well known for his work on virtualenvwrapper, a set of extensions to virtualenv. (Virtualenv is what we use to create isolated Python environments to work on our projects – it’s something you usually encounter very early in your Python-learning journey and end up using all the time). Doug is a great resource for all things Python, so follow him at and say hello at PyATL.

I attended PyATL for the first time in January and had such a great time that I’ve been back every month (except for June, when I was at DjangoCon Europe). I even gave a talk on PyLadies there in May.

Unfortunately, not a lot of women attend the Meetup. The first time I attended, there was only one other woman there, and in subsequent meetups there have never been more than three or four women in a room that sometimes inches towards fifty.

And since people don’t wear “beginner” tags on their shirts, it is easy to assume that everyone there is some kind of Python expert, and is so much further along than you. This can be intimidating if you are a new coder.

This was the case the first time I turned up in January, and I was accordingly nervous. I didn’t really understand the talks. But I did sit at a table with others and forced myself to talk about my interest in and growing experience with Python. Yeah, it was intimidating, and I felt like an imposter, but folks were really nice and I’ve actually become good friends with one of them.

If you’re serious about learning and using Python in Atlanta, you owe it to yourself to give the Meetup a try. Right now, it is our most established regular gathering for Python users in Atlanta. It’s a great way to meet others using the language, hear who’s hiring, and of course, learn from excellent talks.

My favorite thing about PyATL is the high quality of the monthly lectures, and of the speaker-educators who give them. Apart from that very first meeting, there hasn’t been a talk since that I felt went completely over my head, no matter how technical, because the speakers are so good at explaining even complex topics in accessible ways. Newcomers may be pleasantly surprised at just how well they follow along.

Likewise, PyATL is also a welcoming place to get practice speaking. Right now, there is a high demand for women to speak at programming conferences on technical topics. But if you’re not a student, you might not get a lot of opportunities to practice. PyATL can be that opportunity, and wants to be. The organizers are very welcoming to and supportive of new speakers. Some of the folks who are really good speakers are great, Doug told me, in part due to the fact that they’ve been giving talks at PyATL over the years and improving each time.

I used my May lecture at PyATL to prepare for giving two talks at DjangoCon Europe in May and June. It definitely helped me sort out some of my nerves!

If you’d like to get practice soon, opportunities are just around the corner. August is PyLadies month at PyATL, and they’re looking for women who’d like to speak. If you’re interested, please let me know ASAP, as they like to announce the schedule a couple of weeks in advance. You can also ask me about available speaker mentor resources. There are a few local, experienced speakers and Python developers who are available to help you practice and work on your talk.

Similarly, September is “beginners” month at PyATL. The talks will be either by or for beginners, and as always, all are welcome – though it’ll be particularly relevant and helpful for new coders.

PyATL Jam Session – a place to code together

PyATL’s format is lecture: you attend and hear talks by local developers. In contrast, PyATL’s jam session is an informal gathering where PyATL members gather to write Python together. You can choose to bring a hobby project or work with a new friend on something else. If you’ve ever stayed for the “sprints” after a tech conference, the jam session will feel familiar. It’s open to anyone who wants to write Python – all experience levels welcome.

The group is very helpfully convened by JR Rickerson, a local Python and Django expert who writes code every day at his company Red Rivet Studios. JR is a huge supporter of Python in Atlanta and is key to making our Django Girls happen in September as a coach (Django Girls? more on that in a moment).

Information about upcoming Jam sessions can be found at the main PyATL page. The next one is Tuesday, August 4 at 7pm, here at Pindrop. You can learn more and RSVP here.

Conference opportunities: PyTennessee, PyOhio, Curly Braces

Conferences are for new coders and experienced developers alike. You don’t have to have written Python for years to get a lot out of a conference: you can network with other developers, learn about new tools and new ways of approaching old problems, and participate as a volunteer.

It’s been my experience that organizers of Python and Django conferences work very thoughtfully to select a variety of speakers and talk topics that reflect the diversity of its audience and will reach folks no matter where they are with Python. I found this to be the case when I attended PyTennessee back in February. I attended a particularly good talk on security by Ashwini (@ashfall) and Chris (@radix) that was great for beginners. Even the talks that stretched my current understanding of Python didn’t go completely over my head. Again, as with PyATL, this speaks to the quality of developer-educators we have in our community.

If you’re curious what its like to attend and speak at a conference as a learner, I wrote up my experience at PyTennessee here and at DjangoCon Europe here.

Several Atlantans are heading up to Columbus Ohio to attend PyOhio later this week. After PyOhio, the next regional Python conference will be PyTennessee in Nashville in February. You are highly encouraged to keep an eye on the official PyTennessee Twitter for more info as it becomes available, and to mark your calendars for February 6 – 8, 2016.

And though not strictly about Python (or any particular programming language), Curly Braces Conf is coming up at the end of November, here in Atlanta. It is a free, local, welcoming one-day conference about the intersection of computing with arts and sciences. Anyone is welcome to pitch a ten-minute talk about something they’ve found exciting, surprising, or delightful about programming or computing. Learn more here.

Learn online with fellow PyLadies at PyLadiesRemote

Deepen your involvement with the global PyLadies movement by attending a PyLadiesRemote event or helping out as a TA. PyLadiesRemote is the Remote chapter of PyLadies. While it was founded to reach the needs of those who doesn’t have access to a local PyLadies chapter, the workshops are free and open to anyone. Follow on Twitter to learn what’s next.

If you have more experience with Python, you can help out as a TA. I had a great time TAing Katie Cunningham‘s Intro to Python class. Since then they’ve had intro to JS and Intro to Django with Emma Delescolle – the latter, just this past weekend.

PyLadiesRemote is organized by the amazing Anna who also writes the Django Girls “Your Django Story” series on the official blog. More on that below! She has always been a huge help and inspiration to me and I can’t recommend her work with PyLadiesRemote more highly.

Further your study with PyLady Lynn Root’s Newcoder.io

It’s great to get started learning Python with tutorials at Codeacademy, Learn Python the Hard Way, and Coursera. But once you’ve finished these, you may find yourself looking for more of a challenge. Fellow PyLady Lynn Root’s newcoder.io might be just the ticket. Designed to help you go beyond tutorials into building projects, you’ll really get a change to flex your growing Python skills. Tutorials on data visualization, APIs, web scraping, networks, and GUI can be worked sequentially and grow in difficulty. Bonus: your confidence as a Python developer is certain to grow as you earnestly work through these.

Need a job in Atlanta? – Companies that use Python – that might want to hire you!

MailChimp is one of our Meetup sponsors and provided the food and drink we’re enjoying tonight. MailChimp helps folks send better email by providing efficient and innovative ways to manage contacts, send messages, and track results.

They’re currently seeking moderate to advanced Python uses in a variety of positions. You can see what they have available here.

Pindrop Security provided the space for us to meet tonight, and is already well-known in the Atlanta Python community for fostering goodwill by providing a place for the PyATL jam session to meet. They have extended the opportunity to PyLadiesATL to meet here long-term.

Pindrop provides solutions to protect enterprise call centers and phone users by combining authentication with anti-fraud detection technology to verify legitimate callers while detecting malicious callers. They’re hiring in a variety of Python positions. Go here to see what’s currently available.

I have friends who work at MailChimp and Pindrop and they seem pretty happy with it!

Kabbage is the #1 online provider of loans to small businesses. Its concept is revolutionary: it allows users to draw against their lines of credit, as frequently as once per day, for anything they need to grow their businesses. Unlike traditional lenders, who rely heavily on credit scores for decision-making, Kabbage approves small business loans by looking at real-life data.

Kabbage seems like a pretty wonderful place to work, and they were featured in “Best Places to Work” by the Atlanta Business Chronicle. Check out careers here.

The Weather Channel is a household name, and they’re hiring. Employees of the Weather Channel regularly attend PyATL as active participants and nearly every month they mention that they are hiring. Check current positions here.

Local recruiters for Python jobs: A representative from Choice Technology Group, Sandy, recently attended PyATL and is interested in speaking with folks who are looking for Python jobs. CTG is located on Auburn Avenue and has a referral program. For more info, check their website.

Some thoughts: can I get a job as a developer without a CS degree?

So you’re teaching yourself to code because you’re interested in it, you wake up thinking about what you want to build, you crave collaboration on open-source projects. And maybe you’re perfectly content to build pet projects to make your personal life easier, or build a blog using Django to highlight a non-technical interest, and so on. But there may come a time in your life where you’re interested in getting a full-time job as a developer.

I have personally heard many success stories of people transitioning from non-technical careers or educational backgrounds into coding full-time. It is a lot of work, but if you are passionate, you can make it happen. While these women aren’t necessarily from Atlanta, it’s worth it to check out the “Your Django Story” blog run by my friend Anna of Django Girls. She regularly highlights women from a variety of backgrounds, often non-technical. These are women who taught themselves languages, tools, frameworks, and ended up building careers for themselves doing what they love. There’s a good chance you’ll find it very inspiring!

And there are plenty of women in Atlanta who have taught themselves to code and found great success. One very inspiring story come from the Ruby community: Kylie of RailsGirlsATL is now giving her “Amelia Bedelia Learns to Code” talk all over the US! And while my friend Melissa does have a degree in CS, her commitment to learning Clojure is hugely inspiring (and I not-so-secretly hope we work together to bring ClojureBridge to Atlanta!).

If you’re a woman who taught herself to code and has found success in the industry, please do speak up at our Meetups. We want to hear your story and learn from it. Just as there were probably loads of folks who helped you on your way, we hope you can do something similar for Atlanta’s PyLadies. Remember, we all rise together!

Stay in touch with Atlanta’s tech community on Slack

Have you heard of Slack? Slack is basically a bunch of chat rooms organized by topic. Private groups and direct messaging is also available.

TECH404 is a group of chat channels for Atlanta area developers, designers, marketers, business people, and other professionals involved in technology. It’s a common space where folks talk about technologies they’re using, successes and failures, job opportunities, and use lots of emojis.

You can find me in the #all-the-nerdy-ladies channel created by Pamela Vickers (@pwnela) of RailsGirlsATL. I’ve also heard and the #jobs and #gigs channels can be helpful for those looking.

Other social/networking opportunities across languages and tools

A simple search on Meetup will reveal lots of different types of tech meetups in Atlanta, from Clojure to Women Who Code. I compiled a list of a few of them and when they meet in this post “Geeky in Atlanta.”

So know you know what’s out there… what do you want from PyLadiesATL?

Seriously – in this talk/post, I wanted to give you ideas of existing resources here in Atlanta for starting or continuing your Python journey. I’ve covered our other Meetups, job opportunities, remote learning resources, and some personal advice.

But I also want to hear your dreams for Atlanta’s Python community. What’s missing? How can we make it better? Do you want our Meetup to focus mostly on talks from local developers? Do you want us to run a concurrent track of tutorials or workshop series? Please, let me know!

We have a few ideas to run by you:

Demystifying Computers: they’re Not Magic

“Computers Aren’t Magic” is a series of workshops by local developer Shawn Boyette of Curly Braces Conf. These day-long workshops cover computer hardware, the internet, Linux, and programming. This series will be held as a collaboration with PyLadiesATL, so keep an eye on our Meetup page for more details as they emerge. The first one on hardware was held on March 21, and will be reprised.

Using git and Github

Do you have a Github account? Do you use it? Are you familiar with these words?

Github is a powerful tool for sharing your own open source projects so that others can work on them. It also gives you access to the open source work of others. You use git on the command line in order to make changes and do loads of other things.

I’ve used Git and Github to manage my own projects and to contribute to others’. They’re critical tools for open source contributors, and lots of companies use Github to track their work.

At DjangoCon Europe I attended a workshop by Daniele Prociada called “Don’t Be Afraid to Commit”. It’s a workshop and tutorial for Python/Django developers who want to contribute to projects, but need grounding in the tools required to do so. It takes participants through the complete cycle of 1) identify an issue in a project; 2) writing a patch with documentation; and 3) submitting it, using git on the command line and Github.

If this sounds like something you’d be interested in learning, please let me know! I would use Daniele’s curriculum for this workshop, and it would last about a day (food provided).

Django Girls in Atlanta!

Django Girls is a 501c3 non-profit that empowers women all over the world to host workshops that teach women to fall in love with programming. The curriculum is entirely free and open source and available online. Check the tutorial out here. I am organizing Atlanta’s first instance of Django Girls to be held – fingers crossed & we secure our location! – Friday, September 25 and Saturday, September 26.

If you identify as a woman, know English, and have a laptop, you can apply for the workshop. You don’t need any prior technical knowledge. This class is for absolute beginners.

As a workshop attendee you will:

  • participate in a one-day Django workshop (with installfest the night before) during which you will create your first website
  • meet people from the industry and learn more about programming
  • be fed by us – all meals provided during the workshop

The workshop is free to apply and attend, but we only have space for thirty people, so please follow us on Twitter at @djangogirlsATL for the latest news. The official Atlanta Django Girls website will be up on August 1, and applications will open soon after that.

Do you use Django or Python for work or fun? If so, please be a Django Girls coach! You do NOT have to be a Django expert in order to help out as a coach. You must simply be willing to work through the tutorial with 2 – 3 attendees. If you’re interested in helping coach, please let us know at atlanta (at) djangogirls (dot) org.

We are also looking for sponsors. Sponsors are prominently displayed on the Django Girls Atlanta website. If your company agrees that the IT industry can greatly benefit from bringing more women into technology, and you want to be an active part of helping more women learn to program, please contact us at atlanta (at) djangogirls (dot) org.

What else?

I’m sure you have other ideas – let’s hear ’em! And let’s work together to make Atlanta a Python community worthy of women.


Happy memories from DjangoCon Europe

Friends, three weeks ago I stood onstage at Cardiff City Hall and gave a talk about Coding with Knives to DjangoCon Europe. One week ago I returned to the US. I figure it’s about time for an update, right?


I was honored to attend my first Django conference as a speaker and grant recipient. I experienced endless kindnesses, met so many great people, heard inspiring talks, ate nice meals, and made indelible memories of the generosity and welcome of the Django community. Special thanks to the grants committee for making my attendance possible and to Daniele, chair of the organizing committee (and pictured above), for encouraging me to apply to speak. There are simply not words to express how thankful I am to know him as an advocate, champion, and friend.

Open Day: Sunday


Open day was held at Cardiff University, a place that’s no stranger to Django. In 2014, it hosted Django Weekend, the first Django Conference in the UK. The university generously supported DjangoCon Europe 2015 by providing the following:

  • hosted Open Day (Sunday) and two days of code clinics, sprints, and tutorials (Thursday & Friday)
  • Cardiff University staff and students volunteered, gave talks, and provided leadership on the organizing committee
  • the Vice Chancellor’s office funded five scholarships to the conference for students
  • the Schools of Mathematics, Engineering, Chemistry, and CS funded additional places for their students
  • the University’s Counselling, Health and Wellbeing Service provided free counselling at the event
  • Cardiff University Catering Services provided our meals

That’s an awful lot!! We were very lucky to be there. Here’s the official thank you.


On open day, we invited a wide audience to attend inspiring, introductory talks and tutorials about Python and Django… for free! Above, Yamila summarizes her talk on lessons learned in two years of making decisions in a large Django project. Her talk was very clear and accessible, full of great lessons learned “the hard way” that will hopefully save her listeners some time and trouble.


Here’s Žan on how to improve the user experience of applications. I really appreciated his deep respect for the folks who use the products we make: “If a user struggles with your app, it is your app’s fault, not your user’s.” He cautioned developers not to regard users with contempt or disdain, but to remember that they are why we do what we do. If you didn’t get to see his talk, I highly recommend his blog post on the same topic.


I just love this shot of Chris during his talk “Arduino sensors, mobile apps, and virtual reality”. Such cyberpunk. Much devices. WOW.


Here’s Jamie giving a comprehensive talk on how to make our spaces more inclusive. I appreciated his wide definition of the word “spaces”, which included conferences, local Meetups, and open source contribution processes. He knows his subject well; his well-researched resource list on Github is reflective of the careful consideration and thoughtfulness he’s given to improving diversity and inclusiveness. Here are the slides.


Katherine‘s talk on “Data wrangling with Python” was light-hearted, fast-paced, and packed with helpful information. Katherine doesn’t emphasize this – and maybe I shouldn’t either! – but PyLadies (as A Thing) originated with her and a small group of friends years ago. It was deeply meaningful to me when I reflexively said “Thank you so much for all you’ve done” and she stopped me, in response: “Don’t thank me. We’re all in this together.” I really enjoyed getting to hear more of her stories later that night at dinner at The Clink.


Oh, and I gave a talk, too! It went well. Thanks to everyone who tweeted me and took the time to stop by and let me know your thoughts. So many folks said it seemed like I wasn’t nervous at all, but I totally was, and your kind words were very soothing!

I also heard great talks by Russell, Rhiannon, Mark, Tom, Cory, Amit, Raphaël, Árni, Alasdair, and Rivo. Follow them! You can read about what they talked about by visiting the conference website. I was especially impressed by Rhiannon because not only did she deliver her technical talk flawlessly, but it was – if I remember correctly? – her very first time speaking on the topic!


Side note: here’s where we had lunch. Beautiful, right? Apparently it’s a dormitory when its not hosting hundreds of developers for lunch.


Sunday night the conference treated Open Day and other speakers to dinner at Cardiff’s most acclaimed restaurant, the Clink. The Clink is special because it is a high-end restaurant at Cardiff Prison. It trains and employs serving prisoners, providing them with skills, qualifications, and prospects, and helps them find secure full-time employment in the hospitality sector upon their release. The food was delightful and beautifully presented.



Above, my main course and dessert.

Conference talks days: Monday – Wednesday


Everyone took their own shots of the magnificent Cardiff City Hall, and all were better than mine.


It’s beautiful inside.


I really enjoyed Ola Sitarska’s thorough keynote, “Pushing the pony’s boundaries”. Ola is a co-founder of Django Girls (along with Ola Sendecka, who also keynoted!) and a Django core developer who has worked on the project for over five years. You can imagine all that she has learned in that time! It felt like receiving a Django master class, and while there were definitely parts that were beyond my current skill level, I felt grateful to hear her talk. It was inspiring and gave me a lot to look forward to!


Likewise, I enjoyed Dafydd Evans’ talk on CAMEL, the Cardiff Maths e-learning project.


Xavier Dutreilh is one of the few speakers to make me tear up with his heartfelt message and powerful, urgent delivery of the talk “Web accessibility is not an option.” …”And neither are we”, he concluded, referring to anyone who lives with a disability and finds that web applications are not built with accessibility in mind. He challenged us to see his position and offered lots of ways we can revise our work. Here are his slides.


Yulia Zozulya gave a technical talk on using Python the load-test web apps. There were a lot of cute slides throughout the conference, but this one was one of my favorites. Yet the cuteness belies Yulia’s powerful, nuanced evaluation of different Python tools for load performance testing. We talked before her presentation when she saw me checking out the stage. “You seem so confident!” I laughed and said she seemed the same – perfectly poised, ready for anything – and we both commiserated about how terrified we were. It’s okay to be nervous!


And yes, I gave another talk as well. My open day talk was aimed at anyone new to Python and Django. I shared three lessons that I hoped would help anyone just getting started.

On Wednesday, however, I turned my attention away from those totally new to the subject and instead addressed experienced developers. Since many of the conference attendees were rather removed from the experience of first learning to code, I shared stories that I hoped would remind them what it was like, to give them a sense of the challenges and opportunities confronting a new coder. My hope was that in hearing those stories, my audience would hear something of their own journey, and would be inspired to offer their help and expertise in ways that felt authentic and meaningful to them.

Thanks to Edward and Russell for sharing the above images, and the kind words! I had a lot of fun.


Special thanks to Geraint for introducing me in Welsh. That got a big laugh, even from our brilliant speech-to-text transcriptors.

Obviously I wasn’t able to address each of the conference’s inspiring speakers in this post. For more on that, keep an eye on the official twitter as the transcripts and video of the talks become available. (Transcripts are here and are being cleaned up.) In the meanwhile, I also highly recommend Reinout’s exhaustive conference notes hosted at his website. He’s got talks, lightning talks, workshops, and more.

Lightning talks

I loved the lightning talks! Among others, Edward gave an exciting talk on astronomy, Ana told us about systers.org, Craig gave a talk on Djangular(Django+AngularJs), and Russell helped de-stigmatize depression in the developer community by sharing his story (and schooled us on sprinting in a second).

One of the things I focussed on in my Wednesday talk was how important it is to break down the lionization we tend to do of senior developers, or anyone we perceived to be better or more experienced than us. My remarks were inspired by those of Jacob Kaplan-Moss in his PyCon keynote, or Shanley’s writing in Model View Media, where both attempt to dismantle the myth of the so-called 10X engineer. My concern is that in upholding that as standard, we marginalize our efforts, refuse to put ourselves out there, and don’t ask for help when we need it for fear of bothering others, or because we might lose someone’s esteem if we ask a “dumb” question.

At the Monday night dinner at the museum, and throughout the conference, I spoke with several extremely talented developers who expressed their own reluctance to give lightning talks for worry of what their “Django heroes” at the conference might think of them if they stumbled or sounded ineloquent. After much conversation, deliberation, and yes, intentional persuasion on my part, I was thrilled to hear some of them give lightning talks! And you know what? They were perfect.


Geraint is awesome! Not only was he a member of the organizing committee, but he was a key member of Python Namibia *and* he’s working on his PhD in math at Cardiff Uni! Here he is giving lightning talk called “I wrote my first line of code 1 1/4 years ago”. I really liked how he said that for him, the best way to learn was to teach others. I agree, as that’s what I’m doing with PyLadiesATL.


Likewise, I loved Ben Sharif‘s talk on how he got started with Python and Django. It was important to hear him express how he seemed a bit nervous pursuing the subject, since his field is medicine. I believe he shared how he was challenged at one point – why are you devoting your time to this? (It reminded me of something similar that Lucie said in her terrific talk on Django and the social sciences.) I can’t imagine anyone ever saying “why are you doing this? how is it relevant?” but the fact is, that attitude is out there and we may have to confront it at some point. Both Ben and Lucie gave powerful reasons why they do what they do, and invited us to help them out.

Closing Day

Wednesday was the last day of talks, and it was full of appreciation for each other and the special time we shared together. I want to highlight a few memorable moments:


When Daniele was recognized for his hard work by the rest of the organizing committee, and given joke gifts of One Direction merchandise in addition to more, shall we say, *useful* gifts.


When the volunteers were recognized! Truly, a conference cannot happen without an organizing committee steering its efforts. I know from my years of experience as a founding board member of Atlanta Veg Fest that preparing for a yearly conference is a year-round pursuit. HUGE thanks to the DjangoCon Europe 2015 committee: Vince, Baptiste, David, Geraint, Daniele (Chair), Ola, Stefanie, and Jason Young.


And of course, the thunderous applause and standing ovation for our phenomenal speech-to-text transcription team.

Thursday and Friday


But that’s not all: no, that’s not all! On Thursday Daniele found the energy to teach a day-long “Don’t Be Afraid to Commit” workshop, where he walked us through git and Github so we’d all be on our way to contributing to open source projects. Many first commits (ever!) were made in this workshop!

Thursday and Friday were given to workshops, sprinting, and code clinics. We gathered informally to work together, enjoy snacks and meals, and yes, snap selfies:


With Žan!


Sprinting with Mark on his Overflow project!

Mark gave a great Open Day talk called “a web framework for the creative mind” where he shared his experience with Django as a content creator. While he works as a web developer during the day, he devotes his free time to blogging and podcasting. I had the great pleasure to learn a bit more about just how much work goes into that last part when we had coffee together on the final day.

He also made an amazing podcast for us about DjangoCon Europe, just released. Listen to “A Tech Conference with Soul”.


With Russell and his travelling banana in pajamas at the close of sprints. He opened Open Day with a peerless talk entitled “What on earth are Python & Django?” It was the perfect start to a day that welcomed guests, visitors, students, and other interested folks who might not be familiar with Django and Python. He explained things clearly with excellent examples and analogies to his own work and interest. During lightning talks he shared about personal struggle with a major depressive episode in a way that was inspiring, touching, and heartening to many. AND he invited us to join him in sprints by explaining, animatedly and with the best emojis, what it’s all about. Finally, he kept us on our toes by asking thoughtful, engaging questions after many of the talks.


Ian was one of my most enthusiastic and sincere supporters throughout the week. It seemed he always had a kind word of encouragement at just the right time. A whisky toast to good new friends!


With Geraint!


Sylvain was my buddy for several of the meals. We loved the food and I shamelessly obtained seconds for us on multiple occasions. It was great to talk cookbook recommendations and the weird ways we’ve veganized things. He was the only person at the conference to have ever already used “aquafaba” in a recipe! (I think it was a chocolate mousse?) He also knew about Fran Costigan, which got instant points.


My final DjangoCon-related activities were purchasing a print of pelicans from the Cardiff Print Workshop and posing with the larger version used in our branding. Yes, I look super tired here, but it’s a happy tired: a feeling of contentment, accomplishment, connectedness, and joy.

My only regrets from the conference was that I didn’t get to see all of the talks! I caught a seriously nasty cold nearly as soon as I landed, which meant I had a hard time getting out of bed in the mornings, and missed some of the keynotes… including Ola‘s lavishly-illustrated keynote on “rabbit holes” and Baptiste‘s emoji-driven personal account. Thankfully they were recorded and will be posted soon!

I named a lot of great folks in this post, but the fact is, I simply can’t capture and recognize everyone I talked to, ate with, and learned from. Chalk it up to the incredibly warm and welcoming spirit of the conference, where it seemed like no matter who you met or what you talked about, you were greeted with kindness, curiosity, and meaningful connection.

What’s next?

So, what’s next, now that I’ve finally published this overly-long, yet somehow incomplete, account of this incredible experience? Here are a few of the things on my to-do list for the general open source & self-study world:

  • ***Submit a pull request to improve the text of my talks provided by the amazing transcription team.***
  • Bring PyLadiesATL back out of hiatus with monthly meetings and tutorials starting next month. As you may have heard, I took on co-organizing the group very recently, and have big plans with my co-organizer for infusing life and energy into the group.
  • Put serious work into planning Atlanta’s first instance of Django Girls, TBA.
  • Prepare to head to Columbus, Ohio for PyOhio in August and Austin, Texas for DjangoCon in September. Possibly give open day talk at PyOhio. No talks at DjangoCon – just learning and reuniting with my friends Anna and Corryn, who are both are giving talks!
  • Submit a talk for Curly Braces Conf in November, dreamed up/hosted by my smart pal Shawn.
  • On that note, meet up with Shawn and Melissa to discuss the next form of Shawn’s “Computers Aren’t Magic” series for PyLadiesATL.
  • Reconnect with my Clojure-writing colleagues to consider the viability of bringing ClojureBridge to Atlanta in 2015.
  • Continue learning Python and Django, and never stop!

As well as a few other secret plans in the works, TBD/TBA.

Thanks for taking the time to read this post! I feel so lucky to be a part of this community that explicitly affirms that all are welcome.


Geeky in Atlanta

So, one of my responsibilities as a co-organizer of PyLadiesATL is determining a new regular date for a our monthly meetings! I reached out to some folks via Twitter to get a sense of Atlanta’s existing social opportunities across a variety languages. I figured why not go ahead and share what I’d learned, in case anyone else is interested?

Numbers below refer to the first, second, third, or fourth instance of a given day in a month. For example, Atlanta’s Clojure meetup, Atl-Clj, meets monthly on the second Tuesday. Let me know if this is unclear, or if there’s a better way of organizing!

Our PyLadiesATL Meetup page will be updated when we’ve picked our new date. Links to Meetup pages, where applicable, included below.

1: AllTheNerdyLadies.com monthly social hour

1: PyATL Jam Session monthly meeting
2: Atl-Clj, Atlanta’s Clojure Meetup, monthly meeting
3: WomenWhoCode Atlanta monthly meeting

2: ATLRUG: Atlanta Ruby Users Group, monthly meeting
4: Rails Girls Atlanta monthly meeting

2: PyATL: Atlanta Python Programmers monthly meeting

No meetups on these days!

Please let me know if there’s anything that should be added. Thanks so much in advance!


Saturday mornings are for homemade waffles

So yesterday I made what feels like the weightiest career decision of my adult life. I’ll be ready to share the specifics on Tuesday afternoon, but for now, please know that your kind thoughts are very appreciated. I’m not intentionally trying to keep you in the dark, either – just waiting on things to be finalized. ❤️

To prepare for the big things to come, I got up early and set up my laptop, journal, and to-do list book. Right now I’m more anxious and scared than excited. When I feel this way, it’s helpful to remember all the many good things I have in my life: friends who care, a safe and comfortable home, food to eat, and so on. Writing it out makes it real.

Also, I just looked out to my porch to see two teensy black-capped chickadees enjoying some of the sunflower seeds I put out. They sang a little song and fluttered off. Nothing like a happy birdsong to make you feel like things are gonna be okay.

Or waffles, right?

A decent breakfast can go a long way with nerves.

Yesterday I was in a hurry and relied on some tasty boxed waffles, but Saturday mornings are for the real thing. Here’s a recipe. It feeds one extremely hungry person (even then, they’ll have leftovers) or two people happily. Since I’m flying solo this morning, I ate well.

Note: this recipe requires the use of a waffle maker. If you don’t already have one, I highly recommend it. An investment of $25 will feed you many, many, many brunches. And since waffles only take about a half hour to make, you’ll be inclined to make them more often than not. Just think about how many times you’ve gone out and spent $25 on a single brunch – once you count the mimosa, the sides, the fancy coffee. Treat yourself to a gift that will keep giving!

I have a cheapo Proctor Silex “My Morning Baker” that I bought off Amazon. The name makes me giggle.

1/2 cup all-purpose flour
3/4 cup cornmeal
1 1/2 tsp baking powder
1/4 tsp salt
2 tablespoons sugar

1 cup soy milk
1 tsp apple cider vinegar
2 tbsp neutral oil (canola, veg)
1 tsp vanilla extract
Optional but recommended, if you have it: 2 drops maple extract


Preheat waffle iron.

In a small bowl, combine soymilk and apple cider vinegar. Whisk with a fork.

Place a sifter atop a mixing bowl and add dry ingredients. Sift well. If all ingredients do not totally sift, dump remnants into bowl from sifter. Use a wire whisk to aerate mixture.

Return to soymilk mixture. Add oil and extracts. Mix vigorously with fork.

Pour wet into dry and whisk to combine.

Cook according to your waffle maker’s instructions. I just spray canola oil on mine, pour in batter, close, and wait till the light clicks off.

Top per your preference, noting that it has a sweet and, if you use the maple extract, a gentle maple flavor as is. You may find it needs less than you expect! This one is also good for sandwiching things – a little veggie sausage, some tofu scramble… you get the idea.

Go forth and waffle!


Super quick creamy coconut chickpea curry

Recently I had some friends over for the first time for dinner and board games.


Ticket to Ride, in fact. Have you played? It’s one of the best!

I was pretty short on time, having worked that day, so I put together one of my favorite quick recipes: creamy coconut chickpea curry. I felt super guilty as they heaped praise upon me, because this is one of the quickest and easiest things I make! So quick and easy, in fact, that I threw it together on my lunch break today when I ran home to grab a few things I’d forgotten and needed at the office.


It’s also quite pretty!

I think it’s about time that I share this magic with you. You need only a handful of ingredients to eat well:


  • 2 tablespoons coconut oil (you can also use vegetable or canola)
  • 2 medium to large onions, chopped
  • 2 large garlic cloves, minced
  • 1 small knob ginger, minced (optional but great)
  • 1.5 tablespoons spices – curry powder, chana/chhole mix, or your own blend (see below)
  • 3 cups of chickpeas
  • 1 28 oz can organic chopped tomatoes, partially drained
  • 1 14oz can organic full-fat coconut milk
  • salt to taste
  • juice of one lemon, or chaat masala (per instructions)
  • optional: squeeze of agave nectar or teaspoon of sugar for sweetness
  • optional: fresh methi (fenugreek) or cilantro, chopped
  • optional: a couple of pinches of red pepper flakes, for extra spice


You have three choices for the spice mix. If you have a standard curry powder on hand, feel free to use it. If you have an Indian market nearby, you can search the spice aisle for a packaged chana/chhole mix and use that, making sure to follow package instructions. Or you could make your own blend – I previously shared a nice spice mix from PPK in this post.

I usually make my own blend, but recently I picked up my first box of packaged spice mix and wanted to give it a try. Regardless of your choice, the instructions that follow will be the same. It’ll taste slightly different, of course, but still great!

To start, soften the onion in a large skillet, with a pinch of salt. Be sure to warm your pan first, then add the oil, then add the onions.



Next, Add the garlic and ginger (if using) and mix well, cooking over medium about a minute.

Now add the spices and toss well to coat:


Add the can of tomatoes, partially drained, and increase heat:


Add the chickpeas:


I used chickpeas that I’d prepared from dry. If you’re using canned, you’ll want two cans, drained and rinsed. If from a can, expect your chickpeas to be a little softer.

Add the can of coconut milk and mix well to thoroughly incorporate.


Let simmer on medium-high for about 10 minutes to reduce and thicken.

Add salt to taste. Start with a half of a teaspoon and go up in quarter-teaspoon increments til you get to a place you like. Taste, taste, taste!!

Add the juice of a whole lemon or, if you have it on hand, the chaat masala. It’s a blend of salts and spices that will give your dish a tangy taste. Ingredients are listed below to the right:


If you find you need a little sweetness, add in a bit of agave nectar. You could also use a teaspoon of organic sugar or coconut palm sugar. Again, very flexible!


For a little something extra, add chopped fenugreek (fresh methi leaves) or chopped cilantro.

Play around with the finished dish adding this or that to your taste: a little more salt, sweet, spicy, sour. This is a great way to learn more about your taste and the way flavors play together. Don’t be afraid to be a little adventurous.


This dish keeps very well in the fridge for about a week. Some say it even tastes better the next day!

Instructions re-cap (so easy!!):

  • Warm the pan
  • Warm the oil
  • Add onions and a pinch of salt
  • Soften/brown the onions (about 10 minutes)
  • Add the garlic and ginger
  • Add the spices, stir to coat onions
  • Add the tomatoes
  • Add the chickpeas
  • Add the can of coconut milk
  • Simmer 10mins to thicken
  • Add salt, taste for salt
  • Add the lemon or chaat masala
  • Taste of salty, sweet, spicy, sour and adjust as needed by adding more salt, sugar or agave, cayenne or red pepper flakes, lemon, etc.
  • Optional: add fresh fenugreek leaves or cilantro

Serve on rice! Play a board game! Be happy.


Coding with Knives at DjangoCon Europe!

I have some very big news to share:

Coding with Knives is going to DjangoCon Europe in Cardiff, Wales!

I will be giving two talks: the first will be on open day, to a wide, diverse audience that includes conference visitors, students, local developers, and folks just getting started with coding. The second will be during talks days, to conference attendees, and will be given in this glorious building:

city_hall_exterior_daytime-hi_res.jpg__627x418_q95_cropCardiff’s magnificent city hall!

You can check out all open day activities here and read about the talks here.

In my talks, I’ll describe how two seemingly disparate subjects – cooking and coding – can inform, illuminate, and challenge one another in compelling ways. My hope is that by comparing something unfamiliar and perhaps intimidating (the experience of learning a programming language) to something universal and everyday (cooking), I’ll make learning to code seem more accessible. My goal, like that of PyLadies and Django Girls, is to inspire women to become contributors and leaders in the Python open source community.

My participation is made possible by the generous grant I received from the Grants Committee on behalf of the Django Software Foundation. Without their significant support, I would not be able to attend. I’m so, so thankful.

Thanks to Ian C. for the picture!

My grandmother is also making a significant contribution to my travel. If you heard my PyTennessee talk you already know a little about this amazing woman I call Nanny. Blue ribbons hanging above her kitchen stove, and Linux on her cozy living room desktop, she is my advocate, my inspiration, my comfort, and my strength.

I feel incredibly humbled by this extraordinary opportunity and thankful to everyone who is making it possible. The next six weeks will be very busy ones, as I work on my talks and prepare to travel internationally, solo, for the first time! I aim to make the folks who funded me feel made a good call, and I want to bring the lessons learned back to Atlanta for the benefit of our community, especially as I work on organizing events (including Django Girls!) for PyLadiesATL.

This is huge for me and I already feel the weight of everything I need to do to prepare. But with your support, I know I can do it! Thanks for believing in me.


the trouble with to-do

Do you ever find yourself writing a to-do list, and in the top line, instead of writing something to do, you write something you’ve already done… just for the satisfaction of immediately making a mark beside it?

I do this a bit more often than I would like.

I did it this morning, in fact.

To the right, you see my (actual, today) to-do list. I write it like a letter, with the date at the top, in a beautiful book. To the left is something I started today in response to feeling overwhelmed by all that seemed ahead of me. Not a list of to-do, but a list of things done.

As a learner, I often feel as though I am in a transitory period. I’m in one place, and I’d like to be in another. The process of getting there is one of growth, change, and transition. It’s also often painful.

This liminal space – unsatisfied with the here, and certainly not yet there – can feel very vulnerable. Perhaps you’re impatient for signs of progress, tempted to give up when they come too slowly, or not at all. Or maybe you feel that the road ahead is too long, the journey too arduous: there’s just too much to learn and do, so why try? For an extra dose of demoralization, try comparing yourself to others who have already accomplished what you’re still trying out. Is it even more insidious? Do you lack confidence in your innate abilities, your potential to learn, your stamina, or find it hard to ask for help?

As someone learning to code, I have felt all of these feelings a dozen times or more. I become dispirited and feel disempowered: there’s too much to do, I’m too behind, I’ll never catch up, I’m not good enough.

And yet I’ve noticed that part of what informs this hopelessness is not taking stock of the small, incremental steps I’ve taken towards my goal. I focus so much on the to-do, that I fail to acknowledge what has already been done.

It sounds trite, acknowledging that a journey of a thousand miles is made up of steps. But for some reason, it’s all too easy to lose sight of those steps.

By writing my dones today, I bring awareness back to the ways I am moving towards my goals, even when progress seems achingly slow, or depression and anxiety creep in and tell me I’ll never make it. This blog post is another sign of that, an embattled cry against those forces.

I hope that if you’re struggling with a project, you’ll take comfort in these words, and perhaps even a few moments to write down all that you have (already) accomplished today. A few deep breaths and cup of tea can help, too.

When you return to your work – and you will – I hope you return with new energy, clarity, and hope.

Looking for more inspiration? I highly recommend checking out my friend Anna’s blog. She’s got a few great posts up right now: Understanding Computer Words: What Is A Decorator?, Coding Made Me a Better Problem Solver, and My Favorite Python Learning Resources.

Also on the learning journey? Your best read today will certainly be Aubrey Howell’s post at Keen IO’s blog: “Don’t Let Anyone Tell You That You Can’t Be A Developer.” Seriously.



PyTennessee was last weekend and it was amazing! I was privileged to meet so many incredibly bright, kind people, hear great talks, and was honored to give a talk of my own. Below I share highlights from the weekend and a round-up of all the conference resources I’ve collected thus far: links to talks, slides, video, etc. Hope you enjoy and find this useful!

First things first:


The venue was gorgeous. The food was delicious. The hotel was cozy, clean, and convenient. Conference check-in was easy and quick. The “red shirts” volunteers were helpful and kind and always there when you needed ’em. Organizer Jason, his delightful wife Denise, and his lead volunteer coordinator William put together an incredible event. Thank you.


Friday night EventBrite treated the PyLadies to dinner and conversation at their Nashville HQ. Lynn Root gave an inspiring, heartfelt version of this talk entitled “I’m faking it.” If you didn’t get to hear her speak, I highly recommend reading the post.

Probably the funniest slide from PyTennesee weekend. From Ian‘s “Cutting Off the Internet: Testing Applications that Use Requests” Saturday afternoon.

Also hilarious (and fascinating, informative, and generally fun): Kyle Kelley’s keynote on Docker for Ephemeral Workloads. His slides are here.


Chris and Ashwini gave a thoroughly engaging, beginner-friendly talk: Introduction to HTTPS: A Comedy of Errors. Love how expressive Chris is! Here are the slides.

Folks really loved Chris‘ talk “Purely Functional programming in Python“, but I was at Becky‘s so I missed it. Thankfully he shared slides. Hopefully someone will eventually see fit to record him giving this one – looks like a lot of fun!

Bill Israel
gave a thoughtful, accessible talk entitled “Function Decorators: How Do You Even“. His slides are here.

It was a privilege to hear Becky talk about her passion for languages as she persuaded us all “Why Your Next API Should Be Designed By a Linguist“. I love it when people bring their whole selves to Python. Her talk was recorded, but has not been posted… yet!

Photo (and creation!) by Kevin Cox, @VintageBinary

Photo (and creation!) by Kevin Cox, @VintageBinary

Legos all weekend with Lamp Post Group! Lamp Post was PyTennessee’s champion sponsor, not only providing funds to make the conference happen, but making an additional donation of $500 to PyLadies! I’m certain I’m not the only person who got goosebumps when Lucky made the announcement before Lynn’s keynote Sunday evening. It was a total treat to spend time building and chatting with Lamp Post Group’s Lucky and Ben.


Dear Ian, thank you for your long arms, Sincerely, me & my love of selfies. With Ian and the loveliest lovely Anna.


Anna’s talk Django Girls: A Success Story! She has inspired me to host a Django Girls workshop in Atlanta! She shared her slides here. And you’re already following her on Twitter, right?

I’m sure you’ve already heard about my adoration for Anna, but I’ll share again, here: she was a huge inspiration for my talk and has been instrumental in my Python learning journey. She is inspiring, kind, and an amazing mentor. I’m so glad she’s in my life!

Photo by Aubrey Howell (@simplyaubs)

Photo by Aubrey Howell (@simplyaubs)

Ed Finkler’s talk “Stronger Than Fear: Mental Health in the Developer Community“. I’m so thrilled to share that you can watch it here! The slides are here. Ed’s talk is particularly meaningful to me because, as I shared during my talk, I also struggle with depression and anxiety. I am glad PyTennessee was the kind of conference where we could bring our very real struggles into the room in a tender, compassionate, and constructive way.

Meeting James Dozier and learning that my talk was an inspiration for his new blogging project, Think Code Make! He was also inspired by Aubrey Howell’s (hilarious/amazing) talk “Shitty Code Leads to Pretty Code: Reconciling Development with Reality“. I was SO BUMMED to miss it, but thankfully they were able to record. I’ll post the link here when it is ready! It’ll be one to watch, y’all, for sure.

Meeting Elizabeth Wickes and learning about her Guided Self-Study Lesson Plan for Python. She has put a LOT of thought and effort into teaching Python to folks from non-technical backgrounds and would make a great future speaker (hint hint, conference organizers!).


Lynn‘s keynote Sunday evening. It was great to hear more about her journey and how Spotify uses Python and open-source tools. Plus, she keeps us smilin’.

PyTennessee resource round-up

Since I wasn’t able to attend every talk, I made a list of resources gathered from Twitter for future reference. Let me know if there are others, and I’ll add them!

Resources for fellow Atlantan Daniel Rocco‘s talk “Clean and Green: Pragmatic Architecture Patterns” are here! Includes links to the screecast, slides, and clean architecture resources. I’m glad I got to hear his talk at PyATL, cuz he was up against me at PyTN!

How to really get git” by Susan Tan: slides here!

A. Jesse Jiryu Davis gave an inspiring talk called “Dodge Disasters and March to Triumph as a Mentor“. I’m so glad he shared a written version of his talk here!

Analyzing Data with Python” / “Twitter Network Analysis with NetworkX” by Sarah Guido!

Slides and a post for Michael Herman‘s talk “Docker In Action: fitter, happier and more productive“. Oh, and while we’re at it, some helpful resources and tutorials from the RealPython.com team.

Matt O’Donnell‘s slides for “Behavior Driven Development with PyQT“.

A little bit of video of the intensely charming K Lars Lohn during his talk “The Well Tempered API”: Baroque Cooperative Multitasking

Here’s a great blog post from Jamie Phillips about his PyTennessee weekend.

I also made a Twitter list of some of the folks I heard/saw/met at PyTennessee. I’m sure it’s incomplete, though – please let me know if there are others who should be added!

Finally, I had a great time sharing my own story – and cookies! – Sunday afternoon.

Thanks to everybody who came out to listen, eat cookies, ask questions, and just generally be supportive. I enjoyed connecting with all of you!

For those who are curious, my next post to Coding with Knives will be a written version of my talk. Stay tuned!


LPTHW: Exercise 4: Variables and Names and Knives

And we’re back!

I had to take a couple weeks’ break from Coding with Knives and other creative projects because I’ve been dealing with some things in my personal life that have demanded just about all of my available energy. Awesome friends and deliberate self-care means I’m slowly getting back to a place of relative normalcy, but like all things, it’s a process… and there are bumps in the road, plenty of ’em. The key is to stay present and keep moving forward.

LPTHW’s exercise four introduces variables. In this exercise, we print simple phrases with variables inserted:


Zed also has us run Python from the terminal as a calculator, using variable names to do calculations.


Really just not a big deal at all.

So what else is not a big deal – at least, once you have the right stuff? Chopping things. That’s right, today I’m talking my namesake: cutting boards and knives.

First, cutting boards. What are you currently using? The countertop? Decorative glass? The plate you intend to serve your food on?

Over the years, I’ve seen all of the above – and each time, I shuddered. If YOU answered YES to any of the above, you should not feel ashamed or judged, but you should stop cutting things immediately, run to a store with a home goods department, and purchase a set of bamboo cutting boards.

I love bamboo because it’s renewable, cheap, sturdy, and easy to clean. Bamboo is also incredibly strong! I have been using the same suite of bamboo cutting boards for years with a very sharp chef’s knife and they are in fantastic condition. As an added bonus, I’ve found that bamboo does not seem to retain as valiantly as my solid wood cutting board the odorousness of things like garlic, onion, and ginger. This is helpful when you use these ingredients frequently.

Please note that while my cutting boards have seen all manner of plant matter, from kohlrabi to wakame, I do not handle raw meat in my kitchen (or ever) so I can’t speak to that experience.

Moving onto knives!

There’s a reason you see the same knife in all of my pictures:

Chiffonading collard greens

Chiffonading collard greens

Slicing into spaghetti squash

Slicing into spaghetti squash

Dicing roasted peppers

Dicing roasted peppers

This is because for 98% of tasks – cutting, slicing, dicing, and mincing – I use the same high-quality chef’s knife: a 185mm Super Series MAC SA-70 Utility Knife.

MAC Knife SA-70, Utility Knife, 185mm blade

A chef’s knife is by nature a multi-purpose tool, intended to help you accomplish a variety of tasks in the kitchen. It’s absolutely worth investing in one and paying to have a professional sharpen it. (Yes, I’m in the camp that suggests you don’t sharpen your own knives – deal.) I use MAC knives because once upon a time my friend Matt let me borrow his to prepare multi-course meals for two hundred people and I fell in love. I received my own as a gift in 2010 and have been using it almost daily since. Here’s a link to see the series and another to consider purchasing.

The MAC Knife is not inexpensive, and I’m convinced that anyone who cooks regularly should make the sacrifice of $100 or so for a decent tool. But if, for whatever reason, you are not able to spend that kind of money right now, I suggest a suitable alternative: the IKEA 365+ GNISTRA Vegetable Knife.

IKEA Gnistra Vegetable KnifeCompared to my svelte MAC knife, it is a bit heavier and clunkier, but make no mistake: this $15 bargain is a versatile knife that takes well to professional sharpening. And it’s better made than you might expect. The first time I had a professional sharpen my knives, he of course oohed and aahed over the MAC. But when I pulled out the IKEA knife, he admitted that it was much better quality than he anticipated.

So there you have it! Cutting boards and knives: essential. Make it happen!


LPTHW: Exercise 3: Numbers and Math and caramelized onions

I use math a lot in my daily life. I’ve managed complicated budgets for several businesses (including my current job) and have been doing my own taxes (accurately!) for over a decade. Most of the time I’m in the grocery store I’m running numbers, determining sale prices, calculating total costs. Same goes for the kitchen — frequently I’m altering recipes, which requires an ability to do conversions on the fly.

Yet, when I saw that this exercise was about “numbers and math”, I froze. Numbers and math! It must be some basic, primal fear coming out. I’m glad I didn’t let it stop me:


Not so scary!

In the extra credit, Zed asks us to go back and comment out each line, explaining what is happening:


The only thing that tripped me up was modulus. In Zed’s words: “Another way to say it is, ‘X divided by Y with J remaining.’ For example, ‘100 divided by 16 with 4 remaining.’ The result of % is the J part, or the remaining part.” Okay.

He also has us start Python and use it as a calculator. I didn’t do anything too fancy:


Next up, he has us write another little .py file that does some math. I couldn’t figure out anything I needed to determine, so I just made something up.


I counted some hypothetical fruit. I’m looking forward to covering variables because I think it would have made my little example easier to write.

Finally, he stressed the importance of using “floating numbers” so I went back and re-wrote my little program to use them. Accuracy wasn’t an issue with this example, but it might be in the future, so floating point numbers seem like a good idea.

For today’s cooking basics lesson, I’m covering caramelized onions. Yesterday I made a pot of my favorite fordhook lima beans. The secret to their deliciousness is a generous base of caramelized onions.


Caramelizing means cooking over low-ish heat for a long time in order to brown the naturally-occurring sugars in the onions. The formerly pearly-white cubes are transformed into a rich golden-brown (or deeper!) color with a rich, savory-sweet flavor.


Start by uniformly chopping onions. A lot of folks go for long thin slices, but I wanted cubes. The small pieces look better than strands in the finished dish.

Warm or melt your fat of choice over medium heat. I used Earth Balance margarine, but you could also use coconut oil or olive oil.

Add the onions.

Stir to thoroughly coat onions with fat.

After 10 minutes on medium heat. Use a stiff, well-made spatula to scrape up the bits of browning goodness.

After 20 minutes on medium heat.

Scrape scrape. After thirty minutes on medium. I turned it down to medium low.

Forty minutes…

One hour.

What a difference a little time and heat makes! I did not add any salt, sugar, or liquids to enhance the caramelization process.

If you’re making a soup or a pot of beans, at this point you simply add other ingredients and simmer until fully cooked. As I mentioned above, I used fordhook lima beans and simmered them until the broth formed a kind of rich oniony gravy. A perfect dinner!