Category Archives: Linux

How To Set Up SSH Keys

Step One—Create the RSA Key Pair

ssh-keygen -t rsa

Step Two—Store the Keys and Passphrase

Enter file in which to save the key (/home/demo/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):

Step Three—Copy the Public Key

ssh-copy-id user@123.45.56.78

Alternatively, you can paste in the keys using SSH:

cat ~/.ssh/id_rsa.pub | ssh user@123.45.56.78 "mkdir -p ~/.ssh && cat >>  ~/.ssh/authorized_keys"

Optional Step Four—Disable the Password for Root Login

sudo nano /etc/ssh/sshd_config

Within that file, find the line that includes PermitRootLogin and modify it to ensure that users can only connect with their SSH key:

PermitRootLogin without-password

Put the changes into effect:

reload ssh

Source: https://www.digitalocean.com/community/tutorials/how-to-set-up-ssh-keys–2

Cómo seguir una oferta en Internet

cyber-logo

Esta semana del 11 de Noviembre tuvimos en Argentina el famoso CyberMonday (evito usar el nombre separado para no tener problemas como los descriptos en éste post de Mariano Amartino). No hay que ser un genio para imaginarse que muchas de las rebajas no son tan cuantiosas, por no decir un engaño, y hemos visto muchos posts en Facebook dando vueltas que muestran cómo suben los precios algunos días antes del mítico Lunes y sobre ese precio aplican la rebaja. Por esta razón, se me ocurrió poder seguir estas ofertas generando screenshots de las páginas con un poquito de código.

Lo primero que hay que hacer es instalar el webkit2png, una herramienta que nos permite generar estos screenshots.

Para OSX:
brew install webkit2png

Para Linux:
Existe una versión en Python que inclusive puede hacer screenshots de sitios en Flash https://github.com/AdamN/python-webkit2png.

Una vez instalado creamos el bash script y lo guardamos, por ejemplo: cybermonday_screenshot.sh

#!/bin/bash

## URLS a trackear
urls=(	"http://www.falabella.com.ar/falabella-ar/product/2122445/Aire-acondicionado-US-126TNW1-Jet-Cool-2840-FC"
	"http://www.garbarino.com/m/tv-led-samsung-40--full-hd-un40f6100-3d-df/ce1dae1a7c" 
	"http://www.garbarino.com/m/lavarropas-automatico-samsung-7-kg-wf1702weuu-inoxidable/732e0d0eb4")

for url in "${urls[@]}"
do
    webkit2png --ignore-ssl-check --width=1280 --height=800 --md5 --datestamp --fullsize --scale=1 $url
done

Luego creamos un cron con el bash para que corra cada 6 horas:

* */6 * * * sh /pathToBashFile/cybermonday_screenshot.sh  >/dev/null 2>&1

Listo, de esta manera tendremos un screenshot de las distintas ofertas y podremos luego comparar si las ofertas son reales.
¡Ah!, también se puede especificar un directorio para que webkit2png guarde las imagenes con –dir=DIR

Diez años usando Linux

Veo este video y me siento orgulloso de ser parte -aunque sea como usuario- de este crecimiento y traspaso al código abierto. Hace unos 15 años instalé por primera vez una distribución de Linux (FreeBSD), pero demoré hasta el 2003 en dejar Windows y pasarme por completo a Linux, corriendo sólo Windows en máquinas virtuales para algunos sistemas que sí o sí requieren Internet Explorer.

Me pongo a pensar en todas las personas que molesté una y otra vez para que se decida por usar sólo Linux y me sorprende la cantidad que me hicieron caso y hoy no lo cambiarían por nada en el mundo. También pienso en todos aquellos amigos no-techies que se ríen cuando uno habla de Linux con tanto fervor, y no saben qué hay atrás del Android en sus bolsillos…

Que linda es la Comunidad Open Source, y que lindo que cada día seamos más :)

mysqldumpslow

mysqldumpslow -s c -t 10 /var/log/mysql_slow_queries.log

NAME
mysqldumpslow – Summarize slow query log files

SYNOPSIS
mysqldumpslow [options] [log_file …]

DESCRIPTION
The MySQL slow query log contains information about queries that take a long time to execute (see Section 5.2.5, “The Slow Query Log”).
mysqldumpslow parses MySQL slow query log files and prints a summary of their contents.

Normally, mysqldumpslow groups queries that are similar except for the particular values of number and string data values. It “abstracts” these values to N and ‘S’ when displaying summary output. The -a and -n options can be used to modify value abstracting behavior.

Invoke mysqldumpslow like this:

shell> mysqldumpslow [options] [log_file ...]

mysqldumpslow supports the following options.

· –help

Display a help message and exit.

· -a

Do not abstract all numbers to N and strings to ‘S’.

· –debug, -d

Run in debug mode.

· -g pattern

Consider only queries that match the (grep-style) pattern.

· -h host_name

Host name of MySQL server for *-slow.log file name. The value can contain a wildcard. The default is * (match all).

· -i name

Name of server instance (if using mysql.server startup script).

· -l

Do not subtract lock time from total time.

· -n N

Abstract numbers with at least N digits within names.

· -r

Reverse the sort order.

· -s sort_type

How to sort the output. The value of sort_type should be chosen from the following list:

· t, at: Sort by query time or average query time

· l, al: Sort by lock time or average lock time

· r, ar: Sort by rows sent or average rows sent

· c: Sort by count

By default, mysqldumpslow sorts by average query time (equivalent to -s at).

· -t N

Display only the first N queries in the output.

· –verbose, -v

Verbose mode. Print more information about what the program does.

Example of usage:

shell> mysqldumpslow
Reading mysql slow query log from /usr/local/mysql/data/mysqld51-apple-slow.log
Count: 1  Time=4.32s (4s)  Lock=0.00s (0s)  Rows=0.0 (0), root[root]@localhost
insert into t2 select * from t1
Count: 3  Time=2.53s (7s)  Lock=0.00s (0s)  Rows=0.0 (0), root[root]@localhost
insert into t2 select * from t1 limit N
Count: 3  Time=2.13s (6s)  Lock=0.00s (0s)  Rows=0.0 (0), root[root]@localhost
insert into t1 select * from t1 

Esas cosas de nerd, para nerds


SMP-N100a

Hace un tiempo tengo un Sony Media Player (SMP-N100) sin usar, algo así como un Apple TV pero más viejo. No le doy mucho uso pues tengo Netflix en la PC, iPad… pero hoy se me ocurrió sacarle un poco el jugo, más que todo para jugar.

Resulta que tiene un par de canales predefinidos como YouTube, Billabong TV, Canal A… todos aburridos o con poco contenido. Gracias a esas limitaciones propias de la época del DVD, está preparado para Netflix y Pandora, pero no funciona a menos que use una IP de USA. Así que intenté ver la forma de poder ver películas que tenga en mi PC en la tele. En algunos minutos lo logré:

Cambié la configuración de conexión a Internet del Media Player y lo conecté al servidor de proxy que tengo instalado en la notebook (el todopoderoso tinyproxy), puse un canal cualquiera y un vídeo al azar. De esta forma pude ver cuál era el request que estaba haciendo el Sony Media Player al proxy: “http://billabong.bivl.kitd.com/2013_ATTACK_HIGHLIGHT2.mov”.

Modifiqué el archivo hosts (vim /etc/hosts) apuntando “billabong.bivl.kitd.com” al localhost. Después puse un archivo cualquiera en el root de mi servidor Apache y lo renombré a “2013_ATTACK_HIGHLIGHT2.mov”. Me hice un media center en 5′ :)

¿Era más fácil conectar la PC por cable a la tele?

20130923-083234.jpg

¡Psss! Otra forma de poder usar el SMP-N100 con Netflix en latam es con una VPN. Recomiendo los routers Mikrotik, que, entre la enormidad de cosas configurables que tiene, se le puede definir una VPN por rangos de IP. De esa manera podría tener el aparato pasando por la VPN (con IP de USA) mientras que el resto de los equipos de la red con otra IP.