Armando Halbinger

Thursday, April 29, 2004

Guía para Desarrolladores en .NET sobre la Seguridad en Windows

Puedes leer en línea el nuevo libro de Keith Brown, gurú de Application Security y uno de los instructores de Developmentor, que se titula "A .NET Developer's Guide to Windows Security".

El nombre original del libro era "Essential .NET Security", pero al final, Keith decidió enfocarse a lo que un programador de .NET debe saber sobre seguridad y dentro de los temas que puedes encontrar están:

-Security Context (SID, Token, Groups, Impersonation, etc)
-Access Control (ACL, Authorization Manager, etc)
-COM (Role-Based-Security, Process Identity, etc)
-Seguridad en Red (Kerberos, SSPI, IPSEC, etc)

Novell Forge - Un sitio para proyectos Open Source

Con la adquisición de Ximian, Novell inició una nueva etapa que incluye su incursión en el mundo de Open Source, prueba de ello es su sitio Novell Forge, que es un repositorio para proyectos relacionados con Novell, Mono y Linux que abarcan diferentes categorías: Colaboración, Bases de Datos, Internet, Web Services, etc.

Tuesday, April 27, 2004

Mono 1.0 Roadmap

El proyecto Mono es un esfuerzo de la comunidad de open source para implementar el .NET Framework para otros ambientes como Linux. Este esfuerzo está dirigido por Miguel de Icaza, quien acaba de presentar el Roadmap con las fechas de liberación de las versiones Beta y el release final.

Versión: Beta 1
Fecha: 4 de Mayo de 2004


Versión: Beta 2
Fecha: 1 de Junio de 2004


Versión: Mono 1.0
Fecha: 30 de Junio de 2004


Si quieres saber más detalles entra a esta liga.

Sunday, April 25, 2004

Búsquedas Avanzadas en Google o Por qué uso Google

Google está evolucionando la forma de buscar dentro de Internet y como prueba de eso tiene una gran cantidad de innovaciones que incrementan la probabilidad de encontrar exactamente lo que queremos. A continuación muestro algunos tips que uso continuamente. Si quieres saber un poco más de este tema revisa este link.

1. Busqueda en sitios especificos (site:[url])
Google funciona como un buscador local dentro del url que le especifiques.
Ejemplo:
c# site:msdn.microsoft.com

2. Búsqueda por tipo de archivo específico (filetype:[extension_archivo])
Los resultados serán archivos con la extensión definida en la búsqueda.
Ejemplo:
c# filetype:ppt

3. Estructura de un website: servidores y directorios (site:[url])
Muestra todos los servidores y directorios asociados al url solicitado.
Ejemplo:
site:microsoft.com

4. Búsqueda de imágenes en un sitio específico [Dentro de la pestaña de Imágenes en Google] (site:[url])
Encuentra todas las imágenes indexadas por google dentro de un url.
Ejemplo:
jpg site:microsoft.com

5. Definición de un término (define:[termino])
Muestra las definiciones dentro de Internet para un término específico.
Ejemplo:
define:soa

6. Usando Google como Proxy
Si quieres un proxy "público" que te resuelva las direcciones dentro de otro servidor, puedes usar los servicios de traducción de Google.
Ejemplo:
Traducir www.microsoft.com de inglés a inglés
El resultado obtenido es la misma página que le envías a google para traducir pero el que resuelve y muestra el contenido final es Google!!!

Friday, April 23, 2004

Mi nueva cuenta de E-Mail en Google!

Ya tengo mi cuenta de correo electrónico (armanhal@gmail.com) en Gmail, el correo de Google, con 1 GB de espacio. En este momento el servicio está en Beta y para usarlo debe ser por invitación. Nada más que tenga un poco de tiempo les platicaré cómo se compara con el de Spymac.

Thursday, April 22, 2004

Visual Studio 2005 Developer Center

Dentro de MSDN ya existe un sitio dedicado a Visual Studio 2005 (Whidbey). Aquí podrás encontrar todos los recursos (Blogs, Artículos, Videos, etc) relacionados con este producto y el .NET Framework 2.0

En la sección Other Resources hay una serie de artículos que hablan sobre las nuevas características de VS2005 (ASP.NET, Winforms, C#, VB.NET, C++, ClickOnce). Es muy recomendable que los conozcas porque contiene una gran cantidad de mejoras relacionadas con el aumento en la productividad y uso de best practices.

Wednesday, April 21, 2004

Amazon entra al mundo de la innovación de Buscadores en Internet

Amazon lanzó el sitio A9, que es un buscador que mejora los resultados de búsqueda agregando las siguientes características:
-Búsqueda dentro de libros. Presenta resultados de Amazon.com que incluyen búsqueda dentro de libros
-Historia de búsquedas. Todas las búsquedas sobre A9 se almacenan dentro de sus servers y puedes acceder al historial de las búsquedas realizadas. Para este feature debes de registrarte.
-Información del Site. Utiliza los servicios de Alexa, un buscador también de Amazon que utiliza un look & feel que te hace recordar cuando estas comprando en Amazon (sites similares, reviews del site, estadísticas, etc), para mostrar información relevante del site de forma amigable.
-A9 Toolbar. Siguiendo el nuevo "estándar" que cada buscador ya ofrece su Toolbar, A9 ofrece su propia versión.

Lenguajes en .NET: C#, VB.NET, C++, Cobol, F#, Java, Perl, etc...

¿Sabes cuántos lenguajes diferentes existen en el mercado para .NET? En este link podrás encontrar una lista de 25 diferentes lenguajes, algunos de ellos en varios sabores (i.e. C# versión Microsoft y versión Mono). En GotDotNet existe otra lista de 19 lenguajes, pero si hacemos un "merge" el total de lenguajes diferentes son 28, que son:
1. Ada
2. APL
3. AsmL
4. Basic
5. C#
6. C++
7. CAML
8. Cobol
9. Eiffel
10. F#
11. Forth
12. Fortran
13. Haskell
14. Java
15. ML
16. Mercury
17. Mondrian
18. P#
19. Oberon
20. Pascal
21. Perl
22. PowerBuilder
23. Python
24. RPG
25. Ruby
26. Scheme
27. S#
28. Smalltalk

Este número da una idea muy aproximada de los lenguajes en los que puedes programar usando .NET. Ya hay para todos los gustos y siguen desarrollando otros más, uno de ellos es Logo para Mono.

Monday, April 19, 2004

Cómo se mapea Microsoft Win32 al .NET Framework

Si eres un programador experimentado en Win32 que está conociendo .NET o estás interesado en saber las contrapartes managed de Win32 revisa este documento.

Sunday, April 18, 2004

DateLens o Un candidato a la siguiente interfaz de Outlook

El Human-Computer Interaction Lab de la Universidad de Maryland en conjunto con Microsoft Research desarrollaron DateLens que es una nueva interfaz futurista para visualizar el calendario de Outlook intuitivamente y con una gran cantidad de vistas estilo drill down/drill up. Es realmente sorprendente verlo en acción y tiene un muy alto performance.

Existe una versión para el Desktop (gratuita) y otra para la Pocket PC (tiene un costo de $15 USD).

Puedes descargar la versión Desktop en esta dirección.
Los requerimientos son:
-Microsoft Outlook (2000, XP o 2003)
-.NET Framework 1.1

¿Por qué los programadores no son contratados para Mercadotecnia?

Cliente: Tu Programador me acaba de dar el nombre del nuevo sistema de finanzas y se le "ocurrió" que se va a llamar SIFI (Sistema Integral de Finanzas). Me lleva… ¿no puede tener un poco de creatividad para pensar en un nombre?
Gerente TI: Ahora mismo le voy a llamar la atención porque acaba de cometer su segundo error!!!
Cliente: ¿Segundo error?!? ¿Cuál fue el primero?
Gerente TI: Ser Programador…


Esta situación es común en algunas empresas/consultoras y aunque el proyecto tenga muchos adjetivos como "importante", "valioso", "retador", etc., empieza con algunos puntos en contra porque no se está generando un sentido de pertenencia tanto interno (equipo de trabajo) como externo (usuario final).

¿Qué hacer? Una buena postura es seguir las prácticas de las grandes empresas como Microsoft, Apple, Sun que "bautizan" al proyecto con un Code-Name que utilizan durante la fase de desarrollo y en el momento en que se libera, deciden un nombre oficial que consiste de una(s) palabra(s) simple(s) y fácil(es) de recordar para posicionar el concepto del sistema en los usuarios. Usando esta técnica, durante la fase de desarrollo, el equipo de trabajo siente que es su proyecto y mientras esto sucede, el cliente con ayuda del área de Mercadotecnia, Publicidad o similar decide el nombre final e incluso puede considerar si lo quiere patentar (seguir las leyes de marcas oficiales que le permite en algún momento comercializarlo y/o registrarlo como Activo dentro de su empresa) o no (para uso interno sin ningún fin adicional).

Algunas recomendaciones:
-Un Code-Name es interno y temporal, se debe desarrollar un nombre oficial para el producto/sistema liberado
-Seleccionar el Code-Name para lograr sentido de identidad con el proyecto, de preferencia no usar nombres que existan como Marca Registrada o al menos no hacerlos públicos en medios masivos de comunicación
-Lo más importante de un Code-Name es dejarnos hablar del proyecto en el que estamos trabajando sin decir "el proyecto en el que estamos trabajando"

Si quieres conocer Code-Names entra a estas ligas:
Microsoft Code Names
Windows Code Names
Apple Code Names
Mac Code Names
Java Code Names (J2SE)
Secret Service Code Names

¿Cuáles son los tiempos de Respuesta Aceptados en un Sistema?

De acuerdo a un artículo titulado "Response Time In Man-Computer Conversational Transactions", escrito en 1968 por R.B. Miller para el AFIPS Fall Joint Computer Conference, el usuario reaccionará a los tiempos de respuesta con patrones de comportamiento predecibles similares a los listados aquí:

0.1 segundo. Es el límite para que el usuario sienta que el sistema reacciona instantáneamente, esto implica que no es necesario dar retroalimentación especial excepto el desplegado de su resultado

1.0 segundo. Es el limite para el que el usuario no pierda el "hilo", aunque sienta un ligero "retraso". Normalmente, no es necesario dar retroalimentación en retrasos de más de 0.1 s y menores de 1.0 segundo, pero el usuario pierde el sentimiento de estar operando directamente con los datos.

10 segundos. Es el límite para mantener la atención del usuario enfocada a la forma. Para retrasos mayores, el usuario querrá hacer otras tareas mientras espera a que la computadora termine, por lo que se le debe dar retroalimentación indicando cuando se concluirá la tarea. La retroalimentación en este momento es especialmente importante si el tiempo de respuesta puede ser altamente variable, debido a que el usuario no sabe que esperar.

Thursday, April 15, 2004

El ciclo de vida de soporte a los productos Microsoft...

Si hoy compro el producto X de Microsoft, ¿por cuánto tiempo puedo tener soporte formalmente? esta pregunta, seguramente muchas de las empresas se la hacen porque vivimos en un mundo con recursos limitados de todo tipo: tiempo, dinero, gente, etc. y no es real pensar que cada vez que sale un nuevo producto/tecnología es posible adquirirla/implementarla.

Para el caso de Aplicaciones de Negocio/Desarrollo el soporte se compone de:
1. Mainstream Support Phase: Soporte "normal" con un periodo mínimo de 5 años a partir de la liberación del producto.
2. Extended Support Phase: Soporte "extendido" con un periodo de 2 años después del Mainstream Support.
3. Online Self-Help Support: Auto-Soporte "en línea" con un periodo de 8 años o más a partir de la liberación del producto

Para el caso de Aplicaciones para el Consumidor/Hardware/Multimedia el soporte que aplica es:
1. Mainstream Support Phase: Soporte "normal" con un periodo mínimo de 5 años a partir de la liberación del producto. Si el producto tiene una nueva versión cada año (i.e. Money, Encarta, etc) recibe un periodo mínimo de 3 años
2. Online Self-Help Support: Auto-Soporte "en línea" con un periodo de 8 años o más a partir de la liberación del producto

Si quieres saber las fechas exactas de cada uno de los productos para planear la actualización/migración de tus productos actuales consulta esta liga. También encontrarás información relacionada con los Service Packs de cada uno de los productos, así como de las actualizaciones de Seguridad.

Wednesday, April 14, 2004

Blogs de Microsoft México

Ya pueden encontrar algunos blogs de la gente de Microsoft México. Lo interesante es que algunos son redactados en español y los comentarios/noticias/links van más de acuerdo con nuestro contexto. Revísalos continuamente!

Enterprise Services
Daniel Vázquez
Marco Dorantes
Armando Halbinger

Developers
Luis Daniel Soto
Felipe Lemaitre
Juan Roman Escamilla
Eduardo Nava
Juan Lozada
Arturo Vazquez

Tuesday, April 13, 2004

Winnews: el Integrador de noticias e información sobre Microsoft

¿Quieres estar enterado de todas las noticias que existen alrededor de Microsoft? visita este sitio, podrás encontrar información y ligas sobre:

-Noticias sobre Microsoft
-Sitios para desarrolladores
-Información sobre MSN, Windows, Office
-Blogs de Microsoft, etc, etc

El diseño de este sitio es una combinación entre el desktop de Windows y el buscador Google.

Monday, April 12, 2004

Aprendiendo Arquitecturas Corporativas

Microsoft lanzó dentro de su sitio MSDN el Microsoft Architects JOURNAL, que es una publicación donde participan renombrados arquitectos de software y está enfocada a arquitecturas corporativas.

Hasta el momento van dos números, que los puedes descargar como PDF y algunos de los temas que tratan son:
- SOA (Arquitectura Orientada a Servicios)
- Diseño de Arquitecturas Corporativas
- Sistema de Colaboración Distribuido con .NET
- Patrones de Negocio para Ingeniería de Software

Si eres un arquitecto de software o su equivalente, éste Journal es un "must".

Email de 1 GB GRATIS...

Spymac, una compañía de Web Hosting, ofrece cuentas de correo gratuitas con 1 GB de espacio, además de otros servicios. Si quieres registrarte, presiona aquí.

De forma paralela, los primeros días de abril, Google causó gran noticia al anunciar su servicio de E-mail, llamado Gmail, que sigue generando polémica relacionada con el tema de Privacidad porque para soportarlo escaneará los mensajes y enviará anuncios relacionados con el contenido de los mismos. Este servicio continúa en Beta.

¿Cuál será el futuro del e-mail en 3 años? Seguramente algo diferente de lo que te imaginas en este instante! Todavía falta la respuesta de los líderes del mercado actuales...

¿Por qué instalar Visual Studio 2005? - Mis 3 argumentos

El día de ayer decidí instalar el Preview de Visual Studio 2005 en mi máquina, realmente trae cosas sorprendentes que aceleran el tiempo de desarrollo por lo que es una lástima que se haya retrasado la fecha de liberación, pero en fin, lo que resta ahora es empezar a aprender el nuevo .NET Framework 2.0

Seguramente hay mucha gente que decide esperar a que se liberen estas tecnologías porque no las puede usar en producción y es válido, pero las razones, las voy a resumir en 3 puntos, por las que personalmente me gusta adelantarme son:

1. Porque me encanta la tecnología y estar siempre en lo último.
2. Porque disminuyes la curva de aprendizaje para cuando la tecnología en cuestión se libera.
3. "Last but not least" y en mi opinión la más importante, es porque la "siguiente" versión de un producto contiene los best practices/features pensados, analizados e implementados que sirven para resolver problemas de la tecnología actual (i.e. ¿Qué debería tener mi sitio de intranet? ¿Qué pedazos de código podría encapsular como Controles? Este tipo de preguntas y muchas más las trae resueltas VS.NET 2005 con sólo crear un proyecto de tipo Sitio Web-Intranet!!!)

Friday, April 09, 2004

Blogs: Definición, Ejemplos y Tendencias

Definición

También se le conoce como Weblog y es como un diario pero publicado en Internet. En un blog la gente crea posts o mensajes informales con lo que da a conocer sus ideas, experiencias, noticias, etc. Actualmente mucha gente de todos los ámbitos los está adoptando por la facilidad con la que se puede compartir información, por lo que está considerada como una tecnología emergente que avanza a grandes pasos.

Esta tecnología está muy relacionada con RSS (Really Simple Sindication) que lo que hace es exponer de forma estandarizada mensajes (en este caso los posts de los blogs) y usando un RSS Reader puedes revisar en unos minutos los encabezados de 20 blogs (o los que te interesan) para leer sólo lo relevante para ti y estar informado rápidamente.

Ejemplos

Existen algunos sitios dedicados a hostear Blogs, por ejemplo:
Blogs de ASP.NET
Blogs de MSDN
Blogs de Longhorn
Blogs de Mono (competencia Linux de .NET)

Tendencias - MoBlogs

Este es un tema demasiado extenso porque están surgiendo muchas tecnologías alrededor del Cómputo Social, que en otra ocasión escribiré al respecto, pero el tema específico que quiero comentar es sobre los MoBlogs (a.k.a. Mobile Blogs), que es otra aplicación de un Blog pero extendiéndola mediante telefonía celular. El approach es postear desde un teléfono móvil vía una dirección de correo electrónico y no sólo mensajes, sino también fotos y videos. Además también puedes recibir notificación de posts de otros Blogs/MoBlogs por la misma vía. Esta tecnología tiene grandes aplicaciones para generar nuevos negocios y seguramente en algún tiempo no muy lejano empezarán a explotarla en nuestro país.

Microsoft ya inició con el uso de esta tecnología y la puedes encontrar dentro de su nuevo sitio Channel9 que está enfocado a desarrolladores. Si quieres crear tu propio MoBlog, entra a esta liga. Basta con registrarte y es gratuito.

En qué se diferencia cada versión de Visual Studio .NET

Este artículo muestra las características que incluye cada tipo de producto que usa el .NET Framework, es decir, Visual Studio .NET en todos sus sabores:
-Enterprise Architect
-Enterprise Developer
-Professional
-Academic
-Book/Trial
-Visual C#
-Visual Basic
-Visual C++

Wednesday, April 07, 2004

Biztalk Server 2004 Rollup Package 1

Este parche debe ser aplicado a Biztalk Server 2004 RTM después de su instalación y contiene algunos fixes que se describen este artículo.

Descárgalo aquí.

Channel 9 en MSDN

Aparece Channel9 para crear nuevos niveles/formas de comunicación entre Microsoft y los desarrolladores, es decir, el objetivo es ir más alla de los grupos de noticias, blogs y noticias de prensa para entablar relaciones uno a uno y dar importancia a los pensamientos e ideas y no sólo a las técnicas y habilidades.

Conócelo aquí.

Sunday, April 04, 2004

Documentación de Biztalk 2004

Para todos aquellos que son Early Adopters de Biztalk 2004, ya está disponible en línea la documentación y actualizaciones del SDK. Adicionalmente, la guía de Instalación y el Orchestration Designer for Business Analysts (Visio Add-in) también fueron publicados.

Biztalk Server 2004 Product Documentation
Contiene los archivos de ayuda actualizados del producto para tu desktop. Esta documentación será actualizada cada trimestre.

Biztalk Server 2004 SDK Refresh
Contiene actualizaciones y nuevos ejemplos, utilerías y otros artefactos para ayudar al desarrollo de soluciones con Biztalk Server 2004

Biztalk Server 2004 Installation Guide
Aprende cómo instalar Biztalk Server 2004 en uno o múltiples servidores.

Orchestration Designer for Business Analysts
Add-in de Visio que permite a los Analistas de Negocio crear orquestaciones para ser implementadas con Biztalk Server 2004.

Modificando los Templates de C# en Visual Studio .NET

Los pasos que tenemos que seguir son:
1. Localizamos el directorio:
C:\Program Files\Microsoft Visual Studio .NET 2003\VC#\VC#Wizards
[o su correspondiente dependiendo de dónde está tu instalación de Visual Studio .NET]
Este fólder lo que nos muestra son todos los templates relacionados a C# (para Mobile, Web, Web Services, Clases, Métodos, Componentes, DataSets, XMLSchemas, etc, etc.)

2. Buscamos el template que queremos modificar. Por ejemplo, si cada vez que creas una clase en C# eres de los que borra "TODO: Add constructor logic here" localiza el archivo:
C:\Program Files\Microsoft Visual Studio .NET 2003\VC#\VC#Wizards\CSharpAddClassWiz\Templates\1033\NewCSharpFile.cs
y remueve estas líneas.

Si revisas algunos templates entenderás un poco más cómo funciona cada tipo de proyecto y las opciones por default con las que compila y/o aparece una nueva clase usando los Wizards.

También puedes crear tu propio Template, para ver un ejemplo, entra a la página de Charly Aguilar, un amigo ex-MCS que ahora está en el grupo de ASP.NET en Redmond y en sus ratos libres escribe piezas y artículos muy interesantes sobre .NET.

Buenas Prácticas en SQL Server

Microsoft acaba de liberar una herramienta, todavía en Beta, que se llama Best Practices Analyzer Tool for Microsoft SQL Server 2000. Es algo así como el FxCop pero para SQL Server.

Al instalarla crea una base de datos (sqlbpa) que es un repositorio donde almacena las buenas prácticas, reglas, propiedades y SQL Servers para analizarlos. La parte interesante, pero que a la vez requiere de un poco de práctica con SQL Server, es que tú defines las "buenas prácticas" para cada servidor seleccionando de un conjunto de Reglas que cubren las diferentes categorías de SQL (Backups, T-SQL, Configuración, etc) y al final las aplicas a tu servidor y te genera un reporte. Cuenta con 68 reglas y cada "buena práctica" puede constar de una o más reglas, por lo que puedes generar una gran cantidad de combinaciones.

Para descargarlo, presiona aquí.