jueves, 31 de diciembre de 2009

Amsn2 - Al fin rápido!



Una de las cosas que más odio de AMSN es que funciona con TCK/TL y su interprete WISH 8.5 que consume casi tantos recursos como la consola de java(xDDD). Así que investigando por la web de Amsn me encontré con que se hablaba sobre la versión Amsn2 que ha comenzado a desarrollarse hace poco.

Entre sus ventajas nos encontramos con que está escrito en Python por lo que volará y además se podrá escoger que tipo de interfaz visual usar. En principio se quería usar EFL aunque ha habido bastante flame en los foros y en el IRC y se ha optado por permitir escoger que tipo de GUI escoger: ECL, GTK y QT.

Así que ya sabéis, esta versión ha empezado su desarrollo pero crece como la espuma y promete demasiado. De momento podéis verlo en acción con el código:
  • wget http://download.github.com/drf-amsn2-65dcf58.zip
 *Si no pudieras descargar el código fuente. Consíguelo aquí pulsando sobre Download Source.

Descomprimimos la carpeta y la abrimos. A continuación abrimos amsn2.py con geany o nuestro compilador de python. Pulsamos sobre compilar, construir y ejecutar y ya tenemos nuestra versión alpha de Amsn2.


Simplemente genial, tiene pocas opciones, faltan los contadores de conectados pero va rápido como el agua y eso, por lo menos a mi, me encanta.

miércoles, 30 de diciembre de 2009

Ubuntu: Imagen NRG a ISO



Para pasar una imágen de CD con formato .NRG (nero) a .ISO (normal) existe un sencillísmo programa llamado nrg2iso que nos resolverá la vida.

Para instalarlo sólo hay que ejecutar en un terminal:
  • sudo apt-get install nrg2iso
Una vez instalado ejecutamos:

  • nrg2iso /home/tucuenta/nombre_imagen.nrg /home/tucuenta/carpeta/nombre_imagen.iso

Así de simple. Si pusiera already an iso file sólo tendrías que cambiar la extensión al archivo .nrg. Para ello seleccionamos el archivo y pulsamos F2, ahora cambiamos la extensión de .nrg a .iso y ya está.


Tampoco nos olvidamos de otros formatos de imágenes de CD. Existen programas de funcionamiento igual para MDF y MDS o CCD e IMG, mediante los programas mdf2iso y ccd2iso.
  • sudo apt-get install mdf2iso
  • sudo apt-get install ccd2iso




martes, 29 de diciembre de 2009

Licencias de Software



Hay gran cantidad de licencias de software y para los primeros desarrolladores de aplicaciones resulta un poco complicado. En cualquier caso si tu software es de código cerrado lo tienes bastante fácil. Existe un amplio espectro de licencias pero la más común es la EULA o licencia de acuerdo con el usuario final.

Esta licencia ha de ser aceptada antes de la ejecución del programa o se puede dar por aceptada tras las instalación o descarga. Efectivamente, es es eso que nadie lee y que llega a poner verdaderas barbaridades como, tendremos derecho a borrare la aplicación cuando queramos, usar tus estadísticas, venderlas, jugar al fútbol con tu ordenador y lo que quieran poner.

En cualquier caso nos centraremos en las licencias de software libre ya que aquí encontraremos un amplio número de opciones.

La más popular es la licencia GNU (GPL) aunque hay muchas variantes, casi al gusto del creador.
Empezaremos por partes:
GNU LGPL
Esta licencia nació para dar más libertaes en su uso. Por ejemplo si un programador crea una libreria y la comparte bajo licencia LGPL, permitirá que otro programador la use y no distribuya su producto bajo licencia GPL. Es menos restrictiva (l de lesser).


AFFERO GPL
Los que desarrolléis software de redes o web y lo queráis liberar, os interesa esta licencia ya que obliga a los usuarios del software a poner al alcance de todos el código, es decir, si yo creo un gestor de contenidos web y lo pongo para libre descarga, los usuarios de este gestor deberán poner el código y sus modificaciones a acceso de todo el mundo o estarían incumpliendo la licencia.


GPL
Esta es la licencia más usada normalmente. Actualmente está en su versión 3 pero tiene varias hermanas. Ya hemos comentado algunas de ellas pero nos centraremos en esta. En resumen, te permite copiar y distribuir el archivo y el código de fuente, eso si, distribuyendo el nuevo código bajo la misma licencia.

APACHE

Esta licencia nació para el gestor de peticiones web apache y aunque es una licencia de software libre, permite que sus modificaciones se puedan vender o distribuir bajo otras licencias.



El tema de las licencias de software es complicado ya que algunas son compatibles y otras no pero espero que este gráfico os ayude si empleáis librerias licenciadas en vuestros programas.


lunes, 28 de diciembre de 2009

Tucan Manager - Alternativa a JDownloader



Hoy en día con la explosión de las descargas directas se hace necesario el empleo de gestores de descargas. Las limitaciones de tamaño obligan a los uploaders a cortar sus archivos en cortes de 100 mb. Al usuario le toca bajarlos en pequeños trozos para luego al final juntarlos, trabajo bastante aburrido si no existieran estos gestores.

No os voy a mentir, el sistema de descarga directa tiene muchos problemas. Cada vez proliferan más servicios de descarga directa en la red llenos de publicidad. Estos servicios de descarga directa imponen esperas y ponen trabas a sus usuarios para que descarguen fácilmente. Además borran los archivos cuando tienen denuncias por copyright.


Por otra parte, también es importante recalcar que se esta perdiendo el sentido romántico del compartir y cada vez más son los usuarios que no respetan a los uploaders y lo quieren todo hecho, gratis y de la manera más sencilla. No se si será que me estoy haciendo mayor pero hecho de menos los sitemas de intercambio: esos trackers de torrents donde si tu ratio era inferior a tal número eras expulsado y en general donde cuando uno bajaba repartía un poco del pastel.

En cualquier caso y volviendo al tema, existen varios gestores de descargas. Uno de los más famosos es JDownloader que es de código abierto y que está escrito en Java. Quizá esta sea la razón de que cada vez vaya más lento, consuma muchísimos recursos y no pare de molestar a sus usuarios con actualizaciones para nuevos servicios que jamás has usado.

Si te va la sencillez, normalmente empleas rapidsahre, megaupload y gigasize, quizá sea hora de que conozcas Tucan Manager. Este sencillo programa escrito en Python es rápido, compatible con los principales gestores y además incluye las ventajas de JDownloader como el reconocimiento de caracteres OCR para los captchas. También emplea como interfaz gráfica GTK por lo que resultará más atractivo y rápido aún.

Tucan Manager esta diseñado para la velocidad, está en su versión 0.3.9 y ya lleva desde Noviembre un año dando guerra, además es multiplataforma!


Esta incluido en los repositorios de Ubuntu por lo que instalarlo resulta realmente sencillo. Para instalarlo sólo hay que escribir en un terminal:
  • sudo apt-get install tucan
Una vez instalado tan sólo tendréis que abrir el programa que se encuentra en vuestras aplicaciones de Internet, añadir vuestros enlaces y a disfrutar!

domingo, 27 de diciembre de 2009

PHP: Variable $_POST


En nuestra edición anterior sobre este lenguaje de programación os hablamos sobre la variable $_GET y para que podía ser usada esta. Hoy nos centraremos en la variable $_POST muy empleada en los formularios.

La variable $_POST recibe los datos a través del navegador a diferencia de la variable $_GET que recibe las variables a través de la URL de la página. Para enviar los datos a través del navegador es necesario crear un formulario. En el ejemplo de hoy crearemos un sencillo formulario de login o acceso para administradores.
Este formulario es muy sencillo y llevará consigo un script muy tonto. El fin de la lección de hoy es que aprendáis a usar los formularios y a emplearlos de manera más o menos rudimentaria.

Para ello primero crearemos el formulario HTML que incluiremos en nuestro código php.

El fórmulario HTML sería más o menos así:
 <form method="POST" action="formulario.php">
<input type="text" name="usuario"> <br />
<input type="password" name="contra"><br />
<input type="hidden" name="ok" value="1">
<input type="submit" value="Enviar">
</form>
 Este código html mostrará un formulario cuyo método será POST ($_POST) y que empleará a formulario.php (nombre de nuestro script). Contiene 2 campos visibles, 1 oculto y un botón de enviar. El campo oculto no tiene mucho sentido en este script pero a veces si que nos sirve de utilidad para enviar información que nos gustaría que no fuese modificada por el usuaro. En cualquier caso siempre se puede modificar por lo que no debéis guardar ahí información demasiado sensible.

El siguiente paso será crear nuestro script en php. Su funcionamiento será básico. Como siempre validaremos las entradas o nuestra web será una basura insegura. Para ello mismo emplearemos el siguiente código.
$usuario = addslashes(htmlentities(strip_tags($_POST["usuario"]);
$contraseña = sha1($_POST['password']);
$paso = intval($_POST["ok"]);
La variable usuario está fuertemete verificada. Para empezar eliminaremos todos los códigos html y php que incluya el nombre de usuario. A continuación transformaremos los elementos susceptibles de ser ejecutados como html a sus identidades de texto. Un ejemplo < se transforma &lt; y así con todos los caracteres. También y aunque no hayamos hablado de las inyecciones SQL ni de bases de datos, añadiremos el carácter de escape \ para evitar los problemas con la '. Por ello mismo se transformará ' en \' y no habrá problemas.
El campo de contraseña lo cifraremos a sha1 para evitar que ojos resultones miren y paso la transformaremos a número entero.

 El siguiente paso será añadir una sentencia condicional para ver que acción realizamos según la variable paso. Para ello:
if ($paso==0){//No ha usado el formulario

}else{// ha usado el forrmulaio

}
Muy bien, ya tenemos nuestro código. Para usarlo crearemos un archivo llamado formulario.php y lo subiremos a nuestro servidor. El contenido de este archivo será:
<?php
$usuario = addslashes(htmlentities(strip_tags($_POST["usuario"]);
$contraseña = sha1($_POST['password']);
$paso = intval($_POST["ok"]);

if ($paso==0){//No ha usado el formulario
   echo '<form method="POST" action="formulario.php">
   <input type="text" name="usuario"> <br />
   <input type="password" name="contra"><br />
   <input type="hidden" name="ok" value="1">
   <input type="submit" value="Enviar">
   <input type="text" name="usuario"> <br />
   <input type="password" name="contra"><br />
   <input type="hidden" name="ok" value="1">
   <input type="submit" value="Enviar">
  </form>';
else{
  if ($usuario="ZeYt" && $password="99800b85d3383e3a2fb45eb7d0066a4879a9dad0"){
     echo "Bienvenido ".$usuario;
  }else{
     echo "La contraseña es hola y el usuario es ZeYt";
  }
}
?>
Con todo esto os invito a que  probéis a jugar con los formularios y hagáis combinaciones con $_GET y $_POST. En próximas ediciones hablaremos de la variable $_COOKIE y en muy poquito sobre bases de datos.

sábado, 26 de diciembre de 2009

Historias - El martillo de Oro


C
Comic XKCD
El martillo de oro es la exaltación a límites increíbles de cualquier paradigma o tecnología. Suele decirse sobre estas tecnologías que son capaces de resolver todo tipo de problemas incluso problemas para los que no es la solución más adecuada.

Me recuerda mucho a los Javeros, Maqueros y en general cualquier fanboy del planeta. El concepto del martillo de oro esta relacionado con la frase "Cuando tienes un martillo todo te parecen clavos" ya que intentan aplicar su tecnología a todo consiguiendo horribles resultados.

En cualquier caso leectores, ser críticos con todo lo que veáis en Internet hablando mal de tecnologías o lenguajes de programación. ¡La mayoría de la gente no tiene ni idea!

"Pirateria" - ¿Perdón?

Uno de estos dos anuncios es falso. Adivina cual :P





viernes, 25 de diciembre de 2009

Internet: Comprar Dominios



A petición popular, hoy daré algunos consejos y opiniones sobre la compra de dominios de Internet.

En primar lugar, explicaremos lo que es un Registrador o Registrar, que es, un revendedor de dominios. Todos los dominios de Internet son gestionados por la ICANN que acredita a Registrars y estos tramitan las compras de los dominios.

Por ello mismo has de saber que cada Registrar se lleva una comisión y por lo general los Registrars malos cobran cantidades muy altas de comisión y además no siempre suelen ofrecer todas las opciones que serían deseables.

Existen muy buenos registradores que cobran cantidades muy pequeñas y que ofrecen la posibilidad de transferir el dominio, asegurarlo y privatizar los datos del comprador. Para explicar esto último indicaré que un dominio se puede transferir, no estas obligado a tener tu dominio con tu Registrar y también puedes privatizar la información del WHOIS (información del dueño del dominio)

Por todo esto debes escoger siempre un registrar barato, popular y fiable. Jamás deberíais pagar más de 5-10 € por un dominio estándar (.com .net .org .es etc..) aunque existen oros dominios más caros (.tv .fm  etc...)

Si ya tienes claro cual ha de ser tu Registrar y tienes un servidor con DNS o Domian Name Server, ya puedes proceder a la compra de tu dominio. El periodo mínimo es de 1 año pero es recomendable comprarlo por varios más pues el negocio de los dominios crece por momentos y cada vez son más los compradores de dominios usados que pagan un buen dinero.

A la hora de escoger un dominio, te recomiendo que emplees la función BULK Search de tu Registrar ya que la mayoría de los dominios están ocupados en Internet, si amigos, también hay especulación en Internet.
Una vez barajado los nombres de dominios y comprobada su disponibilidad deberás escoger el dominio que se relacione más directamente con el contenido de tu web y además comprobar que las búsquedas no estén saturadas con nombres de dominios parecidos.

Si ya lo tienes todo bien atado el último paso que te recomiendo es que compruebes en una base de datos ONLINE si ese dominio está en la lista negra por SPAM o actividades delictivas. Para ello mismo existen páginas como bakaclistalert.org donde podrás comprobar si está en la lista negra.

Si todo esta bien, procede a comprarlo (puede llegar a tardar 24 horas ) y apunta las DNS a tu servidor (en ediciones futuras hablaremos de hosting y servidores).

jueves, 24 de diciembre de 2009

FTP: ¿Cómo funciona?



FTP o File Transfer Protocol, es un protocolo de trasferencia de archivos e información muy popular. En principio este sistema esta usado por los administradores de servidores para subir archivos de configuración, información y datos. Por ejemplo, si tienes una web alojada en un servidor, necesitarás subir los archivos al servidor para que estos puedan ser accedidos. También  antiguamente este protocolo se empleó para el intercambio de música y películas.

Antes del nacimiento de napster se empleaba este sistema, donde la gente intercambiaba sus direcciones en foros y se configuraban cuentas recíprocas, es decir, para descargar algo tienes que subir algo.

Con el boom de audiogalaxy este sistema empezó a popularizarse gracias a las elevadas velocidades de transfenrecia y a la fácil navegación entre los archivos. En cualquier caso a día de hoy algunas bases de datos músicales privadas están siendo servidas vía FTP.

Por todo esto, si no tenemos un cliene FTP como FileZilla deberemos conocer algunos comandos que nos ayudaran a descargar y subir archivos. En cualquier caso lo más importante es que conozcamos la versión del servidor ya que dependiendo de la implementación puede variar la sintaxis.

Si sólo te interesa instalar un cliente FTP escribe en tu terminal:
  • sudo apt-get install filezilla
Una vez instalado lo encontraremos en Aplicaciones > Internet > Filezilla y conectaremos a la dirección de nuestro servidor con el usuario y la contraseña.

FTP EN TELNET
Para conectar al FTP emplearemos telnet. Como ya comentamos en ediciones anteriores no está cifrado por lo que no es el más óptimo para usar.
Para conectarnos mediante este protocolo ejecutaremos en un terminal:
  • telnet
  • open ftp.example.com 21
  • USER tuUsuario
  • PASS tuContraseña
  • SYST
  • FEAT
El comando USER  enviará nuestro usuario y el comando PASS la contraseña.
SYST nos devolverá bajo que tipo de servidor está el servicio corriendo y FEAT nos mostrará los tipos de extensiones soportadas.

Para movernos entre las diferentes carpetas emplearemos:
  • CWD /carpeta
  • PWD
CWD nos permite movernos entre los directorios y PWD nos mostrará cual es nuestro directorio actual.

Si queremos descarganos uno de los archivos emplearemos:
  • TYPE A
  • PASV
  • RETR nombre.extension
TYPE A nos cambiará el modo de transferencia. PASV cambia a modo pasivo y RETR nos permitirá descargar el archivo que deseemos.

Por último si queremos subir un archivo escribiremos:
  • TYPE A
  • PASV
  • STOR nombre.extension
Todos estos comandos pueden variar según el programa y versión del servidor FTP y el sistema operativo de este.

También se puede emplear FireFox como cliente FTP para ello sólo habrá que escribir en la dirección del servidor en la barra de direcciones.

Si queréis bajar música aquí os dejo dos servidores gratuitos y públicos aunque los hay mucho mejores.
ftp://cd-video.ru/
ftp://217.172.16.3:8778/

miércoles, 23 de diciembre de 2009

Linux: Grub, Gestor de Arranque



GRUB o GRand Unified Bootloader, es otro de esos proyectos desarrollados por GNU y su finalidad, resumidamente, es la de iniciar el sistema operativo que escojamos en una pantalla.

Gracias a este programa podremos iniciar entre varias versiones de kernel o incluso otros sistemas operativos libres o comerciales.

Su funcionamiento es sencillo. En primer lugar, la BIOS busca en los primeros 512 bytes del disco duro la información de carga y los transfiere a la MBR, un registro de datos.

Desde este registro accedemos a la información que nos dió los primeros 512 bytes y accede a la parte del disco duro que le indicó. Aquí nos mostrará el menú y escogeremos que sistema operativo iniciar.
Una vez escogido, se cargará la opción deseada. Así de fácil.

En cualquier caso su archivo de configuración resulta bastante lioso para la gente corriente. Por ello nos centraremos en modificar el menú a nuestro antojo y explicar que se encuentra en el archivo menu.lst

Para ello ejecutaremos:
  • sudo gedit /boot/grub/menu.lst
Una vez abierto para modificar, veremos que existen multitud de líneas comentadas mediante el símbolo #. Estas líneas no se ejecutarán pero nos pueden ayudar como guía.



default X
Este es quizá el comando que más le interese a la gente. En la X deberás poner el número del sistema operativo según te aparezcan en la lista, teniendo en cuenta que empieza por el  0. Si tu primer sistema operativo es Ubuntu aparecerá 0. Si tienes otro sistema operativo como Ubuntu Studio te aparecerá el 4 o más dependiendo de los kernels que tengas instalados. En cualquier caso resolverlo es muy fácil. Cuenta empezando desde 0 y cuando aparezca tu sistema operativo pon el número. En mi caso es 0 porque mi sistema operativo es Ubuntu con instalación limpia.

timeout       X
Si no te gusta tener que esperar en la cuenta atrás del menú puedes ajustar el tiempo en segundos. Recomiendo que se ponga un número mayor que 3. Lo deseable sería 5 o más. En cualquier caso si pulsas cualquier tecla se cancelará la cuenta atrás. No tengáis miedo!

#hiddenmenu
Si quitamos # a esta línea desaparecerá el menú del GRUB y aparecerá siempre que pulsemos la tecla Esc.

color cyan/blue white/blue
Aquí podremos escoger la combinación de colores que más nos guste para el menú. Los nombres de los colores han de estar en inglés.

password
Si eres uno de esos paranoicos de la privacidad y tienes ya una contraseña en la BIOS, fácilmente saltable, también puedes añadir una contraseña extra al GRUB. En realidad no sirve de demasiado porque si no cifras tu disco duro la cosa irá bastante mal. Del cifrado hablaremos más adelante. En cualquier caso puedes poner una contraseña a tu GRUB.
Para ello puedes usar la contraseña en texto plano o codificada en md5. Para ello añade:
password micontraseña
Si deseas  que esté en md5 entonces añade:
password --md5 $1$gLhU0/$aW78kHK1QfV3P2b2znUoe/
 La contraseña está cifrada en MD5. Si no sabéis cual es vuestra contraseña en MD5 sólo tendréis que buscar md5 encoder online y listo.


Más abajo de estas opciones encontraréis los sistemas operativos y que opciones y parte del disco duro son escogidas para iniciarse. Modificar estas cosas con cuidado. Si no sabes lo que estas haciendo, no sigas adelante aunque si puedes cambiar sin ningún miedo el títulode los sistemas operativos que se encuentra en title .




FREAKS++
Si lo que te gusta es la modificación de absolutamente todo, podrás poner una imagen de fondo de pantalla a tu GRUB consiguiendo un efecto impresionante. Para ello búscate cualquier imagen imagen que más te guste.
Paso 1: Preparar imagen
La abres con GIMP y seleccionas: Imagen > Escalar Imagen . Ponemos 640 x 480  Después escogemos Imagen > Modo > Indexado y escogemos 14 colores.
La calidad de la imagen se reducirá notablemente pero es lo que hay. Ahora elegemos Archivo > Guardar como y la guardamos en el Escritorio con el nombre que quieras y con extensión .xpm

Paso 2: Comprimirla y moverla
Para comprimir la imagen, escribe en un terminal:
  • gzip /home/tuusuario/Escritorio/nombre_imagen.xpm
Una vez comprimido la moveremos a la carpeta de grub. Para ello en el terminal escribimos:
  • sudo cp /home/tuusuario/Escritorio/nombre.xpm.gz /boot/grub
Ahora nos toca volver al menu.lst y añadir
  • splashimage=/boot/grub/splashimages/nombre.xpm.gz
El número puede variar pero puedes ver el número de partición en este mismo menú. Ahora sólo toca guardar y reiniciar.



PARA NOVATOS
Si te da miedo todo lo que es tocar archivos de configuración y usas UBUNTU, estás de enhorabuena. Necesitarás Start Up Manager. Para instalarlo escribe en un terminal:
  • sudo apt-get install startupmanager

Ves a Sistema > Aministración > Administración de arranque.

Aquí tendrás todos los pasos de configuración guiados y visuales. También puedes añadir una imagen siempre que cumpla los requisitos que expliqué en el paso 1 de la imagen.

martes, 22 de diciembre de 2009

POP3: ¿Cómo funciona?

POP3 o Post Office Protocol 3 es un protocolo para recibir correos. Su sintaxis es muy sencilla y nos permite crear sencillos programas para gestionar los correos.



Conocer este utilizando protocolo nos puede sacar de un apuro. Si tuviéramos que descargar nuestro correo  y no tuviéramos acceso a una interfaz gráfica (cosa rara) seríamos capaces de descargarlo y visionarlo. Para ello hoy explicaré el funcionamiento básico de este protocolo para que lo conozcáis y si os atreváis  a implementaros vuestro propio cliente para recibir correo.

FUNCIONAMIENTO
El funcionamiento de este sistema es muy fácil e intuitivo. Su repertorio de instrucciones es simple y normalmente no se emplean protocolos seguros para el correo, cosa que está muy mal.

En primer lugar hablaremos de telnet aunque ssh, del que hablaremos más adelante, sería la opción si nos conectáramos a un servidor cifrado. En cualquier caso nos decantamos por telnet que aunque como protocolo de red no esté cifrado nos vale como ejemplo.

Si tu servidor no usa SSL como protocolo, tendremos que conectarnos via telnet empleando ejecutando en un terminal:
  • telnet
  • open pop3.tuservidor.com 110
Debes modificar la dirección del servidor y el puerto. Normalmente y por defecto el puerto para pop3 es el 110.

Una vez realizado esto procederemos a identificarnos. Para ello emplearemos el comando APOP que envía cifrada la información tu usario y contraseña.
  • APOP tuemail@example.com t¡_!c0|\|T124s3Ñ@
El servidor nos devolverá un mensaje diciendo: OK y el número de mensajes nuevos.
Para ver tus mensajes tendrás que ejecutar el comando LIST primero.
  • LIST


Una vez recibida la lista que contendrá el ID del e-mail y el espacio en octetos del correo, procederemos a descargarlo. Para ello sólo queda usar el comando RETR y la id del mensaje.
  • RETR 1
Esto nos devolverá el e-mail en su código original. Suele incluir una cabecera con los datos del remitente y unos metas de información del correo.

Para salir usamos el comando QUIT y ya está. Así de fácil.

OPENSSL
Si usaras un servicio mayorista para el correo como gmail o live, necesitarás usar el comando openssl aunque el funcionamiento es igual.

Para emplearlo escribe en tu termial:
  • openssl s_client -connect pop.EXAMPLE.com:995
Una vez nos aparezca el OK, seguiremos los pasos anteriormente comentados.

lunes, 21 de diciembre de 2009

Linux: Clientes mensajería instantánea.

Existen gran cantidad de clientes de mensajería instantánea compatibles con la gran mayoría de protocolos existentes. Los grandes de internet como Google o Yahoo han creado los suyos y aunque en un principio se esperaba un gran éxito de ellos, han triunfado unos pocos. Por esto mismo se busca la compatibilidad entre todos los protocolos y se han creado muchos programas con este fin.

Entre todos los clientes destacan, Pidgin, Amsn , Emesene, Empathy y Kopete.

Pidgin


Actualmente viene por defecto en la distribución Ubuntu. Este popular cliente es empleado por muchos usuarios gracias a la multitud de protocolos soportados y a las conversaciones a través de pestañas. No resulta demasiado agradable aunque permite su congiruación a la carta. Para instalarlo:
  • sudo apt-get install pidgin
Amsn



Alvaro's messenger es un cliente que trata de imitar el funcionamiento del famoso messenger. Tiene soporte para web y para la mayoría de servicios de esta plataforma. Sólo le falta la compatibilidad con los juegos del messenger para ser completo. Quizá resulte un poco pesado aunque es el más logrado. Para instalarlo:
  • sudo apt-get install amsn

Emesene


Este cliente tipo messenger es visualmente muy parecido al messenger aunque funcionalmente este bastante incompleto. El proyecto promete aunque no avanza demasiado rápido. Para instalarlo:
  • sudo apt-get install emesene

Empathy


Es el nuevo proyecto de GNOME respecto a los clientes de mensajería instantánea. Acepta voz, vídeo y es multiprotocolo. Gráficamente deja bastante que desear aunque ha empezado muy fuerte. Se cree que será el cliente de mensajería instantánea de Ubuntu. Para instalarlo:
  • sudo apt-get install empathy
Kopete


Es el cliente que tiene por defecto con KDE. Esta muy logrado, tiene voz y vídeo e implementa la mayoría de opciones que tienen los protocolos. Para instalarlo:
  • sudo apt-get install kopete

domingo, 20 de diciembre de 2009

Web: La nube o Cloud Computing


Mapa de internet generado por opte.org

La computación en nube o Cloud Computing no es nada nuevo aunque se prevé que será el futuro. Este término no tiene nada en especial para los que realizan su vida normalmente en Internet. El modelo actual dicta que la información se guarde en el ordenador como pasa por ejemplo con los archivos de música, documentos , vídeo... y en el futuro este modelo se quedará obsoleto, o eso nos intentan vender.

Gracias a las mejoras en las conexiones de Internet y los recortes de gastos hechos por empresas como Amazon y su Ec2, el precio del gigabyte, tanto en espacio, como en transferencia se ha reducido notoriamente. Los costes de tráfico empiezan a tender a cero gracias a las grandes compañías que pactan coste 0 para tráfico entre distintos nodos.

Por ello mismo los servicios de streaming y descarga directa han sido el boom de este año y todo promete a que irán creciendo y multiplicándose. Esto se puede resumir en una creación masiva de servidores que no interesa tenerlos parados.

Por ello mismo se cree que de manera natural nuestra vida ha de tender hacia la nube o Internet. Este término se ha venido acuñando después del éxito del web 2.0, que no es nada más que emplear AJAX que es, resumidamente, emplear javascript en la página para que los usuarios puedan interactuar en una web como si de una interfaz gráfica de escritorio se tratase.

Ya existen varios proyectos que intentan virtualizar un sistema operativo a través de una web y en los que podremos encontrar aplicaciones, juegos, editores de texto y reproductores.

Todavía no tienen demasiado sentido puesto que actualmente los ordenadores son muy potentes y no tiene pinta de que vaya a cambiar aunque gracias a la implantación en el mercado de los EPCS o portátiles de mierda en términos no demasiado católicos; se prevé que cada vez los portátiles, móviles y demás tendrán menos procesador y memoria y toda la información se guardará en Internet. La información que tendrán nuestros dispositivos será una pequeña caché del contenido de Internet.

Servicios de correo electrónico, streaming, conversores, compiladores y servicios de mensajería ya existen on line. Son parte de nuestra vida y nos resultan útiles sobre todo cuando no queremos instalar una aplicación determinada por vagancia o desconocimiento de su existencia.

Por ello mismo, veremos si es verdad, nace lo que se cree que revolucionará la informática del usuario. La idea en principio no contenta a nadie pero ya hay grandes empresas apostando por esto como Google con su Chromiun, un sistema operativo totalmente diseñado para la nube.

Veremos cual es el futuro de todo esto ya que no pinta demasiado bien el cloud computing para el usuario normal.

sábado, 19 de diciembre de 2009

Linux: Reproductores de Audio



Existe gran cantidad de reproductores de audio para GNU/Linux. Para los que les gusten los reproductores grandes y que muestren mucha información de las pistas de audio, existen muchas alternativas. Ubuntu por defecto trae el reproductor RythmBox pero existen otras muchas opciones. Aunque si te gustan los reproductores compactos y funcionales entonces te recomiendo Audacious que esta basado en XMMS.

A continuación una breve explicación de los mejores reproductores:

XMMS


*Insertado en esta lista por ser uno de los mejores reproductores de antaño. Actualmente no es nada recomendable porque emplea GTK1 y da un montón de problemas. Insertado en esta lista para los nostálgicos.

Es un reproductor para entornos UNIX que inmita la sencillez del famoso WinAmp y que además es compatible con sus skins o plantillas. Es compacto, rápido y potente. Para instalarlo, necesitarás añadir las fuentes a tu archivo de información de fuentes. Para ello:
  • sudo gedit /etc/apt/sources.list
Añadimos al final del archivo para los que usemos Karmic
#XMMS
deb http://www.pvv.ntnu.no/~knuta/xmms/karmic ./

  • sudo apt-get update
  • sudo apt-get install xmms
Audacious

*Reproductor Audacious con piel de WinAmp

Audacious es una fork, o copia de XMMS, actualizada a los tiempos de hoy. Quizá resulte más pesada que su padre pero cumple bien sus requisitos. Tiene las características de su padre y además añade soporte para nuevos formatos.
Para instalarlo:
  • sudo apt-get install audacious


RhythmBox


Viene por defecto en la distribución Ubuntu. Gráficamente es como el ITunes y te permite crear bibliotecas de sonido, manejaras a tu antojo, buscar de diferentes maneras y valorar tus canciones. Está ligado al proyecto GNOME y sin duda sería mi elección como reproductor grande. Para instalarlo*:
  • sudo apt-get install rhythmbox

Amarok



Quizá uno de los reproductores más famosos actualmente, en general, suelen ser todos muy parecidos pero este reproductor te permite también el empleo de skins. Es compatible con IPOD y está muy ligado al proyecto KDE. Para instalarlo:
  • sudo apt-get install amarok

Banshee



Este reproductor compatible con IPOD, puede trabajar con lastFM y otros servicios de música en demanda. Acepta la reproducción de vídeo y tiene sistemas de listas de reproducción inteligentes. También acepta la descarga de letras aunque no sea el reproductor ideal por estar escrito en Mono.
  • sudo apt-get install banshee

viernes, 18 de diciembre de 2009

Linux: Sistema de archivos Ext3



Third expanded filesystem ó Ext3, es un sistema de archivos, más vulgarmente, conocido como un tipo de formato de discos duros.

Fue incluido en distribuciones linux en el año 2001 y fue desarrollado por Stephen Tweedle.

Fue una nueva versión del sistema Ext2 pero es compatible con ella. La principal diferencia con su antecesora es que acepta journaling, es decir, un registro de fechas y movimientos que permitía restablecer los cambios si algo fallaba.

La máxima dimensión de archivos puede variar según la implementación y puede ser de 16GB a 2TB. En cuanto el volúmen total del disco, también puede variar entre 2TB a 32TB.

Las ventajas de este sistema son muchas:
  1. La más destacada es la disponibilidad de los datos después de un apagado anormal ya que en Ext2 y otros sistemas de archivos es necesario realizar un fsck para comprobar si existieran errores. Esto resulta muy costoso en tiempo y por lo tanto no interesa.

  2. La integridad de los datos aumenta y el nivel de esta se puede seleccionar llegando incluso a permitir daños en los datos. Normalmente en las distribuciones se escogen niveles normales de seguridad.

  3. La velocidad es otra de las grandes características de este sistema frente a su antecesor. A pesar de que a veces escribe datos repetidos, su velocidad es mayor que las de otros sistemas. Acepta varias políticas de escritura entre las que se encuentran writeback, ordered y journal. La primera es ideal cuando interesa que los datos viejos no sean perdidos tras un reinicio inesperado pero este sistema necesitaría fsck. Puede activarse cuando se necesite una velocidad extra en el disco. La política ordered es la que viene por defecto y es la más consistente ya que garantiza que nunca habrá basura en el disco. Por otro lado el modo journal requiere un diario bastante grande para guardar las operaciones y tarda más para recuperar los datos tras un apagado no deseado aunque este sistema puede resultar muy eficiente para servidores de correos o sistemas que requieran mucha escritura de archivos pequeños.
El sistema Ext3 es muy recomendable ya que aporta estabilidad a los sistemas y tiene opciones de configuración a la carta lo que nos permite ajustar este sistema de archivos a las necesidades que tengamos.

En futuras publicaciones hablaremos de su predecesor Ext4 que promete más espacio y más velocidad entre sus nuevas características.

jueves, 17 de diciembre de 2009

Historias - Don't be evil.



El 4 de Septiembre de 1998 nacería, a manos de Larry Page y Sergey Brin, la empresa que 10 años después se comería el mercado de las búsquedas (cara más conocidas) y que generaría cantidades ingentes de dinero con su monstruoso sistema de publicidad convertido casi en un monolopio de la red (cara por la que no quiere ser reconocida).

El nombre de esta empresa viene del término matemático gogol, es decir, 10 elevado a la 100 o en términos más de andar por casa, un 1 seguido de 100 0s.
Un nombre pegadizo muy acorde para un buscador contextual, no basado en los famosos meta-tags.

El buscador revolucionó el sector gracias a su algoritmo oscuro page-rank que asigna un número del 0 al 10 a las páginas según los enlaces que reciba el sitio y más variables. Las páginas con más page rank aparecerán arriba en el buscador y las demás quedarán enterradas en el sand-box o caja de arena hasta que alguien desesperado las encuentre. Eso sí, si piensas que google lo hace todo con un algoritmo, probablemente sea mentira. Se sabe que existen personas que por campañas van comprobando las búsquedas y verificando la satisfacción de los resultados modificando las listas de apariciones. No todo iba a ser tan guay.

Para ganar page-rank existen todo tipo de trucos que son dominados por los posicionadores o SEO. Existen dos tipos de SEO, los  buenos y los malos. Los malos son conocidos como Black SEO y se aprovechan de fallos de los algoritmos de búsquedas de google, para aparecer en las primeras posiciones. La palabra SEO viene de Search Engine Optimizacion y es que de eso mismo se trata, optimizar tu web para los buscadores.

Hasta aquí todo bien, google se convirtió en la página de inicio de millones de personas y su crecimiento era exponencial. Todo el mundo hablaba de google, de la sencillez de su home page, de que no tenía publiciad (la gente no la distinguía) y de lo guay que era la empresa porque trataba genial a sus trabajadores.

El lema de esta empresa fue Dont Be Evil (No seas Malo) refiriéndose a la maldad como algo que sea malo, no en términos de prohibición. Sus aportaciones al mundillo fueron muchas, innovando en aplicaciones de manera gratuita y dando a conocer su cara más amable, consiguiendo hordas de fans al rededor del mundo.

Actualmente está desarrollado su propio sistema operativo con núcleo Linux que promete, para el que sólo navegue, una experiencia rápida y libre de virus* y malware*. Es cierto, google apoya el código abierto pero patenta su home-page. ¿Qué cosas verdad?

Hasta aquí, casi todo bien, google tiene su propio navegador, apoya el código abierto que no Software Libre y sus productos están desarrollados por ingenieros muy cualificados. Tienen conciencia con el medio ambiente e intentan usar energía 100% renovable, o eso dicen. También quieren sacar su propia compañía de teléfono móvil e incluso se habla de que podría convertirse en un ISP o vendedor de conexiones a internet.


Muy bien, Don't Be Evil se cumple siempre de cara al público pero:


¿Cual es la cara B de la empresa del buscador?

Con un precio de más de 500$ por acción esta empresa sólo busca crecer y alimentar el monstruo en que se ha convertido. La mayoría, por no decir más del 90% de sus ingresos, vienen por su sistema publicitario Ad Sense que crece a medidas alarmantes y que cada vez paga peor a los editores y exige mayor calidad a los sitios para ser aceptados.

Si lo pensamos detenidamente, es normal ya que con el tiempo tiende a mejorar cualquier servicio que comenzó pagando 20$ por 1000 impresiones a cualquiera y que actualmente paga céntimos por las mismas impresiones.

Cada uno dará las respuestas que quiera: crisis, ley de mercado... Quizás sea así aunque personalmente me da a mi en la nariz que el porcentaje que se lleva google como reseller publicitario ha ido subiendo a lo largo de los años. De ganar unos meros céntimos como intermediario ha pasado a llevarse más de la mitad, o eso dicen los usuarios cabreados con el sistema. Es por eso que empresas como facebook quieren crear su propio sistema de anuncios que promete quitarle cuota a google ad sense y además, permitirá la reventa a otros usuarios con una comisión más o menos aceptable.

Hasta aquí todo bien, algunos pensaréis que soy el típico usuario al que cerraron la cuenta de Ad Sense por actividades fraudulentas y que además pidió explicaciones y le dijeron que no se podía decir la razón no vaya a ser que digan algo de su algoritmo anti-fraudes.

Bueno es una empresa, busca gana dinero, es normal. Además no incumple el Dont Be Evil. Es un buscador que fue incapaz de indexar el ruso, chino y japonés por alguna extraña razón hasta hace nada.

Sin duda es un grave problema para un monstruo internacional de las búsquedas y la publicidad no pensar en el mercado chino.
No hace falta que te diga que si, que google ha entrado de golpe y aquí es donde su Don't Be Evil se derrumba por momentos.
Google, en China donde el gobierno lo controla todo, filtra los contenidos de sus búsquedas no vaya a ser que alguien piense diferente.

Muy bien google, nos das servicios gratuitos libres de publicidad para parecer una empresa moderna, de las que tienen conciencia y luego vas y censuras en los resultados a la gente que piense diferente en China. Muy bien, Don't Be Evil. Eso sí, pones un precioso cartel avisando de que los resultados pueden haber sido cambiados según las leyes del gobierno. Les faltó poner democrático y todos contentos.

Es la cara B de la moneda, a nadie le gusta oír estas cosas pero más de un servicio de nuestra vida en internet gira en torno a google y el saber no ocupa lugar.

A continuación os pondré una curiosa iniciativa que promete, con los ingresos ganados con su publicidad en Ad Sense comprar acciones de google hasta tener el control y hacer de google una empresa pública. Ya disponen de 819 a un precio de 500$. Les falta muchísimo pero todos los ánimos para ellos.

Si te preguntas porque escribo esto y uso la plataforma blogger vete al carajo xD!! . Wordpress es mejor aunque prefiero tener este blog sencillo libre de publicidad por mucho que me la ofrezcan cada vez que escribo un nuevo tema.

miércoles, 16 de diciembre de 2009

Cine: Código Linux y Piratas de Sillicone Valley

Hoy os traigo las dos caras de la moneda. El documental código linux habla sobre los inicios de este sistema operativo a modo de documental realizado por la 2 hace muchos años.
CÓDIGO LINUX


Por otra parte os traigo la película Piratas de Sillicone Valley que habla sobre la parte comercial del software comercial y donde saldrán un montón de nombres conocidos. No tiene desperdicio.
PIRATAS DE SILLICONE VALLEY

martes, 15 de diciembre de 2009

PHP: Variable $_GET



$_GET es una variable del sistema que contiene un array con información enviada por el usuario a través de la URL. Este variable suele ser usada para los programadores para crear opciones o menús.

Si esto no os queda claro crearemos un ejemplo:
  • http://example.com/index.php?variable1=hola&variable2=adios
Como veis en esa cadena estamos mandando dos variables tristemente llamadas variable1 y variable2. El contenido se lo asignamos con el = y en una tendremos hola y adiós.

Aplicado a los menús quedaría así:
  • http://example.com/index.php?menu=enlaces
Con esta variable mostraríamos diferentes cosas:
1   <?php
2  $menu 
htmlentities($_GET['menu']);
3  switch (
$menu){
4       case 
'enlaces':
5            
$imprime "Enlaces";
6       break;
7       default:
8            
$imprime "hola mundo";
9       break;
10  }
11  echo 
$imprime;
12  
?>


¿Cómo conseguimos el contenido de estas variables?
Muy fácil, en vuestro script para leer lo que nos envía el navegador sólo tendreis que hacer:

<?php
$variable1 = $_GET['variable1'];
echo $variable1;
?>

Si queréis saber el contenido de esta variable podéis usar el comando:
<?php
print_r($_GET);//Muestra el contenido en arrays
?>

VALIDACIÓN DE ENTRADAS
Lo más importante a la hora de programar es la validación de entradas. No te puedes fiar ni de los usuarios, ni de los administradores ni de ti. Por eso mismo debes validar todas las entradas. Hoy tratamos la variable $_GET empleada para recibir informacion a través de la URL.
Si queremos recibir un entero tendremos que usar el comando intval()
<?php
$entero = intval($_GET['variable1']);
echo $entero;
?>

Si queremos recibir un nombre, usaremos un string pero sin comandos html. Para ello podemos emplear expresiones regulares como el ereg_replace() aunque seguramente te olvides de algo y te la líen. Por eso es recomendable usar el comando strip_tags() o el comando htmlentities opción recomendada por mí.
<?php
$cadena = htmlentities($_GET['variable1']);
echo $cadena;
?>

Os invito a que probéis a no validar los códigos y aprendáis que pudiera pasar. Estos ejemplos son muy tontos pero htmlentities() es muy potente y capaz de parar ataque de tipo XSS o Cross Site Scripting. Mediante estos ataques o la inyección de código html se puede robar las cookies, la sesión y cualquier información susceptible de ser robada. Todavía no hemos hablado de bases de datos por lo que no hablaremos del addslashes() todavía.

En próximas entregas os hablaremos de la variable $_POST y seguiremos dando importancia a la validación de entradas de la que daremos mucho más adelante ejemplos de como hacerlo seguro.

lunes, 14 de diciembre de 2009

Historias - Alan Cox



Alan Cox, más conocido como el otro lado de la historia, es un programador británico, nacido en 1968, que se unió al proyecto Linux en 1991 cuando Linus Torvalds liberó el código de su núcleo.

Instaló la primera versión de Linux en su estación de trabajo en la Universidad de Gales y se cree que fue la primera instalación de este sistema operativo en una gran red. Por ser el primero descubrió gran cantidad de fallos del núcleo a la hora de trabajar con redes. Corrigió esos fallos y comenzó a tomar parte activa en el desarrollo del kernel. Llegó a ser la mano derecha de Torvalds en el proyecto.

Mantuvo dos versiones del kernel propia a las que el aplicó los parches. Estas versiones siguen aún disponibles y son conocidas como linux-ac donde el sufijo añadido son las iniciales de su nombre.

Es un gran defensor de la libertad de programación y activista en contra de las patentes de software. No viaja a Estados Unidos por miedo a las leyes de copyright del país que llevaron a la cárcel al programador Dmitry Sklyarov.

A mediados de 2009 abandona definitivamente el proyecto Linux donde mantenía la parte TTY tras 18 años.

Actualmente, el que fuera uno de los primeros hackers, dedica 10 horas diarias a la programación trabajando para Red Hat y vive con su mujer que se dedica al mantenimiento de una web.

domingo, 13 de diciembre de 2009

Linux: JSign Firma tus PDFS



Un lector nuestro nos ha informado de la existencia de un programa de código abierto para firmar PDFS. En GNU/Linux el tratamiento de PDFS no es demasiado bueno y aunque existen herramientas que tratan de imitar al Acrobat Reader, lo cierto es que dan bastante fallos.

JSign se puede usar de dos maneras. Como añadido a tu Oppen Office, o como ejecutable. Al estar programado en Java es multiplataforma lo que nos permitirá usarlo sin restricciones.
Para bajarlo:
  • wget http://switch.dl.sourceforge.net/project/jsignpdf/jsignpdf/JSignPdf%200.9.0/JSignPdf-0.9.0.zip
Una vez descargado procedemos a extraerlo donde queramos y lo ejecutamos haciendo doble click o a través de la consola con:
  • java -jar /home/tucuenta/carpetaJSign/JSignPdf.jar
Podéis visitar la página del proyecto para más información. Este tipo de programa se usa mucho en ámbitos empresariales para estampar firmas electrónicas o firmas seguras. 

Ubuntu: Curiosidades ocultas.

Muchas veces los programadores esconden fotos de equipo o pequeñas tonterías para que los usuarios las descubran.
Algunas siguen sin descubrirse pero otras ya se han descubierto. A continuación os pondré las que conozco en Ubuntu.

Vaca en la Terminal
Para ver una vaca mugiendo en tu terminal, abre uno y escribe:
  • apt-get moo




Robots en tu firefox
Abre una nueva pestaña de firefox y en la barra de direcciones escribe:
  • about:robots



 Equipo de desarrollo de Calc de Open Office
Abre el programa Calc de Open Office y en una celda escribe:
  • =STARCALCTEAM()



GELGS Invaders
Version del mítico space invaders pero con el logotipo de la librería gráfica de GELG, una cabra con 5 patas. Para jugar pulsa ALT + F2 y escribe:
  • gegls from outer space




Seguramente hayan muchas más por descubrir e irán saliendo poco a poco.


sábado, 12 de diciembre de 2009

Ubuntu: Producción musical y LMMS



Si os dedicáis a la edición y producción de sonido y usáis Ubuntu, es recomeendable que empleéis la distribución Ubuntu Studio porque tiene instsalado por defecto gran variedad de programas de edición de audio y su núcleo es en tiempo real.

Aún así desde Ubuntu normal podemos parchear nuestro kernel para que sea en tiempo real. Para ello ejecutaremos:
  • sudo apt-get install linux-rt
Una vez instalado, podremos emplear diferentes tipos de programas con baja latencia, muy útiles para sonido.

Para los que os dediquéis a la grabación y edición de grupos, si queréis arreglar trozos de batería o cualquier fallo en la grabación, podréis usar Rezound. Este programa pese a no tener una interfaz muy elegante, cumple bien sus funciones.
Para instalarlo:
  • sudo apt-get install rezound

Para trabajar sobre las ondas y aplicar efectos existe el programa Audacity. Este programa nos permitirá mezclar pistas y modificar las ondas a nuestro gusto. Para instalarlo:
  • sudo apt-get install audacity

Por último, si lo que te interesa es la producción basada en samples o librerías, deberías conocer el Linux MultiMedia Studio o LMMS, un programa parecido al Fruity Loops gráficamente pero con funciones distintas. Para instalarlo:
  • sudo apt-get install lmms


viernes, 11 de diciembre de 2009

GIMP: Editor gráfico muy potente.



GNU Image Manipulation Program o GIMP es un editor de imágenes muy potente y bajo licencia GPL.
El proyecto nació en 1995 bajo dos estudiantes de Berkley y actualmente está desarrollado por programadores voluntarios en su versión 2.6.

Se ha convertido en la herramienta más potente de edición de imágenes libre y es la competencia directa con el PhotoShop de Adobe.

Es capaz de leer y escribir la gran mayoría de formatos y además posee su propio formato, el .xcf. También permite la automatización mediante comandos con su lenguaje interno llamado Scheme.

Su uso es similar al Photoshop aunque si no te acostumbras a su manera de trabajar existen versiones alternativas como el GIMPShop o GIMPhoto.