All articles

  1. Don’t include social engineering in penetration tests

  2. Security Linkspam for March 16, 2017

  3. Security Linkspam for March 8, 2017

  4. Security Linkspam for March 2, 2017

  5. Security Linkspam for February 22, 2017

  6. Security Linkspam for February 1, 2017

  7. Security Linkspam for January 25, 2017

  8. Security Linkspam for December 28, 2016

  9. Security Linkspam for December 21, 2016

  10. Security Linkspam for December 14, 2016

  11. Security Linkspam for December 7, 2016

  12. Getting started with pytest

  13. Django Under the Hood 2016 Highlights

  14. So you want a new admin?

  15. Ratchets & Levers

  16. 2016 DBIR Highlights

  17. A reading list for InfoSec engineers

  18. Psychological safety in the InfoSec industry

  19. How do you run distributed standups?

  20. Shanley and my PyCon talk

  21. Uber and the Fourth Estate

  22. Python Programmers Support the Ada Initiative

  23. Re: What Can Men Do?

  24. The limits of “unlimited” vacation

  25. Retiring as BDFLs

  26. Bagels

  27. To my friends in the Node community

  28. On TRUCEConf

  29. Personal lessons from XOXO

  30. Join me in supporting the Ada Initiative

  31. Getting features into Django

  32. I’ve joined Heroku

  33. Auto-building Sphinx docs

  34. The Django community in 2012

  35. DIY supplies

  36. Why conferences need a code of conduct

  37. P.J. Eby on PyPI

  38. Is there a market for paid Django apps?

  39. A REST wankery question

  40. I refuse to tolerate assholes

  41. Work for me!

  42. Help desk software?

  43. Configuration and architecture

  44. CI is hard!

  45. Office hours

  46. Django classes: deployment, ecosystem

  47. How to roast a chicken

  48. Django gotcha: concrete inheritance

  49. What’s your favorite Django app?

  50. “Web Scale”

  51. Peter Norvig on programming languages

  52. man tar

  53. Mark Shuttleworth on Tribalism

  54. GvR on commit privileges

  55. What to do when PyPI goes down

  56. Backwards compatibility

  57. util

  58. Dynamic form generation

  59. Early registration for my Advanced Django class ends soon

  60. To hell with web standards

  61. Fixing PostgreSQL’s default encoding on Ubuntu 9.10

  62. You need an editor

  63. Technical style

  64. What to write

  65. My travel kit

  66. The Django community in 2009

  67. Thank you, Rails

  68. On commit bits

  69. Lessons from Rackspace’s downtime

  70. The power of “no”

  71. SEO scumbags

  72. QFT

  73. Job opportunity: engineer at Whiskey Media

  74. * is Unix

  75. Python is Unix

  76. Django Master Class, October 16

  77. Contributor License Agreements

  78. Snakes on the Web

  79. Reminder: Django Training

  80. Django Training

  81. Twenty questions about the GPL

  82. Django internals: authentication

  83. Professionalism

  84. SVN usability

  85. Looking for a Django developer?

  86. More buildout notes

  87. Developing Django apps with zc.buildout

  88. Nobody expects Python packaging!

  89. Hooray for standards

  90. Python implementation details

  91. It’s time for a change

  92. FAQ: Untrusted users and HTML

  93. The taste of shame and humiliation

  94. Why I’m excited about Python 3

  95. Descriptivists and Prescriptivists

  96. What is django.contrib?

  97. “Syntactic Sugar”

  98. Typography: Rhythm & Proportion

  99. Minimalism

  100. REST worst practices

  101. PyCon Braindump

  102. Help OSI

  103. Sailing on…

  104. A picture is worth a thousand words

  105. Shameless self-promotion

  106. Django Book Update

  107. Of the Web

  108. CouchDB first impressions

  109. The sorry state of database journalism

  110. My “personal security” plan

  111. Seasoning Templates

  112. Die, Marker Felt, Die!

  113. Dear Adobe

  114. Some guesses about the future

  115. Django projects

  116. Django Internships at the Journal-World

  117. Circles of Django (2007)

  118. You vs. the Real World

  119. Jimbo’s Number

  120. Ripped by Engadget

  121. Five things I hate about Python

  122. Overheard at PyCon

  123. I don’t care whose is bigger

  124. Fried Chicken

  125. How the news breaks

  126. Wanted: kick-ass sysadmin

  127. Pronouncement

  128. Post-OSCONum part 1: try not to suck

  129. “Show-stoppers”

  130. Digg dugg

  131. Bad dog!

  132. Improved text image view

  133. Django OSCON shirts

  134. Django propaganda

  135. A complete waste of time

  136. Django meetup in Palo Alto

  137. Merquery

  138. Quiet Enjoyment

  139. Free server? Probably not

  140. Free servers?

  141. Django stuff at Pycon

  142. WWBD

  143. Template + Cache = Crazy Delicious

  144. Why you should use Django

  145. Strike averted

  146. Done

  147. Dojo gets a manual

  148. Django, meet Dojo

  149. Have more…

  150. Django performance tips

  151. Hiring, part II

  152. We’re hiring!

  153. Lightpd on Ubuntu

  154. What can Django learn from Rails?

  155. allofmp3.com RSS feed

  156. Private Dancer?

  157. A note to web designers

  158. A quick comparison

  159. Sera’s Pancakes

  160. Django and Rails

  161. Reboot