Obama quiere rescatar a los periódicos

Hace ya más de tres meses comentaba bajo el título "El apocalipsis de los periódicos" que era inevitable que estos medios quebraran, la caída de las ventas de anuncios de la prensa tradicional era muy pronunciada (casi un 30%) y el colapso era inevitable. Sin embargo en otro post titulado "Se prepara el bailout de la prensa", comentaba sobre una maniobra política para salvar a los periódicos y además enumeraba las 9 razones que se daban en Silicon Alley Insider para no hacer dicho rescate financiero.

Sin embargo al parecer Barack Obama ha dicho que ve con preocupación que sea la blogosfera la que determine la forma como nos informamos, según The Hill, las palabras de Obama respecto a salvar los periódicos debido a que son un componente importante para la democracia son:

"I am concerned that if the direction of the news is all blogosphere, all opinions, with no serious fact-checking, no serious attempts to put stories in context, that what you will end up getting is people shouting at each other across the void but not a lot of mutual understanding"

Traducción: "Estoy preocupado que si la fuente de las noticias es sólo la blogosfera, sólo opiniones, sin una seria verificación de los hechos, sin un serio intento de poner las historias en contexto, lo que terminaríamos teniendo es un grupo de personas gritandose unas a las otras por nada sustacial, pero ni habría mucho entendimiento mutuo."

Se puede estar de acuerdo o no con las declaraciones de Obama, pero creo que de realizarce la ayuda a través del proyecto del Senador Ben Cardin, lo que efectivamente se estaría haciendo en matar la libertad de prensa, ya que todos los periódicos dependerían de la ayuda estatal para poder sobrevivir, entonces la pregunta sería, como estos podrían ser críticos del gobierno de turno, si al gobierno le bastaría remover las excepciones fiscales propuestas para hacerlos quebrar.

Pretender salvar la prensa escrita es como querer salvar al caballo frente al automóvil, no hay forma de evitar el futuro. Aunque es cierto que si no hubieramos abandonado los caballos ahora no tendríamos problemas de calentamiento global, lo cierto es que muchas de las otras cosas buenas que nos premitió el automóvil tampoco hubieran ocurrido.

De todas formas aquí vuelvo a copiar y pegar las 9 razones para no tratar de rescatar a los periódicos:

  1. Es malo recompensar una industria anacrónica que utiliza tecnologías anacrónicas.
  2.  Los camiones de reparto de los periódicos no funcionan con agua (es decir esta industria colabora al calentamiento global).
  3. Sólo porque los periódicos desaparcen no significa que el periodísmo deba hacerlo.
  4. La impresión de los periódicos sólo emplea al 0.2% de la fuerza laboral.
  5. El 66% de las personas (en USA) se informan a través de la TV.
  6. Los propietarios de los diarios creen que Google es un parásito.
  7. Preguntele a alguien hace cuanto no compra un diario, y ni hablar de suscripciones.
  8. Un gobierno que subsidia una "prensa libre", hace que la prensa deje de ser libre.
  9. Si los diarios quiebran la reducción de la oferta de espacio publicitario hara que en este tiempo de crisis los precios para anunciar suban y por lo tanto los nuevos medios que sean innovadores seran recompensados.

Al parecer actualmente hay una pasión por rescatar grandes corporaciones que han fallado por gerencias incompetentes, bancos, aseguradoras, fabricantes de automóviles y ahora periódicos. Me pregunto, ¿cómo sociedad ganamos o perdemos al hacer esto?

Educación y un mejor futuro.

Hace mucho que quería escribir un post sobre el tema de la incumplida promesa sobre como la educación nos abre la puerta de un futuro mejor, incluso en los países desarrollados esa promesa ha perdido su valor. Por ejemplo hace un par de semanas en el programa Now de la cadena pública americana PBS, se discutía sobre como los préstamos estudiantiles han quebrado a millones de jovenes americanos, que ahora deben afrontar el pago de los mismos sin contar con un trabajo, el hilo conductor de la historia es el de una jóven madre soltera de Baltimore, que ante una deuda de $70,000 contraída para financiar su educación debe de elegir entre pagar la renta o el prestamos estudiantil para que su crédito no se vea afectado.

Pero lo anterior es sólo una parte  de la historia, en la segunda mitad del siglo XX, la cantidad de universidades y centros de enseñanza superior, en todo el planeta ha crecido a un ritmo jamas visto. Incluso en países en vías de desarrollo, la cantidad de profesionales per cápita ha aumentado consistentemente en los últimos 50 años. Al día de hoy, existen más doctores, enfermeras, maestros, ingenieros por cada 10,000 habitantes, que los que han existido jamas, sin embargo ni hay suficientes oportunidades para todos ellos, y las pocas oportunidades que existen ofrecen un ingreso inferior al promedio de la generación anterior.

Analicemos el caso de peruano, hasta los años sesenta, el número de universidades se había mantenido relativamente estable en los últimos 150 años, aunque la población se había triplicado en el mismo intervalo de tiempo. Como resultado de eso, la casi totalidad de los que terminaban exitosamente sus estudios superiores tenian garantizado un empleo de ingresos bastante aceptables. Esto es lo que motivó la creencia generalizada que una carrera universitaria era sinónimo de una vida cómoda y segura económicamente hablando. Sin embargo esa "percepción" generalizada, sirvio para que desde mediados de los sesenta y hasta nuestros días, una creciente demanda por estudios superiores, llevara a una frenética carrera por proveer educación superior a todo aquel que lo deseara. La oferta de dichas carreras universitarias, en el Perú, estaba tanto en manos del estado como de particulares, el estado ha creado una universidad nacional en todo departemento y casi un instituto pedagógico en cada provincia del país. Los particulares han empequeñecido al estado y la oferta generada por ellos es mucho mayor.

Como resultado de esta sobreproducción de profesionales, no hay una sóla actividad profesional que no se haya visto saturada en los últimos años, y como resultado los ingresos promedio en todas estas profesiones se han visto afectados como resultado de la ley de la oferta y la demanda. Un exceso de profesionales compitiendo por una limitada cantidad de puestos de trabajo hace que los salarios se muevan hacia abajo. Sin embargo esta verdad inconveniente no es discutida cuando, uno de los sectores más dinámicos de la economía es el sector educativo.

El cuadro anterior aplica a toda profesión universitaria, sin embargo quisiera hablar ahora, sobre un invento perverso de las universidades peruanas llamado "Ingeniería de Sistemas", que se ha convertido en el Perú en una especie de pandemia. No existe universidad privada o pública en el Perú que no tenga al menos una facultad de "Ingeniería de Sistemas", es más hay universidades que tienen hasta dos (lo triste es que esto no es broma, aunque algunos les parezca un sarcasmo). Y es que desde el momento en que cualquiera haciendo click sobre un mouse puede administrar una máquina con Windows, la mayoría piensa que es un "experto" en "computación". De esa forma las facultades de "Ingeniería de Sistemas", se ha convertido en recicladores de profesionales de muy diversas especialidades, desde ingeniería electrónica hasta ingeniería agronoma.

Como resultado de la proliferación de esta carrera y el hecho de que se ofrezca tanto en universidades como en instituros técnicos superiores, ha hecho que la línea que divide a los ingenieros de los técnicos en "computer science" en el Perú se haya vuelto muy difusa y hasta podríamos decir inexistente. Basta con que veamos los resultados, profesionales que no hablan/escriben inglés, que sólo conocen un sistema operativo (windows) y no son capaces de adaptarce a un mercado tan dinámico como las TICs. Así es común que profesionales que terminaron una carrera de "Ingeniería de Sistemas", hace apenas 3 o 4 años, si es que no están enseñando, han abandonado el campo y ahora se dedican a otras labores.

La cereza sobre el pastel es que ahora, los que han terminado en institutos superiores técnicos, tras estudiar un par de años de "actualización" en las universidades particulares, ahora pueden ser "Ingenieros". Esto es definitivamente algo que las universidades están facultadas a realizar, es perfectamente legal y en lo personal no me opongo a esto. Pero la consecuencia directa es que poner más profesionales a competir, simplemente termina empobreciendo a todos.

Lo que encuentro irracional es como es posible que siendo esto algo sabido y comentado por bastante tiempo, aún haya personas invirtiendo su dinero en obtener un título profesional, que al final no le garantizará un ingreso aceptable, en el mejor de los casos.

La solución al problema obviamente es la regulación, es decir no permitir que el mercado se sature de profesionales mal preparados, formados por universidades que les interesa más su margen de ganancia, algo por lo cuál no las debemos culpar, pues el objetivo de una universidad privada es justamente ser rentable. Pero dado que esto es un problema global, pasa lo mismo en China, India, Europa o USA. Cerrar temporalmente todas las universidades peruanas y formar una comision evaluadora externa de universidades extrangeras de renombre, que certifique a las universidades peruanas, sólo creará extensiones de las universidades extrangeras en el Perú.

No creo que exista una solución única, ni sencilla al problema de la educación superior, pero lo que si creo es que debemos ser claros con todos aquellos que deciden seguir una carrera universitaria en general y en el caso de "Ingeniería de Sistemas" en particular. En nuestos días, el terminar la carrera universitaria, no es una garantía de conseguir un trabajo bien remunerado en el futuro. Así que si se decide seguir por ese incierto camino, es mejor tener una vocación muy sólida, que permita estar suficiente tiempo en el mercado laboral, para poder encontrar nuestro camino, a pesar de todos los problemas que podamos encontrar.

Vamos a resolver problemas [¿de ingeniería?]

El día de hoy, tuve la suerte de encontrar en el messenger a mi amigo y maestro, el Ing. Amado Aguinaga Paz, quien me informó de su incursión en la blogosfera a través de la red de blogs que mi alma máter, la Universidad Nacional Pedro Ruiz Gallo, ha habilitado para sus docentes. En su primer post titulado "Vamos a resolver problemas de Ingeniería", Amado discute una metodología para resolver problemas de Termodinámica, curso que imparte a los alumnos de pregrado de la Facultad de Ingeniería Mecánica-Eléctrica. Sin embargo yo diría que el método expuesto por Amado, que originalmente está enfocado a resolver problemas de cursos que dicta, bien podría aplicarse a cualquier problema de la vida diaria con algunas generalizaciones, aquí me permito hacer dichos cambios y la reformulación de su método sería el siguiente:

  1. Formular el problema en nuestras propias palabras,solo se pueden solucionar los problemas que se entienden.
  2. Hacer un balance de la información disponible, de la necesaria y de la requerida, para solucionar el problema.
  3. Tratar de representar gráficamente los elementos involucrados en el problema y cómo se interrelacionan entre sí. Estableciendo claramente los límites del problema.
  4. Busque (si quiere usando Google), algún modelo matemático (determinístico o probabilístico) que se aproxime lo más posible a la realidad del problema que enfrenta.
  5.  Aplique las simplificaciones necesarias que permitan ajustar su problema a algún modelo de solución conocida.
  6. Reemplace los valores conocidos en el modelo y obtenga una primera solución tentativa.
  7.  Contraste sus resultados con valores conocidos y verifique que su modelo produce resultados iguales bajo las mismas condiciones.
  8. Sea claro expresando los límites de su modelo y exprese claramente sus conclusiones en términos de "lo más probable sería … si se cumplen las condiciones …".

De la forma anterior cualquier problema podría ser abordado siguiendo los 8 pasos enunciados, no solamente problemas de ingeniería. Así por ejemplo, podríamos usarlos tanto para hacer dinero especulando en bolsa, como también para construir una hidroeléctrica.

Ingeniería de Software != Computer Science

En un largo e interesante artículo escrito por Chuck Connell, que tiene el mismo título de este post, el autor señala varios puntos que indican que el desarrollo de software nunca será una disciplina completamente formal y rigurosa. La razón de que esto sea así es que la ingeniería de software incluye a lo seres humanos como parte central del proceso. Desde esa perspectiva el desarrollo de software estaría más próximo a una ciencia social como la economía que a una ciencia exacta.

El artículo de Connell para Dr. Dobb’s puede ser encontrado en este URL, pero debido a su importancia he decidido traducir las partes más resaltantes del mismo, para los lectores de este blog.

Hace pocos años, yo estudie Algoritmos y Complejidad. El campo es maravillosamente claro, con cada concepto claramente definido y cada resultado construido en demostraciones anteriores. Cuando usted aprende un hecho en esta área, usted podria llevarlo al banco, desde que la matemática debería ser inconsistente para hacerle cambiar de dirección de lo que usted ha aprendido. Aún los resultados imperfectos, como las aproximaciones y los algoritmos probabilisticos, tienen un analisis riguroso sobre sus imperfecciones. Otras disciplinas de Computer Science, como la topología de redes y la criptografía tambien gozan de un estatus similar.

Ahora trabajo en Ingeniería de Software, y esta área es desesperante resbaladiza. No hay Conceptos definidos con precisión. Los resultados son calificados de "usualmente" o "en general". La investigación realizada hoy en día podría, o no, ayudar en el trabajo futuro. Nuevos enfoques a menudo revocan los métodos anteriores, con los nuevos enfoques brillando claramente por un tiempo para luego pasar de moda cuando sus limitaciones surgen. Creíamos que la programación estructurada fue la respuesta. A continuación, pusimos nuestra fé en los lenguajes de cuarta generación y, a continuación, los métodos orientados a objetos y, a continuación, la programación extrema, y ahora tal vez el modelo open source.

Pero la ingeniería de software es donde la llanta se une a la carretera. Pocas personas prestan atención de si P es igual a NP sólo por la belleza de la cuestión. El campo de Computer Science es hacer cosas con las computadoras. Esto significa escribir software para resolver problemas humanos, y que dicho software se ejecute en máquinas reales. Por la Tesis de Church-Turing, todos las computadoras son esencialmente equivalentes. Así, mientras que la nueva arquitectura de una máquina es novedosa, el verdadero reto que restringe a Computer Science es el problema de la creación de software. Necesitamos software que pueda ensamblarce en un monto de tiempo razonable, por un costo razonable, que trabaje de la forma como esperamos, y funcione con pocos errores.

Con estos objetivos en mente, algo que siempre me ha molestado (y a muchos otros investigadores) es: por qué no podemos tener resultados más rigurosos con la Ingeniería de Software, como las otras ramas de la Computer Science? Reformulando la pregunta de otro modo, "Cuánto del software diseñado y construido puede ser formalizado y probado?". La respuesta a dicha pregunta reposa en la siguiente figura:

Figura 1

Los temas por encima de la línea constituye la ingeniería de software. Las áreas de estudio por debajo de la línea son las materias básicas de Computer Science. Estos últimos temas son claros y de resolución formalizada. Para las preguntas aún abiertas en estos temas, esperamos que los nuevos resultados también sean formalizados. Estos temas se basan entre sí – la criptografía de la complejidad, y compiladores en algoritmos, por ejemplo. Además, creemos que demostrado resultados en estos ámbitos, los resultados seguirán siendo válidos por los próximos 100 años.

Entonces, ¿qué es que esa línea brillante y por qué ninguno de los temas de ingeniería de software está debajo de ella? La línea es la propiedad que "implica directamente la actividad humana". La ingeniería de software tiene esta propiedad, mientras que la Computer Science tradicional no. Los resultados de las disciplinas por debajo de la línea pueden ser utilizados por las personas, pero sus resultados no son afectados directamente por las personas.

La ingeniería de software tiene un componente humano. La mantenibilidad del software, por ejemplo, es la capacidad de las personas para comprender, encontrar y reparar los defectos de un sistema de software. El mantenimiento de software puede ser influenciado por algunas nociones formales de Computer Science – quizás la complejidad ciclica de los gráfos de control de software. Pero la mantenibilidad fundamentalmente implica humanos, y su capacidad para comprender el significado y la intención del código fuente. La cuestión de si un determinado sistema de software es altamente mantenible no puede ser respondida sólo por el examen de la mecánica de software.

[…]

Esta observación conduce a la tesis de Connell:

     Ingeniería de software nunca será una disciplina rigurosa con resultados probados, ya que implica la actividad humana.

Se trata de una declaración extra-matemáticas, acerca de los límites de los sistemas formales. Yo no ofrezco ninguna prueba del enunciado previo, aunque no hay pruebas de que no existe ninguna prueba. Pero el hecho es que las cuestiones centrales de la ingeniería de software son las preocupaciones humanas:

     * ¿Qué debe hacer este software? (requisitos, usabilidad, seguridad)
     * ¿Qué debe tener el software dentro de, por lo que es fácil de fijar y modificar? (arquitectura, diseño, escalabilidad, portabilidad, extensibilidad)
     * ¿Cuánto tiempo se tarda en crear [el software]? (estimación)
     * ¿Cómo debemos construir [el software]? (codificación, verificación, medición, la configuración)
     * ¿Cómo debemos organizar el equipo para trabajar con eficiencia? (gestión, proceso, documentación)

Todos estos problemas giran en torno a las personas.

Luego de la presentación de su hipótesis Connell procede a discutir detalladamente por qué método considerados formales en la Ingeniería de Software como COCOMO II o el CMMI, no producen resultados confiables pues se basan en tratar de sacar fuera de una ecuación matemática formal, el comportamiento humano que está intrínsicamente envuelto en los procesos que pretende modelar.

Realmente es un magnífico paper sobre Ingeniería de Software y recomiendo la lectura completa del mismo a todos los estudiantes de Computer Science, Informática o ramas afines envueltas en el desarrollo, despliegue, gestión y mantenimiento de sistemas de software.

Más vale tarde que nunca.

El día de ayer conversando con el messenger con mi amigo Bernardo Nuñez, docente de la Facultad de Ingeniería Civil, Sistemas y Arquitectura de la UNPRG, me comentó que la web de la que es mi Alma Máter ya contaba con una sección de blogs de los docentes. Por el momento son sólo ocho los catedráticos que ya tienen su blog, pero espero que pronto sean más y dicha sección de blogs sea abierta también a los alumnos de la universidad, pues no solamente son los docentes aquellos que puede aportar nuevos puntos de vista en una universidad.

Creo que la UNPRG se demoró demasiado para agregar una sección de blogs a su web, pero como dice el refrán más vale tarde que nunca. La plataforma que han elegido para implementar los blogs ha sido b2evolution, que es un software libre, esto pudiera indicar un cambio de rumbo de lo que ha sido la tradicional política de la universidad de utilizar productos Microsoft. Esperemos que pronto sean más los docentes y alumnos involucrados en generar contenidos que provean una visión del mundo desde una perspectiva local, pero con alcance mundial.

Desde aquí los felicito por la iniciativa y les deseo muchos éxitos en el nuevo camino emprendido.