Archivo de la etiqueta: ubuntu

Opinión sobre Unity y otros entornos de Escritorio

No soy ningún experto en usabilidad, por lo tanto no tengo ningún estándar o métrica para evaluar un entorno de escritorio, pero llevo varios años moviéndome de un Sistema Operativo a otros, de Escritorio en Escritorio. En base a eso, voy a dar una opinión respecto a Unity en el recientemente estrenado Ubuntu 11.10.

Previo

Para ser honesto, llevo bastante tiempo sin usar Linux como sistema operativo cotidiano. Desde principios de año solo usaba Windows por motivos de trabajo. Luego estuve más o menos desde abril usando Mac OS X, desde Snow Leopard (10.6) hasta ahora Lion (10.7). A pesar que logré instalar un triple-boot de Mac/Windows/Linux, no usaba este último porque no había un driver operativo para mi red inalámbrica (Broadcom bcm4331).

Antes de eso, era usuario habitual y fan de KDE 4.6, en un notebook Acer Aspire 4320. Con agrado logré acostumbrarme a sus detalles y personalizarlo a mi gusto. Incluso logré compilar e instalar el tema oxygen-transparent para KDE, logrando un look «de vidrio» en las aplicaciones, similar a la UI de Windows Vista/7 (lo reconozco, me gusta como luce). Con eso ya había superado un bug que apareció en alguna versión anterior de KDE que impedía usar las extensiones para transparencia y desenfoque (necesarias para lograr el efecto-vidrio).

Ahora, luego de lograr instalar Ubuntu 11.10 (ver nota al final), me llevé una grata sorpresa. Le instalé Ubuntu 11.10 a todos los computadores de mi casa, (desktop, notebooks y netbooks).

Seguir leyendo Opinión sobre Unity y otros entornos de Escritorio

Mi primer repositorio PPAMy first PPA repository

Hace algunos días por alguna extraña alineación planetaria, tuve problemas usando kopete, por lo cual… debí recurrir a la otra opción más a mano, pero del lado oscuro: pidgin.

Pero gracias a ese incidente, me topé con un par de cosas interesantes. La primera es que terceros desarrollaron un plugin para pidgin, que permite usar el chat de Facebook dentro de él. El paquete está disponible a través de un repositorio de Google Code.

Ya había visto la noticia sobre un plugin similar que estaba cocinando Duncan Mac-Vicar para Kopete, pero no le vi mayor interés hasta ahora, que ya había probado el de pidgin.

Durante la semana pasada, baje y compilé las fuentes (y sus dependencias) para probar. Así pude testear el funcionamiento del plugin. Por desgracia aun está muy inmaduro, pero ello no lo hace menos interesante.

Una de las dependencias kopete-facebook es qjson, una librería que extiende Qt para añadirle un JSON Parser, necesario para procesar los datos recibidos/enviados por la red de facebook.

Lamentablemente, ni kopete-facebook ni qjson estan empaquetados en ubuntu jaunty (qjson está en 9.10 karmic koala, pero karmic aun está en estado alpha). Tanto Duncan[1] como Flavio[2], solo ofrecen los paquetes fuente y un paquete para opensuse.

Entonces, luego que logré compilar ambas librerías se me cruzó por la cabeza…«Cualquiera puede hacerse un PPA, ¿y si lo empaqueto para kubuntu y lo subo?» Bueno, a eso me dediqué este fin de semana.
Seguir leyendo Mi primer repositorio PPAMy first PPA repository

PHP y Xdebug

Hace unas semanas encontré respuestas a preguntas que me planteé hace años acerca de PHP.

Unas de las primeras cosas que aprendemos cuando conocemos PHP, es que al trabajar en la web, el motor funciona con ciertos límites. Límite de tiempo de ejecución (30 segundos por omisión) y límites de uso de memoria (16M por omisión en mi caso).

Lo malo no es que existan límites, todo lo contrario, en el caso de una aplicación web, de naturaleza concurrente, es necesario que lo que hace un usuario no pase a llevar lo que hace otro, cuidando de pasada los recursos de la máquina servidora. Sería nefasto programar mal un ciclo, de tal modo que en ciertas condiciones se vuelva infinito y además la ejecución no parara nunca. También sería catastrófico que tan solo 2 usuarios ejecutando un script terminaran haciendo colapsar el servidor por uso excesivo de memoria. El problema está cuando estamos desarrollando y olvidamos estos límites, lamentablemente en las situaciones más incomodas es cuando se manifiestan, por ejemplo al extraer demasiados datos desde una base de datos, o al hacer una operación muy larga en uso de disco (por ejemplo copiar muchos archivos de un lado a otro), o al leer un archivo muy grande, etc…

Entonces las preguntas que me hice hace años fueron algo así:
¿Como puedo saber cuanto tiempo demora la ejecución de mi script? ¿Como puedo saber cuanto que funciones/procedimientos son las más lentas? ¿Como puedo saber cuanta memoria consume mi script en ciertas condiciones? ¿Como puedo saber cuanta memoria consume una operación?

RESPUESTA: Xdebug
Seguir leyendo PHP y Xdebug