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.

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:

  1. El impulso sexual
  2. El deseo de ser grande

El Dr. Dewey lo expresa en una sola

  1. 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

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.



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


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 () son relativas al contenido del .ear


<!--xml version="1.0" encoding="UTF-8"?--> <application xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" id="Application_ID" version="1.4" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/application_1_4.xsd"> <display-name>APPNAME_LABEL_FOR_APPSERVER</display-name> <module> <web> <web-uri>WEBAPP.war</web-uri> <context-root>/WEB_EXPOSED_PATH</context-root> </web> </module> </application>

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)

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))

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 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 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 

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.

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.



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.


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


jueves, abril 18, 2013

Reiniciar máquina virtual de virtual box desde linea de comandos

En entornos donde actuamos como una área de infraestructura y creamos máquinas virtuales donde terceros son los que instalan el sistema operativo y del cúal no tenemos control de root, pero como administradores del sistema anfitrión, requerimos reiniciar las máquinas virtuales de una manera adecuada para evitar dañar el sistema de la máquina virtual, ya qué un apagado de VBoxManage con poweroff o reset es como dar el botonazo a la máquina para forzar el apagado o el reinicio

Para prevenir dañar la máquina virtual, lo que hay que hacer es mandar una señal de control de energía al sistema operativo solicitando se apague para que cierre correctamente, esto lo podemos hacer con:

VBoxManage controlvm VM_NAME acpipowerbutton

Ahora bien el sistema operativo tiene que estar configurado adecuadamente para manejar la señal, por ej. en el caso de linux tiene que tener soporte acpi.

En algunos otros casos puede ser de utilidad mandar un Ctrl Alt Supr, lo que provocará el reinicio del equipo, el que podemos apagar justo antes de que comience la carga del sistema operativo.

VBoxManage controlvm VM_NAME keyboardputscancode 1d 38 53

Enviar Ctrl-Alt-Supr a máquina virtual de virtualbox

Como enviar Ctrl Alt Supr o Ctrl Alt Del a una máquina Virtual con VirtualBox para hacerla reiniciar

Vamos a documentar la forma de hacerlo mediante un comando o sea con VBoxManage

Dado que VBoxManage tiene un comando para mandar secuencias del teclado a una VM corriendo:

VBoxManage controlvm gentoo keyboardputscancode

solo basta agregar los scancodes de Ctrl Alt Supr que son:

1d - left ctrl down
38 - left alt down
53 - supr down

entonces el comondo queda:

VBoxManage controlvm VM_NAME keyboardputscancode 1d 32 53

Ahora bien el reinicio depende de la interpretación que de el sistema operativo de la VM a la secuencia Ctrl-Alt-Supr
 


Crisis del copyright

Al parecer el copyright enfrenta una crisis social, ya que para fines prácticos, la gente prefiere el libre flujo del conocimiento y las ideas, y la facilidad de compartir antes que estarse preocupando por el viejo mundo de los derechos.

Leyendo el libro "Leer o Morir" de Guadalupe Loaeza, menciona el cuento corto titulado "El Dinosaurio" de el autor Augusto Monterroso, así que gogleando llegue a la página http://www.cuentosinfin.com/ y al ver que tiene muchos autores, me dio curiosidad una sección que dice aviso legal

http://www.cuentosinfin.com/aviso-legal/

al verla me sorprende mucho el texto que a continuación transcribo:

"Cuentosinfin.com es un sitio web sin ánimo de lucro que incluye cuentos y textos que podrían estar protegidos por derechos de autor. Si los propietarios de estos derechos no están de acuerdo con ver sus contenidos en este sitio, pueden contactar al correo electrónico josejolop@gmail.com y serán borrados inmediatamente."

Me maravilla ver que tan bajo ha caido el copyright, lo cúal por otro lado me agrada.