Estamos hablando de VPN que es por protocolo PPP
Para conectar ubuntu a una VPN de manera gráfica es muy sencillo ya que trae una GUI de manejo sencillo, al parecer más fácil que en el propio windows.
Sin embargo establecer la conexión requiere interacción manual de nuestra parte, y cuando requerimos la conexión de manera cotidiana resulta engorroso tener que estar conectándola a cada rato que se desconecta, por lo que una forma de hacerlo mediante un script es más adecuada. Otra ventaja es que podemos fijar las rutas manualmente y no sacar todo nuestro tráfico por la VPN.
Requerimos el comando pppd, el cual viene como parte del paquete ppp.
Si no lo tenemos instalado es tan sencillo como usar el comando.
sudo apt-get install ppp pptp-linux
Ahora si entremos en materia de como se hace:
nota: los parámetros se ponen mayúsculas
Primero el comando para levantar el cliente de VPN
pppd call VPN_NAME debug logfd 2 nodetach
El programa buscara los parámetros en el archivo
/etc/ppp/peers/VPN_NAME
cosa que nos damos cuenta cuando lo corremos y aún no tenemos el archivo ya que marca:
pppd: Can't open options file /etc/ppp/peers/VPN_NAME: No such file or directory
En dicho archivo tenemos que poner lo siguiente:
pty "pptp VPN_HOST --nolaunchpppd"
name USERNAME
# esto para que use la ultima versión ms-chap2 al no usar los otros métodos de autentificación
refuse-pap
refuse-eap
refuse-chap
# deshabilitar compresion bsd
nobsdcomp
# deshabilitar compresión deflate
nodeflate
Adicionalmente tenemos que especificar el password a usar en el archivo
/etc/ppp/chap-secrets
USERNAME SOMETHING PASSWORD *
curiosamente el parámetro SERVER podriamos pensar que corresponde al VPN_HOST pero no es así, hemos puesto inicialmente el valor SOMETHING porque no sabemos que tenemos que poner
guardamos y corremos nuevamente el comando de conexión
pppd call VPN_NAME debug logfd 2 nodetach
a lo que obtendremos un mensaje de error entre lo que encontraremos lo siguiente:
No CHAP secret found for authenticating us to X
Ese X es lo que tenemos que poner en lugar de SOMETHING en el archivo chap-secrets.
Al hacerlo y volver a conectar a la vpn:
pppd call VPN_NAME debug logfd 2 nodetach
si el password es correcto podemos ver que se queda abierta la conexión y se queda corriendo el programa porque le hemos dicho nodetach, lo que nos facilita poner el comando dentro de un ciclo para que se mantenga abierta la vpn.
La parte truculenta de esto fue el SOMETHING ya que esto no aparece explicado por ninguna parte que he visto en internet ni en la documentación.
Si queremos ver un poco más de info de depuración podemos ver los mensajes de salida de pppd
tail -f /var/log/messages | grep pppd
Una vez que estamos conectados tenemos de dos sopas para que los IPs remotos sean accesibles, una es añadir como ruta default la interface ppp0, con el inconveniente de que si en la VPN no tenemos acceso a internet en nuestro equipo nos quedamos sin internet:
route add default dev ppp0
La segunda, es si ya conocemos los segmentos a los que tenemos acceso dentro de la VPN, añadimos estos segmentos
route add -net x.x.x.x/x dev ppp0
Si la info te ha sido de utilidad no olvides regalar un comentario.
Este es el blog personal de las actividades de trabajo del Arquitecto de Sistemas (SA) Alfonso Baqueiro Bernal.
martes, febrero 25, 2014
domingo, noviembre 24, 2013
Configurar Router Linksys WRT54G con firmware ddwrt para funcionar como gateway repetidor de señal
Router Model Linksys WRT54G/GL/GS
Firmware Version DD-WRT v24-sp1 (07/27/08) micro - build 10012
Prerequisitos
Debe estar funcionando adecuadamente el router como Gateway, y con el DHCP configurado y activo.
Para aplicar la configuración nos conectamos al router por cable de red ethernet.
Lo que hacemos es que el router se conecta a una red inalámbrica como cliente, y crea una red virtual WIFI a la que nos conectamos y a través de la cual nos da servicio de Gateway o sea nos comparte el internet por esta SSID virtual y se conecta a internet a través del internet inalambrico de la red anfitrión.
1. Status > Wireless > Site survey
2. Seleccionar a la red a la que nos queremos conectar para que repita si esta protegida, necesitamos conocer la llave.
3. Damos click en el botón de extrema derecha [Join]
4. Lo anterior nos lleva a la pantalla de Wireless > Basic Settings
5. En dicha pantalla
Wireless Mode poner a Repeater
SSID debe corresponder a la red que seleccionamos
Hay que aclarar que no funciona como un repetidor tal cual y los equipos cliente
no se conectarán a la red anfitrión sino que lo que se tiene que hacer es crear
una interface virtual a la que asignamos un SSID que es al que se conectan los
equipos cliente
6. Virtual Interfaces [Add]
7. Le ponemos el SSID a nuestro gusto
8. [Save]
9. Cambiamos a la pestaña Wireless Security
10. Especificamos los parámetros de seguridad de la red anfitrión y la llave, aquí tiene truco ya hay que ponerle una passphrase vacia, darle generate, y luego poner el password correspondient y darle [Apply settings] y aunque no aparezca el password en el textbok, este ya se guarda y se usa
11. Especificamos los parámetros de seguridad para nuestra red virtual (interface virtual) que son los que usaremos en los equipos cliente
12. [Apply Settings]
13. Reboot router
Probablemente ya no nos responda el router por el cable de red y no nos asigne IP
si es el caso entonces nos conectados al router via WIFI y usando la SSID virtual y su llave
Para estas alturas ya debemos de tener internet a través de la red anfitrión.
Firmware Version DD-WRT v24-sp1 (07/27/08) micro - build 10012
Prerequisitos
Debe estar funcionando adecuadamente el router como Gateway, y con el DHCP configurado y activo.
Para aplicar la configuración nos conectamos al router por cable de red ethernet.
Lo que hacemos es que el router se conecta a una red inalámbrica como cliente, y crea una red virtual WIFI a la que nos conectamos y a través de la cual nos da servicio de Gateway o sea nos comparte el internet por esta SSID virtual y se conecta a internet a través del internet inalambrico de la red anfitrión.
1. Status > Wireless > Site survey
2. Seleccionar a la red a la que nos queremos conectar para que repita si esta protegida, necesitamos conocer la llave.
3. Damos click en el botón de extrema derecha [Join]
4. Lo anterior nos lleva a la pantalla de Wireless > Basic Settings
5. En dicha pantalla
Wireless Mode poner a Repeater
SSID debe corresponder a la red que seleccionamos
Hay que aclarar que no funciona como un repetidor tal cual y los equipos cliente
no se conectarán a la red anfitrión sino que lo que se tiene que hacer es crear
una interface virtual a la que asignamos un SSID que es al que se conectan los
equipos cliente
6. Virtual Interfaces [Add]
7. Le ponemos el SSID a nuestro gusto
8. [Save]
9. Cambiamos a la pestaña Wireless Security
10. Especificamos los parámetros de seguridad de la red anfitrión y la llave, aquí tiene truco ya hay que ponerle una passphrase vacia, darle generate, y luego poner el password correspondient y darle [Apply settings] y aunque no aparezca el password en el textbok, este ya se guarda y se usa
11. Especificamos los parámetros de seguridad para nuestra red virtual (interface virtual) que son los que usaremos en los equipos cliente
12. [Apply Settings]
13. Reboot router
Probablemente ya no nos responda el router por el cable de red y no nos asigne IP
si es el caso entonces nos conectados al router via WIFI y usando la SSID virtual y su llave
Para estas alturas ya debemos de tener internet a través de la red anfitrión.
lunes, noviembre 18, 2013
Configuración de vncserver para arrancar entorno gnome ~/.vnc/xstartup
Como configurar linux vncserver para que arranque un entorno de escritorio gnome al ejecutar un vncserver.
Modificar el archivo ~/.vnc/xstartup y dejarlo como sigue:
#!/bin/bash
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
xsetroot -solid grey
vncconfig -iconic &
x-terminal-emulator -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
exec gnome-session
sábado, noviembre 09, 2013
BOOK: Como ganar amigos e influir en la gente (Dale Carnegie)
"El gran objetivo de la educación no es el conocimiento, sino la acción."
- Herbert Spencer -
Cuando tratamos con la gente debemos recordar que no tratamos con criaturas lógicas. Tratamos con criaturas emotivas, criaturas erizadas de prejuicios e impulsadas por el orgullo y la vanidad.
"No hablaré mal de hombre álguno, y de todos diré lo bueno que sepa."
- Benjamin Franklin -
Un gran hombre demuestra su grandeza por la forma en que trata a los pequeños.
- Carlyle -
En lugar de cesurar a la gente, tratemos de comprenderla. Tratemos de imaginarnos por qué hacen lo que hacen. Eso es mucho más provechoso y más interesante que la crítica; y de ello surge la simpatía, la tolerancia y la bondad. "Saberlo todo es perdonarlo todo."
El mismo Dios, señor, no se propone juzgar al hombre hasta el fin de sus dias. Entonces ¿porqué hemos de juzgarlo usted o yo?
REGLA 1: No critique, no condene ni se queje.
Solo hay un medio para conseguir que alguien haga algo.
Y es el de hacer que el prójimo quiera hacerlo.
La única manera de conseguir que usted haga algo es darle lo que usted quiere.
Sigmun Freud decía que todo lo que hacemos surge de 2 motivos:
El Dr. Dewey lo expresa en una sola
"A todo el mundo le agrada un elegio."
- Abraham Lincoln -
"El principio más profundo del carácter humano es el anhelo de ser apreciado."
- William James -
Si nuestros antepasados no hubiesen sentido este ardiente anhelo de ser importantes, la civilización habría sido imposible. Sin él seriamos iguales que los animales.
Si usted me dice como satisface sus deseos de ser importante, le diré qué es usted.
Eso es lo que determina su carácter. Es la cosa más significativa que hay en usted.
"Considero que el mayor bien que poseo es mi capacidad para despertar el entusiasmo entre los hombres, y que la forma de desarrollar lo mejor que hay en el hombre es por medio del aprecio y el aliento.
Nada hay que mate tanto las ambiciones de una persona como las criticas de sus superiores. Yo jamas critico a nadie. Creo que se debe dar a una persona un incentivo para que trabaje. Por eso siempre estoy deseoso de ensalzar, pero soy remiso para encontrar defectos. Si algo me gusta, soy caluroso en mi aprobación y generoso en mis elogios."
- Charles Swab -
¿que hace la persona común? Si algo no le gusta arma un escándalo, si le gusta, no dice nada.
Falta de aprecio es la razón principal para que hombres y mujeres abandonen a su pareja, con frecuencia damos tan por sentada la presencia de nuestro cónyuge, que nunca le manifestamos nuestro aprecio.
Alimentamos los cuerpos de nuestros hijos y amigos y empleados; pero muy raras veces alimentamos su propia estima. Les damos carne y papas para que tengan energía; pero descuidamos darles amables palabras de aprecio que cantarían durante años en su recuerdo.
La adulación hace más mal que bien. La adulación es falsa, y como el dinero falso, nos pone eventualmente en aprietos si queremos hacerla circular.
La diferencia entre la apreciación y la adulación es muy sencilla: una es sincera y la otra no. Una procede del corazón y la otra sale de la boca. Una es altruista la otra egoísta. Una despierta admiración universal, la otra es universalmente condenada.
"No temas a los enemigos que te atacan, teme a los enemigos que te adulan."
- Alvaro Obregón -
Descuidamos elogiar a nuestros hij@ cuando trae una buena nota, y rara vez alentamos a nuestros hijos cuando logran hornear una torta o construir una casita para pájaros. Nada les agrada más a los niños que esta especie de interés y aprobación de sus padres.
Pasaré una sola vez por este camino; de modo que cualquier bien que pueda hacer o cualquier cortesía que pueda tener para con cualquier ser humano, que sea ahora. no la dejaré para mañana, ni la olvidaré, porque nunca más volveré a pasar por aquí."
"Todo hombre que conozco es superior a mí en algún sentido. En ese sentido, aprendo de él."
- Emmerson -
Seamos calurosos en la aprobación y generosos en el elogio.
REGLA 2: Demuestre aprecio honrado y sincero.
- Herbert Spencer -
Cuando tratamos con la gente debemos recordar que no tratamos con criaturas lógicas. Tratamos con criaturas emotivas, criaturas erizadas de prejuicios e impulsadas por el orgullo y la vanidad.
"No hablaré mal de hombre álguno, y de todos diré lo bueno que sepa."
- Benjamin Franklin -
Un gran hombre demuestra su grandeza por la forma en que trata a los pequeños.
- Carlyle -
En lugar de cesurar a la gente, tratemos de comprenderla. Tratemos de imaginarnos por qué hacen lo que hacen. Eso es mucho más provechoso y más interesante que la crítica; y de ello surge la simpatía, la tolerancia y la bondad. "Saberlo todo es perdonarlo todo."
El mismo Dios, señor, no se propone juzgar al hombre hasta el fin de sus dias. Entonces ¿porqué hemos de juzgarlo usted o yo?
REGLA 1: No critique, no condene ni se queje.
Solo hay un medio para conseguir que alguien haga algo.
Y es el de hacer que el prójimo quiera hacerlo.
La única manera de conseguir que usted haga algo es darle lo que usted quiere.
Sigmun Freud decía que todo lo que hacemos surge de 2 motivos:
- El impulso sexual
- El deseo de ser grande
El Dr. Dewey lo expresa en una sola
- El deseo de ser importante
"A todo el mundo le agrada un elegio."
- Abraham Lincoln -
"El principio más profundo del carácter humano es el anhelo de ser apreciado."
- William James -
Si nuestros antepasados no hubiesen sentido este ardiente anhelo de ser importantes, la civilización habría sido imposible. Sin él seriamos iguales que los animales.
Si usted me dice como satisface sus deseos de ser importante, le diré qué es usted.
Eso es lo que determina su carácter. Es la cosa más significativa que hay en usted.
"Considero que el mayor bien que poseo es mi capacidad para despertar el entusiasmo entre los hombres, y que la forma de desarrollar lo mejor que hay en el hombre es por medio del aprecio y el aliento.
Nada hay que mate tanto las ambiciones de una persona como las criticas de sus superiores. Yo jamas critico a nadie. Creo que se debe dar a una persona un incentivo para que trabaje. Por eso siempre estoy deseoso de ensalzar, pero soy remiso para encontrar defectos. Si algo me gusta, soy caluroso en mi aprobación y generoso en mis elogios."
- Charles Swab -
¿que hace la persona común? Si algo no le gusta arma un escándalo, si le gusta, no dice nada.
Falta de aprecio es la razón principal para que hombres y mujeres abandonen a su pareja, con frecuencia damos tan por sentada la presencia de nuestro cónyuge, que nunca le manifestamos nuestro aprecio.
Alimentamos los cuerpos de nuestros hijos y amigos y empleados; pero muy raras veces alimentamos su propia estima. Les damos carne y papas para que tengan energía; pero descuidamos darles amables palabras de aprecio que cantarían durante años en su recuerdo.
La adulación hace más mal que bien. La adulación es falsa, y como el dinero falso, nos pone eventualmente en aprietos si queremos hacerla circular.
La diferencia entre la apreciación y la adulación es muy sencilla: una es sincera y la otra no. Una procede del corazón y la otra sale de la boca. Una es altruista la otra egoísta. Una despierta admiración universal, la otra es universalmente condenada.
"No temas a los enemigos que te atacan, teme a los enemigos que te adulan."
- Alvaro Obregón -
Descuidamos elogiar a nuestros hij@ cuando trae una buena nota, y rara vez alentamos a nuestros hijos cuando logran hornear una torta o construir una casita para pájaros. Nada les agrada más a los niños que esta especie de interés y aprobación de sus padres.
Pasaré una sola vez por este camino; de modo que cualquier bien que pueda hacer o cualquier cortesía que pueda tener para con cualquier ser humano, que sea ahora. no la dejaré para mañana, ni la olvidaré, porque nunca más volveré a pasar por aquí."
"Todo hombre que conozco es superior a mí en algún sentido. En ese sentido, aprendo de él."
- Emmerson -
Seamos calurosos en la aprobación y generosos en el elogio.
REGLA 2: Demuestre aprecio honrado y sincero.
sábado, noviembre 02, 2013
configure static permanent route on red hat or cent os
put it in the file in this case corresponding to eth0 inteface
file:
/etc/sysconfig/network-scripts/route-eth0
content:
GATEWAY0=192.168.1.254
NETMASK0=255.255.255.0
ADDRESS0=192.168.99.0
meaning:
all the traffic to addreses 192.168.99.* go through gateway 192.168.1.254
equivalent temporal route command:
route add -net 192.168.99.0/24 gw 192.168.1.254
file:
/etc/sysconfig/network-scripts/route-eth0
content:
GATEWAY0=192.168.1.254
NETMASK0=255.255.255.0
ADDRESS0=192.168.99.0
meaning:
all the traffic to addreses 192.168.99.* go through gateway 192.168.1.254
equivalent temporal route command:
route add -net 192.168.99.0/24 gw 192.168.1.254
miércoles, octubre 30, 2013
search ip using grep
a way to search for ip address in files using grep
go to the directory you want to search
grep -r -n '[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}' *
lunes, julio 29, 2013
How upgrade Android Micro SD from 16Gb to 32Gb preserving my SD contents
I want to change the my micro sd card on my phone from a 16 Gb to a 32 Gb new micro sd card.
The process I used to do this was creating a new partition table on the new card and adding a partition of type c (FAT32 LBA) using the fdisk command in linux, saving the partition table.
After create a filesystem using mkfs.vfat and labeling "PHONE CARD" on the partition.
Of course you can do exactly the same using windows tools, the idea es create the partition on the new card and formatting it using a FAT32 filesystem.
Once you have the new partitión all what you have to do is turn off your phone, remove the old sd card, plug-in it on your computer, mount it, and copy all the files, including the hidden files to the new sd card, you can use your favorite file explorer software or commands like rsync to do this.
In my case it took 8 hours to do the copy.
Finally, insert the new sd card in your phone, all the apps should be working, test several apps (the ones that you know were running from the card) and test you have all your contents.
And that's it, enjoy your new space.
The process I used to do this was creating a new partition table on the new card and adding a partition of type c (FAT32 LBA) using the fdisk command in linux, saving the partition table.
After create a filesystem using mkfs.vfat and labeling "PHONE CARD" on the partition.
Of course you can do exactly the same using windows tools, the idea es create the partition on the new card and formatting it using a FAT32 filesystem.
Once you have the new partitión all what you have to do is turn off your phone, remove the old sd card, plug-in it on your computer, mount it, and copy all the files, including the hidden files to the new sd card, you can use your favorite file explorer software or commands like rsync to do this.
In my case it took 8 hours to do the copy.
Finally, insert the new sd card in your phone, all the apps should be working, test several apps (the ones that you know were running from the card) and test you have all your contents.
And that's it, enjoy your new space.
jueves, julio 18, 2013
Where do SMS are stored on android phones filesystem
On android sms and mms messages are stored in:
/data/data/com.android.providers.telephony/databases/mmssms.db
The file is a SQLite Database, of course we need a rooted phone to copy the file with adb or using SSHDroid
/data/data/com.android.providers.telephony/databases/mmssms.db
The file is a SQLite Database, of course we need a rooted phone to copy the file with adb or using SSHDroid
miércoles, junio 26, 2013
Construyendo archivos .ear para deployar aplicaciones en un java application server
El .ear es un .zip con extensión .ear, que se puede crear con un programa para hacer .zip común y corriente, el truco esta en la estructura de archivos que debe tener:
META-INF
META-INF/application.xml
META-INF/MANIFEST.MF
se debe incluir un archivo META-INF/application.xml
con un contenido donde especificamos las apps y modulos a desplegar, cuyas rutas (
viernes, junio 21, 2013
Proporcionar soporte a equipos remotos linux
Una forma sencilla para compartir el escritorio de máquinas con linux, windows o mac, y conectarse, es TeamViewer, funciona incluso cuando estamos detras de firewalls.
Otra opción, libre es VNC.
Para hacer conección, en este caso cuando a quien queremos ayudar esta detras de firewall y no lo puede remediar, es (ejectar los comandos desde la linea de comandos ej. xterm ó gnome-terminal ó konsole):
1. abrir el vncviewer en nuestro equipo en modo listen (nuestro equipo debe tener un puerto abierto en internet por default se usa el 5500)
vncviewer -listen
2. le proporcionamos a la persona que vamos a ayudar nuestro IP público donde esta escuchando nuestro vncviewer, ej. 74.125.225.238
3. el cliente al que vamos a ayudar en su equipo linux abre el servidor de vnc para la sesión de X principal (debe tener instalado el paquete x11vnc (sudo apt-get install x11vnc) )
x11vnc -connect 74.125.225.238
con esto comparte su escritorio para que podamos ayudarlo, en cualquier momento puede quitarnos el control interrumpiendo el programa (ctrl+c)
Otra opción, libre es VNC.
Para hacer conección, en este caso cuando a quien queremos ayudar esta detras de firewall y no lo puede remediar, es (ejectar los comandos desde la linea de comandos ej. xterm ó gnome-terminal ó konsole):
1. abrir el vncviewer en nuestro equipo en modo listen (nuestro equipo debe tener un puerto abierto en internet por default se usa el 5500)
vncviewer -listen
2. le proporcionamos a la persona que vamos a ayudar nuestro IP público donde esta escuchando nuestro vncviewer, ej. 74.125.225.238
3. el cliente al que vamos a ayudar en su equipo linux abre el servidor de vnc para la sesión de X principal (debe tener instalado el paquete x11vnc (sudo apt-get install x11vnc) )
x11vnc -connect 74.125.225.238
con esto comparte su escritorio para que podamos ayudarlo, en cualquier momento puede quitarnos el control interrumpiendo el programa (ctrl+c)
jueves, junio 06, 2013
PHP script to generate DB
La idea de este script php es generar un sql DDL para generar algunas bastantes tablas en una base sql.
<?php
header('Content-Type: text/plain; charset=utf-8');
$no_tablas = 40;
$type_a = explode('|','int|varchar(20)|char(5)|decimal(10,2)|date|time');
for($i=1; $i<=$no_tablas; $i++){
$no_campos = rand(3,12);
$foreign = (rand(0,1))? true: false;
$foreign_str = '';
$campos = array();
$campos[] = "\tid int not null primary key";
for($j=1; $j<=$no_campos; $j++){
$ctype = $type_a[ rand(0,count($type_a)-1) ];
if ($foreign && $ctype=='int' && $foreign_str==''){
$dest_tbl = "tabla_".rand(1,$i-1);
$foreign_str = "\tforeign_key (campo_$j) references $dest_tbl(id)";
$nullable = 'not null';
} else {
$nullable = (rand(0,1)==1) ? 'not null': '';
}
$campos[] = "\tcampo_$j $ctype $nullable";
}
$campos_str = join(",\n",$campos);
echo <<<EOF
create table tabla_$i (
$campos_str
$foreign_str
);
EOF;
}
?>
Una muestra del archivo de salida, es algo así:
create table tabla_1 ( id int not null primary key, campo_1 varchar(20) , campo_2 date not null, campo_3 time not null, campo_4 char(5) not null, campo_5 char(5) , campo_6 date not null, campo_7 date not null, campo_8 int not null, campo_9 char(5) not null, campo_10 date not null foreign_key (campo_8) references tabla_1(id) ); create table tabla_2 ( id int not null primary key, campo_1 time , campo_2 varchar(20) , campo_3 date not null, campo_4 time , campo_5 char(5) , campo_6 decimal(10,2) , campo_7 time ); create table tabla_3 ( id int not null primary key, campo_1 varchar(20) , campo_2 varchar(20) not null, campo_3 time , campo_4 time , campo_5 int , campo_6 time not null, campo_7 char(5) , campo_8 time , campo_9 decimal(10,2) , campo_10 date );
Comparación de programas de compresión vs versión paralela.
Comparación de los programas de compresión, tiempos y tamaños, se usan versión mono y versión paralela. gzip pv TABLA_QYDTTK4_F130604.TXT | gzip > TABLA_QYDTTK4_F130604.txt.gz 1.04GiB 0:00:45 [23.5MiB/s] [====================================================>] 100% pv TABLA_QYDTTK4_F130604.TXT | pigz > TABLA_QYDTTK4_F130604.txt.pig.gz 1.04GiB 0:00:04 [ 236MiB/s] [====================================================>] 100% bzip2 pv TABLA_QYDTTK4_F130604.TXT | bzip2 > TABLA_QYDTTK4_F130604.txt.bz2 1.04GiB 0:04:55 [3.59MiB/s] [====================================================>] 100% pv TABLA_QYDTTK4_F130604.TXT | lbzip2 > TABLA_QYDTTK4_F130604.txt.lbzip2.bz2 1.04GiB 0:00:07 [ 134MiB/s] [====================================================>] 100% pv TABLA_QYDTTK4_F130604.TXT | pbzip2 > TABLA_QYDTTK4_F130604.txt.pbzip2.bz2 1.04GiB 0:00:26 [39.3MiB/s] [====================================================>] 100% xz pv TABLA_QYDTTK4_F130604.TXT | xz > TABLA_QYDTTK4_F130604.txt.xz 1.04GiB 0:11:02 [ 1.6MiB/s] [====================================================>] 100% pv TABLA_QYDTTK4_F130604.TXT | pxz > TABLA_QYDTTK4_F130604.txt.pxz.xz 1.04GiB 0:01:06 [15.9MiB/s] [====================================================>] 100% pv TABLA_QYDTTK4_F130604.TXT | pixz > TABLA_QYDTTK4_F130604.txt.pixz.xz 1.04GiB 0:00:58 [18.1MiB/s] [====================================================>] 100% human readable sizes -rw-r--r-- 1 jobs jobs 1.1G jun 5 06:28 TABLA_QYDTTK4_F130604.TXT -rw-r--r-- 1 jobs jobs 86M jun 5 13:11 TABLA_QYDTTK4_F130604.rar -rw-r--r-- 1 jobs jobs 101M jun 6 11:23 TABLA_QYDTTK4_F130604.txt.gz -rw-r--r-- 1 jobs jobs 101M jun 6 11:31 TABLA_QYDTTK4_F130604.txt.pig.gz -rw-r--r-- 1 jobs jobs 80M jun 6 11:29 TABLA_QYDTTK4_F130604.txt.bz2 -rw-r--r-- 1 jobs jobs 80M jun 6 12:16 TABLA_QYDTTK4_F130604.txt.lbzip2.bz2 -rw-r--r-- 1 jobs jobs 80M jun 6 12:21 TABLA_QYDTTK4_F130604.txt.pbzip2.bz2 -rw-r--r-- 1 jobs jobs 63M jun 6 12:02 TABLA_QYDTTK4_F130604.txt.pixz.xz -rw-r--r-- 1 jobs jobs 63M jun 6 11:55 TABLA_QYDTTK4_F130604.txt.pxz.xz -rw-r--r-- 1 jobs jobs 63M jun 6 11:49 TABLA_QYDTTK4_F130604.txt.xz sizes, more detail -rw-r--r-- 1 jobs jobs 1112120271 jun 5 06:28 TABLA_QYDTTK4_F130604.TXT -rw-r--r-- 1 jobs jobs 90148917 jun 5 13:11 TABLA_QYDTTK4_F130604.rar -rw-r--r-- 1 jobs jobs 105128200 jun 6 11:23 TABLA_QYDTTK4_F130604.txt.gz -rw-r--r-- 1 jobs jobs 105153673 jun 6 11:31 TABLA_QYDTTK4_F130604.txt.pig.gz -rw-r--r-- 1 jobs jobs 82889350 jun 6 11:29 TABLA_QYDTTK4_F130604.txt.bz2 -rw-r--r-- 1 jobs jobs 83134496 jun 6 12:16 TABLA_QYDTTK4_F130604.txt.lbzip2.bz2 -rw-r--r-- 1 jobs jobs 82913562 jun 6 12:21 TABLA_QYDTTK4_F130604.txt.pbzip2.bz2 -rw-r--r-- 1 jobs jobs 65921560 jun 6 12:02 TABLA_QYDTTK4_F130604.txt.pixz.xz -rw-r--r-- 1 jobs jobs 65884988 jun 6 11:55 TABLA_QYDTTK4_F130604.txt.pxz.xz -rw-r--r-- 1 jobs jobs 65667608 jun 6 11:49 TABLA_QYDTTK4_F130604.txt.xz Notas: Se uso un archivo de texto de 1.04 Gb, en una workstation con 64Gb de RAM usando /dev/shm, sistema operativo Gentoo, y el software se compilo del repositorio.
extract specific lines from text file
For the example we use to variables L1 for the first line number, L2 for the last line number.
L1=21
L2=33
FILE=x.txt
awk method:
awk -e "NR>=$L1&&NR<=$L2{print \$0}" $FILE
sed method:
sed -n "$L1,$L2 p" $FILE
head + tail method:
head -n $L2 $FILE | tail -n $(($L2-$L1+1))
L1=21
L2=33
FILE=x.txt
awk method:
awk -e "NR>=$L1&&NR<=$L2{print \$0}" $FILE
sed method:
sed -n "$L1,$L2 p" $FILE
head + tail method:
head -n $L2 $FILE | tail -n $(($L2-$L1+1))
martes, mayo 28, 2013
Corazón Coraza
Porque te tengo y no
porque te pienso
porque la noche está de ojos abiertos
porque la noche pasa y digo amor
porque has venido a recoger tu imagen
y eres mejor que todas tus imágenes
porque te pienso
porque la noche está de ojos abiertos
porque la noche pasa y digo amor
porque has venido a recoger tu imagen
y eres mejor que todas tus imágenes
porque eres linda desde el pie hasta el alma
porque eres buena desde el alma a mí
porque te escondes dulce en el orgullo
pequeña y dulce
corazón coraza
porque eres mía
porque no eres mía
porque no eres mía
porque te miro y muero
y peor que muero
si no te miro amor
si no te miro
porque tú siempre existes dondequiera
pero existes mejor donde te quiero
porque tu boca es sangre
y tienes frío
tengo que amarte amor
tengo que amarte
pero existes mejor donde te quiero
porque tu boca es sangre
y tienes frío
tengo que amarte amor
tengo que amarte
aunque esta herida duela como dos
aunque te busque y no te encuentre
y aunque
la noche pase y yo te tenga
y no.
-- Mario Benedetti --
lunes, mayo 27, 2013
Git Administration, delete the last commit
git reset HEAD^ --hard
after running this command in your local repo, do a
git push
this allows to restore the repo when someone for example erased all files in error.
after running this command in your local repo, do a
git push
this allows to restore the repo when someone for example erased all files in error.
domingo, mayo 26, 2013
Sobre la videollamada y el chat con tecnología google
El chat con video llamada de google.
Una explicación en video:
https://www.youtube.com/watch?v=ahy3uRzRG9w
La app de android
https://play.google.com/store/apps/details?id=com.google.android.talk
Una explicación en video:
https://www.youtube.com/watch?v=ahy3uRzRG9w
La app de android
https://play.google.com/store/apps/details?id=com.google.android.talk
miércoles, mayo 22, 2013
Lao Tse y las palabras
"El propósito de una red de pescar es pescar peces y,
cuando los peces son atrapados, SE OLVIDA LA RED.
El propósito de una trampa de conejos es atrapar conejos.
Cuando los conejos son atrapados, se olvida la trampa.
El propósito de las palabras es COMUNICAR IDEAS.
Cuando las ideas son comprendidas, SE OLVIDAN LAS PALABRAS.
¿Dónde puedo encontrar un ser humano así, que haya olvidado las palabras?
Con él si me gustaría conversar."
Soy de la misma idea, quiero encontrar ese tipo de seres humanos.
El efecto de los vendedores del metro en los viajeros
Copio aquí la redacción de un amigo con la que describe una app en el Play Store de Android, ya que me recuerda mucho a como cantan los vendedores del metro las propiedades de sus artículos.
Mida cuanto tiempo ocupa en actividades que no tienen horario. En actividades sueltas. Cuanto tiempo realmente permanece enfocado cuando trabaja dentro de un horario. Cuanto tiempo ocupa en transportarse. Cuanto tiempo ocupa pensando en ese pensamiento que le viene a la mente de forma esporádica.
Mediante técnicas estadísticas, esta app. le pregunta al azar ¿en qué esta ocupando su tiempo ahora mismo? mediante notificaciones.
A diferencia de otras app. usted no tiene que estar recordando siempre encender y apagar cronometros, lo cual es molesto e innefectivo. Con nuestra app. usted recibe notificaciones que le solicitan que identifique de una lista que estaba haciendo en ese momento. Si no quiere ser interrumpido nuestra app "Mi Tiempo" le permite operar en modo "quieto" el cual no lo distraera hasta la hora que usted aya establecido.
Los que ya han obtenido los beneficios de esta nuestra app. "Mi Tiempo" han desarrollado una mejor conciencia de si mismo, de su productividad real (por ejemplo, descubrir si sufre demasiadas distracciones en su horario laboral), cuanto tiempo realmente entrena vs. platica en el gimnasio, cuanto tiempo duerme, en una semana, etc.
Nuestra app. "Mi Tiempo" es gratis si observa 4 tipos de tareas, pero si desea observar más nuestra app. "Mi Tiempo" versión de paga le cuesta solo dos US Dollares.
Desarrolle una mejor conciencia de si mismo, de su productividad real (descubra si sufre demasiadas distracciones en su horario laboral), cuanto tiempo realmente entrena vs. platíca en el gimnasio, cuanto tiempo descanza o duerme, en una semana, etc. Todo sin necesidad que usted este reportando cuando empieza y cuando acaba de hacer una tarea. Esto gracias a la aplicación de métodos estadisticos de observación.
Mida cuanto tiempo ocupa en actividades que no tienen horario. En actividades sueltas. Cuanto tiempo realmente permanece enfocado cuando trabaja dentro de un horario. Cuanto tiempo ocupa en transportarse. Cuanto tiempo ocupa pensando en ese pensamiento que le viene a la mente de forma esporádica.
Mediante técnicas estadísticas, esta app. le pregunta al azar ¿en qué esta ocupando su tiempo ahora mismo? mediante notificaciones.
A diferencia de otras app. usted no tiene que estar recordando siempre encender y apagar cronometros, lo cual es molesto e innefectivo. Con nuestra app. usted recibe notificaciones que le solicitan que identifique de una lista que estaba haciendo en ese momento. Si no quiere ser interrumpido nuestra app "Mi Tiempo" le permite operar en modo "quieto" el cual no lo distraera hasta la hora que usted aya establecido.
Los que ya han obtenido los beneficios de esta nuestra app. "Mi Tiempo" han desarrollado una mejor conciencia de si mismo, de su productividad real (por ejemplo, descubrir si sufre demasiadas distracciones en su horario laboral), cuanto tiempo realmente entrena vs. platica en el gimnasio, cuanto tiempo duerme, en una semana, etc.
Nuestra app. "Mi Tiempo" es gratis si observa 4 tipos de tareas, pero si desea observar más nuestra app. "Mi Tiempo" versión de paga le cuesta solo dos US Dollares.
Desarrolle una mejor conciencia de si mismo, de su productividad real (descubra si sufre demasiadas distracciones en su horario laboral), cuanto tiempo realmente entrena vs. platíca en el gimnasio, cuanto tiempo descanza o duerme, en una semana, etc. Todo sin necesidad que usted este reportando cuando empieza y cuando acaba de hacer una tarea. Esto gracias a la aplicación de métodos estadisticos de observación.
martes, mayo 21, 2013
UNIX / Linux setting time to internet time server
You can adjust your clock time against a time server, for example time.nist.gov
ntpclient -s -h time.nist.gov
That will adjust your time setting, using the time server time.nist.gov, you can use whatever time server you wish.
ntpclient -s -h time.nist.gov
That will adjust your time setting, using the time server time.nist.gov, you can use whatever time server you wish.
lunes, mayo 06, 2013
Crear unidad USB booteable con distro de linux
El programa que podemos usar para facilitar la creación de unidades USB booteables de linux se llama
unetbootin
disponible en varias distribuciones, instalado por default en ubuntu y mint, y en gentoo se puede instalar con:
emerge unetbootin
unetbootin
disponible en varias distribuciones, instalado por default en ubuntu y mint, y en gentoo se puede instalar con:
emerge unetbootin
Suscribirse a:
Entradas (Atom)
