<?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>A un Bit</title>
	<atom:link href="http://www.aunbit.com/feed" rel="self" type="application/rss+xml" />
	<link>http://www.aunbit.com</link>
	<description>e-commerce y nuevas tecnologías</description>
	<lastBuildDate>Thu, 17 May 2012 06:45:10 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>Avatares y la inmortalidad</title>
		<link>http://www.aunbit.com/carperfer/blog/avatares-y-la-inmortalidad</link>
		<comments>http://www.aunbit.com/carperfer/blog/avatares-y-la-inmortalidad#comments</comments>
		<pubDate>Tue, 03 Apr 2012 21:23:14 +0000</pubDate>
		<dc:creator>carlospf</dc:creator>
				<category><![CDATA[Blog Personal]]></category>

		<guid isPermaLink="false">http://www.aunbit.com/?p=688</guid>
		<description><![CDATA[Existe una creencia de inmortalidad en nuestra sociedad por lo que somos y sobre todo por nuestras acciones, en este mundo tan materialista. Científicos, políticos ]]></description>
			<content:encoded><![CDATA[<p>Existe una creencia de inmortalidad en nuestra sociedad por lo que somos y sobre todo por nuestras acciones, en este mundo tan materialista.</p>
<p>Científicos, políticos o dictadores, y en general personajes históricos, dejaron una importante huella en nuestra historia o aportaron cosas importantes a nuestra sociedad, cultura, tecnología, leyes, edificios&#8230;</p>
<p>Newton, Platon, Da Vinci&#8230; son algunos de los personajes, que pese al paso del tiempo, lo tenemos muy presente en el día a día, y tenemos la creencia de que será así en el futuro.</p>
<p>En realidad cualquier persona aporta valor a la sociedad, especialmente en su entorno. Los conocimientos, valores y el propio material genético aportado de generación en generación, es una manera de postergar esta inmortalidad, si que es cierto que se producen mejoras o evoluciones, pero que sin ellas el mundo sería distinto.</p>
<p>Las redes sociales han avanzado en los últimos años de una manera que todavía no hemos asimilado, en ella depositamos no solo nuestra &#8220;identidad digital&#8221;, sino que aportamos recuerdos, experiencias, conocimientos, relaciones, incluso me atrevería a decir que sentimientos.</p>
<p>En el futuro nuestra identidad digital será algo mas que un simple avatar, la futura evolución de las redes sociales y en especial el internet de las cosas junto con la inteligencia artificial, hará que tengamos un yo digital, el cual interactuará de manera autónoma, con sentido y con un comportamiento a nosotros tan parecido que dudaremos de estar hablando con una máquina.</p>
<p>Sé que suena mucho a ciencia ficción, pero también hay que recordar que la ciencia ficción se hará realidad algún día, y aunque muramos, nuestra identidad digital, avatar inteligente, agente, o como lo queráis llamar sobrevivirá y permanecerá en Internet para siempre.</p>
<p>Existe una serie de ciencia ficción, &#8220;Caprica&#8221;, que relata un poco toda esta filosofía, aunque con ojos mas catastrofistas, sin duda nosotros conscientes o inconscientemente, escribimos el futuro de nuestra especie.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.aunbit.com/carperfer/blog/avatares-y-la-inmortalidad/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mockups</title>
		<link>http://www.aunbit.com/recursos/mockups</link>
		<comments>http://www.aunbit.com/recursos/mockups#comments</comments>
		<pubDate>Tue, 03 Apr 2012 20:52:03 +0000</pubDate>
		<dc:creator>carlospf</dc:creator>
				<category><![CDATA[Recursos]]></category>

		<guid isPermaLink="false">http://www.aunbit.com/?p=661</guid>
		<description><![CDATA[¿Qué es un Mockups? Un Mackups es un diseño inicial, prácticamente trazos echo sobre el papel, donde se distingue la distribución de los distintos elementos ]]></description>
			<content:encoded><![CDATA[<h3>¿Qué es un Mockups?</h3>
<p>Un Mackups es un diseño inicial, prácticamente trazos echo sobre el papel, donde se distingue la distribución de los distintos elementos de una aplicación, pagina web&#8230;</p>
<p>Los mockups son muy útil para poner de acuerdo a (diseñadores, clientes y programadores).</p>
<p>Hoy os presento 2 herramientas muy útiles para hacer Mockups:</p>
<h2>Pencil Project<img class="alignright" src="http://pencil.evolus.vn/en-US/Handlers/PictureHandler.ashx?ResourceId=615147bf-f550-4ab9-ac0f-9110c04aa26a&amp;Width=881&amp;Height=0" alt="" width="317" height="220" /></h2>
<p>De los creadores de Firefox, Mozilla, ha desarrollado este software que nos permite diseñar prácticamente cualquier diseño que se nos ocurra.</p>
<p>Podemos crear Mackups tanto para aplicaciones como páginas web.</p>
<p>Podemos instalarlo de distintas maneras, como extensión de nuestro navegador o como aplicación independiente.</p>
<p>Es multiplataforma, con lo que nos garantizará que nos funcionará prácticamente en cualquier ordenador.</p>
<p><a href="http://pencil.evolus.vn/en-US/Home.aspx">http://pencil.evolus.vn/en-US/Home.aspx</a></p>
<h2>Balsamiq Mockups<img class="alignright" src="http://www.balsamiq.com/images/samples/mytunez.png" alt="" width="266" height="227" /></h2>
<p>Esta es la segunda herramienta que os quiero mostrar, es muy parecida a la anterior, pero mucho mas profesional, de hecho esta aplicación es de pago.</p>
<p>Es mucho mas completa y con apartados mucho mas interesantes como por ejemplo sliders o mapas.</p>
<p>Esta herramienta está desarrollada en Adobe air, por lo que &#8220;en teoría&#8221;, es multiplataforma, en su web indica incluso que podemos usarlo en dispositivos móviles como tablets o smartphones.</p>
<p><a href="http://www.balsamiq.com/products/mockups">http://www.balsamiq.com/products/mockups</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.aunbit.com/recursos/mockups/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Clase de Física cuántica para principiantes</title>
		<link>http://www.aunbit.com/carperfer/blog/clase-de-fisica-cuantica-para-principiantes</link>
		<comments>http://www.aunbit.com/carperfer/blog/clase-de-fisica-cuantica-para-principiantes#comments</comments>
		<pubDate>Mon, 13 Feb 2012 10:15:05 +0000</pubDate>
		<dc:creator>carlospf</dc:creator>
				<category><![CDATA[Blog Personal]]></category>

		<guid isPermaLink="false">http://www.aunbit.com/?p=664</guid>
		<description><![CDATA[¿Eres feliz? Hay una probabilidad de que digas si o que no, en función de los hechos puntuales que te hayan ocurrido en la vida ]]></description>
			<content:encoded><![CDATA[<h2>¿Eres feliz?</h2>
<p>Hay una probabilidad de que digas si o que no, en función de los hechos puntuales que te hayan ocurrido en la vida a lo largo del tiempo (pero la respuesta la das en un momento determinado y puede cambiar en otro momento).<br />
Por el hecho de conocer un hecho puntual no puedes conocer la respuesta a la pregunta.</p>
<h3>
Una historia de Física Cuántica:</h3>
<p>Los gemelos suelen tener la función de probabilidad de ser felices &#8220;sincronizada&#8221; desde que nacen y conforme se van distanciando van cambiando estas funciones.</p>
<p>Si se afecta la función de uno de ellos se afecta a la del otro.</p>
<p>Eso de que si se rompe el brazo uno, se lo rompe el otro, o si uno piensa una cosa el otro también, es también Física Cuántica, hechos que van contra toda lógica pero que suceden y no tienen explicación (todavía).</p>
]]></content:encoded>
			<wfw:commentRss>http://www.aunbit.com/carperfer/blog/clase-de-fisica-cuantica-para-principiantes/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Modelos de negocio 2.0</title>
		<link>http://www.aunbit.com/carperfer/blog/modelos-de-negocio-2-0</link>
		<comments>http://www.aunbit.com/carperfer/blog/modelos-de-negocio-2-0#comments</comments>
		<pubDate>Wed, 07 Dec 2011 22:53:15 +0000</pubDate>
		<dc:creator>carlospf</dc:creator>
				<category><![CDATA[Blog Personal]]></category>
		<category><![CDATA[Comercio electrónico]]></category>

		<guid isPermaLink="false">http://www.aunbit.com/?p=655</guid>
		<description><![CDATA[Todavía hay muchos que creen que eso del 2.0, es como la burbuja de las punto com entorno al año 2000, pero hay una cosa ]]></description>
			<content:encoded><![CDATA[<p>Todavía hay muchos que creen que eso del 2.0, es como la burbuja de las punto com entorno al año 2000, pero hay una cosa que diferencia claramente de esa época, es verdad que hoy existen nuevos modelos de negocio basados en las nuevas tecnologías de entonces, pero estas mismas tecnologías permiten calcular el ROI o retorno de la inversión.<br />
Es decir podemos calcular y cuantificar el gasto y el ingreso repercutido.</p>
<p>Existen modelos de negocio que hace unos 5 años eran inexistentes o poco conocidos y que por entonces serían descabellados y pocos apostarían por ellos. Empleos como Community Manager y Personal Shopper, están cada día obteniendo mayor reputación.</p>
<h2>Lo gratis no es gratis</h2>
<p>Hoy en día se estilan los servicios Fremium, es decir se ofrecen de manera gratuita y posteriormente o por servicios avanzados se cobra una cuota.</p>
<p>Un buen amigo, me dijo algo (que probablemente lo sacara de otro lado), pero que quiero compartir:</p>
<blockquote><p>Si el producto es gratuito, entonces tu eres el producto.</p></blockquote>
<p>Y es que efectivamente el producto tiende a ser personalizado, estableciendo una unión entre el cliente y el producto inseparable, está quedando atrás (y en especial gracias a la crisis), aquello de los grandes almacenes, grandes consultoras o grandes centros de negocio.</p>
<p>El cliente está tomando una especial participación y en gran medida es por la gran dispersión de la población, algunos lo denominan tribus urbanas, es decir grupos de personas con una identidad y gustos, pero que en cierta manera quiere distinguirse del resto.</p>
<p>Las grandes empresas, no sólo están creando lineas de productos especializadas para ellos, sino que crean tiendas específicas para estos grupos.</p>
<p>Gracias a Internet, cualquiera puede vender lo que sea y a donde sea.</p>
<p>Es tanta la especialización y sectorización que el futuro de los productos pasa por ser totalmente personalizado, podremos ponerle nuestro logo, elegir el color o ponerle nuestra marca personal, sin que ello repercute gravemente en el precio del producto.</p>
<h2>Paquetización de servicios</h2>
<p>Otro de los factores claves es la paquetización de servicios, a pesar de ser un servicio especializado y exclusivo, el cliente se siente mejor con el hecho de que sepa de antemano que es un paquete de servicio y es modulorizable (mas y mejores servicios incrementos de precios estandarizados).</p>
<h2>Las redes sociales.</h2>
<p>Las reces sociales tomará un inportante campo de la atención especializada al cliente, no sólo eso, sino que ofrece un feedback impresionante, ofreciendo distintos puntos de vista del producto y de futuros productos demandado por los clientes.</p>
<p>Las posibilidades que ofrecen los informes sobre lo que se dice y no en las redes sociales sobre tu marca, producto o empresa, te ayudará a obtener información de los grupos de influencia.</p>
<h2>El futuro.</h2>
<p>Sin duda el futuro pasa por la automatización de los servicios especializados, una relación con el cliente nunca antes visto.</p>
<p>Empezó por la fabrica de Ford</p>
<blockquote><p>Puedes elegir cualquier color para tu modelo T siempre y cuando este sea negro.</p></blockquote>
<p>Pasamos a:</p>
<blockquote><p>Tráenos el color, la imagen o la forma y nosotros lo ponemos en el producto.</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.aunbit.com/carperfer/blog/modelos-de-negocio-2-0/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Integración de Coda con Codeigniter</title>
		<link>http://www.aunbit.com/recursos/tecnicas-de-programacion/integracion-de-coda-con-codeigniter</link>
		<comments>http://www.aunbit.com/recursos/tecnicas-de-programacion/integracion-de-coda-con-codeigniter#comments</comments>
		<pubDate>Sun, 04 Dec 2011 13:58:57 +0000</pubDate>
		<dc:creator>carlospf</dc:creator>
				<category><![CDATA[Técnicas de Programación]]></category>

		<guid isPermaLink="false">http://www.aunbit.com/?p=648</guid>
		<description><![CDATA[Creo que Panic Coda es uno de los entornos de desarrollo para Mac mas importante, que cada día toma mas adeptos. Yo personalmente lo uso ]]></description>
			<content:encoded><![CDATA[<p>Creo que Panic Coda es uno de los entornos de desarrollo para Mac mas importante, que cada día toma mas adeptos.</p>
<p>Yo personalmente lo uso para desarrollo web, con el Framework de desarrollo Codeigniter en PHP, con el fin de poder tener el autocompletar con las clases de codeigniter, tendreis que hacer lo siguiente:</p>
<p><a href="http://www.aunbit.com/recursos/tecnicas-de-programacion/integracion-de-coda-con-codeigniter/attachment/captura-de-pantalla-2011-12-04-a-las-14-55-33" rel="attachment wp-att-649"><img class="alignright size-medium wp-image-649" title="Captura de pantalla 2011-12-04 a la(s) 14.55.33" src="http://www.aunbit.com/media/Captura-de-pantalla-2011-12-04-a-las-14.55.33-300x156.png" alt="" width="300" height="156" /></a></p>
<p>Descargar el paquete para modo codeigniter.</p>
<p><a href="http://www.codingmonkeys.de/subethaedit/modes/Codeigniter.mode.zip">http://www.codingmonkeys.de/subethaedit/modes/Codeigniter.mode.zip</a></p>
<p>Copiar el archivo a :Library/Application Support/Coda/Modes</p>
<p>Listo en Coda sólo tendréis que darle a: Text -&gt; Syntax Mode</p>
<p>Otro día os explicaré como se hace para Netbeans.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.aunbit.com/recursos/tecnicas-de-programacion/integracion-de-coda-con-codeigniter/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Redes sociales y trabajo colaborativo.</title>
		<link>http://www.aunbit.com/noticias/redes-sociales-y-trabajo-colaborativo</link>
		<comments>http://www.aunbit.com/noticias/redes-sociales-y-trabajo-colaborativo#comments</comments>
		<pubDate>Thu, 17 Nov 2011 09:17:55 +0000</pubDate>
		<dc:creator>carlospf</dc:creator>
				<category><![CDATA[Noticias tecnológicas]]></category>

		<guid isPermaLink="false">http://www.aunbit.com/?p=634</guid>
		<description><![CDATA[Hoy en día las redes sociales están tomando un papel muy importante en las empresas, no ya como un trabajo de marketing o difusión de ]]></description>
			<content:encoded><![CDATA[<p>Hoy en día las redes sociales están tomando un papel muy importante en las empresas, no ya como un trabajo de marketing o difusión de contenidos propios de la empresas y sus productos, sino como una herramienta de trabajo colaborativa.</p>
<p>Es por ello que quiero poneros en conocimiento de dos herramientas destinadas a la colaboración.</p>
<h2>Yammer</h2>
<p><a href="http://www.yammer.com"><img class="alignright" title="Yammer" src="https://c64.assets-yammer.com/images/public_site/signup_page/nue-yammer-logo.gif" alt="" width="206" height="43" /></a><a title="Yammer" href="https://www.yammer.com" target="_blank">Yammer</a> es una red social destinada a la comunicación interna de una organización.</p>
<p>Originalmente un sistema de microblogging, como puede ser Twitter, pero de manera privada dentro de la empresa.</p>
<p>Cuenta con nuevas funcionalidades como tickets, páginas y archivos.</p>
<p>Permite la creación de documentos colaborativos con edición en tiempo real.</p>
<p>Grandes corporaciones, empresas y organismos, los utilizan a diario para la comunicación interna, haciendo que el correo electrónico pasa a un segundo nivel.<br />
<iframe src="http://player.vimeo.com/video/31568381?title=0&amp;byline=0&amp;portrait=0" frameborder="0" width="400" height="225"></iframe></p>
<p>&nbsp;</p>
<h2>Diaspora</h2>
<p><img class="alignright" title="Diaspora" src="http://www.slargentina.com/sites/default/files/images/diaspora.png" alt="" width="0" height="0" /><img class="alignright" src="http://www.slargentina.com/sites/default/files/images/diaspora.png" alt="" width="272" height="184" />Diaspora es un software libre destinado a ser instalado en nuestros servidores privados, que implementa una red social distribuida, interconectada a otras por lo que se denomina &#8220;pods&#8221;.</p>
<p>En resumidas cuentas podríamos decir que es una red social en la nube.</p>
<p>En esta red social puedes compartir tu estado, fotografías y otros datos sociales.</p>
<p>Está escrito en Ruby on Rails y las posibilidades de crecimiento, adaptación y modificación son prácticamente infinitas al ser un software libre.</p>
<p>Existen servidores publico que están experimentando con betas privadas, este es el caso de <a href="https://joindiaspora.com" target="_blank">https://joindiaspora.com</a></p>
<p><img class="alignnone" src="http://ocioseando.net/wp-content/uploads/2010/09/diaspora-vista.png" alt="" width="484" height="302" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.aunbit.com/noticias/redes-sociales-y-trabajo-colaborativo/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Patrones de diseño en PHP</title>
		<link>http://www.aunbit.com/recursos/patrones-de-diseno-en-php</link>
		<comments>http://www.aunbit.com/recursos/patrones-de-diseno-en-php#comments</comments>
		<pubDate>Sun, 06 Nov 2011 16:50:05 +0000</pubDate>
		<dc:creator>carlospf</dc:creator>
				<category><![CDATA[Recursos]]></category>
		<category><![CDATA[Técnicas de Programación]]></category>

		<guid isPermaLink="false">http://www.aunbit.com/?p=608</guid>
		<description><![CDATA[Creo que todo programador PHP debe tener claro algunos patrones muy usados en los proyectos web, a modo de recursos me gustaría que los tuvieseis a mano. ]]></description>
			<content:encoded><![CDATA[<p>Creo que todo programador PHP debe tener claro algunos patrones muy usados en los proyectos web, a modo de recursos me gustaría que los tuvieseis a mano.<br />
He simplificado el código al máximo saltándome en algunas ocasiones las interfaces, pero hay que usarlas.<br />
De los UML ni os cuento, pero debería haberlos puesto también.</p>
<p>Tenéis mucha mas información en la wikipedia:</p>
<p><a href="http://es.wikipedia.org/wiki/Patr%C3%B3n_de_dise%C3%B1o">http://es.wikipedia.org/wiki/Patr%C3%B3n_de_dise%C3%B1o</a></p>
<p>Existe tres tipos de patrones:</p>
<ul>
<li>Creacionales</li>
<li>Estructurales</li>
<li>Comportamiento</li>
</ul>
<h1>Creacionales</h1>
<h2>Factoría</h2>
<p>La particularidad que tienen  este patrón es que un método proporciona clases.</p>
<p>Por ejemplo supongamos que tenemos una tienda en la que se venden productos, pero el precio de estos productos no es de tipo estático sino que requiere de una función propia del producto.<br />
<code></p>
<pre class="brush: php">
&lt;?php

interface IProduct {

    function getPrice();
}

class carrito {

    public static function getProduct($type) {
        switch ($type) {
            case &#039;A&#039;:
                return new ProductA();
                break;
            case &#039;B&#039;:
                return new ProductB();
                break;
        }
    }

}

class ProductA implements IProduct {

    function getPrice() {
        return 3;
    }

}

class ProductB implements IProduct {

    function getPrice() {
        return 4;
    }

}

$productoA = carrito::getProduct(&#039;A&#039;);
echo $productoA-&gt;getPrice();
$productoB = carrito::getProduct(&#039;B&#039;);
echo $productoB-&gt;getPrice();
?&gt;
</pre>
<p></code></p>
<h2>Singleton</h2>
<p>El patrón singletone se usa para obtener un recurso y que este este una y sólo una vez creado, obteniéndose instancias de este.</p>
<p>Es muy util este patrón para conexiones con la base de datos.<br />
<code></p>
<pre class="brush: php">
&lt;?php

class DB {

    private static $conection;

    static function getInstancia() {
        if (self::$conection == null) {
            self::$conection = &quot;Conectado al servidor&quot; . rand(1, 10);
        }
        return self::$conection;
    }

}

echo DB::getInstancia();
echo DB::getInstancia();
?&gt;
</pre>
<p></code></p>
<h1>Estructurales</h1>
<h2>Fachada</h2>
<p>Basándonos en ejemplo de la factoría donde devolvíamos un producto, supongamos que tenemos una tienda y el precio del producto no es estático, sino que cada producto calcula su precio (pj depende de la oferta y la demanda y tiene que hacer una petición al mercado de valores), la tienda es una fachada que a pesar de tener la función getPrice($type), le pasa la pelota de calcular el precio al producto en cuestión ya que no sabe que tiene que hacer para calcular el precio.<br />
<code></p>
<pre class="brush: php">
&lt;?php

interface IProduct {

    function getPrice();
}

class tienda {

    private $productA;
    private $productB;

    function __construct() {
        $this-&gt;productA = new ProductA();
        $this-&gt;productB = new ProductB();
    }

    function getPrice($type) {
        if ($type == &quot;A&quot;)
            return $this-&gt;productA-&gt;getPrice();
        if ($type == &quot;B&quot;)
            return $this-&gt;productB-&gt;getPrice();
    }

}

class ProductA implements IProduct {

    function getPrice() {
        return 3;
    }

}

class ProductB implements IProduct {

    function getPrice() {
        return 4;
    }

}

$tienda = new tienda();
echo $tienda-&gt;getPrice(&quot;A&quot;);
echo $tienda-&gt;getPrice(&quot;B&quot;);
?&gt;
</pre>
<p></code></p>
<h1>Comportamiento</h1>
<h2>Observador</h2>
<p>Este patrón pretende informar a todos los elementos, por ejemplo supongamos un juego donde hay jugadores que tienen 2 métodos, informar y ser informados, el observador informa a todos los jugadores, cuando sucede un evento.<br />
<code></p>
<pre class="brush: php">
&lt;?php

class Juego {

    private $jugadores;

    function addJugador($jugador) {
        $this-&gt;jugadores[$jugador-&gt;id] = $jugador;
    }

    function evento($jugador, $info) {
        foreach ($this-&gt;jugadores as $jugadork) {
            if ($jugador != $jugadork) {
                $jugadork-&gt;evento($this, $info);
            }
        }
    }

    function turno($id) {
        $jugador = $this-&gt;jugadores[$id];
        $this-&gt;evento($jugador, &quot;informar&quot;);
    }

}

class jugador {

    public $id;

    function __construct() {
        $this-&gt;id = rand(1, 10);
    }

    function evento($juego, $info) {
        if ($info == &quot;mensaje&quot;) {
            echo $this-&gt;id . &quot;: me he llegado un mensaje&quot;;
        }
        if ($info == &quot;informar&quot;) {
            echo $this-&gt;id . &quot;: envia un mensaje&quot;;
            $juego-&gt;evento($this, &quot;mensaje&quot;);
        }
    }

}

$juego = new Juego();
$jugador1 = new jugador();
$jugador2 = new jugador();
$juego-&gt;addJugador($jugador1);
$juego-&gt;addJugador($jugador2);
echo $jugador1-&gt;id . &quot; y &quot; . $jugador2-&gt;id . &quot; en la partida&quot;;
$juego-&gt;turno($jugador1-&gt;id);
?&gt;
</pre>
<p></code><br />
&nbsp;</p>
<h2>Cadena de mando</h2>
<p>La cadena de mando o Chain of Responsibility, consiste en ejecutar un determinado comando pero en un orden de prioridades.</p>
<p>Supongamos que tenemos un array que contiene objetos que implementan cierta interfaz y que están ordenados por su prioridad.</p>
<p>Para ilustrarlo usaremos las <a href="http://es.wikipedia.org/wiki/Tres_leyes_de_la_rob%C3%B3tica" target="_blank">tres leyes de la robótica</a>.<br />
<code></p>
<pre class="brush: php">
&lt;?php

interface ILey {

    function cumpleLey($accion);
}

class Robot {

    private $leyes;

    function __construct() {
        $this-&gt;leyes = array();
    }

    function addLey($ley) {
        $this-&gt;leyes[] = $ley;
    }

    function executa($accion) {
        foreach ($this-&gt;leyes as $ley) {
            $ley-&gt;cumpleLey($accion);
        }
    }

}

class Ley implements ILey {

    private $mensaje;

    function __construct($mensaje) {
        $this-&gt;mensaje = $mensaje;
    }

    function cumpleLey($accion) {
        if ($accion) {
            echo $this-&gt;mensaje;
        }
    }

}

$robot = new Robot();
$ley1 = new Ley(&quot;Un robot no puede hacer daño a un ser humano o, por inacción, permitir que un ser humano sufra daño.&quot;);
$ley2 = new Ley(&quot;Un robot debe obedecer las órdenes dadas por los seres humanos, excepto si estas órdenes entrasen en conflicto con la Primera Ley.&quot;);
$ley3 = new Ley(&quot;Un robot debe proteger su propia existencia en la medida en que esta protección no entre en conflicto con la Primera o la Segunda Ley.&quot;);
$robot-&gt;addLey($ley1);
$robot-&gt;addLey($ley2);
$robot-&gt;addLey($ley3);
$robot-&gt;executa(&quot;Haz el tonto&quot;);
?&gt;
</pre>
<p></code><br />
Aunque en este sencillo ejemplo ejecutaría cualquier acción, lo que quería mostrar es que se ejecutan las leyes en un orden como en una cadena de mando.</p>
<h2>Estrategia</h2>
]]></content:encoded>
			<wfw:commentRss>http://www.aunbit.com/recursos/patrones-de-diseno-en-php/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Campus Party edición Milenio Reino de Granada</title>
		<link>http://www.aunbit.com/carperfer/blog/campus-party-edicion-milenio-reino-de-granada</link>
		<comments>http://www.aunbit.com/carperfer/blog/campus-party-edicion-milenio-reino-de-granada#comments</comments>
		<pubDate>Mon, 17 Oct 2011 18:37:46 +0000</pubDate>
		<dc:creator>carlospf</dc:creator>
				<category><![CDATA[Blog Personal]]></category>

		<guid isPermaLink="false">http://www.aunbit.com/?p=599</guid>
		<description><![CDATA[Durante 5 días, 600 emprendedores campuseros se han dado cita en Granada, y si digo bien EMPRENDEDORES, pues a diferencia de otras Campus, en esta ]]></description>
			<content:encoded><![CDATA[<p><a href="http://milenio.campus-party.org/" target="_blank"><img class="alignleft" title="Campus Party Milenio" src="http://milenio.campus-party.org/2011/tl_files/imagenes/layout/CPMILENIO.jpg" alt="Campus Party Milenio" width="181" height="105" /></a>Durante 5 días, 600 emprendedores campuseros se han dado cita en Granada, y si digo bien EMPRENDEDORES, pues a diferencia de otras Campus, en esta todo el mundo ha llevado un proyecto.</p>
<p>El evento se ha dividido en tres áreas: Innovación, Social Media y Ciencia.</p>
<p>Durante 3 días se han sucedido las diferentes actividades, conferencias y talleres, de muy distintas áreas: computación distribuida, Software Libre, ecommerce, emprendedores, robótica, overclocking y videojuegos.</p>
<p>Hacer especial mención a variabilidad de las nacionalidades que allí se dieron cita, una gran parte de los países del mediterráneo: argelinos, egipcios, franceses, italianos, turcos&#8230; incluso ingleses y polacos cuyas aguas no están bañadas por el mediterráneo.</p>
<p>Como bien definió uno por allí alguien, &#8220;esto es un gran erasmus&#8221;, aunque con una diferencia todos ellos llevaban un proyecto, y creo que ha sido la vez que mas horas he estado hablando en ingles sobre tecnología.</p>
<p><a href="http://yuzz.org/" target="_blank"><img class="alignright" title="Yuzz" src="http://yuzz.org/img/logo.gif" alt="" width="178" height="79" /></a>Para terminar me gustaría hacer una gran mención a los chicos de <a href="http://www.yuzz.org" target="_blank">Yuzz</a> de toda España, de los que me lleve un grato recuerdo y unas interminables conversaciones en los sofás, que bien podrían haber sido difundida por streaming, dado su gran importancia y nivel de estas mesas redondas, nunca mejor dicho.</p>
<p>Este verano nos espera la Campus Party en Silicon Valley, que pretende ser uno de los eventos tecnológicos del 2012, si no puedes traer a los grandes tecnólogos, CEOs y gurús de la informática a España, nosotros nos moveremos a donde empezó todo esto, la cuna de la tecnología: Silicon Valley.</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.aunbit.com/carperfer/blog/campus-party-edicion-milenio-reino-de-granada/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>El login perfecto</title>
		<link>http://www.aunbit.com/recursos/el-login-perfecto</link>
		<comments>http://www.aunbit.com/recursos/el-login-perfecto#comments</comments>
		<pubDate>Sun, 25 Sep 2011 21:19:05 +0000</pubDate>
		<dc:creator>carlospf</dc:creator>
				<category><![CDATA[Recursos]]></category>
		<category><![CDATA[Técnicas de Programación]]></category>

		<guid isPermaLink="false">http://www.aunbit.com/?p=593</guid>
		<description><![CDATA[He querido crear un sistema de autentificación seguro para aquellas páginas que por alguna razón lo les permite usar un protocolo seguro &#8220;https&#8221;. La idea ]]></description>
			<content:encoded><![CDATA[<p>He querido crear un sistema de autentificación seguro para aquellas páginas que por alguna razón lo les permite usar un protocolo seguro &#8220;https&#8221;.</p>
<p>La idea me surgió, de haber estado trasteando con algunas pasarelas de pago.</p>
<p>Requisitos iniciales y tecnologías usadas:</p>
<ul>
<li>Tecnología javascript</li>
<li>Clave (String a ser posible complejo para poder codificar)</li>
</ul>
<div>Dado que el problema de la seguridad radica en que enviamos usuario y contraseña unidos al hacer la petición de login, aunque la contraseña vaya codificada en md5, siempre es la misma.</div>
<div>El truco radica en generar una contraseña que siempre varíe, lo haremos concatenando y generando un md5 de la siguiente manera:</div>
<div><strong>1ª versión.</strong></div>
<div>contraseña=md5(usuario+contraseña+fecha)</div>
<div>Bien este sistema al menos la contraseña siempre varía, siempre y cuando varíe la fecha, para evitar esto se usará una firma de vuelta que verifica la fecha y en servidor se comprueba que la hora no excede de n minutos, normalmente no se almacena la contraseña directamente en base de datos, normalmente podemos usar md5(contraseña)</div>
<div><strong>2ª versión.</strong></div>
<div><span style="text-decoration: underline;">Del servidor vendrán los siguentes datos:</span></div>
<div>fecha_hora</div>
<div>firma=md5(fecha_hora+clave)</div>
<div><span style="text-decoration: underline;">En el cliente se usara los datos del sevidor</span></div>
<div>fecha_hora=fecha_hora</div>
<div>firma=firma</div>
<div>contraseña=md5(contraseña)</div>
<div>contraseña=md5(usuario+contraseña+firma)</div>
<div><span style="text-decoration: underline;">El el proceso de logueo se debera comporbar:</span></div>
<div>if fecha-hora_actual &#8211; fecha_hora&lt; 2 minutos</div>
<div>if firma==md5(fecha+hora+clave)</div>
<div>if contraseña=md5(usuario+contraseña+firma)</div>
<div>   logueo correcto</div>
<div>else</div>
<div>   logueo no correcto</div>
<div>Aunque sea pseudo código, creo que se entiende bién.</div>
]]></content:encoded>
			<wfw:commentRss>http://www.aunbit.com/recursos/el-login-perfecto/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Una nueva etapa, CarlosPF revolution.</title>
		<link>http://www.aunbit.com/carperfer/blog/una-nueva-etapa</link>
		<comments>http://www.aunbit.com/carperfer/blog/una-nueva-etapa#comments</comments>
		<pubDate>Thu, 01 Sep 2011 11:53:09 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Blog Personal]]></category>

		<guid isPermaLink="false">http://www.aunbit.com/?p=570</guid>
		<description><![CDATA[Ha llegado la hora de una evolución tanto personal como profesional, tengo un nuevo horizonte, nuevos retos y ambiciones, ha llegado el momento de dar ]]></description>
			<content:encoded><![CDATA[<p>Ha llegado la hora de una evolución tanto personal como profesional, tengo un nuevo horizonte, nuevos retos y ambiciones, ha llegado el momento de dar eses paso que quería dar y no lo hacía.</p>
<p>Dando una mirada al futuro cuesta vislumbrar lo que depara, pero recuerdo a un importante CEO decir: &#8220;Cuando un ingeniero termina la carrera, tarde o temprano encuentra un lugar en el que no hay otro experto mas importante que él mismo&#8221;.</p>
<p>Creo que será difícil, pues una característica en mi es aprender una cosa nueva cada día, por lo que tendré que especializarme en algún campo de I+D.</p>
<h4>Proyectos</h4>
<p>Tengo en mente algunos proyectos que podrían revolucionar el mundo en el que vivimos. Steve Jobs dejo los estudios, yo dejo el concepto de trabajar tal y como lo conocemos y lo paso a experimentar con el trabajo.</p>
<p>Tengo muchos proyectos sobre la mesa en los que estoy trabajando y salen adelante, la mayoría de ellos son desarrollos web innovadores aunque hay otro grupo de proyectos que me encantaría que salieran adelante, pero no dependen de mi.</p>
<p>He escuchado a personas que han trabajado en una gran consultora y decir que es la experiencia mas enriquecedora y masenvejecedora que han tenido.</p>
<p>Otra experiencia importante que tengo en mente es poder trabajar en el extranjero.</p>
<h4>¿Emprendedor o trabajador?</h4>
<p>Hasta ahora podría decir que no me he decantado por ninguna de ellas, aunque se puede ser emprendedor como trabajador, creo que le llaman &#8220;Engagement&#8221;, la vida como emprendedor como tal es algo dura, especialmente en este país..</p>
]]></content:encoded>
			<wfw:commentRss>http://www.aunbit.com/carperfer/blog/una-nueva-etapa/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

