This post is a bit divergent from my usual write ups, but I know a few people off hand that are looking to upgrade their macs, and are a bit apprehensive to do so. Well – I’ve gone through the pain myself, so you don’t have to! A bit ago, I got the opportunity to upgrade my work … | Continue reading
Foreword: This is part 6 of a 7-part series titled “asyncio: We Did It Wrong.” Take a look at Part 1: True Concurrency, Part 2: Graceful Shutdowns, Part 3: Exception Handling, Part 4: Synchronous & threaded code in asyncio, Part 5: Testing asyncio Code for where we are in the tut … | Continue reading
Foreword: This is part 5 of a 7-part series titled “asyncio: We Did It Wrong.” Take a look at Part 1: True Concurrency, Part 2: Graceful Shutdowns, Part 3: Exception Handling, and Part 4: Synchronous & threaded code in asyncio for where we are in the tutorial now. Once done, foll … | Continue reading
Foreword: This is part 5 of a 7-part series titled “asyncio: We Did It Wrong.” Take a look at Part 1: True Concurrency, Part 2: Graceful Shutdowns, Part 3: Exception Handling, and Part 4: Synchronous & threaded code in asyncio for where we are in the tutorial now. Once done, foll … | Continue reading
Foreword: This is part 6 of a 7-part series titled “asyncio: We Did It Wrong.” Take a look at Part 1: True Concurrency, Part 2: Graceful Shutdowns, Part 3: Exception Handling, Part 4: Synchronous & threaded code in asyncio, Part 5: Testing asyncio Code for where we are in the tut … | Continue reading
Foreword: This is part 7 of a 7-part series titled “asyncio: We Did It Wrong.” Take a look at Part 1: True Concurrency, Part 2: Graceful Shutdowns, Part 3: Exception Handling, Part 4: Synchronous & threaded code in asyncio, Part 5: Testing asyncio Code, and Part 6: Debugging asyn … | Continue reading
Foreword: This is part 7 of a 7-part series titled “asyncio: We Did It Wrong.” Take a look at Part 1: True Concurrency, Part 2: Graceful Shutdowns, Part 3: Exception Handling, Part 4: Synchronous & threaded code in asyncio, Part 5: Testing asyncio Code, and Part 6: Debugging asyn … | Continue reading
Foreword: This is part 0 of a 7-part series titled “asyncio: We Did It Wrong.” Once done, follow along with Part1: True Concurrency, Part 2: Graceful Shutdowns, Part 3: Exception Handling, Part 4: Working with Synchronous & Threaded Code, Part 5: Testing asyncio Code, Part 6: Deb … | Continue reading
Foreword: This is part 0 of a 7-part series titled “asyncio: We Did It Wrong.” Once done, follow along with Part1: True Concurrency, Part 2: Graceful Shutdowns, Part 3: Exception Handling, Part 4: Working with Synchronous & Threaded Code, Part 5: Testing asyncio Code, Part 6: Deb … | Continue reading
These series of posts are an accompaniment to a couple of talks given: Advanced asyncio: Solving Real-world Production Problems at EuroPython 2019 & PyCon US 2019; and asyncio in Practice: We Did It Wrong at EuroPython 2018 and PiterPy 2018. Slides can be found here and the PyCon … | Continue reading
Foreword: This is part 1 of a 7-part series titled “asyncio: We Did It Wrong.” See the initial setup for where we are starting. Once done, follow along with Part 2: Graceful Shutdowns, or skip ahead to Part 3: Exception Handling, Part 4: Working with Synchronous & Threaded Code, … | Continue reading
Foreword: This is part 4 of a 7-part series titled “asyncio: We Did It Wrong.” Take a look at Part 1: True Concurrency, Part 2: Graceful Shutdowns, and Part 3: Exception Handling for where we are in the tutorial now. Once done, follow along with Part 5: Testing asyncio Code, or s … | Continue reading
Foreword: This part 2 of a 7-part series titled “asyncio: We Did It Wrong.” Take a look at Part 1: True Concurrency for where we are in the tutorial now. Once done, follow along with Part 3: Exception Handling, or skip ahead to Part 4: Working with Synchronous & Threaded Code, Pa … | Continue reading
Foreword: This is part 3 of a 7-part series titled “asyncio: We Did It Wrong.” Take a look at Part 1: True Concurrency and Part 2: Graceful Shutdowns for where we are in the tutorial now. Once done, follow along with Part 4: Working with Synchronous & Threaded Code, or skip ahead … | Continue reading
Foreword: This part 2 of a 7-part series titled “asyncio: We Did It Wrong.” Take a look at Part 1: True Concurrency for where we are in the tutorial now. Once done, follow along with Part 3: Exception Handling, or skip ahead to Part 4: Working with Synchronous & Threaded Code, Pa … | Continue reading
Foreword: This is part 4 of a 7-part series titled “asyncio: We Did It Wrong.” Take a look at Part 1: True Concurrency, Part 2: Graceful Shutdowns, and Part 3: Exception Handling for where we are in the tutorial now. Once done, follow along with Part 5: Testing asyncio Code, or s … | Continue reading
Foreword: This is part 1 of a 7-part series titled “asyncio: We Did It Wrong.” See the initial setup for where we are starting. Once done, follow along with Part 2: Graceful Shutdowns, or skip ahead to Part 3: Exception Handling, Part 4: Working with Synchronous & Threaded Code, … | Continue reading
These series of posts are an accompaniment to a couple of talks given: Advanced asyncio: Solving Real-world Production Problems at EuroPython 2019 & PyCon US 2019; and asyncio in Practice: We Did It Wrong at EuroPython 2018 and PiterPy 2018. Slides can be found here and the PyCon … | Continue reading
Foreword: This is part 3 of a 7-part series titled “asyncio: We Did It Wrong.” Take a look at Part 1: True Concurrency and Part 2: Graceful Shutdowns for where we are in the tutorial now. Once done, follow along with Part 4: Working with Synchronous & Threaded Code, or skip ahead … | Continue reading
This post is an accompaniment to my Tracing, Fast and Slow talk at PyCon in Portland, OR in May 2017, EuroPython in Rimini, Italy in July 2017, and PyLadies in St. Petersburg, Russia in November 2018. Slides here and video from PyCon here.If you’ve read the Site Reliability Engin … | Continue reading
This post is an accompaniment to my Tracing, Fast and Slow talk at PyCon in Portland, OR in May 2017, EuroPython in Rimini, Italy in July 2017, and PyLadies in St. Petersburg, Russia in November 2018. Slides here and video from PyCon here.If you’ve read the Site Reliability Engin … | Continue reading
Nota Bene: This post was written and first published on Spotify’s developer blog.Forward: This blog post accompanies my presentation given at SRECon 2017 in San Francisco. The recording of the talk can be viewed here, with the accompanying slides here. Cross-posted from Spotify’s … | Continue reading
Nota Bene: This post was written and first published on Spotify’s developer blog.Forward: This blog post accompanies my presentation given at SRECon 2017 in San Francisco. The recording of the talk can be viewed here, with the accompanying slides here. Cross-posted from Spotify’s … | Continue reading
Update on September 6th: Finally included the IPython notebooks!This post is an accompaniment to my Diversity: We’re not done yet first at EuroPython in Bilbao, Spain in July 2015, then as a keynote for DjangoCon US in Austin, TX in September 2015. Slides here, video from EuroPyt … | Continue reading
Update on September 6th: Finally included the IPython notebooks!This post is an accompaniment to my Diversity: We’re not done yet first at EuroPython in Bilbao, Spain in July 2015, then as a keynote for DjangoCon US in Austin, TX in September 2015. Slides here, video from EuroPyt … | Continue reading
This post is an accompaniment to my Metrics-driven development talk at Open Data Science Conference in Boston in May 2015. Slides here and video here.At Spotify, data is quite important. We track user-generated data, like sign ups, logins, activity within the application, even tw … | Continue reading
This post is an accompaniment to my Metrics-driven development talk at Open Data Science Conference in Boston in May 2015. Slides here and video here.At Spotify, data is quite important. We track user-generated data, like sign ups, logins, activity within the application, even tw … | Continue reading
Update: I gave a presentation to the SF Python Meetup group about the new library, including why you’d use a descriptive language for your API, why RAML, and why Spotify chose RAML.If you’re into IPython Notebooks, mine can be found here, with slides generated from IPython here. … | Continue reading
Update: I gave a presentation to the SF Python Meetup group about the new library, including why you’d use a descriptive language for your API, why RAML, and why Spotify chose RAML.If you’re into IPython Notebooks, mine can be found here, with slides generated from IPython here. … | Continue reading
In celebration for Ada Lovelace Day, Thoughtworks hosted a meetup featuring talks from many prominent local women. I had the pleasure of speaking myself, in which I confessed publically:I am totally faking it.I’m not a “real” coder The tl;dr of my path in life is that I am not a … | Continue reading
In celebration for Ada Lovelace Day, Thoughtworks hosted a meetup featuring talks from many prominent local women. I had the pleasure of speaking myself, in which I confessed publically:I am totally faking it.I’m not a “real” coder The tl;dr of my path in life is that I am not a … | Continue reading
More and more often, folks have been asking about how I became an engineer, what my “story” is. So, in the effort to save time and breath, here it is.TL;DR: I have a business degree, and started teaching myself how to code in the fall of 2011.Started in Business In high school, I … | Continue reading
More and more often, folks have been asking about how I became an engineer, what my “story” is. So, in the effort to save time and breath, here it is.TL;DR: I have a business degree, and started teaching myself how to code in the fall of 2011.Started in Business In high school, I … | Continue reading
This post is an accompaniment to my PyCon 2014 and EuroPython 2014 talk, For Lack of a Better Name(server): DNS Explained, that is a deep dive into DNS. Slides can be found here I previously wrote a post explaining Kerberos “Like I’m 5” that turns out to be one of my most visited … | Continue reading
This post is an accompaniment to my PyCon 2014 and EuroPython 2014 talk, For Lack of a Better Name(server): DNS Explained, that is a deep dive into DNS. Slides can be found hereI previously wrote a post explaining Kerberos “Like I’m 5” that turns out to be one of my most visited … | Continue reading
At the end of the month, I’ll be trading in my Red Hat for a pair of head phones: I’ll be joining Spotify in San Francisco as a Partner Engineer to work on third-party integration.I had a fantastic experience working on freeIPA, but found the opportunity at Spotify too awesome to … | Continue reading
At the end of the month, I’ll be trading in my Red Hat for a pair of head phones: I’ll be joining Spotify in San Francisco as a Partner Engineer to work on third-party integration.I had a fantastic experience working on freeIPA, but found the opportunity at Spotify too awesome to … | Continue reading
Is a lot of your time wasted from derping around on Reddit? Do you find that you have to correct someone when they’re wrong on the internet? Wish that your collected comment karma was worth something?Well, I can’t trade you anything for your karma. But I can provide you with awes … | Continue reading
Is a lot of your time wasted from derping around on Reddit? Do you find that you have to correct someone when they’re wrong on the internet? Wish that your collected comment karma was worth something?Well, I can’t trade you anything for your karma. But I can provide you with awes … | Continue reading
In the light of PRISM’s whistle blowing, many folks, like here, here, and here, are questioning whether the cloud is a viable option.This write-up, originally presented at PyCon Canada 2013 (slides, and video), and updated for PyCon Ireland (slides), is a look at what PRISM is, h … | Continue reading
In the light of PRISM’s whistle blowing, many folks, like here, here, and here, are questioning whether the cloud is a viable option.This write-up, originally presented at PyCon Canada 2013 (slides, and video), and updated for PyCon Ireland (slides), is a look at what PRISM is, h … | Continue reading
This is part 3 of a series of posts on setting up Django to use external authentication. This post explains how to setup your own environment to test Django authentication against Apache and Kerberos/Active Directory/LDAP.Setting up your own test environment Naturally, you only c … | Continue reading
This is part 3 of a series of posts on setting up Django to use external authentication. This post explains how to setup your own environment to test Django authentication against Apache and Kerberos/Active Directory/LDAP.Setting up your own test environment Naturally, you only c … | Continue reading
This is part 2 of a series of posts on setting up Django to use external authentication. This post explains how to setup Apache for Django to use a corporate/internal authentication environment.How do I Apache? Alright, now that my application is done and the custom user is setup … | Continue reading
This is part 1 of a series of posts on setting up Django to use external authentication. This post explains how to setup Django with custom user models for corporate/internal authentication methods.Intro Everyone has or has had a Pointy-haired boss or client, right? micromanageme … | Continue reading
This is part 1 of a series of posts on setting up Django to use external authentication. This post explains how to setup Django with custom user models for corporate/internal authentication methods.Intro Everyone has or has had a Pointy-haired boss or client, right? micromanageme … | Continue reading
This is part 2 of a series of posts on setting up Django to use external authentication. This post explains how to setup Apache for Django to use a corporate/internal authentication environment.How do I Apache? Alright, now that my application is done and the custom user is setup … | Continue reading