jueves, 31 de diciembre de 2009

Próspero año 2010

Un nuevo año viene, otro año donde con Dios delante vamos a seguir en contactos por medio de este humilde blog "consejos del gurú". Esto comenzó como una chercha de publicar una noticia cada cierto tiempo, y casi 3 años han pasado desde que comenzamos con esta labor. Para este año tengo un grupo de cosas que deseo poder conseguir y voy a preparar una pequeña lista y deseo compartirla con ustedes:

Profesional
  1. Sacar adelante mi empresa, que ya se encuentra a mitad del proceso de registro.
  2. Culminar el desarrollo del Site de estadísticas dominicanas.
  3. Volver a retomar los desarrollos freelance y continuar con las asesorías tecnológicas.
  4. Conseguir una certificación de Microsoft.
  5. Mejorar mi nivel de Inglés para aspirar a nuevas posiciones.
  6. Comenzar a prepararme a nivel de Oratoria, locución para impartir docencias.
  7. Prepararme a nivel técnico en gestión de la calidad (CMMI, ISO 9000, entre otras).
Personal
  1. Materializar la boda (09 de Enero) y tener un lindo primer año de matrimonio.
  2. Seguir mejorando la calidad de mi familia y de mis allegados.
  3. Poder recuperar las relaciones con mis amigos del pasado.
  4. Poder mejorar y controlar más mi temperamento y la forma en que me dirijo a los demás.
  5. Volver a retomar mi peso (165 lbs. para 5'9", me faltan 26) .
Cualquier otro punto que me haga falta, lo iré actualizando a nivel que me vaya acordando de ellas.

lunes, 28 de diciembre de 2009

Nuevos paradigma de almacenamiento de datos

Para aquellos que se están iniciando en el mundo de la tecnología en los últimos años, especialmente en el ambiente de base de datos, tengo para decirle que no hace muchos años las base de datos eran almacenadas en archivos planos (Extensiones txt o bin en muchos casos) y no existían relaciones entre ellas. Con el surgimiento de SQL comienza una nueva tendencia a lo que es base de datos relacionar, donde existía una tabla que almacena una tabla con un detalle que estaba relacionada con otra denominada maestra por medio de un código.

Hoy en día parece que la tendencia vuelve a ser una gran tabla con todos los datos, detalles y código en una misma tabla. A esto se le denomina BigTable que es una tecnología que está utilizando Google en su App Engine, eligiendo un módelo que escala independientemente del módelo relacional. Esto porque las relaciones entre tablas limita hasta cierto punto la estabilidad de sistema, contrario a una tabla plana, que te permite transportarla en distintos servidores y de un lugar a otro sin mayores dificultades.

Un ejemplo de este nuevo modelo de base de datos es Hadoop HBase o CouchDB, que son modelos de base de datos desarrollados por Apache. Por ejemplo, CouchDB maneja documentos de tipos JSon, que son unas especies de vistas que pueden ser accedidos mediante query. Esta tecnología fue aceptada por la fundación Apache en el 2008 y puede ser el futuro para las aplicaciones distribuidas a través del Internet. Son más parecido a Lotus Note o Outlook que ha una base de datos como la conocemos hoy en día.

domingo, 27 de diciembre de 2009

Configuración de IIS6

Me encuentro en unos días complicados, donde el ajetreo de los trabajos, las fechas navideñas, donde tengo el deber de compartir con mis seres queridos y otros compromisos, me tienen un poco alejado de mi pasión, compartir algunos conocimientos que he adquirido en los últimos tiempos. Sin embargo, siempre trato de sacar un tiempo aunque sea un día a la semana para publicar algo que me parezca interesante, ahora lo dejo con un interesante artículo que explica como configurar un servidor IIS 6.0. El documento es muy completo y no tiene desperdicio.

Ver el Contenido.

viernes, 25 de diciembre de 2009

Felices Navidades

Por este medio les deseo muchas felicidades a todos los lectores de este humilde blog, que Dios los ilumine y los ayude a conseguir todos sus propósitos durante este nuevo año. Este fue uno de los años más difíciles de los últimos tiempo, donde la economía mundial se mantuvo en sus niveles más bajos durante el primer semestre del año a causa del descalabro acontecido durante el período 2007-2008. Tengo Fe, que este año será de mejoría y estabilidad en muchos de nuestros países, a pesar de que la corrupción, drogadicción, entre otros, está arropando nuestros países latinoamericanos.

jueves, 24 de diciembre de 2009

Comprar componentes y desarrollarlos en casa

Hoy voy a tocar un tema que siempre generan diferencias entre varias corrientes de desarrolladores. Algunos desarrolladores (más aquellos de la vieja escuela que le gustan hacer todo desde 0) y otros que prefieren emplear componentes de terceros (esto incluye scripts) y que saben que funcionan. Yo soy de lo que apoya el dicho, si está hecho, para que hacerlo nuevamente y para justificar mi creencia les voy a decir cuales son los puntos en los que me apoyo. Estos son:

1 - Exigencias de desarrollo de nueva aplicaciones en tiempos muy cortos. Todos quieren aplicaciones en pocos dias y hasta en horas.
2 - El desarrollo de un nuevo componente conlleva análisis, desarrollo, diseño, pruebas, auditoria y al final suma mucho tiempo en $$$$ y en horas / hombres.
3 - Esos componentes han sido probados y en su mayoría ya han pasado su ciclo de sistemas.
4 - Al final sale más económico que pagar por el componente que compramos que desarrollarlo en casa (ver punto 2 y 3).
5 - No soy de los que creo que esos componentes me pueden perjudicar exponiendo la integridad de mi información (como muchos aseguran) 6 - Al final todo depende del componente que vayas a utilizar, pero si lo que quieres es:
a) Calendarios
b) Gráficos
c) Olap Services
d) Ajax, JQuery u otros componentes que utilicen estos client scripts.
7 - Estos desarrolles hacen que las aplicaciones se vean más comerciales (no es lo mismo un experto en manejo de datos desarrollando un componente de gráficos, que un experto en gráficos desarrollando un gráfico)
8 - Sería más sencillo al momento de integrarla con otros sistemas más complejos.

Para que perder el tiempo haciendolo desde 0, cuando existen tantos en Internet (y muchos de ellos gratis, incluyendo su código, si eres de aquellos que eres paranóico y creen que pueden espiarte por esta vía). Además, para que estan los firewalls, si tienes dudas. Con esto voy a sellar lo escrito, si está construido, buscamos primero si existe y si no encontramos nada, lo construimos desde 0, solo y si no existe nada (Esto puede aplicar perfectamente si lo que va a hacer es evaluar el desarrollo de una aplicación).

Componente para trabajar con Olap services in WinForm

Para aquellos que desarrollan herramientas tipos WinForm y se ven en la necesidad de insertar una herramienta para realizar Pivot Tables and Charts como Excel, cognos, microstractegic, por ejemplo, o otras herramientas que hemos mencionado en este blog, pueden utilizar el ComponentOne OLAP for WinForm, una herramienta muy poderosa que te permite de realizar cualquier procesamiento de análisis de datos.

Puede visitar su enlace aquí y ver todas las ventajas que le ofrece este vistoso componente, que además es fácil de implementar. Ahora que le ofrece este componente de ventaja a lo que le puede ofrecer cognos, un componente mucho más económico y customizable para ser integrado con su aplicación propietaria. El precio es solo US$1,800.00 dólares, sumamente económico tomando en cuenta el dinero que nos puede generar.

Utilizar una cantidad N de procesadores con SQL Server

Después de un largo tiempo sin publicar nada por cuestione de trabajo, les muestro una opción para utilizar hasta el máximo su motor de base de datos SQL Server. En todos estos tiempos, no había utilizado este comando (MAXDOP) que te permite indicar la cantidad de procesadores que tu quieres que el SQL utilice cuando realizas una transacción.

Para ejecutar esta opción solo tiene que poner la opción "Option (Maxdop N)" después de tu query y listo. Ejemplo de una consulta que utiliza los 8 procesadores:

select * from Clientes with(nolock)
Option (Maxdop 8)
Go

Gracias al Sr. Tim Darwish por la información.

domingo, 6 de diciembre de 2009

Hardware Open Source

Mucho se habla del movimiento Open Source a nivel mundial, pero basado más en una tecnología a nivel de Software, basados en su mayoría en los movimientos GNU y Open GL. Estos movimientos agrupan a Linux, algunos desarrollos de Google y otros software que mantienen sus códigos disponibles para estudios y análisis de los mismos. Pero, porque este movimiento solo existe a nivel de software y no es tan popular a nivel de hardware, a pesar que desde varios años se está trabajando en este tipo de tecnología.

El mejor ejemplo de esto es el movimiento Arduino, que es una plataforma de hardware libre basado en una placa sencilla de entrada y salida y un entorno de desarrollo que implementa el lenguaje de programación Processing/Wiring. Más información en Wikipedia. Ahora, porqué estos proyectos no han triunfado?
Simplemente, estos proyectos no tienen apadrinamiento de grandes empresas que puedan mantenerlos y sacarlo adelante, ya que no ayudan a las empresas en su principal objetivo, que es generar dinero. Esa es la realidad y por eso este tipo de proyecto no han podido cuajar como desearíamos.

El principal promotor de este proyecto es Smart Projects SNC, una organización sin fines de lucro que apadrina el desarrollo de plataforma libre en Estados Unidos.

Es conveniente usar sus DNS Locales

Hace unos días leí en un blog hermano que las personalidades de Google habían lanzado sus propios direcciones de DNS y que pensaba cambiar sus DNS que usa en sus equipos desde OpenDNS a GoogleDNS.

Pero, eso puede establecer un pequeño problema, yo también utilizaba OpenDNS con sus DNS públicos: 208.67.222.222 y 208.67.220.220.

y en un momento tenía la empresa desconectaba del Internet, y el problema es que nuestro proveedor de Internet estaba confrontando inconvenientes con la salida fuera del país. Cuando cambiamos los DNS a algunos locales, nos dimos cuenta que el problema es que nuestro ISP en ese momento (Tricom) solo estaba permitiendo la navegación de Internet a nivel nacional como si fuera un gran red Wan. Con esto no digo yo que no usen OpenDNS, usen estas direcciones ya que no presentan inconvenientes, por lo menos en los 3 años que llevo utilizandolo, y realicen las pruebas con los DNS de Google: 8.8.8.8 y 8.8.4.4, pero no olviden dejar una dirección de DNS a nivel nacional, ya sea, Codetel o Tricom, por si sucede algún inconveniente con la salida del Internet en algún momento dado hacia el exterior.

Insertando Meta y Description en Asp.net

Para insertar Meta y Descripciones de palabras claves en ASP.Net se pueden hacer de forma muy sencilla sin tener que definir todas esas variables dentro de nuestro HTML aumentando el tamaño y lectura de nuestras páginas web, para esto debemos hacer:

public static void SetKeywords(string name, string value)
{
HtmlMeta meta = new HtmlMeta();
meta.Name = name;
meta.Content = value;
head.Controls.Add(meta);
}

this. SetKeywords("description","Esto es una descripción de prueba");
this. SetKeywords("keywords","Esto es una palabra clave de prueba");

Con esto podemos crear nuestra función y desde nuestro code behind del master page asignar nuestras descripciones y palabras claves.