Category: Web development
Keeping things in sync: derive vs test
There are times when we need to stop trying to make everything sync automatically, and just test that it is synced. Tips for Python and web dev.
Enforcing conventions in Django projects with introspection
Some code and tips to combine Python and Django introspection APIs to enforce naming conventions in your Django models.
Super-fast Sphinx docs, and SNOB driven development
Code that will make your static doc pages seriously faster, that you seriously don’t need
No one actually wants simplicity
We think we do, but in fact every web developer will happily sacrifice simplicity to the first shiny thing promising them relief from the mildest of ailments.
You can stop using user-scalable=no and maximum-scale=1 in viewport meta tags now
It’s bad for accessibility, and no longer needed.
Re-using CSS for the wrong HTML with Sass
A trick I learned for using someone else’s CSS without changing your HTML, or their CSS
Django and Sass/SCSS without Node.js or a build step
How to use Sass/SCSS in a Django project, without needing Node.js/npm or running a build process
Test smarter, not harder
Tips for winning the automated testing battle.
Announcement: Django Views - The Right Way
Announcement of my guide to writing Django Views.
Why I'm leaving Elm
Why I can't use Elm, and can't recommend it to others.
6 digit OTP for Two Factor Auth (2FA) is brute-forceable in 3 days
OTP/TOTP for two factor auth (2FA/MFA) is very easy to misunderstand and implement insecurely
Two experiences with Elm
A failed attempt, a success, and some things to watch out for.
WordPress 4.7.2 post mortem
Some lessons from the recent WordPress vulnerability
A simple password-less, email-only login system
A simple password-less login system to consider for some use cases, with Django code.
How to learn Django without installing anything
Pretty much what it says in the title...
Wedding hacks - seating planner using simulated annealing
Some attempts to solve the seating headache with software.
Wedding hacks - John Lewis gift list hyperlink
Using my programming skills for higher purposes, part 1
MVC is not a helpful analogy for Django
We should just introduce people to MVT
Full screen WebView Android app
A complete WebView Android app, full screen, with a progress bar and back button that works as normal
Why escape-on-input is a bad idea
With examples from the web development world especially PHP, and lessons for Pythonistas
Reasons to love Django, part x of y
I've probably written lots of blog posts on this, so I can't claim 'x' = 1, and I've no idea what 'y' is...
WordShell - WordPress command line admin utility
A nice tool developed by a friend of mine.
Async Raven/Sentry client with Django/Python
How to do logging calls to Sentry asynchronously (until Sentry gets UDP support).
Some quick Django optimisation lessons
Some tips for keeping your Django apps lean and mean from the beginning, using lessons from django-fiber,
Starter fabfile and scripts for a Django project on Webfaction
A quickstart for deploying a Django project to a shared hosting system like WebFaction.
A prayer to the programming gods
O gods of software development and operations, I have sinned. Your anger falls on me, and I feel your wrath...
Family Fortunes
A quick Family Fortunes game
django-anonymizer released
An app to help protect your customers' data when in development.
Is static type checking a redundant testing mechanism?
Based on my recent Haskell experience, I highlight some cases where I think static type checks provide a better testing mechanism than unit tests or other automated tests.
Haskell blog software
I finally finished a non-trivial Haskell project!
GHC bug?
Is this a bizarre GHC bug? Or a bug in me?
Review: Django 1.0 Template Development
A review of "Django 1.0 Template Development" by Scott Newman, from Packt Publishing.
Multiple output formats in Django
An article from Django 1.0 Template Development by Scott Newman, about how to output a document in multiple formats/styles using Django templates.
Ella
Beginnings of a Django-inspired Haskell web framework, Ella.
Haskell Blog Rewrite - Session 7
I am really stubborn, so I never completely gave up on my little pet project of re-writing my blog as a Haskell CGI app. I also didn't give up on using my budget host. (Partly because I have even less money than before). So, the saga continues...
Django, Python 2.5 and memory usage
After reading that in Python 2.5 some big memory leaks are fixed, I just switched a Django site from Python 2.4 to Python 2.5. I wasn't disappointed -- the combined memory usage of my Apache processes (which are using mod_python) went from 100Mb to 60Mb. So, for anyone else wanted to conserve memory, this is the first thing I'd suggest!
Django newforms-admin upgrade
Django newforms fixes lots of things...
Bible memorisation web app
I created a system and web app to help me organise my Bible memorisation. And I rant a bit Django and web.py.
Django and Twill
How to use Twill within Django unit tests
AJAX validation with Django, newforms and MochiKit
I present below some example code for using Django, newforms and MochiKit to do AJAX validation, in case anyone else is doing the same, complete with a live demo...
Django Validator 1.3
I've updated my validator app to work with 'unicodised' Django...
Haskell Blog Rewrite - Session 6
Where I give up...
Haskell Blog Rewrite - Session 5 - 2007-07-20
Struggles with database...
Haskell Blog Rewrite - Session 4 - 2007-07-19
Get HaskellDB working
Haskell Blog Rewrite - Session 2 - 2007-07-06
Got DB access working
Rewriting my blog in Haskell
I've decided I want to rewrite my current blog software in Haskell...
Django validator updated
I've updated my `validator app `_ to latest Django trunk and finally done a release.
IE7
Get Internet Explorer 7 :-)
A Django website that took (a lot) more than 20 minutes.
An attempt to debunk some of the '20 minute web app' hype that is so prevalent at the moment, and present a more realistic and balanced account of the Django site I have just finished.
Django Admin Hack - Fields varying with user permissions
Here is a not-too-awful hack to make the admin give different 'add/change' forms depending on who is using it.
Cross Site Request Forgeries
I've implemented a module that provides protection against Cross Site Request Forgeries for Django - and as always with both Python and Django, I've got that "surely it can't be that easy" feeling...
Django
Just discovered the Django web development framework, and I think I'm in love...
Web development on Linux
Having lacked IE on my home PC for a few weeks, and now got it back again, I came to ask myself -- can you do any serious web development on a Linux platform?
Juice
I seem to be enjoying amazing google juice at the moment...
PHP View-Controller
Description of my PHP based model view controller implementation.
New blog system
I finished my new blog software, back to actually writing some blog entries...
Plans
So much to do...
GMail invite, anyone?
GMail invitations up for grabs, and whines about living with other people's code
CSS signatures
CSS signature added to this site, rants about font sizes and 'www.'