Cambiar nombres de archivo de ISO-8859-1 a UTF-8

Leo un post interesante en mi lector de RSS, sobre como resolver el problema del cam...

Subida de archivos por Ajax usando FormData y JQuery

Método tan fácil como compacto

Hace poco tuve que agregar la opción de adjuntar un...

Extendiendo la clase "Error" en ES6 con babel

Y otras built-in

Me pasó usando la librería bluebird no poder capturar un error personalizado, estoy usando Babel y el preset es2015.

Pen...

Prevenir que Ionic cierre el activity al presionar back button

Ionic por defecto captura el back button por hardware para disparar un history.back() en la navegación....

Restringir a los usuarios SFTP acceso a un directorio principal de un sitio web

La siguiente es una guía para la creación de usuarios SFTP y la restricción de acceso hacia el directorio home del usuario.

La confi...

La mejor forma de prevenir ataques de fuerza bruta a SSH con iptables

Acá hay incontables '[HowTo's de cómo prevenir ataques de fuerza bruta con iptables (en)](https://encrypted.google.com/search?hl=en&q=Howto+preve...

Agrupar array en arrays de tamaño fijo en JavaScript

Una cosa simple, pero que librerías como underscore no hacen, dejo el código de una implementación 100% nativa:

var groupEach =...

shred recursivo

shred'eando todos los archivos de un directorio

Lamentablemente el comando shred no tiene una opción para hacerlo recursivo, pero eso en Linux *(...

Updata mal publicado :P, va de nuevo

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

# OTR fingerprints

    Actualizado: 10/04/2015 
    Updated: 04/10/2015

## tioscar at...

Mercadolibre: "Notamos que no estuviste abriendo nuestros mails"

Hace rato que Mercado Libre, por lo menos en Argentina se volvió uno de los sitios con mas mecanismos de tracking de la actividad de sus usuarios (tan...

Borrar la meta-data de todas las imágenes de un directorio

Desde linea de consola y en una sola linea :)

Para esto voy a usa ExifTool, un script en Perl para ver/...

Vulnerabilidad de inyeción de comandos de shell en código de maquina de votación Vot.ar de empresa MSA (msa.com.ar)

Hoy a la mañana alguien subió el código fuente de [vo...

-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256

# OTR fingerprints

Actualizado: 10/06/2015 
Updated: 06/10/2015

## tioscar at gmail dot com (XMMP/Jabber)
5CB601DA 6ED7FB69 AC22D035 15457...

Tracking Protection nativo en FireFox

Hola gente, me enteré a través de un post en Barrapunto que FireFox tiene su propio método de protección de trackeo, y n...

Privilegios de root para comandos específicos con SUDO

Y como ejecutarlos sin password

Me puse a hacer un script para bloquear y desbloquear mi desktop con algunas utilidades como la de apagar el sonido, detener...

apt-get install PHP (para Debian Jessie)

Bueno como en Debian Jessie deprecaron los paquetes php5-ming y php5-ps el snipplet anterior falla, así que para Debian Jessie es:...

Cambiando la contraseña de EcryptFS de tu home

Anteriormente hice un post llamado Cifrando tu home en Archlinux, este usa la autentificación PAM para automontar la home al logueo del u...

Como arreglar el problema con Nginx + PHP-FPM que no devuelve nada ni tira error

Problema desde actualización.

Me paso en varios servidores, luego de actualizar Nginx los si...

Generador de configuraciones SSL seguras

Online, desarrollado por The Mozilla Foundation

Una herramienta útil para configurar diferentes servidores con SSL.

Soporta:

  • Apache *...

Generador de passwords fuertes en bash

Nada siempre que configuro servers me gusta ponerle una contraseña fuerte, si después el usuario la cambia por una mas devil ya no es mi culpa, pero bueno, para hacerlo desde l...

Descargando de forma parelela con wget

Si necesitamos descargar un par de urls pero de forma paralela, solo necesitamos tener el listado en un archivo y ejecutar:

$ cat url.txt | xargs -n 1 -P 10 wget

Los...

Evitar ataques de temporización o "Timing attacks" en PHP

Para los que no saben de que se trata, transcribo de la esta web:

En criptograf...

Geek code de exos

Bueno acá voy a ir actualizando mi geek code:

-----BEGIN GEEK CODE BLOCK-----
Version: 3.1
GCC/IT d--- s:++ a- C+++$ UBL+++$ !P L+++$ E--- W+++$ !N !o K...

AngularJS MTV Meetup: Best Practices

http://www.meetup.com/AngularJS-MTV/events/93943412/

Presentation slides available at: http://goo.gl/CD0Is

Live from the Mountain View, CA meetup, Miško Hevery discusses th...

OTR Fingerprints de exos

En los posts anidados hacia este iré publicando mis fingerprints de mis llaves OTR, con su respectiva firma PGP de mi clave pgp.

Si no sabés qu...

-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256

# OTR fingerprints

    Actualizado: 10/04/2015 
    Updated: 04/10/2015

## tioscar at gmail dot com (XMMP/Jabber)
5CB601...

Recuperar raid por software desde un Ubuntu Live

Hay que instalar mdadm y luego correr:

mdadm --assemble --scan

X.Org Security Advisory: March 17, 2015

More BDF file parsing issues in libXfont

Hablando del tema:

http://lists.freedesktop.org/archives/xorg/2015-March/057236.html

A...

Como hacer cajas flexibles HTML5 en Android 4.3 para atrás.

Útil para Cordova, Phonegap, Ionic, etc.

Me encontré con un problema, maqueté unos templates HTML5 y me di cuenta que en Android 4.3 para abajo, la pro...

Tunning GIT (v2.1)

Completa guía para tunear la herramienta de git de consola!

Mejora a la primera versión publicada en http://esfriki.com/nm y Arreglos de ortografía de la versión 2.0 http://esfriki.com/9p...

Los mejores DevOps Reactions gifs del 2014

El blog de tumblr DevOpsReactions que se dedica a postear gifs animados que describen que sienten los programadores, administradores de...

Usando Xdebug con PHP-CLI

Incluyendo el server embebido en php-cli

Xdebug es la herramientas mas utilizada para debuggear (hay que ver que pasa con [php>dbg](http://log.exo...

Generar certificado SSL autofirmado con un solo comando :D

# openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /ruta/de/llave-privada.key -out /ruta/de/certificado.crt

Robado de acá: https://www.dig...

Configurar versión de python para node-gyp

Si tuviste un error así:

gyp ERR! configure error 
gyp ERR! stack Error: Python executable "python" is v3.4.2, which is not supported by gyp.
gyp ERR! stac...

Casteo de String a Array en PHP

Una simple curiosidad, si se espera tanto un srting como un array (ej, datos por ajax).

php > $arr = (array) "hola";
php > print_r($arr);
Array
(
    [0]...

Usando eventos keypress, keyup y keydown de forma correcta

Aveces simplemente tenemos que correr alguna función que vaya validando o formateando un texto dentro de un input o un textarea, y si esta rutina es d...

Como evitar que una app cordova haga Zoom

Me pasó el otro día, con un modelo especifico de celular, que al hacer click en un input text o un textarea hacía zoom y luego quedaba así haciendo la app inusab...

Corrección del código

El código anterior puede fallar en ciertos casos :P, pasó una mejora:

$(document).ajaxStart(function( e ) {

var ele = $(e.delegateTarget.activeElement );        
if( ele.h...

Botón en espera con Bootstrap 3 (Automatizado para cualquier botón!!!)

Una mejora a lo ya publicado que me pasó mi compañero NaN para que sirva con cualquier bo...

Cuando un usuario te muestra como usa tu software

am

Lanux - Charlas técnicas de Noviembre

En la ciudad de Lanús

El grupo de usuario de GNU/Linux de la ciudad bonaerense de Lanús (Lanux), los invita el día sábado 22 de noviembre desde las 14:00 hasta las 16:30 en...

Consultar IP de salida con dig

Antes usaba el buen servicio ifconfig.me que al ser consultado con curl devuelve una salida limpia como para usar en la consola. Útil para scripts:

$...

Crear archivos de determinado tamaño en GNU/Linux

Evitando mucha escritura

Posteo esto porque necesitaba probar un FS (Un pendrive a ver si NTFS soportaba archivos de mas de 4GB) y estaba por hacer el tipico:...

Recuperar un binario ejecutable borrado, si todavía está ejecutándose.

Hace mucho, no voy a decir cuando para no dar pistas :P, borré accidentalmente el disco virtual de una instancia de KVM en producción. Antes de...

Estadísticas con las passwords de Gmail

Analizando las contraseñas publicadas

Hace poco se [publicó un archivo con 5 millones de cuentas de gmail con sus passwords](http://www.impulsonegocios.com/contenidos/2014...

~/.oh-my-zsh/themes/exos.zsh-theme

autoload -U add-zsh-hook
autoload -Uz vcs_info

zstyle ':vcs_info:*' actionformats \
  '%F{5}(%f%s%F{5})%F{3}-%F{5}[%F{2}%b%F{3}|%F{1}%a%F{5}]%f '
zstyle ':...

Generador de splash para Mobile

http://ticons.fokkezb.nl/

PHP 5.6 ¿Qué tiene de nuevo?

El 28 de Agosto salió la versión de PHP 5.6.0, y como es una nueva versión media, incorpora algunas cosas nuevas en PHP, acá vamos a ver...

Creative Commons Attribution-ShareAlike 3.0 Github