Skip to content

Instantly share code, notes, and snippets.

@derekedelaney
derekedelaney / s3_uploader.py
Last active May 16, 2018 19:03
uploads files and folders to an s3 bucket
from __future__ import print_function
import os
import sys
import argparse
import boto3
from botocore.exceptions import ClientError
def upload_to_s3(bucket, artefact, is_folder, bucket_key):
"""
Uploads an artefact to Amazon S3
@derekedelaney
derekedelaney / text_replace.py
Created January 24, 2018 18:47
finds and replaces text in a file
#!/usr/bin/env python3
from __future__ import print_function
from contextlib import closing
import os
import sys
import argparse
import fileinput
def text_replace(fileToSearch, textToSearch, textToReplace):
with closing(fileinput.FileInput(fileToSearch, inplace=True, backup='.bak')) as file:

VSCode

Settings

  • enable emmet on tab
  • enable emmet in JSX
  • enable font ligatures
  • use Firacode font
  • open external terminal
  • setting sync
@derekedelaney
derekedelaney / difference.js
Created April 16, 2018 22:44 — forked from Yimiprod/difference.js
Deep diff between two object, using lodash
/**
* Deep diff between two object, using lodash
* @param {Object} object Object compared
* @param {Object} base Object to compare with
* @return {Object} Return a new object who represent the diff
*/
function difference(object, base) {
function changes(object, base) {
return _.transform(object, function(result, value, key) {
if (!_.isEqual(value, base[key])) {
@derekedelaney
derekedelaney / no_spec_file.py
Last active May 16, 2018 21:31
Prints the directory if there is a missing spec file for javascript. Use `--exclusions` to ignore keywords in a file name.
import os
import sys
import argparse
def no_spec_file(rootdir, exclusions):
for subdir, dirs, files in os.walk(rootdir):
for file in files:
split_file = os.path.join(subdir, file).split('.')
if len(split_file) == 2 and split_file[1] == 'js':
spec_file = split_file[0]+'.spec.js'
@derekedelaney
derekedelaney / empty_files.py
Created May 17, 2018 15:42
Prints out the directory of an empty file in a given root directory
import os
import sys
import argparse
def empty_files(rootdir):
for subdir, dirs, files in os.walk(rootdir):
for file in files:
if os.path.getsize(os.path.join(subdir, file)) == 0:
print os.path.join(subdir, file)
@derekedelaney
derekedelaney / DefaultCSS_Markdown.css
Last active May 31, 2018 20:55 — forked from splorp/DefaultCSS_Markdown.css
A default stylesheet based on GitHub’s Markdown formatting for use with BBEdit’s Preview CSS feature.
body {
background-color: #FFF;
color: #333;
font: 15px Helvetica, arial, freesans, clean, sans-serif;
word-wrap: break-word;
line-height: 1.7;
padding: 0 20px 20px 20px;
max-width: 1200px;
margin: 0 auto;
-webkit-font-smoothing: antialiased;
@derekedelaney
derekedelaney / man-markdown.css
Created May 31, 2018 17:44 — forked from davidfmiller/man-markdown.css
BBEdit Markdown Preview CSS
@charset "UTF-8";
html{color:#000;background:#FFF}body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,input,textarea,p,blockquote,th,td{margin:0;padding:0}table{border-collapse:collapse;border-spacing:0}fieldset,img{border:0}address,caption,cite,code,dfn,em,strong,th,var{font-style:normal;font-weight:normal}ol,ul{list-style:none}caption,th{text-align:left}h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:normal}q:before,q:after{content:''}abbr,acronym{border:0;font-variant:normal}sup{vertical-align:text-top}sub{vertical-align:text-bottom}input,textarea,select{font-family:inherit;font-size:inherit;font-weight:inherit}input,textarea,select{*font-size:100%}legend{color:#000}#yui3-css-stamp.cssreset{display:none}
html {
background: #fff;
}
body {
background: #fff;

Keybase proof

I hereby claim:

  • I am derekedelaney on github.
  • I am derekdelaney (https://keybase.io/derekdelaney) on keybase.
  • I have a public key ASBIvGtI2Q6jj15kw2RqlKWA_gQx7N-1kvI9L_hJqoew0go

To claim this, I am signing this object:

{
"global": {
"check_for_updates_on_startup": true,
"show_in_menu_bar": true,
"show_profile_name_in_menu_bar": false
},
"profiles": [
{
"complex_modifications": {
"parameters": {