<?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>Juanma Santoyo &#187; general</title>
	<atom:link href="http://www.juanmasantoyo.es/index.php/category/general/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.juanmasantoyo.es</link>
	<description>En ocasiones me llaman friki</description>
	<lastBuildDate>Thu, 19 Jan 2012 06:33:10 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=</generator>
		<item>
		<title>Automatizar acciones entre redes sociales con ifttt</title>
		<link>http://www.juanmasantoyo.es/index.php/2011/10/22/automatizar-acciones-entre-redes-sociales-con-ifttt/</link>
		<comments>http://www.juanmasantoyo.es/index.php/2011/10/22/automatizar-acciones-entre-redes-sociales-con-ifttt/#comments</comments>
		<pubDate>Sat, 22 Oct 2011 20:54:35 +0000</pubDate>
		<dc:creator>Juanma</dc:creator>
				<category><![CDATA[general]]></category>

		<guid isPermaLink="false">http://www.juanmasantoyo.es/?p=703</guid>
		<description><![CDATA[Llevo toda la tarde trabajando en el blog, y lo último que me quedaba por hacer era vincular la cuenta de twitter con la página de facebook. Facebook provee una aplicación con la que es muy sencillo configurarlo, de forma &#8230; <a href="http://www.juanmasantoyo.es/index.php/2011/10/22/automatizar-acciones-entre-redes-sociales-con-ifttt/">Seguir leyendo <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Llevo toda la tarde trabajando en el blog, y lo último que me quedaba por hacer era vincular la cuenta de twitter con la página de facebook.</p>
<p>Facebook provee una aplicación con la que es muy sencillo configurarlo, de forma que publicando en el muro de mi página en Facebook se reflejase en twitter, pero a mí me interesaba hacerlo alrevés; que publicando en twitter se reflejase en facebook. Eso no es tan simple.</p>
<p>Lo mejor que he encontrado es ifttt, un servicio que, dándole permisos; permite automatizar diversos tipos de tareas entre distintas redes sociales.</p>
<p>La idea es montar disparadores, y configurarlos mediante la regla &#8220;si ocurre esto, haz aquello&#8221;. La potencia es brutal, y permite simplificar y centralizar todas las acciones que queramos automatizar entre distintas redes sociales.</p>
<p>Os recomiendo que le echéis un ojo: <a title="Ir a ifttt" href="http://www.ifttt.com/">ifttt</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.juanmasantoyo.es/index.php/2011/10/22/automatizar-acciones-entre-redes-sociales-con-ifttt/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Cambios</title>
		<link>http://www.juanmasantoyo.es/index.php/2011/10/22/cambios/</link>
		<comments>http://www.juanmasantoyo.es/index.php/2011/10/22/cambios/#comments</comments>
		<pubDate>Sat, 22 Oct 2011 19:25:43 +0000</pubDate>
		<dc:creator>Juanma</dc:creator>
				<category><![CDATA[general]]></category>

		<guid isPermaLink="false">http://www.juanmasantoyo.es/?p=700</guid>
		<description><![CDATA[He aprovechado las vacaciones para hacer algunos cambios en el blog. Básicamente, he renovado el diseño y he abierto una cuenta de twitter donde se reflejarán las nuevas entradas, y además iré poniendo cosillas interesantes de vez en cuando. A &#8230; <a href="http://www.juanmasantoyo.es/index.php/2011/10/22/cambios/">Seguir leyendo <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>He aprovechado las vacaciones para hacer algunos cambios en el blog.</p>
<p>Básicamente, he renovado el diseño y he abierto una cuenta de twitter donde se reflejarán las nuevas entradas, y además iré poniendo cosillas interesantes de vez en cuando. A partir de ahora, me podréis encontrar también por <a title="Juanma Santoyo en twitter" href="http://twitter.com/#!/juanmasantoyoes">@juanmasantoyoes</a>.</p>
<p>¡Saludos!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.juanmasantoyo.es/index.php/2011/10/22/cambios/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Surface Shell dejó de funcionar</title>
		<link>http://www.juanmasantoyo.es/index.php/2011/06/18/surface-shell-dejo-de-funcionar/</link>
		<comments>http://www.juanmasantoyo.es/index.php/2011/06/18/surface-shell-dejo-de-funcionar/#comments</comments>
		<pubDate>Sat, 18 Jun 2011 19:08:24 +0000</pubDate>
		<dc:creator>Juanma</dc:creator>
				<category><![CDATA[general]]></category>

		<guid isPermaLink="false">http://www.juanmasantoyo.es/?p=631</guid>
		<description><![CDATA[Me he pasado meses sin poder codificar una línea de código surface por un error que me traía de cabeza. Tal y como encabeza éste artículo, el error reza tal que así: &#8220;Surface Shell dejó de funcionar&#8221;, y se produce &#8230; <a href="http://www.juanmasantoyo.es/index.php/2011/06/18/surface-shell-dejo-de-funcionar/">Seguir leyendo <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Me he pasado meses sin poder codificar una línea de código surface por un error que me traía de cabeza.</p>
<p>Tal y como encabeza éste artículo, el error reza tal que así: <strong>&#8220;Surface Shell dejó de funcionar&#8221;</strong>, y se produce cada vez que el emulador de surface se intenta arrancar.</p>
<p>Como suele ocurrir en estos casos, la solución es obvia y absurda. Tan sólo es cuestión de instalar el <a title="Microsoft XNA Framework Redistributable 2.0" href="http://www.microsoft.com/downloads/en/details.aspx?familyid=15fb9169-4a25-4dca-bf40-9c497568f102&amp;displaylang=en">Microsoft XNA Framework Redistributable 2.0</a>.</p>
<p>En mi caso, tenía instalada la versión 3.1. Como soy un fenómeno, había asumido que la 3.1 sería tan válida como la 2.0 y cuando instalé el entorno de desarrollo de Surface instalé la versión equivocada.</p>
<p>Lo cierto es que ambas versiones pueden coexistir sin problemas en el sistema, así que si te ocurre éste error, sólo tienes que instalar el Microsoft XNA Framework Redistributable 2.0, no importa ni que desinstales el resto de versiones si no quieres.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.juanmasantoyo.es/index.php/2011/06/18/surface-shell-dejo-de-funcionar/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Reaccionar a los objetos etiquetados en Microsoft Surface: el control TagVisualization.</title>
		<link>http://www.juanmasantoyo.es/index.php/2011/06/18/reaccionar-a-los-objetos-etiquetados-en-microsoft-surface-el-control-tagvisualization/</link>
		<comments>http://www.juanmasantoyo.es/index.php/2011/06/18/reaccionar-a-los-objetos-etiquetados-en-microsoft-surface-el-control-tagvisualization/#comments</comments>
		<pubDate>Sat, 18 Jun 2011 18:19:17 +0000</pubDate>
		<dc:creator>Juanma</dc:creator>
				<category><![CDATA[general]]></category>

		<guid isPermaLink="false">http://www.juanmasantoyo.es/?p=560</guid>
		<description><![CDATA[Hace unos meses, hablaba por aquí sobre los contactos en pantalla (Detección y gestión de contactos en una Surface). Aunque hay otra forma de reaccionar a los contactos etiquetados: En Surface es muy común posicionar un gráfico justo bajo el &#8230; <a href="http://www.juanmasantoyo.es/index.php/2011/06/18/reaccionar-a-los-objetos-etiquetados-en-microsoft-surface-el-control-tagvisualization/">Seguir leyendo <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Hace unos meses, hablaba por aquí sobre los contactos en pantalla (<a href="http://www.juanmasantoyo.es/index.php/2010/09/22/deteccion-y-gestion-de-contactos-en-una-surface/">Detección y gestión de contactos en una Surface</a>).</p>
<p>Aunque hay otra forma de reaccionar a los contactos etiquetados: En Surface es muy común posicionar un gráfico justo bajo el objeto etiquetado. Algo como esto:</p>
<div style="overflow: hidden;"><a href="http://www.juanmasantoyo.es/wp-content/uploads/2011/03/ejemploTagVisualization02.png"><img class="alignleft size-full wp-image-576" title="ejemploTagVisualization02" src="http://www.juanmasantoyo.es/wp-content/uploads/2011/03/ejemploTagVisualization02.png" alt="" width="200" height="200" /></a> <a href="http://www.juanmasantoyo.es/wp-content/uploads/2011/03/ejemploTagVisualization03.png"><img class="alignleft size-full wp-image-577" title="ejemploTagVisualization03" src="http://www.juanmasantoyo.es/wp-content/uploads/2011/03/ejemploTagVisualization03.png" alt="" width="200" height="200" /></a> <a href="http://www.juanmasantoyo.es/wp-content/uploads/2011/03/ejemploTagVisualization01.png"><img class="alignleft size-full wp-image-575" title="ejemploTagVisualization01" src="http://www.juanmasantoyo.es/wp-content/uploads/2011/03/ejemploTagVisualization01.png" alt="" width="200" height="200" /></a></div>
<p>Este gráfico debe posicionarse siempre bajo nuestro objeto y orientarse según lo haga el objeto. Además, dependiendo del tipo de etiqueta o su valor, este gráfico puede tener comportamientos distintos. Para los casos en los que queremos responder a un objeto etiquetado de esta forma, tenemos dos objetos que nos facilitarán la vida: El <em>TagVisualizer</em> y el <em>TagVisualization</em>.</p>
<p><span id="more-560"></span></p>
<p><a id="TagVisualization" name="TagVisualization"></a></p>
<h3>El control TagVisualization.</h3>
<p>El objeto TagVisualization nos proporciona rápidamente un control de usuario que tiene como único objetivo posicionarse bajo los elementos etiquetados que toquen la pantalla. Como todos los controles de usuario, se basa en una parte XAML, donde especificamos la parte gráfica del control de usuario, y una parte en C#, donde especificamos la funcionalidad (por ejemplo, podemos programar un método que lance una animación en el TagVisualization, o un método para mostrar un mensaje).</p>
<p>Los objetos TagVisualization se pueden crear desde el menú de añadir elementos de Visual Studio:</p>
<div id="attachment_564" class="wp-caption aligncenter" style="width: 610px"><a href="http://www.juanmasantoyo.es/wp-content/uploads/2010/11/011-e1289506680708.png"><img class="size-full wp-image-564" title="01" src="http://www.juanmasantoyo.es/wp-content/uploads/2010/11/011-e1289506680708.png" alt="Abrir la pantalla de &quot;Añadir nuevo elemento&quot;" width="600" height="426" /></a><p class="wp-caption-text">Abrir la pantalla de &quot;Añadir nuevo elemento&quot;</p></div>
<div id="attachment_562" class="wp-caption aligncenter" style="width: 610px"><a href="http://www.juanmasantoyo.es/wp-content/uploads/2010/11/02-e1289506850604.png"><img class="size-full wp-image-562" title="02" src="http://www.juanmasantoyo.es/wp-content/uploads/2010/11/02-e1289506850604.png" alt="Añadir el control de usuario &quot;Tag Visualization&quot;" width="600" height="473" /></a><p class="wp-caption-text">Añadir el control de usuario &quot;Tag Visualization&quot;</p></div>
<p>Pero en realidad, un control TagVisualization son sirve de poco sin su respectivo TagVisualizer.</p>
<h3>El control TagVisualizer.</h3>
<p>Si un TagVisualization es el control de usuario que se posiciona bajo un contacto etiquetado, un TagVisualizer es el control que gestiona todos los TagVisualization que tenemos. Tiene varias funciones:</p>
<ol>
<li>Determina el área de la pantalla que será sensible al posicionamiento de objetos etiquetados.</li>
<li>Discrimina entre los diferentes tipos de etiquetas, de forma que según indiquemos, muestra un TagVisualization o otro en función de la etiqueta del objeto.</li>
<li>Detecta los eventos de entrada y salida de los contactos. Estos eventos son especialmente útiles porque desde ellos podemos ejecutar funcionalidades del TagVisualization.</li>
</ol>
<h3>Mejor con un ejemplo.</h3>
<p>Vamos a programar un pequeño ejemplo para ver más cláramente cómo funcionan ambos objetos. El ejemplo consistirá en una región de pantalla donde podremos posicionar un objeto etiquetado. Al posicionarlo aparecerá debajo un círculo, el cual se mostrará con una animación sencilla.</p>
<h4>Creamos el proyecto y la pantalla principal.</h4>
<p>Crearemos un proyecto de Surface con Visual Studio. Lo llamaremos &#8220;ContactosEtiquetados&#8221;. En lo particular, a mi me gusta cargarme la pantalla que viene por defecto y crearme la mía &#8220;Main.xaml&#8221;. Recordad que si hacéis esto, tenéis que cambiar el valor del atributo <em>StartupUri</em> en el archivo <em>App.config</em>.</p>
<p>En la pantalla inicial, no nos complicamos. Únicamente meteremos el <em>TagVisualizer</em>, y le daremos algun detalle gráfico para poder visualizarlo en pantalla:</p>
<pre class="brush:xml">&lt;s:SurfaceWindow x:Class="ContactosEtiquetados.Main"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:s="http://schemas.microsoft.com/surface/2008"
    Title="ContactosEtiquetados"
    Width="1024" Height="768"
    Loaded="SurfaceWindow_Loaded"
&gt;
    &lt;s:SurfaceWindow.Resources&gt;
        &lt;ImageBrush x:Key="WindowBackground" Stretch="None" Opacity="0.6" ImageSource="pack://application:,,,/Resources/MainBackground.jpg"/&gt;
    &lt;/s:SurfaceWindow.Resources&gt;

    &lt;Grid Background="{StaticResource WindowBackground}" &gt;
        &lt;s:TagVisualizer
            x:Name="Visualizer"
            Width="700" Height="550"
            HorizontalAlignment="Center" VerticalAlignment="Center"
            BorderBrush="White" BorderThickness="2""&gt;

        &lt;/s:TagVisualizer&gt;
    &lt;/Grid&gt;
&lt;/s:SurfaceWindow&gt;</pre>
<p>Sólo destacar que al <em>TagVisualizer</em> le he asignado dos eventos: <em>VisualizationAdded</em> y <em>VisualizationRemoved</em>. Efectívamente, se lanzarán cuando entre y salga un contacto respectívamente. Tambien he asignado el evento Loaded a la <em>SurfaceWindow</em>.</p>
<h4>Creamos el objeto TagVisualization.</h4>
<p>Crear un objeto <em>TagVisualization</em> es sencillo: el propio Visual Studio lo hace desde la ventana de &#8220;Añadir nuevo elemento&#8221; (<a title="TagVisualization" href="#TagVisualization">lo hemos visto antes</a>).</p>
<p>En el nuevo control introduciremos dos gráficos y una grid. Los gráficos estarán dentro de la grid, y serán un círculo grande sin relleno y otro más pequeño con relleno. Éste último lo posicionaremos sobre el contorno del más grande. Por último, añadiremos un RotateTransform a la grid que contiene ambos círculos:</p>
<pre class="brush:xml">&lt;s:TagVisualization x:Class="ContactosEtiquetados.TagVisualization"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:s="http://schemas.microsoft.com/surface/2008"
    Loaded="TagVisualization_Loaded"
    Width="300" Height="300"&gt;
    &lt;Grid&gt;
        &lt;Grid&gt;
            &lt;Ellipse Width="200" Height="200" Stroke="Red" StrokeThickness="2" /&gt;

            &lt;Ellipse Width="50" Height="50" Fill="Red" Margin="200,0,0,0" /&gt;

            &lt;Grid.RenderTransform&gt;
                &lt;RotateTransform CenterX="150" CenterY="150" Angle="0" /&gt;
            &lt;/Grid.RenderTransform&gt;
        &lt;/Grid&gt;
    &lt;/Grid&gt;
&lt;/s:TagVisualization&gt;</pre>
<h4>Gestión de los contactos etiquetados.</h4>
<p>La gestión de los contactos que recibe el <em>TagVisualizer </em>se basa en objetos <em>TagVisualizationDefinition</em>. A un <em>TagVisualizer</em> se le añaden una o varias definiciones. Cada definición asociará el <em>TagVisualizer </em>con un <em>TagVisualization </em>y además nos permitirá discriminar los contactos según el valor de la etiqueta. Lo normal es crear las definiciones que necesitemos extendiendo la clase <em>TagVisualizationDefinition</em>. Por ejemplo, en nuestro caso sólo reaccionaremos a los contactos de tipo <em>Identity</em>. Creamos la clase <em>ContactosEtiquetadosVisualizationDefinition.cs</em>.</p>
<pre class="brush:csharp">using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.Surface.Presentation.Controls;
using Microsoft.Surface.Presentation;
using System.Windows;

namespace ContactosEtiquetados
{
    class ContactosEtiquetadosVisualizationDefinition : TagVisualizationDefinition
    {
        protected override bool Matches(TagData tag)
        {
            if (tag.Type == TagType.Identity) return true;
            else return false;
        }

        protected override Freezable CreateInstanceCore()
        {
            return new ContactosEtiquetadosVisualizationDefinition();
        }
    }
}</pre>
<p>El método Matches es la clave para determinar qué contactos hay que tener en cuenta.</p>
<p>Ahora añadimos la definición al objeto TagVisualizer. Lo haremos en el evento Load de la ventana inicial:</p>
<pre class="brush:csharp">        private void SurfaceWindow_Loaded(object sender, RoutedEventArgs e)
        {
            TagVisualizationDefinition definition = new ContactosEtiquetadosVisualizationDefinition();
            definition.Source = new Uri("TagVisualization.xaml", UriKind.Relative);
            definition.LostTagTimeout = 1000;
            Visualizer.Definitions.Add(definition);
        }</pre>
<p>Comentamos un poco: La propiedad Source símplemente hace referencia al <em>XAML</em> del objeto <em>TagVisualization</em>. La propiead LostTagTimeOut define un tiempo de espera antes de &#8220;matar&#8221; al <em>TagVisualization</em>, en caso de que el contacto deje de estar en contacto con la pantalla. Dicho de otra forma, el <em>TagVisualization </em>no desaparecería hasta que el contacto no lleve más de un segundo perdido.</p>
<h4>Programamos la animación del TagVisualization.</h4>
<p>Para animar el control <em>TagVisualization </em>rescataremos un artículo que escribí sobre el tema hace un tiempo: <a title="Animar transformaciones en WPF con el método BeginAnimation" href="http://www.juanmasantoyo.es/index.php/2010/07/06/animar-transformaciones-en-wpf-con-el-metodo-beginanimation/">Animar transformaciones en WPF con el método BeginAnimation</a>. Aplicar la animación al <em>TagVisualization</em> es simple:</p>
<p>Primero, vamos a crear un método en el <em>TagVisualization</em> que inicie la animación:</p>
<pre class="brush:csharp">private void StartAnimation()
{
    DoubleAnimation animacion = new DoubleAnimation();

    animacion.To = 360;
    animacion.Duration = new Duration(TimeSpan.FromMilliseconds(1000));

    // La animaci&amp;Atilde;&amp;sup3;n se repite continuamente
    animacion.RepeatBehavior = RepeatBehavior.Forever;

    this.Rotacion.BeginAnimation(RotateTransform.AngleProperty, animacion);
}</pre>
<p>Ésta animación puede ser iniciada en el evento Loaded:</p>
<pre class="brush:csharp">private void Visualization_Loaded(object sender, RoutedEventArgs e)
{
    this.StartAnimation();
}</pre>
<h3>¡Hemos acabado!</h3>
<p class="brush:csharp">Con ésto ya podemos programar muchas respuestas interesantes a nuestros contactos etiquetados.</p>
<p class="brush:csharp">El ejemplo descargable lo tenéis aquí: <a href="http://www.juanmasantoyo.es/wp-content/uploads/2011/06/ContactosEtiquetados.zip">Contactos etiquetados</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.juanmasantoyo.es/index.php/2011/06/18/reaccionar-a-los-objetos-etiquetados-en-microsoft-surface-el-control-tagvisualization/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>¡Nos vemos por Facebook!</title>
		<link>http://www.juanmasantoyo.es/index.php/2010/10/21/nos-vemos-por-facebook/</link>
		<comments>http://www.juanmasantoyo.es/index.php/2010/10/21/nos-vemos-por-facebook/#comments</comments>
		<pubDate>Thu, 21 Oct 2010 22:46:57 +0000</pubDate>
		<dc:creator>Juanma</dc:creator>
				<category><![CDATA[general]]></category>

		<guid isPermaLink="false">http://www.juanmasantoyo.es/?p=555</guid>
		<description><![CDATA[He creado una página en Facebook para darle un poco más de difusión al blog, así que desde hoy ya podéis ser fans y esas historias. Realmente creo que no hacía falta, ya que el posicionamiento en Google no es &#8230; <a href="http://www.juanmasantoyo.es/index.php/2010/10/21/nos-vemos-por-facebook/">Seguir leyendo <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>He creado una página en Facebook para darle un poco más de difusión al blog, así que desde hoy ya podéis ser fans y esas historias.</p>
<p>Realmente creo que no hacía falta, ya que el posicionamiento en Google no es malo y bueno, creo que los contenidos se propagan adecuadamente, pero tenía ganas de trastear un poco con el asunto.</p>
<p>Arriba a la izquierda, sobre el cuadro de búsqueda; he colocado el botón de Facebook para compartir los artículos. El desgraciado ha sido más difícil de posicionar de lo que esperaba.</p>
<p><span id="more-555"></span></p>
]]></content:encoded>
			<wfw:commentRss>http://www.juanmasantoyo.es/index.php/2010/10/21/nos-vemos-por-facebook/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>De nuevo activo</title>
		<link>http://www.juanmasantoyo.es/index.php/2010/02/04/de-nuevo-activo/</link>
		<comments>http://www.juanmasantoyo.es/index.php/2010/02/04/de-nuevo-activo/#comments</comments>
		<pubDate>Thu, 04 Feb 2010 21:45:20 +0000</pubDate>
		<dc:creator>Juanma</dc:creator>
				<category><![CDATA[general]]></category>

		<guid isPermaLink="false">http://www.juanmasantoyo.es/?p=182</guid>
		<description><![CDATA[Hoy, mientras arreglaba un poco el blog que estaba muy abandonado y desmantelado; me he dado cuenta de que hacía cerca de un año que no publicaba nada decente.

Llevaba mucho tiempo queriendo retomar el blog con un aire más profesional / académico, pero no encontraba el rato y las ganas de hacer la reforma que he hecho hoy.

Se ha limpiado casi el 90% del blog, y solo han sobrevivido las pocas entradas sobre desarrollo de software que tenía. Irónico si tenemos en cuenta que dedico el 90% de la jornada a desarrollar software.

Bueno, confío en que todo sea mucho mejor apartir de ahora. En breve un tutotial de Ajax con JavaScript nativo que tengo por ahí pendiente de publicación, y un manual de introducción al desarrollo para microsoft surface (que no verá la luz hasta que se haya publicado en otro lugar). <a href="http://www.juanmasantoyo.es/index.php/2010/02/04/de-nuevo-activo/">Seguir leyendo <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Hoy, mientras arreglaba un poco el blog que estaba muy abandonado y desmantelado; me he dado cuenta de que hacía cerca de un año que no publicaba nada decente.</p>
<p>Llevaba mucho tiempo queriendo retomar el blog con un aire más profesional / académico, pero no encontraba el rato y las ganas de hacer la reforma que he hecho hoy.</p>
<p>Se ha limpiado casi el 90% del blog, y solo han sobrevivido las pocas entradas sobre desarrollo de software que tenía. Irónico si tenemos en cuenta que dedico el 90% de la jornada a desarrollar software.</p>
<p>Bueno, confío en que todo sea mucho mejor apartir de ahora. En breve un tutotial de Ajax con JavaScript nativo que tengo por ahí pendiente de publicación, y un manual de introducción al desarrollo para microsoft surface (que no verá la luz hasta que se haya publicado en otro lugar).</p>
]]></content:encoded>
			<wfw:commentRss>http://www.juanmasantoyo.es/index.php/2010/02/04/de-nuevo-activo/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

