Docker at YunoJuno revisited
Episode IV: A New Hope
The easiest way to solve a problem is not to have it in the first place
Tao of Hugo
I've written a lot in the past about trying to get Docker to work within an unstable developer's environment: tl;dr the dynamic allocation of IP addresses to containers makes it bloody hard if you need to start / stop containers . . .
Integrating with BaseCRM (Django)
Connect your Django project with the new BaseCRM API with our latest project.
Base CRM is a Customer Relationship Management system that integrates with Google Apps. They recently released the second version of their API and we've started integrating our codebase with it, in order to automate the creation of Contacts and Deals.
We created a PyPI package, django_basecrm that anyone can use to integrate . . .
Tame your Node build system with Docker
Front-end build systems can easily get out of hand - but you can control them with docker
Like many web companies we no longer write HTML, CSS and JS and simply push them to our live servers. We have a front-end build 'system', which manages all of the tasks required to convert our source content to our static output. This includes CSS pre-processing, CSS and JS minification and concatenation, something clever to do with . . .
Getting the most out of ElasticSearch and Django
And why we're dropping Haystack in favour of the native ES library
ElasticSearch is a powerful, easy-to-install, easy-to-use, low config, clustered search engine based on Lucene, and is a popular choice for all sorts of applications.
In the Django world, Haystack seems to be the de-facto way to implement search outside the ORM - and it certainly seems the fastest to implement.
There are a . . .
Keeping on top of Django's New Migrations
How to avoid being caught out by a missing Migration
For managing database schemas, as great and well-loved as South was, Django's new migrations framework is nicer, particularly thanks to better support for multi-developer, multi-branch projects like YJ.
However, the greater attention now paid to a model's changes has a potential gotcha, especially in a multi-dev environment: . . .
LinkedIn changes API Terms of Use
Response to changes in LinkedIn API Terms of User announced on the 12th Feb 2015
Last Thursday, 12th Feb 2015, LinkedIn pushed some changes to their API Terms of Use, which have been compared to the changes that Twitter made some time back restricting 3rd party access to their platform APIs. You can find the announcement on the LinkedIn Developer blog, but here's the introduction:
Today we are announcing . . .
Deployment deep(er) dive - bitwise options
Bitwise logic can be used to store multiple boolean values in a single integer value - which is handy for storing the state of combinations of on/off switches.
Bitwise arithmetic is easy, useful and ubiquitous among programming languages, and yet surprisingly uncommon in the wild, in Python. (It may be due to the lack of enum support, as having the ability to store multiple enum values in a single field is quite common in those that do).
We use bitwise logic for managing deployment options, . . .