I hate having to re-enter my email settings in a new or reinstalled device. Secure passwords are particularly painful to transcribe via a phone keyboard, but it's not just the basic settings. It's also those extras like signature, disabling notifications and folders that buy you if they're not right. I've …
read moreDisabling Django's password strength checking for development
Django 1.9 comes with a feature that enforces strong passwords. It's an excellent security feature, but password complexity is not what you want in development. Here's how to turn the feature off to allow simple passwords.
It goes like this. You've created a new database, run the migrations and …
read morePython, FTPS and mis-configured servers
Today's project involves automatically uploading electrical metering data to an FTPS server (explicit FTP over TLS, otherwise knowns as ESFTP). Shouldn't be a problem, since Python supports FTPS out of the box. Only it doesn't work. Here's the code:
read moreimport ftplib ftp = ftplib.FTP_TLS('host', 'user', 'password') ftp.set …
Join us for a swim at Brown Hill
The water may be a little chilly, but to coincide with today's opening of the Brown Hill outdoor pool for the summer, we're launching the first page of the Brown Hill Community Hub website — a page about the pool.
We've been getting more involved the local community over the past …
read moreAngular eats my default form values
Today, AngularJS isn't doing what I expect. I've auto-generating a really long form in Django, and adding
ng-model
attributes so I can summarise the form. Unfortunately, Angular is overwriting my defaults. Here's a shortened example:read more<html> <head> </head> <body> <form ng-app="testApp" ng-controller="TestCtrl"> <select name="colour" ng-model="colour"> <option …
Bruising first experience with ClojureScript
"Bruised" is a little how I feel about my first experience porting a program to ClojureScript — configuring production builds has a few traps for newcomers. That said, I am very pleased with the results and excited to do more working with ClojureScript.
My Dad is a soil conservation officer with …
read moreNginx dynamic image resizing with caching
At Sturm we build web apps that perform beautifully on both tiny mobile devices and huge desktop monitors. To achieve these, we use Nginx to resize images on-the-fly. This approach was used in our recent Course Finder project with Federation University.
The Nginx web server comes with a handy image …
read moreLots of love for Conservancy at LCA 2016
It was wonderful to see an outpouring of support for Conservancy last week at LCA 2016. A number of speakers highlighted Conservancy during their talks, Bradley Kuhn gave a talk about GPL compliance, we held a Supporter lunch (photo below), and both the conference organisers and the new Linux Australia …
read moreSpeaking on MediaGoblin at linux.conf.au 2016
I'm very excited to be speaking about GNU MediaGoblin this Friday 5 February at linux.conf.au in Geelong, Australia. MediaGoblin is a media publishing tool for artists.
I began using MediaGoblin nearly four years ago as a way to share photos of our new baby with our family and …
read moreGrunt build hangs on ngtemplates:dist
I just ran into a strange situation where
grunt build
on a Yeoman Angular project was hanging at the following step:$ grunt build ⋮ Running "ngtemplates:dist" (ngtemplates) task
The cause turned out to be an extra double quote symbol in one of the HTML view templates:
read more<form method="get" action …