Skip to content

Instantly share code, notes, and snippets.

View joekiller's full-sized avatar

Joseph Lawson joekiller

View GitHub Profile
@joekiller
joekiller / README.md
Created July 6, 2017 20:14
nREPL ClojureScript Cursive IDE

Most Cursive IDE nREPL solutions point to the Figwheel approach which good but is a little cumbersome.

You can also use piggieback (which Figwheel also uses).

Update your project.clj as such:

(defproject blah "0.0.1"
  :profiles {:dev {:dependencies [[com.cemerick/piggieback "0.2.2"]]}
                   :repl-options {:nrepl-middleware [cemerick.piggieback/wrap-cljs-repl]}})
@joekiller
joekiller / query_timestamp.sql
Created December 20, 2017 14:54
Query alb_logs via time in AWS athena
-- Setup an AWS Athena Application Load Balancer table via
-- http://docs.aws.amazon.com/athena/latest/ug/application-load-balancer-logs.html
-- Use the following to query between timestamps.
SELECT * FROM "sampledb"."alb_logs"
where date_parse(time, '%Y-%m-%dT%H:%i:%s.%fZ')
between TIMESTAMP'2017-12-20 03:00:00' and TIMESTAMP'2017-12-20 05:00:00'
limit 10;
@joekiller
joekiller / nuke.sh
Created August 21, 2019 14:51
Nuke iam start-pipeline policies
for p in $(aws iam list-policies --query 'Policies[?starts_with(PolicyName, `start-pipeline`) == `true`].Arn' --output text); do
for v in $(aws iam list-policy-versions --policy-arn $p --query 'Versions[?IsDefaultVersion == `false`].VersionId' --output text); do
aws iam delete-policy-version --policy-arn $p --version-id $v
done
aws iam delete-policy --policy-arn $p
done
@joekiller
joekiller / raw_stack.py
Created October 28, 2019 12:51
aws-cdk migrate RawStack to CDK
import yaml
from aws_cdk import core
class RawStack(core.Stack):
def __init__(self, scope: core.Construct, name: str, template_path: str, wrapped_parameters=None,
**kwargs) -> None:
"""import a stack off a path and munge in ssm variables if desired
:param template_path: path to raw stack being imported
:param wrapped_parameters: map of Parameter keys and default values
@joekiller
joekiller / device-farm-action.ts
Last active November 19, 2021 22:15
AWS CDK Device Farm Action for CodePipeline
import codepipeline = require('@aws-cdk/aws-codepipeline');
import iam = require('@aws-cdk/aws-iam');
import cdk = require('@aws-cdk/core');
import { ActionCategory } from '@aws-cdk/aws-codepipeline';
import { Action } from '@aws-cdk/aws-codepipeline-actions';
/**
* The OS and type of application you are testing.
*/
export enum DeviceFarmAppType {
@joekiller
joekiller / get.ts
Created December 7, 2021 23:55
https.get typescript nodejs
const data: string = await new Promise((resolve, reject) => {
https.get(targetUrl, (res) => {
res.setEncoding('utf8');
let rawData = '';
res.on('data', (chunk) => {
rawData += chunk;
});
res.on('end', () => {
try {
resolve(rawData);
@joekiller
joekiller / index.d.ts
Created February 21, 2022 04:12
node-pushbullet-api v3.0 typescript types
declare module 'pushbullet' {
import { EventEmitter } from 'events';
import { Response } from 'node-fetch';
interface MakeRequestOptions<T> {
qs?: Record<string, string>
json?: T
}
export interface MeResponse {
@joekiller
joekiller / https.ts
Last active April 4, 2022 04:10
Nodejs Typescript Https get and post
import https from "https";
export async function httpsPost<T>(params: { hostname: string, path: string, headers: Record<string, any>, body?: string }): Promise<{ status: number, data: T | string }> {
let {path, hostname, body, headers} = params;
let options = {
hostname,
port: 443,
path,
method: 'POST',
headers
@joekiller
joekiller / BackpackSocketManager.ts
Created April 23, 2022 15:13
BackpackSocketManager
import ReconnectingWebSocket from 'reconnecting-websocket';
import WS from 'ws';
import * as Events from 'reconnecting-websocket/events';
export default class BackpackSocketManager {
private ws: ReconnectingWebSocket;
constructor() {
this.ws = new ReconnectingWebSocket('wss://ws.backpack.tf/events', [], {
WebSocket: WS,
@joekiller
joekiller / README.md
Last active June 16, 2023 12:29
Updated craft hat skus