Here’s a handy little shell script for counting lines of code (recursively in all directories beneath the current directory) based on the type of file:
After recently installing Security Update 2015-004, I found that I could no longer browse to any website using the root certificate “VeriSign Class 3 Public Primary Certification Authority – G5” without a security warning (“invalid certificate”). This included sites such as Twitter and Apple, and it also meant that applications such as Software Update would no longer function.
First off, 2015-004 updated the list of trusted root CAs which by itself isn’t an issue. The problem was when I then logged into Amazon S3 using an older version of Cyberduck (< 4.7). That version of Cyberduck was adding the certificate chain retrieved from Amazon to my login keychain which also by itself isn't an issue. The problem was that the intermediate certs Amazon was using were outdated and signed with 1024bits. This caused a mismatch between the certs installed by 2015-004 and the ones being saved to the keychain by Cyberduck. Like I said, convoluted.
Luckily everyone seems to have implemented fixes – Cyberduck no longer writes the intermediate certs to the keychain (as of version 4.7) and Amazon has updated their intermediate certs to 2048bit signatures.
If you run into this issue, you probably still have the invalid certs sitting in your keychain. Simply open up Keychain Access and delete the bogus entries in the login keychain so that the system entries are used instead (select login, then Certificates, you should see them at the bottom of the list – "VeriSign Class 3 Public Primary Certification Authority – G5").
django-storages-redux is a Python 3 & Django 1.8+ compatible fork of the original library that’s thankfully seeing lots of ongoing maintenance and updates.
Switching over was fairly painless, with just a couple method signatures needing updates.
I highly recommend switching over if you haven’t already.
Django 1.8 was released back on April 1 and there’s a few things to be aware of when making the upgrade…
1) django.contrib.formtools has been removed. If you were making use of it, grab the new 3rd party library.
2) A good chunk of the django-secure third-party library has been integrated into Django as part of the new django.middleware.security.SecurityMiddleware. Read up on how to configure the new settings.
3) Django now supports multiple template engines with built-in support for the Django template language and for Jinja2. As part of this change you’ll need to update your template settings (for now Django will still use your existing settings, but they are deprecated and will go away with a future release).
4) Django Compressor was incompatible with Django > 1.7. This is now rectified with the recent release of version 1.5.
As always, definitely read the release notes as there’s lots of new stuff along with minor changes and bug fixes in this release.
Analyze any URL and find out how to make it fast on both mobile and desktop.
Analyze any URL and determine if the page has a mobile-friendly design.