Skip to content

Instantly share code, notes, and snippets.

@viewpnt
viewpnt / docker-ssl-cert-generate
Created October 24, 2017 20:34
Generate self-signed SSL certs for docker client <— HTTPS (verified!)—> daemon
#! /bin/bash
set -e
echo 01 > ca.srl
openssl genrsa -out ca-key.pem
cat << CNF > ca.cnf
req_extensions = v3_req
[ req ]
distinguished_name = req_distinguished_name
@viewpnt
viewpnt / paridad.py
Created December 7, 2017 00:25 — forked from batok/paridad.py
Esta funcion contacta al web server del Diario Oficial de la Federación y trae la paridad del peso frente al dólar de acuerdo al día.
def paridad_dolar_dof(dia, mes, year ):
""" funcion python para extraer tipo de cambio del colar
segun el Diario Oficial de la Federacion
Autor : @jdaguilera
"""
from BeautifulSoup import BeautifulSoup
from urllib2 import urlopen
url = "http://dof.gob.mx/indicadores_detalle.php?cod_tipo_indicador=158&dfecha={0:02d}%2F{1:02d}%2F{2}&hfecha={0:02d}%2F{1:02d}%2F{2}".format( dia, mes, year)
contents = urlopen(url).read()
soup = BeautifulSoup( contents )
@viewpnt
viewpnt / json_manipulator.sql
Created January 13, 2018 20:53 — forked from matheusoliveira/json_manipulator.sql
Simple PostgreSQL functions to manipulate json objects. (Note: performance is not a concern for those functions)
CREATE OR REPLACE FUNCTION public.json_append(data json, insert_data json)
RETURNS json
IMMUTABLE
LANGUAGE sql
AS $$
SELECT ('{'||string_agg(to_json(key)||':'||value, ',')||'}')::json
FROM (
SELECT * FROM json_each(data)
UNION ALL
SELECT * FROM json_each(insert_data)
@viewpnt
viewpnt / gist:0a42567e692dbc3caa34c29a54884043
Created January 16, 2018 10:46 — forked from niieani/gist:1213709
PHP Camel Case functions
<?php
// source: http://www.paulferrett.com/2009/php-camel-case-functions/
/**
* Translates a camel case string into a string with underscores (e.g. firstName -&gt; first_name)
* @param string $str String in camel case format
* @return string $str Translated into underscore format
*/
function from_camel_case($str) {
$str[0] = strtolower($str[0]);
@viewpnt
viewpnt / git_cheat-sheet.md
Created July 2, 2018 22:59 — forked from davfre/git_cheat-sheet.md
git commandline cheat-sheet
@viewpnt
viewpnt / read-access.sql
Created August 2, 2018 20:38 — forked from oinopion/read-access.sql
How to create read only user in PostgreSQL
-- Create a group
CREATE ROLE readaccess;
-- Grant access to existing tables
GRANT USAGE ON SCHEMA public TO readaccess;
GRANT SELECT ON ALL TABLES IN SCHEMA public TO readaccess;
-- Grant access to future tables
ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT SELECT ON TABLES TO readaccess;
@viewpnt
viewpnt / nginx.conf
Created September 7, 2018 03:52 — forked from sergejmueller/nginx.conf
Stop search engines from indexing .txt, .log, .xml, .css and .js files in Nginx
location ~* \.(txt|log|xml|css|js)$ {
add_header X-Robots-Tag noindex;
}
@viewpnt
viewpnt / find_available_LDAP_number.sh
Created April 25, 2019 02:56 — forked from kojiujau/find_available_LDAP_number.sh
To find next available LDAP number
#!/bin/bash
dn="dc=example,dc=com"
ldap_server='192.168.1.1'
group_name='group'
available_uidNumber=`expr $(ldapsearch -x -b ${dn} -h ${ldap_server} '(objectClass=posixAccount)' uidNumber | grep "uidNumber: " | sed "s|uidNumber: ||" | uniq | sort -n | tail -n 1) + 1 `
echo ${available_uidNumber}
available_gidNumber=`expr $(ldapsearch -x -b ${dn} -h ${ldap_server} '(objectClass=posixGroup)' gidNumber | grep "gidNumber: " | sed "s|gidNumber: ||" | uniq | sort -n | tail -n 1) + 1 `
echo ${available_gidNumber}
@viewpnt
viewpnt / gapless_sequence.sql
Created September 14, 2019 03:18 — forked from fabriziomello/gapless_sequence.sql
Gapless sequence example in PostgreSQL
CREATE TABLE public.gapless_sequence (
sequence_schema TEXT,
sequence_name TEXT,
last_value BIGINT DEFAULT 0,
step INTEGER DEFAULT 1
);
ALTER TABLE public.gapless_sequence
ADD CONSTRAINT gapless_sequence_pk PRIMARY KEY (sequence_schema, sequence_name);
@viewpnt
viewpnt / gist:6f1774d8ea94facc5ccd58f23bfc51df
Created October 14, 2019 07:15 — forked from progrium/gist:5734609
Let unprivileged processes easily restart/reload Nginx without sudo or setuid hacks
# run this as root
while [ 1 ]; do echo | nc -l -U /tmp/reload_nginx && /etc/init.d/nginx reload; done
# or as an upstart job
script
echo | nc -l -U /tmp/reload_nginx && /etc/init.d/nginx reload
end script
respawn
# now any process can run this or do the equivalent with sockets to trigger reload