INSTALACIÓN DE COMPONENTES

Bueno, mostraré en este capítulo el método para instalar las aplicaciones y librerías que necesitamos. Estoy trabajando en Ubuntu 9.10 pero la forma de instalación creo que puede ser aplicable de igual manera a otras distribuciones.

Necesitamos instalar GTK+ y sus dependencias, la ventaja de trabajar con distribuciones derivadas de Debian es que podemos utilizar el package manager y facilitarnos las cosas. Necesitaremos también los paquetes de desarrollo, los podemos reconocer por que tienen terminación -dev, o -devel para distribuciones como Fedora Core (RPM).

Para usuarios de Debian o Ubuntu

La ventaja de trabajar en Debian, es que podemos hacer el proceso de instalación de GTK+ y dependencias en una sola linea. Instalaremos las dependencias de la siguiente manera:

$ sudo aptitude install gnome-core-devel build-essential

Para otras distribuciones

Para instalar GTK+ necesitaremos Glib, Pango y algunos paquetes GTK+. Podemos descargarlos de la página oficial de gtk: http://www.gtk.org/download-linux.html

Este es el archivo principal que necesitaremos:

gtk+-2.22.0.tar.gz

Sin embargo, al instalarlo es probable que nos encontremos con que necesitamos instalar varias dependencias, es importante visitar la página oficial de GTK para obtener más información.

De preferencia crearemos una nueva carpeta donde guardaremos el archivo de gtk que descargamos. Los pasos a seguir son los mismos que utilizaríamos para instalar alguna otra aplicación desde su source, a continuación explicaré unos pasos de ejemplo partiendo de que vamos a instalar gtk+,

Vamos a descomprimir el archivo que bajamos de la página de GTK (gtk+-2.22.0.tar.gz):

$ tar -xvzf gtk+-2.22.0.tar.gz

Se nos creará una nueva carpeta: gtk+-2.22.0

$ cd gtk+-2.22.0/

En esta carpeta tenemos un shell script llamado configure , el cual debemos correr para que se vayan creando los Makefiles necesarios para instalar el programa. El script configure puede recibir varios parámetros, pero solo le indicaremos que instale gtk en la ruta /opt/gtk y confiaremos en las opciones por default, ejecutamos entonces:

$ ./configure –prefix=/opt/gtk

Al hacerlo a mi me marca el siguiente error:

Requested ‘atk >= 1.29.2′ but version of Atk is 1.28.0

Requested ‘gdk-pixbuf-2.0 >= 2.21.0′ but version of GdkPixbuf is 2.18.3

Eso quiere decir que en el primer paso si se instaló atk y gdk-pixbuf pero la versión que tenemos es inferior a la que necesita gtk para funcionar.

Entonces tenemos que bajar una versión de atk más reciente, la podemos encontrar buscando en google, yo la encontré en: http://www.icewalkers.com/Linux/Software/514330/ATK.html

La descargamos y hacemos los pasos:

$ tar -xvzf atk-1.29.4.tar.gz

$ cd atk-1.29.4

$ ./configure

$ make

$ sudo make install

Ok, ahora buscamos para gdk-pixbuf una versión mas reciente, la podemos encontrar en: http://ftp.gnome.org/pub/GNOME/sources/gdk-pixbuf/2.21/

Descomprimimos:

$ tar -xvzf gdk-pixbuf-2.21.3.tar.gz

$ cd gdk-pixbuf-2.21.3/

// Paso opcional, gdk-pixbuf requiere de la libreria libtiff, si no la tenemos hacemos:

$ sudo aptitude install libtiff-dev

Continuando con la instalación:

$ ./configure

$ make

$ sudo make install

Ok, entonces ya solucionamos el problema de las dependencias faltantes, nos faltaría nadamas ir otra vez a la carpeta donde descomprimimos el gtk y volvemos al paso en que nos quedamos:

$ ./configure –prefix=/opt/gtk

Ok esta vez no marcó problemas asi que podemos proceder:

$ make

$ sudo make install

Una vez teniendo lista la instalación podemos proceder a lo divertido, programar! Es importante que si nos sale algún error en el proceso de instalación revisemos qué error es e incluso es buena idea darle búsqueda en Google, muy probablemente encontraremos a alguien que haya pasado por el mismo problema.

Podemos encontrar más información del proceso de instalación en: http://library.gnome.org/devel/gtk/stable/gtk-building.html

En muchos de nuestros formularios, tal vez hemos querido manejar la opción de que el usuario pueda subir un archivo (imágen, por decir) a nuestro servidor. Normalmente podríamos manejar esto con HTML y PHP … pero que tal una alternativa donde no se refresque la página?. Utilizaremos una aplicación hecha con JQuery llamada AjaxFileUpload.

jQuery is a fast, concise, JavaScript Library

that simplifies how you traverse HTML documents, handle events, perform animations, and add Ajax interactions to your web pages.

This AjaxFileUpload Plugin is a hacked version of Ajaxupload plugin created by yvind Saltvik, which is really good enought for normal use. Its idea is to create a iframe and submit the specified form to it for further processing.

In this hacked version, it submits the specified file type of input element only rather than an entire form.

La forma de implementarlo en nuestras páginas no es tan difícil y de hecho en la página del proyecto publican código para hacerlo.

Se me hizo bastante bueno, lo acabo de probar en una página y funciona a la perfección, vale la pena darle una checada.

Enlace:

http://www.phpletter.com/Our-Projects/AjaxFileUpload/

Bueno, hay muchas veces que nuestros amigos o nosotros mismos tendemos a evitar buscar en Google y saturamos de preguntas a otras personas, algunos foros de hecho están llenos de preguntas repetidas por la misma tendencia que a veces se tiene de no buscar antes de preguntar :)

Justamente, hace unos minutos me topé con esta página que se me hace un tanto graciosa … tu pones una búsqueda en una página especial y te genera una pequeña animación que al final te dice “¿De verdad era tan difícil?

Asi que la próxima vez que alguien nos pregunte de algo y de antemano nosotros sepamos que si hubiera preguntado en Google primero lo hubiera encontrado, podemos mostrarle los resultados que genera esta página y tomar la situación con humor :)

En el “Acerca de” de la página nos muestra el siguiente mensaje:

Esto es para todas las personas que piensan que es mejor molestarte a ti antes que buscar en Google.

Enlace:

http://lmgtfy.com/

Cuando programo en javascript, me pasa de repente que se me olvida que propiedades puedo utilizar de algunos objetos… por decir…

Si queremos manipular el elemento document … y no recordamos que propiedades tiene, pues vamos a la página de referencia que tiene w3, y encontramos todo un menú de objetos de donde elegir:

This section contains a complete reference of

  • All built-in JavaScript objects
  • All browser objects
  • All HTML DOM objects

JavaScript Objects Reference

The references describe the properties and methods of each object, along with examples.

* Array object
* Boolean object
* Date object
* Math object
* Number object
* String object
* RegExp object
* Global properties and functions

Browser Objects Reference

The references describe the properties and methods of each object, along with examples.

* Window object
* Navigator object
* Screen object
* History object
* Location object

HTML DOM Objects Reference

The references describe the properties and methods of each object, along with examples.

* Document object
* Event object
* HTMLElement object
* Anchor object
* Area object
* Base object
* Body object
* Button object
* Form object
* Frame/IFrame object
* Frameset object
* Image object
* Input Button object
* Input Checkbox object
* Input File object
* Input Hidden object
* Input Password object
* Input Radio object
* Input Reset object
* Input Submit object
* Input Text object
* Link object
* Meta object
* Object object
* Option object
* Select object
* Style object
* Table object
* TableCell object
* TableRow object
* Textarea object

De hecho, de esa página no solo nos presenta propiedades de los objetos, si no que al entrar a determinado objeto, podemos ver también sus propiedades, métodos y eventos, por lo que esta página de referencia se me ha hecho muy buena para visitar mientras trabajo.

Dirección:

http://www.w3schools.com/jsref/default.asp

Bueno, tal vez en alguna ocasión nos hemos visto en la necesidad de implementar un reproductor de música en nuestros sitios web y no encontramos alternativas que sean poco intrusivas a los visitantes.

Una alternativa que en lo personal veo muy interesante es el Yahoo! Media Player, un reproductor de música que es bastante fácil de implementar en nuestras páginas web.

A revolutionary and easy to use music player that
plays audio on your website.

  • Adds audio to your site with one line of HTML
  • Uses simple, easy-to-hack HTML instead of complicated proprietary markup, ushering in the REAL Media Web
  • Magical floating design never gets lost, is available when you need it, gets out of your way when you don’t need it
  • Automatically finds all audio links on your page, turning your page into a playlist
  • Plays all your blog entries with a single button click
  • Allows you to put the play buttons where they belong: IN CONTEXT
  • Keeps the user in the page rather than sending them away to a media player
  • Picks up your images and adds them as cover art
  • Requires no download, install or maintenance

La primera página donde me topé con este reproductor fue la siguiente, en ella podemos encontrar música cuya licencia nos permite utilizarla en nuestros proyectos sin tanto lío: http://superfan2010.com/category/ambient-music/

La manera de instalar/utilizar este reproductor en nuestras páginas es bastante simple y la resumen en tres pasos en la página oficial del reproductor: http://mediaplayer.yahoo.com/

Ahora bien, si queremos meternos a cuestiones un tanto más específicas de la API podemos checar el siguiente enlace: http://fe1.music.sk1.yahoo.com/api/

Como puntos negativos sobre este reproductor podría mencionar que a veces, cuando se implementa con páginas web ya estructuradas, puede llegar a traslaparse o tener problemas con las hojas de estilo. Otra cosa que noté es que no se lleva muy bien con el navegador IE, pero a lo mejor es idea mia :)

Sea como sea, vale la pena darle una checada, es gratis, facil de implementar, útil y flexible.

logo

Bueno, pues… no puedo dormir el día de hoy… y me puse a modificar algunas cosas en el geolocalizador… les presento la versión final y el código por si lo quieren modificar o instalar en sus servidores:

Versión sin Google Maps: http://www.quanaxoft.com/geo/geoSimple.php

Versión conectada a Google Maps: http://www.quanaxoft.com/geo/geoAvanzado.php

Código fuente (ya incluye todo lo que ocupa para funcionar): http://www.mediafire.com/?kwuwkgnzzjd

Documentación: http://www.mediafire.com/file/ykn30wmy1jy/Geolocalizacion.pdf

Salu2! espero sea de utilidad :)

En Quanaxoft llevamos tiempo probando las ventajas que conlleva utilizar librerías como jQuery o Mootools para conseguir el efecto de “animaciones” en nuestros sitios web sin tener que utilizar flash :)

A veces uno tiende a saturar las páginas con código o librerías de las cuales por lo general no se les saca el mayor provecho posible, por eso lo ideal viene siendo hacerse de una librería base y de ahí partir.

Nosotros optamos por jQuery para algunos de nuestros desarrollos, por que entre otras cosas, el código que proporciona es muy ligero y tiene la gran ventaja de ser cross-browser … “escribe menos, has mas” es la frase que representa a jQuery … y es bastante cierta :)

Decidí hacer una entrada en el blog para simplemente recomendar esta librería a los desarrolladores curiosos que aun no conocen o no se deciden por una librería para sus aplicaciones.

De wikipedia:

jQuery es una biblioteca o framework de Javascript, creada inicialmente por John Resig, que permite simplificar la manera de interactuar con los documentos HTML, manipular el arbol DOM, manejar eventos, desarrollar animaciones y agregar interacción con la tecnología AJAX a páginas web. Fue presentada el 14 de enero de 2006 en el BarCamp NYC.

jQuery es software libre y de código abierto, posee un doble licenciamiento bajo la licencia MIT y de la GNU General Public License, Versión 2.[1] jQuery, al igual que otras bibliotecas, ofrece una serie de funcionalidades basadas en Javascript que de otra manera requerirían de mucho más código. Es decir, con las funciones propias de esta biblioteca se logran grandes resultados en menos tiempo y espacio. Leer mas

Como ejemplos:

- En nuestra misma página de Quanaxoft: www.quanaxoft.com , la animación de entrada presentada en un pop-up, el slider de la sección de Servicios e incluso la sección Portafolio, fueron elaboradas gracias a esta librería :)

- Flip! … que tal un efecto de flip para algun elemento de tu página? http://lab.smashup.it/flip/

- Etc, etc!

Esperamos proximamente ir empezando a publicar más sobre el uso de jQuery, asi como algun tip o aplicación que a nosotros nos haya gustado esperando que les sea útil.

Página oficial de jQuery: http://jquery.com

Ok, este oficialmente es el primer post en Quanaxblog y quiero escribir sobre algo que estaba pensando en la madrugada de hoy :)

Hoy en la mañana me encontré con un amigo en el MSN que había montado en su servidor web un archivo en php que iba haciendo el log de las direcciones IP que entraban a su página. Recordé que había una forma de engañar (dependiendo) a estas páginas que te dan la IP pero apenas hace rato la recordé.

Para poder lograr esto, modificaremos la cabecera HTTP llamada X-Forwarded-For la cual es una cabecera que nos permite conocer la IP origen de la petición de un cliente. Utilizaremos un plugin de Firefox llamado Modify Headers :)

Antes de correrlo podemos ir a páginas como:http://www.cual-es-mi-ip.net/ para conocer nuestra dirección IP

Ok, ahora procedamos a Spoofear ese resultado… abrimos el addon Modify Headers (desde Herramientas>Modify Headers) y agregamos lo siguiente:

Add            X-Forwarded-For        1.1.1.1

En donde en vez de 1.1.1.1 podíamos poner cualquier IP. Volvemos a entrar a la página para verificar nuestra IP: http://www.cual-es-mi-ip.net/ y notamos los cambios.

Ahora bien, con esto podemos ver el potencial de la herramienta :) … entre otras cosas podríamos editar la cabecera User-Agent…

Un agente de usuario es una aplicación informática que funciona como cliente en un protocolo de red; el nombre se aplica generalmente para referirse a aquellas aplicaciones que acceden a la World Wide Web. Los agentes de usuario que se conectan a la Web pueden ser desde navegadores web hasta los web crawler de los buscadores, pasando por teléfonos móviles, lectores de pantalla y navegadores en Braille usados por personas con discapacidades. Leer mas

En otras palabras, podríamos Spoofear a la aplicación web que entremos el tipo de navegador en el que estamos… podemos conocer nuestro User-Agent en páginas como esta: http://user-agent-string.info/parse

Y para no divagar, podemos conocer una lista de varios User-Agent recopilados en: http://www.user-agents.org/index.shtml?moz

Entonces …. en el Modify Headers agregamos:

Modify                     User-Agent                   Mozilla/2.0 (compatible; MSIE 3.0; Windows 3.1)

En mi caso quise hacerme pasar por ese tipo de navegador… :)

Definitivamente, el addon Modify Headers es muy interesante y como herramienta nos brinda bastantes posibilidades.

Enlaces

Obtener la IP real con PHP: http://www.eslomas.com/index.php/archives/2005/04/26/obtencion-ip-real-php/

Modify Headers: https://addons.mozilla.org/es-ES/firefox/addon/967

Bueno… hace varios días atrás me había topado con una entrada en un blog donde se habla de un estudio que parece indicar que mientras menos horas de trabajo hay, menos problemas se tiene en la vida :) …vaya que por cierto, últimamente he hecho cambios en la página de www.quanaxoft.com agregando una que otra cosa que se me hizo vistoza :)

Les dejo un fragmento y el link hacia el artículo:

No, no se trata de un sueño. Un grupo de pensamiento de origen inglés argumenta que una semana de 21 horas laborales de hecho podría ser una solución a muchos de los problemas ambientales y sociales del planeta.

Se trata de la Fundación para una Nueva Economía (NEF, por sus siglas en inglés), que lanzó un informe denominado 21 horas, Por qué una semana laboral más corta nos puede ayudar a todos a florecer en el siglo XXI. En él se explica de qué forma reduciendo las horas de los sobre-empleados se puede distribuir mejor el ingreso y lograr mayor bienestar para la población.

“Muchos de nosotros estamos consumiendo muy por encima de nuestras posibilidades económicas (léase endeudándonos) y más allá de los límites del medio ambiente, y aún así no logramos sentirnos mejor. Mientras tanto, otros sufren de pobreza y hambre”, señala el estudio de NEF.

“Avanzar hacia una semana laboral mucho más corta podría ayudar a romper el hábito de vivir para trabajar, trabajar para ganar, y ganar para consumir. [...] Mientras tanto, una semana de 21 horas podría ayudar a distribuir mejor el trabajo pago en forma más equitativa a través de la población”.

La premisa es simple: las personas que trabajan de más, con una semana laboral más corta podrían reducir el stress y mejorar su calidad de vida, ganando tiempo para vivir en forma más amigable con el planeta y concentrarse en valores emocionales y no materiales (practicando un consumo responsable).

A su vez, aquellas horas recortadas podrían ser cubiertas por personas hoy desempleadas, que ganarían un ingreso, repartiendo de esta forma la riqueza en forma más equitativa.

Leer mas

Fuente: http://blogs.tudiscovery.com/descubre-el-verde/2010/02/trabajar-menos-la-solucion-a-los-problemas-del-planeta.html

Salu2!

iPhone, una ventaja competitiva

19, 20 de marzo del 2010

En estas épocas de vanguardia, las tecnologías móviles se han convertido en una herramienta de comunicación y de trabajo sumamente importante. Con el surgimiento de los Smart Phones, las compañías diseñadoras se han preocupado porque sus dispositivos sean altamente efectivos en el momento de resolver las necesidades del consumidor. No podemos dejar de lado el iPhone(2007), que revolucionó la línea de trayectoria para las demás tecnologías móviles. En la pasada charla ofrecia por Streve jobs, en el “Apple Special Event January 2010″ para presentar el iPad, mencionó que existen 140, 000 aplicaciones para iPhone y iPod en las Apple Store y se registraron hasta ahora 3 billones de descargas de dichas aplicaciones. Jobs también comentó que el iPhone fue una pieza clave para el desarrollo y diseño del nuevo iPad. Actualmente Apple se posiciona como la empresa más grande en desarrollar herramientas móviles en el mundo, dejando abajo empresas como Nokia, Sony y Samsung.

BIMOTEC te invita a asistir a este importante e innovador foro para expner una solución en tecnología para mejorar la productividad y competitividad de las empresas pequeñas y medianas.

Bueno, pues me llegó información de un evento interesantísimo que quería compartirles, va a ser en León y pues está proxima la fecha del mismo …. es sobre el iPhone, habrá una conferencia y al día siguiente un taller para analizar las herramientas para el desarrollo de aplicaciones en el mismo, es un evento que no se puede dejar pasar definitivamente :)

Ver el programa

www.bimotec.com.mx

© 2011 Quanaxblog Suffusion theme by Sayontan Sinha