December 21, 2008
Perdido en el bosque
El grupo estaba compuesto por cuatro personas, todas armadas con escopetas calibre 16, debido a la peligrosidad de los animales de la zona. El lugar escogido era denominado chaco, zonas amplias donde el clima se caracteriza por la elevada temperatura y el ambiente bajo en humedad.
Tambien es una zona donde las lluvias son reducidas, contando con pocos dias nublados durante una temporada. A pesar de tan desfavorables condiciones, estos lugares se ven poblados de animales de todo tipo, desde lagartos, cocodrilos, tigres, víboras y otros que pudieron adaptarse.
Nuestro grupo se lanza a la faena un viernes al amanecer, separandose desde el inicio para buscar un sitio de encuentro, todos ellos tienen conocimientos de supervivencia, por lo que no necesitan ayuda alguna.
El mas experimentado toma la ruta del cañaveral, rozando la senda de agua que yace seca desde hace semanas, esperando encontrar un tipo de venado denominado corzuela.
El segundo, que por ser un novato en estos terrenos, marca su camino con piedras, telas y otros objetos que permitan reconocer la ruta que recorre.
Los otros dos siguen su camino guiados por instinto, perdiendose en el monte ralo. Al dia siguiente se reunen en una laguna, tal como trataron el dia anterior, pero solamente tres de ellos aparecen, el cuarto miembro del grupo no aparece por ningun lado.
Cansados de esperar su llegada, los miembros restantes salen en su busqueda, pero no separados, sino en grupo, repitiendo su nombre a gritos a medida que avanzan.
Al llegar el dia lunes, los apresurados rescatistas continuan buscando al cazador extraviado, ahora se les unen los pobladores cercanos a la zona, que conocen mejor el terreno.
El alba del dia martes los sorprende cerca de la carretera departamental, su busqueda se habia prolongado por mas de cincuenta kilometros, pero su compañero no aparecia.
Al llegar el dia jueves, el extravio ya es un tema regional, convocando a todas las personas que tienen algun interes en el hecho; el grupo de rescatistas comienza una busqueda en forma de embudo desde el punto de partida de los cazadores, realizando un rastrillaje incansable por dos dias.
Al llegar a los limites posibles por un ser humano, se presume por dar al extraviado como muerto, invocando abandonar la búsqueda.
El dia domingo, una niña que iba a recoger agua de un pozo para el ganado de su familia, escucha el sonido jadeante de un ser vivo a la distancia. Temerosa de acercarse, informa a su padre de esto, el mismo que con la impresion de un ladrón, toma su arma y se dirige al sitio con su hijo mayor.
Al llegar a inmediaciones del pozo, el hombre escucha el mismo jadeo, que viene desde afuera de su propiedad. Ingresa al monte unos treinta metros, cuando se encuentra a un hombre en los ultimos suspiros de vida acurrucado a un arbol, con una escopeta a un lado y un hedor pestilente que emana de su cabeza.
El grupo de rescatistas que abandonaba la búsqueda, se encuentra con el campesino en su retirada, el cual les informa del suceso y los lleva ante el ser carente de reacción. Grande es la impresión de sus compañeros al verlo casi en huesos, siendo que era una persona corpulenta. Lo intentan llevar a un centro de atención, pero al primer intento de acercamiento suspira al viento de sus pulmones, reduciendo el aire que tan vagamente lo mantenia vivo, y fallece.
Resignados todos, se dan a la tarea de averiguar como un cazador experimentado se extravia en un terreno tan conocido. Al seguir las huellas que habia dejado en el camino, que aun estaban claras debido a la sequedad del terreno, el hombre se habia desviado del punto inicial hacia el este unos cinco kilometros, despues de los cuales empieza un interminable ciclo sobre una ruta de varios cientros de metros a la redonda, estaba caminando sobre sus pasos por varios dias.
Pero esto no tiene mucho sentido, ya que los primeros kilometros los recorrio el primer dia, y el ciclo interminable prosiguio desde el dia sabado hasta el siguiente domingo, entonces, ¿que habia ocurrido?.
Tambien notaron que el grado de desnutricion en que estaba era demasiado para una semana de castigo, hubo en esto otro elemento, que llevo a confundir a nuestro cazador, llevandolo al punto de la perdición, desorientandolo por completo por dias, hasta que ya no pudo mas y se arrimo a un arbol cercano, esperando el desenlace.
November 10, 2008
Edgar Allan Poe - El Cuervo
Edgar Allan Poe - El cuervo
Cierta noche aciaga, cuando, con la mente cansada,
meditaba sobre varios libracos de sabiduría ancestral
y asentía, adormecido, de pronto se oyó un rasguido,
como si alguien muy suavemente llamara a mi portal.
"Es un visitante -me dije-, que está llamando al portal;
sólo eso y nada más."¡Ah, recuerdo tan claramente aquel desolado diciembre!
Cada chispa resplandeciente dejaba un rastro espectral.
Yo esperaba ansioso el alba, pues no había hallado calma en mis libros,
ni consuelo a la pérdida abismal
de aquella a quien los ángeles Leonor podrán llamar
y aquí nadie nombrará.Cada crujido de las cortinas purpúreas y cetrinas
me embargaba de dañinas dudas y mi sobresalto era tal
que, para calmar mi angustia repetí con voz mustia:
"No es sino un visitante que ha llegado a mi portal;
un tardío visitante esperando en mi portal.
Sólo eso y nada más".Mas de pronto me animé y sin vacilación hablé:
"Caballero -dije-, o señora, me tendréis que disculpar
pues estaba adormecido cuando oí vuestro rasguido
y tan suave había sido vuestro golpe en mi portal
que dudé de haberlo oído...", y abrí de golpe el portal:
sólo sombras, nada más.La noche miré de lleno, de temor y dudas pleno,
y soñé sueños que nadie osó soñar jamás;
pero en este silencio atroz, superior a toda voz,
sólo se oyó la palabra "Leonor", que yo me atreví a susurrar...
sí, susurré la palabra "Leonor" y un eco volvióla a nombrar.
Sólo eso y nada más.Aunque mi alma ardía por dentro regresé a mis aposentos
pero pronto aquel rasguido se escuchó más pertinaz.
"Esta vez quien sea que llama ha llamado a mi ventana;
veré pues de qué se trata, que misterio habrá detrás.
Si mi corazón se aplaca lo podré desentrañar.
¡Es el viento y nada más!".Mas cuando abrí la persiana se coló por la ventana,
agitando el plumaje, un cuervo muy solemne y ancestral.
Sin cumplido o miramiento, sin detenerse un momento,
con aire envarado y grave fue a posarse en mi portal,
en un pálido busto de Palas que hay encima del umbral;
fue, posóse y nada más.Esta negra y torva ave tocó, con su aire grave,
en sonriente extrañeza mi gris solemnidad.
"Ese penacho rapado -le dije-, no te impide ser
osado, viejo cuervo desterrado de la negrura abisal;
¿cuál es tu tétrico nombre en el abismo infernal?"
Dijo el cuervo: "Nunca más".Que una ave zarrapastrosa tuviera esa voz virtuosa
sorprendióme aunque el sentido fuera tan poco cabal,
pues acordaréis conmigo que pocos habrán tenido
ocasión de ver posado tal pájaro en su portal.
Ni ave ni bestia alguna en la estatua del portal
que se llamara "Nunca más".Mas el cuervo, altivo, adusto, no pronunció desde el busto,
como si en ello le fuera el alma, ni una sílaba más.
No movió una sola pluma ni dijo palabra alguna
hasta que al fin musité: "Vi a otros amigos volar;
por la mañana él también, cual mis anhelos, volará".
Dijo entonces :"Nunca más".Esta certera respuesta dejó mi alma traspuesta;
"Sin duda - dije-, repite lo que ha podido acopiar
del repertorio olvidado de algún amo desgraciado
que en su caída redujo sus canciones a un refrán:
"Nunca, nunca más".Como el cuervo aún convertía en sonrisa mi porfía
planté una silla mullida frente al ave y el portal;
y hundido en el terciopelo me afané con recelo
en descubrir qué quería la funesta ave ancestral
al repetir: "Nunca más".Esto, sentado, pensaba, aunque sin decir palabra
al ave que ahora quemaba mi pecho con su mirar;
eso y más cosas pensaba, con la cabeza apoyada
sobre el cojín purpúreo que el candil hacía brillar.
¡Sobre aquel cojín purpúreo que ella gustaba de usar,
y ya no usará nunca más!.
Luego el aire se hizo denso, como si ardiera un incienso
mecido por serafines de leve andar musical.
"¡Miserable! -me dije-. ¡Tu Dios estos ángeles dirige
hacia ti con el filtro que a Leonor te hará olvidar!
¡Bebe, bebe el dulce filtro, y a Leonor olvidarás!".
Dijo el cuervo: "Nunca más"."¡Profeta! -grité -, ser malvado, profeta eres, diablo alado!
¿Del Tentador enviado o acaso una tempestad
trajo tu torvo plumaje hasta este yermo paraje,
a esta morada espectral? ¡Mas te imploro, dime ya,
dime, te imploro, si existe algún bálsamo en Galaad!"
Dijo el cuervo: "Nunca más"."¡Profeta! -grité -, ser malvado, profeta eres, diablo alado!
Por el Dios que veneramos, por el manto celestial,
dile a este desventurado si en el Edén lejano
a Leonor, ahora entre ángeles, un día podré abrazar".
Dijo el cuervo: "¡Nunca más!"."¡Diablo alado, no hables más!", dije, dando un paso atrás;
¡Que la tromba te devuelva a la negrura abisal!
¡Ni rastro de tu plumaje en recuerdo de tu ultraje
quiero en mi portal! ¡Deja en paz mi soledad!
¡Quita el pico de mi pecho y tu sombra del portal!"
Dijo el cuervo: "Nunca más".Y el impávido cuervo osado aún sigue, sigue posado,
en el pálido busto de Palas que hay encima del portal;
y su mirada aguileña es la de un demonio que sueña,
cuya sombra el candil en el suelo proyecta fantasmal;
y mi alma, de esa sombra que allí flota fantasmal,
no se alzará...¡nunca más!.
PD: Existe un capítulo de los Simpsons con una referencia a este poema.
November 7, 2008
Programacion básica
- ¿Cual es el mejor lenguaje?
- Pero nos quieres enseñar en consola, lo que yo quiero es programar en serio.
- Cuantos lenguajes debo aprender para ser un buen programador?
- Yo uso PHP, es mejor que Pascal, por que ahi no declaro nada y sale todo.
- Y siguen..
- El mejor lenguaje de programacion depende de lo quieras hacer, si quieres programar para escritorio, fundamenta tu elección.
- La programación en consola puede ser básica o avanzada, las interfaces son solamente pantalleo a lo que en realidad hace una aplicacion.
- Para ser un buen programador puede bastar solamente con saber un solo lenguaje, en este mundo no es mejor quien sabe un poco de todo, sino aquel que domina todo lo que maneja.
- A mi parecer los lenguajes tipados son los mejores para aprender a programar y para programar, no creo que sea una buena elección programar solamente por los tipos de datos, sinceramente PHP no me gusta demasiado exactamente por eso.
Metamodelo de UML 2
La solicitud fue para dos cosas, un lenguaje para definir estructuras( ver metalenguaje), y un lenguaje de modelado de propoósito general.
La repuesta para ambos fue UML, desde IBM, Rational , y un par de decenas de compañias.
UML en si es un lenguaje, por tanto puede interpretarse y validarse, la contraparte fue MOF, un "lenguaje" para definir estructuras u otros lenguajes, que a su vez esta definido en UML, en el UML Profile for MOF.
Ahora, que tal si quiero programar en MOF o sobre UML(no modelar UML, sino programar con UML), hace poco la solucion a esto era implementar MOF o UML( que son muy similares).
Esto era lento y propenso a errores, entonces la OMG publico una libreria que contiene la definicion completa de UML en Java, utilizando las potentes interfaces.
Esta libreria define lo que cada elemento dentro de UML deberia poder hacer, sus herencias, características y métodos. Entonces solamente debemos implementar estas interfaces, pero esto tambien es tedioso; la solucion a todos nuestros problemas es MDR(Metadata Repository) de Netbeans, que es un repositorio de datos que puede realizar la implementacion de metamodelos, que cosa no?.
Continuara...
October 12, 2008
Estándares de la IEEE
Para reducirles el calvario de la búsqueda publicaré para su descarga las normas para ingeniería del software que más me costaron encontrar.
Iniciamos con "IEEE Std 1063Standard for Software User Documentation" es una norma para escribir documentaciones de usuario, muy completa y útil.
IEEE Std 1063- Standard for Software User Documentation.rar
September 12, 2008
Metamodelo UML - 1
Pero, ¿qué es UML?, UML es una convención para modelar( visualizar, diseñar, especificar, documentar) algun elemento del mundo real, esa es la definicion de modelado, UML esta orientado hacia el desarrollo de software, aunque eso no quiera decir que solo se pueda usar para esto.
Perfecto entonces, es algo que me permite modelar, ¿pero como?.
UML define un conjunto de elementos que permiten el modelado, llamados diagramas. Existen diagramas de todo tipo, que tienen un objetivo específico y diferentes características propias.
Ahora mi problema es que debía definir UML en un lenguaje de programación, es decir, crear la estructura para modelor. Esto es algo interesante, ya que UML esta definido en UML !!.
Algo extraño, no?. Esto es llamado metamodelo, un metamodelo es un modelo de un modelo, son datos de datos, son esquemas de esquemas.
El metamodelo de UML se vería algo así:
Semejante cosa es posible gracias "MOF Meta-Object_Facility", que es otra norma para definir esquemas o arquitecturas, fué creado específicamente para UML, pero sus beneficios son numerosos.
Ahora como solo me interesan los diagramas de clase, una pequeña porción del UML, cada uno de estos elementos define la estructura del diagrama, sus elementos, operaciones y atributos.
Entonces la solución es utilizar MDR Meta-Data Repository, un proyecto iniciado por Netbeans que maneja una implementación del metamodelo de UML, aunque eso por supuesto no es todo lo que puede hacer.
Hasta aqui este post, más adelante seguiremos con este tema.
May 29, 2008
Slapt-get, Slackware potenciado
Pero ahora me toca hablar de una herramienta muy potente, pero antes, muchos amigos son usuarios asiduos de Ubuntu y todas sus variantes, cada vez me tiran en cara la facilidad de su sistema de paquetes, basta con decir:
apt-get install aplicacionEn cambio, uno debia descargar los paquetes, buscar sus posibles dependencias, y luego instalar, lo cual es simple en lo simple, y complejo en lo opuesto. Pero dirán, ¿entonces por que no compilas loque quieras instalar?.
Respuesta simple, por tiempo, estar compilando quita mucho tiempo, por lo que esto de momento queda descartado.
Entonces probé varias opciones, buscar todo mediante wget, usando swaret(que es muy bueno), pero al final me recomendaron slapt-get, una herramienta basada en el famoso apt-get de Debian.
Una vez instalado y configurado, una maravilla, solo basta con:
slapt-get -i postgresql
e instala absolutamente todo lo necesario, sus dependencias y posibles complementos, por lo que me quede asombrado inicialmente. Mucho mas asombrado quede al probar su opcion de actualizacion de distribucion:
slapt-get --dist-upgrade
todo va correctamente, y sin esfuerzo, ya actualicé mi Slackware.
Asi que aqui va como instalar y configurar esta potente herramienta:
- Descargamos el paquete desde linuxpackages slapt-get-xxx.tgz
- Instalamos
installpkg slapt-get-xxx.tgz
- Ahora configuramos el archivo /etc/slapt-get/slapt-getrc descomentando todas las lineas de contengan nuestra version de Slackware, y alguna superior, en mi caso descomente todas las que contienen Slackware 12 y Slackware 12.1.
- Finalmente ejecutamos
slapt-get -update
Todo listo, ya estamos preparados para probar esta utileria.
May 25, 2008
Introducción a la informática
Primero iniciamos con la publicación de manuales básicos sobre computación, historia, tecnología y actualidad.
- Sistemas de numeración , una breve pero concreta descripción de los sistemas de numeración.
- Diagramas de flujo , un documento completo, con definiciones, detalles, y un par de ejemplos.
April 1, 2008
Crea tu propio servidor de correo, sendmail en Slackware
Aunque necesitas algunas cosas primero:
- Un dominio, algo como "timo.com", mas o menos, existen servicios que te ofrecen servicios gratuitos.
- Alguna distribucion GNU/Linux, en este caso Slackware.
Un ejemplo de webmail es Hotmail, y otro de servidor de correo es Gmail, nuestro caso es el segundo. por lo que se necesitan dos servicios para esto:
- Servidor STMP(puerto 25) para el envio de correo.
- Servidor POP3(puerto 110) para la recepción de correo.
Configuración Sendmail
Para la configuración de sendmail, tenemos dos opciones, utilizar un archivo predefinido, o crearnos uno. Para usar el archivo de configuración por defecto:
cp /usr/share/sendmail/cf/sendmail-slackware.cf /etc/mail/sendmail.cfpara crear uno propio, debemos usar un fichero .mc, ya que es mas entendible, entonces:
cp /usr/share/sendmail/cf/cf/sendmail-slackware.mc /etc/mail/sendmail.mcy listo, ya esta configurado sendmail, ahora solamente iniciamos el servicio:
cd /etc/mail
jed sendmail.mc
m4 sendmail.mc > sendmail.cf
chmod +x /etc/rc.d/rc.sendmaily podemos verificar su ejecución con
/etc/rc.d/rc.sendmail start
nmap localhost
si vemos el puerto 25 abierto, para smtp todo esta correcto.
Configuración POPA3D
Este es simple, simplemente editamos el fichero "/etc/inetd.conf" y descomentamos la linea que contenga el comando "popa3d", luego:
/etc/rc.d/rc.inetd restart
y verificamos su estado con
nmap localhostSi quieres verificarlom configura Thunderbird, o Evolution, o el cliente de correo que quieras con servidor smtp = "tudominio" y servidor pop3="tudominio", todos los usuarios que tengan una cuenta en tu pc, tienen su cuenta de correo.
March 17, 2008
Servidor Apache en Slackware 12
Como sabemos, tanto los paquetes de Apache, como los de PHP y Mysql vienen incluidos por defecto en nuestra amada distro, asi que, ¿cómo usarlos?.
Primero, para iniciar Apache tenemos dos caminos:
apachectl start
ó, simplemente damos permisos de ejecución a nuestro archivo de servicio:
chmod +x /etc/rc.d/rc.httpd
luego
/etc/rc.d/rc.httpd start
Por supuesto que ambas formas soportan las opciones "start | stop | restart", por lo que no habrá ningún problema. Por defecto el directorio root de Apache esta en
/var/www/htdocs
para cambiarlo, editamos el archivo de configuración
/etc/httpd/httpd.conf
Bien, ahora activamos el soporte para PHP, en el fichero anterior, descomentamos
Include /etc/httpd/mod_php.conf
y reiniciamos el servidor, todo listo.
Para probar, en nuestro navegador por defecto, dirigimos la URL
http://localhost
ó
http://localhost:80
March 12, 2008
Tabla de requerimientos de hardware, distros GNU/Linux
Tabla requerimientos hardware segun distro
Ojala les sirva.
Fedora Transformation Pack
Via vivalinux me entero de la salida de un pack de software que nos brinda la posibilidad de cambiar la apariencia de Windows, haciendo que se parezca a la popular distribución de Red Hat, mediante Fedora Transformatio Pack(descarga).
El tiempo dirá si logrará tener el éxito de Ubuntu Transformation Pack.
Crea tu propia enciclopedia
Este es uno de los proyectos de comunidad libre mas grandes del mundo, con artículos de gran calidad y revisiones periódicas por parte de personas maravillosas :-) .
Pero, que sería la Wikipedia sin MediaWiki, la plataforma que soporta el proyecto.
MediaWiki es una plataforma libre escrita inicialmente para Wikipedia, utiliza el concepto de páginas wiki almacenadas en bases de datos relacionales.
A lo nuestro, por su capacidad de software libre, existe la posibilidad de instalar MediaWiki en nuestra PC. Sus requerimientos son:
- PHP version 5 o superior
- Mysql version 5.0 o superior
- Apache cualquier version
Se descarga el software desde aquí, deben copiarse los archivos a la carpeta de publicación de Apache, se siguen las instrucciones para crear la base de datos, y listo.
Tenemos nuestra MediaWiki funcional.
March 3, 2008
Por qué usar Slackware
Bueno, en esto mi punto de vista se basa en ciertas experiencias propias con alguna de estas distribuciones:
- Ubuntu, hermosa, rapida, muy elaborada y amigable. Pero, instalar alguna cosa sin tener una conexión a internet...
- Suse, similar a Ubuntu, pero mucho mas completa. Pero, yo no requiero un tanque cuando solo requiero una camioneta.
- Fedora, pues no se.
Algunas de las características que me gustaria puntualizar, son:
- Simplicidad, creo que esta palabra define todo lo que Slackware significa, no tiene grandes sistemas de paquetes que te empañan cualquier trabajo.
- Filosofía, es aun una de las pocas distros que viene con una version "limpia" del kernel Linux, además que incita a que el usuario mejore las características del mismo.
- Estabilidad, tuve la oportunidad de manipular un ordenador ATX que aun funciona de una manera increible.
- Rapidez, si, es tal vez la distro mas rápida que he utilizado.
- Versatilidad, la he podido instalar y configurar en casi todo ordenador que tuve en mano(aunque claro, en algunos casos con algo de trabajo).
- Instalación en modo consola(ncurses)
- No tiene herramientas visuales de configuración del sistema
- No hace el trabajo que el usuario debería hacer
Si aún no estas desanimado por esto, te invito a probar Slackware te aseguro que no te arrepentirás.
Aca algunos sitios muy interesantes:
_ES Slackware blog en español sobre Slackware y SL
SlackWiki si no te asusta el inglés, sitio muy completo con mucha información
Slackware Chile comunidad chilena de Slackware, muy recomendada
January 30, 2008
Configuracion de routers: Recuperacion del IOS
Llega algun momento, que, por alguna circunstancia, borramos el IOS(Sistema Operativo) del mismo, incluso de la memoria residente.
El asunto es, ¿que hacer?. Debido a que el software es propietario, es ilegal descargarlo, por lo que solo existe una solucion:
* Copiar desde otro router(funcional) el IOS hacia nuestro dispositivo victima.
La forma correcta de hacerlo es mediante un host intermedio, el cual puede ser una PC. Mediante un servidor TFTP, podemos copiar el sistema del router en buen estado, y pasarlo hacia el dispositvo 'vacio'.
Se puede usar el TFTPd32 , conectar nuestro router mediante un cable ethernet inverso, se ejecuta:
# copy c2600.xx.bin tftp://192.168.1.15
por ejemplo, asi ya tenemos copiado el IOS en nuestra PC, ahora para pasarlo hacia el dispositivo vacio, nos valemos de su ROMmon mode, colocando las direcciones mediante:
#set IP_ADDRESS=192.168.1.16
y los demas restantes, entonces
#set TFTP_FILE=c2600.xx.bin
y listo, al reiniciar iniciamos el wizard correspondiente.
Para resumir, aca un comprimido con las guias y una imagen para el router Cisco 2600:
- Comprimido con guias e imagen IOS -> Restore IOS
- Ruta de descargar del servidor tftp -> TFTPd32