Flex + jQuery

Me acabo de dar cuenta que no habia escrito una entrada sobre un mini experimento que hice mezclando Flex con JavaScript demostrando que Flash y HTML “5″ no estan peleados XD. El resultado: una mini galeria usando el componente CoverFlow que muestra la imagen a tamaño completo usando un plugin de jQuery :)

http://erickruizdechavez.com/pruebas/gallery/

Publicado en Ocio, Programación | Etiquetado , , | Deja un comentario

Usos raros de Twitter…

… o como una semana de social-media me convencio de desistir.

Raro, muy raro uso que se le puede dar a Twitter pero la verdad es que una semana me basto para conseguir lo que en dos años que tenia de usuario no habia conseguido: Acabar arto de la interaccion en “tiempo real” y del bombardeo de comentarios, ideas, preguntas, etc. Asi que, desde hace una semana precisamente desisti al mas puro estilo “Alex Syntec” deje mi cuenta para no volver a usarla; me quedo con el super “cara-libro” y con mis contactos a los cuales si conozco en la vida real y con los cuales puedo interactuar mas alla de 140 caracteres :)

Publicado en Ocio | Etiquetado , , | Deja un comentario

BaraTweet! clon de Posty.us

Hace unos dias lei en un tweet o post de Hector sobre Posty.us y me parecio buena la idea pues el uso de GPRS en teoria deberia ser mas barato que el envio de un SMS. Lo probe y mande un par de sugerencias pero creo que el desarrollador anda de vacaciones, perdido en el espacio o simplemente ya no le da soporte. Por este motivo se me ocurrio hacer un “clon” que siga funcionando despues de mañana ya que oficialmente Twitter solo permitira acceso a su API usando OAuth. despues de unas horas de hacer experimentos termine con BaraTweet! un clon que hace lo mismo solo que usando OAuth y sin necesidad de estar escribiendo contraseña :)

Se aceptan todos los comentarios y sugerencias, incluyendo diseño pues esta el HTML en plano, sin estilos ni colores ;)

http://baratweet.freeiz.com/

Publicado en Ocio, Programación | Etiquetado , , , | 1 comentario

De Flex a HTML – Parte 3: Servicios encadenados

Cuando estaba por terminar la funcionalidad de la aplicacion HTML me tope con un pequeño problema: Los servicios en determinados escenarios se encimaban y acababa con datos viejos, datos duplicados, etc. Mi primer idea para solucionarlo fue pausar o cancelar las llamadas pero este enfoque no me gustaba ya que estoy mas acostumbrado al commandchain de Swiz en flex; por eso busque (y encontre) otro plugin de jQuery para crear una cola de llamadas AJAX: AJAX Queue/Cache/Abort/Block Manager v. 3.0

Este genial plugin soporta procesar multiples peticiones de forma paralela O en serie. La implementacion fue completamente transparente ya que en vez de hacer un $.ajax(), lo que hice fue (como viene ejemplificado en la pagina de documentacion) iniciar el administrador de peticiones y encolar las peticiones necesarias.

Otras opciones interesantes de este plugin:

  • Cache de respuestas
  • Queue
  • Abortar llamadas anteriores
  • Abortar llamadas no exitosas
  • Numero maximo de solicitudes

Un breve ejemplo y la url:

//create an ajaxmanager named cacheQueue
var ajaxManager = $.manageAjax.create('cacheQueue', {
	queue: true,
	cacheResponse: true
});

//and add an ajaxrequest with the returned object
ajaxManager.add({
	success: function(html) {
		$('ul').append('<li>'+html+'</li>');
	},
	url: 'test.html'
});

http://www.protofunc.com/scripts/jquery/ajaxManager3/

Publicado en Programación | Etiquetado , | Deja un comentario

De Flex a HTML – Parte 2: Data Binding

Una de las maravillas de Flex son los llamados Data Bindings que es una forma abreviada del modelo Observador / Suscriptor (Observer / Subscriber) y como en JS no lo conocía pues se me hacia completa mente engorroso estar programándolo a pie.

Como una de mis cualidades de programador es la “flojera” de tener que estar reinventando la rueda me di a la tarea de buscar algún plugin para jQuery que me solucionara la vida ayudara a salvar dicho problema y lo encontré: jQuery Watch.

Que es lo que hace este plugin? Sencillo. Se le asigna una un objeto, una propiedad de dicho objeto y una función. Cada 100 milisegundos monitorea si el valor de dicho objeto ha cambiado y en caso de ser así, ejecuta la función dada pasando como parámetros el nombre de la propiedad, el valor antiguo y el valor nuevo :) . Para que sirve esto? Fácil! en ves de estar cambiando todos los valores de los datos, nodos, etc cuando recibimos respuestas de AJAX o entradas del usuario, simplemente asociamos un watcher a X o Y objeto con su respectiva función y cuando modificamos una variable, voila, se hace la magia sin importar desde donde se haga la molificación.

Un pequeño ejemplo para demostrar la utilidad: Sin watcher | Con watcher

El que usa watcher a primera vista se ve un poco mas laborioso, pero cuando tenemos un proyecto en el cual desde cualquier parte se puede realizar cualquier operación es un poco difícil llevar el control de si tal o cual evento debería o no actualizar determinadas partes del html; con los watchers nos olvidamos de esto pues, los eventos solo cambian variables y los watchers monitorean las variables para actualizar lo que se tenga que actualizar 8)

Publicado en Programación | Etiquetado , , , , | Deja un comentario

De Flex a HTML – Parte 1: Constraint Layout

Hace algunos días empecé a hacer una versión alterna a una aplicación Flex en HTML y JavaScript. El primer pensamiento fue “Interesante, hace siglos que no hago JavaScript formalmente”, el siguiente fue “Se que ha mejorado, pero… habra mejorado lo suficiente como para que no sea de nuevo un verdadero dolor de cabeza?” así que sin pensar demasiado para no arrepentirme me lancé a empezar la tarea asignada.

Mi sorpresa fue bastante agradable, mas no completamente sin dolor, pues si me llegué a encontrar uno que otro pequeño detalle, pero el resultado ha sido bastante agradable.

Lo mejor de todo, es que he podido aplicar conceptos que uso a diario en Flex como el Constraint Layout, las llamadas a servicios encadenados, “bindeos” de variables, incluso algo similar a un “itemRenderer“; les dejo en este post como conseguí el constraint y en los siguientes iré dando ejemplos de todo lo que aquí comenté.

Cabe mencionar que los navegadores donde estoy probando son solo Firefox 3.6.x y Safari 2.x. Firefox pues FireBug es una maravilla y Safari pues según se la idea de esta versión es apuntar a iPad / iPhone.

Constraint Layout (top, bottom, left, right)

Después de media mañana de estar peleéndome con divs, tablas, float:left, clear:both, etc. mi buen amigo Parga me dijo -Por que no usas top, bottom, left y right- creo que no pude esconder mi cara de sorpresa cuando me explico que era perfectamente válido usarlos en CSS y que se comportaba igual que en Flex; el truco: position:absolute.

Un clásico layout con cabeza, menú, contenido y pie:

<html>
	<head>
		<style type="text/css">
			html, body {
				width: 100%;
				height: 100%;
				margin: 0;
				padding: 0;
			}

			.absolute {
				position:absolute;
			}

			.header {
				top: 10;
				left: 10;
				right: 10;
				height: 100;
				background-color: #e0e0e0;
			}

			.menu {
				top: 120;
				left: 10;
				width: 200;
				bottom: 70;
				background-color: #f0f0f0;
			}

			.content {
				top: 120;
				left: 220;
				right: 10;
				bottom: 70;
				background-color: #f0f0f0;
			}

			.footer {
				left: 10;
				right: 10;
				height: 50;
				bottom: 10;
				background-color: #e0e0e0;
			}
		</style>
	</head>
	<body>
		<div class="absolute header">Header</div>
		<div class="absolute menu">Menu</div>
		<div class="absolute content">Content</div>
		<div class="absolute footer">Footer</div>
	</body>
</html>

El resultado del codigo de arriba se ve algo asi:

Como se puede ver, es mas CSS que HTML, bien pude poner los estilos en cada una de las etiquetas, pero eso no sería muy bueno que digamos ya que no hay como dejarle a cada lenguaje su tarea propia.

Espero les sea de utilidad esta breve experiencia y no olviden dejar comentarios, dudas y/o sugerencias :)

Publicado en Programación | Etiquetado , , , , , | Deja un comentario

Super Happy Dev House Aguascalientes #1

El pasado sábado 29 de mayo se llevo a cabo el primer SHDH en la ciudad de Aguascalientes. La inquietud por organizar este evento surgió de miembros activos de Tequila Valley Aguascalientes (TQV, somos todos!). A pesar de la poca difusión que se le dio, inclusive dentro de la misma sede (Universidad Autónoma de Aguascalientes – UAA), contamos con un total de 22 asistentes de muy variadas categorías: Redes, Gaming y Modding, Developers, Estudiantes de Preparatoria/Bachiller y hasta Productores de Cine.

El evento no se centro exclusivamente en desarrollo, tomando por momentos matices de BarCamp con unas platicas organizadas en el momento por los organizadores y asistentes.

Matices de BarCamp

@superhappyisra empezó con la Presentación del SHDH, explicando a los presentes (la mayoría su primer encuentro con Tequileros) en que consiste un Super Happy Dev House, y que es Tequila Valley.

@drac94 continuo después con la palabra platicando sobre JavaAgs, comunidad de desarollo Java en aguascalientes y de otra de las iniciativa llamada #ViernesDeCafe, invitándonos a tomar parte de esta y, siguiendo el buen espíritu tequilero, compartir y ayudar al vecino con lo poco o mucho que le podamos aportar de nuestras experiencias.

@erwin_raptor y @rorixrebel nos compartieron y explicaron un poco acerca del Moding asi como sobre Digital Frags, la mejor comunidad Gamer de Aguascalientes y Mexico y “culpables” del Mega LanParty Aguascalientes 2009. Compartieron un poco sobre la comunidad, explicando cuales son sus objetivos e invitando a los presentes gamers a unirse con sus ánimos, experiencia y dudas, las cuales pueden ser compartidas con todos en su foro.

Después, un servidor @erickrdch, expuse a los presentes sobre mis experiencias en mis 6 años como desarrollador, invitando a los futuros programadores a que conozcan Flex y sus bondades como lenguaje de programación y platique (casi a manera de comercial :P ) un poco sobre Softtek, que es, que hace y como deben tenerlo presente pues es una gran lanzadera para futuros profesionistas del área de IT de Aguascalientes (y de todo el mundo).

Proyectos

Dentro de los asistentes se presento Jonathan García, compartiendo un problema que tiene con su programa de videoclub. Comentamos nuestros puntos de vista y le dimos un par de caminos extras a los que ya había contemplado. Esperemos haberle ayudado.

En un rato de tranquilidad que tuvimos, @drac94 y un servidor nos pusimos a tocar un poco el sitio de TQV Aguascalientes tratando de redirigirlo, sin mover el dominio a un blog que ya estaba en proceso de construcción. Esto al día siguiente se cambio pues @drac94 consiguió la información necesaria para montar el sitio en el mismo servidor de TQV, tal y como lo tienen ya otros estados del país. Al mismo tiempo, @wis0g y @erwin_raptor anduvieron ayudando muy entretenidos por su cuenta a varios de los asistentes. @erwin_raptor apoyó a otra de nuestras asistentes con sus conocimientos en el área de soporte con su laptop dejándola a punto y lista para trabajar en las tareas mas demandantes que su dueña requiera.

Nuestro último (pero no menos importante) asistente, Salvador Plancarte nos explicó que es Atalaxia, quienes son y sus planes dentro de las redes sociales y el Crowfunding. Esperamos poder ayudarlos en un futuro nada lejano y los invitamos a continuar asistiendo a los eventos de Tequila Valley donde sin duda encontrarán mucho apoyo por parte de la comunidad tequilera.

Nuestros resultados y siguientes planes

No todos los resultados fueron para el público, pues también trabajamos un poco para nuestro TQV Aguascalientes. Nuestra siguiente meta es el primer Destilando Web Aguascalientes, el cual se llevara acabo el día Domingo 13 de junio en el Starbucks de Altaria a las 10 a.m. y quedan cordialmente invitados todos. Los temas a tratar serán: Reagruparnos en TQV Aguascalientes para (re)arrancar, Organización del segundo SHDH, Organización para el primer BarCamp.

Publicado en General | Deja un comentario

Feria de Reclutamiento Softtek

Softtek Aguascalientes efectuará el próximo Sábado 8 de Mayo una Feria de Reclutamiento, la cual tendrá lugar en el Hotel Camino Real Expo-Guadalajara (Av. Mariano Otero 1326, Colonia San Diego Chapalita) de 9.00 A.M. a 6:00 P:M

Si radicas en dicha ciudad Guadalajara o en sus alrededores, tienes disponibilidad de cambiar de residencia y dominio del idioma ingles, no dudes en participar.

Softtek Aguascalientes esta en búsqueda de talento que tenga experiencia y conocimientos en las siguientes plataformas tecnologías:

  • Web Developer (Flex, Action Script, PHP, C++, .Net, Html)
  • Mainframe (Cobol, JCL, CICS, DB2)
  • Java  (J2EE, J2SE)
  • DBA’S  (Oracle and Sql Server)
  • Oracle Applications (Functional Consultant)
  • Testing (Manual and Automated)
  • SAP (Functional Consultant)
  • Server Admin (Unix, Windows and Telecom)
  • Security System

IMPORTANTE: Si no puedes asistir de manera presencial a dicho evento, envía tu CV reclutamiento.ags@softtek.com

Publicado en General | Deja un comentario

Creando una aplicación CRUD con Flex y PHP

Y listo quedo el fruto de la inspiración que me llego el fin de semana pasado :)

Es muy común el necesitar que una aplicación Flex se comunique con una base de datos. En esta guía enseño como hacer un ABC (Altas, Bajas, Cambios/Consultas) o en inglés CRUD (Create, Request, Update, Delete) desde cero usando Adobe Flex (con el framework Swiz) y PHP (con los frameworks AMFPHP y ADODB).

Debido a la longitud del contenido preferí dejarla como un archivo PDF y comprimirlo junto con el código fuente. El contenido del archivo ZIP es el siguiente:

  • www: Carpeta con todas las librerias de PHP usadas incluyendo AMFPHP, ADODB y el código de la guía
  • flex: Carpeta con todo el proyecto de Flex Builder
  • fpcrud.pdf: Guía en formato PDF.

El contenido de la guía esta bajo licencia Creative Commons Reconocimiento-No comercial-Compartir. El código fuente esta bajo licencia BSD.

http://dl.dropbox.com/u/4438871/fpcrud.zip

Publicado en Programación | Etiquetado , , , , , , | 1 comentario

Preparando Guia Flex + PHP

Estos dias he andado algo callado pues ando preparando una completa guia de Flex+PHP para hacer una aplicacion desde 0 conectandola a una base de datos MySQL :) no es por que la este haciendo yo pero me esta quedando muy nice :D ya llevo 11 paginas. En cuanto la termine la subo en formato PDF asi como el codigo fuente terminado. Cabe comentar que no es de nivel principiante pues la dirijo a quien ya sabe hacer un proyecto sencillo en flex y quien tiene bases de php orientado a objetos, pero ahun asi creo que esta bastante entendible.

A quien le interese usarla, la licencia del codigo sera seguramente LGPL o MIT y el PDF licencia CC. Todavia estoy por definir estos detalles en cuanto la termine :)

Actualización: La guía esta lista aquí

Publicado en Programación | Etiquetado , , , , , , | 2 comentarios