I build software with Python, Django, ReactJS & React-Native. Every day. All day long.

Using Letsencrypt on Digital Ocean 

Just a note to myself...

First of all, DigitalOcean has a pretty good official guide for this.

However, I still struggled a bit with that guide, so here are my notes:

First we need to login as root and install Letsencrypt.

NOTE: If you are using AWS, you are probably logging in as "ubuntu", so ...

TypeError: CSS2Properties doesn't have an indexed property setter for '0' 

Beware of this nasty pitfall if you use Radium

Last Friday it came to my attention that our shop grid on luxglove.com didn't work on Firefox.

When opening the developer tools, I could see this error:

TypeError: CSS2Properties doesn't have an indexed property setter for '0'

And after a few seconds another error would show up ...

Maintaining Reusable Django Apps with Tox 

How to provide migrations for both, Django 1.6 & 1.7

Django 1.7 was a huge release with tons of great new features.

One major change is that South has been discontinued and Django now provides migrations in it's core.

This raises a problem for maintainers of reusable apps, like me and my team:

How can we provide migrations ...

PasswordMaker Online 

How to use the best password manager in the world

It must be more than six years that I am using PasswordMaker to manage all my passwords. I think this is the best password tool that could ever exist. Unfortunately it is a little bit difficult to understand and a little bit inconvenient to use, but when it comes to ...

Django Template Fragment Caching 

Speed up your site with Memcached and Template Fragment Caching

Granted, when you look at the frontpage of publishizer.com you will say that it doesn't show much content, but even this simple site loads about 20 different partial templates and performs more than a hundred database queries.

And what for? It rarely ever changes much. If we would ...

Django-compressor and Amazon S3 

Use local offline compression and serve compressed files via Amazon S3

As described in my last post we are serving the media files that are uploaded by our users via Amazon S3. We do not serve our static files via S3 because it slows down our deployment. ./manage.py collectstatic would currently find more than 280 files and it would take ...

Django-Storages and Amazon S3 

How to serve your media files via Amazon's Simple Storage Service

Yesterday I migrated the media files of Publishizer.com to Amazon's Simple Storage Service. This relatively simple task took me almost five hours and was quite a frustrating experience, so I thought I better write this down for later reference.

1. Create a Group

Django And related_names 

Be A Good Citizen And Create Good Related Names

If you are a Django developer and if you create reusable apps, please do everyone else a favour: be a good citizen and add related names to all your foreign keys.

Why? For example, you cannot add Mezzanine and django-cms to the same project because both apps have a Page ...

Migrating Apps from simple-translation to django-hvad 

Another Lessons Learned While Getting Ready for django-cms 3.0

This is the second post in a small series about problems that might occur when migrating from django-cms 2 to 3.

In my first post I described how to get rid of the M2MPlaceholderField.

This post will deal with the migration from simple-translation to django-hvad.

As mentioned in my first ...

Getting Rid of M2MPlaceholderFields 

Because You Can't Use Them With django-cms 3 Any More

In my last post I gave an overview over some hurdles I had to overcome in order to migrate django-multilingual-news. to django-cms 3.

We can't use the M2MPLaceholderAdmin any more because it uses a widget that no longer exists in django-cms 3. We also don't need to use ...