Archive for Diciembre 2009

This is a newbies error, you can get this error in browser for only 1 stupid reason:

  • You uploaded the bin-debug version of the SWF file (wrooong!!) you must upload the bin-release version of your SWF file or you will get URIs problems in some computers.

Remember that the bin-release version of the projects can be generated using Project>Export Release build.

Cheers!

This is a post for reference about the error I’m getting from Flash Builder 4 beta 2, sometimes when you are working with Flash Catalyst and Flash Builder you might need to recompose some part of your code and this is because from Catalyst you are not allowed to change any part of it.

This is where errors begin. In Flash Builder Virtualization means a component can add/remove more components inside of it, however some components need other components in order to correctly work, for example a List component and a datagrid must have an instance of a scrollBar class inside of it, this allows the component to create and increase the component when needed. But if you created a List component from Flash Catalyst and you didn´t add an instance of scrollbar or even if you delete the instance in Flash Builder, then you will get that error “BasicLayout doesn’t support virtualization” which basically means (as far as I understand it) -the component can’t create its own scrollBar, try adding an instance or class which extends it-. As an example let’s read the following code:

<?xml version="1.0" encoding="utf-8"?>
<s:Skin xmlns:s="library://ns.adobe.com/flex/spark" xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:d="http://ns.adobe.com/fxg/2008/dt">
<fx:Metadata>[HostComponent("spark.components.List")]</fx:Metadata>
<s:states>
<s:State name=”normal”/>
<s:State name=”disabled”/>
</s:states>
<s:DataGroup itemRenderer=”components.mtooPost” id=”dataGroup” top=”0″ bottom=”0″ right=”30″ left=”0″ clipAndEnableScrolling=”true”>
<s:layout>
<s:VerticalLayout/>
</s:layout>
</s:DataGroup>

<– NO SCROLL BAR–>
<s:transitions>
<s:Transition fromState="normal" toState="disabled" autoReverse="true">
<s:Parallel>
<s:Parallel target="{dataGroup}">
<s:Resize duration="0"/>
</s:Parallel>
</s:Parallel>
</s:Transition>
</s:transitions>
</s:Skin>

The previous code fires the error, but if instead the “NO SCROLLBAR” legend you add:

<s:VScrollBar id=”vscrollbar1″ viewport=”{dataGroup}” skinClass=”components.globalScrollBar” fixedThumbSize=”true” right=”5″ y=”13″/>

You will avoid the error, look that my scrollbar has a skinClass which you can ommit and use the normal wireframe or halo skin.

Greetings!

He estado viendo un par de ejemplos en la red con flash 10.1 que involucran sonido, -son bastante buenas-, y mientras tanto nosotros trabajamos en nuestra propia aplicación que involucra un poco de lo mismo, sonido y flash 10.1, sin embargo este no es un post en el que quiera hablar de lo que otros están haciendo sino de lo que nosotros estamos empezando a hacer, hace unas horas un cliente vino a nosotros con la esperanza de automatizar una máquina (voila!!!, automatización uno de mis topicos favoritos) y pues como en todo tema de automatización, se cree que la máquina a automatizar se encarga de suministrar el aire limpio del hambiente ( ja ja risa sarcastica).

Pero en realidad lo que esperamos es algo que haga algo interesante e impresionante. Mi sorpresa fue algo de todo, la máquina en cuestion se trata de una productora de calcetas/medias y vaya que si tiene lo suyo, son máquinas de los años 1924 y otras de años más adelante.

Maquina para la creación de calcetines

Maquina para la creación de calcetines

La imágen anterior es de una de esas máquinas de 1924 aunque esta es digamos con un “cranck” algo asi como manual con cuerda, pero el dueño casi comparado con Ciro Peraloca

Ciro Peraloca

Ciro Peraloca

(jajajaja) En fin, el punto es que ese tipo de máquinas ya están automatizadas con motores de 1/4HP y venga ya, nunca creí que los calcetas de niña de primaria eran hechas por una máquina de más de 80 años.

Pasando de topico, la máquina en sí que hay que automatizar es japonesa y francamente no la he encontrado en la red, pero dos cosas que debo comentar de ella son:

El programa de como hacer el dibujo (rayado) esta grabado en un cassette, (si de esos cassettes de los años 70’s)

Cassette donde se guarda el programa

Cassette donde se guarda el programa

Increible que esos japos supieran como hacer toda la electronica para una máquina y guardar el programa en un cassette, el modulo que reproduce el cassette es el siguiente:

Reproductor de cassette electronico

Reproductor de cassette electronico

Este no es reproductor normal, sino que al introducir la cinta, esta se reproduce a alta velocidad y junta los sonidos convirtiendolos en “1″ o “0″ almacenandolos en una EEPROM, acto seguido el programa ya se encuentra en la máquina y empieza a cargar y hacer lo que deba. Quizás alguno se pregunte, y ¿Cómo suena ese cassette si se intenta reproducir? , pues suena un solo sonido (un alto o “1″ muy agudo) y un espacio en blanco (un bajo o un “0″) de modo que es fácil leer, no obstante algunas partes tienen sonidos muy distintos, lo que me hace pensar que no es tan fácil como ponerlo todo a “0″ y “1″.

Aquí es donde entra la parte en flash 10.1, usando el microfono (que es una de las nuevas capacidades del 10.1) se capturan los datos en forma de bytes, algo conocido como “byteArray”. Y se hace que flash interprete todos esos sonidos en forma de bytes a sonido nuevamente( con las clases de microfono y sonido simultaneamente), de forma que sea flash mismo el que reconstruya la cinta pero con calidad superior, digamos que usa la cinta para hacer un mapeo del sonido y luego la analiza para reconstruir su versión totalmente digital, de manera que podamos tener una cadena laaaarga de bytes que nos permitan descompilar el programa y de allí partir a crear un lenguaje ensamblador de la máquina de los calcetines.

Ahora bien, esto quiere decir que la máquina tendrá un panel en el cual se podrá introducir la imágen que deseamos dibujar en la calceta y flash creara el ensamblador necesario para poder portarlo al cassette y de allí a la producción.

El anterior es uno de mis “approaches” pero existe otro, es posible evitarse la parte del “desensamblado” del codigo del cassette y pasar a una parte totalmente digital, con memoria SD y varios microcontroladores (por supuesto AVR) ya que la máquina cuenta con 156 agujas que deben conectarse en paralelo para poder controlar el color del tejido de la calceta para cada aguja. Mi approach aquí es usar varios atXmega ya que tienen la capacidad de trabajar simulataneamente en varias tareas (algo asi como multi-core y además son de 16 bits de procesamiento -un cerebro humano normal debe trabajar a unos 3 bits jaja-)

Parte frontal del lector de SD multiproposito

Parte frontal del lector de SD multiproposito

Anverso del lector SD de multiproposito

Anverso del lector SD de multiproposito

Las siguientes dos imágenes pertenecen al mismo lector de tarjetas SD que puede ser accesado desde un AVR (que por cierto tienen un AVR interno para hacerla de driver, -tomate esa PIC-).

Espero publicar algunas noticias de cual fue el “approach” que utilizamos y cuales han/fueron los resultados.

Saludos!

Es tiempo de publicar algo que ha estado en las puertas de investigación y prototipo, y ahora que esta concluido queremos compartir algunas imágenes de la interface Wolf Jukebox USB que puede ser utilizada para construir el teclado tanto númerico como compacto o “mini” y en conjunto con la liberación de este modulo aprovecharemos para reactualizar algunos detalles en Wolf Jukebox. Dejo algunas imágenes.

USB PCB

USB PCB

PCB prototipo donde se encuentran las piezas electronicas. El PCB es totalmente USB usando tecnología AVR, (y no, no se comparan con los PICs por que son mucho mejores los AVR :D asi que estamos proveyendo un driver USB de alta tecnología y con capacidad muy alta de procesamiento).

USB driver soldado.

USB driver soldado.

Driver USB soldado, quiero que noten el tamaño del mismo, nos hemos hecho de tecnología para realizar el “soldering” de este tipo de drivers. Me gusta que las cosas parezcan simples como en todo lo que hacemos, el tamaño del mismo denota que nos esforzamos por ofrecer productos de hardware de alta tecnología.

Cuando se hubo terminado el PCB USB lo primero que se me ocurrio hacer fue algún tipo de “robot” (que también forma parte de otro proyecto). Para conocer los alcances del driver, como siempre el resultado fue positivo y se pudo crear un “robotito” que puede ser controlado utilizando flash (no facilitare más comentarios pero lo presente en la cd de México en el Flash Latin Tour).

M7 Lite prototype .7

M7 Lite prototype .7

No es la gran cosa pero me ha servido para conocer los alcances del driver y son bastante buenos :D, ahora solo estamos trabajando en hacer una versión amigable con Wolf Jukebox y que estaremos publicando a mediados de enero del año entrante. Y claro estare subiendo algunas fotos de eso proximamente.

Saludos!

Flash catalyst es la herramienta del futuro en cuestión de diseño de interfaces. Como en todo lenguaje decente de programación se necesita un buen diseñador que tenga sentido del diseño para lo que se esta construyendo, por que no es lo mismo diseñar un cartel que dice “Mojitos 2×1 toda la noche” a que diseñe todo el concepto de la aplicación y el look and feel, incluso el diseñador (o aveces junto con el programador) puede(n) sugerir las animaciones o transiciones de movimiento de los elementos.

En html es muuuuy complicado hacer que algo tenga el aspecto que deseas simplemente por que no has practicado lo suficiente con CSS o te la has pasado programando y te cuesta trabajo entender como darle color y estilo a los div o elements en html via CSS.

Es importante no ser TODISTA, el que piensa que puede programar y diseñar al mismo tiempo, se esta limitando asi mismo a un mercado de consumo menos abierto. Y lo mismo sucede con Flash Catalyst y Flash builder 4, Flash Catalyst es para convertir una imágen (o asset) diseñada por (obviamente) el diseñador.

Una vez que el diseñador termina el boceto, lo importa en Flash Catalyst y convierte todos los elementos activos en componentes reales que toman la forma tal y como esta especificada en el boceto. Una prueba de ello es el badge o mini plugin de mtoo a la derecha de esta página, el boceto editado en Fireworks, el diseño creado en Catalyst y finalmente programado en Flash Builder 4.

Flash Catalyst en realidad debería ser parte de Flash Builder 4 o viceversa, no obstante me pregunto por que lo han hecho como programas separados, si Catalyst no exporta a otro programa que no es Flash Builder.

En flash Builder podemos usar todas las librerias y codigo que deseamos ya que Catalyst no permite modificar el codigo sino solo editar el comportamiento de la apicación (o presentación). Sin embargo la última beta de Flash Builder 4 permite conectarse rápidamente con bases de datos usando los wizards integrados y flanquear fácilmente ese bache de comunicación e intercambio de datos entre un servidor y una aplicación. Que será parte de otro tutorial más adelante. Pero adelanto que Flash Builder 4 beta 2 tiene un error en el wizard.

Por último comentare que Flash Builder 4 tiene la capacidad de comunicarse via AMF con php usando el plugin de Zend, pero que me perdonen los chicos de Zend, ya que AMFPHP implementa aun mas seguridad con los roles y es más robusto que la libreria por defecto, en mi comentario personal, debieron haber usado AMFPHP ya que es más fácil de configurar y usar.

Saludos!

Our lovely logo Hola, bienvenido al area un tanto informal de nuestro sitio, donde conversamos de lo que sucede con la tecnología flash, conlusions.....before getting the products :)