Skip to content

Instantly share code, notes, and snippets.

@nherment
nherment / db_setup.sql
Last active April 18, 2024 07:26
Postgresql user setup
-- As postgres user:
CREATE DATABASE <DB_NAME>;
CREATE USER <USERNAME> WITH LOGIN ENCRYPTED PASSWORD '<PASSWORD>';
GRANT ALL PRIVILEGES ON DATABASE <DB_NAME> TO <USERNAME>;
ALTER DATABASE <DB_NAME> OWNER TO <USERNAME>;
-- grant read-only
GRANT CONNECT ON DATABASE <DB_NAME> TO <USERNAME>;
@nherment
nherment / backup.sh
Created February 29, 2012 10:42
Backup and restore an Elastic search index (shamelessly copied from http://tech.superhappykittymeow.com/?p=296)
#!/bin/bash
# herein we backup our indexes! this script should run at like 6pm or something, after logstash
# rotates to a new ES index and theres no new data coming in to the old one. we grab metadatas,
# compress the data files, create a restore script, and push it all up to S3.
TODAY=`date +"%Y.%m.%d"`
INDEXNAME="logstash-$TODAY" # this had better match the index name in ES
INDEXDIR="/usr/local/elasticsearch/data/logstash/nodes/0/indices/"
BACKUPCMD="/usr/local/backupTools/s3cmd --config=/usr/local/backupTools/s3cfg put"
BACKUPDIR="/mnt/es-backups/"
YEARMONTH=`date +"%Y-%m"`
@nherment
nherment / init.d_node-app
Created May 11, 2017 12:39
init.d nodejs app script
#!/bin/sh
USER="nherment"
NODE_ENV="production"
PORT="5000"
APP_DIR="/opt/node-app/latest"
NODE_APP="server.js"
KWARGS=""
APP_NAME="node-app"
PID_DIR="/var/run"
@nherment
nherment / startup-app.sh
Created December 4, 2011 21:54 — forked from touv/startup-app.sh
Startup script for Express / Node.js application with the forever module
#!/bin/sh
##3.5...10...15...20...25...30...35...40...45...50...55...60...65...70...75...80
##
## Debian / Linux / Ubuntu / LSB
## Startup script for Express / Node.js application with the forever module
##
##
## A modification of "init.d.lsb.ex" by Nicolas Thouvenin
##
##
@nherment
nherment / time_off_request.md
Last active April 22, 2020 15:22
How to write a time off request

Time off requests: templates

All listed time off are inclusives of dates/half days.

Full days

Mention day of the week, month and date (number).

@nherment
nherment / update_minimum_transit_times.sql
Last active March 5, 2020 13:15
SOE weekly data quality
WITH sea_legs AS (
SELECT
v.class AS vessel_class,
pc.id AS arrival_port_call_id,
pc.un_locode AS arrival_port,
CASE WHEN pc.eta_is_actual THEN pc.eta ELSE NULL END actual_arrival_time,
LAG(pc.id) OVER w AS departure_port_call_id,
LAG(pc.un_locode) OVER w AS departure_port,
CASE WHEN LAG(pc.etd_is_actual) OVER w THEN LAG(pc.etd) OVER w ELSE NULL END actual_departure_time
FROM port_calls AS pc
@nherment
nherment / gist:1431054
Created December 4, 2011 19:23
MapReduce with MongoDB in NodeJS
var doMapReduce = function(options, callback) {
var map = function () {
var dateKey = new Date(options.time.getTime());
dateKey.setMinutes(0);
dateKey.setSeconds(0);
dateKey.setMilliseconds(0);
var mapped = {
const readLine = require("readline");
const rl = readLine.createInterface({output: process.stdout, input:process.stdin});
const dgram = require('dgram');
const server = dgram.createSocket('udp4');
// This regex extracts everything after the first / in the requested URL that isn't
// part of a HTTP(S):// prefix.
const siteRegex = /"GET.*?[^\/]\/([^\/]\S+)/;
@nherment
nherment / Foo_all_public.js
Last active December 25, 2015 02:58
private scope vs prototype
function FooPublic() {
this._publicVariable;
}
FooPublic.prototype.increment = function() {
return ++ this._publicVariable;
}
@nherment
nherment / error.log
Created May 4, 2012 23:35
Jetty jsp error
18:11:15.336|WARN|failed ContextHandlerCollection@1a15cd9a: java.lang.NoSuchFieldError: IS_SECURITY_ENABLED
18:11:15.344|ERROR|Error starting handlers
java.lang.NoSuchFieldError: IS_SECURITY_ENABLED
at org.apache.jasper.compiler.JspRuntimeContext.<init>(JspRuntimeContext.java:197) ~[jsp-2.1-6.1.14.jar:6.1.14]
at org.apache.jasper.servlet.JspServlet.init(JspServlet.java:150) ~[jsp-2.1-6.1.14.jar:6.1.14]
at org.mortbay.jetty.servlet.ServletHolder.initServlet(ServletHolder.java:440) ~[jetty-6.1.26.jar:6.1.26]
at org.mortbay.jetty.servlet.ServletHolder.doStart(ServletHolder.java:263) ~[jetty-6.1.26.jar:6.1.26]
at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50) [jetty-util-6.1.26.jar:6.1.26]
at org.mortbay.jetty.servlet.ServletHandler.initialize(ServletHandler.java:736) ~[jetty-6.1.26.jar:6.1.26]
at org.mortbay.jetty.servlet.Context.startContext(Context.java:140) ~[jetty-6.1.26.jar:6.1.26]