GraphQL vs. REST
Tuesday, August 29, 2017 » code
Comparing GraphQL to REST is like comparing apples and oranges. But let's do it anyway.
Falcon Web Framework: What's New?
Thursday, October 27, 2016 » code
Version 1.1 of the Falcon WSGI framework is now available, thanks to all the hard work put in by our growing team of awesome contributors. Extra special thanks to everyone who joined us at the PyCon 2015 and 2016 sprints to work on 1.0 and 1.1!
Falcon WSGI Framework: 0.3.0
Monday, June 15, 2015 » code
Version 0.3 of the Falcon WSGI framework is now available, thanks to all the hard work put in by our growing team of stylish and talented contributors. Extra special thanks to everyone who joined us at the PyCon 2015 sprint in Montreal!
Security for Humans
Tuesday, April 07, 2015 » security
Don't demonize your users. This only sets the stage for a security cold war. Instead, shift the burden to design-time. Find ways to defend against threats without hamstringing your users, and they will love you for it.
A Better uuidgen
Tuesday, March 03, 2015 » security
A humble suggestion for a better uuidgen that works consistently across platforms and is clipboard-friendly.
OpenStack Paris Summit Retrospective
Wednesday, December 17, 2014 » community
During the week of the summit, I observed three important trends in the OpenStack ecosystem. First, private clouds are starting to take on the characteristics of public clouds. Second, design discussions and general interactions between various members of the community are becoming significantly more civil and constructive. And finally, interns are taking a greater role in delivering new features across various OpenStack projects.
Redis Lua Scripting for Performance
Wednesday, November 19, 2014 » code
NoSQL tends to force a lot of data model logic into the app layer, making it hard (or even impossible) to optimize certain types of operations. By supporting server-side Lua scripting, Redis provides a way to move some of that logic back into the data layer without having to add higher-order operations to the API.
Open Minds for Open Discussions
Tuesday, September 30, 2014 » community
Mailing lists tend to dehumanize people, opening the door to subconscious (and conscious) social behaviors that are anything but constructive.
How to Win
Wednesday, June 18, 2014 » community
In 1998 the Phantom Regiment did the impossible. You can too.
Falcon WSGI Framework: 0.1.8
Tuesday, February 04, 2014 » code
Thanks to the hard work of a growing community of contributors, we were able to ship several long-awaited goodies, including request sinks, improved URI decoding, and custom error handlers.
Standardization Manifesto
Wednesday, January 08, 2014 » community
Standardization is often promulgated as a worthy goal for teams and communities, but it must be recognized for what it is: a Platonic ideal.
Painless Py3K Unicode Magic
Friday, December 20, 2013 » code
Implementing Python's magic string methods is tricky when it comes to Unicode characters and Py3K compatibility. I recently came across this problem in OpenStack, and wanted to share the strategy we are using to work around the issue.
SHA Snake Oil
Monday, November 25, 2013 » stuff
The SHA message-digest algorithm has its uses, but it's no cure-all.
An Unladen Web Framework
Tuesday, July 02, 2013 » code
Falcon is a new web framework for building efficient cloud APIs and stirring up controversy.
The Face of the Cloud
Tuesday, February 05, 2013 » stuff
It's no coincidence that cloud computing and post-PC devices became popular at the same time. But why didn't all this happen years ago when tech heavyweights were pushing thin clients?
uWSGI vs. Gunicorn, or How to Make Python Go Faster than Node
Tuesday, December 18, 2012 » performance
In which I pit uWSGI against Gunicorn and stumble upon a Python stack that leaves Node.js begging for mercy.
Tornado vs. Gevent - Benchmarks
Wednesday, December 12, 2012 » performance
In this latest round of performance testing, I take the Tornado web framework for a spin (heh, couldn’t help myself), and also play around with Cython.
Stand back... I'm going to try science!
Tuesday, November 13, 2012 » performance
Check out these results from a round of rigorous performance testing comparing Python, PyPy and Node.js
Python vs. Node vs. PyPy
Tuesday, October 23, 2012 » performance
After playing around with recent versions of PyPy and Node.js, I've discovered some things that may surprise you.
Cloud Security Manifesto
Tuesday, October 02, 2012 » security
We need to build a cloud that people can trust.
How Async I/O Works
Tuesday, September 18, 2012 » performance
Async I/O can be your best friend, or your worst enemy. The devil's in the details.
Painless Scaling in the Cloud
Thursday, September 06, 2012 » performance
Scaling your web app or service is a nice problem to have, but just because you may never need to do it, doesn't mean you shouldn't plan for it.