I've been trying to understand how to setup systems from
the ground up on Ubuntu. I just installed redis onto
the box and here's how I did it and some things to look
out for.
To install:
| class CustomAuthFailure < Devise::FailureApp | |
| def respond | |
| self.status = 401 | |
| self.content_type = 'json' | |
| self.response_body = {"errors" => ["Invalid login credentials"]}.to_json | |
| end | |
| end |
| module Where | |
| class <<self | |
| attr_accessor :editor | |
| def is_proc(proc) | |
| source_location(proc) | |
| end | |
| def is_method(klass, method_name) | |
| source_location(klass.method(method_name)) |
| module Where | |
| class <<self | |
| attr_accessor :editor | |
| def is_proc(proc) | |
| source_location(proc) | |
| end | |
| def is_method(klass, method_name) | |
| source_location(klass.method(method_name)) |
| #!/bin/bash | |
| # This script zeroes out any space not needed for packaging a new Ubuntu Vagrant base box. | |
| # Run the following command in a root shell: | |
| # | |
| # bash <(curl -s https://gist.github.com/justindowning/5670884/raw/vagrant-clean.sh) | |
| function print_green { | |
| echo -e "\e[32m${1}\e[0m" | |
| } |
| Download the following ZIPs: | |
| ARM Translation Installer v1.1 (http://www.mirrorcreator.com/files/0ZIO8PME/Genymotion-ARM-Translation_v1.1.zip_links) | |
| Download the correct GApps for your Android version: | |
| Google Apps for Android 6.0 (https://www.androidfilehost.com/?fid=24052804347835438 - benzo-gapps-M-20151011-signed-chroma-r3.zip) | |
| Google Apps for Android 5.1 (https://www.androidfilehost.com/?fid=96042739161891406 - gapps-L-4-21-15.zip) | |
| Google Apps for Android 5.0 (https://www.androidfilehost.com/?fid=95784891001614559 - gapps-lp-20141109-signed.zip) | |
| Google Apps for Android 4.4.4 (https://www.androidfilehost.com/?fid=23501681358544845 - gapps-kk-20140606-signed.zip) | |
| Google Apps for Android 4.3 (https://www.androidfilehost.com/?fid=23060877490000124 - gapps-jb-20130813-signed.zip) |
| #!/usr/bin/env ruby | |
| # A quick and dirty implementation of an HTTP proxy server in Ruby | |
| # because I did not want to install anything. | |
| # | |
| # Copyright (C) 2009-2014 Torsten Becker <torsten.becker@gmail.com> | |
| # | |
| # Permission is hereby granted, free of charge, to any person obtaining | |
| # a copy of this software and associated documentation files (the | |
| # "Software"), to deal in the Software without restriction, including | |
| # without limitation the rights to use, copy, modify, merge, publish, |
| 'use strict' | |
| import R from 'ramda' | |
| let fixOverflowVisible = ([clientValue, scrollValue]) => scrollValue / clientValue > 2 ? scrollValue : clientValue | |
| , getHeight = R.compose(fixOverflowVisible, e => [e.clientHeight, e.scrollHeight]) | |
| , getWidth = R.compose(fixOverflowVisible, e => [e.clientWidth, e.scrollWidth]) | |
| , getWindowHeight = () => document.documentElement.clientHeight | |
| , getWindowWidth = () => document.documentElement.clientWidth | |
| , getScrollX = () => window.scrollX | |
| , getScrollY = () => window.scrollY |
| ''' | |
| Taken from: https://code.djangoproject.com/ticket/17561#comment:7 | |
| ''' | |
| from django.db import models | |
| class EmailField(models.EmailField): | |
| def get_prep_value(self, value): | |
| value = super(EmailField, self).get_prep_value(value) |