The Curious Engineer

All blogs / Python

Lincoln Loop Blog

lincolnloop.com/blog

Deep insights from our research and experience

PythonWeb developmentDevOps / SRE / infrastructure

Posts
299 from 22 Nov 2005 to 28 Sep 2026
Posting
weekly (25 in the last year)
Kind
company blog
Feed
https://lincolnloop.com/blog/feed/

2026 20

  1. Specialist models for code generation?
  2. Nearly 20 years of choosing Django
  3. Setting Django's DEBUG safely
  4. Interconnecting VPCs: an opinionated decision framework
  5. Anything that could go wrong, will. The excuse is optional.
  6. Locking uv Script Dependencies
  7. Enforce Business Logic in the Database with Django
  8. Gunicorn Keepalive and AWS ELB 502 Errors
  9. UI Smoke Tests With Playwright
  10. How Wagtail Stores Draft Previews (And Why Your Links Break)
  11. Efficent Filtering of Third-Party Deprecation Warnings in pytest
  12. Claude Pitfalls: Database Indexes
  13. Unlocking Wagtail’s StreamField: Fast Cross-Page Queries with JSONField
  14. Ensuring View Consistency with abc.ABC in Django
  15. Serving Private Files with Django and S3
  16. Allowing Intentionally Blank Translations In Wagtail
  17. Django 6 Tasks: Background Processing Without the Infrastructure
  18. Don't Let Old Migrations Haunt Your Codebase
  19. Siteprobe. A concise command-line audit for every URL in your sitemap
  20. How a Single Test Revealed a Bug in Django 6.0

2025 16

  1. Making Wagtail Choice Fields Visual with Thumbnails
  2. Simplify Multi-Account AWS Access with granted
  3. Modernising Django Packages Without Breaking Everything
  4. Microdocs: Transform Your Markdown into Beautiful Documentation with Zero Configuration
  5. Building a Translations Dashboard In Wagtail
  6. Automate Your Changelogs with Towncrier
  7. Tracking User-Based Changes in Django
  8. Ensuring Essential Data Exists in Your Django App on Startup
  9. Stuck in a rut? Stop grinding & try this instead
  10. 10 Steps to Adapt Brand Colors for Data Visualizations
  11. Smooth Page Transitions in Modern Browsers
  12. Integrate MCP Servers in Python LLM Code
  13. Lincoln Loop’s Commitment to Giving Back
  14. Autofill Image Captions using Large Language Models
  15. Let’s Write a Time Logging Assistant
  16. Avoiding Mocks: Testing LLM Applications with LangChain in Django

2024 9

  1. Reflecting on 2024: Milestones, Growth, and Looking Ahead to 2025
  2. Single-file Django Apps with nanodjango
  3. Serverless Tasks in Django with AWS Lambda
  4. Building a Chat Backend for Wikipedia Articles in Django
  5. How Lincoln Loop Got Its Name: A Journey from Ski Slopes to Django Development
  6. Embeddings: A Bridge From LLMs to Your Data
  7. Rescuing Django Projects with Smoke Tests: Quick Wins for Long-Term Success
  8. Solving the Messy Middle: a Simple Block Pattern for Wagtail CMS
  9. Lincoln Loop Takes the Stage at DjangoCon US 2024 with Two Expert Talks

2023 24

  1. A Seamless, Simplified Tool for Interactive Education Experiences
  2. 19X faster response time
  3. 4 Tips for the Best Results From a Development Agency Partnership
  4. How a Prestigious Business School Gained an Immersive Platform for Simulated Learning
  5. Building a Future-Proof Platform with Block-Driven CMS
  6. How to Work with Developers to Create New Website Tools that Suit Your Budget
  7. 3 Areas to Monitor When Evaluating Your Website’s Health
  8. Secure a Successful Digital Transformation by Avoiding 4 Potential Pitfalls
  9. Running your Django project with __main__.py
  10. The 4-Point Guide to Winning Nonprofit Web Design
  11. Python provides the tools and flexibility our clients need to thrive
  12. 3 Nonprofit Website Design Elements that Increase Donations
  13. django CMS is a great toolbox
  14. Can Your Site Handle Going Viral?
  15. Use This 5-Point Checklist to Evaluate Your New CMS
  16. Go live checklist for your Django project
  17. How to Avoid Surprises In Your Website Budget
  18. DEV: How to Choose a Web Development Agency in 2023
  19. DEV: 5 Signs It’s Time For a Custom CMS
  20. Using pyproject.toml in your (Django) project
  21. 7 Signs It’s Time to Rebuild Your Website
  22. How to Choose a Web Development Agency in 2023
  23. Project Look: Big Cities Health Inventory Data Platform
  24. 5 Signs It’s Time For a Custom CMS

2022 4

  1. 5 Reasons You Need a Multi-Distribution Channel CMS
  2. Dynamic Open Graph images with Django and SVG
  3. Python Package Manager Shootout
  4. Choosing a Django Version

2021 2

  1. High Performance Django Is Free Online
  2. Documenting Django Design Systems with Storybook

2020 5

  1. Distributed Locking in Django
  2. Goodconf: A Python Configuration Library
  3. Python Dependency Locking with pip-tools
  4. User-Generated Themes with Django and CSS Variables
  5. Dissecting a Python Zipapp Built with Shiv

2019 1

  1. Single-file Python/Django Deployments

2018 6

  1. Cracking Django Password Hashes
  2. Saying Goodbye to BotBot.me
  3. Sandboxing Services with Systemd
  4. Logging to Systemd's Journal in Python
  5. Goodbye manage.py
  6. Using setup.py in Your (Django) Project

2017 12

  1. Django Logging, The Right Way
  2. Disabling Error Emails in Django
  3. Dynamic Test Servers with Salt
  4. The Trouble with Thumbnails: Part 2
  5. Django Patterns: Fat Models and cached_property
  6. Linting SCSS with sass-lint
  7. Django Anti-Patterns: Signals
  8. Multiple Sites with Routing in uWSGI
  9. 10 Years of Lincoln Loop
  10. Serving Static Files with uWSGI
  11. Have You Heard About LXC Containers?
  12. Debugging Go Code

2016 6

  1. Sharing Media Files Without S3
  2. How We Manage Our Company-wide Secrets
  3. Speed Comparison: Putting Pyston and PyPy to the Test
  4. Provision a Cluster on Google Cloud with Terraform
  5. Let's Encrypt DNS Challenge
  6. The Trouble with Thumbnails: Part 1

2015 29

  1. Django Round-Up #39
  2. Faster Django Sites with PyPy
  3. Django Round-Up #38
  4. Our Failed Kickstarter Was Really a Success
  5. Django Round-Up #37
  6. Getting Started with Element Queries
  7. Django Round-Up #36
  8. Breaking the Rules and SPDY'ing Up our Website's Frontend
  9. Django Round-Up #35
  10. Using Crossing with React-Router
  11. The uWSGI Swiss Army Knife
  12. Django Round-Up #34
  13. Django Round-Up #33
  14. Speeding Up NPM Installs
  15. Loop Letters | Tracy Osborn
  16. Loop Letters | Henrik Joreteg
  17. Fast Immutable Python Deployments
  18. Django Round-Up #32
  19. Concurrency in Python vs GO
  20. A Closer Look at Docker
  21. Django Round-Up #31
  22. High Performance Django Infrastructure Preview
  23. Django Round-Up #30
  24. SVG Sprites and Icon Systems Are Super
  25. Django Round-Up #29
  26. Introducing Flexbox Fridays
  27. Introducing High Performance Django Expert Sessions
  28. Django Round-Up #28
  29. Integrating Front-end Tools with Your Django Project

2014 25

  1. Server Migration for BotBot.me
  2. Django Round-Up #27
  3. Smarter Input Groups with Flexbox
  4. Rate Limiting with Nginx
  5. Django Round-Up #26
  6. Django Round-Up #25
  7. Django: From Runserver to Reddit Hugs
  8. High Performance Django: Shipped
  9. Django Round-Up #24
  10. A Look At SVG
  11. Introducing Amygdala, a JavaScript REST client
  12. Django Round-Up #23
  13. Fixing race conditions and deadlocks in Go
  14. Django Round-Up #22
  15. Django Round-Up #21
  16. High Performance Django Kickstarter Project
  17. Django Round-Up #20
  18. A Look at CSS Rule Organization
  19. Speedy Browserifying with Multiple Bundles
  20. Architecting Your App with React - Part 1
  21. Untangle Your JavaScript with Browserify
  22. Varnish Saint Mode
  23. Lessons Learned Architecting Realtime Applications
  24. 2013 Year in Review
  25. Simplifying your Django Frontend Tasks with Grunt

2013 37

  1. Django Round-Up #19
  2. Django Round-Up #18
  3. Django Round-Up #17
  4. Django Round-Up #16
  5. Django Round-Up #15
  6. Installing Node.js and npm into a Python Virtualenv
  7. Django Round-Up #14
  8. Django Round-Up
  9. tmux: Stay focused
  10. A Djangonaut Building a Webapp in Go with Gorilla
  11. Django Round-Up #13
  12. /dev/loop5
  13. The Joy of Upstart
  14. Django Round-Up #12
  15. Introducing Salmon
  16. Goodbye Trailmapping
  17. Django Round-Up #11
  18. Django Round-Up #10
  19. Lincoln Loop Retreat 2013
  20. Django Round-Up #9
  21. Django Round-Up #8
  22. Django Round-Up #7
  23. Django Round-Up #6
  24. Playing with Pickle Security
  25. /dev/loop4
  26. Django Round-Up #5
  27. Django Settings Parity: You're Doing It Wrong
  28. Django Round-Up #4
  29. Django Round-up #3
  30. Time Saved Working From Home
  31. /dev/loop3
  32. Django Round-up #2
  33. 2012 Year in Review
  34. Making the Distributed Workplace Work
  35. Django Round-up #1
  36. Introducing Learn with Lincoln Loop
  37. Test Coverage in Go

2012 25

  1. Introducing BotBot
  2. /dev/loop2
  3. /dev/loop1
  4. /dev/loop0
  5. Introduction to Django Selenium Testing
  6. Realtime Replay Logs with Redis
  7. How We Work [talk]
  8. Introduction to Go Debugging with GDB
  9. Load Testing with JMeter: Part 3 - Replaying Apache Logs
  10. What is WebRTC?
  11. The Distributed Workplace
  12. What is SPDY?
  13. Referrer Blocking is Hard
  14. Optimize for Motivation
  15. Backbone.js for Django Developers
  16. At Lincoln Loop, Everyone Sets Their Own Salary
  17. Four Libs Good, Two Libs Better
  18. Open Book Finances
  19. Why Regular Demos are Part of Our Development Process
  20. On Fixtures and Factories
  21. Ginger Tech Stack
  22. Quick Django Class Based View Decorator
  23. Down with 9 to 5
  24. Introducing Ginger
  25. Detecting File Moves & Renames with Rsync

2011 10

  1. Django Caching in the Real World: Part 1
  2. Latest Work and New Client Availability
  3. Load Testing with JMeter: Part 2 - Headless Testing and Jenkins Integration
  4. Load Testing with JMeter: Part 1 - Getting Started
  5. Sharing Sketches in a Remote Environment
  6. Get your (arcade) game on!
  7. Filtering Results from Coverage.py
  8. Disabling South Migrations
  9. Resetting Your South Migrations
  10. Custom Filters in the Django Admin

2010 10

  1. Using Proxy Models to Customize the Django Admin
  2. Tracking Application Response Time with Nginx
  3. We're Hiring!
  4. Automated (No Prompt) Deployment with Pip
  5. Automatically Running Supervisord on Startup
  6. Django 1.1 Testing and Debugging Book Review
  7. Gondola for Real Estate Launch
  8. Lincoln Loop Development Sprints and Limited Time Discount
  9. Installing GeoDjango Dependencies with Homebrew
  10. Pro Tip: Redirecting to a Custom Nginx Maintenance Page

2009 10

  1. Running your own Self-Hosted Etherpad Instance
  2. The Last 10% or: How to Keep Your Software Development On Time and Under Budget
  3. Django 1.0 Template Development Book Review
  4. Easy Fabric Deployment, Part 2: Multiple Committers and the Dreaded Umask
  5. Easy Fabric Deployment, Part 1: Git/Mercurial and SSH
  6. Using Django Inside the Tornado Web Server
  7. Customizing the Django Admin at EuroDjangoCon 2009
  8. Highlighting Named Anchors with jQuery
  9. Django Best Practices
  10. Open Source Government

2008 19

  1. Satchmo Screencast
  2. Simple & Easy Deployment with Fabric and Virtualenv
  3. On Static Media and Django
  4. Serving Django Projects (Revisited)
  5. Introduction to Gondola
  6. My Lightning Talk from DjangoCon 2008
  7. Managing Django Projects on Your Server with Style
  8. Building a Community Site with Django in 40 Hours or Less
  9. Django Newforms Admin Merged to Trunk
  10. Django for Hire
  11. Getting RequestContext in Your Templates
  12. Google App Engine First Impressions
  13. Reusable Django Apps and Forking
  14. Serving Django via CherryPy
  15. Better Use of Newforms
  16. Django FormMail Clone
  17. Cash Offers Fast Site
  18. Lincoln Loop Version 2
  19. Eating My Own Dog Food

2007 15

  1. Annoyed
  2. Bee Herz, Psychic Medium Site
  3. Prudential Steamboat Realty
  4. Lincoln Loop Goes Green
  5. Goodbye WordPress, I'm Leaving You
  6. Bear Lodge Site
  7. Waterside Day Spa Site
  8. Basecamp SVN Integration
  9. Subversion for Web Developers
  10. The Victoria Site
  11. Long Live Lincoln Loop
  12. WordPress Plain Text Paste Plugin Version 0.3
  13. Welcome Ella!
  14. New Year, New Billing System
  15. Red Arrow Camp Site

2006 10

  1. WEB Presentation
  2. A New Look
  3. WordPress Plain Text Paste Plugin
  4. Prism Advisors Site
  5. Simply Creating a Website Isn't Enough Anymore
  6. Yampa Valley Electric Association site
  7. Autrey Realty Site
  8. Getting Organized with Backpack
  9. Move to Wordpress
  10. eCheck.net Module for ZenCart

2005 4

  1. Improving Your Search Engine Placement
  2. Accessibility and Gap.com
  3. Mozilla Firefox 1.5
  4. NDS Internet goes live