Skip to content

Instantly share code, notes, and snippets.

@sposmen
sposmen / Query.sql
Created May 29, 2012 20:47 — forked from elhoyos/Query.sql
Sort by two factors
-- Todos los artículos de 'RAFA' primero ordenados por serial y luego el resto de artículos ordenados igualmente por serial.
SELECT a.* FROM articulos a LEFT JOIN (SELECT 'RAFA' COLLATE utf8mb4_general_ci AS nombre) r on r.nombre = a.usuario
ORDER BY r.nombre DESC, serial
@sposmen
sposmen / gist:3437486
Created August 23, 2012 14:59
Check boolean columns on postgres database
SELECT table_name, column_name, column_default, is_nullable
FROM information_schema.columns
WHERE data_type = 'boolean'
and table_schema = 'public'
and column_default is null or column_default = ''
@sposmen
sposmen / rsync-ssh.md
Last active October 23, 2020 08:15
Rsync con ssh, o sea para que no pida contraseñas, es decir,con certificados

Realizar backups de manera facil con rsync y ssh Enviado por RazaMetaL el Mié, 2007-02-14 14:27. Tengo dos servidores, uno tiene un eggdrop que guarda el log de actividad de un canal en /home/bot/logs/canal. Hasta ahi todo esta muy bien, pero requiero que esos logs se publiquen en un sitio web que se encuentra en otro servidor.

La manera mas sencilla y practica que encontre para hacer esta tarea fue usando rsync para sincronizar los archivos de log desde un servidor a otro y que solo se copien los archivos nuevos o modificados.

Primero vamos a decidir las opciones para rsync, en mi caso y como lo explico en el parrafo anterior requiero copiar todos los archivos al nuevo servidor, despues que copie solo los nuevos archivos y/o los modificados. Todo esto lo logro pasando las opciones -avz y -e ssh a rsync.

-a para copiar recursivamente manteniendo privilegios, fecha de creacion, permisos, etc.;

@sposmen
sposmen / not_subdir_inside.sh
Created October 11, 2012 20:57
Search if a set of directories doesn't have an specific subfolder
#/usr/bin/bash
for D in `find . -type d -maxdepth 1`
do
if [ ! -d "$D/$1" ]; then
echo "$D"
fi
done
@sposmen
sposmen / Port Forwarding.txt
Last active July 13, 2018 16:08
Never Forgot commands
# Comando que permite mapear un puerto con otro
ssh sshadmin@INITIAL_MACHINE_IP -L 23:INTERNAL_IP:22 -N
# Port forward desde un server que si tiene acceso a otro.
sudo socat TCP4-LISTEN:2525,fork TCP4:test.server.com:25
@sposmen
sposmen / gist:3973289
Created October 29, 2012 12:38 — forked from abimaelmartell/gist:3929229
Ubuntu 12.10 setup (rbenv/rvm, janus, postgres)

Basic pre-requisites

  • Some utilities:
sudo apt-get install vim tmux git curl
  • Copy/paste from the command line:
sudo apt-get install xclip
@sposmen
sposmen / prettyJson.html
Created November 14, 2012 14:45
Pretty JSON with Javascript (Thanks http://jsfiddle.net/KJQ9K/)
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Json Pretty</title>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script>
<script src="//ajax.googleapis.com/ajax/libs/jqueryui/1.9.1/jquery-ui.min.js"></script>
<script type="text/javascript">
function output(inp) {
document.body.appendChild(document.createElement('pre')).innerHTML = inp;
@sposmen
sposmen / README.txt
Created December 27, 2012 16:58
Single Inheritance Table(SIT) with chronosmodel and closure_tree
filtered_params in Publications_controller are a method that return only important columns of model. In this case Publication as example
Basic Gems
https://github.com/mceachen/closure_tree
https://github.com/ifad/chronomodel
@sposmen
sposmen / mysql.sql
Created May 5, 2013 15:02
Table emulation in postgres and mysql
SELECT *
FROM
(
SELECT 'juan' AS data UNION
SELECT 'carlos' AS data UNION
SELECT 'pepito' AS data UNION
SELECT 'mauro' AS data
) AS tmp_names
WHERE
-- Compare data with a real table
@sposmen
sposmen / Imap.class.php
Created May 20, 2013 12:51
This script extract some email bounces directly from Gmail (Inbox folder)
<?php
/**
* LICENSE: The MIT License
* Copyright (c) 2010 Chris Nizzardini (http://www.cnizz.com)
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell