Skip to content

Instantly share code, notes, and snippets.

View pbredenberg's full-sized avatar
🖖

Paul Bredenberg pbredenberg

🖖
View GitHub Profile
@pbredenberg
pbredenberg / asyncQueue.ts
Created April 26, 2023 15:22
In memory async queue in typescript
type Callback<T> = () => Promise<T>
export type AsyncQueue<T = void> = {
push: (task: Callback<T>) => Promise<T>
flush: () => Promise<void>
size: number
}
/**
* Ensures that each callback pushed onto the queue is executed in series.
@pbredenberg
pbredenberg / .zshrc
Created November 17, 2020 14:51 — forked from callumlocke/.zshrc
ZSH function to auto-switch to correct Node version
####
# ZSH function to auto-switch to correct Node version
# https://gist.github.com/callumlocke/30990e247e52ab6ac1aa98e5f0e5bbf5
#
# - Searches up your directory tree for the closest .nvmrc, just like `nvm use` does.
#
# - If you are already on the right Node version, IT DOES NOTHING, AND PRINTS NOTHING.
#
# - Works correctly if your .nvmrc file contains something relaxed/generic,
# like "4" or "v12.0" or "stable".
import { Connection, ConnectionManager, ConnectionOptions, createConnection, getConnectionManager } from 'typeorm'
import { inspect } from 'util'
import { SnakeNamingStrategy } from './SnakeNamingStrategy'
import 'envkey'
/**
* Database manager class
*/
export class Database {
private connectionManager: ConnectionManager
import { Connection, ConnectionManager, ConnectionOptions, createConnection, getConnectionManager } from 'typeorm'
import { inspect } from 'util'
import { SnakeNamingStrategy } from './SnakeNamingStrategy'
import 'envkey'
/**
* Database manager class
*/
export class Database {
private connectionManager: ConnectionManager
@pbredenberg
pbredenberg / function.ts
Created May 16, 2020 01:13 — forked from kvarela/function.ts
Sample function connecting to typeorm
import * as lambda from 'aws-lambda'
import connectionOptions from '../db/ConnectionOptions'
import { Connection } from 'typeorm'
import { Database } from '../db'
import { User } from '../entities'
import 'reflect-metadata'
import 'envkey'
exports.api = async (event: lambda.APIGatewayProxyEvent, serverlessContext: lambda.Context) => {
// This enables Lambda function to complete
@pbredenberg
pbredenberg / app.ts
Created May 15, 2020 18:22 — forked from Wintereise/app.ts
TypeORM broken on aws-lambda runtime
import "reflect-metadata";
import { APIGatewayEvent, Context } from "aws-lambda";
import { BaseEntity, Column, Connection, Entity, getConnectionManager, PrimaryColumn } from "typeorm";
import v4 = require("uuid/v4");
@Entity()
export class TData extends BaseEntity {
@PrimaryColumn()
public id: string;
@pbredenberg
pbredenberg / get_Mojave_iso.sh
Created December 23, 2018 15:00 — forked from HenryYang/get_Mojave_iso.sh
Convert MacOS 10.14 Mojave Installer App To ISO File
#!/bin/bash
hdiutil create -o /tmp/Mojave.cdr -size 8g -layout SPUD -fs HFS+J
hdiutil attach /tmp/Mojave.cdr.dmg -noverify -mountpoint /Volumes/install_build
sudo /Applications/Install\ macOS\ Mojave.app/Contents/Resources/createinstallmedia --volume /Volumes/install_build
mv /tmp/Mojave.cdr.dmg ~/Desktop/InstallSystem.dmg
hdiutil detach /Volumes/Install\ macOS\ Mojave
hdiutil convert ~/Desktop/InstallSystem.dmg -format UDTO -o ~/Desktop/Mojave.iso
mv ~/Desktop/Mojave.iso.cdr ~/Desktop/Mojave.iso
@pbredenberg
pbredenberg / phpenv-osx.sh
Last active April 5, 2020 09:20 — forked from christopher-hopper/phpenv-macos.sh
Install phpenv on OSX from homebrew packages.
#!/usr/bin/env bash
# vim: ai ts=2 sw=2 et sts=2 ft=sh
# Use this script to install or re-install
# multiple versions of PHP on MacOS.
#
# Usage:
# curl -L https://git.io/v52yY | bash
# Check OS.
@pbredenberg
pbredenberg / filter.d_nginx-auth.conf
Last active December 5, 2016 19:13 — forked from JulienBlancher/filter.d_nginx-auth.conf
Fail2ban Config with Nginx and SSH
#
# Auth filter /etc/fail2ban/filter.d/nginx-auth.conf:
#
# Blocks IPs that makes too much accesses to the server
#
[Definition]
failregex = ^<HOST> -.*"(GET|POST).*HTTP.*"
ignoreregex =