| Home | https://lukeplant.me.uk/ |
| About me | https://lukeplant.me.uk/personal/ |
| Posts | https://lukeplant.me.uk/blog/ |
| Categories | https://lukeplant.me.uk/blog/categories/ |
| Help my website is too small | https://lukeplant.me.uk/blog/posts/help-my-website-is-too-small/ |
| Django | https://lukeplant.me.uk/blog/categories/django/ |
| Python | https://lukeplant.me.uk/blog/categories/python/ |
| Web development | https://lukeplant.me.uk/blog/categories/web-development/ |
| Breaking “provably correct” Leftpad | https://lukeplant.me.uk/blog/posts/breaking-provably-correct-leftpad/ |
| Haskell | https://lukeplant.me.uk/blog/categories/haskell/ |
| Python | https://lukeplant.me.uk/blog/categories/python/ |
| Software development | https://lukeplant.me.uk/blog/categories/software-development/ |
| Why I’m not letting the juniors use GenAI for coding | https://lukeplant.me.uk/blog/posts/why-im-not-letting-the-juniors-use-genai-for-coding/ |
| Artificial Intelligence | https://lukeplant.me.uk/blog/categories/artificial-intelligence/ |
| Python | https://lukeplant.me.uk/blog/categories/python/ |
| Software development | https://lukeplant.me.uk/blog/categories/software-development/ |
| Statically checking Python dicts for completeness | https://lukeplant.me.uk/blog/posts/statically-checking-python-dicts-for-completeness/ |
| Python | https://lukeplant.me.uk/blog/categories/python/ |
| Python type hints | https://lukeplant.me.uk/blog/categories/python-type-hints/ |
| Knowledge creates technical debt | https://lukeplant.me.uk/blog/posts/knowledge-creates-technical-debt/ |
| Python | https://lukeplant.me.uk/blog/categories/python/ |
| Software development | https://lukeplant.me.uk/blog/categories/software-development/ |
| Recursive project search in Emacs | https://lukeplant.me.uk/blog/posts/recursive-project-search-in-emacs/ |
| Emacs | https://lukeplant.me.uk/blog/categories/emacs/ |
| Python | https://lukeplant.me.uk/blog/categories/python/ |
| Software development | https://lukeplant.me.uk/blog/categories/software-development/ |
| Check if a point is in a cylinder - geometry and code | https://lukeplant.me.uk/blog/posts/check-if-a-point-is-in-a-cylinder-geometry-and-code/ |
| Geometry | https://lukeplant.me.uk/blog/categories/geometry/ |
| Python | https://lukeplant.me.uk/blog/categories/python/ |
| Keeping things in sync: derive vs test | https://lukeplant.me.uk/blog/posts/keeping-things-in-sync-derive-vs-test/ |
| Django | https://lukeplant.me.uk/blog/categories/django/ |
| Python | https://lukeplant.me.uk/blog/categories/python/ |
| Software development | https://lukeplant.me.uk/blog/categories/software-development/ |
| Web development | https://lukeplant.me.uk/blog/categories/web-development/ |
| pyastgrep and custom linting | https://lukeplant.me.uk/blog/posts/pyastgrep-and-custom-linting/ |
| Django | https://lukeplant.me.uk/blog/categories/django/ |
| pyastgrep | https://lukeplant.me.uk/blog/categories/pyastgrep/ |
| Python | https://lukeplant.me.uk/blog/categories/python/ |
| Software development | https://lukeplant.me.uk/blog/categories/software-development/ |
| Enforcing conventions in Django projects with introspection | https://lukeplant.me.uk/blog/posts/enforcing-conventions-in-django-projects-with-introspection/ |
| Django | https://lukeplant.me.uk/blog/categories/django/ |
| Python | https://lukeplant.me.uk/blog/categories/python/ |
| Web development | https://lukeplant.me.uk/blog/categories/web-development/ |
| Python packaging must be getting better - a datapoint | https://lukeplant.me.uk/blog/posts/python-packaging-must-be-getting-better-a-datapoint/ |
| Python | https://lukeplant.me.uk/blog/categories/python/ |
| Python Type Hints: pyastgrep case study | https://lukeplant.me.uk/blog/posts/python-type-hints-pyastgrep-case-study/ |
| pyastgrep | https://lukeplant.me.uk/blog/categories/pyastgrep/ |
| Python | https://lukeplant.me.uk/blog/categories/python/ |
| Python type hints | https://lukeplant.me.uk/blog/categories/python-type-hints/ |
| Django and Sass/SCSS without Node.js or a build step | https://lukeplant.me.uk/blog/posts/django-sass-scss-without-nodejs-or-build-step/ |
| Django | https://lukeplant.me.uk/blog/categories/django/ |
| Python | https://lukeplant.me.uk/blog/categories/python/ |
| Web development | https://lukeplant.me.uk/blog/categories/web-development/ |
| The different uses of Python type hints | https://lukeplant.me.uk/blog/posts/the-different-uses-of-python-type-hints/ |
| Python | https://lukeplant.me.uk/blog/categories/python/ |
| Python type hints | https://lukeplant.me.uk/blog/categories/python-type-hints/ |
| Python’s “Disappointing” Superpowers | https://lukeplant.me.uk/blog/posts/pythons-disappointing-superpowers/ |
| Django | https://lukeplant.me.uk/blog/categories/django/ |
| Python | https://lukeplant.me.uk/blog/categories/python/ |
| Test factory functions in Django | https://lukeplant.me.uk/blog/posts/test-factory-functions-in-django/ |
| Django | https://lukeplant.me.uk/blog/categories/django/ |
| Python | https://lukeplant.me.uk/blog/categories/python/ |
| Python type hints | https://lukeplant.me.uk/blog/categories/python-type-hints/ |
| Python Type Hints: case study on parsy | https://lukeplant.me.uk/blog/posts/python-type-hints-parsy-case-study/ |
| Python | https://lukeplant.me.uk/blog/categories/python/ |
| Python type hints | https://lukeplant.me.uk/blog/categories/python-type-hints/ |
| Tools for rewriting Python code | https://lukeplant.me.uk/blog/posts/tools-for-rewriting-python-code/ |
| Python | https://lukeplant.me.uk/blog/categories/python/ |
| Better Python code grepping with pyastgrep | https://lukeplant.me.uk/blog/posts/grep-python-syntax-using-ast-pyastgrep/ |
| pyastgrep | https://lukeplant.me.uk/blog/categories/pyastgrep/ |
| Python | https://lukeplant.me.uk/blog/categories/python/ |
| Raising exceptions or returning error objects in Python | https://lukeplant.me.uk/blog/posts/raising-exceptions-or-returning-error-objects-in-python/ |
| Django | https://lukeplant.me.uk/blog/categories/django/ |
| Python | https://lukeplant.me.uk/blog/categories/python/ |
| Python type hints | https://lukeplant.me.uk/blog/categories/python-type-hints/ |
| REPL Python programming and debugging with IPython | https://lukeplant.me.uk/blog/posts/repl-python-programming-and-debugging-with-ipython/ |
| Django | https://lukeplant.me.uk/blog/categories/django/ |
| IPython | https://lukeplant.me.uk/blog/categories/ipython/ |
| Python | https://lukeplant.me.uk/blog/categories/python/ |
| A Django PAGNI: efficient bulk properties | https://lukeplant.me.uk/blog/posts/django-pagni-efficient-bulk-properties/ |
| Django | https://lukeplant.me.uk/blog/categories/django/ |
| Python | https://lukeplant.me.uk/blog/categories/python/ |
| Software development | https://lukeplant.me.uk/blog/categories/software-development/ |
| Evolution of a Django Repository pattern | https://lukeplant.me.uk/blog/posts/evolution-of-a-django-repository-pattern/ |
| Django | https://lukeplant.me.uk/blog/categories/django/ |
| Python | https://lukeplant.me.uk/blog/categories/python/ |
| Everything is an X | https://lukeplant.me.uk/blog/posts/everything-is-an-x-pattern/ |
| Emacs | https://lukeplant.me.uk/blog/categories/emacs/ |
| Python | https://lukeplant.me.uk/blog/categories/python/ |
| Software development | https://lukeplant.me.uk/blog/categories/software-development/ |
| Test smarter, not harder | https://lukeplant.me.uk/blog/posts/test-smarter-not-harder/ |
| Django | https://lukeplant.me.uk/blog/categories/django/ |
| Python | https://lukeplant.me.uk/blog/categories/python/ |
| Software development | https://lukeplant.me.uk/blog/categories/software-development/ |
| Web development | https://lukeplant.me.uk/blog/categories/web-development/ |
| Announcement: Django Views - The Right Way | https://lukeplant.me.uk/blog/posts/announcement-django-views-the-right-way/ |
| Django | https://lukeplant.me.uk/blog/categories/django/ |
| Python | https://lukeplant.me.uk/blog/categories/python/ |
| Software development | https://lukeplant.me.uk/blog/categories/software-development/ |
| Web development | https://lukeplant.me.uk/blog/categories/web-development/ |
| Keyword-only arguments in Python | https://lukeplant.me.uk/blog/posts/keyword-only-arguments-in-python/ |
| Python | https://lukeplant.me.uk/blog/categories/python/ |
| Double-checked locking with Django ORM | https://lukeplant.me.uk/blog/posts/double-checked-locking-with-django-orm/ |
| Django | https://lukeplant.me.uk/blog/categories/django/ |
| Python | https://lukeplant.me.uk/blog/categories/python/ |
| Pylint false positives | https://lukeplant.me.uk/blog/posts/pylint-false-positives/ |
| Python | https://lukeplant.me.uk/blog/categories/python/ |
| A Look at Python, Parameterized | https://lukeplant.me.uk/blog/posts/a-look-at-python-parameterized/ |
| Python | https://lukeplant.me.uk/blog/categories/python/ |
| WordPress 4.7.2 post mortem | https://lukeplant.me.uk/blog/posts/wordpress-4.7.2-post-mortem/ |
| Django | https://lukeplant.me.uk/blog/categories/django/ |
| PHP | https://lukeplant.me.uk/blog/categories/php/ |
| Python | https://lukeplant.me.uk/blog/categories/python/ |
| Web development | https://lukeplant.me.uk/blog/categories/web-development/ |
| Django admin tips Twitter account | https://lukeplant.me.uk/blog/posts/django-admin-tips-twitter-account/ |
| Django | https://lukeplant.me.uk/blog/categories/django/ |
| Django Admin | https://lukeplant.me.uk/blog/categories/django-admin/ |
| Python | https://lukeplant.me.uk/blog/categories/python/ |
| Avoid Django's GenericForeignKey | https://lukeplant.me.uk/blog/posts/avoid-django-genericforeignkey/ |
| Django | https://lukeplant.me.uk/blog/categories/django/ |
| Python | https://lukeplant.me.uk/blog/categories/python/ |
| A simple password-less, email-only login system | https://lukeplant.me.uk/blog/posts/a-simple-passwordless-email-only-login-system/ |
| Django | https://lukeplant.me.uk/blog/categories/django/ |
| Python | https://lukeplant.me.uk/blog/categories/python/ |
| Security | https://lukeplant.me.uk/blog/categories/security/ |
| Web development | https://lukeplant.me.uk/blog/categories/web-development/ |
| We need less powerful languages | https://lukeplant.me.uk/blog/posts/less-powerful-languages/ |
| Django | https://lukeplant.me.uk/blog/categories/django/ |
| Haskell | https://lukeplant.me.uk/blog/categories/haskell/ |
| Python | https://lukeplant.me.uk/blog/categories/python/ |
| My approach to Class Based Views | https://lukeplant.me.uk/blog/posts/my-approach-to-class-based-views/ |
| Django | https://lukeplant.me.uk/blog/categories/django/ |
| Python | https://lukeplant.me.uk/blog/categories/python/ |
| IPython Notebook Essentials review | https://lukeplant.me.uk/blog/posts/ipython-notebook-essentials-review/ |
| Books | https://lukeplant.me.uk/blog/categories/books/ |
| IPython | https://lukeplant.me.uk/blog/categories/ipython/ |
| Python | https://lukeplant.me.uk/blog/categories/python/ |
| Handling Django's get_query_set rename is hard | https://lukeplant.me.uk/blog/posts/handling-django%27s-get_query_set-rename-is-hard/ |
| Django | https://lukeplant.me.uk/blog/categories/django/ |
| Python | https://lukeplant.me.uk/blog/categories/python/ |
| You can’t compare language features, only languages | https://lukeplant.me.uk/blog/posts/you-cant-compare-language-features-only-languages/ |
| Haskell | https://lukeplant.me.uk/blog/categories/haskell/ |
| Python | https://lukeplant.me.uk/blog/categories/python/ |
| Software development | https://lukeplant.me.uk/blog/categories/software-development/ |
| How to learn Django without installing anything | https://lukeplant.me.uk/blog/posts/how-to-learn-django-without-installing-anything/ |
| Django | https://lukeplant.me.uk/blog/categories/django/ |
| Python | https://lukeplant.me.uk/blog/categories/python/ |
| Web development | https://lukeplant.me.uk/blog/categories/web-development/ |
| Things that can be self-hosting | https://lukeplant.me.uk/blog/posts/things-that-can-be-self-hosting/ |
| Python | https://lukeplant.me.uk/blog/categories/python/ |
| Software development | https://lukeplant.me.uk/blog/categories/software-development/ |
| Zero-based indexing in the real world | https://lukeplant.me.uk/blog/posts/zero-based-indexing-in-the-real-world/ |
| Python | https://lukeplant.me.uk/blog/categories/python/ |
| Software development | https://lukeplant.me.uk/blog/categories/software-development/ |
| Wedding hacks - seating planner using simulated annealing | https://lukeplant.me.uk/blog/posts/wedding-hacks---seating-planner-using-simulated-annealing/ |
| Django | https://lukeplant.me.uk/blog/categories/django/ |
| Personal and misc | https://lukeplant.me.uk/blog/categories/personal-and-misc/ |
| Python | https://lukeplant.me.uk/blog/categories/python/ |
| Software development | https://lukeplant.me.uk/blog/categories/software-development/ |
| Web development | https://lukeplant.me.uk/blog/categories/web-development/ |
| Wedding hacks - making A4 booklets from A5 PDF sheets | https://lukeplant.me.uk/blog/posts/wedding-hacks---making-a4-booklets-from-a5-pdf-sheets/ |
| Personal and misc | https://lukeplant.me.uk/blog/categories/personal-and-misc/ |
| Python | https://lukeplant.me.uk/blog/categories/python/ |
| Software development | https://lukeplant.me.uk/blog/categories/software-development/ |
| Wedding hacks - John Lewis gift list hyperlink | https://lukeplant.me.uk/blog/posts/wedding-hacks---john-lewis-gift-list-hyperlink/ |
| Django | https://lukeplant.me.uk/blog/categories/django/ |
| Personal and misc | https://lukeplant.me.uk/blog/categories/personal-and-misc/ |
| Python | https://lukeplant.me.uk/blog/categories/python/ |
| Software development | https://lukeplant.me.uk/blog/categories/software-development/ |
| Web development | https://lukeplant.me.uk/blog/categories/web-development/ |
| MVC is not a helpful analogy for Django | https://lukeplant.me.uk/blog/posts/mvc-is-not-a-helpful-analogy-for-django/ |
| Django | https://lukeplant.me.uk/blog/categories/django/ |
| Python | https://lukeplant.me.uk/blog/categories/python/ |
| Web development | https://lukeplant.me.uk/blog/categories/web-development/ |
| Bundling dependencies | https://lukeplant.me.uk/blog/posts/bundling-dependencies/ |
| Django | https://lukeplant.me.uk/blog/categories/django/ |
| Python | https://lukeplant.me.uk/blog/categories/python/ |
| Software development | https://lukeplant.me.uk/blog/categories/software-development/ |
| Best practices with Django on WebFaction | https://lukeplant.me.uk/blog/posts/best-practices-with-django-on-webfaction/ |
| Django | https://lukeplant.me.uk/blog/categories/django/ |
| Python | https://lukeplant.me.uk/blog/categories/python/ |
| Now it's your turn | https://lukeplant.me.uk/blog/posts/now-its-your-turn/ |
| Django | https://lukeplant.me.uk/blog/categories/django/ |
| Python | https://lukeplant.me.uk/blog/categories/python/ |
| Controlling Sozi remotely from an Android phone | https://lukeplant.me.uk/blog/posts/controlling-sozi-remotely-from-an-android-phone/ |
| Linux | https://lukeplant.me.uk/blog/categories/linux/ |
| Python | https://lukeplant.me.uk/blog/categories/python/ |
| Full screen WebView Android app | https://lukeplant.me.uk/blog/posts/full-screen-webview-android-app/ |
| Christianity | https://lukeplant.me.uk/blog/categories/christianity/ |
| Django | https://lukeplant.me.uk/blog/categories/django/ |
| Python | https://lukeplant.me.uk/blog/categories/python/ |
| Web development | https://lukeplant.me.uk/blog/categories/web-development/ |
| Dynamic typing in a statically typed language | https://lukeplant.me.uk/blog/posts/dynamic-typing-in-a-statically-typed-language/ |
| Haskell | https://lukeplant.me.uk/blog/categories/haskell/ |
| Python | https://lukeplant.me.uk/blog/categories/python/ |
| Why escape-on-input is a bad idea | https://lukeplant.me.uk/blog/posts/why-escape-on-input-is-a-bad-idea/ |
| Django | https://lukeplant.me.uk/blog/categories/django/ |
| PHP | https://lukeplant.me.uk/blog/categories/php/ |
| Python | https://lukeplant.me.uk/blog/categories/python/ |
| Security | https://lukeplant.me.uk/blog/categories/security/ |
| Web development | https://lukeplant.me.uk/blog/categories/web-development/ |
| PHP, Python and Persuasion | https://lukeplant.me.uk/blog/posts/php-python-and-persuasion/ |
| Django | https://lukeplant.me.uk/blog/categories/django/ |
| PHP | https://lukeplant.me.uk/blog/categories/php/ |
| Python | https://lukeplant.me.uk/blog/categories/python/ |
| Moved to blogofile and disqus | https://lukeplant.me.uk/blog/posts/moved-to-blogofile-and-disqus/ |
| lukeplant.me.uk | https://lukeplant.me.uk/blog/categories/lukeplantmeuk/ |
| Python | https://lukeplant.me.uk/blog/categories/python/ |
| Never fix a bug twice | https://lukeplant.me.uk/blog/posts/never-fix-a-bug-twice/ |
| Django | https://lukeplant.me.uk/blog/categories/django/ |
| Python | https://lukeplant.me.uk/blog/categories/python/ |
| Software development | https://lukeplant.me.uk/blog/categories/software-development/ |
| Django's CBVs were a mistake | https://lukeplant.me.uk/blog/posts/djangos-cbvs-were-a-mistake/ |
| Django | https://lukeplant.me.uk/blog/categories/django/ |
| Python | https://lukeplant.me.uk/blog/categories/python/ |
| Reasons to love Django, part x of y | https://lukeplant.me.uk/blog/posts/reasons-to-love-django-part-x-of-y/ |
| Django | https://lukeplant.me.uk/blog/categories/django/ |
| Python | https://lukeplant.me.uk/blog/categories/python/ |
| Web development | https://lukeplant.me.uk/blog/categories/web-development/ |
| LearnScripture.net launched | https://lukeplant.me.uk/blog/posts/learnscripture-net-launched/ |
| Christianity | https://lukeplant.me.uk/blog/categories/christianity/ |
| Django | https://lukeplant.me.uk/blog/categories/django/ |
| Python | https://lukeplant.me.uk/blog/categories/python/ |
| KTimeTracker replacement - TimeCult | https://lukeplant.me.uk/blog/posts/ktimetracker-replacement-timecult/ |
| KDE | https://lukeplant.me.uk/blog/categories/kde/ |
| Linux | https://lukeplant.me.uk/blog/categories/linux/ |
| Python | https://lukeplant.me.uk/blog/categories/python/ |
| Async Raven/Sentry client with Django/Python | https://lukeplant.me.uk/blog/posts/async-raven-sentry-client-with-django-python/ |
| Django | https://lukeplant.me.uk/blog/categories/django/ |
| Python | https://lukeplant.me.uk/blog/categories/python/ |
| Web development | https://lukeplant.me.uk/blog/categories/web-development/ |
| Some quick Django optimisation lessons | https://lukeplant.me.uk/blog/posts/some-quick-django-optimisation-lessons/ |
| Django | https://lukeplant.me.uk/blog/categories/django/ |
| Python | https://lukeplant.me.uk/blog/categories/python/ |
| Web development | https://lukeplant.me.uk/blog/categories/web-development/ |
| A prayer to the programming gods | https://lukeplant.me.uk/blog/posts/a-prayer-to-the-programming-gods/ |
| Django | https://lukeplant.me.uk/blog/categories/django/ |
| Python | https://lukeplant.me.uk/blog/categories/python/ |
| Software development | https://lukeplant.me.uk/blog/categories/software-development/ |
| Web development | https://lukeplant.me.uk/blog/categories/web-development/ |
| Announcing django-easyfilters (with some heresy on the side) | https://lukeplant.me.uk/blog/posts/announcing-django-easyfilters-with-some-heresy-on-the-side/ |
| Django | https://lukeplant.me.uk/blog/categories/django/ |
| Python | https://lukeplant.me.uk/blog/categories/python/ |
| Dissecting Python - part 1 | https://lukeplant.me.uk/blog/posts/dissecting-python-part-1/ |
| Python | https://lukeplant.me.uk/blog/categories/python/ |
| Docs or it doesn't exist | https://lukeplant.me.uk/blog/posts/docs-or-it-doesnt-exist/ |
| Django | https://lukeplant.me.uk/blog/categories/django/ |
| Python | https://lukeplant.me.uk/blog/categories/python/ |
| Software development | https://lukeplant.me.uk/blog/categories/software-development/ |
| django-anonymizer released | https://lukeplant.me.uk/blog/posts/django-anonymizer-released/ |
| Django | https://lukeplant.me.uk/blog/categories/django/ |
| Python | https://lukeplant.me.uk/blog/categories/python/ |
| Web development | https://lukeplant.me.uk/blog/categories/web-development/ |
| Class Based Views and Dry Ravioli | https://lukeplant.me.uk/blog/posts/class-based-views-and-dry-ravioli/ |
| Django | https://lukeplant.me.uk/blog/categories/django/ |
| Python | https://lukeplant.me.uk/blog/categories/python/ |
| Software development | https://lukeplant.me.uk/blog/categories/software-development/ |
| player_do – control multiple media players from a single (command line) interface | https://lukeplant.me.uk/blog/posts/player-do-control-multiple-media-players-from-a-single-command-line-interface/ |
| Linux | https://lukeplant.me.uk/blog/categories/linux/ |
| Music | https://lukeplant.me.uk/blog/categories/music/ |
| Python | https://lukeplant.me.uk/blog/categories/python/ |
| Exploratory programming with IPython | https://lukeplant.me.uk/blog/posts/exploratory-programming-with-ipython/ |
| IPython | https://lukeplant.me.uk/blog/categories/ipython/ |
| Python | https://lukeplant.me.uk/blog/categories/python/ |
| Mercurial tree visualisation | https://lukeplant.me.uk/blog/posts/mercurial-tree-visualisation/ |
| Python | https://lukeplant.me.uk/blog/categories/python/ |
| Software development | https://lukeplant.me.uk/blog/categories/software-development/ |
| Eclipse and Mercurial with existing checkout | https://lukeplant.me.uk/blog/posts/eclipse-and-mercurial-with-existing-checkout/ |
| Python | https://lukeplant.me.uk/blog/categories/python/ |
| Software development | https://lukeplant.me.uk/blog/categories/software-development/ |
| Eclipse, PyDev, Django and virtualenv | https://lukeplant.me.uk/blog/posts/eclipse-pydev-and-virtualenv/ |
| Django | https://lukeplant.me.uk/blog/categories/django/ |
| Python | https://lukeplant.me.uk/blog/categories/python/ |
| Is static type checking a redundant testing mechanism? | https://lukeplant.me.uk/blog/posts/is-static-type-checking-a-redundant-testing-mechanism/ |
| Django | https://lukeplant.me.uk/blog/categories/django/ |
| Haskell | https://lukeplant.me.uk/blog/categories/haskell/ |
| Python | https://lukeplant.me.uk/blog/categories/python/ |
| Web development | https://lukeplant.me.uk/blog/categories/web-development/ |
| Python and copyright | https://lukeplant.me.uk/blog/posts/python-and-copyright/ |
| Linux | https://lukeplant.me.uk/blog/categories/linux/ |
| Python | https://lukeplant.me.uk/blog/categories/python/ |
| Software development | https://lukeplant.me.uk/blog/categories/software-development/ |
| Emacs and personal trac wiki | https://lukeplant.me.uk/blog/posts/emacs-and-personal-trac-wiki/ |
| Blogging and bloggers | https://lukeplant.me.uk/blog/categories/blogging-and-bloggers/ |
| Personal and misc | https://lukeplant.me.uk/blog/categories/personal-and-misc/ |
| Python | https://lukeplant.me.uk/blog/categories/python/ |
| Review: Django 1.0 Template Development | https://lukeplant.me.uk/blog/posts/review-django-1-0-template-development/ |
| Books | https://lukeplant.me.uk/blog/categories/books/ |
| Django | https://lukeplant.me.uk/blog/categories/django/ |
| Python | https://lukeplant.me.uk/blog/categories/python/ |
| Web development | https://lukeplant.me.uk/blog/categories/web-development/ |
| Multiple output formats in Django | https://lukeplant.me.uk/blog/posts/multiple-output-formats-in-django/ |
| Django | https://lukeplant.me.uk/blog/categories/django/ |
| Python | https://lukeplant.me.uk/blog/categories/python/ |
| Web development | https://lukeplant.me.uk/blog/categories/web-development/ |
| Managing Django patches using Mercurial | https://lukeplant.me.uk/blog/posts/managing-django-patches-using-mercurial/ |
| Django | https://lukeplant.me.uk/blog/categories/django/ |
| Python | https://lukeplant.me.uk/blog/categories/python/ |
| Software development | https://lukeplant.me.uk/blog/categories/software-development/ |
| Django, Python 2.5 and memory usage | https://lukeplant.me.uk/blog/posts/django-python-2-5-and-memory-usage/ |
| Django | https://lukeplant.me.uk/blog/categories/django/ |
| Python | https://lukeplant.me.uk/blog/categories/python/ |
| Web development | https://lukeplant.me.uk/blog/categories/web-development/ |
| Django newforms-admin upgrade | https://lukeplant.me.uk/blog/posts/django-newforms-admin-upgrade/ |
| Django | https://lukeplant.me.uk/blog/categories/django/ |
| Python | https://lukeplant.me.uk/blog/categories/python/ |
| Web development | https://lukeplant.me.uk/blog/categories/web-development/ |
| Bible memorisation web app | https://lukeplant.me.uk/blog/posts/bible-memorisation-web-app/ |
| Christianity | https://lukeplant.me.uk/blog/categories/christianity/ |
| Django | https://lukeplant.me.uk/blog/categories/django/ |
| Python | https://lukeplant.me.uk/blog/categories/python/ |
| Software projects | https://lukeplant.me.uk/blog/categories/software-projects/ |
| Web development | https://lukeplant.me.uk/blog/categories/web-development/ |
| Django and Twill | https://lukeplant.me.uk/blog/posts/django-and-twill/ |
| Django | https://lukeplant.me.uk/blog/categories/django/ |
| Python | https://lukeplant.me.uk/blog/categories/python/ |
| Web development | https://lukeplant.me.uk/blog/categories/web-development/ |
| Personal wiki and desktop integration | https://lukeplant.me.uk/blog/posts/personal-wiki-and-desktop-integration/ |
| KDE | https://lukeplant.me.uk/blog/categories/kde/ |
| Linux | https://lukeplant.me.uk/blog/categories/linux/ |
| Python | https://lukeplant.me.uk/blog/categories/python/ |
| AJAX validation with Django, newforms and MochiKit | https://lukeplant.me.uk/blog/posts/ajax-validation-with-django-newforms-and-mochikit/ |
| Django | https://lukeplant.me.uk/blog/categories/django/ |
| Python | https://lukeplant.me.uk/blog/categories/python/ |
| Web development | https://lukeplant.me.uk/blog/categories/web-development/ |
| O'Reilly code quiz | https://lukeplant.me.uk/blog/posts/o-reilly-code-quiz/ |
| Haskell | https://lukeplant.me.uk/blog/categories/haskell/ |
| Python | https://lukeplant.me.uk/blog/categories/python/ |
| Null pointers vs None vs Maybe | https://lukeplant.me.uk/blog/posts/null-pointers-vs-none-vs-maybe/ |
| Haskell | https://lukeplant.me.uk/blog/categories/haskell/ |
| Python | https://lukeplant.me.uk/blog/categories/python/ |
| Software development | https://lukeplant.me.uk/blog/categories/software-development/ |
| Django validator updated | https://lukeplant.me.uk/blog/posts/django-validator-updated/ |
| Django | https://lukeplant.me.uk/blog/categories/django/ |
| Python | https://lukeplant.me.uk/blog/categories/python/ |
| Software projects | https://lukeplant.me.uk/blog/categories/software-projects/ |
| Web development | https://lukeplant.me.uk/blog/categories/web-development/ |
| Why learning Haskell/Python makes you a worse programmer | https://lukeplant.me.uk/blog/posts/why-learning-haskell-python-makes-you-a-worse-programmer/ |
| Haskell | https://lukeplant.me.uk/blog/categories/haskell/ |
| Python | https://lukeplant.me.uk/blog/categories/python/ |
| Rants | https://lukeplant.me.uk/blog/categories/rants/ |
| Software development | https://lukeplant.me.uk/blog/categories/software-development/ |
| Understanding Monads Via Python List Comprehensions | https://lukeplant.me.uk/blog/posts/understanding-monads-via-python-list-comprehensions/ |
| Haskell | https://lukeplant.me.uk/blog/categories/haskell/ |
| Python | https://lukeplant.me.uk/blog/categories/python/ |
| Pyrex and Lisp | https://lukeplant.me.uk/blog/posts/pyrex-and-lisp/ |
| Python | https://lukeplant.me.uk/blog/categories/python/ |
| Software development | https://lukeplant.me.uk/blog/categories/software-development/ |
| A Django website that took (a lot) more than 20 minutes. | https://lukeplant.me.uk/blog/posts/a-django-website-that-took-a-lot-more-than-20-minutes/ |
| CCIW | https://lukeplant.me.uk/blog/categories/cciw/ |
| Django | https://lukeplant.me.uk/blog/categories/django/ |
| Python | https://lukeplant.me.uk/blog/categories/python/ |
| Software development | https://lukeplant.me.uk/blog/categories/software-development/ |
| Web development | https://lukeplant.me.uk/blog/categories/web-development/ |
| Empty files and templates | https://lukeplant.me.uk/blog/posts/empty-files-and-templates/ |
| Django | https://lukeplant.me.uk/blog/categories/django/ |
| Python | https://lukeplant.me.uk/blog/categories/python/ |
| Software development | https://lukeplant.me.uk/blog/categories/software-development/ |
| Leading whitespace in comments | https://lukeplant.me.uk/blog/posts/leading-whitespace-in-comments/ |
| Blogging and bloggers | https://lukeplant.me.uk/blog/categories/blogging-and-bloggers/ |
| Python | https://lukeplant.me.uk/blog/categories/python/ |
| pychecker vs pylint vs Django | https://lukeplant.me.uk/blog/posts/pychecker-vs-pylint-vs-django/ |
| Django | https://lukeplant.me.uk/blog/categories/django/ |
| Python | https://lukeplant.me.uk/blog/categories/python/ |
| Django Admin Hack - Fields varying with user permissions | https://lukeplant.me.uk/blog/posts/django-admin-hack-fields-varying-with-user-permissions/ |
| Django | https://lukeplant.me.uk/blog/categories/django/ |
| Python | https://lukeplant.me.uk/blog/categories/python/ |
| Web development | https://lukeplant.me.uk/blog/categories/web-development/ |
| Cross Site Request Forgeries | https://lukeplant.me.uk/blog/posts/cross-site-request-forgeries/ |
| Django | https://lukeplant.me.uk/blog/categories/django/ |
| Python | https://lukeplant.me.uk/blog/categories/python/ |
| Web development | https://lukeplant.me.uk/blog/categories/web-development/ |
| Django | https://lukeplant.me.uk/blog/posts/django/ |
| CCIW | https://lukeplant.me.uk/blog/categories/cciw/ |
| Django | https://lukeplant.me.uk/blog/categories/django/ |
| Python | https://lukeplant.me.uk/blog/categories/python/ |
| Web development | https://lukeplant.me.uk/blog/categories/web-development/ |
| Nikola | https://getnikola.com/ |
| DigitalOcean | https://m.do.co/c/cef485980f20 |
| Atom feed for category Python | https://lukeplant.me.uk/blog/categories/python.xml |