Skip to content

Instantly share code, notes, and snippets.

@michelp
michelp / postgrest-quick.sh
Last active April 13, 2022 21:42
From nothing to REST API with PostgREST
# Minimal example of getting a PostgREST API running from scratch for
# testing purposes. It uses docker to launch a postgres database and
# a postgrest api server.
# This should not be used to deploy a production system but to
# understand how postgrest works. In particular there is no security
# implemented, see the docs for more.
# https://postgrest.org/en/v4.4/
#!/bin/bash
# Will maximize the current window to a new desktop, or, if the window is not
# Use your window manager's keybindings to attach this script to the key combination of your choice
# Requires the following packages in Ubuntu:
# xdotool x11-utils wmctrl
function goFull() {
echo $1
DESKTOP=`wmctrl -d | cut -d \ -f 1 | tail -1`
@antirez
antirez / lmdb.tcl
Created April 28, 2017 15:40
LMDB -- First version of Redis written in Tcl
# LVDB - LLOOGG Memory DB
# Copyriht (C) 2009 Salvatore Sanfilippo <antirez@gmail.com>
# All Rights Reserved
# TODO
# - cron with cleanup of timedout clients, automatic dump
# - the dump should use array startsearch to write it line by line
# and may just use gets to read element by element and load the whole state.
# - 'help','stopserver','saveandstopserver','save','load','reset','keys' commands.
# - ttl with milliseconds resolution 'ttl a 1000'. Check ttl in dump!
// there are many json-schema validators available, I prefer ajv
let Ajv = require('ajv')
let ajv = Ajv({ allErrors:true })
let swagger = require('./docs/my-swagger-definition')
// validation middleware
let validateSchema = (parameters) => {
return (req, res, next) => {
let errors = []
parameters.map(param => {
@sampsyo
sampsyo / fib.ts
Last active August 9, 2023 23:54
function inheritance in TypeScript
// This is a quick demonstration of "function inheritance" as described in
// this paper from Daniel Brown and William Cook.
// http://www.cs.utexas.edu/users/wcook/Drafts/2009/sblp09-memo-mixins.pdf
// Expressed in TypeScript (and without the monads).
// Syntax note: When you write function types in TypeScript, you need to name
// each parameter. But the names don't actually matter, so I just use _. You
// can read `(_:A) => B` as `a -> b` in ML or Haskell syntax.
// In Brown and Cook's Haskell, `type Gen a = a -> a` is a "generator." The
@thomasfr
thomasfr / Git push deployment in 7 easy steps.md
Last active February 15, 2026 20:33
7 easy steps to automated git push deployments. With small and configurable bash only post-receive hook
@mdeous
mdeous / pgmigrate.sh
Created February 2, 2014 13:31
Automated schema migration for PostgreSQL
#!/bin/bash
#
# Script: pgmigrate.sh
# Author: Mathieu D. (MatToufoutu)
# Description: Automated schema migration for PostgreSQL
# Usage: ./pgmigrate.sh DATABASE MIGRATIONS_FOLDER
#
# Details:
# Just store the .sql migrations scripts in a folder, file
# names must be incremental numbers (1.sql, 2.sql, ...).
@bsparrow435
bsparrow435 / riak_metrics.escript
Last active August 21, 2017 09:06
Escript to query various in-VM metrics on a Riak node not currently available from stats.
-module(riak_metrics).
-compile(export_all).
main([NodeName0, Cookie, Length, Command]) ->
LocalName = 'riak_metrics@127.0.0.1',
NodeName = list_to_atom(NodeName0),
case net_kernel:start([LocalName]) of
{ok, _} ->
erlang:set_cookie(node(), list_to_atom(Cookie)),
case net_kernel:hidden_connect_node(NodeName) of
@macintux
macintux / erlang-resources.md
Last active December 15, 2025 22:31
Erlang online resources

This is not intended to be comprehensive or authoritative, just free online resources I've found valuable while learning more about Erlang.

Joe Armstrong's Swedish Institute of Computer Science homepage (Wayback Machine)

https://web.archive.org/web/20070429181654/http://www.sics.se/~joe/

Similar lists