Variable not found
Enlaces interesantes 48
Julio 11th, 2011 - [Enlace local]
Estos son los enlaces publicados en Variable not found en Facebook y Twitter desde el lunes, 04 de julio de 2011 hasta el domingo, 10 de julio de 2011. Espero que te resulten interesantes. :-)
- Genial!!! Eduard Tomàs: Binding de colecciones en ASP.NET MVC (y algunos comentarios) Fecha: 09/07/2011
- Gran post de Bruno Capuano: Pregunta “Porqué” como un niño, y mejorarás la gestión de tus proyectos.
Fecha: 09/07/2011 - Periodic table of HTML5 elements.
Fecha: 08/07/2011 - Object hierarchy of NULL
Fecha: 08/07/2011 - Óscar Sotorrío: Aportando un poco de coherencia en los controladores
Fecha: 08/07/2011 - jQuery UI MultiSelect Widget.
Fecha: 08/07/2011 - Repository, Code first & IoC in MVC3 (Vía Omar del Valle)
Fecha: 07/07/2011 - jQuery Proven Performance Tips And Tricks (Slides).
Fecha: 07/07/2011 - Gran post de Unai Zorrilla: Testing y EF 4.1.
Fecha: 07/07/2011 - CRUD Operation with ASP.NET MVC and EFCodeFirst Part-2.
Fecha: 06/07/2011 - Managing data in web applications with HTML5 Web Storage, by Rachel Appel.
Fecha: 06/07/2011 - Elijah Manor: "ASP.NET WebGrid - Get the Most out of WebGrid in ASP.NET MVC" ASP.NET MVC
Fecha: 06/07/2011 - Elijah Manor: "MVC Filters - Easily Add Performance Counters to Your MVC Application" ASP.NET MVC
Fecha: 06/07/2011 - jQuery 1.6.2 syntax error? You may be the victim of SEO.
Fecha: 06/07/2011 - Eduard Tomàs: Los materiales de la charla inaugural de #CatDotNet ya disponibles! ;-)
Fecha: 06/07/2011 - Real World Accessibility: HTML5, ARIA and the Modern Web.
Fecha: 06/07/2011 - Tangle: explorable explanations made easy. Vía Andrés Nieto
Fecha: 06/07/2011 - ¿Cargar jQuery desde un CDN o desde servidor? por Carlos Benítez .
Fecha: 06/07/2011 - Bin Deploy ASP.NET MVC 3 Application With SQLCE 4.0 & Entity Framework.
Fecha: 05/07/2011 - Custom Errors in ASP.NET MVC: It couldn't be simpler, right?
Fecha: 05/07/2011 - Second Nug: Evento "La revolución de las consultas... LINQ. "
Fecha: 05/07/2011 - JavaScript language advanced Tips & Tricks.
Fecha: 05/07/2011
Publicado en: Variable not found
» Leer más, comentarios, etc...
Bitácora de Javier Gutiérrez Chamorro (Guti) » Programación
Lint para Javascript
Julio 9th, 2011 - [Enlace local]
Después de descubrir Google Closure Compiler Service en Sieve en Javascript (optimizado), hoy paso a comentaros otra rama de utilidades para el desarrollo Javascript: Lint. Aunque Lint es el nombre genérico de las herramientas de análisis estático de código, muy populares en lenguaje C y C++, actualmente existen este tipo de herramientas para multitud de [...]
Artículos relacionados:
El error del mes y PC-Lint
Rendimiento Javascript vs VBScript (II)
Benchmark Javascript
» Leer más, comentarios, etc...
Buayacorp
Machupicchu Puzzle
Julio 8th, 2011 - [Enlace local]
Mi amiga @nitanilla ha estado emocionada con el aniversario de Machupicchu, y le ha hecho un pequeño homenaje.
Nada más ni nada menos que un pequeño rompecabezas con la imagen de Machupicchu.
Está hecho con Scriptaculous y prototype. A jugar
Enlace: Machupicchu Puzzle
» Leer más, comentarios, etc...
Picando Código
De vuelta del taller de Agile Development: Scrum y Ruby On Rails
Julio 7th, 2011 - [Enlace local]
Recién llego del taller organizado por Moove-IT y AQuA.it en ORT. La gente de AQuA.it no pudo estar, pero de todas formas la charla contó con todo lo que se había anunciado: metodologías ágiles de desarrollo, Ruby y Rails.
Empezó con una presentación de desarrollo “ágil”, aunque no quisieron encasillarlo en Scrum (aunque la palabra fue usada varias veces para referirse a la metodología). Los integrantes del equipo de desarrollo de Moove-IT comentaron su metodología de desarrollo, así como las herramientas de software y hardware para implementarla. Se explicaron algunos conceptos básicos, como el método cascada y un desarrollo iterativo ágil al estilo Scrum con reuniones diaria.
También mostraron Pivotal Tracker como sistema de gestión de proyectos, y se habló de control de versiones con Git. Mostraron un diagrama con el workflow usado por Moove-IT (que comparte con Cubox) en la mayoría de sus proyectos. Este diagrama es el que adjunto acá al costado para que tengan de referencia, y fue definido en A successful git branching model por Vincent Driessen, aparentemente es un modelo de uso común entre los desarrolladores que usan GIT.
La charla tuvo un marco teórico, acompañado de una representación actuada. Dos personas hacían de desarrolladores y una de cliente, y se representaron algunas situaciones comunes en la vida real. Por ejemplo la definición del producto, una sesión de planificación y una de las reuniones daily standup. En esta charla se mostraron aspectos reales como la negociación con el cliente, el manejo de expectativas, los requerimientos que aparecen de la nada, etc. Todo basado en un cliente remoto, prácticamente la norma en la industria del desarrollo de software local.
Se representaron situaciones comunes con las que varios nos sentimos identificados como los problemas de comunicación al estar lejos. Cuando una llamada se escucha entrecortada y no estamos seguros si al otro no se le cortó, preguntar algo y que el cliente entienda algo totalmente diferente y lo responda (Desarrolladores: “¿Cómo está la familia?”, Cliente: “Bien, el clima acá bien”). Estos son algunos de los problemas con las que solemos luchar gracias a la mala infraestructura en telecomunicaciones con la que contamos (palito gratis a la empresa de telecomunicaciones de los uruguayos).
Algo interesante que se generó fue el intercambio entre varias empresas de desarrollo de software que trabajan con metodologías ágiles y Ruby On Rails. Entre el público estaban Santiago Pastorino de WyeWorks y Diego Algorta de Cubox, entre otros. Ellos dos, Martín y Ariel de Moove-IT y otros integrantes del público, se vieron envueltos en una conversación respecto al uso de metodologías ágiles en el proceso de trabajo.
Cada uno comentó un poco de su experiencia y esto estuvo muy interesante. Diego comentó las coincidencias de Cubox con Moove-IT, por ejemplo a la hora de venderle al cliente el análisis del proyecto para que éste esté más seguro de qué es lo que quiere, y tenga un estudio formal realizado por desarrolladores del proyecto que quiere realizar. Santiago aportó su experiencia en casos en que el proyecto se encuentre distribuido entre varios equipos en distintas partes del mundo, en el que hacen Scrum de Scrums.
Después de conversar sobre la metodología, comenzó la charla técnica sobre Ruby. Se mostraron cosas básicas en Ruby, algunas particularidades del lenguaje como los bloques y mixins. Esto fue seguido por una charla también introductoria a Rails. Ambas charlas estuvieron bien en mostrar algunas características introductorias como para despertar el interés en programadores que no conozcan el lenguaje y vean lo ágil y dinámico de desarrollar con Rails.
Hubo participación del público, y en un momento casi se arma la esperada Guerra Santa de Ruby vs. [insterte lenguaje de programación aquí], pero no pasó de unos minutos de intercambio amigable de opiniones y puntos de vista (como debe ser).
Como se dijo al finalizar la charla, vale la oportunidad para comentar que la comunidad Ruby en Uruguay, y Latinoamérica, está creciendo cada vez más. Pueden unirse ingresando a RubySur, el grupo de usuarios Ruby de América del Sur. También se comentó sobre la RubyConf Uruguay 2010, evento bastante comentado por acá, y la Gira Ruby Sur: La unión conferencias Ruby de Latinoamérica en una sola gira ![]()
Y si están interesados en trabajar con Ruby, no hay más que acercarse a las empresas mencionadas en el post y establecer contacto.
Este tipo de charlas son bastante interesantes y es muy bueno que las empresas las hagan para despertar el interés en tecnologías y diversificar un poco las capacidades técnicas de los desarrolladores locales.
Otro comentario que hizo Santiago Pastorino, es que Ruby fue diseñado para que la gente programe contenta. Y desde mi perspectiva, creo que esto se puede apreciar en este tipo de eventos. Los programadores Ruby se ven bastante activos en la comunidad y defienden mucho a Ruby mas allá de fanatismos, siendo objetivos y admitiendo las razones subjetivas por las que disfrutan trabajar en Ruby.
Como conclusión, otro evento enriquecedor de la comunidad de desarrolladores uruguayos. Próximamente van a colgar las presentaciones en el blog de Moove-IT, así que aviso por acá cuando estén para descargar.
Comparte:
» Leer más, comentarios, etc...
Variable not found
ASP.NET MVC: retorno de archivos .Zip creados al vuelo
Julio 6th, 2011 - [Enlace local]
ASP.NET MVC viene acompañado de serie por un buen número de subtipos de ActionResult que podemos utilizar como retorno de nuestras acciones (FileResult, ContentResult, ViewResult, RedirectResult, etc…) y que cubren la mayoría de escenarios de uso frecuente al desarrollar aplicaciones para este framework.
Pero sin duda, lo mejor de todo es lo fácilmente que podemos extender este conjunto para lograr resultados muy potentes, reutilizables y respetuosos con el patrón.
En este post vamos a ver cómo crear en unos minutos un nuevo tipo de resultado para nuestras acciones llamado ZipResult, que nos permitirá generar al vuelo archivos en formato comprimido .ZIP, en cuyo interior podremos añadir los ficheros que queramos.
Así, nuestro ZipResult recibirá una serie nombres de archivo, los comprimirá, y los retornará al usuario empaquetados en un único fichero .ZIP. A nivel de código, su uso será así de simple:
public ActionResult DescargarArchivos()
{
return new ZipResult("c:\\archivo1.dat", "c:\\archivo2.dat");
}
¡Vamos allá!1. Creación de zips desde .NET
Desde la llegada de Nuget, nada ha vuelto a ser lo mismo. En unos segundos, sólo abriendo la herramienta de gestión de paquetes, seleccionando la opción “online” y haciendo una búsqueda sobre el término “zip” tenemos acceso a la oferta de paquetes relacionados con el mismo:
Como podemos ver, existen muchas opciones para tratar con archivos .zip que tenemos al alcance de un clic. En este caso vamos a usar DotNetZip, una potente biblioteca open source que nos ofrece todo lo que necesitamos en este proyecto y mucho más ;-), pero a diferencia de otras, es bastante más sencilla y cómoda de utilizar.
Y como muestra el siguiente método, que recibe una lista de rutas de archivo y los comprime sobre un fichero .zip:
public void Comprime(IEnumerable<string> files)
{
using (ZipFile zf = new ZipFile())
{
zf.AddFiles(_files, false, "");
zf.Save(@"d:\prueba.zip");
}
}
El código es bastante conciso y fácil de comprender; creamos un nuevo archivo zip, representado por la instacia del tipo ZipFile, llamamos a su método AddFiles() suministrándole la colección de rutas de los ficheros a comprimir, y salvamos el resultado al disco. El segundo parámetro de AddFiles() se usa para indicar si se respetan las rutas originales de los archivos y el tercero especifica el nombre de carpeta donde se almacenarán dentro del fichero .zip.2. Creación de ActionResults personalizados
Aunque estrictamente hablando no tendría por qué ser así, la práctica totalidad de las acciones en ASP.NET MVC retornan un objeto de tipoActionResult, como en el siguiente ejemplo:public ActionResult About()
{
return View();
}
La clase abstracta ActionResult se define en el espacio de nombres System.Web.Mvc de la siguiente forma:public abstract class ActionResult
{
public abstract void ExecuteResult(ControllerContext context);
}
Cuando una acción retorna un subtipo de ActionResult, el framework se encarga de invocar a su método ExecuteResult() para que envíe el resultado al cliente. Por ejemplo, en el caso de un ViewResult (el retorno generado por el método View() del controlador), su método ExecuteResult() es el responsable de ponerse en contacto con el motor de vistas para generar el HTML, y retornar el marcado al cliente; un RedirectResult, en cambio, sólo se encargará de retornar una redirección (temporal o permanente).Por tanto, lo único que necesitamos para crear nuestro tipo de resultado personalizado es crear una clase que herede de
ActionResult e implementar en ella el método ExecuteResult(). En la práctica, normalmente encontraremos en este método la lógica de generación del resultado, establecimiento de encabezados de la respuesta (content-type, content-disposition, status code, etc.), y el envío a través del canal de salida de la información deseada.3. ZipResult, el ActionResult que retorna archivos .zip
A continuación se muestra el código de la claseZipResult, que se encarga de retornar al cliente un archivo comprimido en formato .zip en cuyo interior se encontrarán todos los archivos indicados en el momento de su instanciación.Lo que vale la pena leer está prácticamente al final de la porción de código, el método
ExecuteResult(), que es el que realmente realiza el trabajo de comprimir y enviar al cliente el archivo resultante:public class ZipResult : ActionResult
{
private IEnumerable<string> _files;
private string _fileName;
public string FileName
{
get
{
return _fileName ?? "archivo.zip";
}
set { _fileName = value; }
}
public ZipResult(params string[] files)
{
this._files = files;
}
public ZipResult(IEnumerable<string> files)
{
this._files = files;
}
public override void ExecuteResult(ControllerContext context)
{
using (ZipFile zf = new ZipFile())
{
zf.AddFiles(_files, false, "");
context.HttpContext
.Response.ContentType = "application/zip";
context.HttpContext
.Response.AppendHeader("content-disposition", "attachment; filename=" + FileName);
zf.Save(context.HttpContext.Response.OutputStream);
}
}
}
Observad que el método ExecuteResult() es prácticamente idéntico al Comprime() que mostrábamos más arriba para ver lo fácil que resultaba comprimir archivos con DotNetZip. Sólo le estamos añadiendo los encabezados para la respuesta HTTP, y estamos haciendo que el archivo sea salvado directamente sobre el stream de salida en lugar de hacerlo en disco.4. Uso desde el controlador
Y para utilizar nuestro flamanteActionResult, lo único que debemos hacer es instanciarlo desde la acción, suministrarle las rutas hacia los archivos que deseamos comprimir y retornarlo como resultado:public ActionResult Descargar()
{
return new ZipResult(
Server.MapPath("~/Archivos/fich1.txt"),
Server.MapPath("~/Archivos/fich2.txt"),
Server.MapPath("~/Archivos/fich3.txt")
);
}
Para que podáis verlo en vivo y en directo, he colgado en SkyDrive una demo algo más completita en la que es posible elegir los archivos de una carpeta, que son comprimidos y retornados por ZipResult.
Descargar proyecto de demostración.Espero que os resulte interesante.
Publicado en: Variable not found.
» Leer más, comentarios, etc...
Bitácora de Javier Gutiérrez Chamorro (Guti) » Programación
Rendimiento Javascript vs VBScript (II)
Julio 6th, 2011 - [Enlace local]
Ya ni me acordaba que en 2004 en Rendimiento Javascript vs VBScript ocurrió el extraño resultado que demostraba que la ejecución de código VBScript resultaba ser más veloz que la de Javascript. Mucho ha cambiado en estos 7 años en los navegadores web, que debido a la complejidad de aplicaciones client-side, han ido optimizando la [...]
Artículos relacionados:
Rendimiento Javascript vs VBScript
Velocidad de Javascript en Opera
Sieve en Javascript (optimizado)
» Leer más, comentarios, etc...
Buayacorp
Vulnerabilidades en PhpMyAdmin
Julio 5th, 2011 - [Enlace local]
Se descubrieron vulnerabilidades bastante críticas que afectan a las versiones anteriores a 3.3.10.2 y 3.4.3.1 de esta aplicación. Es conveniente actualizar cuanto antes.
» Leer más, comentarios, etc...
jordisan.net blog: sobre lo humano, lo divino... y lo técnico: desarrollo
Más allá del cuchillo de palo (artículo sobre DCU en Interacción 2010)
Julio 5th, 2011 - [Enlace local]
Aquí tenéis el contenido de la presentación y el artículo (escrito junto a dos profesoras de la
"Más allá del cuchillo de palo: hacia una herramienta integrada para un verdadero diseño centrado en el usuario"
artículo (PDF, 525 KB)
presentación (PDF, 845 KB)
Y algunas capturas de la presentación:



» Leer más, comentarios, etc...
MadeInFlex
Oferta de empleo Flex (Madrid)
Julio 5th, 2011 - [Enlace local]
En deinterfaz (www.deinterfaz.com) estamos buscando a un programador AS3/Flex para incorporar a proyecto de larga duración. El trabajo es en Madrid y presencial.
Requisitos mínimos:
- Al menos 3 años de experiencia en desarrollo Actionscript 3.0 utilizando tecnologías y patrones de diseño.
- Alto conocimiento de las tecnologías ActionScript 3.0 , JavaScript , HTML, XML.
- Familiarizado con Adobe Flex SDK 3.5 , 4.0, Flash Builder, Adobe Flash CS4 – 5
Requisitos deseables:
- Utilización de frameworks de desarrollo (Cairngorm …)
- Experiencia y conocimientos de la aplicación Flash
- Conocimientos en PHP, MySQL
- Conocimientos de Linux
- Experiencia Gestión de proyectos
- Patrones de diseño
- Conocimientos de Java (minimos)
Oferta salarial según valía
Ticket Restaurant
Los interesados mandar CV y referencias de trabajos anteriores a: unete@deinterfaz.com
» Leer más, comentarios, etc...
Picando Código
Segundo cuarto de 2011 con más avances para GNU/Hurd
Julio 5th, 2011 - [Enlace local]
Hace tiempo que no escribo sobre Hurd, el kernel del proyecto GNU que algun día completará el sistema operativo GNU. Este año se lanzó Duke Nukem Forever, así que somos libres de imaginar un sistema operativo GNU completo en un futuro no muy lejano. Las noticias para esta etapa del año son bastante alentadoras, a continuación comento un pantallazo general.
En primer lugar gracias al Google Summer of Code, se llevó Java a Hurd lo que requirió también agregar partes que faltaban al proyecto como mejoras en el manejo de señales.
Se creó el primer instalador gráfico en CD de Debian GNU/Hurd, el cual puede descargarse junto al resto de las imágenes en CD de Debian.
Una noticia bastante importante del lado de la organización: Debian planea incluir una versión con Hurd en su próximo lanzamiento estable, Wheezy. Éste se espera para fines de 2012 o principios de 2013. En http://wiki.debian.org/Debian_GNU/Hurd se lleva la información del proceso de dicho lanzamiento. Esto incluye las metas a alcanzar en el port para el lanzamiento de Wheezy, información para desarrolladores, etc.
Como dicen en el blog de Hurd, hay mucho trabajo por hacer. Pero el hecho de trazar una meta real, con la presión que esto implica puede ayudar a que se terminen las cosas. Se está necesitando ayuda portando paquetes, una excelente manera de empezar. Seguramente con este lanzamiento se trabajará mucho, no solo en llevar al sistema al tipo de estabilidad que nos tiene acostumbrados Debian, sino también en documentación.
Se está usando el sistema FOSS Factory para ofrecer recompensas a desarrolladores que quieran implementar distinas partes de Hurd. FOSS Factory es un eje y plataforma organizativa para conectar a desarrolladores de software libre y código abierto con sponsors económicos. Es una forma de aportar algo para aquellos que tienen más dinero que tiempo para colaborar con el desarrollo. Pueden leer más info en el sitio de Hurd.
A fines de agosto, la gente de Hurd se reunirá en el en París. Habrán una charla sobre GNU/Hurd y Jérémie Koenig -el responsable del GSoC de portar Java a Hurd- estará presente para responder preguntas sobre su experiencia.
Así que sí, de a poco se va avanzando en Hurd, hasta que algún día podramos experimentar con él
Comparte:
» Leer más, comentarios, etc...
Buayacorp
Efecto Abanico de Fotos en álbumes en Google+
Julio 5th, 2011 - [Enlace local]
Leer más, comentarios, etc...» Leer más, comentarios, etc...
Arragonán
Repintar mapas con el API de Google Maps V3
Julio 5th, 2011 - [Enlace local]
Como (supongo) casi todo programador web que ha hecho desarrollos para internet, he tocado en múltiples ocasiones partes del API de google maps.
Hace unos pocos días nos encontramos uno de esos problemas curiososos. Resulta que teníamos varios mapas en una misma página, dentro de la que habían mapas en capas ocultas usando css. La curiosidad en cuestión es que al hacer visibles esas capas no se pintaban correctamente los mapas.
Buscando un poco que podría estar pasando, resulta que cuando creas el mapa google maps coge los estilos que hay en ese momento, y al pasar de oculto a visible el API no es consciente que ha cambiado la visibilidad del elemento que lo contiene y donde se pinta.
Esto en la V2 del API se solucionaba usando checkResize, pero resulta que para V3 no está disponible ese método para notificar al mapa que se redimensione.
La necesidad de un checkResize está reportado como bug de la versión 3. Pero por suerte en los mismos comentarios aparecen algunas soluciones que me han venido como anillo al dedo para ir trasteando y terminar implementando una solución un poco más a mi gusto, añadiendo a la clase de google.maps.Map un comportamiento equivalente:
google.maps.Map.prototype.checkResize = function() {
var center = this.getCenter();
google.maps.event.trigger(this, 'resize')
this.setCenter(center);
}
Y así ya puedo utilizar el checkResize en los mapas del mismo modo que en la versión 2.
» Leer más, comentarios, etc...
Picando Código
Hostgator: 40% de descuento en hosting solo por hoy
Julio 4th, 2011 - [Enlace local]
Les comparto una promoción bastante interesante de Hostgator, mi proveedor de hosting web. Con motivo del 4 de julio, están haciendo una venta con un 40% de descuento sobre todos sus servicios de hosting.
Generalmente recomiendo mucho Hostgator y de primera mano. Este sitio así como todos mis sitios web están alojados en servidores de la compañía y estoy muy conforme con el servicio.
Lo más destacable creo es el servicio técnico y la atención al cliente. Cada vez que tengo algún problema o consulta, el servicio es inmediato. Además cuentan con todo lo básico necesario para sitios web con PHP, MySQL, incluso Ruby On Rails. Esto último todavía no lo he usado más que para pruebas pero algún día trataré de aprovecharlo. Son bastante
Las condiciones de la promoción son las siguientes:
- Duración de 1 día (termina hoy a las 11:59 CST).
- 40% de descuento en la primer factura de todos los planes y terms lengths. Tomar nota que los VPS y servidores dedicados solo están disponibles por 1 mes así que el descuento aplica solo al primer mes (primer factura).
- Los clientes existentes pueden aprovechar la oferta. Necesitarán agregar una nueva cuenta de hosting y mantener el plan sin descuento y la nueva, con descuento activa por la longitud activa del término seleccionado en su nuevo plan para continuar recibiendo el descuento.
Como dicen las condiciones, el descuento aplica a la primer factura. Por esto, en los VPS y servidores dedicados solo aplica el primer mes. Pero para servicios de hosting compartido (el que usa Picando Código) podríamos pagar uno, dos o tres años por adelantado con un descuento del 40% sobre el total.
Como dije, la promoción termina hoy (quedan unas 15 horas aproximadamente a partir de la publicación de este post).
Comparte:
» Leer más, comentarios, etc...
Variable not found
¡Microsoft MVP 2011!
Julio 4th, 2011 - [Enlace local]
Hace unos días recibí una alegría que necesito compartir con todos vosotros de forma urgente :-)
El escenario era el siguiente: toda la familia metida en el coche a las cinco de la tarde, rumbo a la costa para pasar el fin de semana, un calor de narices, una morriña siestera bastante importante y muchas ganas de llegar a la playa.
Decidimos parar en una estación de servicio para tomar un café que nos permitiera continuar la marcha en condiciones razonables. Como de costumbre, aprovecho para revisar el correo electrónico desde el móvil por si ha surgido alguna emergencia de última hora, y me encuentro con esto:
Asunto: ¡Enhorabuena MVP de Microsoft 2011!De pronto se me quitaron el calor, el sueño, e incluso las ganas de playa. ¡Vaya sorpresa! :-)))
Estimado/a Jose Maria Aguilar,
Enhorabuena. Nos complace presentarle el programa de nombramiento MVP de Microsoft de 2011. Este nombramiento se concede a los líderes excepcionales de la comunidad técnica que comparten de forma activa su experiencia de alta calidad y de la vida real con otras personas. Le agradecemos especialmente la contribución que ha realizado en las comunidades técnicas en el área de ASP.NET/IIS a lo largo del pasado año.
[…]
Para el despistadillo que aún no lo sepa, el MVP es un galardón que concede Microsoft a personas de la comunidad técnica que dedican parte de su tiempo a compartir con otros usuarios sus conocimientos y experiencias sobre productos y tecnologías de esta compañía. Si estás interesado en saber más sobre ello, aquí puedes leer sobre el programa MVP.
Es para mí un honor y un privilegio el poder entrar a formar parte de este grupo, y sólo espero estar a la altura de esta distinción. Intentarlo, lo intentaré, os lo aseguro ;-)
Gracias a todos los que lo habéis hecho posible.
¡Nos vemos!
» Leer más, comentarios, etc...
Bitácora de Javier Gutiérrez Chamorro (Guti) » Programación
TBClamAV
Julio 3rd, 2011 - [Enlace local]
A nivel particular, sigo siendo un usuario fiel de The Bat! y como antivirus uso Avira Antivir en modo standalone o bajo demanda. Es cierto que se puede integrar Antivir con The Bat! sin problemas, y es algo de lo que hablaré más adelante, sin embargo, el problema de estas soluciones, es que necesitan cargar [...]
» Leer más, comentarios, etc...
Buayacorp
Actualizar lista de fuentes sin reiniciar Photoshop
Julio 2nd, 2011 - [Enlace local]
Por si te ha pasado alguna vez, y deseas actualizar la lista de fuentes de Photoshop sin cerrar tus 20 archivos abiertos, la manera más fácil es hacer lo siguiente en el panel Carácter:

Luego de esto podemos ver disfrutar de nuestras nuevas fuentes
.
Lo aprendí en Eruanna.
» Leer más, comentarios, etc...
Buayacorp
Probar el nuevo diseño de Gmail
Julio 1st, 2011 - [Enlace local]
Con el lanzamiento de Google+, muchos de sus productos están teniendo un diseño nuevo, ahora los diseños son simples y bonitos

Si deseas probar el nuevo diseño, lo único que debes hacer es irte al apartado Mail Settings > Themes y casi al final se encuentra "Preview" y "Preview Dense", click y ¡listo! ya puedes ver el nuevo diseño.
PD: Si alguien está interesado en una invitación para Google+ pase por aca





