<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>gioos</title>
	<atom:link href="http://blog.gioos.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.gioos.com</link>
	<description>code and other things</description>
	<lastBuildDate>Sat, 19 Nov 2011 21:14:49 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='blog.gioos.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://0.gravatar.com/blavatar/2cb7fe3e4663a69d632bf430e1494702?s=96&#038;d=http%3A%2F%2Fs2.wp.com%2Fi%2Fbuttonw-com.png</url>
		<title>gioos</title>
		<link>http://blog.gioos.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://blog.gioos.com/osd.xml" title="gioos" />
	<atom:link rel='hub' href='http://blog.gioos.com/?pushpress=hub'/>
		<item>
		<title>bici en Areco</title>
		<link>http://blog.gioos.com/2011/11/19/bici-en-areco/</link>
		<comments>http://blog.gioos.com/2011/11/19/bici-en-areco/#comments</comments>
		<pubDate>Sat, 19 Nov 2011 21:11:44 +0000</pubDate>
		<dc:creator>eze1981</dc:creator>
				<category><![CDATA[photos]]></category>

		<guid isPermaLink="false">http://blog.gioos.com/?p=120</guid>
		<description><![CDATA[Bici en San Antonio de Areco<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.gioos.com&amp;blog=17667907&amp;post=120&amp;subd=gioos&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><a href="http://gioos.files.wordpress.com/2011/11/bici_areco.jpg"><img src="http://gioos.files.wordpress.com/2011/11/bici_areco.jpg?w=1024&#038;h=768" alt="" title="Bici en Areco" width="1024" height="768" class="alignnone size-large wp-image-121" /></a></p>
<p>Bici en San Antonio de Areco</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/gioos.wordpress.com/120/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/gioos.wordpress.com/120/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/gioos.wordpress.com/120/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/gioos.wordpress.com/120/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/gioos.wordpress.com/120/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/gioos.wordpress.com/120/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/gioos.wordpress.com/120/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/gioos.wordpress.com/120/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/gioos.wordpress.com/120/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/gioos.wordpress.com/120/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/gioos.wordpress.com/120/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/gioos.wordpress.com/120/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/gioos.wordpress.com/120/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/gioos.wordpress.com/120/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.gioos.com&amp;blog=17667907&amp;post=120&amp;subd=gioos&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.gioos.com/2011/11/19/bici-en-areco/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/e0ca3e9855587f07564ffea98e432d51?s=96&#38;d=retro&#38;r=X" medium="image">
			<media:title type="html">eze1981</media:title>
		</media:content>

		<media:content url="http://gioos.files.wordpress.com/2011/11/bici_areco.jpg?w=1024" medium="image">
			<media:title type="html">Bici en Areco</media:title>
		</media:content>
	</item>
		<item>
		<title>flor onda avatar</title>
		<link>http://blog.gioos.com/2011/01/16/flor-onda-avatar/</link>
		<comments>http://blog.gioos.com/2011/01/16/flor-onda-avatar/#comments</comments>
		<pubDate>Sun, 16 Jan 2011 04:35:29 +0000</pubDate>
		<dc:creator>eze1981</dc:creator>
				<category><![CDATA[photos]]></category>

		<guid isPermaLink="false">http://blog.gioos.com/?p=92</guid>
		<description><![CDATA[Esta foto es de las vacaciones del 2010 en La Cumbrecita, muy lindo lugar. Que ganas de volver!<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.gioos.com&amp;blog=17667907&amp;post=92&amp;subd=gioos&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><a href="http://gioos.files.wordpress.com/2011/01/flor.jpg"><img src="http://gioos.files.wordpress.com/2011/01/flor.jpg?w=1024&#038;h=768" alt="" title="flor" width="1024" height="768" class="alignnone size-large wp-image-93" /></a></p>
<p>Esta foto es de las vacaciones del 2010 en La Cumbrecita, muy lindo lugar. Que ganas de volver!</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/gioos.wordpress.com/92/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/gioos.wordpress.com/92/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/gioos.wordpress.com/92/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/gioos.wordpress.com/92/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/gioos.wordpress.com/92/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/gioos.wordpress.com/92/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/gioos.wordpress.com/92/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/gioos.wordpress.com/92/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/gioos.wordpress.com/92/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/gioos.wordpress.com/92/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/gioos.wordpress.com/92/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/gioos.wordpress.com/92/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/gioos.wordpress.com/92/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/gioos.wordpress.com/92/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.gioos.com&amp;blog=17667907&amp;post=92&amp;subd=gioos&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.gioos.com/2011/01/16/flor-onda-avatar/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/e0ca3e9855587f07564ffea98e432d51?s=96&#38;d=retro&#38;r=X" medium="image">
			<media:title type="html">eze1981</media:title>
		</media:content>

		<media:content url="http://gioos.files.wordpress.com/2011/01/flor.jpg?w=1024" medium="image">
			<media:title type="html">flor</media:title>
		</media:content>
	</item>
		<item>
		<title>wpf RadioButton binding</title>
		<link>http://blog.gioos.com/2010/11/15/wpf-radiobutton-binding/</link>
		<comments>http://blog.gioos.com/2010/11/15/wpf-radiobutton-binding/#comments</comments>
		<pubDate>Mon, 15 Nov 2010 03:02:58 +0000</pubDate>
		<dc:creator>eze1981</dc:creator>
				<category><![CDATA[{ code }]]></category>
		<category><![CDATA[wpf]]></category>

		<guid isPermaLink="false">http://gioos.wordpress.com/?p=66</guid>
		<description><![CDATA[Creo que una de las mejores cosas que tiene wpf es el sistema de binding acompañado del MVVM, pero de vez en cuando uno se encuentra con un dolor de cabeza como el binding de los radioButtons. Lo más prolijo parece ser bindear las opciones de los radioButtons contra una property de algún enum en [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.gioos.com&amp;blog=17667907&amp;post=66&amp;subd=gioos&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Creo que una de las mejores cosas que tiene wpf es el sistema de binding  acompañado del MVVM, pero de vez en cuando uno se encuentra con un dolor de cabeza como el binding de los radioButtons.</p>
<p>Lo más prolijo parece ser bindear las opciones de los radioButtons contra una property de algún enum en el viewmodel. Esto funciona bien, utilizando un <a href="http://stackoverflow.com/questions/397556/wpf-how-to-bind-radiobuttons-to-an-enum">EnumBooleanConverter</a>, siempre que no se nos ocurra cambiar el valor de la property por código en lugar de hacer click sobre los botones.</p>
<p>Si intentamos cambiar la property por código nos vamos a encontrar con que se rompe el binding entre los radioButtons y la property que era un enum.</p>
<p>Hay un par de <a href="http://www.phdesign.com.au/programming/wpf-radiobutton-binding-to-ischecked-property/">soluciones</a> dando vuelta por internet, algunos hasta proponen reemplazar los radiobuttons por una lista; en el viewmodel ponen una lista con las opciones y otra property para el selectedValue. Luego un datatemplate que renderize un radioButton por cada item de la lista. Parece demasiado complejo y complica bastante el diseño del viewmodel.</p>
<p>Para mi la mejor opción es el <a href="http://pstaev.blogspot.com/2008/10/binding-ischecked-property-of.html">workaround</a> de Peter&#8217;s Tips &amp; Tricks. Lo malo de esto es que hay que heredar del control para implementarlo.</p>
<p>Mi solución es exactamente la misma que la de Peter&#8217;s, hace un attach a los eventos Checked y Unchecked para manipular el valor de la property IsCheckedReal,  pero en lugar de heredar uso <a href="http://blogs.msdn.com/b/johngossman/archive/2008/05/07/the-attached-behavior-pattern.aspx">attached behaviors</a>.</p>
<p>El behavior expone dos properties, &#8220;IsCheckedReal&#8221; y &#8220;AttachBehavior&#8221;. La primera es para hacer el binding contra el enum del viewmodel, la segunda es un bool para hacer un on/off del behavior.</p>
<p>Ejemplo de uso:<br />
<pre class="brush: xml;">
&lt;RadioButton behavior:RadioButtonBehavior.AttachBehavior=&quot;True&quot;
             behavior:RadioButtonBehavior.IsCheckedReal=&quot;{Binding Path=Scope, Converter={StaticResource EnumBooleanConverter}, ConverterParameter=Local}&quot; Content=&quot;Local&quot; /&gt;
</pre></p>
<p>RadioButtonBehavior:<br />
<pre class="brush: csharp;">
using System.Windows;
using System.Windows.Controls;

namespace Aquadize.Foundation.Behavior
{
    /// &lt;summary&gt;
    /// Behavior para hacer twoway binding de la property IsChecked en un RadioButton.
    /// La solución está basada en: http://pstaev.blogspot.com/2008/10/binding-ischecked-property-of.html
    /// Otras soluciones: http://www.phdesign.com.au/programming/wpf-radiobutton-binding-to-ischecked-property/
    /// &lt;/summary&gt;
    public static class RadioButtonBehavior
    {
        private static bool _isChanging;

        #region IsCheckedReal Property

        public static bool? GetIsCheckedReal(DependencyObject obj)
        {
            return (bool?)obj.GetValue(IsCheckedRealProperty);
        }

        public static void SetIsCheckedReal(DependencyObject obj, bool? value)
        {
            obj.SetValue(IsCheckedRealProperty, value);
        }
        
        public static readonly DependencyProperty IsCheckedRealProperty =
            DependencyProperty.RegisterAttached(&quot;IsCheckedReal&quot;, typeof(bool?), typeof(RadioButtonBehavior), 
                new FrameworkPropertyMetadata(false, 
                                              FrameworkPropertyMetadataOptions.Journal | FrameworkPropertyMetadataOptions.BindsTwoWayByDefault,
                                              OnIsCheckedRealChanged));

        #endregion

        #region AttachBehavior Property

        public static bool GetAttachBehavior(DependencyObject obj)
        {
            return (bool)obj.GetValue(AttachBehaviorProperty);
        }

        public static void SetAttachBehavior(DependencyObject obj, bool value)
        {
            obj.SetValue(AttachBehaviorProperty, value);
        }
        
        public static readonly DependencyProperty AttachBehaviorProperty =
            DependencyProperty.RegisterAttached(&quot;AttachBehavior&quot;, typeof(bool), typeof(RadioButtonBehavior), new UIPropertyMetadata(false, OnAttachBehaviorChanged));

        #endregion

        private static void OnAttachBehaviorChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
        {
            var radioButton = d as RadioButton;
            
            // solo se puede attachar el behavior en un RadioButton
            if (radioButton == null)
                return;

            var attach = (bool)e.NewValue;
            if (attach)
            {
                radioButton.Checked += new RoutedEventHandler(radioButton_Checked);
                radioButton.Unchecked += new RoutedEventHandler(radioButton_Unchecked);
            }
            else
            {
                radioButton.Checked -= new RoutedEventHandler(radioButton_Checked);
                radioButton.Unchecked -= new RoutedEventHandler(radioButton_Unchecked);
            }
        }        

        private static void OnIsCheckedRealChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
        {
            var radioButton = d as RadioButton;

            if (radioButton == null)
                return;
            
            _isChanging = true;
            
            radioButton.IsChecked = (bool)e.NewValue;
            
            _isChanging = false;
        }

        private static void radioButton_Unchecked(object sender, RoutedEventArgs e)
        {
            var radioButton = sender as RadioButton;
            
            if (!_isChanging)
                SetIsCheckedReal(radioButton, false);
        }

        private static void radioButton_Checked(object sender, RoutedEventArgs e)
        {
            var radioButton = sender as RadioButton;

            if (!_isChanging)
                SetIsCheckedReal(radioButton, true);
        }
    }
}
</pre></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/gioos.wordpress.com/66/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/gioos.wordpress.com/66/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/gioos.wordpress.com/66/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/gioos.wordpress.com/66/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/gioos.wordpress.com/66/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/gioos.wordpress.com/66/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/gioos.wordpress.com/66/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/gioos.wordpress.com/66/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/gioos.wordpress.com/66/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/gioos.wordpress.com/66/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/gioos.wordpress.com/66/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/gioos.wordpress.com/66/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/gioos.wordpress.com/66/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/gioos.wordpress.com/66/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.gioos.com&amp;blog=17667907&amp;post=66&amp;subd=gioos&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.gioos.com/2010/11/15/wpf-radiobutton-binding/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/e0ca3e9855587f07564ffea98e432d51?s=96&#38;d=retro&#38;r=X" medium="image">
			<media:title type="html">eze1981</media:title>
		</media:content>
	</item>
		<item>
		<title>atardecer en casa</title>
		<link>http://blog.gioos.com/2010/11/14/atardecer-en-casa/</link>
		<comments>http://blog.gioos.com/2010/11/14/atardecer-en-casa/#comments</comments>
		<pubDate>Sun, 14 Nov 2010 17:29:36 +0000</pubDate>
		<dc:creator>eze1981</dc:creator>
				<category><![CDATA[photos]]></category>

		<guid isPermaLink="false">http://gioos.wordpress.com/?p=69</guid>
		<description><![CDATA[<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.gioos.com&amp;blog=17667907&amp;post=69&amp;subd=gioos&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><a href="http://gioos.files.wordpress.com/2010/11/atardecer.jpg"><img src="http://gioos.files.wordpress.com/2010/11/atardecer.jpg?w=1024&#038;h=768" alt="atardecer" title="atardecer" width="1024" height="768" class="alignnone size-large wp-image-70" /></a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/gioos.wordpress.com/69/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/gioos.wordpress.com/69/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/gioos.wordpress.com/69/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/gioos.wordpress.com/69/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/gioos.wordpress.com/69/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/gioos.wordpress.com/69/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/gioos.wordpress.com/69/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/gioos.wordpress.com/69/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/gioos.wordpress.com/69/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/gioos.wordpress.com/69/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/gioos.wordpress.com/69/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/gioos.wordpress.com/69/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/gioos.wordpress.com/69/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/gioos.wordpress.com/69/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.gioos.com&amp;blog=17667907&amp;post=69&amp;subd=gioos&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.gioos.com/2010/11/14/atardecer-en-casa/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/e0ca3e9855587f07564ffea98e432d51?s=96&#38;d=retro&#38;r=X" medium="image">
			<media:title type="html">eze1981</media:title>
		</media:content>

		<media:content url="http://gioos.files.wordpress.com/2010/11/atardecer.jpg?w=1024" medium="image">
			<media:title type="html">atardecer</media:title>
		</media:content>
	</item>
		<item>
		<title>port scanner usando la Task Parallel Library</title>
		<link>http://blog.gioos.com/2009/12/27/port-scanner-usando-la-task-parallel-library/</link>
		<comments>http://blog.gioos.com/2009/12/27/port-scanner-usando-la-task-parallel-library/#comments</comments>
		<pubDate>Sun, 27 Dec 2009 19:28:00 +0000</pubDate>
		<dc:creator>eze1981</dc:creator>
				<category><![CDATA[{ code }]]></category>
		<category><![CDATA[csharp]]></category>
		<category><![CDATA[TPL]]></category>

		<guid isPermaLink="false">http://gioos.wordpress.com/2009/12/27/port-scanner-usando-la-task-parallel-library</guid>
		<description><![CDATA[Poderoza la Task Parallel Library, dejo un ejemplo bastante simple de un port scanner que hace su trabajo en paralelo pero sin crear un solo thread en forma explícita. Toda la magia está en: Parallel.For(from, to, (port) =&#62; {});<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.gioos.com&amp;blog=17667907&amp;post=14&amp;subd=gioos&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Poderoza la Task Parallel Library, dejo un ejemplo bastante simple de un port scanner que hace su trabajo en paralelo pero sin crear un solo thread en forma explícita. Toda la magia está en:</p>
<p><code>Parallel.For(from, to, (port) =&gt; {});</code></p>
<p><pre class="brush: csharp;">
class Program
{
 static void Main(string[] args)
 {
     if (args.Length &lt; 2 || args.Length &gt; 3)
         throw new ArgumentException();

     var to = 0;
     var from = 0;
     var host = args[0];         

     #region argument validation
     //...
     #endregion

     Console.WriteLine(&quot;Scanning {0} ports from: {1} to {2}&quot;, host, from, to - 1);

     // parallel port scan
     Parallel.For(from, to, (port) =&gt;
     {
         var tcpScan = new TcpClient();

         try
         {
             tcpScan.Connect(host, port);

             if (tcpScan.Connected)
                 Console.WriteLine(&quot;Listening on port: {0}&quot;, port);
         }
         catch (Exception)
         {
         }
         finally
         {
             if (tcpScan.Connected)
                 tcpScan.Close();                 
         }
     });         

     Console.ReadKey();
 }
}
</pre></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/gioos.wordpress.com/14/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/gioos.wordpress.com/14/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/gioos.wordpress.com/14/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/gioos.wordpress.com/14/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/gioos.wordpress.com/14/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/gioos.wordpress.com/14/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/gioos.wordpress.com/14/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/gioos.wordpress.com/14/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/gioos.wordpress.com/14/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/gioos.wordpress.com/14/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/gioos.wordpress.com/14/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/gioos.wordpress.com/14/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/gioos.wordpress.com/14/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/gioos.wordpress.com/14/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.gioos.com&amp;blog=17667907&amp;post=14&amp;subd=gioos&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.gioos.com/2009/12/27/port-scanner-usando-la-task-parallel-library/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/e0ca3e9855587f07564ffea98e432d51?s=96&#38;d=retro&#38;r=X" medium="image">
			<media:title type="html">eze1981</media:title>
		</media:content>
	</item>
		<item>
		<title>wii sports fail</title>
		<link>http://blog.gioos.com/2009/11/20/wii-sports-fail/</link>
		<comments>http://blog.gioos.com/2009/11/20/wii-sports-fail/#comments</comments>
		<pubDate>Fri, 20 Nov 2009 05:07:00 +0000</pubDate>
		<dc:creator>eze1981</dc:creator>
				<category><![CDATA[games]]></category>
		<category><![CDATA[fail]]></category>
		<category><![CDATA[wii]]></category>

		<guid isPermaLink="false">http://gioos.wordpress.com/2009/11/20/wii-sports-fail</guid>
		<description><![CDATA[Parece que a la gente de nintendo no se le ocurrió que alguien podía jugar al wii sports hasta romper el indicador de puntaje.<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.gioos.com&amp;blog=17667907&amp;post=13&amp;subd=gioos&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Parece que a la gente de nintendo no se le ocurrió que alguien podía jugar al wii sports hasta romper el indicador de puntaje.</p>
<p><a href="http://gioos.files.wordpress.com/2009/11/wii1.png"><img src="http://gioos.files.wordpress.com/2009/11/wii1.png?w=300" border="0" /></a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/gioos.wordpress.com/13/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/gioos.wordpress.com/13/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/gioos.wordpress.com/13/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/gioos.wordpress.com/13/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/gioos.wordpress.com/13/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/gioos.wordpress.com/13/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/gioos.wordpress.com/13/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/gioos.wordpress.com/13/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/gioos.wordpress.com/13/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/gioos.wordpress.com/13/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/gioos.wordpress.com/13/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/gioos.wordpress.com/13/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/gioos.wordpress.com/13/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/gioos.wordpress.com/13/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.gioos.com&amp;blog=17667907&amp;post=13&amp;subd=gioos&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.gioos.com/2009/11/20/wii-sports-fail/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/e0ca3e9855587f07564ffea98e432d51?s=96&#38;d=retro&#38;r=X" medium="image">
			<media:title type="html">eze1981</media:title>
		</media:content>

		<media:content url="http://gioos.files.wordpress.com/2009/11/wii1.png?w=300" medium="image" />
	</item>
		<item>
		<title>Hola Flex</title>
		<link>http://blog.gioos.com/2008/11/01/hola-flex/</link>
		<comments>http://blog.gioos.com/2008/11/01/hola-flex/#comments</comments>
		<pubDate>Sat, 01 Nov 2008 18:55:00 +0000</pubDate>
		<dc:creator>eze1981</dc:creator>
				<category><![CDATA[{ code }]]></category>
		<category><![CDATA[flex]]></category>

		<guid isPermaLink="false">http://gioos.wordpress.com/2008/11/01/hola-flex</guid>
		<description><![CDATA[Flex hello world:<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.gioos.com&amp;blog=17667907&amp;post=12&amp;subd=gioos&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p> Flex hello world:</p>
<p><pre class="brush: as3;">
&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;
&lt;mx:Application xmlns:mx=&quot;http://www.adobe.com/2006/mxml&quot; layout=&quot;absolute&quot; xmlns:ns1=&quot;*&quot;&gt;
    &lt;mx:Button label=&quot;Saludo&quot; id=&quot;btnSaludo&quot; enabled=&quot;true&quot; click=&quot;saludar()&quot; /&gt;
        &lt;mx:Script &gt;
            &lt;![CDATA[
                import mx.controls.Alert;
                import mx.rpc.events.ResultEvent;            
            
                private function saludar():void{
                    Alert.show('hola');
                }
            ]]&gt;
        &lt;/mx:Script&gt;    
&lt;/mx:Application&gt;
</pre></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/gioos.wordpress.com/12/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/gioos.wordpress.com/12/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/gioos.wordpress.com/12/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/gioos.wordpress.com/12/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/gioos.wordpress.com/12/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/gioos.wordpress.com/12/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/gioos.wordpress.com/12/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/gioos.wordpress.com/12/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/gioos.wordpress.com/12/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/gioos.wordpress.com/12/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/gioos.wordpress.com/12/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/gioos.wordpress.com/12/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/gioos.wordpress.com/12/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/gioos.wordpress.com/12/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.gioos.com&amp;blog=17667907&amp;post=12&amp;subd=gioos&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.gioos.com/2008/11/01/hola-flex/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/e0ca3e9855587f07564ffea98e432d51?s=96&#38;d=retro&#38;r=X" medium="image">
			<media:title type="html">eze1981</media:title>
		</media:content>
	</item>
		<item>
		<title>datamapper</title>
		<link>http://blog.gioos.com/2008/06/22/datamapper/</link>
		<comments>http://blog.gioos.com/2008/06/22/datamapper/#comments</comments>
		<pubDate>Sun, 22 Jun 2008 17:50:00 +0000</pubDate>
		<dc:creator>eze1981</dc:creator>
				<category><![CDATA[{ code }]]></category>
		<category><![CDATA[datamapper]]></category>
		<category><![CDATA[ruby]]></category>

		<guid isPermaLink="false">http://gioos.wordpress.com/2008/06/22/datamapper</guid>
		<description><![CDATA[Una de las cosas que mas me gusta de DataMapper es que partís definiendo los atributos de tu modelo en el modelo mismo. En lugar de armar scripts (migrations), o definir a mano la base de datos y que luego levante el modelo de la base. Pero había algo bastante feo en la version 0.3; [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.gioos.com&amp;blog=17667907&amp;post=11&amp;subd=gioos&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Una de las cosas que mas me gusta de <a href="http://datamapper.org/">DataMapper</a> es que partís definiendo los atributos de tu modelo en el modelo mismo. En lugar de armar scripts (migrations), o definir a mano la base de datos y que luego levante el modelo de la base.</p>
<p>Pero había algo bastante feo en la version 0.3; cada vez que modificabas el modelo y le decías que actualice la base de datos, borraba todos los datos que tenías en ella.</p>
<p>Con la salida de la versión 0.9 de DataMapper se solucionó el problema de perder todos los datos de la base por cada dm:db:automigrate. Ahora existe dm:db:autoupgrade que se encarga de actualizar la base de datos según lo definición de los modelos preservando la información que está en las tablas. Parece ser una buena solución frente al problema que tiene ActiveRecord cuando no se trata de un proyecto de una sola persona (se crean muchos conflictos con los commits de los migrations). La solución de DataMapper es olvidarse de la base de datos, actualizo mis modelos aplicando patchs, haciendo merges, lo que fuera. Luego hago un upgrade y la base siempre corresponde a la definicón de los modelos.</p>
<p>Otro cambio importante es que ya no es necesario que las clases que nos interesa persistir hereden de una clase especial como sucede con la mayoría de los ORM&#8217;s. Entonces nos queda la herencia disponible para algún uso más interesante.</p>
<p><pre class="brush: ruby;">
class Page
    include DataMapper::Resource

end
</pre></p>
<p>También perdió un poco de automagia que tenía respecto a la definición de las primary keys. Ahora hay que definir a mano la pk de cada modelo, como cualquier otro atributo:</p>
<p><pre class="brush: ruby;">
class Page
    include DataMapper::Resource

    property :id, Integer, :serial =&gt; true

end
</pre></p>
<p>Está muy buena la sintaxis para definir las relaciones &#8220;has_many&#8221;:</p>
<p><pre class="brush: ruby;">
class Page
    include DataMapper::Resource

    property :id, Integer, :serial =&gt; true

    has 1..3, :columns
    has n, :html_controls
end
</pre></p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/gioos.wordpress.com/11/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/gioos.wordpress.com/11/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/gioos.wordpress.com/11/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/gioos.wordpress.com/11/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/gioos.wordpress.com/11/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/gioos.wordpress.com/11/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/gioos.wordpress.com/11/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/gioos.wordpress.com/11/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/gioos.wordpress.com/11/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/gioos.wordpress.com/11/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/gioos.wordpress.com/11/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/gioos.wordpress.com/11/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/gioos.wordpress.com/11/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/gioos.wordpress.com/11/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/gioos.wordpress.com/11/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/gioos.wordpress.com/11/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.gioos.com&amp;blog=17667907&amp;post=11&amp;subd=gioos&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.gioos.com/2008/06/22/datamapper/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/e0ca3e9855587f07564ffea98e432d51?s=96&#38;d=retro&#38;r=X" medium="image">
			<media:title type="html">eze1981</media:title>
		</media:content>
	</item>
		<item>
		<title>árbol en rails</title>
		<link>http://blog.gioos.com/2008/04/11/arbol-en-rails/</link>
		<comments>http://blog.gioos.com/2008/04/11/arbol-en-rails/#comments</comments>
		<pubDate>Sat, 12 Apr 2008 01:23:00 +0000</pubDate>
		<dc:creator>eze1981</dc:creator>
				<category><![CDATA[{ code }]]></category>
		<category><![CDATA[activerecord]]></category>
		<category><![CDATA[rails]]></category>
		<category><![CDATA[ruby]]></category>

		<guid isPermaLink="false">http://gioos.wordpress.com/2008/04/11/arbol-en-rails</guid>
		<description><![CDATA[Si querés implementar una estructura con forma de árbol n-ario en rails, podés usar este pluging: ActsAsTree ActsAsTree lo que hace es crear una tabla en donde guarda el nombre de la clase, la primary key y el parent_id de cada instancia de cada modelo que nos interese que se comporte como árbol. Con esta [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.gioos.com&amp;blog=17667907&amp;post=10&amp;subd=gioos&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Si querés implementar una estructura con forma de <a href="http://es.wikipedia.org/wiki/Árbol_%28estructura_de_datos%29">árbol n-ario</a> en rails, podés usar este pluging:  <a href="http://wiki.rubyonrails.org/rails/pages/ActsAsTree">ActsAsTree</a></p>
<p>ActsAsTree lo que hace es crear una tabla en donde guarda el nombre de la clase, la primary key y el parent_id de cada instancia de cada modelo que nos interese que se comporte como árbol. Con esta tabla puede dar soporte a todos los modelos ActiveRecord que tengas definidos, además en cada modelo vas a tener acceso a estos métodos:</p>
<p><code><br />
children() – all immediate children of current object<br />
parent() – first ancestor of the current object<br />
siblings() – all children of my parent excluding me<br />
self_and_siblings() all children of my parent including me<br />
ancestors() all parent, grandparent, etc… object up to root<br />
root() the base object we descended from in the tree<br />
</code></p>
<p>Otra forma de hacer casi lo mismo pero sin un plugin y sin guardar las relaciones entre nodos en una tabla externa es la siguiente:</p>
<p>Suponiendo que tenemos el modelo &#8220;Box&#8221;, lo que vamos a hacer es crear una estructura que permita guardar cajas dentro de cajas. Sólo vamos a guardar la relación de cada nodo con su padre.</p>
<p>primero hay que agregar el campo &#8220;parent_id&#8221; en la tabla &#8220;boxes&#8221;:</p>
<p><pre class="brush: ruby;">
class BoxAddReferenceToParent &lt;&gt;
    def self.up 
      add_column :boxes, 
                 :parent_id, 
                 :integer 
    end 

    def self.down 
      remove_column :boxes, 
                    :parent_id 
    end 
end
</pre></p>
<p>segundo, agregamos la relación en el modelo de cada nodo con su parent (en este caso el parent es la caja que contiene a cada instancia):</p>
<p><pre class="brush: ruby;">
class Box &lt; ActiveRecord::Base
    belongs_to :parent, 
               :class_name =&gt; &quot;Box&quot;, 
               :foreign_key =&gt; &quot;parent_id&quot;
end
</pre></p>
<p>tercero y último, agregamos la relación de cada caja con las que están dentro de ellas:</p>
<p><pre class="brush: ruby;">
class Box &lt; ActiveRecord::Base
    belongs_to :parent, 
               :class_name =&gt; &quot;Box&quot;, 
               :foreign_key =&gt; &quot;parent_id&quot;

    has_many :children, 
             :class_name =&gt; &quot;Box&quot;, 
             :foreign_key =&gt; &quot;parent_id&quot;
  end
</pre></p>
<p>listo!</p>
<p>Desde la consola de rails podés crear un par de cajas y probar algo como esto:</p>
<p><pre class="brush: ruby;">
b = Box.find 17 
b.parent         # es la caja que contiene a b
b.children       # es un Array de los objetos Box que están dentro de b  
</pre></p>
<p>Esta solución no es tan automágica como ActsAsTree pero me parece mucho mas prolija, las relaciones entre los nodos están donde deben estar.</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/gioos.wordpress.com/10/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/gioos.wordpress.com/10/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/gioos.wordpress.com/10/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/gioos.wordpress.com/10/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/gioos.wordpress.com/10/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/gioos.wordpress.com/10/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/gioos.wordpress.com/10/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/gioos.wordpress.com/10/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/gioos.wordpress.com/10/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/gioos.wordpress.com/10/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/gioos.wordpress.com/10/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/gioos.wordpress.com/10/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/gioos.wordpress.com/10/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/gioos.wordpress.com/10/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/gioos.wordpress.com/10/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/gioos.wordpress.com/10/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.gioos.com&amp;blog=17667907&amp;post=10&amp;subd=gioos&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.gioos.com/2008/04/11/arbol-en-rails/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/e0ca3e9855587f07564ffea98e432d51?s=96&#38;d=retro&#38;r=X" medium="image">
			<media:title type="html">eze1981</media:title>
		</media:content>
	</item>
		<item>
		<title>mootools: sortable of sortables</title>
		<link>http://blog.gioos.com/2008/02/06/mootools-sortable-of-sortables/</link>
		<comments>http://blog.gioos.com/2008/02/06/mootools-sortable-of-sortables/#comments</comments>
		<pubDate>Wed, 06 Feb 2008 05:27:00 +0000</pubDate>
		<dc:creator>eze1981</dc:creator>
				<category><![CDATA[{ code }]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[mootools]]></category>

		<guid isPermaLink="false">http://gioos.wordpress.com/2008/02/06/mootools-sortable-of-sortables</guid>
		<description><![CDATA[Armé una demo de un sortable que contiene a otros tres sortables. Hace un tiempo había hecho la misma prueba pero con prototype+scriptaculus, la verdad que es mucho mas transparente con mootools y el código queda mucho mas limpio: La demo está funcionando en opera, safari, firefox, iexplorer y camino sin tener que hacer ningún hack por [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.gioos.com&amp;blog=17667907&amp;post=9&amp;subd=gioos&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Armé una <a href="http://www.gioos.com/demos/mootools/sortables.html">demo</a> de un sortable que contiene a otros tres sortables. Hace un tiempo había hecho la misma prueba pero con prototype+scriptaculus, la verdad que es mucho mas transparente con mootools y el código queda mucho mas limpio:</p>
<p><pre class="brush: jscript;">
var master = new Sortables('master', { handle: 'span'});

var mySortables = new Sortables([$('lista_A'), $('lista_B'), $('lista_C')], {
cloneOpacity: 0.4,
elementOpacity: 0.8
});
</pre></p>
<p>La demo está funcionando en opera, safari, firefox, iexplorer y camino sin tener que hacer ningún hack por el browser; mootools se encarga solito!</p>
<p>En la <a href="http://www.gioos.com/demos/mootools/sortables.html">demo</a> se pueden dragear los items dentro de una misma lista, entre las listas y también se puede hacer un drag desde la parte naranja para intercambiar una lista completa con otra.</p>
<p>Esta es <a href="http://www.gregphoto.net/sortable/advanced/">otra demo</a> que encontré pero usa scriptaculus.</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/gioos.wordpress.com/9/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/gioos.wordpress.com/9/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/gioos.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/gioos.wordpress.com/9/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/gioos.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/gioos.wordpress.com/9/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/gioos.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/gioos.wordpress.com/9/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/gioos.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/gioos.wordpress.com/9/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/gioos.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/gioos.wordpress.com/9/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/gioos.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/gioos.wordpress.com/9/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/gioos.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/gioos.wordpress.com/9/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.gioos.com&amp;blog=17667907&amp;post=9&amp;subd=gioos&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.gioos.com/2008/02/06/mootools-sortable-of-sortables/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/e0ca3e9855587f07564ffea98e432d51?s=96&#38;d=retro&#38;r=X" medium="image">
			<media:title type="html">eze1981</media:title>
		</media:content>
	</item>
	</channel>
</rss>
