ScottMi said "Not NotNorwhind" (so?)

Recuerdan lo publicado hace unas semanas?
Bueno, en resumen les comentaba el post de ScottHa, en el cual decía que estaba algo cansado de usar Northwind.
A partir de esto es que hizo un llamado: «Not Norwhind!«, el cual va de la mano con un proyecto en codeplex.

Pero, para que contarles algo que ya pueden verlo directamente en su blog (o en mi post)

A lo que iba es que hace unos dias, en realidad hace casi dos semanas (y el tiempo sigue volando y yo sin reconocer en que año estamos) Scott Mitchell publicó una respuesta al llamado del Hanselman. ScottMi (como voy a llamarlo a patir de ahora, sin animo de ofender a nadie, claro) indicó que el no veía nada malo en el usar como base de datos de ejemplo a la Northwind.
Su llamado fue directo: «Not NotNorthwind!«

En dicho post ScottMi menciona las características que resaltan sobre tal base de datos,
El punto que me parece muy importante es que es de simple uso y facil de aprender.

Aunque claro, ya casi terminando el post ScottMi muestra sus sentimientos hacia Northwind, es sincero, y algo (como decirlo…) obsesivo con algunos detalles.

Queda indicar que la portabilidad del mismo es uno de los puntos a favor que también apoyo (y la facilidad de recordar una que otra tabla)

No por algo (ScottMi lo menciona en el post) una sección de los ejemplos publicados en ASP.Net, usan Northwind.
No por algo (y estoy casi seguro de que si) ScottHa mostró ejemplos con registros similares a los vistos en Northwind en el ultimo TechEd NothAmerica.

De mi parte queda decir que son cosas que dependen del contexto, no por algo (parafraseándome/los) es usada en demos, sesiones de aprendizaje y cosas similares, incluso ScottMi lo indica «ni muy compleja ni muy simple»

Como dice un buen amigo «puede que se convierta en una lucha bizantina«, pero, de salir la NotNorthwind, estoy casi seguro que muchos saldremos beneficiados,
aunque la verdad, no creo que solo trate de una base de datos (incluso ScottHa menciona algo de POCO y resto de cosas que podrían explotarse), ya que estamos en situaciones en las que muchas personas necesitan ejemplos tipo Neptuno como para continuar, o en muchos casos, comenzar.

Sin mas me despido.
Saludos[at]Cama
Cross from here

VSTS Rosario, comentario (mas)

Luego de revisar un poco el VSTS «Rosario» CTP de Abril, puedo resumir parte de este post en la frase de una amiga (esto luego de mostrarle algunas características):
«Que bueno… por fin todo en una sola herramienta!»

Es gracioso pensar que ese ha sido el objetivo de los chicos de Redmon para el Visual Studio desde hace mucho (recuerdan cuando salio el primer VS? habia una frase que decia «unico IDE para todos los lenguajes»).

Las cosas han ido avanzando «poco a poco» (claro, estoy contando desde la liberacion de VS.Net), y Rosario es un gran paso, luego (segun mi breve apreciación) del lanzamiento de VSTS.

Es sorprende que recien tengamos (desde la caja) por ejemplo, soporte a diagramas de secuencia, casos de uso y demas nuevas cosas (y me estoy quedando demasiado corto).
Pero, hasta el momento hemos sobrevivido, no?
Ahora que se viene todo «lo bueno», que diran los chicos de la competencia?
Ahora cual será la falencia del VS?
Será que hace mucho que dejó de ser una simple herramienta de desarrollo? (es preocupante que mucho aun crean eso)

El tiempo lo dirá…
o no?

De momento solo queda aprovechar la maquina virtual. Pero apurense que expira en poco mas de dos meses!
Tenia planeado un breve resumen de lo que voy revisando, pero no tiene sentido volver a escribir algo que posiblemente ya vieron en sitios como el siguiente.

Dos cosas antes de retirarme:
1.- Recuerdan NDepend?, algunos features estan incluidos en Rosario, por ejemplo si hablamos de dependencias en uno  y otro, notaremos «algunas» similitudes.
2.- Eres un guru?

Saludos[at]Cama
Cross from here

Resumen del TechEd (Largo pero incompleto)

A una semana de mi regreso a casa, o debo decir, de mi regreso del TechEd Developers 2008 en Orlando, Florida, puedo comenzar indicando que aun tengo en mente cada sesión a la que asistí, personas que conocí y momentos que pasé. A pesar de ello, lamento agregar que sería complicado resumir todo lo aprendido, vivido o experimentado (incluso leído!) intentando respetar algún margen o número de palabras.
De acuerdo al cronograma del evento, todo comenzaba la mañana del 3 de Junio con el keynote de Bill Gates, terminando el 6 a las 6.30. Pasando por una visita al Universal Studios, pero de eso hablaremos luego, si es que sobra espacio.
Día 1
La mañana del 2 junio ya estaba en Orlando, la sede de la conferencia era el Orange County Convention Center.
DSC04630
Ya pasado el mediodía procedí a registrarme recibiendo los primeros souvenirs del evento, mochila, polo, horarios, un pequeño plano y las indicaciones del caso.
Luego de hacer el check-in a la conferencia pude recorrer toda la sede y era notorio que aun se estaban haciendo los últimos ajustes para el día siguiente. Con un poco de suerte asistí a la reunión del staff del evento, logrando con esto, ver un poco más de cerca a algunos speakers y al resto de personas que ayudarían en la conferencia.
DSC04641
Ante todo esto, solo quedaba esperar.

 DSC04689

Día 2
Sería la primera vez que estaría en una sesión de Bill Gates, me preparé para esto, y a pesar de no desayunar con tal de tomar un sitio cercano al estrado, las sillas estaban llenas.
Conseguí un lugar apreciable sin mucho esfuerzo, y mientras veíamos una versión especial al conocido video del último día de trabajo de Bill, se hacía larga la espera.
DSC04690
Al aparecer el Gran Hermano (como aún le dicen algunos), además de los aplausos vino un keynote que mostraba en resumen como es que el trabajo evolucionaba, y como es que el desarrollo basado en capas y la explotación de las herramientas de apoyo sobre cada una de estas sería la base de todo lo que vendría o de algunas de las cosas que ya están listas para usarse.
DSC04695.01
Fue así que se habló de SilverLight, Visual Studio Team System con todas las características que conocemos y resaltando la nueva versión del Visual Studio Team Edition for Database Professionals.
DSC04698.01 DSC04702.01 DSC04705.01 DSC04707.01
Ya para terminar la sesión presentaron un robot que era manejado por un control de XBox, de paso que se promocionaba el RoboChamps (un concurso de desarrollo basado en Microsoft Robotics)
El resto de sesiones a la que asistí las repartí en su mayoría entre los tracks de Arquitectura, SOA y Frameworks. La que puedo resaltar para este día es «Pragmatic Architecture: The Role of an Architect» presentada por Ted Neward, editor de TheServerSide.Net.

En dicha sesión se partió de la definición que se cree tener para el término «Arquitecto», se compartieron experiencias y se comprendió el porqué muchas veces (por no decir, siempre) el escepticismo sale a flote luego de presentarte como tal (han visto mi acerca de… en geeks.ms?).
La reunión terminó con un listado «pequeño» de características que debería cumplir un Arquitecto, pues como tal, debe entender, reasignar, explorar/evaluar, comunicar y guiar al resto del equipo.
Puede sonar entendible, pero el límite fue tan elevado que la ronda de preguntas y respuestas fue casi interminable.

Día 3

Para este día las sesiones que tengo que resaltar también son de Arquitectura: 
La primera de Miha Kralj, Arquitecto de Microsoft, en la cual (“Architectures:the Good, the Bad and the Ugly”), uno de los puntos que mostró de manera sencilla fue acerca de patrones y antipatrones de Arquitectura que pueden encontrarse en las fases de Toma de Requerimientos, Análisis y Diseño. En cada uno de estos casos, compartió experiencias que a pesar de provocar más de una sonrisa, nos llevaba a pensar «eso también me ha ocurrido» o “conozco a alguien así”. No tengo a la mano un blog o enlace de Miha, ahora solo recuerdo que cuando comenzó la sesión su primer slide decía «tengo todas las certificaciones, soy un arquitecto», aunque la mejor fue «soy de Microsoft, creeme». Aquí un articulo que escribió hace poco y una referencia en la que indica brevemente el rol del Arquitecto.

La otra sesión que quiero comentar es la que dio Rockford Lhotka (“Architects:How Are They Made?”), creador del Framework CSLA.Net, su presentación fue una de la más abstractas a las que asistí en la conferencia.
El ponente listó entre otras cosas, los tipos de Arquitecto y características que deberían cumplirse o evitarse.
De todo esto, cada foto o slide que mostraba, era una historia a parte con mensaje incluido.

Día 4

El jueves estuve en tracks muy variados. Es así que ya casi terminando el día fui a la sesión de Mejores prácticas de Visual Studio Team System 2008, presentada por Richard Hundhausen, MVP en VSTS. Allí se mostraron herramientas complementarias a VSTS y recomendaciones en cada fase del uso del producto.
Algo que tengo que no se pudo evitar es la frase con la que comenzó la ponencia:
«Que tu buena práctica no esté en mi lista, no quiere decir que no sea considerada como tal.
Si deseas, compártela conmigo!»


Día 5

Para el último día de la conferencia, la intensidad con que se presentaban las sesiones no había decaído, pude estar una vez más en más de una presentación que llenaba mi cuaderno de apuntes o laptop, dependiendo de la batería de la misma, pero lamentablemente solo me queda espacio para mencionar una sesión y esta es la que mostró Krzysztof Cwalina, Program Manager del CLR Team, bajo el título de «Evolving Frameworks«, en la cual Krzysztof dictó una serie de lineamientos, experiencias y buenas prácticas referidas al diseño de Frameworks.
Para este caso la ronda de preguntas también fue interminable, luego vino la rueda de autógrafos, pues había muchas personas con el libro de Krzysztof esperando una firma.
Por mi parte, debo agregar que es uno de los libros que tengo siempre a la mano (No, no lo llevé, así que no tengo su firma)

Cierre

Ya terminando la última sesión de la conferencia, sabía que había presenciado situaciones en las que no solo se hablaba de arquitectura, diseño o liderazgo de equipos.
Era claro, se mencionaban también aspectos de integración a todo nivel y más aun, a niveles cada vez más elevados, pasando por planeamiento, costos, software, hardware, redes, configuración y limitantes de las mismas.
Yo ya no tenía cuaderno sobre que apuntar, se que muchas conversaciones y experiencias quedaran grabadas en un solo lugar. Y claro, siempre estarán las ganas de regresar.

Saludos[at]Cama
Cross from here
PD:
Estoy seguro de que las pocas personas que aun leen este blog (espero) me criticaran, sea por mail o personalmente no haber contado todo lo que he visto, las sesiones a las que entré, pero son demasiadas las cosas que lamentaria no contar por falta de tiempo o porque se me pueda pasar, accidentalmente, resumiré un poco algunas cosas que olvidé resaltar:
– Luego de registrarme y dar vueltas por el Convention Center, fui a mi hotel, y salí con dirección en mano, en busca de una Laptop, tomé un taxi usando el metodo Peruano, es decir, no llamé por teléfono, lo detuve mientras caminaba.
– El joven me dijo en perfecto ingles (mentira, eso no era ingles) que eso quedaba al otro lado del mundo, yo entre señas le dije que de todas maneras me lleve.
– Una hora despues llegué al CircuitCity que decia tener en stock la laptop que necesitaba para el resto de la conferencia (como iba a tomar nota?)
– El joven taxista me dijo que normal podía esperarme, le dije que prefería caminar un rato.
– Dos horas de caminar en calles sin pistas me hizo buscar un teléfono público que nunca encontré.
– Por suerte mi ingles permitió conversar con un señor que atendía en un hotel del camino, y me prestó el teléfono.
– Mucho tiempo despues estaba con la ultima laptop en mi espalda, mucha hambre y ganas de comenzar la conferencia.
– Al terminar el keynote estaba tan cerca del amigo Billy que era imposible no notar que se ve bien viejo.
– Cuando comenzó la ronda de preguntas muchas personas dejaron la sala, fue así que pude acercarme.
– Conversando con un amigo me dijo que era la primera vez que Bill no decía nada nuevo, o al menos no tan revolucionario como muchos esperaban.
– Yo recien conocía a este nuevo amigo, e internamente me decía… «este maldito… yo recien vengo» y se lo dije «es la primera vez que lo veo en persona, es cierto lo del keynote»
– Miha Kralj hablaba en diferentes velocidades, movía sus manos como loco, fue excepcional su presentación.
– Llegó un momento que dijo «Yo se que mis amigos en Redmon me odiaran por eso, pero…»
– Minutos despues todo el mundo reia.
– Lo gracioso es que uno puede reirse incluso de cosas muy serias.
– Lhotka tuvo la mejor presentación que vi en mucho tiempo, lo gracioso es que cada slide tenía una sola palabra o una foto, mas gracioso fue darme cuenta que incluso los chistes tenían un mensaje.
– Lhotka ama eviajar.
– Al entrar a una sesión del Hansselman, intenté tomarle una foto mientras preparaba su laptop para la presentación (faltaban pocos minutos), el notó que quería tomarle una foto, me dijo «Hey!» y comenzó a mover la mano en señal de saludo, yo hice lo mismo pero no pude tomar bien la foto, asi que, ustedes creanme, el sabe que existo.
– La presentacion del ScottHa fue buena, pero mejor fue la manera de decir «yo hago todo lo que ScottGu me dice, el es mi masterchief, si señor!» y puso una foto de ScottGu con un casco encima.
– ScottHa programa al vuelo, no tiene problemas si se cae la aplicación, continua, se pone a pensar, borra codigo, compila, se rie y sigue.
– Fue una de las dos sesiones en la que vi código .net
– Tenia un pase al Universal Studios, el tiempo allí se pasa volando.
– Si te dicen ponte los lentes obscuros, debes ponertelos.
– Si te dicen, no saques las manos del carrito, no debes sacarlas.
Bob Patiño es malo, pero me sigue cayendo bien.
– Me quedé en el Hard Rock Café.
– Casi me vuelvo loco de tanta historia musical.
– En una sesión de buenas prácticas de VSTS habían varias cosas que estamos implementando, me sentí contento, no estabamos reinventando nada.
– Cuando entré a la sesion de Diseño de Frameworks estaba seguro que todo sería muy util.
– Llegué temprano, y me puse adelante, era tan temprano que aun estaba vacio el salón.
– El expositor me miró, yo seguí tomando mi refreso y lo saludé (que mas podia hacer?)
– Mientras el ponente se presentaba, recordaba que su nombre (ademas de ser raro) me era demasiado familiar.
– De hecho era el autor del libro que siempre reviso.
– Para esto habia decidido, grabarlo.
– Me quedé hasta que terminen todas las preguntas, varias de las dudas de diseño, ya las habiamos pasado aqui en Lima.
– Si, tomamos el camino correcto.
– Perdí una sesión por responder algunos correos.
– Fui a otra sesíon, de IronPython si mal no recuerdo.
– No había slides ni nada, solo código al vuelo, y mucha gente durmiendo (o yendose, no miento)
– No me gustó mucho la manera de presentar, me pareció muy de universidad o de ultimo minuto, asi que me fui a buscar otra sesión.
– Fue gracioso pero en una charla mencionaron un caso con el que me había topado hace un tiempo.
– La respuesta a mi duda de ese momento fue «en esta versión podemos hacer lo siguiente»
– «Y existen estas librerias que tambien podemos usar»
– «Y este helper, es muy bueno, usenlo»
– Cuando comenzó a mostrar los metodos del helper y a mencionar a voz en cuello «Dependency Injection«, tenia sentimientos encontrados, mis librerias ahora tenian otro nombre, y su helper tenia mis metodos (no miento, por eso quiza digo «sentimientos encontrados»)
– En parte del primer piso del Convention Center se ubicaron los partners, la verdad es que era para volverse loco, podias preguntar lo que sea, habian muchos productos que te daban otras perspectivas, ideas.
– Casi me vuelvo loco cuando vi todos los souvenirs que regalaban.
– Casi me vuelvo loco cuando me dí cuenta que solo había llevado un maletin y que la mochila de la laptop, era solo para laptop.
– Conocí un store samsonite.
– Amazon me debe amar.
– Microsoft Store me debe idolatrar.
– La ultima sesión a la que entré fue si mal no recuerdo, de Biztalk, lamento decir que fue demasiado comercial, hasta el momento no me habia topado con eso.
– Tuve que salir a buscar, otra sesión.
– Y pensar en recojer las cosas del hotel, dentro de poco salía mi vuelo a Miami.
– Tenía un par de horas, asi que al Museo de Ripley (estaba muy cerca imposible no entrar).
– Entré al aeropuerto con nueva maleta, la cual, tenia muchos libros.
– La chica del check-in me dijo «eres un genio?»
– En todo el viaje mas de una vez una chica me hizo el habla, o me saludó o me sonrió o algo mas.
– Entienden eso? entonces cual es el problema!!! Ya vi que no soy yo!
– Llegando a Miami me dijeron «disculpe su avion ya partió, aqui tiene un boleto de avion, un cuarto de Hotel, desayuno, almuerzo, cena»
– Sus cosas las verá en Lima, descuide.
– Conocí Miami por accidente.
– Casi llego a Miami, pero por accidente.
– Casi llegando, hubo una turbulencia que detuvo todas las conversaciones.
– Han visto Lost?
– Los dinosauros chinos son grandes y diferentes.
– Vi kungfu panda
– Tanto en Miami como en Orlando, las tiendas son peligrosas (o seré yo un peligro para mi tarjeta de crédito?)
– Es un problema conseguir un taxi, ni por teléfono ni a la antigua.
– Casi pierdo mi vuelo
– Estaba muriendo de cansancio.
– Llegue a Lima.
– Aun no termino de desempacar.
DSC04616 DSC04629 DSC04635
DSC04641 DSC04648 DSC04653
DSC04670 DSC04688 DSC04720
DSC04727 DSC04726 DSC04730 
DSC04743 DSC04741 DSC04779
DSC04747 DSC04781 DSC04826
DSC04799 DSC04832 DSC04848 
DSC04851 DSC04949 DSC04956
DSC04985 DSC04977 DSC05135
DSC05130 DSC05201 DSC05180
DSC05218 DSC05143 DSC05235
DSC05251 DSC04989 DSC04990
DSC04995 DSC04991 DSC04993

Luego del TechEd 2008, a trabajar!

Es el primer día en el trabajo luego del Tech, fue una semana completamente arrolladora, debo confesar que tenia planeado escribir al maximo sobre cada charla a la que asistí, pero lamentablemente, fueron demasiadas horas, sesiones, comida y sentimientos que espero compartir en el transcurso de los días.

Lamento que algunas personas (vamos, que fue al menos una) haya estado pendiente a los siguientes posts (solo hubo uno), espero hacerlo ya pronto. De paso les voy contando que me quedé varado en Miami, y bueno, a conocer hasta que saliera el proximo vuelo, no?

Saludos[at]Gesfor Lima
Cross from here.

TechEd2008 – Preconferene y Keynote

Recien salgo del keynote, todo bien.
Ayer vine un momento a registrarme, nunca habia estado en un evento con tantas sesiones, asi que es comprensible que el escenario sea espectacular.
DSC04633 

Y las cantidas de pcs disponibles…
DSC04640

Ahora si, el keynote (que no llego a la siguiente sesion)
Muy interesante todo, comenzó con la versión extendida video del ultimo día de Bill.

DSC04693   
Ahora si me voy, luego les cuento…
Saludos[at]Orlando
Cross from here

Hanselman says "Not Northwind" (so?)

Hola, revisando mis feeds (es que a veces no se puede dormir), me encuentro con un post del ScottHa, el cual, es muy directo, un llamado a la comunidad, el mensaje es simple «Not Northwind» (El gráfico proviene del site de ScottHa)

Debo admitir que las demos con las que trabajo, son en su mayoría con la Northwind, es que, casi todos al menos una vez escucharon de ella, asi que no tengo que gastarme mostrando por ejemplo la Adventure o alguna otra.
Tanta fue mi decepcion al trabajar con SQL2005 luego de descubrir que ya no venia la muy preciada northwind, que siempre llevaba una copia para poder restaurar/usar.

Pues bien, el llamado a la comunidad esta dado, el proyecto, ya publicado en codeplex tiene como finalidad una base de datos nueva, creada por la comunidad de desarrolladores, me animaria a decir, nosotros, espero que alguno se anime a apoyar, de momento no podría asi que mejor no me hago ilusiones =(.

Que dicen? alguien que se apunte?
Me cuentan.

Saludos[at]Cama
Cross from here

Writing High Performance SQL Code + The Architecture Journal + TechEd2008

Holas, quería dejarles tres enlaces (en realidad dos) de mucho interes.

Writing High Performance SQL Code
De momento solo puedo decirles, se ve interesante el libro, aqui una breve reseña.

Dicho sea de paso, esta disponible para descargar.
Te interesa entender los planes de ejecución?
Quizá un poco de tuning?
Recomiendan el uso de una herramienta, pero dan opcion de revisar solo el libro (buena idea, no?)

The Architecture Journal
Hace un tiempo recibía la version en linea de este magazine, de verdad, me parece muy bueno.
Hoy lo recordé pues llegó a mi mesa de trabajo, la version impresa!

Volvi a inscribirme, pues ya no me llegaba, y de paso les pedí que me envien una copía, y gratis!
Aqui la dirección para que vayan revisando.
Ahora, si les interesa suscribirse, pues aqui el enlace.
En todo caso, pueden descargarse las ediciones anteriores (incluso la actual). Esto en varios idiomas, incluso el español!.

TechEd 2008
Pues bien, la siguiente semana estaremos en el TechEd!

Espero asistir a todas las sesiones, aunque, bueno, son mas de 600 y varias a la misma hora, de todas formas, seguiré buscando la manera de dividirme en 5.
De todas formas, asistiré a las sesiones del ScottHa.

Ahora si, me voy a la casa.
Saludos[at]Gesfor-Lima
Cross from here

La Caja – Presentación / Ndepend (Analyze Code/Structure Tool!) / Artículo Recomendado

Presentación
Buenas, tal como habia comentado en un post anterior, la idea de esta sección es (no, no es copiar ToolBox de Msdn Magazine) comentar algunos recursos que he encontrado ya sea por investigacion, necesidad o conversación entre amigos.
Entre recursos podemos considerar, herramientas, enlaces, libros… si, es la misma idea de la sección ToolBox del Msdn Magazine (no, no es copiar ToolBox de Msdn Magazine), pero claro… salvando todas las distancias (es que, no soy Scott Mitchell)
Por ello, a manera de homenaje (no, no es una copia!), le puse «La Caja»
A ver que sale.

NDepend: Herramienta de Analisis de Codigo / Estructuras / Dependencias / Buenas Prácticas / Todo!
El buen Patrick Smacchia nos menciona en su blog como es que se usó NDepend para mostrar las diferencias entre el Framework 3.5 y su respectivo Service Pack.
Pues bien, como habia mencionado anteriormente ese analisis me impactó.
Por ello aqui una breve revision de que lo que ofrece:

Luego descargar la herramienta procedemos con la instalación sobre nuestro ambiente de desarrollo, en este caso VS2008. Si queremos, podemos indicarle la ruta en la que tenemos el Reflector (quizá muchos sepamos que es, pero, a ver si lo ponemos en una proxima edición de La Caja). En tales casos, la instalacón es de a lo mas un click.

ndepend001 

Para realizar analisis de código, pues obvio que necesitamos al menos una clase!
Por ello, que tenemos la siguiente libreria:

ndepend005 

Como puede notarse, la librería tiene todas las capas que uno se pueda imaginar.
A lo cual debo agregar:
1.- Esto es un ejemplo, todo es a propósito.
2.- Trabaja en base a namespaces, la descomposición es sencilla.

La idea de esta librería es entregar los métodos base de mantenimiento (Registrar/Actualizar/Eliminar), asi que, luego de construir, sobre el proyecto, click derecho…

ndepend002 

Indicamos con que Assembly queremos trabajar
ndepend006 

Continuamos y la barra de mensajes comienza a poblarse…
ndepend007 

Lo primero que veremos será lo siguiente:
ndepend008

Luego de una inspección, podemos listar las siguientes vistas:
– Metricas:
ndepend009
Debo confesar que la primera vez que me encontré con este gráfico no comprendía por completo a que se refería, pero pasando el mouse puedes darte una idea, mas aun si el tamaño del gráfico tiene relacion directa con la cantidad de líneas de código. Muy importante aspecto si se busca entendimiento ý/o modularidad.

– Dependencias:
ndepend010

Esta vista me parece muy buena, mas aun si te interesa conocer de que manera se relacionan los objetos entre diferentes librerias. Los números que aparecen entre las celdas indican en este caso, la cantidad de métodos usados; por ejemplo 6 métodos del tipo Registro usan objetos que pertenecen al namespace DO.
Si se busca mayor especificación, el arbol de dependencias puede extenderse a detalle, o en todo caso, se puede hacer click sobre la celda y se obtiene lo siguiente:
ndepend011 

A mi me gustó esta característica. Mas aun si de la misma manera, puede generarse un gráfico con las dependencias, a nivel de librería.

– CQL Queries:
ndepend012 
Esta vista de por si tiene muchas cosas que pueden explotarse, mas aun si viene con un lenguaje de consultas, que te permite entre otras cosas, saber cuantos metodos de tipo string con mas de 50 lineas de código, métodos que por cierto, nunca llamas!
En la vista se puede observar por ejemplo, que las consultas por defecto que te muestra son, Restricciones de Calidad de Código, Restricciones de nombre (las cuales, se puede personalizar), Diseño, Performance, Código que nunca usas!, etc.
Estoy algo contento con algunos resultados pues a pesar que el ejemplo fue construido «al vuelo», pasó algunas de las pruebas (suerte, le dicen).

La herramienta te permite realizar tus propias consultas CQL, el cual es intuitivo, aquí un ejemplo rápido, contaremos las líneas de código de cada objeto.
ndepend013 

La consulta es simple, no se ha agregado codificación de alerta (WARN IF), por eso mi ejemplo tiene ícono verde.
ndepend014

Click sobre la consulta creada, la vista de Query result me muestra lo siguiente:
ndepend015 

Y si quiero mas detalle de cada objeto, pues click, y pasamos a la vista Info.

– Info:
ndepend016 

– Class Browser:
Esta vista es similar a la presentada por el Visual Studio, en ambos casos, se recomienda el uso del click derecho para encontrar funcionalidad que nos servirá de mucho.
ndepend017 

– Resumen NDepend
Bien, este fue un muy breve resumen del uso de NDepend, aquí pueden encontrar mas características.
Un resumen general, a manera de ppt, disponible desde el sitio oficial en este enlace.
La seccion de tips y el blog de Patrick les servirá de mucho!

Artículo Recomendado
Revisando mis feeds descubro con que el Cazador de Mitos Carlos Walzer acaba de publicar la cuarta parte de su bloque de artículos denominados Antiprácticas, esta vez mostrandonos el manejo de los Datos a nivel memoria (es decir, cuanto cuesta a nivel de bytes usar tal o cual método), usando herramientas como .net Memory Profiler, JetBrains y CLR Profiler (Potenciales candidatos para La Caja).

Solo para darles una idea, les muestro una imagen tomada del blog de Carlos:
 

De lectura muy recomendada. Luego de esto, dan ganas de usar el CLR Profiler, y eso que a veces da miedo.

Sin mas me despido.

Saludos[at]Cama
Cross from here

XSLT + ToolBox en MSDN + Comentarios + Ndepend!

Pues bien, aquí en Lima ya estamos comenzando el martes (bueno, son las 00.40), el lunes ha sido emocionante, con reuniones que tenia previstas y conversaciones que lo dejan a uno pensando, incluso a la hora de almuerzo, o cena o cuando simplemente quieres revisar unos feeds antes de escribir algo a mano (pues a veces vale la pena).

Resumiendo, los temas que quería comentar no pudieron ser alcanzados, o en todo caso, conociéndome… se me va la noche, el día y demas horas, asi que, mejor… lo dejamos para despues.

Antes, un breve reporte de las cosas que he encontrado en la red o lo que siempre quería/quiero comentar:

XSLT a fondo:
Qué han intentado hacer con XSLT? la respuesta se puede transformar en otra pregunta «qué no se ha intentado?«
La verdad, es que aun recuerdo el primer ejemplo práctico con el cual conocí a este medio de transformación:
«Integrar dos aplicaciones completamente peleadas, diferentes plataformas, diferentes desarrolladores, todo diferente.»

Pues qué se hizo? un contrato, es decir (a grandes rasgos) un esquema o estructura de trabajo que debía (tenía) respetarse y una transformacion XSLT que permitió integrar sin problemas dos soluciones que no querían conversar (no mencionemos Biztalk, por lo que sé, el cliente no quería o en todo caso, no siempre debemos matar una mosca con una shotgun).
Claro que la transformación podía hacerse programáticamente, como muchos ya habrán pensado, pero usando XSLT el procesamiento es mas humano.
Adjunto una imagen gracias a TopXML

Ahora, han intentado generar un archivo aspx por completo, usando XSLT? Uno simple, mostrando un registro en particular. Con un poco de cuidado y estudiando (no todo es googlear) uno descubre que no es complicado generar un HTML con esa información, pero, un ASPX? ojo, sin .NET ni otros artificios, solo con XSLT.
Pues bueno, primero debemos recordar que un ASPX contiene etiquetas asp, con ello en primera instancia debemos indicarle a nuestra plantilla que esté preparada para generar etiquetas diferentes a las convencionales, es decir ahora debemos considerar a los tags «<asp:«
Esto se logra agregando lo siguiente en la cabecera de la plantilla:

<xsl:stylesheet version=»1.0″ xmlns:xsl=»http://www.w3.org/1999/XSL/Transform» xmlns:asp=»remove»>

Pues que sucede con esto? con algunos procesamientos, se logra un avance considerable, aunque luego vienen los artificios que ya veniamos mencionando, lo que es combinar algo de .net para que se pueda tener algo mas presentable.
Si bien es cierto se logra bastante avisandole al XSLT que no tome en cuenta las etiquetas «<asp:», debemos considerar que las paginas ASPX comienzan con el clásico «<%@ Page Language=….>»
Como resolvemos eso? pues la verdad, de momento no encontré un libro o documentación en línea que me indique que namespace o instrucción agregar para que el XSLT permita este tipo de etiquetas, asi que, de momento a usar .net nomas (aunque, la verdad, el uso es cada vez en menor cuantía)

Aquí un artículo que me parecío de por si, muy interesante, de TopXML.
Y que podemos usar para hacer la transformación, pues el Visual Studio!

ToolBox en MSDN
Debo confesar que me he vuelto un fanático de la sección ToolBox del MSDN Magazine. No se como sucedió pero me gusta la simplicidad con la que comentan que herramientas consideran como recomendables, lo mismo para las páginas, y libros!

Para el mes de Mayo mencionan una herramienta para revisar cambios en base de datos, si… pero a nivel de registro, y si de páginas hablamos, esta vez fue el turno para el buen Joel de Joel on Software, el cual, la verdad es que tiene muy buenos posts. Si es que no lo conocian, seria bueno que se den una vuelta, o en todo caso, a manera de resumen pueden entrar a la seccion en español.
Y ya que hablamos de Joel, siempre es bueno reflexionar con un «Nada es tan simple como parece» (Cuantas conversaciones al respecto)

Sobre todo esto, considero, que quizá con el tiempo (con algo de suerte y administración del mismo) pueda escribir igual, bueno, nada se pierde soñando, no? Pues claro que me refiero a hacer reviews sobre productos, recomendar páginas, o incluso libros! (bien, creo que ya es hora de dormir).

NDepend!:
El ultimo post, que de por si era creo, igual de largo que este, tuvo dos… dos… dos comentarios! (contando el mio), ademas claro del spam que por suerte no fueron publicados, pero, hace unos días me llegó un mail del buen Patrick Smacchia, comentándome un poco más sobre el NDepend, yo la verdad, feliz de leerlo! y mas aún, espero darme unas horas mas adelante para hacer un breve review, sobre el uso y que facilidades se tienen. En todo caso, la verdad es que en el blog de Patrick pueden encontrar, desde ya, información en abundancia.

Comentarios:
Bueno, me despido, se me pasó la hora más de la cuenta, pero antes de cerrar la tienda, dos enlaces (a ver si puedo contar):
Improve Web Application Performance: 12 Aspectos que te dejaran pensando un poco mas de lo normal, la sección 13 indica las conclusiones a las que deberiamos llegar.
Download YouTube Videos as MP4 Files: Bueno, hagan click y me cuentan si les sirve, mas aún si la funcionalidad es nativa de YouTube.
– Entienden la imagen?

Me comentan.

Saludos[at]Cama
Cross from here

WF Designer + Performance Tool + VB Tips + Todo!

Antes de apagar la máquina (o me corten el internet pues dicen que debo dormir, lo cual no comprendo) compartiré con ustedes lo que estoy viendo en las ultimas horas, espero no quedarme corto. Lo que si es cierto, es que son días muy interesantes aqui en Gesfor (filial de Perú, mientras me soporten).

Resumiendo! (como diría el buen Joaquin)

WF Designer:
Vamos al grano, hace un tiempo me preguntaron cuando demoraría construir un diseñador similar al que venia en la versión beta de WF (si, en beta, o alfa?, la cual aun recuerdo, se caia cuando queria depurar un flujo de los mas simples y venía sin editor de criterios), Yo a finales del 2005 dije de plano que mejor se estabilice y luego ya vemos.

Pues bien, hace un tiempo que estamos redifiniendo una funcionalidad y recordé al WF, hay un equipo que lo usa bastante, pero me vino a la mente la pregunta del 2006, aprovechar el diseñador, hasta que punto? Cuánto se tiene que investigar?
Lo que si podemos responder incluso publicar (creo) es que msdn hace un buen tiempo (años) un ejemplo del uso del diseñador de flujos que viene con el VS, como para no dejar de usarlo, no?
Ahora, para que lo estamos usando? es obvio pero no comentable, al menos por el momento.
Por mi parte, es una manera de tener un segundo round con el WF, debido a que cambiamos de proyecto no pude seguir en R&D / Arquitectura sobre Flujos (ya, no seas quejón que ahora tampoco estas viendo WF)
Por si les interesa, nunca está de mas comentar que siguen los HOLs de WF, como para revisarlos no nuevo, no?

Performance Tool:
Hace un tiempo que vengo preparando una presentacion sobre Code Analysis en VS, haciendo referencia claro, a herramientas externas. Tal como le comentaba al buen David, estaba buscando una que habia visto en un MSDN Magazine (en las propagandas =D) pero como no la tenía a la mano, no recordaba el nombre.
Aqui un enlace a la pagina del soma, contandonos un poco sobre las nuevas features de CA en VS2008.

Lo gracioso es que no estabamos hablando directamente de una herramienta, pero como la conversa sobre alternativas al uso de objetos de datos vino el enlace a un post de Carlos Walzer que hace unas comparativas alucinantes, les dejo el post, muy bueno, y el nombre de la herramienta, pues dentro del enlace.
Por cierto, no dejen de leer el post, es una seguidilla de tres artículos, los cuales no termino de leer, pero ya de por si, con la herramienta, he quedado ciego.

VB Tips:
En The Visual Basic Team encontré un post muy bueno, en si es un resumen y recursos de una presentación sobre Tips en VB2008, en la cual, como siempre, bajo la comparativa sobre C#, como que quedamos algo mal parados.
Lo cual por cierto, debo afirmar, pues ayer en una renión agregué una librería VB2008, y me sentí como cuando me dieron mi primer VS.net (dios!! no recuerdo el año, solo que demoraba milenios instalarlo en un windows nt). El entorno es muy amigable, me dan ganas de escribir unas librerías en VB, como para no perder la costumbre de su IDE reforzado (es injusto!, si todo fuera igual en el IDE de VC#, tendría mas adeptos de los que siempre va ganando).
Adjunto el enlace de la presentación, la cual es muy interesante, como les dije lineas arriba, dan ganas de darse una vueltita por VB2008 con refactor reforzado (de por si, ya lo estoy haciendo)

Todo!:
Ya para terminar (pues me acaban de decir que me botarán de la casa si no duermo), algunas cosas sueltas
– De que conversaba con David? De muchas cosas, pasando por nuestros días universitarios hasta la lucha de siempre (no, no me refiero al Real-Barcelona), prácticas en Acceso a Datos, una prueba es la busqueda que puse en google. Además del enlace que me pasó via msn, uno de Dino Espósito y otro de Scott Mitchell. Altamente recomendados.
– Sobre Blogs C#: He notado que los blogs listados en la seccion C# de msdn, no están muy actualizado que digamos, que diferencia con los de VB, no?. Qué pretenden!!!???
– Revisión de Código/Diseños, seguimos avanzando: Pues si, nunca dejamos de aprender, hace un par de días encontré un post muy bueno, que usaba ndepend para revisar los cambios en las librerias que vienen con el netFw35 sp1 (aun en Beta), lo curioso es que hace tiempo lo leí en el blog de Scott Hanselman (idolo!), pero Patrick Smacchia me convenció, les recomiendo el blog (en realidad ambos), mas aun la herramienta mencionada, es muy buena, sobre todo si les interesa saber si su diseño tiene sobrantes o sufre, como dicen en algunos lugares, de erosiones.
– Tres herramientas Code Coverage, que deberiamos revisar: No los aburro mas con eso, las listaré nada mas (ojo, el orden es indiferente, aun estan en evaluación):
NCover
ReSharper
OxyProject
Pues como los encontré? google.

– La frase que nunca debemos olvidar:
«Parte del hecho de mantenerse al día significa pasar una hora al día desarrollando prototipos; probando cosas, bien tu propio producto u otras tecnologías; obtener una visión de las piezas de las que se dispone y cómo usarlas.»
Mas información en este blog.

Bien, me despido
Saludos[at]Cama
Cross from here