¿Cuánto cuesta una Maestría en el ITAM?
Y sí: Yo, como muchos, me preguntaba justamente eso.

Actualmente estoy cursando un diplomado en el ITAM. El nivel del curso y, particularmente, el nivel de los profesores, es muy bueno. En general mi experiencia hasta el momento ha sido buena y por ello decidí investigar un poco respecto a los costos de la Maestría en Administración (también conocida como MBA).

Información sobre el programa: http://mba.itam.mx

Aquí muestro los números que recibí por parte del personal de Maestrías en Negocios del ITAM:

Ejercicio para Costo Total de Maestría en Administración Tiempo Parcial

Tarifas vigentes al 01 de Abril 2013
(Aunque solicité la información el día 10 de Abril de 2014, al parecer me la enviaron con datos que podrían ser de 2013; otra posibilidad es que hayan cometido un error al modificar la fecha y los datos sí estén actualizados).

ConceptoCosto (MXN)
Inscripción única por toda la maestría$21,000.00
Materia Común ($17,952.00) x 19$323,136.00
Liderazgo y Manejo del Cambio$20,944.00
Propedéutico de Métodos Cuantitativos$17,952.00
Propedéutico de Contabilidad$17,952.00
Gastos de Titulación (aproximados)$13,283.00


Costo Total de la Maestría$414,267.00

Total de Materias: 19
Propedéuticos: 2
Duración de la maestría: 21 meses

¿Vale la pena?

Quizá si vives en México y has estado revisando opciones, te hayas encontrado con estas listas:


El mejor MBA en México (según el ranking de CNN) es el del IPADE, pero con un costo que ronda los 700,000 pesos debe ser algo difícil de alcanzar para la gran mayoría, aún con becas y financiamientos.

El MBA del ITAM viene en segundo lugar este año, con un costo apenas superior a los 400,000 pesos. ¿Pero ésto lo convierte en una buena opción? Según el ranking mundial de MBAs de CNN, uno podría optar por cursar el MBA en otro país:

EscuelaCosto (USD)Ranking
Porto Business School$28,50074
HEC Montreal$30,38063
ESIC Business & Marketing School$32,70057

Obviamente, ir a otro país implica dedicarse de lleno al programa de estudio y culminar el MBA en 10 ó 12 meses. El ITAM también ofrece una modalidad de Tiempo Completo, que se culimna en 12 meses y tiene un costo aproximado de 289,000 pesos. 

¿Y entonces?

Si no tienes la necesidad de trabajar y puedes tomarte un año libre para cursar el MBA, tienes la opción de estudiar a Tiempo Completo, ya sea en México o en el extranjero. En México bien podrías optar por el ITAM, que tiene muy buenos profesores y bastante reconocimiento a nivel nacional; en el extranjero, podrías optar por la ESIC Business & Marketing School, que tiene uno de los costos del MBA y de vida más bajos, además de estar localizada en España, donde el idioma no sería un problema si no dominas el inglés (aunque deberías) y además se posiciona en el puesto 57 del ranking mundial que realiza CNN.

¿Y para qué estudiarías el MBA?

Lo más probable es que estés buscando expandir tus conocimientos buscando crearte un mejor perfil laboral. Quieres ganar más dinero, vaya. El perfil mundial que hace CNN también muestra los salarios promedio que obtienen los estudiantes al egresar del MBA en cada una de las universidades analizadas. Los datos indican que podrías ganar hasta 120,000 dólares anuales cuando egresas de una de las universidades más prestigiadas o vives en uno de los países con el costo de vida más caro del mundo. Si ese no es el caso, entonces podríamos pensar en un salario promedio de 70 u 80mil dólares anuales; y si hablamos de México, quizá de unos 35 ó 40mil pesos mensuales.

Si inviertes en estudiar tu MBA y (después de uno o dos años) consigues terminarlo, habrás hecho una inversión que estará entre los 400,000 y 600,000 pesos. Considerando que el MBA te produjera un aumento salarial inmediato de 10,000 pesos (asumamos que actualmente ganas $30,000 y con el MBA obtienes un empleo que te paga $40,000), esos 10,000 pesos extra mensuales te servirían para cubrir la deuda que adquiriste en, aproximadamente, 60 meses. Eso sin contar intereses o algún otro gasto más allá de las cuotas del MBA y del costo de vida si decides cursarlo en el extranjero.

Para cuando culmines de cubrir los gastos, ya habrán pasado 5 años (quizá menos, si vas obteniendo nuevos aumentos salariales y se puede cubrir más rápido dicha deuda). ¿En esos 5 años, podrías haber llegado a ese mismo nivel salarial sin el MBA? ¿Estarías en una mejor o peor situación si no hubieras invertido (o gastado) esos $600,000? ¿Valdrá la pena?

Yo todavía no lo sé.

3 Comments Filed Under [ ITAM MBA Maestría ]
Se denegó el acceso a la clave de Registro 'HKEY_CLASSES_ROOT\AcroExch.Document\shell\Open\command'.

Estoy utilizando la librería de Report.NET para crear archivos PDF. En el ambiente de desarrollo (como siempre) todo funcionaba bien. Es al publicar la aplicación en el servidor cuando comenzaron los problemas.

El error:

Se denegó el acceso a la clave de Registro 'HKEY_CLASSES_ROOT\AcroExch.Document\shell\Open\command'.

Tras actualizar todo lo actualizable en el servidor sin resultado alguno, fue momento de buscar alguna otra solución.

No me llevó mucho tiempo el encontrar la explicación en internet:

"By default, Microsoft Internet Information Services (IIS) 6.0 on Windows Server 2003 runs ASP.NET applications in application pools that use the NT AUTHORITY\Network Service account identity. This account is a least privileged machine account with limited permissions. An application that runs using this account has restricted access to the event log, registry, and file system."

Es decir que al crear en el servidor una aplicación que hace uso de código de bajo nivel, como en el caso de la librería de Report.NET, la cuenta de Network service que intenta el acceso a las claves del registro recibe el mensaje de negación de acceso.

La solución es sencilla, requiere sólo de unos cuantos pasos:

1. Ejecutar el editor de registro de Windows - Inicio/Ejecutar/Escribir 'regedit'/Aceptar.

2. En el árbol de claves del registro, navegar hacia la raíz sobre la que asignaremos los permisos. En mi caso, los asigné sobre HKEY_CLASSES_ROOT\AcroExch.Document.

3. En las opciones secundarias de dicha raiz, seleccionar Permisos.

4. Dar click en el botón Agregar.

5. Escribir 'Servicio de red' o 'Network service', según sea el caso.

6. Click en botón Comprobar nombres. Aceptar.

7. Seleccionar del listado de cuentas la que se acaba de agregar.

8. Asignar permisos de control total y Aceptar.

Listo.

System.ObjectDisposedException: Cannot access a closed file.

El día de hoy me topé con este error. Estaba desarrollando un control que permite elegir N archivos (a través de controles FileUpload) y guardarlos en memoria para subirlos después en bloque. Era necesario subir los archivos, todos juntos, posteriormente a haberlos elegido dado que también se tenían que relacionar con algunos registros de la base de datos.

En realidad el error no es muy descriptivo del problema subyacente, dado que el texto deja pensar que el buffer del archivo ha sido cerrado antes de utilizar los controles "FileUpload" para subir el archivo. El problema real, es la limitación del tamaño de los archivos en el web.config de la aplicación.

Para solucionarlo, se puede sustituir el nodo httpRuntime que viene por default en el web.config por:

<httpRuntime executionTimeout="10800" maxRequestLength="2097151" enableHeaderChecking="false" requestLengthDiskThreshold="2097150" requireRootedSaveAsPath="false"/>

Ésta estuvo fácil.

Error al instalar Visual Studio 2008 en Windows 7

Post/Install() failed in ISetupManager::InternalInstallManager() with HRESULT -2147023293. - Es el mensaje que aparece en la descripción del error o en los archivos de log. Algunos dicen que si buscas más a detalle encuentras el problema. Después de reintentar la instalación como 8 veces, desinstalando cada vez más cosas, te encuentras con que la solución es sencilla:

¡Desinstala Office!

No sé por qué, pero creo que Microsoft asume que si eres un desarrollador, primero instalarás VS2008 y después Office; si lo haces al revés, se generan problemas de compatibilidad (ya que VS2008 instala herramientas de interoperabilidad/desarrollo/conexión con Office, Visual Studio Tools for Office) y la instalación no pasa a veces ni del .net Framework.

A final de cuentas, creo, ésta es una medio sencilla.

IIS 7 (Windows Server 2008) no entrega javascript ni css

Hace algunos días, jugando con las configuraciones del IIS, revolvíamos las opciones de compresión de contenidos. La intención era habilitar gzip para el contenido estático pero la cosa salió tan mal que el portal, en vez de reducir su tamaño por los contenidos comprimidos, lo "redujo" porque el servidor dejó de enviar los archivos javascript y las hojas de estilo al navegador.

Después de estar buscando como hora y media, resultó que la explicación y la solución eran bastante sencillas (y ni siquiera las encontramos nosotros): Al estar cambiando las opciones de compresión de contenidos estáticos del IIS, se crearon unos archivos de configuración (web.config's) tanto en la carpeta de los archivos javascript como en la de las hojas de estilo, que es una estructura que el propio IIS no reconocía y dejaba la aplicación 'cortada', dejando fuera estas carpetas. Eliminar ambos archivos de configuración bastó para volver a visualizar el portal como se debía.. de la compresión, creo que ya ni seguimos buscando.

Windows 7 sin acceso a dispositivos de red

A principios de esta semana, tuve que configurar una máquina con Windows 7 para usarla como un equipo de trabajo más de nuestra red. Todo parecía ir bien hasta que intenté conectarlo al servidor de control de códigos. Rechazaba la conexión sim importar las credenciales que le dieras, aún las de administrador. Intenté acceder al servidor a través de la ruta de red pero tampoco funcionó: Al teclear \\servidor en el explorador, lanzaba la ventana que pedía las credenciales pero devolvía un mensaje que decía algo de permisos insuficientes.

Busqué un buen rato en internet sin suerte, terminé formateando el equipo y a final de cuentas continuó igual. Así que volví a buscar y me encontré con un post en inglés en el que se mencionaban los siguientes pasos:

1. Deshabilitar el firewall de Windows

2. Verificar que el recurso de red esté disponible desde otro equipo

3. Abrir la ventana de Ejecutar (WIndows + R)

4. Escribir 'secpol.msc' y Aceptar

5. Ir a Directivas Locales/Opciones de seguridad

6. En el listado de opciones que aparecen, buscar 'Seguridad de red: nivel de autenticación LAN Manager'

7. Botón Secundario, Propiedades

8. Seleccionar 'Enviar LM y NTLM: Usar la seguridad de sesión NTMLv2 si se negocia' (mi equipo no tenía ninguna opción seleccionada)

9. Verificar la configuración de Fecha y hora

No sé en realidad si fue lo del nivel de seguridad o simplemente la fecha y hora, pero eso solucionó el problema :)

Host [NombreDelEquipo] is not allowed to connect to this MySql Server

Me acabo de enfrentar a como 12 problemas diferentes al montar una aplicación en un servidor nuevo. Uno de ellos, que no se tenía el acceso al servidor de MySQL. Para solucionarlo, basta con ejecutar la siguiente sentencia desde el administrador de MySQL:

GRANT ALL PRIVILEGES ON *.* TO root@[IP_o_NombreDelEquipo] IDENTIFIED BY [PasswordDelSqlUser]

LiNQ to desestrés

En mi trabajo actual casi no utilizo el SQL Manager. Esto debido a que yo sólo me encargo de cosas del front (funcionalidades e interacción con el usuario) y lo referente a bases de datos lo ve otra persona.

Estarme alejando de las cuestiones de bases de datos me preocupa un poco porque siento que podría 'oxidarme' en esa área que de por sí no ha sido mi fuerte; sin embargo, hace algún tiempo me dí cuenta de que en realidad la persona que se encarga de bases de datos tampoco le mete mucho la mano al SQL Manager, ya que todos los servicios de acceso a datos están construidos con Linq.. y es que, cuando puedes evitarte algo como esto:

CREATE PROCEDURE [dbo].[UsuarioSi]
                @Nombre varchar(100),
AS
    BEGIN
    INSERT INTO dbo.Proveedor(
    [Nombre]
    )
    values(   
            @Nombre
        )
END

con algo como esto:

            DataContext data = new DataContext();
            Proveedor prov = new Proveedor();
            long nextId = data.Proveedor.Max(p => p.ID).Value + 1;
            prov.ID = nextId;
            prov.Nombre = "Nuevo proveedor";
            data.Proveedor.InsertOnSubmit(prov);
            data.SubmitChanges();

para los que hablamos más C# que SQL, ya todo lo demás sale sobrando, ¿no? ;-)

¿Por qué puerto escucha mi SQL? (aka Otra de DBAs)
Saber por qué puerto está atendiendo las peticiones tu servidor de bases de datos puede ser relevante, sobre todo si te pones a jugar con las configuraciones y le cambias todos los valores default durante la instalación.

Según dicen, el puerto por default es el 1433. Si lo cambiaste sin querer, no te acuerdas o te topas con un papanatas que o lo cambió sin querer o no se acuerda, puedes ejecutar, desde el SQL Sever Management Studio el SP xp_readerrorlog.

En el error log puedes ver mucha información como el modo de autenticación, el ID de proceso del servidor y, en una entrada como ésta

Server is listening on [ 'any' <ipv4> 1433].

en este ejemplo, mi servidor sí tiene configurado el puerto default, 1433 ;)

Si quieres cambiar el puerto configurado, lo puedes hacer desde el SQL Server Configuration Manager, que viene entre las Configuration Tools que se instalan junto con el SQL Server. En el Configuration Manager, hay que expandir la sección de Network Configuration y seleccionar Protocols for MSSQL Server. En la sección de detalle, al seleccionar protocolos, se despliega una lista entre los que aparece el protocolo TCP/IP. Al hacer doble click en éste, se muestra la ventana de propiedades en la que se puede cambiar el puerto, en la pestaña IP Adresses, en la parte de hasta abajo, en IP All (configuraría todas las versiones del protocolo IP, ya que se puede configurar un puerto diferente para cada versión del protocolo). En TCP Port, escribes el numerito y voilá!
¿Windows Media Player en Windows Server 2008?
Hace un par de días necesitábamos tener el Windows Media Player instalado en un servidor con Windows Server 2008 casi recién desempacadito, por lo que no tenía ninguna configuración extra ni algo así. Ninguno de los que por ahí estábamos hemos trabajado mucho con este server anteriormente, así que no sabíamos si venía preinstalado o si teníamos que instalarlo, ni cuál de sus versiones.. nada.

Tras buscarlo instalado, decidimos que era prudente pensar que no lo traía de fábrica y había que instalarlo. Buscamos versiones para Windows Server 2008 y no parecía haber alguna específica. Probamos con la versión 11 para XP. Nada. La versión 9 (que decían era más genérica). Nada.

Finalmente nos encontramos con que debíamos instalar la Característica (o Windows Feature) de Desktp Experience.

El Desktop Experiencie instala un par de cosas que, se supone, hacen que el ambiente sea un poco más similar al que se encuentra en una pc con sistema operativo windows (p.e. Vista o Windows 7).

Para instalar el Desktop Experience hay que abrir el Server Manager, elegir la opción de Features y en el menú contextual seleccionar Add feature. Se muestra una ventana en la que se puede seleccionar el Desktop Experience (entre otras muchas características) para posteriormente seleccionar Instalar.

Al terminar la instalación y reiniciar el servidor, ya tendremos el Windows Media Player (junto con Sidebar, Photo Gallery y Theming, con el que podrán cambiar la vista clásica del server por una interfaz aero como la de vista :P).