Skip to content

Instantly share code, notes, and snippets.

Remind.com Account Takeover via app client renderer:
Before:
override fun intercept(chain: Interceptor.Chain): Response {
var request = chain.request()
request = authRemindRequestHelper.injectAuthHeader(request)
request = remindRequestHelper.injectRemindHeader(request)
return chain.proceed(request)
}
Access to an organization's FTP credentials
Before:
async sftpCredentials(args: any, ctx: Context) {
return ctx.loaders.FeatureCredentials.getSftpCredentials(args.orgUuid, 'auto-messaging');
},
After
async sftpCredentials(args: any, ctx: Context) {
// We need to have an authenticated user who is an admin for the org uuid
// See https://app.asana.com/0/1142193044639890/1201986092349803/f
@hamiltop
hamiltop / -
Created February 3, 2020 16:50
2gua.rainbow-brackets
alefragnani.project-manager
alexkrechik.cucumberautocomplete
amazonwebservices.aws-toolkit-vscode
awesomektvn.scratchpad
aws-amplify.aws-amplify-vscode
bungcip.better-toml
castwide.solargraph
christian-kohler.npm-intellisense
dbaeumer.vscode-eslint
@hamiltop
hamiltop / index.ts
Last active January 28, 2022 07:15
Example of Node, Typescript, and Comlink
import { getRemoteAPI } from "./my_worker";
async function init() {
console.time("launch");
const api = getRemoteAPI();
console.timeLog("launch");
console.time("first result");
console.timeLog("first result", await api.doMath());
console.time("second result");
console.timeLog("second result", await api.doMath());
@hamiltop
hamiltop / mime.types
Last active September 15, 2017 21:54
Mime types
###############################################################################
#
# MIME media types and the extensions that represent them.
#
# The format of this file is a media type on the left and zero or more
# filename extensions on the right. Programs using this file will map
# files ending with those extensions to the associated type.
#
# This file is part of the "mime-support" package. Please report a bug using
# the "reportbug" command of the "reportbug" package if you would like new

Keybase proof

I hereby claim:

  • I am hamiltop on github.
  • I am hamiltop (https://keybase.io/hamiltop) on keybase.
  • I have a public key ASDHCdXh9x-hsTOww6n5ZTDDDo94kmb57fG1r2k7vps7Mwo

To claim this, I am signing this object:

defmodule MacroFun do
defmacro a(str, do: block) do
res = [a: str]
{:__block__, _, calls} = block
res = Enum.reduce calls, res, fn
{f, c, a}, res when f in [:b, :c] -> {f, c, [res|a]}
end
res
end
[file | _ ] = System.argv
file_stream = File.stream!(file)
context = :crypto.hash_init(:md5)
context = Enum.reduce(file_stream, context, fn (data, cxt) ->
:crypto.hash_update(cxt, data)
end)
defmodule Test do
defmacro foo_macro(bar, block) do
IO.inspect bar
IO.inspect block
end
def foo(bar, block) do
IO.inspect bar
IO.inspect block
end
@hamiltop
hamiltop / selSort.hs
Last active August 29, 2015 14:22
Haskell Selection Sort
selSort [] = []
selSort l = let
x = minimum l
in x : selSort $ delete x l