Tecnoaxis

11/01/2010

La arquitectura de software detrás de KDE Software Compilation #1

Filed under: kde, kde4, kubuntu, tutoriales — Tags: , , , , , , , — Alejandro Rean @ 3:24 pm

¿Qué es KDE Software Compilation?

KDE SC, antes llamado K Desktop Environment, es una plataforma completa de aplicaciones, que consta de un gestor de ventanas (kwin), un completo administrador de escritorios (plasma), y una gama muy variada de utilitarios.

También se lo denomina genéricamente GUI, o interfaz gráfica.

¿Qué es una interfaz gráfica?

Es el entorno visual que nos permite interactuar utilizando el tecaldo y el mouse con el sistema operativo y los distintos programas, con representaciones gráficas intuitivas, es decir, de una forma amigable. Al GUI se lo puede diferenciar de la terminal/consola de comandos, en la que uno se desenvuelve escribiendo lineas de comandos con el teclado.

Además de KDE SC, existen otras, como pueden ser Gnome, XFCE, FluxBox, BlackBox, Aero (Windows Vista/7), Aqua (MacOS X), etc. Algunos incluyen simplemente manejo de ventanas sin administrador de escritorio.

¿Bajo qué Sistema Operativo corre?

KDE SC es multiplataforma. Se puede utilizar como GUI tanto en distribuciones Linux, en varios sistemas UNIX (FreeBSD, OpenSolaris, entre otros),  así como también en Mac OS X y Windows. Esto último es muy interesante, ya que nos permite modificar la apariencia de este sistema desde sus versiones XP en adelante, además de la ventaja de contar con miles de aplicaciones libres desarrolladas para KDE SC. También se comenzó un proyecto de portarlo a Google Native Client.

¿Cómo es KDE SC por dentro?

Está construido con el framework Qt3 para el antiguo KDE 3 y Qt4 como base para KDE4.

El framework Qt es desarrollado por Nokia, tanto por programadores pagos como por voluntarios de todo el mundo. Esto es posible gracias a que existen 3 versiones con distintas licencias: Licencia Comercial Qt, Licencia Qt GNU LGPL y Licencia Qt GNU GPL.

Qt se encarga de facilitar la interacción de las aplicaciones que utilizan las API de este framework con cada uno de los sistemas operativos. Gracias a los bindings se puede desarrollar con la API de Qt utilizando los lenguajes C++, Python y Ruby. Maneja acceso a bases de datos SQLXML parsing, manejo de hilos/threads, soporte de red y una API multiplataforma para el manejo de archivos.

Las aplicaciones que funcionan en KDE SC se desarrollan también a través del framework Qt.

¿Qué se necesita para programar aplicaciones Qt/KDE?

A la configuración básica que nos permitirá desarrollar estos programas no le debe faltar:

  1. Librerías del lenguaje que vamos a usar para programar(C++, Python, Ruby).
  2. El framework Qt para C++, PyQT (para Python) o RubyQt (para Ruby).
  3. Un editor de texto para escribir nuestro código.

En Windows quizás necesitemos además descargar un complemento especial de MS Visual C++ (ver los links útiles abajo de todo).

Adicionalmente, podemos diseñar la parte visual de nuestros programas usando Qt Designer (muy parecido a las herramientas de MS Visual Studio) en el cual arrastramos controles en la pantalla de nuestra aplicación.

Si bien podemos programar utilizando un editor de texto simple, existen alternativas más completas que nos ofrecen otras funcionalidades (marcas de syntaxis, diccionario, etc.) como emacs, geditor ó notepad++. Y hay para todos los gustos, los que quieran usar algo más complejo como un entorno de desarrollo en el que tambien se pueda hacer debugging, unit testing y demás. podemos usar un IDE como Eclipse (con los plugins necesarios), Qdevelop ó Eric.

Links útiles

Python: http://www.python.org/download/

Complemento MS Visual C++: http://www.microsoft.com/downloads/en/confirmation.aspx?familyId=9b2da534-3e03-4391-8a4d-074b9f2bc1bf&displayLang=en

PyQT4: http://www.riverbankcomputing.co.uk/software/pyqt/download

10/01/2010

Como recuperar el sonido luego de una suspensión del sistema en Kubuntu o Ubuntu con KDE

Filed under: kde4, kubuntu, linux, tutoriales, tutoriales linux, ubuntu — Alejandro Rean @ 4:41 pm

Si les ha sucedido como a mi, que al regresar de suspender el sistema, se encuentran con que no anda el sonido y se ven con la necesidad de reiniciar la pc, esto probablemente les sirva para solucionar el problema.

El primer paso es verificar si lo que anda mal es el servidor de sonido ALSA. Para esto, provocamos una suspensión del sistema (Menú KDE->Abandonar->Suspender/Suspender en RAM), reactivamos el equipo y ejecutamos el siguiente comando:

sudo alsa force-reload

Esperamos unos segundos, y verificamos si anda el sonido de la forma que más nos guste.

Si esto solucionó el problema, el segundo paso es copiar y pegar el siguiente script, que le dirá al sistema que reinicie el servidor alsa cada vez que regresa de una suspensión:

sudo editor /etc/pm/sleep.d/50alsa

Este primer código es lo que ejecutamos en la consola, la cual podemos abrir haciendo la combinación Alt+F2 y luego escribiendo xterm. También podemos usar nano como editor, pero a mi particularmente me gusta más el editor.

case "$1" in
        hibernate|suspend)
                # Stopping is not required
                ;;
        thaw|resume)
                /sbin/alsa force-reload
                ;;
        *) exit $NA
                ;;
esac

Este último código es lo que debemos ingresar en el archivo de texto creado. Guardamos con la combinación CTRL+O, y cerramos con CTRL+X.

Ahora sólo resta convertir este script en ejecutable, con el siguiente comando en consola:

sudo chmod +x /etc/pm/sleep.d/50alsa

Espero que les haya sido de utilidad. Si tuvieron algun problema o les quedó una duda pueden dejarme un comentario.

Ahora, si me permiten, voy a seguir disfrutando este lluvioso domingo…

Fuente: Ubuntu Documentation

22/12/2009

Como adjuntar una imagen en el cuerpo del mensaje desde Gmail

Filed under: tutoriales — Tags: , , — Alejandro Rean @ 8:08 pm

Se acercan las fiestas, período en el cual recibimos y enviamos muchas tarjetas de felicitaciones, tanto personales de familiares o amigos, como corporativas.

En esta oportunidad me tocó preparar una postal corporativa y enviarla. Luego de diseñarla y exportarla en formato JPG, me dirigí a Gmail, y al disponerme a adjuntarla en el mensaje me di cuenta que no contaba con ninguna opción para cumplir  mi cometido.

Afortunadamente, en Labs hay una opción que nos permite adjuntar imágenes en el cuerpo de los mensajes, sólo bastó hacer clic en habilitar, y guardar los cambios.

La opción.

La opción.

Luego me apareció unbotón en la barra de formato para poder agregar la susodicha postal.

gmail-labs-imagen2

09/02/2008

Como mudar un sitio web del servidor local a internet (Gratis!)

Filed under: hosting, programacion, tutoriales, tutoriales web, web 2.0 — Tags: , , , , — Alejandro Rean @ 8:46 am

Seguramente, sobre todo los practicantes de desarrollo web y/o bloggers, en algun momento nos preguntamos si no existía alguna forma, gratuita, de poder tener nuestra página subida a Internet.

En mi caso, comencé entusiasmado desarrollando sitios dinámicos, monté un servidor local (en mi pc) sobre linux, instalé Apache, PHP, MySql… etc, etc, etc… Las páginas funcionaban, gracias al servicio que ofrece CDMON.com para redirección de ip estática a ip dinámica y un cron script que le pingueaba
mi ip, todo era perfecto.

Claro, no duró más que un par de horas ya que cuando uno de mis hermanos quizo usar la computadora, la reinició para usar Windows y al demonio el servidor =). A más de uno le debe pasar! Pueden dejar sus comentarios con historias y peleas familiares si quieren.

Todos sabemos que un sitio web no puede funcionar dos horas de cada cuatro o cinco, por lo que me decidí a buscar una solución URGENTE! Y ahi estaba, esperando por mi… vaya a saber uno con qué intereses, o en realidad sí los sé, pero no podía ser real tanta generosidad. Igual tiene sus pequeños defectos…

A continuación les dejo un sencillo tutorial paso a paso, de esos que a todos nos gustan por su practicidad, para que lo tengan de guía. No se preocupen que una vez que suban un par de sitios ya se acostumbrarán.

Herramientas Necesarias

1. Para realizar la mudanza (también llamado deploying) de nuestro sitio dinámico en internet estas son las herramientas básicas que necesitaremos:

2. Un sitio web ya creado: si vamos a mudar un sitio de nuestro servidor a internet, primero tenemos que tenerlo hecho =D. Llamaré dinámico a todo sitio creado en PHP, con base de datos en MySQL, PostgreSQL o similar. Será de mucha ayuda tener instalado en nuestro servidor local phpMyAdmin.

3. Gestor de FTP: algún programa capaz de conectarse mediante el protocolo FTP para poder copiar los archivos al servidor destino. En mi caso utilizo el gFTP en Linux. Para Windows hay varios, CuteFTP, FTP Explorer, etc. Usen el que más les guste.

4. Ganas y tiempo.

Tutorial
Primera Parte: Ubicación de nuestro sitio en Internet

1. Crear una cuenta gratuita en www.zymic.com. Es tan trivial como crear una cuenta en cualquier otro servicio web.

*Nota: el servicio gratuito de Zymic ofrece 2GB de espacio y ancho de banda de 35GB, PHP/MySQL, administrador online de FTP (totalmente básico, no es muy útil, pero está), HOSTING SIN PUBLICIDAD, un nombre de dominio gratuito (no es .com pero nos sirve igual). Como restricción, admite hasta 5 _bases de datos_ por sitio (no confundir el concepto de base de datos con tabla!). Se puede crear más de un sitio por cuenta. La única conexión entre Tecnoaxis/Yo y Zymic.com es de usuario/proveedor, no me pagan comisión ni me regalan nada por hacer este tutorial, jaja. Fin del disclaimer.

2. Crear un sitio web, yo por practicidad uso la dirección misitio.zxq.net, pero eso queda a criterio de cada uno.

3.a. Copiar mediante el gestor de FTP los archivos a la raíz o a un subdirectorio si así lo desean. Los datos de conexión serían, por ejemplo:

.host: misitio.zxq.net
.puerto: 21
.usuario: misitio@zxq.net

Por supuesto la contraseña es la que indicaron ustedes al momento de crear el sitio en Zymic.

Este paso puede demorar bastante, dependiendo de la cantidad de archivos y carpetas.

3.b. Exportar la base de SQL. Esto lo pueden hacer mientras se copian por FTP los archivos,y
se logra de manera muy sencilla mediante el uso de phpMyAdmin. Luego de loguearse al phpMyAdmin (en su servidor local), en el menú principal hay una opción llamada Exportar (Export), dejan todo como está y le dan continuar. Copian el script arrojado por phpMyAdmin a un documento mediante su editor de textos preferido y lo graban en un archivo .txt (ej.: mibase.txt). No cierren el editor.

3.c. A continuación, desde el panel de control de Zymic, ingresamos al sitio creado y hacemos clic en la opción de editar la configuración de MySQL. Le damos un nombre a nuestra base, que quedará finalmente como misitio_zxq_net_nombrebase. Luego creamos un usuario de la misma forma, qedará como misitio_zxq_net_nombreusuario. Para no mezclar ni confundirnos con tantos nombres podemos usar el mismo tanto para la base como para el usuario. A este usuario le daremos todos los permisos sobre misitio_zxq_net_nombrebase, con la opción que se encuentra debajo, en esa misma página de configuración de SQL.

3.d. Volvemos al editor de texto con nuestro script SQL en .txt, y eliminamos completamente la linea CREATE DATABASE … Además, modificamos en la siguiente linea lo que pone luego de USE reemplazandolo por nuestra base misitio_zxq_net_nombreusuario, cuidando no eliminar las comillas.

3.e. Ingresamos desde el panel de control de Zymic a la administración de phpMyAdmin. Vamos a Importar (Import), damos clic en Explorar (Browse) y elegimos nuestro script .txt. Si el archivo es muy pesado y es rechazado, podemos comprimirlo en formato zip y volver a intentar subirlo, ya que también lo reconoce.

4. Una vez finalizada la copia de archivos con el gestor de FTP, sólo nos queda adaptar los archivos de configuración del sitio dinámico (seguramente llamados config.php, wp-config.php en el caso de wordpress, etc.) y alguna cosilla más que depende del sitio que tengamos, a esta altura supongo que ya saben como arreglarse ;) , además sería muy dificil considerar acá todas las reconfiguraciones posibles. Prestar atención al archivo .htaccess, sobre todo si en nuestro servidor local teniamos al sitio en un subdirectorio, y en el servidor Zymic lo copiamos a la raíz. El resto es prueba y error.

Observaciones adicionales: ya he subido varios sitios a este servidor y me funciona bastante bien, al principio tuve problemas con el FTP pero aparentemente hace un par de días lo solucionaron. Los gestores de contenido que probé satisfactoriamente son Joomla!, Wordpress y Drupal. Con Elgg aún no pude lograr que funcione debido a una de las limitaciones actuales del servidor, aunque quizás exista algún workaround.

Limitaciones del servidor: nada es perfecto. El servidor tiene la opción de safe_mode = on, con lo cual algunos gestores de contenidos pueden no funcionar. Además, no estoy muy seguro del funcionamiento del módulo rewrite_base, aunque como les dije Joomla!, Wordpress y Drupal funcionaron sin problemas.

Segunda Parte): Registro en Nic.ar y delegación de DNS mediante CDMON.com (también gratis!)

1. Ingresar a http://www.nic.ar y registrar su dominio (válido para Argentina) .com.ar, .net.ar ó .org.ar, siguiendo las instrucciones ofrecidas en la página.

2. Si ingresaron correctamente los datos del registro, nic.ar enviará un e-mail a la casilla indicada, el mismo deberá ser re-enviado SIN MODIFICACIONES. No dejen que su administrador de correos le agregue simbolitos ni nada raro porque el bot de .nic.ar que luego toma la solicitud puede no reconocer los datos, y es muy probable que no lo haga si se agregaron caracteres!

3. Unas horas después van a recibir un e-mail de notificación, informando que ya se encuentra en trámite el regitro.

4. Si tienen suerte en mas o menos una semana ya está disponible el sitio. Pero todavía hay más! Así que al menos tienen unos minutos más para entretenerse.

5. Ingresar a www.cdmon.com y crear una cuenta. Luego desde el panel de control, seleccionan la opción Gestión de DNS Estático y añaden la dirección de su dominio recién registrado (ej.: misitio.com.ar). Seleccionamos el dominio añadido y presionamos el botón Gestionar. Hacemos clic en el ícono de herramientas/configuración de Redirección por URL e ingresamos la dirección de Zymic de nuestro sitio (ej.: misitio.zxq.net).

6. Volviendo a la Gestión de DNS Estático, verán tres direcciones de servidor DNS de CDMON, de las cuales deberán ingresar al menos las dos primeras en la configuración de su dominio en nic.ar. Esto se hace una vez que se haya efectuado el registro del dominio, lo cual pueden verificar ingresando en http://www.nic.ar, Trámites vía web, en el cuadro de Trámites por nombre de dominio. Una vez que se encuentre en estado FINALIZADO, regresan a Trámites vía web y en Modifcaciones/Delegaciones, ingresan los dos servidores DNS de CDMON, que nombré al principio de este punto.

Hasta aquí el tutorial, espero que les haya sido útil!

Como ejemplo pueden ver estos sitios que tengo alojados ahí:
www.alejandrorean.com.arastrosignos.zxq.net (proximamente www.astrosignos.com.ar)

Por cualquier duda o aclaración/colaboración que quieran hacer para con este tutorial, pueden dejar su comentario aquí debajo.

>> Ver más novedades en Tecnoaxis… | Ver Tecnoaxis desde la PDA


Copyright 2007 Tecnoaxis – Este feed es para uso privado, cualquier duda o consulta comunicate por mail conmigo a alejandro.rean@gmail.com.

10/01/2008

Información SEO de tu sitio web, Xinu vs. URLInfo

Filed under: comparativas, seo, tutoriales — Tags: , , — Alejandro Rean @ 2:35 pm

Visto que en PuntoGeek se comentó recientemente en un artículo la página URLInfo, y en CodigoGeek la página Xinu Returns, se me ocurrió realizar rapidamente una comparativa de ambos, analizando sus pro y sus contras. Se tratan de herramientas tanto SEO como para desarrolladores, que facilitan la validación y evaluación de nuestro dominio/sitio en varios servicios.

Xinu Returns vs. URLInfo

Aspecto Visual
Total: Xinu 1 – URLInfo 0

En primer lugar, cabe destacar que Xinu es mucho más agradable a la vista, con una interfaz “amigable” nos muestra los resultados en unos cuadros divididos en categorías: Diagnóstico, Dominio, Ranking, Sindicación, Bookmarks en redes tipo digg, Validaciones, Páginas Indexadas en buscadores y Backlinks. También nos muestra un thumbnail de nuestro sitio mediante Snap*.

En cambio, en URLInfo los resultados no son recogidos de inmediato de los distintos servicios, sino que genera un menú en la parte superior donde nos permite seleccionar el dato que queremos saber, y una vista de nuestro sitio en toda la pantalla.

Velocidad
Total: Xinu 1 – URLInfo 1

En la cuestión velocidad, gana URLInfo, ya que al ingresar la dirección de nuestro sitio no comienza a recorrer los distintos servicios recabando la información, sino que nos muestra un menu y nosotros seleccionamos con qué servicio queremos validar/evaluar nuestro sitio.

Nivel de detalle
Total: Xinu 1 – URLInfo 2

Logicamente, al redirigirnos URLInfo al sitio original en el que se realiza la consulta, el nivel de detalle es mayor. Incluso la cantidad de evaluaciones que se pueden realizar es mayor, y las validaciones formales (HTML, CSS, etc…) son más, lo cual puede significar una gran ventaja si lo que se buscaba era principalmente validar el código de nuestro sitio.

Calidad de la Información
Total: Xinu 1 – URLInfo 3

No es fácil realizar una comparación en este aspecto, pero se puede deducir que al no pasar por un post-proceso, URLInfo muestra información fidedigna sin ninguna duda. No así Xinu, que puede dejar algo en el camino entre la entrada de información y la salida en los cuadros de resultado.

Utilidad Estadística
Total: Xinu 2 – URLInfo 3

Si de llevar a cabo una estadística se trata, nos va a resultar muchísimo más práctico utilizar el servicio que nos brinda Xinu, el cual nos permite exportar los resultados a un archivo .PDF. Se puede realizar la consulta periódicamente y realizar un archivo de los ficheros PDF para posteriormente realizar un análisis estadístico de la evolución de las consultas.

RESULTADO FINAL: Xinu 2 – URLInfo 3

Conclusión:

Si nuestra consulta es específica, y lo que queremos es atacar a la evaluación o validación de un aspecto en particular de nuestro sitio (posicionamiento en buscadores, validación del código, backlinks, etc…) URLInfo es por lejos la opción a utilizar.

En el caso de querer dar un vistazo rápido, o simplemente por curiosidad, directamente deberán dirigirse a Xinu Returns, donde podrán obtener una macrovisión de las distintas evaluaciones que pueden realizarse sobre el sitio en cuestión.

Para los estadistas, Xinu Returns tiene lo que se busca, una salida a .PDF que se puede almacenar, posibilitándonos comparar los resultados obtenidos en distintas consultas.

[Ver más en: Codigo Geek, PuntoGeek] | vínculos en español

[Ver más en: Xinu Returns, URLInfo] | vínculos en inglés

>> Ver más novedades en Tecnoaxis… | Ver Tecnoaxis desde la PDA


Copyright 2007 Tecnoaxis – Este feed es para uso privado, cualquier duda o consulta comunicate por mail conmigo a alejandro.rean@gmail.com.

08/01/2008

Guia rápida para crear un sitio en PHP con CakePHP #1

Filed under: apache, cakephp, mysql, php, tutoriales, tutoriales linux — Tags: , , , , , — Alejandro Rean @ 4:00 am

La mayoría de las veces cuando uno tiene una idea suele no saber por donde empezar, así que la mejor forma es seguir alguna guía contada por alguien que ya pasó por esa experiencia.

No soy un experto en el tema, pero la intención es lo que cuenta, y mi intención es ayudarlos a que tengan considerablemente rápido configurada su pc para poder empezar a crear sitios en PHP.

Antes que nada, nobleza obliga, debo decirles que existen alternativas a PHP/CakePHP, como sería Ruby On Rails, un framework que últimamente está dando mucho que hablar, así como Django. Pero si están convencidos que lo que ustedes quieren es PHP, allá vamos …

Para empezar, vamos a aclarar qué es lo que necesitamos:

  • El servidor HTTP: Apache
  • El administrador de bases de datos: MySQL
  • Las librerías de PHP
  • El framework: CakePHP

No voy a extenderme en los detalles de cada uno de los pasos, sino que simplemente los voy a guiar con links útiles a páginas de personas que pueden explicar mejor que yo como instalar y configurar los distintos complementos.

El servidor HTTP

Es lo que permitirá comunicar nuestro sitio con Internet y nuestros futuros visitantes. En el caso de que ya tengamos contratado un servicio de hosting, también podemos utilizarlo como servidor de testing como conexión localhost.

Para descargar el servidor apache pueden hacerlo desde su página oficial. También pueden encontrarlo en los repositorios de su distribución de linux. En el caso de Ubuntu y Debian la descarga e instalación se puede hacer mediante el siguiente comando: sudo apt-get install apache2.

Lo que debemos tener en cuenta al configurar el servidor Apache, es el puerto que aceptará las conexiones http. Esto podemos modificarlo desde el archivo ports.conf, que se encuentra en el directorio donde se realizó la instalación de Apache (por ej.: /etc/apache2/).

Además, para el uso que le daremos nosotros vamos a necesitar añadir las siguientes líneas al archivo httpd.conf:

AddType application/x-httpd-php .php .phtml
AddType application/x-httpd-php-source .phps

Esto permitirá que Apache reconozca los archivos de PHP como páginas navegables.

También deberemos habilitar el módulo rewrite de Apache, ejecutando el siguiente comando desde la consola de linux: a2enmod rewrite . Lo que hace este comando es automaticamente copiar los archivos del directorio mods-available al directorio mods-enabled, en este caso el módulo rewrite (rewrite.load).

En esta página pueden encontrar más info acerca de cómo configurar un servidor Apache.


El administrador de bases de datos

La instalación de MySQL también es sencilla, desde la página de downloads del sitio MySQL AB pueden descargar la última versión de este DBMS. Los usuarios de Ubuntu y Debian pueden encontrarlo en los repositorios bajo el nombre mysql-server-5.0, y con el siguiente comando desde la consola realizamos la descarga e instalación: sudo apt-get install mysql-server-5.0 .

Otras herramientas que nos serán de utilidad son el MySQL Query Browser y el MySQL Administrator, que no recuerdo si se instalan por defecto, pero pueden hacerlo en Ubuntu y Debian con el siguiente comando: sudo apt-get install mysql-admin mysql-query-browser .

No entraré en detalles acerca de cómo crear bases de datos (trivial: create database nombredelabase;), ni de como usarlas (trivial: use nombredelabase;), ni de como crear tablas, realizar consultas, etc… Para eso les voy a recomendar un libro llamado Beginning SQL, cuya descarga pueden realizar desde este link torrent.

Sólo diré que pueden ingresar sentencias desde el intérprete de mysql, ejecutando desde la consola: mysql -u usuario -p, donde -u usuario nos conecta al usuario seleccionado y -p nos permitirá ingresar la clave del usuario. Otra forma de hacerlo es mediante el MySQL Query Browser, donde podremos ejecutar sentencias individuales e incluso scripts, y donde las consultas se nos presentarán en un bonito formato gráfico.

Para administrar los usuarios podemos hacerlo ya sea desde el intérprete (ver Tutorial de SQL en Desarrollo Web para más sentencias SQL), o desde la aplicación MySQL Administrator.

En la próxima entrega de la guía trataremos la instalación de PHP y el framework CakePHP. ¡No se la pierdan!

Espero que les haya sido útil. Nos vemos en la segunda parte.

>> Guía rápida para crear un sitio en PHP con CakePHP #2 (disponible en unas horas)

>> Ver más novedades en Tecnoaxis… | Ver Tecnoaxis desde la PDA


Copyright 2007 Tecnoaxis – Este feed es para uso privado, cualquier duda o consulta comunicate por mail conmigo a alejandro.rean@gmail.com.

Powered by WordPress