domingo, 21 de septiembre de 2008

Empowering Aluxes.NET

Hola!

Hoy me siento muy contento, ya que esta semana he recibido buenas noticias para la comunidad Aluxes.NET de la cual soy parte.

En primer lugar hace unas semanas la comunidad Aluxes.NET celebro un convenio de coloboracion con el Consejo de la Industria de la Tecnologia de Informacion de Yucatan AC (CITI).
De este forma estaremos trabajando mas de cerca con el cluster de tecnologia de nuestra region pero sobre todo demuestra que nos estamos consolidando como un grupo de profesionales en desarrollo de software.
Otra gran noticia es que ahora somos parte de INETA(International .NET Association) y esto traera grandes beneficios para la comunidad en los proximos meses.
Y para terminar nuestra comunidad esta en las tres mas activas del pais de acuerdo al ranking de comunidades de Microsoft.
Asi que tanto personalmente como profesionalmente es muy gratificante formar parte de este proyecto y seguir ayudando a que otros profesionales mejoren en sus habilidades como yo lo he hecho.
Espero que sigan participando en Aluxes.NET y que nos envien sus comentarios y sugerencias ya que como siempre he dicho la comunidad la hacemos todos.

Les envio un cordial saludo!




lunes, 25 de agosto de 2008

Introduccion a C# para desarrolladores VB6, en Aluxes.NET

Hola!
El pasado Jueves 21 de Agosto se llevo a cabo la reunión de desarrolladores de Aluxes.NET, donde tocamos un tema fundamental para aquellos desarrolladores que apenas comienzan con la plataforma .NET y uno de los lenguajes mas populares C#.
Asi que nuestro buen amigo, Moises, nos preparo un breve recorrido por los fundamentos de la programación orientada a objetos y del .NET Framework, como buen punto de partida.

Se comento la importancia de que mas que aprender un lenguaje nuevo es re-plantear la forma en que resolvemos los problemas, primero modelando los objetos y sus relaciones antes de comenzar a escribir código y como Visual Studio nos ayuda con estas tareas.
Posteriormente se mostrarón las bondades principales del lenguaje C# y las diferencias basicas que existen entre estructuras de datos,ciclos y condicionales entre otras.
Se intercambiaron varios puntos de vista sobre la transicion a la que se enfrentan los desarrolladores de VB6 u otros lenguajes hacia el mundo de .NET y cuales son los principales retos, así como que tan facil o dificil puede ser la curva de aprendizaje dependiendo de tu background.
En general, fue una charla bastante reconfortante y esperamos poder realizar otro evento donde se puedan mostrar mayores ejemplos con situaciones cotidianas de programación.
Esperamos haya sido de utilidad para todos.
Aqui les dejo la presentacion de la platica.

Para complementar la presentación les comparto este enlace en donde podran descargar unos materiales donde de manera practica se discuten tambien las diferencias entre VB6 y C#.

Y para finalizar echenle un vistazo al blog de Jorge Serrano, un destacado MVP de Visual Basic donde precisamente toca el tema de la transición del desarrollador VB6 hacia la plataforma .NET

Saludos


viernes, 1 de agosto de 2008

Reporting Services en Aluxes.NET

Hola!
El dia de ayer tuvo lugar la reunión mensual de la comunidad de desarrollo Aluxes.Net
con el tema de Reporting Services con SQL Server 2008.
Como saben proximamente se liberará la versión RTM de SQL Server 2008 asi que los demos fueron realizados
con la version Release Candidate 0 (RC0).
En terminos generales se mostro cuales son las bondades de la generación de reportes vs la version 2005.
Entre otras cosas la version 2008 ya no depende de IIS para la instalación del servidor de Reportes sino que usa un motor interno para su administración.
Una de las características mas destacadas es el nuevo diseñador de informes, el cual tiene una interfaz como la de un proyecto con Visual Studio 2008 pero ademas permite agregar toda la funcionalidad de Business Intelligence Development Studio.
Un elemento core de esta version es la nueva región de datos Tablix, la cual permite aprovechar las funcionalidades de regiones Table y Matrix, las cuales ya existian en versiones anteriores.
Es increible lo práctico y fácil que resulta diseñar un reporte con el nuevo diseñador de SQL Server 2008, pudimos constatar que un reporte común con agrupaciones y sumarios por totales (como por ejemplo, un resumen de ventas por año,trimestre)..puede ser diseñado en tan solo unos cuantos clicks...asi es...y con la nueva región Tablix las posibilidades se multiplican, permitiendo generar reportes que por ejemplo con Crystal Reports, tienes que hacer como dicen por ahi...circo, maroma y teatro, asi que generar reportes con Reporting Services nunca fue mas fácil.
Por ultimo vimos como publicar nuestros reportes hacia el servidor de SQL Server 2008 y como podemos accesar éstos via web entre otras opciones.
Asi que les dejo la presentación para que le echen un vistazo.


Saludos!

miércoles, 16 de julio de 2008

Herramienta Gratuita para Screenshoots

Hola!
Despues de una breve pausa aqui estoy de nuevo en el blogging, asi que en esta ocasion les comento acerca de una herramienta que acabo de encontrar y creo que será de bastante utilidad para ustedes.
Se trata de una herramienta para tomar screen shoots o "pantallazos" a nuestras aplicaciones o para mostrar graficamente los pasos a seguir para realizar alguna tarea o por ejemplo si deseamos hacer un mini tutorial,etc.
La herramienta se llama BugShooting y por el nombre se hizo en pensando en que puedas facilmente mostrar con una imagen algun problema con tu aplicacion.
Aqui les listo algunas de las características interesantes de BugShooting:
  • Es gratuito
  • Puedes capturar ventanas, secciones de la pantalla
  • Permite combinar screenshoots
  • Captura suspendida (permitiendo capturar la seleccion de una secuencia de menus por ejemplo)
  • Zoom
  • Se puede configurar para que los screenshoots sean enviados a servidores de registro de bugs como BugTracker,FogBugz,etc
  • Permite editar el screenshoot y rotarlo agregarle anotaciones,recortar,etc
  • Incluye comandos para salvar, imprimir o abrir un screenshoot.

En el mercado existen ya algunas aplicaciones comerciales para estas tareas que son de utilidad, por ejemplo Snag It o si quieren algo mas profesional por ejemplo para un video tutorial esta tambien el Adobe Captivate bastante profesional (es la evolución de RoboHelp si alguna vez escuhcaste de el).
En fin creo que cuenta con todos los atributos para que lo tengas en tu caja de herramientas, asi que pueden checar la pagina oficial aqui.

Ustedes que herramientas usan para estas tareas? Compartan sus comentarios.

Espero les sea de utilidad.

Saludos

miércoles, 28 de mayo de 2008

Control de Calidad del Software en Aluxes.NET


Y las ultimas semanas han sido importantes para los desarrolladores de nuestra región sureste, ya que hace unas semanas Microsoft presento Visual Studio 2008,SQL Server 2008 y Windows Server 2008 en el marco del Microsoft Tecnnology Preview en esta ciudad de Mérida Yucatán

Este tour tuvo varias sedes por todo el país dando a conocer estas nuevas herramientas y todas las novedades y ventajas que ofrecen tanto a las empresas como a los profesionales de informatica.

Esta ola de lanzamientos 2008 concluyo este mes de mayo pero aun hay mucho por aprender.


Por otro lado la comunidad Aluxes.NET tuvo el dia 27 de Mayo su reunión mensual con el interesante tema Control de Calidad del Software, quien mi estimado amigo el Ing. Daniel Roche nos dio una charla acerca de esta importante tarea dentro del ciclo de desarrollo de software.

Durante la conferencia se hablo acerca de la importancia de esta actividad y el elevado costo de los errores que no se detectan en etapas tempranas del ciclo de desarrollo.
Se comento tambien acerca de que usualmente no se considera importante tener un Ing. de pruebas o un departamento de calidad de software dentro de las areas de sistemas, pero definitivamente ahorrarían tiempo y dinero al momento de poner nuestro sofware en producción.
Aunque las herramientas comerciales para la actividad de un Ing. de pruebas no son baratas y tampoco su capacitación, se pueden encontrar algunas opensource como Bugzilla que nos pueden ayudar a llevar a cabo estas tareas.

Aqui les dejo el enlace de descarga de la presentación, espero les sea de utilidad.


Saludos!





miércoles, 21 de mayo de 2008

Rica Experiencia de usuario: WorldWide Telescope

Inovación es una de las cosas en las que Microsoft siempre se ha caracterizado y en esta ocasión me gustaria compartir con ustedes esta herramienta totalmente gratuita que Microsoft Research recien acaba de anunciar, se trata del WorldWide Telescope.

Esta herramienta de la ola de aplicaciones Web 2.0, es un telescopio virtual, un software de visualización de imagenes de los mas prestigiados telescopios del mundo incluyendo obviamente los de la NASA.

Uno de los objetivos del proyecto es que sirva como una herramienta de enseñanza y aprendizaje para todas aquellas comunidades y escuelas interesadas en el area de astronomía, pero finalmente cualquiera que desee conocer mas acerca de tema puede descargar el software para su uso.

Con una base de imagenes de varios tera bytes de información esta aplicación nos brinda la posibilidad de explorar galaxias, estrellas, planetas que de otra forma sería difícil de hacer sin ayuda de un telescopio de verdad.

La exploración pueden hacerla desde varias perspectivas, hacer zooms,etc, en terminos de informatica realmente brinda una rica experiencia de usuario y esta basada en el Microsoft High Performance Visual Experience Engine.

En este link pueden encontrar la página oficial del WorlWide Telescope donde pueden realizar la descarga, ademas pueden realizar tours guiados por parte de prestigiados astronomos pero igual pueden hacerlo por su cuenta.

Les recomiendo verifiquen los requerimientos mínimos para usar esta aplicación antes de descargarla.

Pues bien, este es una de los grandes ejemplos de como la tecnología nos ayuda a entender mejor nuestro mundo y universo.

Ojala puedan echarle un vistazo.

Saludos!

viernes, 16 de mayo de 2008

Moonlight disponible

Se ha anunciado la disponibilidad de MoonLight para Silverlight 1.1 y 2.0.
Recordemos que Moonlight es la implementación open source de SilverLight para Unix y otros sistemas operativos, el cual es patrocinado por Novell bajo la dirección de Miguel de Icaza conocido por su implementación de la plataforma .Net en Unix (proyecto mejor conocido como MONO).
Desde luego que Microsoft ha estado apoyando este proyecto abriendose un poco mas al mundo open source en donde otras empresas como Google apoyan abiertamente este tipo de proyectos.
Así que esto ayudará a convertir SilverLight en la proxima platforma de experiencia de usuario, aunque Macromedia Flash ya lleva una buena ventaja, veremos que tal se ponen las cosas.

Saludos

Messenger TV, la nueva experiencia social

Hace unos dias se anuncio la disponibilidad de poder ver videos a través de Windows Live Messenger servicio conocido como Messenger TV.
Con este nuevo servicio se podran per videos de MTV asi como de otros proveedores como Sony BMG entre otros proveedores.
La idea con este nuevo "feature" es dar al messenger una nueva experiencia social al usuario quien ya suele pasar varias horas es aplicaciones de redes sociales como Facebook o MySpace, de tal forma que podras hacer comentarios sobre tus videos favoritos,listas,etc
El servicio estará disponible en 20 paises incluyendo México pero no se lanzará en estados unidos.
Lo interesante es que no se trata de competir con otro tipo de aplicaciones como YouTube es un enfoque diferente y en nuestro país todo el contendio de Prodigy/MSN estará disponible sin ningún costo y para ser honestos ultimamente Prodigy/MSN ha traido muy buenos conciertos y entrevistas como el de Leny Karvitz o la cobertura total que hicieron de Alizee cuando vino a mexico recientemente.
Asi que aprovechemos esta ventaja que nos ofrece Messenger TV.

Saludos!

miércoles, 14 de mayo de 2008

Disponible VS 2008 y .NET Framework 3.5 Service Pack 1 Beta

Y ayer se hizo disponible el beta de este service pack, el cual incluye importantes actualizaciones, correccion de bugs y nuevas características.

El release oficial de este Service Pack esta planeado para el próximo Verano segun nos comenta Scott Guthrie en su blog.

En terminos generales este servcice pack incluye lo siguiente:

Visual Studio 2008

  • Diseñadores Mejorados para construir aplicaciones WPF (Windows Presentation Foundation)
  • Completo soporte para SQL Server 2008
  • Se incluye el ADO.Net Entity Designer, un diseñador integrado para modelado de entidades (que va de la mano con las mejoras del framework en cuanto a tecnología de datos,checa mas abajo)
  • Herramientas y componentes para Visual Basic y Visual C++ (incluyendo estilo "Ribbon" basado en MFC-Office 2007)
  • Mejoras en Team Foundation Server acerca del rendimiento y la usuabilidad del control de versiones, mejoras en la integración del correo electronico al trabajar con seguimiento de Work-items y completo soporte para hospedar SQL Server 2008.
  • Mejoras en el area de desarrollo web incluyendo un mejor soporte de Intellisense para Javascript y soporte de multiples AJAX/JavaScript frameworks.

.Net Framework 3.5

  • Se ha incrementado el rendimiento para aplicaciones basadas en WPF entre un 20% a un 45% sin cambiar ninguna linea de código.
  • Mejoras en WCF (Windows Communication Foundation) dando a los desarrolladores mayor control en la forma que acceden a datos y servicios.
  • Se incluyen nuevas opciones de instalación para aplicaciones cliente, como .Net Framework Client Profile, el cual permitira incluir solo los assemblies necesarios al momento de hacer el deployment para aplicaciones clientes tipicas (donde regularmente no haces de uso de componentes web), haciendo el proceso de instalación mucho mas rápido y simple.
  • Mejoras en el área de plataforma de datos, incluyendo el ADO.NET Entity Framework, ADO.NET Data Services (lo que se conocía como code-name Astoria) y soporte total para las nuevas características de SQL Server 2008

Pueden realizar la descarga de este Beta aquí y les recomiendo este post de Scott Guthrie el cual nos explica un poco mas a detalle de este release así como de algunos puntos importantes para la instalación de este service pack ya que aun esta en fase beta.

Espero les sea de utilidad!

Saludos



lunes, 5 de mayo de 2008

Probando Guitar Hero III

Y como les comente antes aqui esta una version mini de Guitar Hero III en mi blog, disfrutenlo.

Videojuegos y algo mas...

El desarrollo de video juegos es un tema interesante dentro del mundo del desarrollo de software y nuestro pais esta impulsando esta industría, para muestra un boton, checa la pagina de Juego de Talento que precisamente es un concurso para desarrollo de video juegos y animación digital.

Como desarrollador la plataforma XNA Game Studio 2.0 de Microsoft es la perfecta opcion para iniciarte en esta materia sin embargo que pasa si no eres programador y te gustaria crear video juegos?.. pensemos en jovenes de secundaria por ejemplo. Pues bien Microsoft pensando en esto ha creado el Popfly Game Creator, el cual es un Mashup que permite crear video juegos en dos dimensiones al estilo de Super Mario Bros,Frogger y Ateroides (si como aquellos juegos de Atari, los llamados Arcade Games).

Recordemos que Popfly es un portal de Microsoft para crear mashups una de las tantas aplicaciones de la llamada Web 2.0.

Con esta aplicación puedes crear tu propio juego y se incluyen mas de 15 plantillas, librerias de imagenes, sonidos,etc.

La idea con este tipo de proyectos es construir estas aplicaciones con el minímo de programación, lo cual me parece excelente, ya que te permitirá despertar esa parte creativa que todos tenemos y es ademas un buen punto de inicio si posteriormente deseas involucrarte en programación de video juegos.

Asi que compartan esta información con sus amigos, si tienes algun sobrino o hijo que le gusten los video juegos (habra alguno que no ??), esta es una magnfica oportunidad para desarrollar su creatividad de forma productiva.

Y para terminar si eres fanatico de Guitar Hero en este post de Armando Halbinger puedes encontrar información de como incrustar una versión reducida de este juego en tu blog. Enjoy!

Saludos!

Visual Studio 2008-Training for FREE!

Y bueno si hasta hoy nos has podido comenzar a conocer las nuevas mejoras de Visual Studio 2008 y el .NET Framework 3.5, no te preocupes aqui te anexo una lista de descargas que debes tener para comenzar a aprender.

Visual Studio 2008 Training Kit Incluye presentaciones,demos y hands-on-labs,conoce que es LINQ,lo nuevo para Windows Presentation Foundation (WPF), las nuevas mejoras para C#3.0 y VB 9 entre otros.
.NET Framework 3.5 Enhacements Training Kit Incluye presentaciones,demos y hands-on-labs sobre las recien liberadas mejoras al .Net Framework 3.5, las tecnologías que podrás aprender son:
ASP.NET MVC
ASP.NET Dynamic Data
ASP.NET Ajax History
ASP.NET Silverlight Controls
ADO.NET Data Services
ADO.NET Entity Framework
En particular les recomiendo le echen un vistazo al ADO.NET Entity Framework y el ASP.NET MVC, en otro post le comentare más al respecto sobre estas tecnologías.
Videos de Procedimientos para Visual Studio 2008 Aqui podras aprender a traves de prácticos videos las nuevas características de Visual Studio 2008, desde crear una aplicación con Windows Presentation Foundation (WPF) hasta como realizar extensiones al IDE de Visual Studio 2008. Mas Fácil no puede ser.
Visual Studio Gallery Un excelente sitio que reúne todos los productos y extensiones para Visual Studio 2008

Así que no esperes mas descarga este material y comienza tu entrenamiento hoy no hay pretextos para quedarse atras.

Saludos!

miércoles, 30 de abril de 2008

Lanzamiento Online Microsoft Technet & MSDN Briefing

Y siguiendo con la ola de lanzamientos ayer se llevo a cabo el Lanzamiento Online de Visual Studio 2008, SQL Server 2008 y Windows Server 2008.
El sitio el cual pueden checar aqui, esta muy padre, echo por supuesto con SilverLight y las sesiones bastante interesantes.
Lo unico que en algunos casos, no se podian apreciar correctamente los demos debido al tamaño de la pantalla de video, pero en general, las charlas dan una buena introducción a cada uno de los temas.
De las que mas me gusto fue la de el Shell de Visual Studio y la posibilidad de usar el codigo base del IDE de Visual Studio para realizar tu propia implemetacion, pusieron como ejemplo un editor de codigo para el video juego World of WarCraft (el cual les habia comentado en otro post que usa el lenguaje LUA) y como puedes tener acceso a las mismas funcionalidades que cuentas con otros lenguajes como C# y VB, como Intellisense,marcado de colores,etc. En codeplex pueden encontrar otros ejemplos como la implementacion de un StoryBoard Designer, chequenlo aqui.
Estos demos fueron presentados por el socio fundador de Clarius Consulting Labs, Victor García Aprea quien dio esta charla tan interesante.
Tambien hubo foros "Ask to Experts" para cada una de estas herramientas, donde podias preguntar a MVPs (Most Valuable Professional) acerca de las dudas que pudieras tener, en fin creo que es una gran oportunidad si no has podido asistir a algun evento presencial de lanzamiento,te invito a que lo visites antes de que ya no este disponible, la direccion es: http://www.microsoft.com/latam/lanzamientoEdicionEspecial2008/.
Saludos!

lunes, 21 de abril de 2008

{Estamos} con los HEROES, llego a Mérida

Hola!
El evento mas importante del año llego a Mérida y la comunidad Aluxes.NET ha cumplido con su objetivo ya que el pasado 17 de Abril se llevo a cabo el Community Launch Tour 2008 que incluyo el lanzamiento de las nuevas versiones de Visual Studio 2008 y SQL Server 2008.

Aqui les dejo la presentacion de Visual Studio 2008.



Hasta el mes de mayo se seguiran dando estos eventos de lanzamiento en todo el mundo para dar a conocer estos magnificas herramientas a todas las audiencias y aprender de primera mano sobre estas tecnologias.

El tema de este lanzamiento son los Heroes, pero no los de las historietas, ahora les explico.
Microsoft con este lanzamiento tan importante hace un reconocimiento a todos aquellos profesionales de TI, desarrolladores, administradores que siempre estamos tras bamabalinas haciendo que las cosas pasen...esos son los verdaderos heroes.

El slogan de la campaña es Heroes Happen {Here}, pero en México le llamaron {Estamos} con los Heroes, visita la pagina oficial aqui y para mexico en este link.

En nuestra ciudad el evento se realizó en la Facultad de Ingeneria de la Universidad Autónoma de Yucatán (UADY), se regalaron entradas para el cine a los primeros en llegar ademas hubo rifas de libros, descuentos para certificaciones, versiones de Visual Studio y SQL Server entre otras cosas.
El evento fue todo un éxito gracias a la participacion de mas de 30 personas que asistieron al lanzamiento.

Para todos los asistentes les invito a que provean su retroalimentación del evento en el portal de
heroes ya que para todos los que den sus comentarios habrá accesos a contenido exclusivo en el portal, así que visiten el sitio ya que se actualiza regularmente.

Ahora despues del lanzamiento hay muchos temas que ver y profundizar, queremos escuchar que opinas y que temas te interesa, provee tus comentarios en la pagina de la comunidad.

Así que ya saben, se buscan heroes, no te quedes atras y se parte de la ola de lanzamientos.

Saludos!

miércoles, 26 de marzo de 2008

Mejoras en los lenguajes C# y VB: Metodos de Extension

Agregando funcionalidad a tipos
De manera tradicional en el desarrollo orientado a objetos si uno quiere agregar nueva funcionalidad a una clase utiliza herencia para especializar la clase derivada; sin embargo si las clases son marcadas como NotInheritable en VB o como sealed en C# esto no es posible.

Las nuevas versiones de C# y VB dentro del ultimo release de .NET Framework 3.5 y Visual Studio 2008 incluyen una nueva característica que me ha llamado la atención, la cual corresponde al titulo de este articulo, los metodos de extensión o extension methods en inglés.


Que son los métodos de Extensión
Bien como el nombre sugiere son métodos que extienden la funcionalidad de un tipo existente, pero con la particularidad de que no modifican el tipo original y pueden ser llamados como metodos de instancia regulares.

Esta implementación no es propia de la orientación a objetos, sino del .NET framework y fue necesaria como parte del soporte de C# y VB para implementar LINQ.

Beneficios
Dicho lo anterior, ahora podemos extender cualquier tipo existente del .NET Framework (valor,referencia e interfaces), pero no debe abusarse de esta característica y la sugerencia es que utilizes los metodos de extension cuando las vias tradicionales no puedan ser usadas.

Ademas en Visual Studio 2008 al llamar a estos metodos tenemos la ventaja de poder usar Intellisense y estan representados ligeramente diferentes al momento de mostrar la lista de metodos y las funcionalidades Goto,Definition etc para estos metodos dentro del IDE operan como para cualquier otro metodo de instancia.


Las extensiones para LINQ
Por ejemplo para implementar LINQ sobre los lenguajes C# y VB, se crearon nuevos metodos sobre la interfaz IEnumerable(T), de tal forma que cualquier clase que implemente esta interfaz o cualquier clase derivada de esta interfaz es posible utilizarla para realizar una consulta LINQ.


Consideraciones
En el caso de Visual Basic, los metodos de extension deben ser declarados dentro de Modulos ya sea como subrutinas o funciones esto beneficia en el diseño ya que los modulos no participan en herencia y no existe el concepto de modulos parciales.
Internamente se realiza una llamada a un metodo shared por el compilador al usar el metodo de extension.
Para C# los metodos deben ser declarados dentro de una clase como cualquier otro tipo pero esta debe ser estatica.

Ademas existe gran interoperabilidad con los metodos de extension ya que pueden escribirlos en C# y consumirlos en un tipo de VB.NET o viceversa.


Usando Metodos de Extension en las versiones del .NET Framework

Una nueva característica de Visual Studio 2008 es la llamada "multi-targeting", la cual nos provee la flexibilidad de crear nuestros proyectos en la version del framework que requiramos,y ya que los metodos de extension estan estrechamente integrados con el compilador, estos puedes ser usados por cualquier version de Framework que Visual Studio 2008 soporte.

Ejemplo
Ahora veamos un ejemplo sencillo, extendiendo la funcionalidad de la clase String:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using MyCustomExtension;

namespace SampleApp
{
class Program
{
static void Main(string[] args){
Console.WriteLine("Usando metodos de extension");
String myString = "Cadena de Ejemplo";
myString.printString2Console();
Console.ReadLine();
}
}
}
namespace MyCustomExtension{
public static class Utils{

public static void printString2Console(this string s){
Console.WriteLine('*'+s+'*');
}
}
}
-------------------------------------------------------------------------------------
Como podran observar el metodo printString2Console simplemente imprime la cadena en la consola agregandole un asterisco al principio y al final.
Observen la palabra reservada this la cual corresponde al primer paametro del metodo, en este caso el unico. Como regla en C# al declarar un metodos de extension, se debe anteponer la palabra this y el primer parametro corresponderá al tipo sobre el cual aplicará la nueva funcionalidad.
El metodo printString2Console esta disponible como un metodo de extension dentro del IDE como podemos apreciar a través del Intellisense.
Aqui se ha declarado el metodo para una clase utils dentro de otro namespace MyCustomExtension.
Este namespace podría estar dentro de otro assembly y nos permitirá agregar la nueva funcionalidad sin necesidad de recompilar el assembly del tipo que estamos extendiendo.

Bien espero que esta post les ayude a comprender mejor el uso de los metodos de extension y lo conveniente que puede resultar para mejorar cualquier tipo del .NET Framework.

Saludos!

Webcast LINQ to Objects

Aquí les dejo un webcast con el demo de LINQ to Objects que vimos en la reunión de Marzo en la comunidad Aluxes.NET, espero que sea de utilidad para ustedes y espero su retroalimentación ya que me estoy iniciando en esto de los webcast y cualquier comentario para mejorarlos será de gran ayuda para ofrecerles contenido de calidad.

Aqui está el webcast:



De todos modos le dejo el enlace desde donde pueden descargar el webcast y en este otro pueden descargar el codigo fuente.

Saludos!

lunes, 17 de marzo de 2008

Resumen de la reunión del mes de Marzo

Hola!

Bueno para los que no pudieron asistir a la ultima reunión de la comunidad Aluxes.NET, estuvimos platicando acerca de la tecnología LINQ, la cual es uno de los elementos principales de la nueva version de .NET Framework 3.5, puedes ver la presentación a continuación:

Teniamos programada una platica acerca de calidad de software pero está quedara pendiente hasta nuevo aviso.

Como es costumbre realizamos una rifa de algunos regalos entre los aistentes donde se obsequiaron versiones de Visual Web Developer Express.

Por lo pronto ya estamos preparando el evento de lanzamiento de Visual Studio 2008 y SQL 2008, para que conozcas cuales son las ultimas características y ventajas de estas importantes herramientas de nuestro trabajo diario.

No olvides registrarte para el evento, en la página de la comunidad tenemos el link para el registro.

Saludos!

martes, 26 de febrero de 2008

Obteniendo información de una computadora remotamente

Hola!

¿Alguna vez has tenido la necesidad de obtener el nombre de una computadora remotamente?...es una tarea bastante interesante entre otra info. que puedes obtener; de hecho podrias realizar esto simplemente usando el Windows Script Host.

Pero si requieres hacer una tarea mas elaborada digamos auditar el hardware y software de una computadora remota,obtener que version del Sistema Operativo estas usando,etc, entonces es mas recomendable usar el Windows Management Instrumentation.

Anteriormente este servicio tenia que ser instalado de forma separada pero ahora lo interesante es que esta disponible en el .NET framework a través del espacio de nombre System.Management.

En siguiente ejemplo en C# muestra una simple consulta hacia una computadora remota, obtieniendo algunos datos básicos como el tipo de sistema operativo, la versión de éste,el nombre de la PC, entre otros; en este caso tengo privilegios administrativos para acceder a la PC, chequen la documentación para mas opciones.

Hoy en día existen varios programas de auditoría de hardware y software usados en los departamentos de TI, pero siempre es interesante saber como podemos realizar esas tareas.

Espero que este ejemplo les sea de utilidad y lo incluyan en su caja de herramientas de programación.

Saludos!

================================================

using System;

using System.Management; //Para acceder al WMI

namespace RemoteControlApp

{

class Program

{

static void Main(string[] args)

{

Console.WriteLine("Inicia Programa para acceder a recursos de otra computadora remotamente...");

ConnectionOptions options = new ConnectionOptions();

ManagementScope scope = new ManagementScope("\\\\192.168.17.58\\root\\cimv2",options);

scope.Connect();

//Ahora obteniendo info acerca del OS

ObjectQuery query = new ObjectQuery("select * from Win32_OperatingSystem");

ManagementObjectSearcher wmiSearcher = new ManagementObjectSearcher(scope, query);

ManagementObjectCollection queryWMICollection = wmiSearcher.Get();

foreach (ManagementObject m in queryWMICollection)

{

//Mostrar info de la computadora remota

Console.WriteLine("Nombre de la computadora: {0}", m["csname"]);

Console.WriteLine("Directorio de Windows: {0}", m["WindowsDirectory"]);

Console.WriteLine("Sistema Operativo: {0} {1}", m["Caption"], m["Version"]);

Console.WriteLine("Fabricante: {0}", m["Manufacturer"]);

Console.WriteLine("Termina Programa para acceder a recursos de otra computadora remotamente...");

Console.ReadLine();

}

}

}

}

domingo, 24 de febrero de 2008

Creación de archivos temporales con C#

Los archivos temporales son usados generalmente para manipulación y almacenamiento de datos.
A menudo es necesario guardar datos como preferencias del usuario, información de sesion, log para errores y otros tipos de información.
En este caso usare la clase System.IO.Path y el método GetTempFileName para obtener el nombre del archivo en el directorio temporal del usuario actual. Existen otras enfoques para realizar esta tarea, pero usare este metodo ya que devuelve un nombre único.
Dicho lo anterior por cada llamada al método GetTempFileName se obtendrá un nombre diferente aun cuando no se use para crear fisicamente el archivo, lo cual es conveniente si se estan ejecutando varias instancias de tu aplicación y evitar colisiones.

Veamos como se ve el código:

using System;

using System.IO;

namespace TempFileSampleApp

{

class Program

{

static void Main(string[] args)

{

Console.WriteLine("Este es un ejemplo de creacion de archivos temporales");

crearArchivoTemp();

}

static void crearArchivoTemp()

{

string curTempFileName="";

curTempFileName = Path.GetTempFileName();

//Ahora creamos fisicamente el archivo

using (StreamWriter sw = File.CreateText(curTempFileName))

{

sw.WriteLine("Primera linea del archivo");

sw.Close();

}

Console.WriteLine("Se ha creado el archivo temporal satisfactoriamente!!");

Console.ReadLine();

}

}

}


Bien espero que este tip te haya sido de utilidad y consulta mi blog frecuentemente ya que estaré publicando mas ejemplos proximamente sobre programación con .NET.
Saludos!

domingo, 17 de febrero de 2008

Taller Gratuito en línea para MCTS exámen 70-536

Si entre tus propositos de año nuevo esta el obtener alguna certificación o si ya estas certificado y quieres reforzar tus conocimientos..aquí tienes una gran oportunidad de tomar un taller para la certificación Microsoft Certified Technology Specialist examen 70-536, que será impartido on-line a través del siguiente link..apurate a inscribirte antes del 3 de Marzo.

Saludos!

jueves, 14 de febrero de 2008

Primera Reunion Comunidad Aluxes.NET

Hola!
El pasado Martes 12 de Febrero se realizó la primera reunión de la comunidad Aluxes.NET, la cual tuvo como objetivo presentar el programa de comunidades Microsoft así como los beneficios y responsabilidades de pertenecer a este programa; los cuales van de la mano con los objetivos de la comunidad.

Entre los puntos importantes de la reunión destacan los siguientes:

Objetivo del Programa

Proveer mecanismos para la creación de profesionales de TI,desarrolladores,diseñadores,etc y fomentar su evolución en redes de conocimiento y negocios.

Beneficios para la comunidad

De manera general fomenta la comunicación y colaboración de diferentes maneras con el gobierno e industria local así como las instituciones educativas; fortaleciendo la industria y motivando a una cultura de mejora continua en todos los niveles.

Operación de la comunidad

Existirá un grupo coordinador el cual tiene las siguientes responsabilidades:

  • Planea y organiza las reuniones de la comunidad
  • Difunde y Comparte sus conocimientos
  • Anuncia activamente las tareas de la comunidad
  • Invita y fomenta la participación de  nuevos miembros
  • Es el enlace entre las comunidades locales y Microsoft

Sobre las comunidades que participan en el programa

  • Las comunidades son organismos de operación independientes de Microsoft.
  • Microsoft apoya a las comunidades directamente o a través de socios de negocios.
  • Se deberá contar con un grupo coordinador y con un director o líder.

Compromisos Microsoft

  • Proveer material de apoyo cada vez que se registre un evento en el portal de comunidades, así como artículos promocionales sujetos a existencias.
  • Apoyo con otros recursos técnicos como:
    * Webcast
    * Boletines
    * Chats
    * Newsgroups
    * Usergroups
    * Eventos Presenciales

Compromisos Comunidad

  • La comunidad debe estar activa por lo menos 12 meses en el programa.
  • Se deberán llevar a cabo reuniones donde se hable de soluciones Microsoft, al menos una  reunión mensual.
  • El grupo coordinador deberá crear y mantener actualizado el sitio de la comunidad.
  • Se deberá contar con al menos un blog por comunidad donde se hable de tecnología

También se comento acerca de que la comunidad será evaluada mes con mes y de la importancia de hacerla crecer y participar.

Entre otras cosas interesantes se presentaron los testimonios de otras comunidades y los eventos que han realizado, incluso accediendo a oradores internacionales como Guillermo Som (el Guille).
 
Así que sigan pendientes del portal Aluxes.Net ya que estaremos informando sobre las siguientes actividades de la comunidad y la fecha de nuestra próxima reunión, pero sobre todo participen de manera virtual y compartan sus ideas y comentarios; recuerden que los desarrolladores somos parte esencial del éxito de la industria en la región.
 
Buen fin de semana!
 
Saludos!

martes, 5 de febrero de 2008

Yahoo-Microsoft Vs Yahoo-Google

Hola!
    Espero que hayan tenido un fin de semana excelente y  además de la sorpresa que dieron los Gigantes de NY ganando el superTazon a los favoritos los Patriotas de Nueva Inglaterra, otra noticia importante es la oferta de compra de Yahoo por parte de Microsoft por $44.6 billones de dolares; esto es algo que ya Microsoft habia dejado entre ver desde el año pasado pero hasta ahora se hizo la oferta publica.
Obviamente esta estrategia es para competir directamente contra el master de las búsquedas en linea Google quien domina el mercado de la publicidad en línea.
Y de hecho la compañia de MountView California no se ha hecho esperar desde el anuncio hecho el dia 1 de febrero y hoy se especula que su presidente Eric Schmidt ya ha contactado a Jerry Yang co-fundador y CEO de Yahoo para ofrecerle su ayuda y revitalizar a la compañia. La idea sería que Yahoo use los servicios de búsqueda así como los de publicidad de Google y generar ingresos para Yahoo, pero lo principal es que permitiría a Yahoo seguir siendo indpendiente.
Creo que Yahoo tiene que pensar muy bien la estrategia que deberá seguir, si mantener su marca o fusionarse, en mi opinión creo que tendría mas sentido una fusión Yahoo-Microsoft que una Alianza Yahoo-Google, sería mas equilibrado aunque seguramente ambas ofertas obligarán a revisar las regulaciones anti-monopolio.
 
Ustedes que opinan?
 
Saludos!
 
 
    

jueves, 31 de enero de 2008

Desarrollo de Software en Brasil: una cuestión de Actitud

Hola!
    Bueno despues de un "break" forzado, con algunas cuestiones personales, estoy de vuelta para seguir en esto del blogging.
Y bien una noticia que me ha llamado la atención esta semana ha sido el conocer que Brasil fue uno de los factores principales de que Java se haya hecho open source a raíz de que Brasil creo su propia implementación del lenguaje, llamada JavaLi, esto fue comentado en una prestigiosa revista que seguramente conoces Dr. Dobbs' Journal a principios de este año, puedes ver el artículo aquí.
 
Que tiene de especial esta noticia, bueno que esto ha sido todo un proceso apoyado por el gobierno, el cual basa sus operaciones en software libre y que no invierte en compra de licencias sino que promueve la generación de software hecho en casa, es decir, esta actitud es la que ha colocado a Brasil ha este nivel. Y por sino lo sabian los brasileños son los creadores de LUA un lenguage de scripting para videojuegos que se ha convertido en estándar de facto en este mercado y el cual es usado ampliamente por las grandes compañias como Disney, Microsoft, LucasArts, Adobe,etc; si han escuchado de World of WarCraft esta hecho con LUA,como ven?
Esto demuestra que en latinoamerica hay mucho talento, siempre he pensado esto, pero que hay de México?
Creo que un mexicano que ha llegado lejos ha sido Miguel de Icaza..con el proyecto Mono..cierto?..pero será que no haya mas..?
 
Así que debemos de aprender  de esta lección de Brasil y demostrar que podemos ser productores de software mas que consumidores, no lo creen?
 
Saludos!