Skip to content

Instantly share code, notes, and snippets.

View ezy's full-sized avatar

Ezy ezy

  • Earth
View GitHub Profile
@ezy
ezy / dev.sh
Last active June 10, 2019 01:51
Install script brew cask apps for development
# Install script for all current dev
brew cask install firefox docker dbvisualizer iterm2 postman visual-studio-code spectacle
# For personal machine
# spotify calibre inkscape
# Worthy mentions
# devdocs inkscape fbreader 1password lastpass bitwarden
# Archive
@ezy
ezy / logger.js
Created January 7, 2019 03:05
Logger setup for winston in node express
const winston = require('winston');
const transports = {
console: new winston.transports.Console({
level: process.env.NODE_ENV === 'production' ? 'error' : 'debug',
handleExceptions: true,
format: winston.format.simple(),
colorize: true,
}),
file: new winston.transports.File({
@ezy
ezy / delete-twitter.js
Last active June 23, 2019 23:24
Delete all twitter tweets, likes and retweets via the web inspector console
// These scripts allow you to scrub your twitter account clean by deleting unliking
// and unretweeting everything. Only works on the old twitter web interface. Currently
// you can enable this by going to your menu and selecting to use legacy mode.
// delete tweets
setInterval(
function() {
t = $( '.js-actionDelete button' ); // get delete buttons
for ( i = 0; true; i++ ) { // count removed
if ( i >= t.length ) { // if removed all currently available
@ezy
ezy / application.js
Created October 28, 2018 22:07
Generic REST application.js CRUD adapter for `ember-cli-simple-store` with `ember-simple-auth`
import config from 'newseed/config/environment';
import { inject as service } from '@ember/service';
import RSVP from 'rsvp';
import EmberObject from '@ember/object';
import PromiseMixin from 'ember-promise/mixins/promise';
import DataAdapterMixin from 'ember-simple-auth/mixins/data-adapter-mixin';
var RESTAdapter = EmberObject.extend(DataAdapterMixin, {
simpleStore: service(),
session: service('session'),
@ezy
ezy / file-settings.config.yml
Created September 30, 2018 23:47
AWS Elastic Beanstalk Node Express API settings for ebextensions (named `.ebextensions/file-settings.config`)
option_settings:
aws:elasticbeanstalk:container:nodejs:
NodeCommand: "npm start"
NodeVersion: 8.11.4
files:
/etc/nginx/conf.d/proxy.conf:
mode: "000644"
owner: root
group: root
content: |
@ezy
ezy / .gitignore
Created September 20, 2018 00:32
.gitignore for node
### Linux ###
*~
# temporary files which can be created if a process still has a handle open of a deleted file
.fuse_hidden*
# KDE directory preferences
.directory
# Linux trash folder which might appear on any partition or disk
@ezy
ezy / haversine.js
Last active July 5, 2018 02:44
Haversine formula - calculate distance in metres between two sets of co-ordinates
function CalculateDistance(lat1, lon1, lat2, lon2) {
function toRad(x) {
return x * Math.PI / 180;
}
let R = 6371000; // set formula in metres
// Magic
let x1 = lat2 - lat1;
let dLat = toRad(x1);
@ezy
ezy / auth-controller.js
Last active July 2, 2018 02:02
JWT Passport example article
const jwt = require('jsonwebtoken');
const passport = require('passport');
const config = require('../config/config');
const validateEmail = require('../utils/helpers.js').validateEmail;
const validatePassword = require('../utils/helpers.js').validatePassword;
function signToken(req, res, err, user, info) {
if (err || !user) {
return res.status(400).json({
@ezy
ezy / .bash_profile
Created June 5, 2018 01:37
Handy bash script for linking node versions in brew
### Brew link node
alias node6='brew unlink node@8 && brew link node@6 --force --overwrite';
alias node8='brew unlink node@6 && brew link node@8 --force --overwrite';
@ezy
ezy / cyclic.js
Created May 28, 2018 03:11
Detect which object in a JSON.stringify function is Cyclic
function isCyclic(obj) {
var keys = [];
var stack = [];
var stackSet = new Set();
var detected = false;
function detect(obj, key) {
if (typeof obj != 'object') { return; }
if (stackSet.has(obj)) { // it's cyclic! Print the object and its locations.