lunes, 21 de abril de 2008

VRMS

En un momento de oscio y curiosidad he comenzado con una larga lectura en blogs web, en la cual me he encontrado con un software algo cómico y controversial podría decirse, hago referencia al software denominado vrms (acrónimo de Virtual Richard Matew Stallman) el cual realiza un proceso de búsqueda en los programas que están instalados en tu computador, indicándo al final el porcentaje de software libre y propietario que existe en tu sistema operativo, siempre y cuando tu sistema esté basado en Debian.

Instalar el software es repetitivamente sencillo, solo hace falta utilizar en cónsola el comando: sudo apt-get install vrms

Para ejecutar el paquete debe tipearse en cónsola el comando:
vrms

jueves, 10 de abril de 2008

Dolores de Cabeza de un Windows

Dolores de Cabeza de un Windows:

Actualmente me encuentro fuera de mi casa desde la semana pasada, motivo por el cual no he podido postear mucho que digamos, sin embargo, la obligación a hacer uso del computador para mis actividades diarias me ha llevado a solicitar a mis familiares un espacio para usar sus máquinas, bien, el detalle principal es el hecho de que me he visto obligado a hacer uso de Windows pues no poseía un LiveCD en mis manos, (cosa que hasta hoy se cumplió pues acabo de descargar y quemar el elive). He recordado una vez más la cantidad de problemas que se pueden generar en WIndows XP y la cantidad de soluciones complejas que los técnicos tendemos a buscar, muchas veces, soluciones mucho más complejas de lo necesario.

Desde el día que llegué, la máquina de un familiar ha estado presentando muchos problemas, ninguno de ellos tan crucial como el hecho de que Internet Explorer no funciona, pues no carga conexión, sin embargo Mozilla Firefox navega de las mil maravillas sin problema alguna, sin embargo, por motivos desconocidos mis familiares prefieren hacer uso única y exclusivamente de IExplorer, he hecho todo lo que está a mi alcance para solventar la situación; he escaneado el disco con antivirus instalados y online, con antispyware, adaware, he hecho limpiezas generales al registro y al sistema con sofware como Ccleaner y Tune Up 2008, sin embargo el problema se sigue presentando, hoy sin embargo una vecina de mi familiar, ha llamado a Cantv (la empresa que nos da servicio de internet, nuestro ISP) y ellos indican que el problema se encuentra en la plataforma, sinceramente, me parece extraño el hecho de que el problema se encuentre netamente en la plataforma, sin embargo, dejaré que ellos se maten la cabeza un rato con el inconveniente, eso si, a mi parecer, a esa máquina del FORMATO NO LA SALVA NADIE.

Otro hecho curioso que me ha ocurrido con windows, sucedió hace ya casi un mes. En el instituto en el cual curso mi carrera de TSU en informática nos habían solicitado que generaramos un proyecto sencillo, en el cual utilizando PHP y MySQL conectáramos una página Web con una base de datos y lográramos desde una interface web: a) añadir, b) consultar, c) modificar y d) eliminar información de la Base de Datos. Eramos un grupo bastante ameno, interesado en aprender, (acotación, aprendimos más por nuestra cuenta que con las guías de los profesores, aprovecho para agradecer al prof Mervin Marquez por su colaboración incondicional al explicarme los códigos) sin embargo, en el computador en el cual estábamos haciendo todo, los códigos no funcionaban, pues se generaba un error de conexión al intentar correr algún script de PHP. En fin, nos encargamos del diseño de la interface Web, de la creación de la base de datos, y de los códigos, aparte cada uno, y luego ensamblamos todo, sin embargo aún así, no funcionaba, luego de un tiempo, con el estres a mil por hora pues debíamos entregar el proyecto la mañana siguiente, y con la confirmación de parte de expertos en el área de que nuestro código estaba correcto, yo me retiré a llevar a uno de los integrantes del grupo a su casa, en ese momento, uno de los compañeros se quedó en casa, luchando con el computador para investigar porque no funcionaba todo como debía ser, luego de unas horas de guerra, identificó que nuestro problema lo generaba el Antivirus, todo el problema recidía principalmente en el hecho de que se estaba bloqueando la conexión entre PHP y MySQL en el localhost y por lo tanto, la base de datos no devolvía la respuesta del código, esto lo hacía el firewall que trae el antivirus por defecto.

La moraleja de todo el asunto es, un buen sistema operativo no tendrá fallas de navegación que sean intermitentes o racistas, navegará con cualquier programa que esté bien configurado y que posea esa función. Y un buen sistema operativo, denegará el acceso de PHP a MySQL si no es local, sin embargo, el local, no tiene un sentido directo, no si todo está bien instalado y configurado.
Por otro lado, recordemos siempre que los problemas complejos tienden a tener soluciones simples, revisen todo, capa por capa y detalle a detalle, así conseguirán el problema.

jueves, 3 de abril de 2008

LiveCD GNU/Linux

Como usuario de Linux he tenido que probar distintas distribuciones a lo largo del tiempo, para así poder definir cual es la que más se adapta a mis necesidades. Para esto, la mayoría de las veces he hecho uso de versiones LiveCD, lo cual nos genera por defecto la necesidad de definir ¿Qué es un LiveCD?

Un LiveCD (que traducido al español sería CDVivo) es un Disco Compacto en el cual se posee una versión de un sistema operativo, dicha versión es capaz de iniciarse en el computador sin necesidad de ser instalado en el disco duro, esto nos permite hacer una prueba del software y su estabilidad sin llegar a hacer cambio alguno en el disco duro. Para lograr esto, el sistema operativo almacenado en el LiveCD se guarda en ram y va interactuando entre la unidad y la ram para poder funcionar de forma eficaz y eficiente.

Existe una infinidad de LiveCD de GNU/Linux que podemos probar al notar cuales son las distribuciones que más nos llaman la atención, para este fin, he estado Verificando en la web y he encontrado la siguiente fuente: http://www.zegeniestudios.net/ldc/ en la cual se puede hacer un test (está en varios idiomas, incluyendo el inglés y el castellano) que nos indica cuales son las distribuciones de GNU/Linux que más nos conviene utilizar.

Luego de saber cuales son las distribuciones que más nos llaman la atención, podemos proceder a descargar en su página oficial un LiveCD de dicha distro, la mayoría de ellas se descargan en un archivo en formato .ISO el cual simplemente podemos proceder a grabar en CD para hacer uso de el posteriormente.

A continuación Indicaré los pasos necesarios para hacer uso de un LiveCD, partiendo del hecho de que ya haya sido anteriormente descargado y grabado en un CD.

  1. Reiniciar la computadora
  2. Entrar al Bios
  3. En el menú que se nos muestra, conseguiremos una opción normalmente denominada "Advanced Bios Setup" o "Bios Features Setup", debemos entrar a esa opción (situando el cursor sobre ella y presionando la tecla enter) y allí cambiar la secuencia de booteo indicando que arranque primero por la unidad de CD.

Nota, para realizar las operaciones anteriores es recomendable que lean el manual de la tarjeta madre pues el nombre de las opciones puede cambiar.

Luego de esto solo queda colocar el cd en la bandeja de la unidad para que la máquina comience la secuencia de booteo por el mismo, y presionar enter en el momento en el cual nos indique que va a arrancar por el cd.

Las distribuciones que más me han gustado en sus versiones LiveCD son:




Personalmente soy usuario de Debian. :D

jueves, 27 de marzo de 2008

Enseñanza Multiplataforma

Para la comprensión del presente artículo se considera necesario el conocimiento de lo que sería Enseñanza Multiplataforma. La enseñanza multiplataforma viene dada al capacitar a los estudiantes en áreas de software que sean tanto privativas como libres, que los estudiantes aprendan a desempeñar las mismas funciones tanto en software privativo como en software libre.

Definido esto, puede procederse a la lectura del artículo.

En la actualidad se puede decir que los individuos somos dependientes de la tecnología. Si no están de acuerdo conmigo, verifiquen las estadísticas sobre temas tales como: Aumento en el uso de tecnologías móviles, Lectura de noticias vs e-news y otros por el estilo.

Aún siendo dependientes de la tecnología, no nos damos cuenta de muchas cosas que pasan a nuestro alrededor y que vienen a ser consecuencias directas del uso de la tecnología. Por ejemplo, tenemos sistemas de votación electrónicos (muestra excepcional de tecnología) que registran la cantidad de votantes por cada candidato. Lo que no sabemos es que dicho sistema está hecho en software libre (lo que permite garantizar que el código se mantiene limpio y que todos los que lo deseen puedan verlo y con un poco de esfuerzo entender que hace el mismo. Así se asegura que el proceso sea total y cabalmente legal, en teoría). Esto, tal y como lo indican en la página web del día del software libre (http://softwarefreedomday.org/SoftwareFreedom.es) indica que "las libertades básicas que como ser humano Ud. da por sentadas son sólo tan libres como la tecnología en la cual se basan".

Poco ha poco hemos comenzado a hacer uso de estándares libres y de plataformas libres, así como también de formatos libres (tal y como se indica en el artículo anterior http://ojedareinaldo.blogspot.com/2008/03/primer-da-mundial-para-la-libertad-de.html) y esto nos permite asegurar que en un futuro podremos ver esos documentos sin problema alguno con las versiones o los programas que decidamos hacerlo.

Sin embargo el objetivo del presente artículo no es defender netamente el uso de formatos libres, sino hacer notar el hecho de que en las instituciones educativas aún se enseñe en un alto porcentaje única y exclusivamente software propietario.
Surjen entonces estas interogantes:
  • ¿Por qué no entrenar a los estudiantes, en vez de educarlos?,
  • ¿Por qué no mostrarles que pueden hacer uso de software propietario y también de software libre para ejecutar las mismas acciones?,
Entiéndase que la computación multiplataforma es lo que se debería enseñar, es sobre esto que se debería capacitar a los estudiantes (en el área de informática por lo menos). Se necesita que los estudiantes entiendan y aprendan los conceptos, no recetarios de cómo hacer determinadas acciones con determinado software exclusivamente.
Si se enseña sobre software específico no se logrará una capacitación plena del estudiante, sino más bien una venta y comercialización de un producto. En cambio, si se enseñan los conceptos para determinadas acciones, demostrando como hacerlas con diferentes softwares, se lograría entrenar al estudiante y capacitarlo así plenamente para un campo de trabajo. Esto soignificaría capacitarlo para que se pueda enfrentar tanto a software propietario como software libre, al igual que a estándares abiertos y cerrados;, que al fin y al cabo (la mayoría de las veces) terminan cumpliendo las mismas funciones aunque de diferentes maneras.

Recordemos que aquellos estudiantes que aprenden a programar solo en lenguajes propietarios, podrán únicamente trabajar en sitios donde se haga uso de esos lenguajes y de esos estándares. No obstante, si se les enseña como programar, en su base más estable, y se les demuestra como hacerlo en diferentes tipos de lenguajes, ellos estarán preparados para enfrentarse a un campo laboral en el cual se usan estándares de diferentes tipos.

Existe una Carta Abierta Para Instituciones Educativas "Open Letter to Educational Institutions" en la cual se toca con más profundidad lo que en el presente artículo se ha denominado como Enseñanza Multiplataforma.
La versión original se encuentra en: http://softwarefreedomday.org/openletter/education/en (inglés)
Una traducción al español puede ser vista en: http://softwarefreedomday.org/openletter/education/es

También puede ver más información en: http://softwarefreedomday.org/
En dicha página puede leer un artículo interesante sobre la Libertad del Software denominado "Libertad de software, apuntalando sus derechos humanos"
Su versión original está en: http://softwarefreedomday.org/SoftwareFreedom
Una traducción al español puede ser vista en: http://softwarefreedomday.org/SoftwareFreedom.es

26-03-08 Primer día mundial para la Libertad de Documentos

Primer día mundial de la Libertad de los Documentos (The world's first Document Freedom Day), y así se celebró, muy poco sabido por los informáticos, sin embargo es un hecho que se espera se convierta en histórico y tracendental, pues se planea celebrar todos los 26 de Marzo el día mundial de la Libertad de Documentos.

Todos se preguntarán, ¿Qué es la libertad de documentos?
Básicamente la libertad de documentos es el hecho de guardar sus documentos (valga la redundancia) en un formato libre. Por ahora, el único formato que respalda del todo el DFD es el formato .ODF (tal como lo indica Wikipedia, 2008 "ODF, es un formato de fichero estándar para el almacenamiento de documentos ofimáticos tales como hojas de cálculo, memorandos, gráficas y presentaciones)."

El DFD (acrónimo de Día para la Libertad de Documentos, que en inglés sería Document Freedom Day) Es el día global para la liberación de documentos y es un día para esforzarce en educar sobre la importancia de los formatos libres para documentos y estandares abiertos en general.

Hay grupos alrededor de todo el mundo que se inscribieron para participar y colaborar en informar a los ciudadanos sobre la Libertad de Documentos, la idea fue presentarse en instituciones educativas para dar una charla, por lo menos en Mérida, Vzla el evento no se celebró, sin embargo existe y se espera más asistencia y ayuda para el año que viene.

Este es otro punto positivo para los amantes de los estándares abiertos.

La página oficial del DFD es http://www.documentfreedom.org/Main_Page, se encuentra en inglés, sin embargo existe una traducción al español para la página inicial.

miércoles, 19 de marzo de 2008

Hablar en código

En España han hecho un festival premiado, el cual denominaron, relatos cortos de hackers de la UPC.
Este que verán en el link es un artículo que ganó uno de los premios, le leí y me vi obligado a colocar el vínculo en mi blog.
La autoría del artículo pertenece a Benjamí Villoslada.
http://gallir.wordpress.com/2007/11/22/p0wned/

domingo, 16 de marzo de 2008

Local Server en Linux (LAMP)

LAMP

Primero que nada debo disculparme con los lectores por la ausencia, sin embargo estaba finalizando semestre en donde estudio y por lo tanto el presente Blog pasó a 3ero en mi orden de prioridades.


Por mi trabajo y mis estudios me he visto obligado a hacer un servidor local en mi máquina, para empezar tuve que hacerlo en Windows ya que ese es el sistema que se utiliza en la institución y ya sabía como montarlo. Por lo tanto procedí a instalar primero un paquete denominado WAMP (acrónimo de Windows, Apache, MySQL y PHP), para instalar dicho paquete solo es necesario tener el programa y seguir sus instrucciones (como casi todo en Windows) sin embargo, poco tiempo después me percaté de que ese paquete generaba algunos problemas con PHP5 y procedí a desinstalarlo para comenzar entonces con "appserver" (el cual funciona a las mil maravillas en Windows). Bueno, se me presentó un gran problema que contaré luego en otro artículo, para no salir del tema (el artículo lo llamaré, "PHP y MySQL sin conexión Windows"). Sin embargo, al tener un poco más de tiempo, he hecho lo que todo linuxero hace (a mi parecer) demostrar que las cosas funcionan bien en GNU/Linux, y procedí a instalar mi WebServer en Debian Lenny cumpliendo los pasos que indicaré.

Vale acotar que cuando se instala GNU/Linux Debian en el último paso nos pregunta si deseamos instalar las aplicaciones de Server, lo mejor es decir que si desde ese momento, pero que pasa si no queremos reinstalar, tranquilos, todo tiene solución.

Lo primero es saber ¿qué necesitamos para un WebServer en Linux?
ara mi caso yo necesito un LAMP (acrónimo de Linux, Apache, MySQL y PHP) así que procedí a instalar con nuestro querido comando apt-get install

1.- Primero instalaremos Apache
"apt-get install apache2" nos mostrará una salida en pantalla en la cual se informa que posee las siguientes dependencias: "apache2-mpm-worker, apache2-utils apache2.2-common, libapr1, libaprutil1, libpq4, libsqlite3-0", las cuales serán instaladas, aceptamos para que prosiga la instalación de apache.

2.- Bien, luego de esto, instalaremos MySQL:
"apt-get install mysql-server" nos mostrará una salida en pantalla indicando que sus dependencias son: "libbdb-mysql-perl, libdbi-perl, libmysqlclient15off, libnet-daemon-perl, libplrpc-perl, mysql-client-5.0, mysql-common, mysql-server-5.0; aceptamos instalarlas todas y comenzará automáticamente el proceso, en determinado momento nos solicitará indicar el nombre del servidor (indicar localhost) el nombre de usuario (aconsejo indicar root) y una contraseña (por seguridad aconsejo que sea algo que recuerden).


3.- Ahora procederemos a instalar PHP5:
"apt-get install PHP5" igual que en los casos anteriores, se nos indicará las dependencias de ese paquete, las cuales son: "apache2-mpm-prefork, libapache2-mod-php5, php5-common" e igualmente debemos aceptar para que se instalen todas.

4.- Perfecto, aparentemente ya tenemos todo lo que necesitamos, sin embargo en la mayoría de los casos es necesario que se active la extensión de MySQL para PHP, en mi caso así lo fue, por lo tanto procedí a instalarla con el siguiente comando: "apt-get install php5-mysql"

Nota: debe repetirse ese paso para cada extensión que se desee.

Ahora si tenemos instalado todo lo que necesitamos, solo falta configurar algunos detalles menores.
En el archivo "php.ini", que se encuentra en la ruta "/etc/php5/apache2/" debemos activar la extensión de MySQL, descomentando la línea "extension=msql.so", para esto debemos abrir el archivo con permisología de root. (En caso de que no sepan muy bien como abrir el archivo con permisología de root, les indico que una de las formas más fácil es hacer uso del comando "sudo nautilus" que nos abrirá el explorador de ficheros y desde allí podremos buscar y dar apertura al archivo).

Ahora, para que ese cambio sea tomado por el sistema (no es necesario reiniciar :D) solo tendremos que reiniciar el servicio de apache, lo cual se logra haciendo uso del comando "/etc/init.d/apache2 restart"

El único dato que no les he indicado y considero importante es indicar donde están los ficheros de instalación de cada programa y donde deben colocar las páginas Web que desean ver en su servidor local.
Ficheros de instalación de los programas

  1. Apache2: "/etc/apache2/"
  2. PHP5: "/etc/php5/"
  3. MySQL: "/etc/mysql/"


Las páginas Web que desean ver en su servidor local deben estar en la carpeta www: "/var/www/".

Para poder ver en un navegador sus páginas web debe indicar en la barra de direcciones lo siguiente "http://localhost.com/" (en caso de que todas sus páginas web las haya puesto en la carpeta www; si creó un subdirectorio, entonces debe indicar, luego del "...com/" el nombre de la carpeta, recuerde que por defecto el servidor web siempre abrirá la página denominada index, bien sea html o php).

Nota final: He comprobado que en Linux las cosas pueden ser más fáciles que en Windows por lo menos en lo que a servidores web se refiere.