Es de buen nacido el ser agradecido

26 05 2008

El Jueves leí en el blog de Somasegar el anuncio de otro cambio en MSDN. En concreto del look & feel. Soy programador y bueno, como a muchos programadores (cada vez menos), el tema del diseño es algo que nos cuesta más trabajo. Crear interfaces y experiencias  de usuario amigables no es algo fácil, pero tampoco imposible.

En realidad envidio a las personas que tienen esa capacidad de crear de la nada algo bonito y usable para una gran mayoría. Pero en definitiva es algo en lo que, yo por lo menos, tengo que mejorar. Para gustos los colores y nunca mejor dicho.

La cosa es que estaba yo tan tranquilo con mis cosas y fuí a hacer una consulta a MSDN, mientras escribía la dirección en la barra de direcciones me acordé del post de Somasegar y pensé: Uy, a ver que han puesto nuevo…

Y toma, la primera en la frente: En la sección Sus recursos que está en el centro de la página aparecen tres enlaces a recursos impresionantes, como los blogs de los Davises (Carmona, Salgado, Cervigón), el de Héctor Montenegro, Jose Murillo, Cesar de la Torre y un largo etcétera. Cada uno con sus cosas buenas y cosas no tan buenas (por ser políticamente correcto, ;) ). Gente de las que he aprendido un montón y sigo aprendiendo.

A lo que iba, la cosa es que este humilde blog aparece entre tan “privilegiada” compañía:

Captura MSDN

 Se que suena ya un poco de autobombo pero es algo que me llena de orgullo y satisfacción. Ya comenté que no esperaba esta acogida cuando empecé con este blog.

Sólo puedo dar las gracias a toda la gente que he conocido y de las que tanto estoy aprendiendo.

Ya por último me gustaría tener un poco de feedback y saber vuestras opiniones, halagos, insultos, cambios y cosas que creeríais que podría cambiar, mejorar, eliminar, añadir …

Y sobre todo, muchas gracias por pasar por aquí.





Problemas con el servidor web de VS

6 10 2007

Llevaba un tiempo teniendo varios problemas con la ejecución de una aplicación web en el servidor web que trae Visual Studio, llamado Cassini.

El principal problema es que los incidentes que sufría ocurrían de vez en cuando, es decir, no conseguía reproducir exactamente el error. Y lo peor de todo es que no sabía cuales eran las condiciones que hacían aparecer ese error. En el IIS funcionaba perfectamente, pero en mi máquina de desarrollo, de vez en cuando y sin saber porqué fallaba. 

Después de estar un tiempo ejecutando paso a paso la aplicación resulta que la cache de un postback a otro se vacía. Sigo investigando y doy con este link: http://www.johnsadventures.com/archives/2006/02/why_does_my_aspnet_cache_keep_clearing_i.html

Parece ser que cuando la máquina se va quedando sin memoria, pues la cache de dicho servidor web para las aplicaciones web que esté ejecutando se libera.

Sólo con configurar el web config de la aplicación va perfecto, un poco lento cuando estoy haciendo varias cosas a la vez, pero ya no padezo de dicho error. Lo conseguimos configurando la cache en la sección System.Web del Web.config de nuestra aplicación de la siguiente manera:

<caching>
  <cache disableMemoryCollection = “true
    disableExpiration = “false
    privateBytesLimit = “0
    percentagePhysicalMemoryUsedLimit = “90
    privateBytesPollTime = “00:02:00/>
</caching>

Espero que sirva.

Juan María Laó Ramos





Huelva: CodeCamp y Madrid: Remix

6 06 2007

A ver si mi jefe no me pilla escribiendo esto en horario de trabajo. :).

Hemos estado en dos eventos en los útlimos cuatro días. El primero en la CodeCamp, en Huelva. Evento para estudiantes y profesionales. Una especie de toma de contacto entre ambos sectores en la que pudimos conocer productos, empresas, planes empresariales, experiencias en la sesión de “El diván de Mónica”,en donde tres MVP’s aportaron su testimonio y carrera en esto de la informática, sesiones sobre Silverlight por Jose Murillo, una de Robotics Studio por Miguel Ángel Ramos … y un largo etcétera.

Lo más importante que me llevo de este CodeCamp es las posibilidades y facilidades que hay disponibles para emprendedores que quieran montar su empresa por parte de Microsoft.

Acto seguido, tras la CodeCamp, llegamos a Sevilla a descansar un poquito, y el domingo por la tarde cogimos el coche para Madrid al ReMix.

Ya han escrito sobre él en picacódigos. La verdad, no se me ocurriría mucho más que añadir. Resaltar las bondades que nos da WPF, AJAX y Silverlight.

Increible ble.

Además, me llevo dos sorpresas, primero en la CodeCamp, donde me entero que el otro blog que regento sale en la sección española de la web www.asp.net 

Y la segunda es que en la Dotnetmania de este mes, Miguel Jimenez le hizo una entrevista a Scott Guthrie, en la última pregunta, Miguel le dice que “hay mucha gente que lee su blog, que es uno de los más activos, y le pregunta de dónde saca el tiempo. Scott le responde que lo suele hacer por la noche y que esto le permite probar cosas que están haciendo y que le gusta mucho que tanta gente lea su blog, es algo que le estimula y anima”. Para mí, la sorpresa, viene al final de la entrevista donde reza “Scott sabe que un grupo de sevillanos está traduciendo su blog en: http://thinkingindotnet.wordpress.com“.

Mola, que te reconozcan mola un huevo, ya que no me lo esperaba.

Muchas gracias a todos por vuestras lecturas e interes en este humilde blog.

Un abrazo.





Test unitarios y NUnit

8 05 2007

Las máquinas no hacen lo que quieren, hacen lo que nosotros les decimos que hagan.

No sé muy bien dónde lo escuché, ni quien me lo dijo, o si lo vi en algún articulo o en una ppt. Pero es una verdad como un templo. Cuando escribimos código, tanto para un hola mundo como para un sistema de control de un aeropuerto, lo que esperamos de nuestros aporreos de teclado es lo que hagan lo que estábamos pensando mientras escribíamos.

Hay una gran diferencia entre lo que un programador piensa que debe hacer su código y lo que realmente hace el código recién escrito. Y ya no digamos del código que escribimos hace unas semanas.

Hace relativamente mucho tiempo que aparecieron los primeros frameworks para realizar test unitarios, y se van mejorando cada día. Pero, ¿qué son los test unitarios?, para los que no lo sepáis aún, según Ron Jeffries:  “ son programas escritos para ejecutarse uno tras otro. Normalmente comprueban que ante unas entradas predefinidas, los resultados obtenidos van a ser siempre los mismos.”

Es decir, son programas que van a comprobar que nuestro código haga lo que esperamos que haga.

NUnit.

NUnit es un framework más para poder realizar de forma homogénea y estructurada los menesteres que he descrito en el apartado anterior.

Por intentar demostrar que me he mirado esto un poco a fondo, aunque no mucho, os cuento que NUnit es la implementación para la plataforma .NET de otro framework para hacer test unitarios, JUnit. JUnit es un framework para realizar test unitarios para la plataforma Java, que a su vez viene de la plataforma … (y aquí me cansé de investigar).

Todo el tema de los test unitarios ha surgido con las técnicas de desarrollo rápido Extreme Programming. Éstas últimas son técnicas de programación usadas para explotar varios factores del desarrollo software, como son la calidad, claridad, tiempo de desarrollo, eficiencia, y un largo etcétera.

Al grano.
Hablando en plata (“talking in silver”) , básicamente lo que necesitamos para poder hacer test unitarios con NUnit es:  Primero descargárnoslo desde www.nunit.com, y lo segundo es instalarlo.

Una vez lo tengamos instalado ya podemos ponernos a hacer test a mansalva.
La forma en que los hago yo es la siguiente: Me creo un nuevo proyecto de librería C# en visual studio, le añado la referencia a la dll de NUnit. (En la documentación de NUnit os dice dónde la podéis encontrar).

Y listo, ya puedo crear las clases que testearan lo que yo quiera.

Sólo hay que tener en cuenta un par de cosas:

1. Añadir el atributo TestFixture  a las clases que van a contener los test, por ejempo:

using System;
using NUnit.Framework;
namespace UnitTestingExample
{
    [TestFixture]
    public class SomeTests
    {
    }
}

2. Tenemos que indicar los métodos que van a hacer los test mediante el atributo Test

 [TestFixture]
  public class SomeTests
  {
    [Test]
    public void UnTest()
    {
           //Hacer algo
    }
  }

Y listo, ya podemos testear lo que queramos.

NUnit nos ofrece un interfaz gráfico para ver los resultados de los test. ¿Cómo lo vemos? Muy fácil, compilamos nuestra librería, ejecutamos el interfaz gráfica que NUnit tiene preparado, en el menú File, seleccionamos Open, y podemos seleccionar la dll compilada que hemos generado con visual studio.

Muchas veces es necesario inicializar algunas cosas para que los test puedan ejecutarse. Por ejemplo, que haya un elemento en la base de datos, que se haya inicializado el valor de algunas variables, etc..

Para ello, están los atributos [TestFixtureSetUp] y  [TestFixtureTearDown]. El primero inicializa todo lo que haya que inicializar ANTES de ejecutar los test, y la última se ejecutará DESPUÉS de ejecutar todos los test, de esta forma:

[TestFixtureSetUp]
public void MetodoDeSetup()
{
  //Código necesario para la inicialización
}

[TestFixtureTearDown]
public void MetodoDeTearDown()
{
  //Codigo
}

Pues nada, espero que os sirva tanto como me ha servido a mi.

Pero NUnit no se queda sólo en esto, tiene muchas cosas más que dejaremos para otros post.

Hope this help.

Vio.





Beta 1 de Visual Studio Orcas

7 05 2007

Lleva ya tiempo disponible, pero alguno me ha preguntado cómo puede descargarsela.

Aquí tenéis el link:

http://msdn2.microsoft.com/es-es/teamsystem/aa700831(en-us).aspx

A developear!





Ganadores Imagine Cup 2007

16 04 2007

Os pongo un resumen hecho por Pedro Laguna:

Bueno, un breve resumen de lo que ha pasado…

Hemos empezado temprano, a las 8 de la mañana estabamos montando cosas
como pancartas, camisetas y una camara para grabar todo el evento (ya
la pondremos a descargar).

A eso de las 9:30 ha empezado a llegar la gente y a entrar en el salon
de actos y sobre las 10 se han subido beatriz, el director de la
escuela de informatica de Sevilla y otro hombre que era algun alto
cargo de la Universidad de Sevilla. Han hablado un rato y ha empezado
lo bueno.

Primero expusieron los de “Volver a empezar”, que a la postre serian
los segundos clasificados. La verdad es que este proyecto no he podido
verlo entero porque aun quedaban algunas cosas que hacer y estaba de
carrera en carrera por los pasillos, pero amigos que si lo han podido
ver me han comentado que les ha gustado mucho, sobre todo el tema de
ir a hablar con centros de discapacitados para escuchar sus
necesidades. Resaltar que el proyecto ha sido realizado por tres
chicas que me consta han dejado prendado a mas de uno por aqui…

Luego expusieron los dos proyectos de la Universidad de Salamanca, que
como su propio nombre indica, esta en Madrid. El primero: Drive in the ‘Box, un programa desarrollado integramente con XNA y .Net 3.0.
Algunos efectos de la interfaz muy espectaculares y un simulador de
conduccion en el que pierdes puntos del carnet por cada infraccion que
cometiamos. Despues turno para WEDU, a los que la demo los traiciono y
no pudieron enseñar su aplicacion web al completo como tampoco mostrar
la aplicacion para PDA que habian desarrollado.

———————————————— DESCANSO
—————————————————

Despues de 15 minutos de charlar y comentar los tres primeros
proyectos le toco el turno a los compañeros de Granada, que con una
puesta en escena muy trabajada y un proyecto muy atractivo supo
ganarse al publico y al jurado para al final proclamarse vencedores.
¿El unico inconveniente? No era estrictamente orientado a la
educacion.
Para terminar le toco el turno al proyecto interprovincial
Sevilla/Alicante. Una propuesta novedosa de educacion a distancia con
retroalimentacion para el profesor acerca de la calidad de sus clases
que parece que no gusto a los miembros del jurado que los dejaron en
tercer lugar.

Luego charla a cargo de Ethel y David Salgado sobre lo que esta
llegando con Vista, Orcas y Expression. Un poco “comercial”, pero los
chistes de David han sido magnificos.

Entrega de premios, todos felices, todos contentos y a comer!

Pues nada, eso es todo lo que paso esta mañana mas o menos a grandes
rasgos. Espero haber saciado vuestra ansia informativa hasta que
podais descargar el video. Un saludo





Imagine Cup 2007

10 04 2007

¡Este año, el mayor concurso de

desarrollo de software, en Sevilla!

Los cinco mejores equipos de España se enfrentarán por representarnos en Corea en la final Internacional.

 

Jueves, 12 de abril de 2007, Salón de Actos de la ETSII

09:30 – Registro.
10:00 – Bienvenida.
10:15 – Presentaciones 5 Proyectos finalistas.
13:15 – Conferencia “La Dieta Tecnológica del Futuro”.
14:15 – Entrega de premios.
14:30 – Fin

Registrate en: http://msevents.microsoft.com

El EventID es 1032335057

¡Plazas limitadas, hasta llenar aforo!