Buscar

El Blog del Maldo

Si, es poco lo que escribo

Categoría

Reflexiones TI

Premio Turing 2014

Aunque debo admitir que es un poco tarde para hablar de este tema, me gustaría hacer mención al premio turing de este año (que es en realidad el del año pasado, se entrega el año siguiente), Michael Stonebraker, quien fue el primero en implementar una base de datos relacional completamente funcional, Ingres, bueno, para ser justo es en realidad contemporánea de System R de IBM, pero si es la primera de código libre.

El es mi idolo personal, no solo porque trabaja en el campo de manejo de datos (si, soy un data nerd), si no porque es un emprendedor serial, ha formado muchas empresas entre ellas, Postgresql, que es la evolución de Ingres (el proyecto estaba bautizado post-ingresa en primera instancia) incorporando elementos de orientación a objetos. Vertical, donde realiza una implementación de su propuesta de bases de datos columnares para el almacenaje de información y acceso rápido (tecnología ahora usada por tableau para su análisis de datos).

En todos los sentidos Michael Stonebraker es un ejemplo a seguir, ya que nos muestra que el mundo académico no es el único camino donde se puede hacer una real diferencia en el mundo de la tecnología.

Pueden ver una estupenda reseña de su trabajo hecha por la ACM para resumir su carrera, abajo.

Además les recomiendo el libro Architecture of a Database System (Foundations and Trends(r) in Databases), en el cual Michael Stonebraker junto con Joseph M. Hellerstein y James Hamilton, explican la arquitectura con la que esta construidas las bases de datos modernas y muestran a un alto nivel sus componentes y como interactuar, es un libro muy interesante, altamente ilustrativo y técnico, sin ser extenuante.

Programación aproximada

Acabo de leer un artículo en la revista de la ACM que habla de la computación aproximada, no de algoritmos de aproximación, si no de computación aproximada. La idea básica del artículo indica que nos enfrentamos a una creciente necesidad de computo, y que si bien es cierto, podemos enfrentarnos a ella poniendo más procesadores, el hacer eso consumimos más energía, y como estamos en una crisis global de generación energética, no podemos darnos el lujo de desperdiciar esta clase de recursos.

Por esto lo que hay una rama de investigación que se está dedicando al ahorro de energía en los procesadores, esta rama de investigación quiere disminuir el tiempo de procesamiento utilizado para descubrir y corregir errores en el cómputo, y por ende disminuir la energía total utilizada, pero claro no se puede solo tolerar una cierta cantidad de errores, hay que buscar en balance correcto, así podemos tener procesadores especializados que pueden tener uno u otro error sin que este sea notado en su uso regular, por ejemplo viendo un video no es necesario que todos los pixeles estén correctos para que sea una experiencia placentera y completa, pueden existir errores en el procesamiento sin que sea el fin del mundo, abajo hay un video donde explican el propósito de al investigacion mucho mejor que yo.

El Mecanismo de Anticitera

Yo pensaba que los primeros artificios mecánicos que iniciaron la computación, fuera del muy conocido ábaco que es algo así como el mono de las computadoras en términos de evolución, se hicieron todos en por ahí por el 1600, hechos por Schickard, pero al parecer estaba equivocado, los griegos al parecer ya tenían ya artefactos mecánicos que funcionaban con la presión y complejidad de esas máquinas construidas por Schickard o quizás aún más complicados.

Sacado de Wikipedia http://commons.wikimedia.org/wiki/File:NAMA_Machine_d%27Anticyth%C3%A8re_5.jpg
Sacado de Wikipedia http://commons.wikimedia.org/wiki/File:NAMA_Machine_d%27Anticyth%C3%A8re_5.jpg

Descubierta en 1901, este artefacto completamente mecánico data aproximadamente del año 87 antes de Cristo y tiene como funciones ser, una calculadora de ciclos lunares y solares que permite predecir eclipses, además tiene incorporado un pequeño calendario de 4 años, que indica los ciclos olímpicos griegos, las manillas grandes corresponden a los ciclos solares y lunares, y las pequeñas a los ciclos de las olimpiadas.

En wikipedia se puede leer el artículo completo sobre este artefacto, aunque como de costumbre el artículo en ingles es mucho más completo. Además hay videos que realizó el museo de historia de la computación, que aunque están en ingles solamente si lo pueden ver lo recomiendo mucho, es muy corto dura solo 6 minutos y da un muy buen resumen sobre este artefacto.

Es increíble todo lo que podían hacer los griegos, y es terrible pensar en la cantidad de cosas que se pueden haber perdido durante el oscurantismo, aunque entiendo que el miedo y la ignorancia provoca cosas horribles, cada vez que me topo con algo sorprendente hecho por los griegos solo puedo pensar en la cantidad de cosas que se perdieron y me da una profunda rabia con la ceguera de la época medieval, siendo católico y todo pienso que es terrible la cantidad de conocimiento que se perdió, eso sin ahondar en las vidas humanas y atrocidades que se hicieron, pese a todo eso es sorprendente y emocionante pensar en un “eslabón perdido” de la computación.

Espero que les guste, para vean que ya los griegos hacían sus propias calculadoras y computadoras estelares, aunque con el lenguaje de programación de las ruedas dentadas, que para mi siempre ha estado muy subestimado.

Historia de la computación en chile

Ya que estábamos en la semana más chilena de todas, y con todo lo patriota que uno se pone con tanto asado y chicha de más, pensé que vendría bien algo de Historia chilena de la computación, así que googlie un poco y encontré un resumen muy bueno de los inicios, un PDF con la historia de como comienza todo acá en Chile, el primer computador, que llega a la aduana, los primeros programadores y como son elegidos, siempre es interesante saber como parte.

Muy bueno se los dejo para que los lean

Historia de la computación en Chile.

El costo de no actualizar

Actualizar o no actualizar?… he ahí el dilema…

Generalmente cuando las empresas tienen un servicio de misión crítica, o un software que es utilizado para alguna tarea de la operación diaria, la gente de TI se pone reacia a actualizar el ambiente donde se maneja este software… perdón… la gente de TI nos ponemos reacios a actualizar. No es de tincados, no es de divos, es solamente que en general el área TI está copada con requerimientos, que son todos urgentes e indispensables para el negocio, y actualizar un servidor o subir de versión el ecosistema donde un sistema “vive”, puede ser algo más que trabajoso o un dolor de cabeza, se puede convertir en una verdadera pesadilla. Así que en general se toma una decisión política que prioriza las tareas de los proyectos en curso sobre la actualización de software de un sistema terminado, o el más coloquial “No tengo tienpo, déjalo así porque está bueno”.

Aunque generalmente estoy de acuerdo con esta decisión (99% de las veces), llega un momento en donde se convierte en impracticable seguir con la costumbre de dejar el sistema intacto porque funciona y hay que actualizar o presentar un proyecto de actualización.

¿Cuales son los sintomas que hay que notar en un sistema para saber que le llegado la hora de meter bisturí?

  1. La versión del software donde descansa la aplicación (Sistema operativo, base de datos, servidor de aplicaciones, etc.) se encuentra varias versiones por detrás de la actual: Si bien es cierto, es “bien visto” tener un servidor con una versión 1 o 2 por detrás de la más moderna, por asunto de estabilidad y de bugs, tener una versión que está mas de 2 releases atrás, es peligroso porque se complica cada vez más la tarea de la actualización.
  2. Cada vez cuesta más encontrar cursos o profesionales expertos en <inserte la versión de su software viejo aquí>: Si al buscar por cursos o por profesionales cuesta mucho encontrar, significa que ya nos está dejando la micro, y no solo se convierte en complejo actualizar, si no que también en un futuro se convertirá en costoso mantener o modificar, ya que la escasez, provoca alza de precios.
  3. Google ya no nos quiere y no nos entrega información: Si google, la metrica final, si en el buscador de google buscando por un problema ya no aparece o las páginas ya no están en el aire o están caídas, tengan miedo, mucho miedo… ya al momento de una contingencia, el conocimiento no estará disponible para ustedes, y no solo en google, si no que en las personas, si google no lo encuentra dentro de las primeras páginas, significa que ya es un tópico que la gente no habla, por lo que será muy complicado que la gente lo recuerde.
  4. No hay proveedores que hagan soporte: Si al buscar proveedores de soporte para este servicio, no hay… entonces ha llegado el Apocalipsis y hay que huir, no porque salga caro… si no porque ya no hay expertis en el mercado, lo más probable es que en caso de contingencia, que se necesita todo de inmediato, no se pueda hacer nada, por lo que rueden cabezas.

Si tu base de datos, sistema operativo, servidor de aplicaciones, ERP, CRM, etc. presenta algunos de estos sintomas, te recomiendo que crees una carpeta nueva, empieces a buscar presupuestos de actualización, de migración y desarrollo si es necesario y contabilices cuanto en perdida representa no tener ese sistema andando, un día, una semana, un mes, un año, que nunca más funcione… porque por el momento el sistema está bueno… pero cuando falle y no quiera levantar, a alguien le va a doler mucho el bolsillo, y si el bolsillo duele, es porque finiquitos trae.

Luego de todo ese trabajo, si se toma la decisión de no actualizar, es una decisión consiente e informada y en el peor de los casos, vas a tener sistema nuevo para jugar y pega actualizando los servidores o sistemas ;D

Blog de WordPress.com.

Subir ↑