Posts
All the articles I've posted.
Strategies for Writing Useful Tests
Published: at 06:54 AMWriting tests can be challenging. What should we test? How do we know if our tests are valuable? Here's what I've learned about writing maintainable and effective tests.
How to Land the Right Tech Job for You [updated in 2018]
Published: at 12:45 PMHow to land the right tech job for you
How to Prepare for Talks
Published: at 02:09 PMMy step-by-step process for preparing technical talks: from initial brainstorming and outline creation to practice sessions and handling Q&A.
Answers to Django Security Questions
Published: at 06:56 AMAnswers to the Django security questions I get asked most often: CSRF protection, SQL injection prevention, secure sessions, and authentication gotchas.
Using Bandit in the Field
Published: at 03:17 PMReal-world experience using Bandit to scan Python codebases for security vulnerabilities. What works, what doesn't, and how to integrate it into your workflow.
Finding Vulnerabilities with Bandit Talk
Published: at 06:23 AMHow to use Bandit to automatically scan Python codebases for security vulnerabilities: setup, configuration, and integrating security checks into your development workflow.
10 Software Talks to Listen to on Your Way to Work
Published: at 03:17 PMSoftware talks that changed how I think about code. Rich Hickey on simplicity, Bret Victor on the future of programming, and eight others worth your time.
Dangerous Python Functions, Part 2
Published: at 08:22 AMMore Python functions that can introduce security vulnerabilities, including pickle, PyYAML, and SQL injection risks. Learn how to use them safely.
Dangerous Python Functions, Part 1
Published: at 12:54 PMPython functions like eval(), exec(), and input() can create serious security vulnerabilities. Here's how to identify and avoid these dangerous patterns in your code.
The Sunglasses Scam
Published: at 02:09 PMA story about an accidental scam in Ragnarok Online and what it taught me about human psychology