martes, 4 de octubre de 2011

Las cegueras del Conocimiento, el error y la ilusión


Esto es un fragmento de un ensayo sobre “Los Siete Saberes Necesarios para la Educación del Futuro” de Edgar Morin. Versa sobre el pensamiento crítico en los alumnos del SNEST:


Las cegueras del Conocimiento, el error y la ilusión

“La duda es uno de los nombres de la inteligencia”
Jorge Luis Borges
"El sentido común es el conjunto de prejuicios acumulados a través de los siglos“
Albert Einstein

Al ingresar al SNEST, los estudiantes han recibido (a veces padecido) una educación en la que se privilegian mayormente la obediencia al de mayor rango y las capacidades memorísticas, poco o nulo es el énfasis que se hace en la utilización del pensamiento crítico. En este contexto, los estudiantes y tristemente algunos compañeros profesores se convierten en una suerte de autómatas que asumen que lo dicho por el superior es ley y que lo que se escribe en blanco y negro en un libro o en Internet es irrefutable. La creciente tendencia omitir contenidos filosóficos en general y particularmente espistemológicos en las mallas curriculares contribuye, desde mi punto de vista, a agravar esta situación.

Como docente me resultó duro al principio superar la inseguridad y el complejo de superioridad que nos invitan a dirigir nuestras sesiones desde una pose de infalibilidad, pero una vez que lo logramos y animamos a los estudiantes a cuestionarlo todo, la recompensa es enorme en términos de la forma renovada en la que se acercan al proceso educativo.

Ha de prestarse especial cuidado a los valores del respeto y la tolerancia, que forman parte del “aprender a vivir”, dado que sobre todo en su formación religiosa las personas son llevadas a aceptar dogmas de fe, pero el desechar los dogmas en ciencia es un principio fundamental para el avance del conocimiento, esto puede generar fricciones si no es manejado con tacto y buen juicio.

Considero que como actividad adicional a los cursos un buen apoyo en este sentido podría ser una proyección discutida de la película Agora, de Alejandro Amenabar, en la que se tratan los aspectos del respeto, la tolerancia a las distintas religiones, los derechos de la mujer y sobre todo el amor al conocimiento.

miércoles, 25 de mayo de 2011

Fedora 15

Les escribo esta entrada desde mi nueva instalación de fedora 15

UPDATE: ya salio la guía de post-instalación de fedora 15

Mucho de los trucos post-instalación de fedora 14 funcionan idéntico, en algunos pocos casos hay que agregar la opción --nogpg dado que algunas llaves de verificación todavía no están disponibles para la versión 15 en los repositorios...

En fedoreando.com también hay una excelente guía para la personalización de gnome 3.

miércoles, 20 de abril de 2011

Nuevas versiones de AG y PSO

Gracias a este magnífico período vacacional por fin tuve tiempo de liberar las nuevas versiones 4.0 de ag y pso, pueden descargarse desde la bitácora oficial del sitio de posgrado del ITLP:

Vienen con bastantes mejoras y nuevas características, asi que Happy hacking!!


PSO
GPSO
AG

martes, 12 de abril de 2011

Respaldos automatizados con crontab

Pueden combinarse cond y wget, scp o tar  para hacer respaldos locales o remotos automatizados, para esto se necesita primeramente conocer la sintaxis de las entradas de crontab y los parámetros del comando date para generar la cadena nombre del directorio a partir de la fecha y hora del sistema.

Aqui hay una explicación del formato de las entradas de crontab
http://www.cyberciti.biz/faq/how-do-i-add-jobs-to-cron-under-linux-or-unix-oses/

puedes editar tu crontab con el comando crontab -e y eso te abre la tabla de cron en vi

para el asunto de los directorios ocupas la salida de date...
aqui hay un ejemplo de esto...

http://www.openecuador.org/modules/news/article.php?storyid=36

Ahora un ejemplo...

# Script para respaldos
# modificado del de: (angel_ous@hotmail.com )
# para que funcione primero deberias de crear el
# directorio respaldos
# con un mkdir /respaldos

NAME="respaldo"

#directorio donde voy a guardar
DIR=$NAME$(date +%d%m%y-%H:%M:%S)

# ruta de los respaldos 
PATH_FILE="/respaldos"

cd $PATH_FILE
mkdir $DIR
cd $DIR

# aqui va el comando de respaldo, esta es una prueba
wget ftp://FTP.INTERNIC.NET/domain/named.cache

grabalo en un archivo  de texto, por ejemplo con el nombre respalda en tu directorio bin  (/root/bin/respalda) le das un

chmod 700 respalda

(para que tu lo puedas leer, escribir y ejecutar y el resto del mundo no le pueda hacer nada)

crea la ruta /respaldos con un

mkdir /respaldos

o en otra ruta como /var/respaldos, (nomás hazle el cambio a la variable PATH_FILE)

ahora cuando ejecutes respalda se va a bajar el archivo named.cache al directorio con la fecha y hora bajo respaldos, p

cambia el sitio ftp al que se le hace wget en el script por el tuyo....

Ahora para que corra automaticamente, haces un

crontab -e

y agregas una linea como la siguiente:

0 12 * * * /root/bin/respalda

esto lo correría a las 12:00 todos los dias, si quieres cambiar la hora o la periodicidad checa el enlace sobre las etradas de crontab,  con esto debe ser suficiente.

Una última cosa, para que esto funcione debes de asegurarte de que el servicio crond se este ejecutando en tu computadora (esto ocurre por omisión en la mayoría de los hijos de UNIX)

Moviendo archivos con scp

scp es un comando que sustituye al antiguo rcp, la principal ventaja de este comando para copiar archivos entre servidores Linux, es la de que el tráfico viaja encriptado de la misma forma que con ssh.

scp al igual que ssh funciona sobre el puerto 22 y utiliza las mismas configuraciones de acceso que ssh

Puedes usar logins rápidos con llaves públicas


la sintaxis del comando es:
scp [-r] usuario@host:[trayectoria] usuario@host:[trayectoria]

la opción -r hace una copia recursiva (donde se incluyen todos los directorios y archivos contenidos en la ruta que se especifique)

si se omite el usuario, se trata de hacer la copia con el usuario con el que te encuentres logeado en ese momento.

cuando no se hace referencia a un host con :, los archivos son buscados en el directorio actual...

Ejemplos:

scp .bashrc mihost:

copia el archivo .bashrc al directorio casa del mismo usuario con el que estes logeado en la computadora mihost

scp -r bin mihost:

copia el directorio bin y todo su contenido al directorio casa del mismo usuario con el que estes logeado en la computadora mihost

mkdir respaldo scp -r root@otrohost:/home/alumnos ./respaldo

se conecta como root y copia el directorio casa del usuario alumnos en otrohost y todo su contenido a la computadora local en el directorio respaldo (que se crea con mkdir)

Una referencia del uso del comando se encuentra en:
http://www.fceia.unr.edu.ar/ctu/docs/scp.html

miércoles, 30 de marzo de 2011

Guía "quick & dirty" para compilación del Kernel Linux en Fedora

Esta mini-guía la publiqué originalmente en el sitio del gulbajasur.

Para comprender las diferentes opciones de descarga, compilación e instalación del kernel te recomiendo la excelente gúia de O`Reilly.

          Linux Kernel in a Nutshell

PASO 1
Obtener el código fuente del kernel desde http://kernel.org a la fecha de este post la última versión estable es: http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.38.2.tar.bz2

PASO 2
Con un usuario que no sea root  crea un directorio donde vas a descomprimir el kernel con el comando:

tar xvjf linux-2.6.38.2.tar.bz2

PASO 3  (Se asume que tienes instalado gcc make, etc..)
Para crear un archivo de configuración con los módulos que están ejecutándose actualmente ejecuta un:

make localmodconfig

(después, como esto es quick and dirty, hazle al fácil y dale enter hasta que te diga que escribió el archivo .config)
Si quieres hacer alguna personalización ejecuta 
make gconfig

PASO 4
Compilar el kernel usando el comando

make -j4

Debes sustituir el 4 por la cantidad de núcleos en tu computadora multiplicados por 2 para una compilación más veloz.

PASO  5
para instalar el kernel debes convertirte en root con el comando 

su

y una vez hecho esto ejecuta 

make modules_install
make install

PASO 6
Al reiniciar tu máquina notarás una nueva opción en el menú de grub para cargar con el kernel nuevo y a disfrutar!

Saludos.

martes, 22 de febrero de 2011

Servidores virtuales por nombre con Apache (actualizado)

Para que apache sirva un sitio diferente por cada nombre de dominio con el que se accese nuestro servidor, utilizando una sola IP, es necesario agregar la opción

NameVirtualHost *:80

y entradas como las que se muestan a continuación al archivo /etc/httpd/conf/httpd.conf



<VirtualHost *:80>
DocumentRoot /var/www/html
ServerName localhost
</VirtualHost>

<VirtualHost *:80>
DocumentRoot /var/www/prueba
ServerName serverdell.cluster
</VirtualHost>



En esta prueba sencilla, cuando el servidor es accedido con el nombre localhost, se muestra el sitio que se encuentra en /var/www/html. Cuando se accede con el nombre serverdell.cluster, se muestra el sitio que se encuentra en /var/www/prueba Recuerda reiniciar el servicio httpd con un

service httpd restart

Para que los cambios que hayas efectuado en la configuración tomen efecto. El servidor por omisión, para los dominios que no se hayan definido es el primero que aparece en la lista. También es posible agregar directivas ErrorLog y CustomLog a cada servidor virtual para separar las bitacoras de acceso y error a los mismos. Asimismo puede agregarse una directiva ServerAdmin para definir el correo electrónico del administrador del sitio.

para probarlo de forma sencilla, puedes agregar en el archivo /etc/hosts el alias serverdell.cluster  a la dirección 127.0.0.1

sábado, 19 de febrero de 2011

Libre Office

Acabo de instalar la versión 3.3 de LibreOffice, la explicación de por que se dió el fork con OpenOffice desde barrapunto, en una entrevista con Charles H. Schulz

El software puede descargarse desde el sitio oficial de Libre Office

jueves, 17 de febrero de 2011

Libros sin dominio

En este sitio encontré excelentes libros, como:

Software Libre, Sociedad Libre de RMS
La catedral y el bazar de Erick Raymond

http://biblioweb.sindominio.net/telematica/

A reserva de revisarlo con más detenimiento, todos son Libres de libertad.

Saludos.

miércoles, 16 de febrero de 2011

martes, 15 de febrero de 2011

Mujeres en la computación

Hace algunos días mientras impartía una clase sobre Software Libre, un ejercicio que estábamos realizando sobre un proyecto muy pequeñito de generación de secuencias aleatorias, necesitábamos hacer una lista de gente importante en la historia de la computación, la sorpresa que tuve fue que de 25 nombres sólo logramos anotar a dos mujeres: Ada de Lovelace y tras una búsqueda sobre los últimos ganadores del Premio Turing encontramos a Barbara Liskov.

Preocupado por encontrar una explicación a la desproporcionada cantidad de hombres famosos en computación me tope con una Conferencia en honor a Grace Hopper que cada año se dedica a celebrar los aportes que las mujeres han hecho en nuestro campo.

La ganadora de 2006 Frances Allen parece haber justificado el hecho aduciendo que (y cito textualmente): "Las mujeres se interesarán por la computación cuando sea mas relevante socialmente"

Y tu que opinas al respecto?

Tres tips para administrar tu cluster

Primero: Acceso sin password

Teclear 16 veces tu password cada vez que vas a arrancar un cluster consume demasiado tiempo asi que...

Una forma de administrar múltiples servidores mediante ssh, sin tener que dar cada vez que entramos a cada uno el password es usar pares de llaves publicas/privadas para la autentificación en estos servidores (esto sólo funciona como root).

Una vez logeados como root, primeramente deberemos generar la llave pública en el servidor "Maestro"

ssh-keygen -t rsa

En pantalla deberá aparecer algo como:

Generating public/private rsa key pair.
Enter file in which to save the key (/home/rob/.ssh/id_rsa):

Damos un para dejar los archivos por default para las llaves.

A continuación se nos pide una frase de password, la cual dejaremos en blanco para efectos de poder entrar sin password a los servidores, (pero autentificando la sesión con la llave privada que solo tendremos nosotros)

Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/rob/.ssh/id_rsa.
Your public key has been saved in /home/rob/.ssh/id_rsa.pub.
The key fingerprint is:
a6:5c:c3:fb:19:94:0d:06:a1:a6:29:58:fa:80:0a:bc usuario@localhost

Para dejar la frase en blanco solo teclea en un par de ocasiones

Con lo anterior has creado dos archivos en tu directorio .ssh, id_rsa que es tu llave privada e id_rsa.pub que es la llave pública.

Para usar este par de llaves en un servidor basta con agregar la llave pública en su archvio .ssh/authorized_keys, por ejemplo, si solo se va a acceder de nuestro equipo, podemos ejecutar:

ssh server "mkdir .ssh; chmod 0700 .ssh"
scp .ssh/id_rsa.pub server:.ssh/authorized_keys

La primera instrucción crea el directorio .ssh en la cuenta del usuario en el servidor "esclavo", la segunda instrucción, copia nuestra llave pública sobre la lista de llaves autorizadas en dicho servidor.

De aqui en adelante podremos acceder al servidor mediante ssh, en la cuenta con la que estemos trabajando en el servidor "maestro" sin necesidad de teclear el password.

La seguridad de este método será tan buena, como protegida se encuente nuestra llave privada

Para mas información puede consultarse el excelente libro "Linux Server Hacks" de Rob Flickenger publicado por O`Reilly


Segundo: Archivo con los hosts

Al arrancar pvm puede proveersele como parámetro un archivo que contiene una lista con los nombres de los nodos a agregar al cluster, de esta forma no es necesario hacer un add para cada uno de ellos.

Por ejemplo, en mi cluster el archivo se llama /root/maquinas y tiene el siguiente contenido:

maquina2
maquina3
maquina4
maquina5
maquina6
maquina7
maquina8
maquina9
maquuna10
maquina11
maquina12
maquina13
maquina14
maquina15
maquina16

nótese que la maquina1 no aparece, debido a que es el nodo maestro del cluster y desde ahi se ejecuta el comando

pvm /root/maquinas

lo cual agrega los otros 15 nodos para hacer un total de 16

Tercero: shell script para ejecutar un comando en todos los esclavos del cluster

para esto hay que grabar un archivo en /root/bin con el nombre cluster con el siguiente script:

maquinas=`cat /root/maquinas`
for HOST in $maquinas
  do
    ssh $HOST $*
  done

la primera línea tiene acentos graves y genera una variable maquinas con una lista de las computadoras contenidas en el archivo del segundo tip.

el ciclo for, recorre la lista de almacenada en maquinas y va almacenando cada una en la variable HOST.

$* equivale a todos los parámetros con los que el script haya sido ejecutado.

una vez guardado asegúrate de que el script tiene permisos de ejecución con el comando:

chmod 770 /root/bin/cluster

para probar la funcionalidad del comando puedes ejecutar:

cluster hostname

lo cual debe desplegarte el nombre de host de cada nodo en el cluster.

de esta forma, podrás por ejemplo, desactivar el cortafuego en todos los nodos antes de iniciar pvm con el comando:

cluster service iptables stop