Archivo por días: 21 julio, 2010

Miércoles 21, cambio de hora en las correrías

Pues eso, que hoy miércoles 21 hemos quedado a las 07.45 en vez de a las 08.00, con idea de que el calorcillo este matutino se note menos cuando estamos corriendo.

Hemos estado los mismos que ayer, es decir, Antonio sigue sin aparecer, ni siquiera antes, que es lo que él me dijo que hacía, ya que no nos lo hemos cruzado en todo el recorrido.

Hoy también Charly se ha hecho cargo de los perros, y también hemos acabado en la playa de la Torrecilla para darnos un chapuzón, aunque hoy el agua estaba algo más revuelta y con un poco de corriente de poniente, vamos que como te descuidaras te ibas hacia el este…

Foto2808_lr
Foto 1. El Balcón de Europa (07.51)

 

Foto2809_lr
Foto 2. Una barquilla que pasaba por allí (07.54)

 

El tiempo total que hemos empleado es de (aproximadamente) de 34 minutos y el recorrido total es de unos cuatro kilómetros y cuatrocientos metros, al menos eso es lo que indica el mapa de Google, en el que la distancia de cada tramo es de 2.2 KM… la verdad es que yo pensaba que hacíamos algunos kilómetros más… 🙁

 

(abajo del todo te muestro el mapa de Google con el recorrido, que si lo dejo aquí, al estar escribiendo me marea mucho tanto subir y bajar… es que este editor no es ninguna maravilla que digamos, pero hace el avío…)

 

Foto2814_lr
Foto 3. La Torrecilla, aquí no se nota mucho, pero había overbooking… (08.30)

 

Como puedes comprobar por la hora de la foto 3, a la playa de la Torrecilla llegamos a las ocho y media, y allí estuvimos casi una hora… bueno, al menos la foto 4 está tomada a las 09.22 y como estuvimos un ratillo hablando con Dori y Jorge, supongo que incluso serían más de las 9.30 cuando nos fuimos de allí.

La cuestión es que nos metimos un ratillo en el agua, que a pesar de que no estaba echa un plato, nos podíamos bañar sin riesgos a que una ola nos revolcara.
Como Vicky y Mari Ángeles estaban hablando de sus cosas, pero estaban "estáticas", es decir, se pararon, se pusieron a hablar y ni se movían, lo que yo te diga… y como ya no había muchas olas que "hurrir" pues les dije que me iba a dar un par de vueltas por la playa… en ese momento se dieron cuenta de que ya tenían que salirse del agua… ¿si no les llego a decir nada se hubieran quedado hablando? posiblemente…  
La cuestión es que se fueron las dos, y yo, después de enjuagarme en la ducha, me puse a darle una vuelta (o las que encartaran) a la playa, pero andando por la orilla…
Al ratillo llegó Mari Ángeles con el perro (Dandy) y me acompañó en las vueltas playeras, y cuando fuimos a las duchas para enjuagarnos los pies, llegaron Dori y Jorge y como Dandy es "un muñequillo" (en la playa casi todo el mundo se paraba a verlo) Dori no quiso desaprovechar la ocasión y le hizo alguna que otra foto, y como algunas veces yo tampoco desaprovecho la ocasión, también inmortalicé el momento y esa es la foto número 4.

 

Foto2815_lr
Foto 4. Charlando con Dori y Jorge (09.22)

 

Después de hablar un ratillo de "cosas" (digo sólo cosas, para que no digan que soy un cotilla y lo cuento tó, que tampoco es eso, jejeje)

 

Y después de un rato… pues cada cual para su casa… y yo aproveché para (después de hacer ciertas cosas con el ordenador) acostarme un ratillo que el cansancio me podía… y eso hice, me eché una "siesta" matutina… el desayuno lo dejé para cuando me levanté, así me servía de almuerzo.

Por la tarde, estuve mirando unas cosas con Manolo el taxista y después (casi cuando era la hora) nos fuimos para el tenis.

 

En el tenis estuvimos los mismos que ayer martes, y después de los juegos de entrenamiento, nos pusimos a jugar dobles, en la pista 2 jugaron Manolo, Rafa, Jamie y Ángel y en la pista 1, Alexis y Miguel jugaron contra San y yo… como si fuera para tomarse la revancha por lo de ayer :), eso sí, no se apiadaron de nosotros y quedamos 5-1 a favor de ellos… En el último juego, que fue el que ganamos nosotros, (aunque creo que a falta de un punto, pero Miguel nos lo dio), íbamos perdiendo (no sé si 0-40 pero lo mismo era algo así) y con las bromas y demás le decía yo a San que les íbamos a remontar el partido… y no fue el partido, pero si el juego… lo que hacen los nervios, sobre todo cuando alguien te está metiendo "caña" diciendo que vas a fallar, etcétera… ¡que malo que soy! jejejeje

Eso sí, San al intentar darle a una bola a la que yo no pude llegar, se calló de culo… pero no se hizo daño, sólo que al doblar las piernas acabó sentada en el suelo, vamos que no se calló de darse un batacazo… creo… jeje

Y después de la hora, como de costumbre, nos quedamos un ratillo allí; estuvimos hablando con Gonzalo (después se unió Alberto). La cuestión es que Gonzalo me pidió el otro día un "anti vibrador" (si no ,me lo pidió, lo mismo es que dijo que se le había perdido), la cuestión es que le di uno de los que tenía yo, y hoy ha aparecido con unos calcetines y tres rollos de esos para la empuñadura de la raqueta. Uno de esos rollos se lo ha dado a San (de color blanco) e incluso él se ofreció a ponerlo… y ya que estaba, me preguntó si se lo ponía a mi raqueta… y le dije que sí, el mío ha sido de color rojo.
Y ya que estábamos, nos pusimos a charlar los cuatro… más o menos hasta las diez menos algo, que ya nos fuimos nosotros y ellos se quedaron porque iban a jugar a las 10, cuando acabaran los que estaban en ese momento, que en la pista 2 eran Patri y Ricky y en la pista 1 el "churrero" y creo que la hija.

No sé si San se quedó viendo a la gente que jugaba al baloncesto, ya que yo me vine después de comentar lo que Antoñita (de taichí) me había dicho de quedar alguna noche y tomarnos unas copichuelas, que ahora en verano es lo que pega… lo mismo organizamos algo para la semana que viene que es cuando Chiqui viene a jugar al tenis…

 

Y después de llegar del tenis, lavar alguna ropa y darme una ducha me puse a revisar el "artículo" de Fluid Interface, más que nada para escribir el código de Visual Basic .NET y también el de Visual Basic 6.0, que aunque no tiene las facilidades que los lenguajes de .NET, también "simula" bien todo el tema ese de las interfaces fluidas… pero eso es ya otro "tipo" de tema que no es plan de mezclar con esto que ya tengo escrito… pero más que nada me sirve para decirte que ya son las 06.27 del día 22 y que creo que poco voy a dormir ya… vamos que prácticamente me voy a ir a correr… porque como me acueste, seguro que me quedo sopa y no hay quién me levante…
Y es que quiero probar a ver si cambio el horario… es decir, aprovechar las horas nocturnas para hacer cosas (sobre todo con el ordenador) y dormir después de venir de correr… no sé, ya veremos… la cuestión es que esto es lo que he pensado hoy con idea de quitarme de en medio en las horas que hace más calor aquí en mi casa y aprovechar el fresquito (o casi) de la noche, aparte de que hay menos ruido y jaleo, que ahora tengo a gente haciendo obras en un bloque de enfrente y no veas la que están liando…
En cualquier caso, me acosté a eso de las dos y pico, y en vista de que no me quedaba dormido, me levanté y aquí estoy todavía… medio zombi… 🙁

 

Y ya está bien… lo dejo por ahora… ¡aaaa-di-os!

 

 

Nos vemos.
Guillermo

 

Este es el mapa del recorrido que hacemos:


Ver Correrías Torrecilla-Playazo en un mapa más grande

 

Fluent Interface no es solo simular el WITH de VB

Pues eso, que a raíz de leer un artículo en el blog de mi amigüita Gisela Torres (amiga de feisbúc, ya que no la conozco personalmente aunque en la última cena/reunión de MVP anduvo por allí cerca, pero como yo estaba castigado contra la pared no le vi ni sus ojos… ya sabes que algunos ojos me encandilan, jeje) comentando cómo Crear Fluent Interface en C# y en uno de los comentarios al post decían que se parecía mucho al uso de la instrucción (o bloque) WITH de Visual Basic.

Después en la página que tiene CampusMVP en feisbúc se vuelve a comentar lo mismo, y en realidad es que ese ejemplo concreto es muy parecido al uso de un bloque With de VB (ya sea VB para .NET como el VB6, en ambos existe esa construcción).

 

El código de ejemplo

Sin entrar en demasiados detalles (y con el permiso de Gisela) te muestro el código de uso en C# del ejemplo de interfaz fluida (o fluent interface si lo prefieres en inglés –estos dos enlaces o links son de la wikipedia y en el de español sólo hay ejemplos para C# y C++, mientras que en inglés hay ejemplos para Object Pascal, PHP, Java, JavaScript, C#, etc., eso sí, para VB no hay… ¡faltaría más!-) que puso en su artículo, y después te muestro el correspondiente en Visual Basic usando un bloque With.

 

Nota:
Para entender mejor este ejemplo, te recomiendo que veas el código completo que muestra Gisela en su artículo.

 

El código de uso de Fluent Interface en C#:

new Computer()
    .AddProcessor("Intel i7 920")
    .AddRAM(6)
    .TurnOn()
    .Test()
    .TurnOff();

 

El código de uso de Fluent Interface en VB

(pero sin crear la interfaz que implementa la clase Computer de C#, por eso en este ejemplo la clase se llama ComputerSimple):

With New ComputerSimple()
    .AddProcessor("Intel i7 920")
    .AddRAM(6)
    .TurnOn()
    .Test()
    .TurnOff()
End With

 

Como puedes comprobar, escribiendo el código de C# de esa forma es fácil confundirlo con una construcción (o bloque) With de Visual Basic, pero como comenté en la página de CampusMVP: sin End With y con punto y coma… 😉

 

Aunque ese "parecido" con With es sólo por la forma de escribir ese código en C#, ya que si lo escribiésemos todo junto y sin cambios de líneas, sería lo que se conoce como encadenamiento de métodos, de forma que se puede llamar a un método de una clase partiendo de la llamada a otro método y esto no se puede hacer con un With, ya que esa instrucción lo que permite es hacer llamadas a diferentes miembros de un objeto (ya sean métodos, propiedades o cualquier cosa que se pueda usar en un objeto) sin necesidad de tener que indicar el objeto en cuestión, es decir, el With nos permite crear un bloque que hace referencia a un objeto, y al estar dentro del "bloque" podemos acceder a cualquier miembro de ese objeto.

 

El código de llamada a la clase "Computer" que simula un With en C# en realidad se podría escribir así:

Nota:

En el blog es posible que se corte el código, pero lo que hay después del comentario podría/debería estar en una sola línea.

Gracias a mi amigo Dani (Seara) por recordarme que no había puesto el código.

 

// Todo en una línea:
new Computer().AddProcessor("Intel i7 920").AddRAM(6).TurnOn().Test().TurnOff();

 

Por tanto, si queremos una funcionalidad como la indicada en los ejemplos de encadenamientos de métodos, tendríamos que crear un código parecido al indicado en el artículo de Gisela, es decir, crear una interfaz en los que sus métodos devuelvan la propia interfaz en lugar de un tipo más concreto.

 

 

Fluent Interface no solo es encadenamiento de métodos

Pero si hacemos caso a Martin Fowler, a esta forma de usar Fluent Interface se conoce como method chaining (o encadenamientos de métodos), pero la "fluidez" no es sólo porque se puedan encadenar métodos… aunque yo aquí no te voy a contar lo que él ya te cuenta en su sitio, allí podrás leer más sobre nested functions (anidamiento de funciones) o de object scoping (alcance -cobertura- de los objetos) que son otras de las "gracias" de todo esto de las interfaces fluidas (fluent interface).

 

Reflexiones

En cualquier caso, todo esto está muy bien… y el que quiera usarlo que lo use y el que no, que haga como yo, que se va a dar una vuelta por la playa (o equivalente, también vale un parque o un banco en una esquina) o suda un poquillo corriendo o jugando al tenis… jejeje, que no, que es broma, es que después de un año casi sabático, tantas cosas nuevas, que no son tan nuevas, pero que ahora es cuando yo me estoy enterando de muchas de ellas, porque se usan en los lenguajes que me interesan: en general todos los incluidos en .NET Framework… la cuestión es que hay mucha información en poco tiempo y la verdad es que prefiero "emplear" sólo una parte de ese tiempo en cosas concretas o bien que me llamen la atención como ha sido la de este artículo de Gisela. ¡Gracias Gisela por hacer que le dedique un rato a esto de la programación en vez de estar pensando que podría estar en la playa refrescándome! (de todas formas esta tarde no tocaba playa, así que… bien empleado está el tiempo, jejeje)

 

Despedida y cierre

Bueno, voy a escribir el código de ejemplo y ponerlo más arriba, que sólo he dejado el espacio para que no se me fuera la idea, que con estas calores, hasta las ideas se evaporan… jejeje

 

Nos vemos.

Guillermo

P.S.

El código de ejemplo completo lo pondré en otro momento… ¿vale? pues eso… y además añadiré el correspondiente para usar esto mismo en Visual Basic .NET y si me da el punto -y se puede- también lo haré para Visual Basic 6.0

P.S.2 (23/Jul/2010 05.27)

Ya está el código de ejemplo para que lo puedas descargar desde mi sitio:

.NET/VB6: Código de ejemplo de cómo usar Fluent Interface en C#, Visual Basic .NET y Visual Basic 6.0