Automation is supposed to let you slack more.

Tuesday, December 12, 2017

Tuesday, November 07, 2017

Fix init sequence in Raspberry Pi

If the init sequence gets broken and you can't get to a shell on a Raspberry Pi (I'm using 3 model B), you can boot into recovery mode this way.
  • Hit shift when starting up.
  • Hit "e" to edit config
  • tab over to cmdline.txt
  • add to the end of the line
    init=/bin/sh
  • hit ok, then Esc to boot...... it will boot you in to a command line
    # mount -n -o remount,rw / (this will remount / so you can make changes)
  • now you should be able to edit the init.d config.
  • when you reboot again.... hold shift and remove the init=/bin/sh
Source: raspberrypi.stackexchange.com

Friday, November 03, 2017

Thursday, November 02, 2017

Friday, October 13, 2017

Verifying OpenSSL certificates

Verifying that a certificate is issued by a CA

How to use OpenSSL on the command line to verify that a certificate was issued by a specific CA, given that CA's certificate:
$ openssl verify -verbose -CAfile cacert.pem  server.crt
server.crt: OK

Verify that a private key matches a certificate

$ openssl x509 -noout -modulus -in server.crt | openssl md5
$ openssl rsa -noout -modulus -in server.key | openssl md5
The resultant hashes should match.

Thursday, September 28, 2017

Chaining class decorators

The last (i.e. outer) decorator's behavior gets executed first.
def require_authentication_permission(permission):
    def decorator(cls):
        cls.dispatch = method_decorator(
            permission_required(
                permission, raise_exception=True)
            )(cls.dispatch)
        cls2 = class_login_required(cls)
        return cls2

    return decorator
In this case, the execution order is:
  1. class_login_required
  2. permission_required

Monday, September 25, 2017

Logging in Django

To log to console in Django. Source: Logging | djangoproject.com

settings.py 

LOGGING = {
    'version': 1,
    'disable_existing_loggers': False,
    'handlers': {
        'console': {
            'class': 'logging.StreamHandler',
        },
    },
    'loggers': {
        'django': {
            'handlers': ['console'],
            'level': os.getenv('DJANGO_LOG_LEVEL', 'INFO'),
        },
    },
}

File that uses logging

import logging
logger = logging.getLogger('django')

Write to log

logger.info('Hello')

Popular Posts

Recent Posts

Unordered List

Text Widget

Pages

Powered by Blogger.
Scroll To Top