const groupBy = key => array =>
array.reduce((objectsByKeyValue, obj) => {
const value = obj[key];
objectsByKeyValue[value] = (objectsByKeyValue[value] || []).concat(obj);
return objectsByKeyValue;
import http = require('http') | |
import https = require('https') | |
import url = require('url') | |
import {AxiosInstance, AxiosInterceptorManager} from 'axios' | |
import {HttpRequestOptions as HttpFollowRequestOptions, http as httpFollow, https as httpsFollow} from 'follow-redirects' | |
import now = require('performance-now') | |
import httpAdapter = require('axios/lib/adapters/http') | |
import InterceptorManager = require('axios/lib/core/InterceptorManager') |
ssh-keygen -t rsa -b 4096 -e SHA512 -f jwtRS512.key | |
# Don't add passphrase | |
openssl rsa -in jwtRS512.key -pubout -outform PEM -out jwtRS512.key.pub | |
cat jwtRS512.key | |
cat jwtRS512.key.pub |
# ios | |
match(...) | |
package = load_json(json_path: "../package.json") | |
increment_version_number(version_number: package["version"]) | |
increment_build_number(build_number: ENV["CIRCLE_BUILD_NUM"] || 1) | |
# android | |
package = load_json(json_path: "../package.json") |
I wrote this answer on stackexchange, here: https://stackoverflow.com/posts/12597919/
It was wrongly deleted for containing "proprietary information" years later. I think that's bullshit so I am posting it here. Come at me.
Amazon is a SOA system with 100s of services (or so says Amazon Chief Technology Officer Werner Vogels). How do they handle build and release?
import * as actionTypes from './action-types.js'; | |
class ActionTypeMatching extends AsymmetricMatcher { | |
constructor(expected){ | |
this.$$typeof = Symbol.for('jest.asymmetricMatcher'); | |
this.expected = expected; | |
} | |
asymmetricMatch(other) { |
Last updated March 13, 2024
This Gist explains how to sign commits using gpg in a step-by-step fashion. Previously, krypt.co was heavily mentioned, but I've only recently learned they were acquired by Akamai and no longer update their previous free products. Those mentions have been removed.
Additionally, 1Password now supports signing Git commits with SSH keys and makes it pretty easy-plus you can easily configure Git Tower to use it for both signing and ssh.
For using a GUI-based GIT tool such as Tower or Github Desktop, follow the steps here for signing your commits with GPG.
public class Constants { | |
/** | |
* Contains the path to your Lambda function code. | |
*/ | |
public static final String LAMBDA_TASK_ROOT = System.getenv("LAMBDA_TASK_ROOT"); | |
/** | |
* The environment variable is set to one of the following options, depending on the runtime of the Lambda function: | |
* AWS_Lambda_nodejs, AWS_Lambda_nodejs4.3, AWS_Lambda_nodejs6.10 |
You can play with the GraphQL API live here. It's pretty nice and has autocompletion based on the GraphQL schema.
The first example gets your first 3 starred repos, the cursor values can be used for pagination.
Here's an example response from the first query:
{
Shortcut to perform a Google I'm Feeling Lucky search on https://developer.mozilla.org.