<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>digilabs.com.ar &#187; Programación</title>
	<atom:link href="http://digilabs.com.ar/category/programacion/feed" rel="self" type="application/rss+xml" />
	<link>http://digilabs.com.ar</link>
	<description>Let's code!!!</description>
	<lastBuildDate>Tue, 24 Jan 2012 00:14:59 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.2</generator>
		<item>
		<title>Leer el muro de facebook &#8211; token de facebook que no expiran</title>
		<link>http://digilabs.com.ar/2011/08/tutoriales/token-de-facebook-expiran</link>
		<comments>http://digilabs.com.ar/2011/08/tutoriales/token-de-facebook-expiran#comments</comments>
		<pubDate>Tue, 09 Aug 2011 10:07:11 +0000</pubDate>
		<dc:creator>Andrés Argüello Pitt</dc:creator>
				<category><![CDATA[Programación]]></category>
		<category><![CDATA[Tutoriales]]></category>

		<guid isPermaLink="false">http://digilabs.com.ar/?p=1481</guid>
		<description><![CDATA[Si estamos trabajando con la nueva API de facebook y por ejemplo queremos tener acceso a los posts del muro, necesitamos generar un token que nos permita hacer esto. Generalmente estos token se generan cuando el usuario se loguea, pero en nuestro caso no queremos que se autentifiquen sino que queremos que el usuario pueda [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://digilabs.com.ar/wp-content/uploads/2011/08/facebook-token.jpg"><img src="http://digilabs.com.ar/wp-content/uploads/2011/08/facebook-token-150x150.jpg" alt="" title="facebook-token" width="150" height="150" class="alignnone size-thumbnail wp-image-1482" style="float: left; margin-top: 0px; margin-right: 8px; padding: 4px; border: 2px solid #F08100;"/></a>Si estamos trabajando con la nueva API de facebook y por ejemplo queremos tener acceso a los posts del muro, necesitamos generar un token que nos permita hacer esto. Generalmente estos token se generan cuando el usuario se loguea, pero en nuestro caso no queremos que se autentifiquen sino que queremos que el usuario pueda leer nuestros post en un sitio externo sin tener que ingresar a facebook. Por defecto los token que nos genera el nuevo panel de control de aplicaciones expiran dos horas luego de haber sido creado. Por lo que si lo que queremos es crear una applicacion que lea  nuestro muro para publicarlo en otro lado necesitamos crear un token que no expire.<br />
Para esto necesitamos darle a nuestro usuario acceso offline (Oauth offline_access), esto es muy facil, solamente encesitamos ir a la siguiente url:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
</pre></td><td class="code"><pre class="php" style="font-family:monospace;">https<span style="color: #339933;">:</span><span style="color: #666666; font-style: italic;">//www.facebook.com/dialog/oauth?</span>
client_id<span style="color: #339933;">=</span>APP_ID<span style="color: #339933;">&amp;</span>redirect_uri<span style="color: #339933;">=</span>URL_DE_LA_APLI<span style="color: #339933;">&amp;</span>scope<span style="color: #339933;">=</span>offline_access</pre></td></tr></table></div>

<p>Una vez generado el token si ingresamos al panel de nuestra aplicación en facebook.com/developers<br />
veremos que el token y si hacemos click en &#8220;more&#8221; notaremos en los detalles que el token no expira. por lo que lo podremos usar para hacer llamados al Graph. (ver la imagen).</p>
<p>Antes se tenia acceso al feed mediante un rss pero yo ya no esta disponible por lo que la unica opcion que nos queda es el leer el feed en formato JSON usando el Graph. Por ejemplo si queremos leer el muro de un usuario en particular:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
</pre></td><td class="code"><pre class="php" style="font-family:monospace;">https<span style="color: #339933;">:</span><span style="color: #666666; font-style: italic;">//graph.facebook.com/usuario/feed?access_token=$token</span></pre></td></tr></table></div>

<p>donde $token puede ser el token que generamos en el paso anterior.</p>
]]></content:encoded>
			<wfw:commentRss>http://digilabs.com.ar/2011/08/tutoriales/token-de-facebook-expiran/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ocultar email</title>
		<link>http://digilabs.com.ar/2011/01/tutoriales/ocultar-email</link>
		<comments>http://digilabs.com.ar/2011/01/tutoriales/ocultar-email#comments</comments>
		<pubDate>Sun, 23 Jan 2011 10:57:20 +0000</pubDate>
		<dc:creator>Andrés Argüello Pitt</dc:creator>
				<category><![CDATA[Programación]]></category>
		<category><![CDATA[Tips]]></category>
		<category><![CDATA[Tutoriales]]></category>

		<guid isPermaLink="false">http://digilabs.com.ar/?p=1321</guid>
		<description><![CDATA[El ocultar emails en pagina web es todo un tema. El problema es que si ponemos nuestro email simple y llanamente un robot cosechador de direcciones de email va a encontrarlo y luego agregado a una base de datos para que nos envíen email basura. Entonces como hacemos? hay varias soluciones la que veo más [...]]]></description>
			<content:encoded><![CDATA[<p>El ocultar emails en pagina web es todo un tema. El problema es que si ponemos nuestro email simple y llanamente un robot cosechador de direcciones de email va a encontrarlo y luego agregado a una base de datos para que nos envíen email basura.</p>
<p>Entonces como hacemos?</p>
<p>hay varias soluciones la que veo más comúnmente es la de incluir la dirección del email como una imagen ya que lo cosechadores sólo ven texto. y aunque es un método bastante efectivo tiene dos problemas: primero que el usuario no puede copiar y pegar por lo que va a tener que memorizar la dirección, y el segundo problema es que puede pasar que aparezca un cosechador con reconocimiento de texto.</p>
<p>Que otras alternativas?</p>
<p><strong>CSS Codedirection</strong><br />
&lt;span style=&#8221;unicode-bidi:bidi-override; direction: rtl;&#8221;&gt;<br />
moc.olpmeje@zyx<br />
&lt;/span&gt;</p>
<p><strong>CSS display:none</strong><br />
xyz&lt;span style=&#8221;display:none&#8221;&gt;foo&lt;/span&gt;@ejemplo.com</p>
<p><strong>Encryptacion</strong><strong> <a rel="nofollow" href="http://en.wikipedia.org/wiki/ROT13">ROT13</a> </strong><br />
klm@rknzcyr.pbz</p>
<p><strong>Usar ATs y DOTs</strong><br />
xyz AT ejemplo DOT com</p>
<p><strong>Building with Javascript</strong><br />
var m = &#8216;xyz&#8217;;        // podes crear algo ingenioso<br />
m += &#8216;@&#8217;;             // y luego agregarlo al DOM usando jquery<br />
m += &#8216;ejemplo.com&#8217;;<br />
$(&#8216;.email).append(m);</p>
<p><strong>Reemplazando &#8216;@&#8217; y &#8216;.&#8217; con Entities</strong><br />
xyz&amp;#64;example&amp;#46;com</p>
<p><strong>separando la dirección de email con comentarios</strong><br />
xyz&lt;!&#8211; eat this spam &#8211;&gt;&lt;!&#8211; yeah! &#8211;&gt;example&lt;!&#8211; shoo &#8211;&gt;com</p>
<p><strong>Urlencode</strong><br />
xyz%40example.com</p>
<p><strong>Plain Text</strong><br />
xyz@example.com</p>
<p>Acá hay un gráfico con estadísticas de resultados usando estas diferentes opciones:</p>
<p><img style="float: left; margin-top: 0px; margin-right: 8px; padding: 4px; border: 2px solid #F08100;" title="7Ws1d" src="http://digilabs.com.ar/wp-content/uploads/2011/01/7Ws1d.png" alt="" width="430" height="317" /></p>
<p><span style="width:400px;float:left">El grafico anterior fue creado por Silvan Mühlemann</span></p>
]]></content:encoded>
			<wfw:commentRss>http://digilabs.com.ar/2011/01/tutoriales/ocultar-email/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Detectar dirección y rotación</title>
		<link>http://digilabs.com.ar/2010/09/actionscript/detectar-direccion-y-rotacion</link>
		<comments>http://digilabs.com.ar/2010/09/actionscript/detectar-direccion-y-rotacion#comments</comments>
		<pubDate>Sat, 11 Sep 2010 10:35:09 +0000</pubDate>
		<dc:creator>Andrés Argüello Pitt</dc:creator>
				<category><![CDATA[Actionscript]]></category>
		<category><![CDATA[AS3]]></category>
		<category><![CDATA[Programación]]></category>
		<category><![CDATA[Tutoriales]]></category>

		<guid isPermaLink="false">http://digilabs.com.ar/?p=1117</guid>
		<description><![CDATA[Ayer estuvimos discutiendo con Eduardo un poco sobre su tutorial para detectar la dirección y la rotación en Flash. Su comienzo esta muy bien pero analizamos que tenía un par de fallas. Además él también nombró que le gustaría animar el traslado del avion para que no sea tan brusco, a esto lo realizaremos usando [...]]]></description>
			<content:encoded><![CDATA[<p>Ayer estuvimos discutiendo con Eduardo un poco sobre su <a href="http://digilabs.com.ar/2010/09/actionscript/detectar-direccion-con-actionscrip-2" target="_self">tutorial para detectar la dirección</a> y la rotación en Flash. Su comienzo esta muy bien pero analizamos que tenía un par de fallas. Además él también nombró que le gustaría animar el traslado del avion para que no sea tan brusco, a esto lo realizaremos usando una clase para tweeners.</p>
<p>La primera en realidad no es una falla, sino más bien el deseo que el avión gire hacia la dirección de traslado, lo cual trae un nuevo problema que es hacia donde gira. Por defecto si en Flash sólo se usa rotación el giro que efectúa es en sentido horario, por lo cual a veces esto puede ser muy raro cuando es más rápido girar hacia el otro lado. Hay varias formas de detectar ésto y la que discutíamos es simplemente detectar el angulo de rotación actual restarle 360 y listo. Pero mientras discutiamos con Eduardo que formula utilizar encontré un propiedad/plugin dentro de la clase Tweenmax que no sólo te hace la rotación al ángulo deseado sino que también detecta hacia donde es el giro más corto.</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
</pre></td><td class="code"><pre class="actionscript" style="font-family:monospace;">TweenMax.<span style="color: #006600;">to</span><span style="color: #66cc66;">&#40;</span>avion_mc, <span style="color: #cc66cc;">0.5</span>, <span style="color: #66cc66;">&#123;</span>shortRotation:<span style="color: #66cc66;">&#123;</span>rotation:<span style="color: #cc66cc;">270</span><span style="color: #66cc66;">&#125;</span><span style="color: #66cc66;">&#125;</span><span style="color: #66cc66;">&#41;</span>;</pre></td></tr></table></div>

<p><small>Con shortRotation nos evitamos tener que hacer el calculo nosotros y decide hacer el giro en sentido horario o antihorario según cual sea más corto</small></p>
<p>Ahora el otro problema es que cuando movemos el mouse no lo hacemos en un movimiento perfecto hacia arriba o abajo o hacia los laterales, en realidad siempre existen una componente hacia arriba, abajo o laterales . una especie de ruido.<br />
Para solucionar este problema empecé por detectar manualmente en donde se encuentra el mouse y hacia donde se mueve. Luego hago los cambios de giro solamente cuando el movimiento es 100% hacia los costados o 100% hacia arriba o abajo. De esta forma se evita que haya pequeño intentos de cambiar el gira cuando en realidad es sólo ruido.</p>
<p>El código completo es el siguiente:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
</pre></td><td class="code"><pre class="actionscript" style="font-family:monospace;"><span style="color: #0066CC;">import</span> com.<span style="color: #006600;">greensock</span>.<span style="color: #66cc66;">*</span>;
<span style="color: #0066CC;">import</span> com.<span style="color: #006600;">greensock</span>.<span style="color: #006600;">easing</span>.<span style="color: #66cc66;">*</span>;
&nbsp;
<span style="color: #000000; font-weight: bold;">function</span> <span style="color: #0066CC;">Start</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>
<span style="color: #66cc66;">&#123;</span>
<span style="color: #0066CC;">stage</span>.<span style="color: #006600;">addEventListener</span><span style="color: #66cc66;">&#40;</span>MouseEvent.<span style="color: #006600;">MOUSE_MOVE</span>, CheckDirection<span style="color: #66cc66;">&#41;</span>;
<span style="color: #66cc66;">&#125;</span>
&nbsp;
<span style="color: #0066CC;">Start</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
&nbsp;
<span style="color: #000000; font-weight: bold;">var</span> prevX = <span style="color: #cc66cc;">0</span>;
<span style="color: #000000; font-weight: bold;">var</span> prevY = <span style="color: #cc66cc;">0</span>;
<span style="color: #000000; font-weight: bold;">var</span> curX = <span style="color: #cc66cc;">0</span>;
<span style="color: #000000; font-weight: bold;">var</span> curY = <span style="color: #cc66cc;">0</span>;
<span style="color: #000000; font-weight: bold;">var</span> dirX:<span style="color: #0066CC;">String</span> = <span style="color: #ff0000;">&quot;&quot;</span>;
<span style="color: #000000; font-weight: bold;">var</span> dirY:<span style="color: #0066CC;">String</span> = <span style="color: #ff0000;">&quot;&quot;</span>;
&nbsp;
<span style="color: #000000; font-weight: bold;">function</span> CheckDirection<span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">e</span>:MouseEvent<span style="color: #66cc66;">&#41;</span>
<span style="color: #66cc66;">&#123;</span>
<span style="color: #000000; font-weight: bold;">var</span> dirHorizontal:<span style="color: #0066CC;">String</span> = obtenerDireccionHorizontal<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #000000; font-weight: bold;">var</span> dirVertical:<span style="color: #0066CC;">String</span> = obtenerDireccionVertical<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #0066CC;">trace</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;movimiento en X : &quot;</span> + dirHorizontal + <span style="color: #ff0000;">&quot;, movimiento en Y : &quot;</span> + dirVertical<span style="color: #66cc66;">&#41;</span>;
TweenMax.<span style="color: #006600;">to</span><span style="color: #66cc66;">&#40;</span>avion_mc, <span style="color: #cc66cc;">1</span>, <span style="color: #66cc66;">&#123;</span> x:mouseX,y:mouseY<span style="color: #66cc66;">&#125;</span><span style="color: #66cc66;">&#41;</span>;
hacerGiro<span style="color: #66cc66;">&#40;</span>dirHorizontal,dirVertical<span style="color: #66cc66;">&#41;</span>;
<span style="color: #0066CC;">e</span>.<span style="color: #0066CC;">updateAfterEvent</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #66cc66;">&#125;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">function</span> hacerGiro<span style="color: #66cc66;">&#40;</span>dirHorizontal,dirVertical<span style="color: #66cc66;">&#41;</span>
<span style="color: #66cc66;">&#123;</span>
<span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span>dirHorizontal == <span style="color: #ff0000;">'derecha'</span> <span style="color: #66cc66;">&amp;&amp;</span> dirVertical == <span style="color: #ff0000;">'none'</span><span style="color: #66cc66;">&#41;</span>
<span style="color: #66cc66;">&#123;</span>
TweenMax.<span style="color: #006600;">to</span><span style="color: #66cc66;">&#40;</span>avion_mc, <span style="color: #cc66cc;">0.5</span>, <span style="color: #66cc66;">&#123;</span>shortRotation:<span style="color: #66cc66;">&#123;</span>rotation:<span style="color: #cc66cc;">90</span><span style="color: #66cc66;">&#125;</span><span style="color: #66cc66;">&#125;</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #66cc66;">&#125;</span>
<span style="color: #b1b100;">else</span> <span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span>dirHorizontal==<span style="color: #ff0000;">'izquierda'</span> <span style="color: #66cc66;">&amp;&amp;</span> dirVertical == <span style="color: #ff0000;">'none'</span><span style="color: #66cc66;">&#41;</span>
<span style="color: #66cc66;">&#123;</span>
TweenMax.<span style="color: #006600;">to</span><span style="color: #66cc66;">&#40;</span>avion_mc, <span style="color: #cc66cc;">0.5</span>, <span style="color: #66cc66;">&#123;</span>shortRotation:<span style="color: #66cc66;">&#123;</span>rotation:<span style="color: #cc66cc;">270</span><span style="color: #66cc66;">&#125;</span><span style="color: #66cc66;">&#125;</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #66cc66;">&#125;</span>
<span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span>dirVertical == <span style="color: #ff0000;">'arriba'</span> <span style="color: #66cc66;">&amp;&amp;</span> dirHorizontal == <span style="color: #ff0000;">'none'</span><span style="color: #66cc66;">&#41;</span>
<span style="color: #66cc66;">&#123;</span>
TweenMax.<span style="color: #006600;">to</span><span style="color: #66cc66;">&#40;</span>avion_mc, <span style="color: #cc66cc;">0.5</span>, <span style="color: #66cc66;">&#123;</span>shortRotation:<span style="color: #66cc66;">&#123;</span>rotation:<span style="color: #cc66cc;">0</span><span style="color: #66cc66;">&#125;</span><span style="color: #66cc66;">&#125;</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #66cc66;">&#125;</span>
<span style="color: #b1b100;">else</span> <span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span>dirVertical==<span style="color: #ff0000;">'abajo'</span> <span style="color: #66cc66;">&amp;&amp;</span> dirHorizontal == <span style="color: #ff0000;">'none'</span><span style="color: #66cc66;">&#41;</span>
<span style="color: #66cc66;">&#123;</span>
TweenMax.<span style="color: #006600;">to</span><span style="color: #66cc66;">&#40;</span>avion_mc, <span style="color: #cc66cc;">0.5</span>, <span style="color: #66cc66;">&#123;</span>shortRotation:<span style="color: #66cc66;">&#123;</span>rotation:<span style="color: #cc66cc;">180</span><span style="color: #66cc66;">&#125;</span><span style="color: #66cc66;">&#125;</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #66cc66;">&#125;</span>
<span style="color: #66cc66;">&#125;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">function</span> obtenerDireccionHorizontal<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">String</span>
<span style="color: #66cc66;">&#123;</span>
&nbsp;
prevX = curX;
curX = <span style="color: #0066CC;">stage</span>.<span style="color: #006600;">mouseX</span>;
&nbsp;
<span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span>prevX <span style="color: #66cc66;">&gt;</span> curX<span style="color: #66cc66;">&#41;</span>
<span style="color: #66cc66;">&#123;</span>
dirX = <span style="color: #ff0000;">&quot;izquierda&quot;</span>;
<span style="color: #66cc66;">&#125;</span>
<span style="color: #b1b100;">else</span> <span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span>prevX <span style="color: #66cc66;">&lt;</span> curX<span style="color: #66cc66;">&#41;</span>
<span style="color: #66cc66;">&#123;</span>
dirX = <span style="color: #ff0000;">&quot;derecha&quot;</span>;
<span style="color: #66cc66;">&#125;</span>
<span style="color: #b1b100;">else</span>
<span style="color: #66cc66;">&#123;</span>
dirX = <span style="color: #ff0000;">&quot;none&quot;</span>;
<span style="color: #66cc66;">&#125;</span>
<span style="color: #b1b100;">return</span> dirX;
<span style="color: #66cc66;">&#125;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">function</span> obtenerDireccionVertical<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">String</span>
<span style="color: #66cc66;">&#123;</span>
prevY = curY;
curY = <span style="color: #0066CC;">stage</span>.<span style="color: #006600;">mouseY</span>;
<span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span>prevY <span style="color: #66cc66;">&gt;</span> curY<span style="color: #66cc66;">&#41;</span>
<span style="color: #66cc66;">&#123;</span>
dirY = <span style="color: #ff0000;">&quot;arriba&quot;</span>;
<span style="color: #66cc66;">&#125;</span>
<span style="color: #b1b100;">else</span> <span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span>prevY <span style="color: #66cc66;">&lt;</span> curY<span style="color: #66cc66;">&#41;</span>
<span style="color: #66cc66;">&#123;</span>
dirY = <span style="color: #ff0000;">&quot;abajo&quot;</span>;
<span style="color: #66cc66;">&#125;</span>
<span style="color: #b1b100;">else</span>
<span style="color: #66cc66;">&#123;</span>
dirY = <span style="color: #ff0000;">&quot;none&quot;</span>;
<span style="color: #66cc66;">&#125;</span>
<span style="color: #b1b100;">return</span> dirY;
<span style="color: #66cc66;">&#125;</span></pre></td></tr></table></div>

<p>Para que les funcione tienen que bajar la clase tweenMax para AS3 desde: http://www.tweenmax.com</p>
<p>Acá el ejemplo funcionando:</p>
<p>
<object width="320" height="480">
<param name="movie" value="http://digilabs.com.ar/wp-content/uploads/2010/09/avioncito.swf"></param>
<param name="quality" value="high"></param>
<param name="wmode" value="opaque"></param>
<param name="menu" value="false"></param>
<param name="bgcolor" value="#00000"></param>
<embed type="application/x-shockwave-flash" width="320" height="480" src="http://digilabs.com.ar/wp-content/uploads/2010/09/avioncito.swf" quality="high" bgcolor="#00000" wmode="opaque" menu="false" ></embed>
</object>
<br />
<small>noten que cambié la resolución a la misma resolución del iPhone, el próximo post será como portar esto a una aplicación de iPhone.</small></p>
]]></content:encoded>
			<wfw:commentRss>http://digilabs.com.ar/2010/09/actionscript/detectar-direccion-y-rotacion/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Comenzar a desarrollar para Android</title>
		<link>http://digilabs.com.ar/2010/09/tecnolgogias/comenzar-a-desarrollar-para-android</link>
		<comments>http://digilabs.com.ar/2010/09/tecnolgogias/comenzar-a-desarrollar-para-android#comments</comments>
		<pubDate>Fri, 10 Sep 2010 12:16:45 +0000</pubDate>
		<dc:creator>Andrés Argüello Pitt</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Noticias]]></category>
		<category><![CDATA[Programación]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Tecnolgogias]]></category>

		<guid isPermaLink="false">http://digilabs.com.ar/?p=1106</guid>
		<description><![CDATA[Ayer fue a una reunion del Google User Group de Irlanda donde se hbaló principalmente del desarrollo de aplicaciones para android. En esté momento se recomienda dos tecnologías Java y AIR. Siendo JAVA la más correcto ya que se tiene acceso a API completa y se puede desarrollar apuntando a distintas versiones. El desarrollo en [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-1108" style="float:left;margin-top: 0px; margin-right:8px; padding: 4px; border: 2px solid #F08100;" title="android" src="http://digilabs.com.ar/wp-content/uploads/2010/09/android.jpg" alt="" width="269" height="188" />Ayer fue a una reunion del Google User Group de Irlanda donde se hbaló principalmente del desarrollo de aplicaciones para android. En esté momento se recomienda dos tecnologías Java y AIR. Siendo JAVA la más correcto ya que se tiene acceso a API completa y se puede desarrollar apuntando a distintas versiones. El desarrollo en AIR es mucho más simple y para aquellos que manejen Flash les va a ser muy fácil la portación. La única dificulta encontrada cuando se desarrolla en AIR es que se requiere que el dispositivo tenga AIR runtime instalado, cosa que únicamente está disponible a partir de Froyo. De lo contrario hay que empezar a incursionar en el desarrollo en JAVA y la herramienta recomendada para esto es Eclipse.</p>
<p>Dejó aquí un par de links que compartieron ayer con video tutoriales y ejemplo de aplicaciones para bajar.</p>
<p>http://android.voxisland.com/</p>
<p>http://eclipsetutorial.sourceforge.net/totalbeginner.html</p>
<p>http://developer.android.com/sdk/adding-components.html</p>
]]></content:encoded>
			<wfw:commentRss>http://digilabs.com.ar/2010/09/tecnolgogias/comenzar-a-desarrollar-para-android/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Detectar dirección con ActionScrip 2</title>
		<link>http://digilabs.com.ar/2010/09/actionscript/detectar-direccion-con-actionscrip-2</link>
		<comments>http://digilabs.com.ar/2010/09/actionscript/detectar-direccion-con-actionscrip-2#comments</comments>
		<pubDate>Thu, 09 Sep 2010 02:03:50 +0000</pubDate>
		<dc:creator>Eduardo Martin</dc:creator>
				<category><![CDATA[Actionscript]]></category>
		<category><![CDATA[AS2]]></category>
		<category><![CDATA[AS3]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Programación]]></category>
		<category><![CDATA[Tendencias]]></category>

		<guid isPermaLink="false">http://digilabs.com.ar/?p=1088</guid>
		<description><![CDATA[Si lo que intentan es detectar hacia que dirección va el cursor del mouse utilizando ActionScript2, les recomiendo utilizar un método que poco conocía que es nativo de Flash, su nombre es &#8220;watch&#8220;. Esta función analizar una variable y devuelve dos valores uno nuevo &#8220;newVal&#8221; y otro viejo &#8220;oldVal&#8220;,  lo cual nos facilita el trabajo [...]]]></description>
			<content:encoded><![CDATA[<p>Si lo que intentan es detectar hacia que dirección va el cursor del mouse utilizando ActionScript2, les recomiendo utilizar un método que poco conocía que es nativo de Flash, su nombre es &#8220;<a title="Funcion watch" href="http://help.adobe.com/en_US/AS2LCR/Flash_10.0/help.html?content=00001435.html" target="_self"><strong>watch</strong></a>&#8220;. Esta función analizar una variable y devuelve dos valores uno nuevo &#8220;<strong>newVal</strong>&#8221; y otro viejo &#8220;<strong>oldVal</strong>&#8220;,  lo cual nos facilita el trabajo si tenemos que desarrollar una pelicula que detecte si el mouse va hacia la derecha o hacia izquierda, arriba o abajo, este método es muy interesante ya que nos permitiría saber si los valores en <strong>x</strong> e <strong>y</strong> se incrementan o disminuye lo cual con un simple if podríamos saber hacia donde se dirige el cursor. Esta función también puede servir para activar alertas, cuando una variable cambia, se analiza con watch y cuando se cumple una condición se activa una alarma, se ejecuta una función o simplemente se activa una animación.</p>
<p>Esto también se puede hacer con listeners, pero es mas complejo ya que hay que armar la función que permite comparar el valor viejo con el valor nuevo de la variable mientras cambia. No les aconsejo utilizar onEnterFrame ya que consume muchos recursos.</p>
<p><strong>Ejempo:</strong></p>
<p>
<object width="450" height="400">
<param name="movie" value="http://digilabs.com.ar/wp-content/uploads/2010/09/detectar-direccion.swf"></param>
<param name="quality" value="high"></param>
<param name="wmode" value="opaque"></param>
<param name="menu" value="false"></param>
<param name="bgcolor" value="#00000"></param>
<embed type="application/x-shockwave-flash" width="450" height="400" src="http://digilabs.com.ar/wp-content/uploads/2010/09/detectar-direccion.swf" quality="high" bgcolor="#00000" wmode="opaque" menu="false" ></embed>
</object>
</p>
<p><strong>Codigo:</strong></p>

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;"><span style="color: #0066CC;">Mouse</span>.<span style="color: #0066CC;">hide</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
posX = <span style="color: #000000; font-weight: bold;">function</span> <span style="color: #66cc66;">&#40;</span>dx, oldVal, newVal<span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
    <span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span>oldValnewVal<span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
        <span style="color: #0066CC;">trace</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;Izquierda&quot;</span><span style="color: #66cc66;">&#41;</span>;
        avion_mc.<span style="color: #0066CC;">_rotation</span> = -<span style="color: #cc66cc;">90</span>;
    <span style="color: #66cc66;">&#125;</span>
    <span style="color: #b1b100;">return</span> newVal;
<span style="color: #66cc66;">&#125;</span>;
posY = <span style="color: #000000; font-weight: bold;">function</span> <span style="color: #66cc66;">&#40;</span>dy, oldVal, newVal<span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
    <span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span>oldValnewVal<span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
        <span style="color: #0066CC;">trace</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;rriba&quot;</span><span style="color: #66cc66;">&#41;</span>;
        avion_mc.<span style="color: #0066CC;">_rotation</span> = <span style="color: #cc66cc;">360</span>;
    <span style="color: #66cc66;">&#125;</span>
    <span style="color: #b1b100;">return</span> newVal;
<span style="color: #66cc66;">&#125;</span>;
&nbsp;
<span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">watch</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;dirx&quot;</span>,posX<span style="color: #66cc66;">&#41;</span>;
<span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">watch</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;diry&quot;</span>,posY<span style="color: #66cc66;">&#41;</span>;
&nbsp;
<span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">onMouseMove</span> = <span style="color: #000000; font-weight: bold;">function</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
    avion_mc.<span style="color: #0066CC;">_x</span> = <span style="color: #0066CC;">_xmouse</span>;
    avion_mc.<span style="color: #0066CC;">_y</span> = <span style="color: #0066CC;">_ymouse</span>;
    dirx = <span style="color: #0066CC;">_xmouse</span>;
    diry = <span style="color: #0066CC;">_ymouse</span>;
&nbsp;
<span style="color: #66cc66;">&#125;</span>;</pre></div></div>

<p>Para los que estan trabajando con <strong>As3</strong>, el método watch no existe mas, por lo cual les dejo una solución <a href="http://www.myriamspitz.com/2009/01/where-is-the-watch-object-in-as3/" target="_self">AQUI</a></p>
<p><strong>Clase:</strong></p>

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;">package
<span style="color: #66cc66;">&#123;</span>
   <span style="color: #0066CC;">import</span> flash.<span style="color: #006600;">events</span>.<span style="color: #006600;">Event</span>;
   <span style="color: #0066CC;">import</span> flash.<span style="color: #006600;">events</span>.<span style="color: #006600;">EventDispatcher</span>;
   <span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">class</span> Model <span style="color: #0066CC;">extends</span> EventDispatcher
   <span style="color: #66cc66;">&#123;</span>
       <span style="color: #0066CC;">public</span> <span style="color: #0066CC;">static</span> const VALUE_CHANGED:<span style="color: #0066CC;">String</span> = <span style="color: #ff0000;">'value_changed'</span>;
       <span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">var</span> _number:<span style="color: #0066CC;">Number</span> = <span style="color: #0066CC;">Number</span>;
       <span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">function</span> Model<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span>
       <span style="color: #66cc66;">&#123;</span>
           <span style="color: #0066CC;">trace</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'The model was instantiated.'</span><span style="color: #66cc66;">&#41;</span>;
       <span style="color: #66cc66;">&#125;</span>
       <span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">function</span> <span style="color: #0066CC;">set</span> <span style="color: #0066CC;">number</span><span style="color: #66cc66;">&#40;</span>newNb:<span style="color: #0066CC;">Number</span><span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span>
       <span style="color: #66cc66;">&#123;</span>
          _number=newNb;
          <span style="color: #0066CC;">this</span>.<span style="color: #006600;">dispatchEvent</span><span style="color: #66cc66;">&#40;</span><span style="color: #000000; font-weight: bold;">new</span> Event<span style="color: #66cc66;">&#40;</span>Model.<span style="color: #006600;">VALUE_CHANGED</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span>;
       <span style="color: #66cc66;">&#125;</span>
       <span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">function</span> <span style="color: #0066CC;">get</span> <span style="color: #0066CC;">number</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">Number</span>
      <span style="color: #66cc66;">&#123;</span>
          <span style="color: #b1b100;">return</span> _number;
&nbsp;
      <span style="color: #66cc66;">&#125;</span>
   <span style="color: #66cc66;">&#125;</span>
<span style="color: #66cc66;">&#125;</span></pre></div></div>

<p><strong>Modo de uso:</strong></p>

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">var</span> objectToWatch:Model = <span style="color: #000000; font-weight: bold;">new</span> Model<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
objectToWatch.<span style="color: #006600;">addEventListener</span><span style="color: #66cc66;">&#40;</span>Model.<span style="color: #006600;">VALUE_CHANGED</span>, onValuedChanged<span style="color: #66cc66;">&#41;</span>;
&nbsp;
<span style="color: #000000; font-weight: bold;">function</span> onValuedChanged<span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">e</span>:Event<span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
   <span style="color: #808080; font-style: italic;">//do what you need here</span>
<span style="color: #66cc66;">&#125;</span></pre></div></div>

<p>Espero que les sea útil, la próxima me gustaría completar la pelicula de arriba con algo de trigonometría para simular 100% la dirección.</p>
]]></content:encoded>
			<wfw:commentRss>http://digilabs.com.ar/2010/09/actionscript/detectar-direccion-con-actionscrip-2/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>jQuery Retina display plugin</title>
		<link>http://digilabs.com.ar/2010/08/tendencias/jquery-retina-display-plugin</link>
		<comments>http://digilabs.com.ar/2010/08/tendencias/jquery-retina-display-plugin#comments</comments>
		<pubDate>Thu, 26 Aug 2010 10:00:49 +0000</pubDate>
		<dc:creator>Andrés Argüello Pitt</dc:creator>
				<category><![CDATA[jQuery]]></category>
		<category><![CDATA[Programación]]></category>
		<category><![CDATA[Tecnolgogias]]></category>
		<category><![CDATA[Tendencias]]></category>
		<category><![CDATA[Tips]]></category>

		<guid isPermaLink="false">http://digilabs.com.ar/?p=1071</guid>
		<description><![CDATA[La pantalla del iphone 4 es revolucionaria ya que es el primer dispositivo mobil que utiliza una densidad de pixeles superior a cualquier otra. Es gracias a ésto que la lectura es mucho más fina. Ahora el problema es que en general cuando uno crea gráficos para pantallas, especialmente para la web lo hace en [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://digilabs.com.ar/wp-content/uploads/2010/08/retina.jpg"><img class="alignnone size-medium wp-image-1073" style="float: left; margin-top: 0px; margin-right: 8px; padding: 4px; border: 2px solid #F08100;" title="retina" src="http://digilabs.com.ar/wp-content/uploads/2010/08/retina-300x148.jpg" alt="" width="300" height="148" /></a>La pantalla del iphone 4 es revolucionaria ya que es el primer dispositivo mobil que utiliza una densidad de pixeles superior a cualquier otra. Es gracias a ésto que la lectura es mucho más fina.</p>
<p>Ahora el problema es que en general cuando uno crea gráficos para pantallas, especialmente para la web lo hace en 72 dpi cuando los nuevos gráficos para retina debieran ser en 326.</p>
<p>Otro problema es que todavía hay dispositivos sin la nueva pantalla retina, lo que se traslada a que necesitamos duplicar la cantidad de gráficos: los comunes y los de mayor densidad de pixeles. Aún más necesitamos una manera de decidir cual mostrar, osea detectar que es un dispositivo con retina y mostrar los gráficos correspondientes de lo contrario seguir usando los gráficos comunes.</p>
<p>Con éste problema en mente encontré un plugin de jQuery que soluciona éste problema. Su implementación es súper sencilla.</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;">&lt;script src=&quot;js/jquery.retina.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt; 
<span style="color: #339933;">&lt;</span>script type<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;text/javascript&quot;</span><span style="color: #339933;">&gt;</span>  
     $<span style="color: #009900;">&#40;</span>document<span style="color: #009900;">&#41;</span>.<span style="color: #660066;">ready</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span> 
          $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'img'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">retina</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> 
     <span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> 
<span style="color: #339933;">&lt;/</span>script<span style="color: #339933;">&gt;</span></pre></div></div>

<div>
<div>más información:</div>
</div>
<p><a href="http://troymcilvena.com/post/998277515/jquery-retina" target="_blank">http://troymcilvena.com/post/998277515/jquery-retina</a></p>
]]></content:encoded>
			<wfw:commentRss>http://digilabs.com.ar/2010/08/tendencias/jquery-retina-display-plugin/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Columnas con jQuery</title>
		<link>http://digilabs.com.ar/2010/08/tips/columnas-con-jquery</link>
		<comments>http://digilabs.com.ar/2010/08/tips/columnas-con-jquery#comments</comments>
		<pubDate>Wed, 25 Aug 2010 08:20:56 +0000</pubDate>
		<dc:creator>Andrés Argüello Pitt</dc:creator>
				<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[Programación]]></category>
		<category><![CDATA[Tips]]></category>

		<guid isPermaLink="false">http://digilabs.com.ar/?p=1063</guid>
		<description><![CDATA[Si jQuery se está tomando la cotidianidad que tenía actionscript en mi día a día. La verdad que me sorprende lo rápido que se pueden lograr cosas. Ayer nombré como hacer un formulario totalmente usando jQuery en vez de HMTL. Hoy necesitaba hacer una pagina con varias columnas. Comunmente haria las divisiones corresponientes, les daria [...]]]></description>
			<content:encoded><![CDATA[<p>Si jQuery se está tomando la cotidianidad que tenía actionscript en mi día a día. La verdad que me sorprende lo rápido que se pueden lograr cosas. Ayer nombré como hacer un formulario totalmente usando jQuery en vez de HMTL. Hoy necesitaba hacer una pagina con varias columnas. Comunmente haria las divisiones corresponientes, les daria un ancho, un padding, magen y disrtribuiria el contenido entre ellas. El problema surge cuando el contenido es variable y nos es dificl distriburi el contenido de forma eficaz. Es por ésto que recurrí a jQuery, y sinceramente no tardé más de 3 minutos en implementarlo, estoy seguro que si lo hubiese hecho de la forma tracicional me hubiese llevado al menso 15 entre hacer el html y ajustar el css. Hay varios &#8220;plugins&#8221; que hacen esto que que usé yo y funcionó a la perfección pueden encontrarlo en: <a href="http://codeasily.com/jquery/multi-column-list-with-jquery" target="_blank">http://codeasily.com/jquery/multi-column-list-with-jquery </a></p>
<p>La idea de este post es de notar que hay varias respuesta para el mismo problema y no siempre la típica, usual o común es la más acertada en cuanto a productividad. Hay que estar atentos si ven en la web formas más eficaces de hacer las cosas. si quieren recomendar algo que hayan visto mandenos un mail o dejen un comentario y lo publicamos</p>
]]></content:encoded>
			<wfw:commentRss>http://digilabs.com.ar/2010/08/tips/columnas-con-jquery/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Formularios hecho 100% con jQuery</title>
		<link>http://digilabs.com.ar/2010/08/tips/formularios-hecho-100-con-jquery</link>
		<comments>http://digilabs.com.ar/2010/08/tips/formularios-hecho-100-con-jquery#comments</comments>
		<pubDate>Mon, 23 Aug 2010 13:44:11 +0000</pubDate>
		<dc:creator>Andrés Argüello Pitt</dc:creator>
				<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Programación]]></category>
		<category><![CDATA[Tips]]></category>

		<guid isPermaLink="false">http://digilabs.com.ar/?p=1051</guid>
		<description><![CDATA[La verdad que hacer formularios siempre es una tarea que conlleva mucho tiempo, sobre todo cuando tenemos que asegurarnos que se vea perfectamente en todos los navegadores, que sea usable y que contenga una forma amigable de validación. Hace tiempo que estoy buscando un método para automatizar y hacer la tarea más fácil. La verdad [...]]]></description>
			<content:encoded><![CDATA[<p>La verdad que hacer formularios siempre es una tarea que conlleva mucho tiempo, sobre todo cuando tenemos que asegurarnos que se vea perfectamente en todos los navegadores, que sea usable y que contenga una forma amigable de validación. Hace tiempo que estoy buscando un método para automatizar y hacer la tarea más fácil. La verdad que hay varios framworks y cada uno tiene lo suyo, pero no queria hacer un post sobre todos lo frameworks disponible sino más bien destacar uno que me funcionó muy bien, que es muy facil de implementar y como novedad está hecho 100% con jQuery. Lo único que le faltaría para ser perfecto es que venga con soporte en varios lenguajes. Igualmente esta muy bien y la validación es buena. Pruebenlo y comentenme que les parece.</p>
<p>Fomation: <a href="http://mattnull.com/formation" target="_blank">http://mattnull.com/formatio</a>n</p>
]]></content:encoded>
			<wfw:commentRss>http://digilabs.com.ar/2010/08/tips/formularios-hecho-100-con-jquery/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PHP for Android</title>
		<link>http://digilabs.com.ar/2010/07/programacion/php-for-android</link>
		<comments>http://digilabs.com.ar/2010/07/programacion/php-for-android#comments</comments>
		<pubDate>Mon, 19 Jul 2010 08:05:38 +0000</pubDate>
		<dc:creator>Andrés Argüello Pitt</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Programación]]></category>

		<guid isPermaLink="false">http://digilabs.com.ar/?p=1009</guid>
		<description><![CDATA[No me voy a explayar mucho porque el titulo lo dice todo. phpforAndroid es una seria de librerias/framework que te permite desarrollar aplicaciones para Android usando PHP. Está bastante bueno porque las salidas las hace usando la GUI de Android. Vean el video que demuestra bien de lo que estoy hablando. Espero que sigan evolucionando [...]]]></description>
			<content:encoded><![CDATA[<p>No me voy a explayar mucho porque el titulo lo dice todo. phpforAndroid es una seria de librerias/framework que te permite desarrollar aplicaciones para Android usando PHP. Está bastante bueno porque las salidas las hace usando la GUI de Android. Vean el video que demuestra bien de lo que estoy hablando. Espero que sigan evolucionando estas tecnologías y que en el futuro podamos acceder a la brujula, al gps, la camará,etc.</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="400" height="693" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://vimeo.com/moogaloop.swf?clip_id=13177370&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=0&amp;show_portrait=0&amp;color=ff9933&amp;fullscreen=1" /><embed type="application/x-shockwave-flash" width="400" height="693" src="http://vimeo.com/moogaloop.swf?clip_id=13177370&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=0&amp;show_portrait=0&amp;color=ff9933&amp;fullscreen=1" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://digilabs.com.ar/2010/07/programacion/php-for-android/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Generador de botones CSS</title>
		<link>http://digilabs.com.ar/2010/05/tips/generador-de-botones-css</link>
		<comments>http://digilabs.com.ar/2010/05/tips/generador-de-botones-css#comments</comments>
		<pubDate>Mon, 31 May 2010 10:23:54 +0000</pubDate>
		<dc:creator>Andrés Argüello Pitt</dc:creator>
				<category><![CDATA[Programación]]></category>
		<category><![CDATA[Tips]]></category>

		<guid isPermaLink="false">http://digilabs.com.ar/?p=853</guid>
		<description><![CDATA[Este link proviene de un tweet pero me pareció útil, simpre tengo problemas cuando quiero implementar botones simples en algún sitio. Utilizando éste generador se puede crear botones sólo utilizando CSS. el generador es visual, donde eliges los colores, la tipografias,etc y te devuelve el css listo para impletar. El CSS es algo como lo [...]]]></description>
			<content:encoded><![CDATA[<p>Este link proviene de un tweet pero me pareció útil, simpre tengo problemas cuando quiero implementar botones simples en algún sitio. Utilizando éste generador se puede crear botones sólo utilizando CSS. el generador es visual, donde eliges los colores, la tipografias,etc y te devuelve el css listo para impletar.</p>
<p>El CSS es algo como lo siguiente:</p>

<div class="wp_syntax"><div class="code"><pre class="css" style="font-family:monospace;"><span style="color: #6666ff;">.button</span> <span style="color: #00AA00;">&#123;</span> <span style="color: #000000; font-weight: bold;">border-top</span><span style="color: #00AA00;">:</span> <span style="color: #933;">1px</span> <span style="color: #993333;">solid</span> <span style="color: #cc00cc;">#96d1f8</span><span style="color: #00AA00;">;</span> <span style="color: #000000; font-weight: bold;">background</span><span style="color: #00AA00;">:</span> <span style="color: #cc00cc;">#d66565</span><span style="color: #00AA00;">;</span> <span style="color: #000000; font-weight: bold;">background</span><span style="color: #00AA00;">:</span> -webkit-gradient<span style="color: #00AA00;">&#40;</span>linear<span style="color: #00AA00;">,</span> <span style="color: #000000; font-weight: bold;">left</span> <span style="color: #000000; font-weight: bold;">top</span><span style="color: #00AA00;">,</span> <span style="color: #000000; font-weight: bold;">left</span> <span style="color: #000000; font-weight: bold;">bottom</span><span style="color: #00AA00;">,</span> from<span style="color: #00AA00;">&#40;</span><span style="color: #cc00cc;">#7d3e9c</span><span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">,</span> to<span style="color: #00AA00;">&#40;</span><span style="color: #cc00cc;">#d66565</span><span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">;</span> <span style="color: #000000; font-weight: bold;">background</span><span style="color: #00AA00;">:</span> -moz-linear-gradient<span style="color: #00AA00;">&#40;</span><span style="color: #000000; font-weight: bold;">top</span><span style="color: #00AA00;">,</span> <span style="color: #cc00cc;">#7d3e9c</span><span style="color: #00AA00;">,</span> <span style="color: #cc00cc;">#d66565</span><span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">;</span> <span style="color: #000000; font-weight: bold;">padding</span><span style="color: #00AA00;">:</span> <span style="color: #933;">8.5px</span> <span style="color: #933;">17px</span><span style="color: #00AA00;">;</span> -webkit-border-radius<span style="color: #00AA00;">:</span> <span style="color: #933;">32px</span><span style="color: #00AA00;">;</span> -moz-border-radius<span style="color: #00AA00;">:</span> <span style="color: #933;">32px</span><span style="color: #00AA00;">;</span> border-radius<span style="color: #00AA00;">:</span> <span style="color: #933;">32px</span><span style="color: #00AA00;">;</span> -webkit-box-shadow<span style="color: #00AA00;">:</span> rgba<span style="color: #00AA00;">&#40;</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">1</span><span style="color: #00AA00;">&#41;</span> <span style="color: #cc66cc;">0</span> <span style="color: #933;">1px</span> <span style="color: #cc66cc;">0</span><span style="color: #00AA00;">;</span> -moz-box-shadow<span style="color: #00AA00;">:</span> rgba<span style="color: #00AA00;">&#40;</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">1</span><span style="color: #00AA00;">&#41;</span> <span style="color: #cc66cc;">0</span> <span style="color: #933;">1px</span> <span style="color: #cc66cc;">0</span><span style="color: #00AA00;">;</span> box-shadow<span style="color: #00AA00;">:</span> rgba<span style="color: #00AA00;">&#40;</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">1</span><span style="color: #00AA00;">&#41;</span> <span style="color: #cc66cc;">0</span> <span style="color: #933;">1px</span> <span style="color: #cc66cc;">0</span><span style="color: #00AA00;">;</span> <span style="color: #000000; font-weight: bold;">text-shadow</span><span style="color: #00AA00;">:</span> rgba<span style="color: #00AA00;">&#40;</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">,</span>.4<span style="color: #00AA00;">&#41;</span> <span style="color: #cc66cc;">0</span> <span style="color: #933;">1px</span> <span style="color: #cc66cc;">0</span><span style="color: #00AA00;">;</span> <span style="color: #000000; font-weight: bold;">color</span><span style="color: #00AA00;">:</span> <span style="color: #cc00cc;">#cdf227</span><span style="color: #00AA00;">;</span> <span style="color: #000000; font-weight: bold;">font-size</span><span style="color: #00AA00;">:</span> <span style="color: #933;">13px</span><span style="color: #00AA00;">;</span> <span style="color: #000000; font-weight: bold;">font-family</span><span style="color: #00AA00;">:</span> Helvetica<span style="color: #00AA00;">,</span> Arial<span style="color: #00AA00;">,</span> Sans-Serif<span style="color: #00AA00;">;</span> <span style="color: #000000; font-weight: bold;">text-decoration</span><span style="color: #00AA00;">:</span> <span style="color: #993333;">none</span><span style="color: #00AA00;">;</span> <span style="color: #000000; font-weight: bold;">vertical-align</span><span style="color: #00AA00;">:</span> <span style="color: #993333;">middle</span><span style="color: #00AA00;">;</span> <span style="color: #00AA00;">&#125;</span> <span style="color: #6666ff;">.button</span><span style="color: #3333ff;">:hover </span><span style="color: #00AA00;">&#123;</span> <span style="color: #000000; font-weight: bold;">border-top-color</span><span style="color: #00AA00;">:</span> <span style="color: #cc00cc;">#28597a</span><span style="color: #00AA00;">;</span> <span style="color: #000000; font-weight: bold;">background</span><span style="color: #00AA00;">:</span> <span style="color: #cc00cc;">#28597a</span><span style="color: #00AA00;">;</span> <span style="color: #000000; font-weight: bold;">color</span><span style="color: #00AA00;">:</span> <span style="color: #cc00cc;">#c400c4</span><span style="color: #00AA00;">;</span> <span style="color: #00AA00;">&#125;</span> <span style="color: #6666ff;">.button</span><span style="color: #3333ff;">:active </span><span style="color: #00AA00;">&#123;</span> <span style="color: #000000; font-weight: bold;">border-top-color</span><span style="color: #00AA00;">:</span> <span style="color: #cc00cc;">#030303</span><span style="color: #00AA00;">;</span> <span style="color: #000000; font-weight: bold;">background</span><span style="color: #00AA00;">:</span> <span style="color: #cc00cc;">#030303</span><span style="color: #00AA00;">;</span> <span style="color: #00AA00;">&#125;</span></pre></div></div>

<p>acá dejo el link: http://css-tricks.com/examples/ButtonMaker/#</p>
]]></content:encoded>
			<wfw:commentRss>http://digilabs.com.ar/2010/05/tips/generador-de-botones-css/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

