Here's how you could create custom error classes in Node.js using latest ES6 / ES2015 syntax.
I've tried to make it as lean and unobtrusive as possible.
errors/AppError.js
| # GIT heart FZF | |
| # ------------- | |
| is_in_git_repo() { | |
| git rev-parse HEAD > /dev/null 2>&1 | |
| } | |
| fzf-down() { | |
| fzf --height 50% --min-height 20 --border --bind ctrl-/:toggle-preview "$@" | |
| } |
No need for homebrew or anything like that. Works with https://www.git-tower.com and the command line.
gpg --list-secret-keys and look for sec, use the key ID for the next stepgit to use GPG -- replace the key with the one from gpg --list-secret-keys| require 'net/http' | |
| require 'json' | |
| require 'uri' | |
| @token = '' | |
| def list_files | |
| ts_to = (Time.now - 30 * 24 * 60 * 60).to_i # 30 days ago | |
| params = { | |
| token: @token, |
| # Fix agent forwarding | |
| # https://gist.github.com/martijnvermaat/8070533 | |
| # http://techblog.appnexus.com/2011/managing-ssh-sockets-in-gnu-screen/ | |
| # See .ssh/rc for socket linking | |
| unsetenv SSH_AUTH_SOCK | |
| setenv SSH_AUTH_SOCK $HOME/.ssh/ssh_auth_sock.$HOSTNAME |
| #!/usr/bin/env bash | |
| # -r 60: 60 FPS | |
| # -y: rewrite output file | |
| # -start_number 11555: first frame number | |
| # -i 'G%07d.JPG': file format | |
| # -vf "crop=h=2250": video filter to crop input frame height from 3000 to 2250 (which will be eventually downscaled to 720) | |
| # -c:v libx264: video codec x264 | |
| # -crf 20: x264 encoding quality (less = better) | |
| # -s 1280x720: output size |
| #!/usr/bin/env bash | |
| source tc-props.bash | |
| echo "Running on $agent_name" | |
| echo "Deploying $org_app_version to $org_deploy_server..." | |
| # ... |
| var isTimeStamp = (function(MAX_INT) { | |
| return function(number) { | |
| return parseInt(number, 10) > MAX_INT; | |
| }; | |
| })(Math.pow(2, 31) - 1); |
| // [B](f: (A) ⇒ [B]): [B] ; Although the types in the arrays aren't strict (: | |
| Array.prototype.flatMap = function(lambda) { | |
| return Array.prototype.concat.apply([], this.map(lambda)); | |
| }; |
| console.highlight = function(text, sample) { | |
| var escapedSample = sample.replace(/[-\/\\^$*+?.()|[\]{}]/g, '\\$&'); | |
| var reSample = new RegExp(escapedSample, 'g'); | |
| var args = ['']; | |
| var highlightedText = text.replace(reSample, function(match) { | |
| args.push('background-color: #ffc', 'background-color: none'); | |
| return '%c' + match + '%c'; | |
| }); | |
| args[0] = highlightedText; | |
| console.log.apply(console, args); |