TrackSeries en OSX: Portar una App de la Windows Store sin tener el código fuente

Ayer me aburrí un poco después del trabajo, así que iba a ponerme a ver una serie, pero siempre me olvido de cuál fue el último capítulo que vi. Hay muchas Apps para eso, pero la que más me gusta es TrackSeriesTV, hecha por unos amigos antiguos compañeros de Microsoft. ¿Qué dónde está el problema?… Seguir leyendo TrackSeries en OSX: Portar una App de la Windows Store sin tener el código fuente

Windows 8 Tips&Tricks: Mostrar y ocultar la App Bar automáticamente

En algunas ocasiones queremos hacerle notar al usuario que tiene más opciones disponibles en la AppBar, pero no resultan importantes como para dejarla mostrada por defecto. En estas ocasiones podemos mostrarla y ocultarla automáticamente nada más cargarla. Crearemos un método para el que, dada una página, busque las AppBar, las muestre y las esconda. De… Seguir leyendo Windows 8 Tips&Tricks: Mostrar y ocultar la App Bar automáticamente

Windows 8 Tips&Tricks: Localizar y cambiar el idioma de nuestra aplicación al vuelo

Para localizar nuestra aplicación no tenemos más que crear un fichero de recursos por cada idioma que queremos soportar. La estructura de directorios deberá ser: Strings \ idioma \ Resources.resw Donde “idioma” es el código del idioma que queremos soportar (es-ES, en-US, etc…) Si quisiéramos soportar inglés, francés y español, la estructura sería esta: El… Seguir leyendo Windows 8 Tips&Tricks: Localizar y cambiar el idioma de nuestra aplicación al vuelo

C#: Los peligros de las variables estáticas en librerías

Estamos acostumbrados a usar variables estáticas para valores “constantes”, que no cambiarán de valor independientemente del estado de la aplicación. El ejemplo más típico es el valor de PI. Lo cierto es que suena tan sencillo que rara vez nos paramos a pensar si estamos usando las variables estáticas donde debemos o no. Sin embargo,… Seguir leyendo C#: Los peligros de las variables estáticas en librerías

¿Tienen cosquillas las Focas? En la publicidad sí

Hace poco se publicó la revisión 2.5.1 de la Foca de Chema (dicho así suena raro eh? :P). He estado trasteando un poco con ella… y como ya hay mucha gente haciendo eso, se me ocurrió que quizá podría buscarle las cosquillas Últimamente está de moda suplantar los servidores de actualización automática de los productos.… Seguir leyendo ¿Tienen cosquillas las Focas? En la publicidad sí

Burlando el patrón Singleton con reflectividad

Seguramente todos sabéis lo que es el patrón Singleton, pero por si alguien faltó a clase ese día, es un método de asegurarse de que una clase es instanciada una única vez independientemente del número de veces que se la llame. El sistema de lograrlo es sencillo: Se crea una variable estática del mismo tipo… Seguir leyendo Burlando el patrón Singleton con reflectividad

La programación imperativa no siempre es más sencilla

Estos días he leído código C# de varias personas y me ha resultado curioso cómo la gente sigue usando lo que aprendió hace años aun a pesar de que las cosas han cambiado. Os pongo el siguiente ejemplo: Se dispone de una colección (_modules) de objetos Module y se necesita un método que retorne el… Seguir leyendo La programación imperativa no siempre es más sencilla

GoEar Downloader actualizado

NOTA: Hace tiempo que he dejado de mantener este programa y lo más probable es que no funcione. Podéis hacer uso de los scripts para Bash y PowerShell que sí están operativos. Hace unos meses os hablé de “GoEar Downloader”, una pequeña utilidad que había creado para descargar música de GoEar. Hace unas semanas dejó… Seguir leyendo GoEar Downloader actualizado

Cargar un Assembly (dll) dinámicamente (por código)

Antes o después tenemos que hacer aplicaciones que carguen dlls. El problema es que los Assemblys de .Net, aunque tenga la extensión dll, no son dlls de win32, por lo que el procedimiento “habitual” de carga no funciona. Imaginad que tenemos la dll “MiExtension.dll” en C:\ (espero que nadie ponga en una aplicación real la… Seguir leyendo Cargar un Assembly (dll) dinámicamente (por código)