Aplicaciones web

Los que me conocen se darán cuenta de que el titulo de mi post no se refiere a las aplicaciones web que se empaquetan o que satisfacen necesidades especificas para algún modelo de negocio o empresa como tal; aplicaciones que pueden desarrollarse con algún IDE como el de VS.NET (esa mas bien es mi chamba). Más bien me refiero a las aplicaciones web que empresas como Google, Hotmail, entre otras ofrecen y que ponen a disposición de aquel que las requiera. Algunas personas las han de conocer como la Web2.0.

De un tiempo acá me he convertido en todo un friki buscando la mejor forma de darle uso a dichas aplicaciones. Me he obsesionado al grado de querer tener a la mano toda la información relacionada a mi vida diaria a través de la red.

Ya tengo conmigo un buen palmarés de estas aplicaciones las cuáles siento que me han servido de mucho y que no me han permitido preocuparme por no tener al alcance la información que requiero para seguir con mis labores:

  • Google Mail: Lo he convertido en mi cliente de correos predeterminado. Aquí recibo correos tanto de mi oficina, como personales, los cuales puedo clasificar fácilmente gracias al motor de etiquetas y filtros con la que cuenta la herramienta.
  • Remember The Milk: Mi gestor de tareas o cosas por hacer predilecto. Aquí coloco todas aquellas tareas o cosas que tengo pendientes por hacer. Ahora esta herramienta la tengo integrada al Google Mail contando con una poderosa herramienta de productividad siempre conmigo.
  • Google Reader: Mi lector de feeds por excelencia. Podría decirse que aquí es donde me entero de aquellas nuevas prácticas relacionadas al área de TI e Ingeniería de Software, y alguno que otro blog amigo por supuesto.
  • Google Calendar: Mi calendario online por default. Al prescindir de una herramienta como Microsoft Outlook, requiero de algún método para agendar mis citas, reuniones y vida personal, Google Calendar me ofrece todo lo mencionado, sin dejar de mencionar que puedo consultarlo donde yo lo desee.
  • Sky Drive de Windows Live: Mi método para almacenamiento online de cajón. Aquí puedo colocar y gestionar archivos tal cual fuera un FTP. Vaya si está disponible porque no usarlo!!
  • Google Docs: Siguiendo con Google, el lugar donde se localiza mi mayor parte de información relacionada a tecnologías, lenguajes de programación, etc. Tenemos la opción de poder trabajar esta aplicación aun cuando no tengamos una conexión a internet, gracias a Google Gears.

Estas herramientas se han convertido en imprescindibles para un día normal de trabajo e investigación y me encanta poder gestionar mi vida informática desde ellas. Lo mejor es que estarán disponibles para miguelito siempre y cuando cuente con una conexión a internet.

Saludos desde aquí para allá!

Geek Quiz

Hummm, nada mal siento yo …. (:

43% Geek

Created by OnePlusYou

vsts.2008

La semana que acaba de pasar me ha resultado muy provechosa, particularmente en mi comprensión sobre algunas tecnologías de desarrollo de Microsoft y tomando en cuenta que en mi actual trabajo es el pan de todos los días el desarrollar software con estas, pues en este primer intento de acercamiento, he quedado muy satisfecho por muchos aspectos. Uno de estos aspectos es que el cuate que nos visito y nos dio el overview del VSTS.2008 nos ha dejado con un buen sabor de boca, al menos conmigo en lo particular si lo hizo. Segundo, la herramienta viene a darnos o mas bien viene a revolucionar creo yo en mi humilde punto de vista la manera en como desarrollamos el software en la empresa. Es mucho el potencial que tenemos al alcance con esta herramienta y sabiendola utilizar es muy seguro que podremos mejorar nuestros hábitos de programación.

Los tags de la presentación: sqlinjection, blindsqlinjection, vsts2008, nhibernate, nunit, unittest, importaciadelaspruebasunitarias, linq, microsoft, firefox3, deployment, df, novutek, dotnet, seguridad, iis, desarrolloguiadosporpruebas, refactoring, workitem, codesecurity, reflection, fxcode, performance, tipos de pruebas, desarrollo, basededatos, sonora, 50°C, soa, sqlserver2008, codeanalisis, mejorespracticas, teamfoundationserver, wfs, controldeversiones.

Por ahi se me pasaron varios, pero son los que se me vienen a la mente.

Delegados en .NET

Ya desde hace un buen tiempo, desde que ando en esto del desarrollo de software he escuchado sobre los Delegados, pero nunca los había entendido hasta hoy. Puedo escribir algo sobre lo que yo entiendo sobre ellos, pudiera ser que alguien tenga una mejor opinión, entonces leeré todos sus comentarios.

Partiendo de la definición de Delegados como una estructura de programación que nos permite invocar a uno o varios métodos a la vez. Estos métodos pueden encontrarse en la misma clase desde la que se invocan o en clases distintas asociadas a ésta. Hablando “a bajo nivel”, un delegado es un puntero seguro a una función (pero sin la complejidad de la administración propia de dicho puntero).

En palabras cristianas un Delegado no es nada más que un puntero a una función definida previamente en alguna clase. Se debe de definir la firma y el tipo devuelto del Delegado de la misma forma en que se define la función utilizando la palabra reservada delegate, quedandonos la implementación de la siguiente manera:

1
2
3
public class DelegateTest {
   private delegate string NombreDelegado (string Param1, …);
}

Podemos hacer uso de los métodos definidos en las clases a través del Delegado. La instancia del delegado creado deberá de pedir como parámetro un método que puede ser la función a la que queremos apuntar -¿interesante no?- el IDE de Visual Studio solicita el parámetro de este tipo gracias a la definición del delegado creado anteriormente.

La ventaja de usar el Delegado como tal es que podemos utilizar los métodos de las funciones tal y como si estuviéramos creando una instancia de la función. Otra ventaja que resulta interesante es que podemos utilizar Delegados para desencadenar la llamada a varios métodos ya sea que estén en una clase o en clases por separado; esto es posible gracias a la combinación de dos o más Delegados definidos mediante el método estático combine que devuelve un Delegado genérico el mismo tipo del Delegado -ojo, no del mismo tipo de retorno del delegado sino del tipo tal delegate.

Como podemos ver la aplicación de Delegados los debemos de orientar a resolver problemas de ingeniería y de esta forma poderlos simplificar.

Ya después describiré algún uso en un proyecto futuro.

Teaching asp.net?

Fue bonito mientras duro. La experiencia fue muy significativa debido a que nunca habia experimentado la docencia. Ahora entiendo a mis maestros y todo lo que implica el impartir conocimiento a sus alumnos.

Hice mi mejor esfuerzo y me falta mucho por mejorar, pero creo que esta vez, salí muy bien librado de esta.

El adiós a otro ¡crack!

“Es pequeñito, rápido, hábil y tiene un carácter ganador. Se parece a Saviola, pero Omar tiene mas trabajo con el balon”

- Javier Aguirre, DT Atlético Madrid

“Los goleadores suelen ser egoístas, pero Omar lucha por el equipo. Era el alma del Guadalajara y el gran referente”

- José Manuel de la Torre, Ex DT Chivas

Los aficionados del Guadalajara siempre estarán agradecidos por todo lo que les diste en el terreno de juego (aunque como fallabas wey!).

Chentita Aguilar Ramírez

Que lindura de bebé =)

Al final del túnel (EL CIO)

Supuestamente al final de la maestría cuando obtenga el grado de Maestro en Administración de TI, tendré que considerar y ser capaz de lo siguiente:

¿Qué es un CIO?
Desde mi punto de vista, un CIO es una persona que combina el mundo de la tecnología con el otro mundo muy importante para las organizaciones, el mundo de los negocios, el CIO es capaz de interpretar e identificar las necesidades actuales y aquellas que en un futuro se puedan presentar, para de esta forma poder crear proyectos, y realizarlos con apoyo de la gente que tiene a su cargo dentro del área de TI.

¿Cuáles son las metas de un CIO en una organización?
Pienso que en un mundo actual, donde la TI a dejado de ser una ventaja competitiva, debido a que todas las organizaciones tienen a su alcance implantar proyectos donde la TI es el principal insumo, el CIO deberá ser el factor de éxito si se desea seguir por el mismo camino, ¿de que manera? pues siendo creativo e innovador, buscando y encontrando maneras (tecnologías emergentes, coordinando a su gente) para reducir la cantidad de tiempo y dinero que se gasta en implantaciones, requerimientos y mantenimiento, para mi esa es la principal meta del CIO dentro de la organización.

¿Cuál es son las funciones de un CIO en la organización?
He leído en los mapas mentales que las funciones del CIO se extienden hacia otros departamentos dentro de la organización, no solo en el departamento de TI y que eso le permite poder implementar iniciativas con éxito que beneficien a todos en la empresa, pero dentro del área de TI el CIO debe de cumplir otras funciones; el CIO debe de ser un excelente administrador y comunicador, debe de saber como planear en cuanto a costos y esfuerzo, pero tambien como lo mencioné en mi mapa mental debe orientar al personal a su cargo al mantenimiento, desarrollo e implementación de proyectos informáticos que le permita a la empresa donde trabaja obtener una ventaja competitiva, estos proyectos los debe de contraponer y priorizar contra los objetivos estrategicos del negocio y que estén directamente relacionados con los procesos de la compañia.

¿Cuál es la característica más importante de un CIO?
Para mi la característica mas importante de un CIO es su capacidad de relacionarse, la comunicación desde los niveles mas altos, hasta los niveles mas bajos, además de ser un líder, y no tanto un gurú tecnológico, de estos hay muchos, pero no siempre son capaces de transmitir lo que buscan, todo para el bien de la compañía. Además de estar plenamente convencido en el uso de la tecnología como medio para alcanzar el éxito.

¿Qué hace que la función de un CIO fracase?
Que los directivos de las compañías no esten convencidos de que la TI puede ser un camino para diferenciarse de los demás, a mi ver esa es la principal razón para que un CIO dentro de la empresa no logre su cometido. Hay muchos otros factores como el de no conocer el negocio, el CIO debe de estar enterado de todo lo que pasa en la organización, por algo es el jefe de información y debe de asegurarse que lo que el hace o propone esta alineado a la misión y visión de la misma.

¿Qué tipo de empresas debe considerar a un CIO dentro de su organización?
Todas aquellas empresas que quieran alcanzar el éxito. Al parecer hoy en día es primordial que se incluya al CIO dentro de las organizaciones y verlo como una estrategia para lograr ventajas competitivas y de reunión su información en un solo punto

¿Cuáles son las claves para convertirse en un CIO exitoso?
Debe de ser un gran agente de cambio, debe de convencer a las personas que aun no confian en que la TI puede abrir las puertas para lograr una sobrecompetencia, además de otras tantas como el de estar constantemente pendiente de la actualidad en términos de tecnología de información, si no conocerlas a profundidad, si estar empapados de estas, para que asi se pueda seleccionar la que mejor se adapte a las necesidades del negocio, que día a día surgen.

¿Cuáles son los principales riesgos empresariales a los que se enfrenta un CIO?
Los empresarios creen que el CIO debe tener una visión completa de su mercado y nada mas, sin entrometerse en las funciones de los demás miembros del comité de dirección de la empresa; pero lo importante es que deben ser capaces de comprender las interrelaciones de su industria y cómo utilizar la tecnología para aportar a su empresa un valor. Esto deben de tenerlo bien en claro.

Todas las preguntas son contestadas de acuerdo a mi criterio para el foro con tópico principal “El CIO”, para una materia de mi plan curricular.

… porque parecía que golpeaba el balón con un “Tubo”

Jaime Gómez, mejor conocido como “Tubo” Gómez y uno de los mas grandes de Chivas, participe de aquel campeonísimo de los años 50´s y 60´s fallecío el día de ayer a los 78 años.

Al “Tubo” se le recuerda con cariño y paso de idolo a leyenda, ya que es muy recordado por los todos los aficionados del Rebaño, debido a que en un partido celebrado en el Parque Oro contra el Atlas equipo rival en la ciudad de Guadalajara, tuvo la ocurrencia de sentarse a leer una revista recargado en el marco de la portería ante el poco trabajo que le daban los delanteros.

Q.E.P.D.

Oh MySQL!

En el proyecto en el que estoy, tengo que diseñar y construir scripts para migrar información de una base de datos de MySQL a otra base de datos diseñada en SQL Server 2005.

¿Pero a que problemas se podría enfrentar alguien como yo, al cuál le han impuesto trabajar con DMBS´s como el segundo en cuestión?

Pues primeramente, para alguien que no tiene ni la mas remota idea de como manejar MySQL - como yo - pues nos enfrentamos al primer problema: ¿como rayos restaurar una base de datos de MySQL? y es que uno esta acostumbrado a la interfaz bonita (o al menos funcional y gráfica) del Enterprise del SQL, en la cuál con dos clics tenemos nuestra base de datos ya lista para utilizar nuestros amplios conocimientos en DDL y DML (a-há). Pero bueno, aqui algo de lo que hice y que les sirva a otras personas:

Primeramente intente con PHPMyAdmin, el problema es que cuenta con un límite de tamaño y el back a restaurar pesaba mas de 400 megas o.O

Solo había otra forma de hacerlo o al menos la conocida no hasta ayer por mi, la fabulosa MySQL Command Line Client. Solo hay que usar este cliente para crear la base de datos mediante este comando:

1
mysql>CREATE DATABASE NombreBD;

Una vez que tenemos la base de datos en nuestro servidor hay que irnos a la línea de comandos de Windows inicio –> ejecutar y escribir cmd (al menos asi se hace en Windows XP) y escribir esto dentro del directorio bin de la instalación de MySQL en nuestro equipo:

1
C:\Program Files\MySQL\MySQL Server 5.1\bin>mysql -uuser -p NombreBD>back.sql

La línea de comando nos solicitará la contraseña del usuario y una vez proporcionándolo tendremos nuestra base de datos lista, restaurada al 100%.

Disclaimer: escribo este post para que en el futuro no me olvide de hacer esto, hehe.