Algunas veces me plantean los mas extraños ofrecimientos de trabajo, y pues resulta que en esta ocación no ha sido la excepcion, y quiero compartir este pequeño hack por que tal vez muchos de ustedes pueden encontrarse en la misma situación.

Seguro conocen las maquinas tragamonedas, en donde se pretende que el jugador gane dinero insertando un par de monedas y jugando al azar seleccionando cierto numero o figura, pues bien estás máquinas tienen detalles, tal es asi que mi cliente me pidio que no “regalara” tanto dinero ya que no tenia suficiente revenue.

Pues bien le sugeri un par de opciones pero el optó por la siguiente:cambiar el orden del teclado, de esta forma los usuarios siguen teniendo la oportunidad de jugar pero ahora deben ademas descubrir el nuevo orden lo que llevara un par de monedas mas de lo habitual, haciendo ganar tanto a mi cliente como a su cliente.

Las maquinas a las que me refiero son las siguientes

saludos!

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!

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 :)