Skip to content

Instantly share code, notes, and snippets.

CREATE OR REPLACE FUNCTION public.random_md5() RETURNS text LANGUAGE sql
AS $$ SELECT md5(gen_random_bytes(1024)); $$;
CREATE OR REPLACE FUNCTION public.sha256(subject bytea) RETURNS text LANGUAGE sql
AS $function$ SELECT ENCODE(DIGEST($1, 'sha256'), 'hex'); $function$
CREATE OR REPLACE FUNCTION public.random_sha256() RETURNS text LANGUAGE sql
AS $$ SELECT sha256(gen_random_bytes(1024)); $$;
@ianthrive
ianthrive / levenshtein.js
Created June 1, 2015 02:54
Levenshtein string distance implementation in JavaScript.
function levenshtein(a, b) {
if(a.length == 0) return b.length;
if(b.length == 0) return a.length;
var matrix = [];
// increment along the first column of each row
var i;
for(i = 0; i <= b.length; i++) {
matrix[i] = [i];
CREATE OR REPLACE FUNCTION json_diff(l JSONB, r JSONB) RETURNS JSONB LANGUAGE sql AS $$
SELECT jsonb_object_agg(a.key, a.value) FROM
( SELECT key, value FROM jsonb_each(l) ) a LEFT OUTER JOIN
( SELECT key, value FROM jsonb_each(r) ) b ON a.key = b.key
WHERE a.value != b.value OR b.key IS NULL;
$$;
CREATE OR REPLACE FUNCTION first_dow_of_month(year INTEGER, month INTEGER, dow INTEGER)
RETURNS date LANGUAGE plpgsql
AS $$
DECLARE
first_day DATE := (year||'-'||month||'-1')::DATE;
first_day_plus_week DATE := first_day + '1 week'::INTERVAL;
BEGIN
RETURN first_day_plus_week + dow - DATE_PART('dow', first_day_plus_week)::INTEGER;
END;
$$;

Keybase proof

I hereby claim:

  • I am ianthrive on github.
  • I am ianthrive (https://keybase.io/ianthrive) on keybase.
  • I have a public key ASCF0C2HlS5xcLlaKqC29XdE4HwR9RUHoTxVZu9W0N1KzQo

To claim this, I am signing this object: