Skip to content

Instantly share code, notes, and snippets.

View evantahler's full-sized avatar
💭
Programmin'

Evan Tahler evantahler

💭
Programmin'
View GitHub Profile
@evantahler
evantahler / schemas.sql
Last active September 21, 2023 01:26
users-table-type-and-dedupe-annotated
-- RAW TABLE
/*
IDEAS:
* Should this table be a Snowflake Stream?
* https://docs.snowflake.com/en/sql-reference/sql/create-stream
*/
create or replace TABLE AIRBYTE_DEVELOP."airbyte_internal"."USERS_RAW" (
"_airbyte_raw_id" VARCHAR(16777216) NOT NULL, -- Added by Airbyte, this id links the rows in these 2 tables (UUID)
@evantahler
evantahler / connector.js
Created August 12, 2022 18:39
Airbyte Mutatable Spec
getSpec() {
// start the returned spec with constant properties that are always needed in all ways the connector can be deployed
let spec = {
properties: {
host: { required:true, type: string },
username: { required:true, type: string },
password: { required:true, type: string },
}
};
@evantahler
evantahler / Dockerfile
Created April 8, 2022 21:42
Airbyte Source in TS
FROM node:alpine
LABEL maintainer="evan@airbyte.io"
WORKDIR /airbyte/integration_code
COPY package*.json ./
COPY . .
RUN npm install
RUN npm run build
@evantahler
evantahler / install.sh
Last active March 8, 2022 22:25
Install & Run Airbyte on Digital Ocean
# ssh root@<<YOUR IP>>
# Install Docker
sudo apt update
sudo apt install apt-transport-https ca-certificates curl software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu focal stable"
sudo apt update
apt-cache policy docker-ce
sudo apt install docker-ce -y
@evantahler
evantahler / example.ts
Created August 28, 2021 20:01
Inheriting class method augment types in Typescript
abstract class Greeter {
abstract greet(who: string, message: string): void;
}
class ClassyGreeter extends Greeter {
greet(who, message) {
console.log(`Salutations, ${who}. ${message}`);
}
}
@evantahler
evantahler / purchases.csv
Last active August 4, 2021 22:26
Grouparoo Sample Data CSVs
id user_id item category price state created_at
1 69 88 Garden 68.13 successful 2021-06-07 00:43:22.505
2 155 25 Grocery 75.89 successful 2021-06-07 04:29:33.122
3 560 59 Books 19.7 successful 2021-07-31 07:40:07.724
4 562 95 Games 17.64 successful 2021-07-10 10:49:36.804
5 64 24 Kids 76.08 successful 2021-07-28 18:38:26.248
6 402 88 Movies 42.87 successful 2021-07-20 04:59:39.054
7 319 67 Garden 22.85 successful 2021-07-22 18:17:16.081
8 86 69 Outdoors 25.21 successful 2021-06-19 04:55:45.292
9 585 51 Grocery 34.85 successful 2021-07-08 07:35:33.024
@evantahler
evantahler / grouparoo-install-tests.md
Last active February 19, 2021 18:53
Grouparoo Install Tests - Feb 2021
@evantahler
evantahler / gifit
Last active June 26, 2020 18:26
Convert movies to animated gifs
#!/bin/bash
# This script required ffmpeg and gifsicle
# On OSX: `brew install ffmpeg gifsicle`
SECONDS=0
INPUT_FILE=$1
BASENAME="${INPUT_FILE%.*}"
OUTPUT_FILE="$BASENAME.gif"
@evantahler
evantahler / server.ts
Last active February 9, 2020 03:39
Actionhero#future
// There is no more actionhero CLI (start, startCluster, etc). You make your own 'main' file.
// This should make running in Docker, Serverless, etc easier.
// This also removes `boot.js`
import { Process, config, log } from '@actionhero/core' // we use NPM namespaces
// The core Actionhero package is really small... and you can opt-in to the parts you want
import WebServer from '@actionhero/web'
import WebSocketServer from '@actionhero/websocket'
import Cache from '@actionhero/cache'
import Resque from '@actionhero/resque'
@evantahler
evantahler / comcast.js
Last active September 21, 2019 05:23
Comcast Injected Javasctipt
<script language="JavaScript" type="text/javascript">
// Copyright (C) 2017 Comcast Cable Communications, LLC
// Contact Us: http://customer.xfinity.com/contact-us/
// Intended use of this message is to display critical and time sensitive notifications to customers.
/*
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.