Mi Primer mundo para BOX2D en Actionscript 3

Dentro del lo motores fisicos que mencione en un post anterior esta BOX2D que para mi es el mejor y con el cual he empezado a desarrollar proyectos, la idea ante todo es conocer muy bien su funcionamiento y saber donde esta la documentacion para de esta forma saber todas las posibilidades que nos ofrece. La wiki de BOX2D la puede encontrar aqui. La libreria de flash se puede descargar aqui. El primer elemento, o prime paso que se sebe realizar es la creacion del mundo, que es donde los elementos van a interactuar. lo que vamos a realizar se puede ver a continuacion. Bodies y Shapes (cuerpos y formas) En este mundo todas las particulas de Box2D son cuerpos rigidos es decir tienen un cuerpo y una forma asociada; el cuerpo tiene unas propiedades como lo son la masa, la posición, el factor de amortiguamiento en cambio la forma maneja las colisiones, la fricción, la densidad entre otras variables. Teniendo todos estos datos, box2d puede llevara  cabo los calculos necesarios para darle el realismo necesario a nuestro mundo.

Basicamente nuetro primer ejemplo con BOX2D consta de 2 objetos, una superficie que es una mesa y un objeto que es una caja, coloque un botón para mirar el debug de box2d y asi no ensuciar la animación. Dentro del mismo codigo he colocado la explicacion de cada uno de los elementos utilizados para la programación. Esperen el siguiente tutorial donde agregare nuevo elementos :-) Archivos para Descargar.

ActionScript 3 Motores fisicos

fisica Buscando motores de control de variables fisicas me encontre con varias opciones como son (historia del arte): 1- The Fisix Engine: Este motor solo puede ser usado en flex, tiene una buena documentacion, y ha creado una comunidad al rededor de esta comunidad. Visitar Sitio 2. ActionScript Physics Engine Estas librerías físicas pueden ser usadas tanto en flash como Flex, es muy facil de usar, aunque se encuentra muchos tutorial y ejemplos muchos esta enfocados a Flex. Visitar Sitio 3. FOAM De las librerías físicas creo que es la peor documentada, toca ver ejemplos para poder entender su funcionamiento Visitar Sitio 4. Box2DFlashAS3 Estoy en el apredizaje de esta librería que para mi es la más poderosa y la mejor documentada, se basa en una creada para c++ y empezare a explicar mas adelante su manejo. Visitar Sitio

Flash Screen con swfObject (javascript)

Por inercia muchas personas confunden el termino fullscreen y lo asocian al tamaño de la animación dentro del navegador (piensan automaticamente poner tanto alto como ancho en 100%), pero en primera instancia fullscreen es relativo a la pantalla completa del ordenador. La forma de hacer un fullScreen lo colocare en un siguiente Post. Por ahora me limitare a explicar algo sumamente util y es el control del tamaño de la pantalla. Con esto me refiero a que podemos tener una animación de 800×600 y al tener una pantalla con una resolución mayor el contenido se desplegara sobre toda esta, pero si tenemos una pantalla de menor tamaño ó se hace un resize de la ventana no queremos que la informacion se pierda y por ende queremos que cuando suceda esto salga el scroll respectivo. El Problema It may be worth pointing out that in most cases there are two distinct reasons a flash website might have, for wanting to enable the browser scrollbar. * Si la ventana se ajusta a un tamaño menor al que fue diseñado se deberia agregar un scrollbar. * El contenido es mas largo que el diseño original.

SWFResize, SWFForcesize y SWFObject

SWFResize es una pequeña adicion para el codigo  SWFObject . Este codigo funciona para el SWFObject anterior al 2, igual tambien existe una implementacion utilizando JQuery que mas adelante explicare. Lo realmente importante esta en la funcion createFullBrowserFlash() que es donde se agregara el tamaño minimo de presentacion de nuestra pelicula, en este caso el tamaño es de 980×553 px, de igual forma la funcion setHeight() setiara el alto de la animacion de acuerdo al tamaño que escogimos (553px). Ya reemplazas los puntos donde se refiere al swf por el archivo respectivo y listo. El codigo completo [js]<br /> &lt;script type="text/javascript"&gt;// &lt;![CDATA[<br /> var size = getViewportSize();<br /> function getViewportSize()<br /> {<br /> var size = [0, 0];<br /> if (typeof window.innerWidth != "undefined") {<br /> size = [window.innerWidth, window.innerHeight];<br /> }<br /> else if (typeof document.documentElement != "undefined" &amp;#038;&amp; typeof document.documentElement.clientWidth != "undefined" &amp;#038;&amp; document.documentElement.clientWidth != 0) {<br /> size = [document.documentElement.clientWidth, document.documentElement.clientHeight];<br /> }<br /> else {<br /> size = [document.getElementsByTagName("body")[0].clientWidth, document.getElementsByTagName("body")[0].clientHeight];<br /> }<br /> return size;<br /> }<br /> function createFullBrowserFlash()<br /> {<br /> swfobject.createCSS("html", "height:100%;");<br /> swfobject.createCSS("body", "height:100%;");<br /> swfobject.createCSS("#container", "margin:0; width:100%; height:100%; min-width:980px; min-height:553px;");<br /> }<br /> function setHeight( h )<br /> {<br /> if ( h &lt; size[1] ) h = "100%";<br /> var el = document.getElementById("container");<br /> if ( h != "100%" ) el.style.height = h &lt; 553 ? "553px" : h + "px"; else el.style.height = "100%"; } var flashvars = { }; var params = { "allowscriptaccess": "samedomain" }; swfobject.embedSWF("main.swf", "content", "100%", "100%", "9.0.0", false, flashvars, params); if (swfobject.hasFlashPlayerVersion("9.0.0")) { swfobject.addDomLoadEvent( createFullBrowserFlash ); }<br /> // ]]&gt;&lt;/script&gt;[/js]

JAVA FX

Java Fx

Java Fx

Hace dos meses descubri de la existencia de javaFx, un poco tarde pues este habia sido lanzando el años pasado (2008). Aun asi la alegria es considerable sabiendo que ha muchos programadores de java (me incluyo), no habia tocado aprender lenguajes como as2,3 (flash y flex) y estavamos miando de reojo a la propuesta del silverlight de Microsoft. Java FX es la respuesta de SUN a esas tecnologias enfocadas en RIA (Rich Internet Aplication) que es a donde confluye toda la web en este momento. Al igual que Adobe saco AIR para el desarrollo de aplicaciones de escritorio, Java FX tambien apunta tanto en este punto como para dispositivos moviles loq ue lo hace muy versatil. Si hablamos de funcionalidad y de la plataforma comparativamente hablando (adobe y microsoft), creo que es algo complicado hacer la comparacion, pues ofrece caracterisitcas similares solo que el entorno de trabajo sera mucho mas amigable para los que programamos en Java. Con relacion al exito que pueda alcanzar aun es dificil dimensionarlo, pues Adobe tiene una gran dominio (mucho adeptos por su trayectoria), pero el tiempo sera el encargado de darles o no la razon a los desarrolladores de Java Fx. Por ahora creo que seguire con Flash y Flex, pero estudiare detenidamente Java Fx por que no creo que debamos despreciarlo solo por ser el nuevo jugar en el mundo de RIA. Para mas informacion sobre Java Fx visita: http://java.sun.com/javafx/

Eliminar entradas/columnas duplicadas en MYSQL

Muchas veces los programadores por el afan de sacar una apliacion al aire se olvidan de colocar cierto elementos de control para que la informacion que se ingrese sea unica (evitar datos repeditos). A veces cuando se dan cuenta ya se ha ingresado muchisima informacion lo cual evitaria una limpieza manual (consume muhco tiempo y el tiempo es dinero). Aqui les envio una forma de purgar nuestra tabla de forma rapida. Paso 1: Mover los datos no duplicados (Unicos) a una tabla temporal
CREATE TABLE nueva_tabla AS SELECT * FROM vieja_tabla WHERE 1 GROUP BY [columna donde el dato debe ser unico];
Paso 2: Borramos la tabla anterior No vamos a necesitar la tabla con la informacion duplicada asi que la borramos
DROP TABLE vieja_tabla;
Paso 3: renombramos la nueva_tabla con el nombre de la vieja_tabla
RENAME TABLE nueva_tabla TO vieja_tabla;
Listo ya con esto espero que te hyas ahorrado mucho tiempo…

Servlets, JSP, Javascript!!!

java

java

JavaScript: ———– es un lenguaje de scripting para java :) hace que las páginas web hagan moñerías como comprobar que has introducido datos en un formulario, enseñarte la hora actual, cosas así. Todo muy básico, y dependiente 100% del navegador. Servlets: ——— Al igual que applets son aplicacioncitas (lets es el diminutivo en inglés), servlets son “servidorcitos” :) Son programas Java que corren en el lado del servidor web, y a los que el cliente accede mediante el protocolo HTTP. Son útiles por ejemplo para gestionar portales web o similar, porque ofrecen la potencia de programación de Java, y trabajan en el lado del servidor. JSP: —- Java Server Pages. Son servlets, pero se programan como páginas HTML con tags especiales para insertar llamadas a métodos de Java. Corren del lado del servidor, y son una forma sencilla y elegante de enviar/recibir información al/del usuario. JSP->interfa z con el usuarioSERVLETS->proceso de datos JavaScript->corre en el lado usuario y depende del browser

Fuerte polémica sobre el control de la información personal en Facebook

facebook Más de 175 millones de personas comparten su información personal en Facebook, una red social que se encuentra en el ojo del huracán por la polémica sobre quién tiene el control sobre los datos allí publicados. El consejero delegado y fundador de Facebook, Mark Zuckerberg, ha alimentado la polémica al rebatir hace unas horas, en un blog corporativo, que la empresa tenga un control ilimitado sobre los datos personales de sus miembros. Son los usuarios y no Facebook “los dueños y controladores de su información”, escribió Zuckerberg. “La filosofía de que la gente posee su información y controla con quién quiere compartirla permanece” pese a los cambios legales introducidos por la firma. Hace dos semanas, la empresa modificó los términos de uso de las cuentas, un documento que la mayoría de los usuarios acepta con un click sin echarle un vistazo. Pero el pasado domingo, el blog estadounidense Consumerist se hizo eco de los cambios, y denunció que, tras las alteraciones en la letra pequeña del documento, Facebook adquiría el derecho a usar libremente todo lo publicado por sus miembros, incluso cuando éstos ya se han dado de baja. “Todo lo que subas a Facebook puede ser utilizado por esta empresa como ellos quieran y para siempre independientemente de lo que hagas después”, afirmaba el comentario de Consumerist que en pocas horas recibió más de 300.000 visitas. En la red social, las reacciones en contra de estas modificaciones no se han hecho esperar y los usuarios han creado ya varios grupos de oposición a los cambios. “Está bien que Facebook haya publicado un comunicado sobre sus intenciones, pero está muy claro que usaron prácticas turbias”, afirmaba ayer Derek Mulhern, usuario de la página y uno de los doscientos miembros del grupo “Facebook posee todo lo que pones aquí!!”. “Yo no recibí ninguna notificación sobre los cambios. ¿La recibió alguien?”, se quejaba. Por su parte, Adam Lipstadt, de Nueva York, lamentó que Facebook “se toma una licencia permisiva y perpetua para hacer más o menos lo que quiera con lo que subes a la página”. “Personalmente, he borrado todas mis fotos, excepto las dos del perfil”, señala. Facebook insiste en que no ha modificado los términos de uso para tomar control de la información privada de sus usuarios, sino para reflejar mejor la forma en que éstos utilizan la página. Así, si un miembro de Facebook se da de baja, los comentarios que haya realizado sobre, por ejemplo, las fotos de otro miembro de la red no desaparecerán sino que seguirán ahí. “No hay ningún sistema hoy en día que me permita compartir mi dirección de correo electrónico contigo y, a la vez, me dé la capacidad de controlar con quién la compartes tú”, escribe Zuckerberg en el blog de Facebook sobre las realidades de Internet. Los expertos señalan que la mayor parte de los sitios de la red tienen términos de uso similares porque las compañías necesitan cubrirse las espaldas en caso de disputas legales y que los consumidores deberíamos estar más atentos a lo que firmamos. “La mayoría de las web ofrecen condiciones de uso diseñadas para proteger y ampliar sus intereses y la mayoría de la gente simplemente las acepta sin leerlas”, comentaba hoy en el New York Times Greg Lastowka, profesor de la universidad Rugers y experto en legislación en Internet. Vía EFE

Saber si es Par o impar

¿Cómo sabemos si un número entero es par o impar? Por supuesto que no es muy complicado. Cuando recién comenzaba, recuerdo haber buscado una forma de hacerlo, no muy práctica floor($a / 2) == $a / 2; El resultado es correcto, pero esto se podría facilitar aún más conociendo el operador % $a % 2 == 0; Sin embargo, se puede hacer todavía más rápido, aunque no necesariamente fácil, verificando si el binario contiene al 1 o no. $a & 1 == 0

Google Ocean

google-ocean Google muy constantemente trata de incluirle nuevas funcionalidades a sus aplicaciones. Cuando saco Google Earth creo que descresto a más de uno el poder recorrer y mirar el mundo a vuelo de pajaro alcanzando un gran nivel de detalle en muchas partes del Globo. Como los proyectos de Google parece no tener limites  la empresa ha reunido a un grupo de expertos en oceanografía que harán las veces de asesores del proyecto y se sabe que ha invitado,  en diciembre del año pasado, a investigadores de instituciones de todo el mundo a Googleplex, California.  Allí se discutieron los pasos a seguir para crear un mapa del oceano en tres dimensiones. El Google Earth en realidad no aporta muchos detalles de la estructua de la superificie oceanica (versiones previas), pero con esta version se podrán ver videos, explorar las rutas migratorias de los peces, sitios de buceo entre otras muchas otras cosas. Este proyecto  fue una idea de la oceanógrafa Sylvia Earle (Oceanografía Americana), que indicó que sólo de esa manera se podía pretender que el software fuera completo. De hecho ella es la que realiza el video introductorio de la pagina oficial. Gran parte de las informaciones que presta el buscador fueron puestas a disposición por la BBC Earth, la Sociedad de Conservación Marina (la Marine Conservation Society, con sede en Reino Unido) y por National Geographic. El proyecto ha requerido dos años de trabajo en colaboración con 80 organismos privados y públicos. Esta quinta versión de Google Earth estará además disponible en 40 idiomas. La pagina oficial es http://earth.google.com/ocean/

Chrome 2.0

chrome1 Google lanzo el año pasado su navegador Chrome en su versión Beta, y posteriormente lanzo la versión 1.0 oficialmente (sorpresa para todos los que pensamos que sería un beta eterno). En primera instancia creo que nos defraudo bastante, tenía bastante problemas con los javascripts y prácticamente Firefox le llevaba mucho en desarrollo. Chrome prácticamente quiere reflejar la filosofía de la empresa con respecto al concepto de limpieza, es decir pocos botones y más espacio para mostrar el contenido que realmente le interesa a la persona. Aun así la imposibilidad de personalizar el navegador como podemos hacerlo con Firefox, Internet Explorer o incluso Opera, desilusionan a muchos, aunque seguramente Google lo empezara a potencializar. La competencia en los Navegadores cada día se pone más interesante, aunque igualmente Internet Explorer sigue siendo el rey de los navegadores (aunque muchos no lo queramos) porque es la elección inercial de la mayoría de personas (obviamente que utilizan Microsoft Windows como Sistema Operativo). Seguramente si Internet Explorer no viniera con el sistema operativo la historia seria otra. Al parecer la Google esta en desarrollo de la versión 2 de Chrome, pero también Microsoft lanzo la versión Beta de Internet Explorer 8 (paradojicamente con problemas de compatibilidad con el beta de Windows 7), todo esto solo deja como único beneficiado al usuario final que encontrara mas opciones de una mayor calidad. Creo que por ahora yo seguire con mi Firefox 3.0 pero quien sabe mañana q pasara…