viernes, junio 30, 2006

Seminarios .NET Remoting

ConnectivityPróximos seminarios de fin de semana: .NET Remoting/Web Services con Visual Studio 2005. Quiero dejar una semana por medio para prepararlo con tiempo, e impartir al menos dos fechas con este temario (para el lunes o el martes lo publicaré aquí y en mi página).
Por supuestísimo, si ya ha venido a alguno de los seminarios anteriores, hay un precio muy especial (único problema, las plazas, pero estando ya en julio, no creo que se cubran todas por first timers).

miércoles, junio 28, 2006

Francia

Bueno, por lo menos puedo alegrarme por Zizou. No sólo es un futbolista como la copa de un pino, sino que siempre se ha comportado como un verdadero señor. Y paradójicamente, hay muchos más de los primeros que de los segundos en este mundo. Chapeau.

martes, junio 27, 2006

¿España o Francia?

Lo siento por Zidane, pero...

lunes, junio 19, 2006

Lo que está dentro NO es como lo que está fuera

El título puede sonar a chino (o a título de peli porno), pero en realidad estoy parodiando uno de los principios de la Hermética: lo que está arriba es como lo que está abajo. Vale, también suena a chino... Lo que quiero decir, en primer lugar, es que hay nueva "píldora orientada a objetos":
Escribo esta nota porque quiero ampliar un poco la explicación, describiendo lo que hace Freya en estos casos. La técnica, en realidad, corresponde a un principio de optimización más general:

  • No hay por qué tratar los usos internos de un recurso, desde el mismo módulo que se compila con el recurso, de la misma manera que los usos externos, desde fuera del módulo compilado.
... y de ahí viene el título.
El operador Difference y los pigmentos metálicosCuando el compilador de Freya encuentra un operador que actúa sobre estructuras que ocupan mucho espacio, define tentativamente un método interno paralelo, con el mismo "texto" que el operador, pero con un prototipo diferente. Este método sólo pasa a formar parte del código compilado si luego es utilizado internamente por el compilador. En ningún caso se permite que el método sea utilizado desde fuera del módulo, aunque siempre será posible localizar el método con la ayuda de la reflexión.
Si el compilador localiza una llamada al operador en el mismo módulo donde se define éste, incrementa el contador de usos del método paralelo y convierte la llamada al operador en una eficiente llamada al método auxiliar.
Cuando empezaron a aparecer los libros sobre .NET, algunos autores plantearon el problema de si merecía la pena introducir algún tipo de optimización en los compiladores para la plataforma, teniendo en cuenta la existencia de un compilador JIT. Creo que ejemplos como éste demuestran que sí merece la pena, aunque los casos de optimización sean algo diferentes a los tradicionales. Un problema con este tipo de asimetría entre los usos internos y externos de un recurso es la duplicación inevitable de recursos, que trae dos problemas:
  • El compilador JIT debe trabajar más, al existir más código que debe ser traducido. Si nos excedemos, podemos ralentizar la carga del módulo o ensamblado.
  • Si nos pasamos con el código "paralelo", también haremos daño a la memoria caché del procesador.
En estos momentos, el compilador de Freya no contiene un mecanismo de protección para este problema potencial, pero tenemos planes de añadir un "monitor de complejidad" en algún momento del desarrollo. Si la cantidad de código generador adicional sobrepasa cierto límite que habrá que determinar de manera experimental, este monitor elegirá las optimizaciones más "importantes" y eliminará las que considere prescindibles.
¿Alguien pensaba en serio que todo estaba dicho en el área de los compiladores?

viernes, junio 16, 2006

Convocatoria para seminarios

ADO.NET/Data Binding c/ Visual Studio 2005/C#
Boadilla del Monte, Madrid

Segunda convocatoria: 24 de junio de 2006
Tercera convocatoria: 1 de julio de 2006

El seminario tratará sobre la implementación de una aplicación con acceso a bases de datos usando Visual Studio 2005 y SQL Server 2005. Aunque el énfasis se pondrá en las técnicas de enlace de datos, mostraremos también como utilizar un servicio Web para recuperar parte de la información utilizada por la aplicación.

  • Adaptadores de tablas versus adaptadores de datos.
  • Implicaciones para el desarrollo en múltiples capas.
  • Clases parciales y personalización de las clases generadas.
  • Manejo de transacciones: dos técnicas disponibles.
  • Recomendaciones para el diseño de la base de datos.
  • Enlace a datos en Windows Forms 2.0.
  • Interfaces y clases relacionados con el enlace a datos.
  • Enlace a datos con objetos de negocio.
  • El control DataGridView y su personalización.
  • Validación y control de errores.
  • Generación de una interfaz visual para un servicio Web.
Documentación entregada: curso a distancia ADO.NET/C# y notas impresas con actualizaciones y contenidos especiales.

Para información de precios, descuentos, plazas y para reservar plazas, contacte directamente conmigo, a través de la cuenta ian arroba intsight punto com.

viernes, junio 02, 2006

Seminario sobre ADO.NET/Data Binding

Lo comenté hace días, y ahora lo materializamos:

Seminario ADO.NET/Data Binding
Madrid, 17 de junio de 2006

Plazas 17 junio ya cubiertas
Próximas convocatorias: 24 de junio & 1 de julio

Tenemos pensado impartir estos seminarios los sábados, en la oficina de Boadilla del Monte, al suroeste de Madrid. Requisitos: vaya con el portátil puesto. ¿Por qué? Pues porque lo que estoy buscando es abaratar el precio del seminario. Si alquilo un aula, el precio se dispara. Como casi todo el mundo dispone en estos tiempos de un portátil (al que le puede tener mayor o menor cariño: yo detesto los portátiles, por cierto), es más sencillo que cada cual lleve el suyo que no tener que instalar Visual Studio en x ordenadores en una instalación externa que casi nunca funcionará como debería.

El próximo lunes 5 de junio anunciaré temario, precios y plazas disponibles. El coste, pasado el período inicial de promoción, deberá estar cerca de 400 euros por persona (el seminario incluye documentación, y el curso a distancia). Pero para este primero vamos a hacer un precio especial. Contenido: una aplicación lo más real posible, desarrollada desde cero patatero. Tengo, además, material interesante sobre data binding en Windows Forms que va a ser muy útil.