28 abr. 2011

Lanzado Ubuntu 11.04

Hoy ha sido lanzado oficialmente la nueva versión del sistema operativo Linux que te hace muy feliz porque es gratis y porque nunca tendrá virus, un sistema operativo pensado para ti, que te ofrece posibilidades que no imaginaste con Windows.

La nueva versión de Ubuntu 11.04 viene con una interfaz llamada Unity que se ve de esta forma:

Adicionalmente se han creado lentes o (Lens) que permite navegar por los programas y las carpetas de forma mas eficiente, te permite ver cuales son los archivos que has trabajado mas recientemente y puedes acceder con un solo click. Donde obtendrás esto:

Si quiere ver las categorías de aplicaciones con solo dar click derecho sobre el lens podrás ver los programa por categorías.

Una nueva característica es el panel superior re-diseñado que cuenta con una mejor integración del sistema de sonido y de música con el reproductor Banshee, que ahora permite seleccionar una lista de reproducción.

Por supuesto todo sigue integrado con el bello sistema de notificaciones emergentes, que esta listo y presto para avisarnos cuando cambiemos la canción o cuando nos llegue un mensaje en el twitter o en el msn o gtalk porque claro que Ubuntu es social, esta ahí listo para ti, para comunicarte con tus amigos en todo momento.

El menú de mensajería como el de sonido ahora se ve más pulido que nunca y permite tener nuestro Chat, nuestro Correo y Twitter con notificaciones que nos muestran cuantos mensajes han llegado. También se ha agregado una entrada de Ubuntu One que por si no lo sabes es el sistema de archivos en la nube de Ubuntu.

La integración de Facebook y Twitter directamente con Gwibber se ve muy profesional, permitiendote interactuar en cualquier momento con tu mundo 2.0.


El programa de mensajería instantánea sigue siendo Empathy que permite tener nuestro chat de Facebook, Gtalk, Msn, Yahoo, Aol integrado en todo momento para permitirnos comunicarnos dentro de 2.0. Como siempre empathy cuenta con miles de posibilidades como envió de Webcam o Audio para los protocolos MSN y Gtalk.

El Me-Menu permite cambiar el estado de nuestro chat y de las notificaciones en cualquier momento de forma que si tenemos que trabajar sin distracciones lo podamos hacer con un solo click.
Algo que muchos notaran que es bastante nuevo y que llega en esta versión de Ubuntu es el app-menu que básicamente es esto.
Los menús de los programas se presentan de forma similar a como se muestran en Mac OSX, estos están anidados en la barra superior re-diseñada.

Quien necesita realmente una App Store cuando tiene el Software Center de Ubuntu que permite encontrar cualquier programa que requieras para hacer cosas complejas como edición de vídeo, audio o hasta simplemente jugar. Por supuesto que el 95% de las aplicaciones son gratis, sin necesidad de hackear ni buscar el crack ni nada de esas cosas.


Por supuesto que también puedes comprar algunas aplicaciones de pago que están disponibles dentro del Software Center. A mi me gusta mucho World of Goo, un juego sin duda alguna recomendado.
Por supuesto que con Ubuntu tu trabajo es mucho mas rápido y mas fácil de hacer porque tener 4 escritorios en todo momento para poner aplicaciones hace de tu vida algo mucho mas simple. Te permite abrir muchas muchas aplicaciones sin que congestionen tu pantalla en todo momento.


Una de las novedades mas interesantes son las nuevas barras de desplazamiento que ahora son ultra delgadas, parecidas a la de los teléfonos Android.

Ubuntu es para seres humanos y tiene muchas más cosas, pero porque no intentas y en vez de continuar leyendo todas estas maravillas te atreves a decir yo lo quiero probar por mi cuenta.

26 abr. 2011

Aprendiendo MySQL en Ubuntu (Tutorial Parte 2)

Siguiendo el listado de tutoriales que estoy haciendo de MySQL ya sabemos instalar y algunos comandos. Para esta segunda parte vamos a analizar algunos ejemplos en PHP que es básicamente el lenguaje de enlace de las paginas Web con MySQL y aprenderemos lo básico, te recomiendo que descargues los ejemplos.

Lo primero que hay que saber es que PHP puede estar dentro de cualquier codigo HTML, este siempre se inicia con una etiqueta < ? php      ? > como pueden ver en los ejemplos.

El primer ejemplo se llama Hola Mundo y es básico hacerlo con cada lenguaje de programación, en los ejemplos que descargaron esta y como pueden ver dentro esta la explicacion del comando "echo"

Después seria interesante revisar el ejemplo de Constantes y variables, en PHP se establecen las variables usando el simbolo $ o con el termino define. El termino echo "
" es simplemente un salto de linea.

El ejemplo de concatenación, hace lo que dice su nombre, nos explica como se realiza el proceso de concatenación de distintas variables.

El ejemplo con el nombre comillas explica la diferencia entre las comillas simples y las comillas dobles ya que en PHP estas actúan de forma diferente.

El ejemplo de fechas es importante porque nos permite entender mejor el comportamiento de estos valores y como se relacionan con MySQL.

Finalmente el ejemplo de comparación muestra en comentarios la importancia de estas.

Para poder realizar las pruebas con estos ejemplos debes revisar los post anteriores que están linkeados al principio.

20 abr. 2011

IDE's para Programar

Existen dentro del mundo GNU/Linux muchos programas que permiten programar de forma rapida y más sencilla, como muchos saben estos programas se llaman IDE (Integrated Design Environment).

Si uno busca en el Centro de Software encontrara que existen muchos programas, quizás alguna vez si no has programado has leído en alguna web acerca de Eclipse, Geany, Emacs y muchos más. 

Hoy les presento mi recomendación al respecto.

Si la cuestión es de programar en C/C+ existe Anjuta que esta especializado en este lenguaje de programación, como yo programo solo programas pequeños en C la verdad es que no lo uso con tanta frecuencia, puedo decir que es bastante bueno y tiene muchas facilidades que hacen de este un IDE ideal para hacer un buen debug sobre el código, en términos generales si de mi dependiera calificarlo sobre 5 yo le pondría un 3.8 para ser justos. (Existen muchos pluggins para poder extenderlo y que permita trabajar con Python, Java y .Net)


Si por el contrario se trata de programar en Java entonces seguramente has escuchado de Eclipse que debo decir que es el programa que usualmente me gusta para programar en Java, realmente es excelente y permite escribir de forma muy rápida, ofrece una excelente guía y ayuda en todo momento y la escritura rápida de los comandos es muy buena y lógica. Lo califico de 4 sobre 5, su gran limitante es que esta pensado para uso solamente con Java, si queremos programar en Python o C, toca descargar módulos adicionales.


Si por el contrario lo tuyo es Python entonces quizás te sea suficiente con usar Emacs combinado con Vim, la verdad es una combinación buena que solo he usado en dos ocasiones, a mi personalmente me parece que es bueno para trabajar rápido sin mucho lió por delante, tiene muchos limitante y esta centrado netamente en Python, ahora si de calificar se trata le doy un 3.8 sobre 5.


Finalmente mi gran recomendación como el mejor IDE que he tocado hasta el momento es Geany yo lo calificaría sin comentar mucho en 4.8 sobre 5, las razones son simples, Geany me permite hacer cosas en C, C+, Python, Java, PHP, HTML y más sin descargar mayor cosa, tiene soporte para todos los anteriores, esta escrito en Python y es super ligero, casi no instala dependencias y si quiero mas potencia puedo buscar los extra (Snippets). Es por eso que lo utilizo para PHP, MySQL, Java y Python que son los lenguajes que más utilizo.


18 abr. 2011

Saber que puertos están Abiertos Linux

Muchas veces queremos ver que puertos están abiertos y cuales cerrados tanto en nuestra casa como en nuestro router, he descubierto que existe una forma muy buena de obtener esta información, por medio de esta pagina http://www.yougetsignal.com/tools/open-ports/

14 abr. 2011

Algunos Cambios

En estos dias he realizado algunos cambios al blog, lo cual ha tenido algunas repercuciones como la perdida de los comentarios debido al cambio de servicio por Disqus, espero que todo este en orden muy pronto.

11 abr. 2011

Aprendiendo MySQL en Ubuntu (Tutorial Parte 1)

Lo primero que hay que aprender en MySQL es administrar tablas y las bases de datos porque al final MySQL se trata de eso, la verdad todo es bastante sencillo con PHP y MySQL, hay que tener en la mente algunos conceptos y comandos básicos a la mano.

Algunos de ellos son los que presento a continuación recuerden que cada comando termina en ; y que se pueden ejecutar desde un archivo con extensión .sql

CREATE DATABASE nueva_base_de_datos;
Este comando crea una base de datos.

DROP DATABASE base_de_datos;
Este comando borra una base de datos existente, sin dejar ni las huellas.

SHOW DATABASES;
Este es bien útil, muestra las bases de datos que hay en el sistema.

USE base_de_datos;
Este comando una una base de datos para trabajar con ella.

CREATE TABLE nueva_tabla;
Crea una tabla en la base de datos seleccionada.

DROP TABLE nueva_tabla;
Borra la tabla creada, sin dejar huellas de nada.

ALTER TABLE nueva_tabla_modificada
Modifica una tabla, cambiando la definición de la misma.

DESCRIBE nueva_tabla;
Básicamente describe los campos de la tabla.

LOCK TABLES nueva_tabla READ;
Bloquea la tabla y solo permite a los usuarios leer de la misma.

LOCK TABLES nueva_tabla WRITE;
Bloquea la tabla y solo permite leer y escribir a la persona que la bloqueo.

UNLOCK TABLES;
Desbloquea una tabla.

SOURCE;
Busca un archivo en formato *.sql en donde le indiquemos /home y demás carpetas.

Todo esto tambien se puede hacer usando el programa phpmyadmin de forma gráfica. Les voy a mostrar más o menos como seria.

En la siguiente pantalla pueden ver como crear una base de datos.

En esta se puede ver como se crea una tabla.
De ahí en adelante el procedimiento es bastante simple, nos mostrara un asistente para crear las columnas y lo demás no tiene mucha ciencia.

Como hacer cosas básicas en MySQL (Ubuntu)

Yo se que existen varias herramientas gráficas para montar una base de datos en MySQL, es más quizás más adelante me de ganas de publicar alguna de esas herramientas aquí en el blog, pero hoy la verdad quería hacer algo menos gráfico.

Lo primero seria tener instalado MySQL.

Lo segundo es tener a la mano una ventana de la terminal.

Vamos entonces a entrar al mundo de MySQL desde linux, es bastante fácil la verdad, lo primero es en la terminal escribir:

mysql -u root -p

(Este comando dice lo siguiente, corre mysql con -u indica que usuario va a correr mysql, usualmente es root y pregunta la contraseña con el comando -p)

Obtenemos esto:

Normalmente para crear una base de datos se usa el comando o instrucción.

CREATE DATABASE Personas;
(Esto crea una base de datos nueva que se llama Personas)

Después debemos indicarle a MySQL que queremos usar esa base de datos, para ello simplemente. Usamos el comando.

USE Personas;
(Esto selecciona la base de datos que se llama Personas)

Después simplemente lo demás lo podemos hacer desde un documento donde podemos meter todo lo que queramos. Si quiere pueden crear una tabla con la siguiente informacion.

CREATE TABLE `Personas` ( loginName varchar(20) NOT NULL, password char(255) NOT NULL, apellido varchar(50) NOT NULL, nombre varchar(40), ciudad varchar(50), PRIMARY KEY (`loginName`) )


El archivo lo pueden guardar como personas.sql y simplemente si quieren agregarlo a su base de datos anterior utilizan el comando.

SOURCE /home/geojorg/Plantillas/PHP/personas.sql
(Esto busca el archivo personas en mi carpeta PHP dentro de Plantillas y lo agrega a la base de datos)

Listo eso es básicamente todo, este es un ejemplo bastante simple la verdad, si alguien tiene alguna duda, deje un comentario.

4 abr. 2011

Como crear un Servidor Web en Ubuntu 11.04 (PHP y MySQL)

Cuando queremos hacer algo en PHP y MySQL y no tenemos el dinero para adquirir un servicio Web. Una buena idea es montar un servidor Web casero. Como muchos saben en Linux todo es bastante simple y esta no es la excepción; si la idea es programar en PHP y MySQL.

Lo primero es abrir la terminal y vamos a ingresar el siguiente comando:
sudo apt-get install php5 apache2 php5-mysql

Después instalamos el servidor para MySQL
sudo apt-get install mysql-server

Esto nos va a pedir la contraseña que queremos ponerle al usuario root

Y por ultimo instalamos phpyadmin que nos va a pedir la contraseña que usamos en la instalación previa mas la nueva que debemos asignarle, recuerden que instalamos apache2 así que tenemos que asociarlo a este cuando nos pregunte.
sudo apt-get install phpmyadmin

Si todo ha funcionado perfectamente podemos ir a la siguiente dirección http://localhost/ y nos debe mostrar un:

It works!

Si todo esta en orden podemos revisar si phpyadmin esta funcionando visitando la siguiente dirección: http://localhost/phpmyadmin/ Debe aparecer algo mas o menos como esto:


Recuerden que el usuario siempre sera root y la contraseña es la que han puesto antes.

A la super mega gran pregunta de donde guardar en linux un archivo PHP, yo tengo una aproximación simple y conveniente, crear un enlace simbólico entre nuestra carpeta de trabajo y /var/www. Es bastante simple de hacer aquí dejo un ejemplo de como lo tengo andando yo, simplemente abrimos el terminal y pegamos esta instrucción.

sudo ln -s /home/geojorg/Documentos/PHP /var/www

Al final guardamos todo en la carpeta PHP y desde el navegador lo corremos siempre como http://localhost/PHP

Es más,  ya que ando de buen animo les dejo un ejemplo de un archivo php y pueden probarlo en sus casas. Simplemente copien el siguiente texto lo guardan en la carpeta /Documentos/PHP como test.php y lo corren desde el navegador.
<html> <head> <title> Prueba PHP </title> </head> <body> <p> Esto es una linea HTML <p> <?php echo "Esto es una linea PHP"; phpinfo(); ?> </body></html>


Lo que van a obtener de este pequeño ejemplo es lo siguiente:

 Nota: Esta es una actualización de un post anterior.

Gtk 3 + Python 3 + PyGOject + GtkBuilder

Con el tiempo nuevas tecnologías llegan y a veces algunas personas nos quedamos en el tiempo. Se acuerdan de ese antiguo tutorial que estaba en esta pagina acerca de Glade 3 y Python ?

Bueno resulta que ha pasado el tiempo y están a punto de llegar nuevas tecnologías como Gtk 3, PyGobject y claro GtkBuilder que es muy interesante. Y muchas veces es difícil si eres programador novato o usuario intermedio como es mi caso encontrar documentación para estas nuevas tecnologías. Todas llegan con la idea de hacer las cosas mucho mas simple para el mundo del programador, pero cuando no encontramos información nos frustramos y decimos que somos incapaces de programar.

Bueno la verdad es que no es para tanto, alguien se acuerda como es programar una ventana de abrir archivos con el moribundo pyGTK, bueno yo recuerdo que era algo mas o menos así:


chooser = gtk.FileChooserDialog(title=None,action=gtk.FILE_CHOOSER_ACTION_OPEN,
buttons=(gtk.STOCK_CANCEL,gtk.RESPONSE_CANCEL,gtk.STOCK_OPEN,gtk.RESPONSE_OK))


Después teniamos a liblgade que es de por si muy fácil por permitir hacerlo todo de forma gráfica, pero si recuerdan libglade murió hace algunos años y ahora todo es en base a GtkBuilder que es su reemplazo y uno muy positivo aunque hay personas que aun usan libglade por creer que es más fácil. Bueno para esos días crear lo mismo es algo mas o menos así, primero ponías la ventanita y después ponías el código de libglade.


xml = gtk.glade.XML(GLADE,"custom_file_chooser")

self.dlg = xml.get_widget("custom_file_chooser")
self.dlg.set_title(_("Open a file"))

Resulta que todo eso aun existe y muchas personas aun programan de esa forma, la idea que esta en mi cabeza es pronto escribir un tutorial completo con una aplicación que he creado para una tarea compleja e ilustrar las nuevas tecnologías como GtkBuilder, Python 3, PyGObject y hasta GTK3.

Sin duda la ganancia estará en usar GtkBuilder que hará las cosas mucho mas fácil de entender si eres novato ya que siempre nos gustan las cosas de forma gráfica. Prometo que el nuevo tutorial no sera tan tonto como crear un Hola Mundo y se notara el funcionamiento de el potencial completo de Glade y GtkBuilder

Así que espéralo pronto aquí.