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 / 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 / -
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 / 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)
@hamiltop
hamiltop / gist:5977833
Created July 11, 2013 18:19
Use logic in select fields
I would like to go from:
Bundle.find_by_sql("select bundles.name, bundles.id, if(bundles.max_count > 100, 1, 0) as big from bundles;")
to something more like:
Bundle.select([:name,:id,"if(bundles.max_count > 100, 1, 0)"]).all
That way I could continue to chain on where clauses and such.
curl "http://store.apple.com/us/configUpdate/Z0PZ?option.macbookpro_processor_17=065-C1T0&option.macbookpro_storage=065-C1T5&option.macbookpro_usb_superdrive=none&option.apple_thunderbolt_display=none&option.macbook_pro_keyboard_and_os=065-C1TQ&option.iwork_keynote=065-C13G&option.iwork_pages=065-C13D&option.iwork_numbers=065-C13F&option.macbookpro_applecare=none&option.one_to_one=none&option.thunderbolt_to_gigabit_ethernet_adapter=065-C1T6&option.thunderbolt_to_firewire_adapter=065-C1T8&option.vga_adapter=065-C1TC&option.dvi_adapter=none&option.dual_link_dvi_adapter=none&option.magsafe_2_power_adapter_85w=none&option.magsafe_to_magsafe_2_converter=none&option.apple_thunderbolt_cable=none&option.external_storage=none&option.time_capsule=none&option.apple_tv_mac=none&option.printer_offers=none&fcs1=&fcs2=" -H "Cookie: ccl=tBtBE3lJ4LMSEepGlEUjGGOfRSsgiBpkseqQEyb0CJc=; geo=US; s_orientation=%5B%5BB%5D%5D; s_pathLength=homepage%3D1%2Cmac.tab%2Bother%3D1%2Cmacbookpro%3D1%2C; s_invisit_n2_us=3%2C0%2C26; s_vnum_n2_u