Posts
Katana: Cortando el framework
· ☕ 7 min · ✍️ eiximenis
Si eres desarrollador en tecnologías Microsoft y especialmente desarrollador web, acúerdate de esas dos palabras: Proyecto Katana. Este proyecto representa el futuro a corto plazo de todas las tecnologías de desarrollo web de Microsoft y, no me cabe duda de ello, el futuro a medio plazo del propio .NET. No dejes que esa introducción te confunda: Katana no es una nueva tecnología, ni una nueva plataforma, ni un lenguaje nuevo, ni tan siquiera realmente una API nueva.

Novedades de IE11: SPDY
· ☕ 9 min · ✍️ eiximenis
Como ya es habitual una nueva versión de Windows (en este caso la 8.1) viene acompañado de un nuevo IE11. Y como siempre IE11 viene con varias novedades siendo quizá las dos más destacadas el soporte para WebGL (gráficos 3D) y el tema de este post, el soporte del protocolo SPDY. Este será un post ligeramente distinto a los habituales del blog porque no hablaré de nada de desarrollo 🙂

Backbone: El misterioso caso del sync que no se lanzaba
· ☕ 4 min · ✍️ eiximenis
Muy buenas! Estos días he estado resolviendo un misterio que me sucedía con un proyecto utilizando Backbone. En concreto, se supone que, a partir de la versión 1.0, cuando se guarda un modelo de Backbone al servidor (usando p. ej. save) si la operación tiene éxito, el modelo nos lanza el evento sync para informarnos, precisamente, del éxito de la operación. Así, una secuencia típica de operaciones, se supone que es:

ASP.NET MVC – Tratando con enums.
· ☕ 6 min · ✍️ eiximenis
En un proyecto ASP.NET MVC en el que estoy colaborando, surgió la necesidad de tratar con viewmodels que tenían propiedades cuyo tipo era un enum. Algo así como: [Flags] public enum TestEnum {     None = ,     One = 1,     Two =2,     Four =4 }   public class FooModel {     public TestEnum TestData { get; set; } } Los valores de TestEnum son combinables a nivel de bits (de ahí que esté decorado con [Flags], es decir el valor de la propiedad TestData puede ser cualquiera de los cuatro o bien una combinación (p.

[WaveEngine] Medidor de fps
· ☕ 8 min · ✍️ eiximenis
Bueno… sigo mi serie de posts sobre WaveEngine. En los dos primeros posts vimos como poner un sprite en pantalla y luego como animarlo. Ambos pasos (y algunos más sobre los que todavía no he comentado nada) están descritos en uno de los hand-on-labs de Wave: el platform game sample. Antes que nada el disclaimer obligatorio: En todos esos posts sobre Wave, explico la manera que he encontrado yo para hacer las cosas.

[Wave Engine] Animando a Mai
· ☕ 6 min · ✍️ eiximenis
Buenas! Este post es el segundo sobre WaveEngine, esta maravilla que han parido los chicos de Plain Concepts 🙂 En el post anterior, vimos los fundamentos de Wave Engine y terminamos con un programa que mostraba a Mai Shiranui en la esquina inferior izquierda de la pantalla. Pero Mai Shiranui gana mucho cuando se mueve (¿por qué será?) así que vamos a ver como podemos hacerlo para que nuestra bella protagoniste se anime.

ASP.NET MVC – Patrón PRG sin sesión
· ☕ 5 min · ✍️ eiximenis
Buenas! El patrón PRG (Post – Redirect – Get) es un patrón muy usado en el desarrollo web. Consiste en que la respuesta de una petición POST es siempre una redirección, lo que genera un GET del navegador y de ahí el nombre. La idea que subyace tras el patrón PRG es, que dado que dado que las peticiones GET son (¡deberían ser!) idempotentes esas son las únicas que el usuario debe poder refrescar.

Herramienta: HFS – Http File Server
· ☕ 3 min · ✍️ eiximenis
Muy buenas! Cuando preparo demos de HTML5 y JS, si no hay involucrado un servidor de por medio, no suelo utilizar VS para generar el proyecto si no algún editor más liviano, como Sublime Text o Notepad++ (personalmente prefiero el primero mil veces al segundo). El único problema reside en que algunos navegadores, por seguridad, no ejecutan Javascript cuando el origen es file:// (es decir cuando estamos cargando un fichero del sistema de ficheros).

[WaveEngine] Primeros pasos…
· ☕ 8 min · ✍️ eiximenis
Buenas! Hace algunos días, no muchos, que me estoy pegando (en el buen sentido de la palabra) con WaveEngine, esta maravilla que han creado los chicos de Plain Concepts. Disclaimer: Este post (y todos los que puedan venir) no pretenden sustituir la documentación oficial. No me considero un experto en Wave ni de lejos, realmente soy un aprendiz de nivel 1 🙂 Simplemente voy a expresar mis experiencias y lo iré haciendo a medida que las vaya teniendo, así que bueno… puede haber inexactitudes, errores, omisiones, etc… en estos posts.

[C#]–Enumeraciones y corutinas
· ☕ 4 min · ✍️ eiximenis
¡Buenas! Empezamos con una pregunta: ¿Cual es el resultado de este programa? class Program {     static void Main(string[] args)     {         var data = Foos;         foreach (var foo in data)         {             ChangeFooValue(foo);         }           var firstFoo = data.First();         Console.WriteLine(firstFoo.Value);         Console.ReadLine();     }       private static IEnumerableFoo Foos     {         get         {             for (var idx = 1; idx 10; idx++)             {                 yield return new Foo(idx);             }         }     }       private static void ChangeFooValue(Foo foo)     {         foo.