Johnny cogió su fusil

Johnny cogió su fusil

Dalton Trumbo

ISBN 84-7669-694-9

Vivimos épocas en que demasiada basura llega a nosotros sin ser ni siquiera procesada, por ejemplo se nos ha bombardeado con estereotipos de héroes y heroínas en época de guerra.  Se nos muestra mayormente un lado de la historia, de una historia aparentemente escrita por un Némesis parcial.  He conocido a voluntarios que aún años después de haber estado en el frente se retraen o evitan contestar preguntas curiosas sobre cómo es la guerra.

Esta novela ha tenido un mayor impacto cultural a través de los años y precisamente entre soldados en tiempos de guerra, a pesar de haber sido un libro prohibido en esos mismos tiempos.

Dalton se inspira en unas líneas que leyó en tiempos de guerra en un periódico inglés.  En otras palabras hablaban de un herido de guerra que había quedado privado de 3 o 4 de los sentidos, había quedado también irreconocible y el periodista había hecho el artículo acerca de lo difícil de la situación del hombre.  Esta novela se habla en primera personal, todo sucede en la mente, recuerdos y en los sentidos restantes de Johnny.  Es un libro muy recomendable.

Cuando compré el libro pregunté al dependiente de la librería, él me consiguió el libro.  Supongo que al ver que me emocioné al haber finalmente conseguido el ejemplar, el dependiente fue proactivo y con diligencia buscó libros que él consideró serían de mi gusto.  Desafortunadamente al leer el título del libro él supuso que era un libro de carácter bélico y mientras yo hojeaba otros libros él me trajo cuatro o cinco con los títulos más terribles, tanto que con dos de ellos sentí horror al ver de lo que trataban, por eso me vi obligado a pagar mi ejemplar de Johnny y salir de la librería.  Cosas que pasan.

Esta novela es un libro pacifista aunque por la simple lectura del título pudiera parecer lo opuesto.

El diablo enamorado

El diablo enamorado

Jacques Cazotte

ISBN 84-7844-837-3

¿Qué sucedería si el diablo se enamorara?  ¿es posible que el diablo se enamore?  Es el tema principal de esta divertida novela escrita en 1772 en pleno Siglo de las Luces, caracterizada por intelectuales que creían por que la razón so podría triunfar sobre la superstición.

Así es como Álvaro de M., un noble español, capitán de la guardia del Rey de Nápoles se embarca en una aventura cabalística sin tener más antecedentes que su valor y sus creencias.  Invoca al diablo y se convierte en su amo.  La novela sucede en Nápoles, Venecia, y el camino hasta Extremadura.  Distinta al “Manuscrito hallado en Zaragoza” de Jan Potocki en el sentido de ser una novela corta, y similar en su esoterismo iluminista, excenta de radicalismos religiosos es una novela muy recomendable para leer.

La primer versión (1772) tiene un final débil, como si Cazotte tuviera prisa por terminarla.  Afortunadamente existe una segunda versión (1776) que personalmente es con la cual decido quedarme.

Entonces, ¿qué sucedería si el diablo se enamorara?  ¿qué sería del diablo y qué sería del objeto de su amor?

Una bendición

Una bendición

Toni Morrison

ISBN 978-84-264-1714-5

Esta novela de la ganadora del Premio Nobel nos sitúa en las Colonias de Inglaterra en América en el año 1642.  El contexto de la novela es la dureza de la vida, su contraste entre las dificultades en el Viejo Continente y las del Nuevo Mundo, la esclavitud, las guerras de religión, los abusos del machismo, el abuso de los colonizadores, los extremistas religiosos y la peste.  Situaciones que con algunas variaciones siguen presentándose en nuestros días.

El tema principal de la novela son la entrega y la libertad, hay quienes teniendo libertad son esclavos y otros que siendo esclavos son verdaderamente libres.  Hay leones con pieles de asno y asnos con piel de león … igual que en nuestros días.

Florens, una adolescente es entregada por la madre a un Jacob Vaark, granjero porque ve bondad en su corazón y supone que tendrá oportunidades que ella nunca tuvo si es que puede estar al servicio de Vaark.  Florens surge a la vida, aprende de mujeres y hombres que viven en la granja, sobre todo de Lina, una nativa que a pesar de ser la mujer más madura del grupo se ve reducida a la servidumbre por la mismas dificultades de la vida.  Sin embargo su carácter se ve fortalecido y no se apoca como es el caso de Dolor, una esclava que es abusada recurrentemente.

La peste llega a la granja y suceden cambios trascendentales de los que surge el carácter del ser humano.  Florens superada por las emociones propias de su edad, Lina rodeada y carcomida por la soledad, una madre por la culpa mientras que otra madre se entrega sin luchar, una mujer que se acepta a ella misma, un hombre que se deja llevar por el temor, etcétera.  Sentimientos y emociones cotidianas que todos hemos vivido, de las cuales hemos aprendido y las que le dan ese toque singular y precioso a la vida, que es un regalo que pese a su contexto nos ha tocado experimentar.

Estadísticas en Oracle (parte 1)

Muchas veces he insistido en que una base de datos debe ser una combinación de Estadística, Teoría de Conjuntos y Lenguaje Matemático Formal para el caso de una base de datos relacional.  De ahí la importancia en el entendimiento detallado y bien fundamentado de las tres.

Desafortunadamente Oracle Corporation no ha sido formal al adoptar en su tecnología la Estadística, ni siquiera ha demostrado conocer los fundamentos básicos de la Estadística como lo es su nomenclatura.  Por ejemplo habla de histogramas “balanceados por su altura”  que no significa nada para la Estadística.  La estadística habla de histogramas de frecuencia pero no existe tal cosa como lo que Oracle Corporation pretende vanidosamente y muy equivocadamente haber interpretado.

En otro momento hablaremos de los histogramas por lo que no mencionaré aquí información que Oracle almacena sobre ellos, pero en cuanto a las estadísticas que Oracle obtiene de la distribución de los datos en sus tablas y la Estadística real como Ciencia tenemos la siguiente relación (dado que las distribuciones de datos en tablas son distribuciones normales):

1) población – el universo sobre el cual se obtendrán conclusiones.  Se almacena en la columna num_rows.

2) tamaño de la muestra – es un subconjunto de la población sobre el cual se aplicarán operaciones para obtener conclusiones.  Se almacena en la columna sample_size.

3) número de observaciones sin repetición – es la cantidad de observaciones que componen la muestra sin incluir repeticiones.  Se almacena en la columna num_distinct.

4) función de distribución ó función de densidad de probabilidad – es la probabilidad de que una observación aleatoria x pertenezca a cualquier intervalo entre a y b, que es el área bajo la curva f(x) de a a b.  Se almacena en la columna density.

5) rango – es la diferencia entre los valores mayor y menor de la muestra.  Se infiere con la diferencia de high_value y low_value.

Dado que las columnas usadas para almacenar las medidas de dispersión y análisis estadísticas existen en una o más tablas dependiendo del contexto de la tabla que la contenga, no detallo a qué tabla pertenece cada columna, dándole así completa libertad al contexto mismo de la tabla.

Existen otras columnas que tienen relevancia para las estadísticas dentro de Oracle, ésto sin hablar de estadísticas haqueadas que es otro tema completamente distinto y muy vasto.  Son las siguientes:

1) last_analyzed – es la fecha de la última ejecución de los procedimientos de obtención de estadísticas sobre el objeto.

2) num_nulls – dado que la lógica de Oracle es ternaria donde FALSE != NULL y TRUE != NULL, entonces NULL == NULL,  y que no es posible almacenar un valor NULL se requiere una métrica que contabilice la cantidad de observaciones con valor NULL.

Hasta lo que he podido investigar, las otras medidas de dispersión se pierden al momento de terminar la ejecución de las estadísticas con dbms_stats porque aunque pudiera obtenerlas, no he hallado y puedo presumir que no existen columnas ni siquiera en las tablas x$ donde sean almacenadas.  Estoy hablando de estadísticas que no involucran histogramas, en este escenario las cosas cambian.

Instalar Java en Ubuntu 10.04

Instalar Java JDK o JRE en Ubuntu es muy sencillo, basta con actualizar en Synaptic los repositorios.  Ésto se puede hacer con el menú “Settings” -> “Repositories” y bajo el segundo tab que se titula “Other Software” seleccionar el repositorio

http://archive.canonical.com/ubuntu lucid partner

Los pasos siguientes deben de ejecutarse con el usuario root.

Después se actualizan los repositorios y se seleccionan por menú o bien por línea de comando

apt-get install sun-java6-bin sun-java6-jdk sun-java6-jre

Finalmente se actualiza el archivo de control de runtimes alternatives mediante la instrucción

update-java-alternatives -s java-6-sun

y se añade al inicio del archivo de prioridades de las máquinas virtuales de java /etc/jvm la ruta donde se instaló la máquina virtual java-6-sun.  Por omisión esta ruta es /usr/lib/jvm/java-6-sun.

Posted in Linux. Tags: , , , , . 1 Comment »

Las mejores compañías dónde trabajar

En el año 1993 Robert Levering y Milton Moskowitz publicaron un libro The 100 Best Companies to Work for in America, que es la respuesta a las listas de Fortune 100 que miden únicamente los resultados en parámetros de ventas, activos y beneficios.

Levering y Moskowitz proponen como parámetros para medir las mejores empresas en las cuales trabajar

  • remuneración a los empleados,
  • oportunidades de capacitación,
  • seguridad de la permanencia en el trabajo,
  • orgullo por la pertenencia a la empresa,
  • confianza en la justicia de las relaciones laborales en la empresa,
  • camaradería y cordialidad en las relaciones de trabajo

… definitivamente me deja sin palabras el abismo de los parámetros de calificación para ambas listas.  La forma de ser fría y sin corazón de las empresas que fue racionalizada y apremiada por tantos años a partir de la Revolución Industrial por los asesores externos y los filósofos de empresa llega a mostrarse como un error en nuestros días, me resulta interesante que esto se diera hasta finales del siglo XX, como la conclusión de una colección de teorías empresariales que al menos en nuestros días se han probado erróneas.  Como prueba expongo la cantidad de empresas de la lista de Fortune 100 que han invertido millones en cambiar su reputación interna y externamente para también aparecer en las listas de las mejores empresas en las que se puede trabajar.  O bien las inversiones que se hacen anualmente para certificarse entre otros como Empresa Socialmente Responsable.

¿Será que después de todo las empresas deben de humanizarse?  ¿es decir que el Sistema funcione para el Humano y no que el Humano funcione para el Sistema?

Funciones Asíncronas de Entrada/Salida en Oracle

Este post es una continuación de las funciones asíncronas de entrada/salida en Linux.

Oracle utiliza las funciones asíncronas disponibles a través del sistema operativo o bien las propias -cuando realiza accesos a capas propietarias como son SNTT, OCFS, etc.-, y debido a su instrumentación, que dicho sea de paso considero a Oracle uno de los mejores códigos instrumentados al día de hoy, encapsula en funciones propias las disponibles en el sistema operativo.  A menudo encontramos referencias a estas funciones en algún trace, o bien directamente en las librerías y archivos binarios de la aplicación.

¿Cómo encontrar la primer referencia para una librería como ésta sobre la cual no existe al día de hoy información en los manuales?  (con toda razón porque es información interna del software y que no tiene por qué exponerse).  Una búsqueda rápida en la vista v$event_name nos da detalles sobre el evento de E/S asíncrono en disco

EVENT# NAME
---------- ----------------------------------------------------------------
10 ksfd: async disk IO

A partir de esa referencia podemos buscar en el código de Oracle para buscar el resto de las funciones asíncronas.

En el caso de Linux las funciones de acceso asíncrono están en la librería libaio, no así para Oracle donde todas las funciones de acceso a disco están en la librería ksfd (Kernel Service Direct File), algunas de ellas son:

ksfdcre - crea un archivo

ksfdopn - abre un archivo

ksfdreopn -abre y lee un archivo

ksfdropn - lee bloques de un archivo

ksfdcopn - cierra un archivo

ksfdiopending - cancela la ejecución de las operaciones pendientes

ksfddel - elimina un archivo

ksfdrsz - cambia el tamaño de un archivo

En cuanto a las funciones asíncronas tenemos

ksfdwtio - encola una escritura asíncrona para su ejecución, define parámetros de tiempo máximo de ejecución antes de considerar la operación con error

ksfdsubmit - solicita la ejecución de una operación a un proceso esclavo

ksfdcme - solicita el código de error de una operación asignada a un proceso esclavo

ksfdsaiolmt - define los parámetros para definir los límites a actividades paralelizadas

ksfdfchkaio - solicita el código de retorno de una operación asíncrona

Me pareció interesante no encontrar referencia a funciones asíncronas de lectura, cosa que es relativamente lógica dado que no tiene sentido suponer que se ha leído cierto bloque de datos y hacerlo disponible a otros procesos cuando en realidad aún no ha sido leído del disco.

Existe también una librería ksfq que aparamentemente significa Kernel Service Queue File.

Considero de mucha utilidad conocer las funciones asíncronas para actividades de identificación de problemas a bajo nivel, sobre todo en ambientes que involucren paralelismo y clusters aunque también son útiles en ambientes estándar.

Funciones Asíncronas de Entrada/Salida

Oracle es en mi opinión la base de datos relacional mejor instrumentada del mercado, entre sus tantos archivos y eventos tanto documentados como no documentados hay referencias a las mismas llamadas al sistema operativo.  ¿Cómo interpretar los nombres de las funciones del llamado subsistema de entrada/salida?

Como antecedente considero importante dejar claro que los sistemas operativos tienen diferencias muy fuertes entre ellos, incluso entre las distintas versiones comerciales de Unix y las versiones de Linux -hablaré de ellas en un post futuro-.  Aún así existen estándares como el de POSIX (Portable Operating Systems based on Unix de IEEE) que es una ventaja enorme al momento de diagnosticar un problema.  El estándar POSIX 1003.1 define una librería con funciones para acceder archivos de manera asíncrona.

Un acceso asíncrono significa que cuando un proceso en modo usuario invoca una función de lectura/escritura, la función termina su ejecución tan pronto como la operación de lectura/escritura ha sido encolada pasa su proceso.  Ésto significa que la función se termina de ejecutar -y de instrumentar- antes que la operación sea ejecutada y el proceso que hizo la llamada continúa su ejecución mientras los datos son transferidos.  ¿Es ésto incorrecto?  de ninguna manera, como siempre todo dependerá de lo que queremos que haga el proceso que hace la llamada, lo importante es saber qué es un acceso síncrono y qué uno asíncrono antes de diseñar nuestro proceso.

Las funciones asíncronas de entrada/salida de acuerdo al estándar POSIX 1003.1 son

aio_cancel()           cancela una operación asíncrona pendiente
aio_error()              regresa el código del error de una operación asíncrona
aio_fsync()              cancela todas las operaciones asíncronas pendientes
aio_read()                encola una lectura asíncrona para su ejecución
aio_return()            solicita el código de retorno para una operación asíncrona
aio_suspend()        suspende la ejecución de un proceso hasta que al menos una de varias operaciones asíncronas finalice su ejecución
aio_write()               encola una lectura asíncrona para su ejecución

Ya me imagino que algunos de ustedes se estarán preguntando para qué sirve conocer ésto.  A mí me ha servido muchísimo, por ejemplo al analizar una bitácora de un proceso que ejecuta accesos asíncronos a dispositivos de entrada/salida identificando la función en la bitácora sé con exactitud qué se le solicitó al sistema operativo y también por qué es que tenemos cierto comportamiento en un ambiente.

Conocer las llamadas a las librerías del sistema nos ayuda también a poder hacer casos de prueba específicos y que modelen con exactitud lo que está haciendo la aplicación, sobre todo en el caso de aplicaciones de las que tenemos únicamente los archivos binarios y que para hacer casos de prueba necesitemos simular con programas hechos en el momento cómo se comporta un ambiente.

Nocturno Hindú

Nocturno Hindú

Antonio Tabucchi

ISBN 978-84-339-3061-3

Esta obra de Tabucchi más bien debiera llamarse “Nocturno Indio” porque relata las experiencias de un viaje que un europeo hace en India.  Se llama “nocturno” porque casi todo lo que relata sucede o al caer la noche o antes del amanecer.  Es una recopilación maravillosa de las experiencias que tiene al hablar con la gente del lugar, tan variados son sus personajes que van desde el muchacho deforme que se dedica a la adivinación, a la fotógrafa de la miseria de Calcula, pasando por un jesuita portugués en una misión olvidada en el tiempo, un cardiólogo que trata de hacer milagros con los pocos recursos y los millares de enfermos que atiende, una prostituta en un hotel de mala muerte, etc.

El objetivo del viaje es el de buscar a un amigo de la juventud del cual no se han tenido noticias en Europa hace más o menos un año.  A veces parece que el amigo buscado no quiere que se le encuentre, otras que quien busca no está seguro si quiera hallar o no al amigo buscado, después de todo ¿qué piensa hacer cuando lo encuentre?

Como en todo viaje el viajero aprende, compara, se hace más paciente a las aparentes diferencias entre los hombres.  El protagonista aprende al final, y yo aprendí con él.

Disfruté tanto la novela que la leí de corrido.  Tabucchi va al grano, no se detiene en historias secundarias que no harían más que desenfocar al lector de la idea a la que nos quiere llevar.  Y personalmente se lo agradezco.

La novela no ejerce juicios sobre ninguno de los comentarios o experiencias que describe.  Únicamente describe lo que sucede y lo que se experimenta.  Las experiencias van desde comentarios con gente hasta los colores, olores, sabores y sentimientos que el narrador tiene en ese viaje a India.

Tabucchi nos presenta a India a través de sus ojos de occidental.  Un mozaico de naciones, un contraste con las creencias occidentales, un forma distinta del pensamiento, una riqueza para atesorar.

Este es un libro que tiene que leerse.

La Fuente Sagrada

La Fuente Sagrada

Henry James

ISBN 84-245-0376-7

Esta polémica novela, publicada en 1901, ha sido fuertemente criticada desde entonces.  El mismo Henry James en el año de su publicación  dijo que no valía la pena comentarla, aunque también él mismo la llegó a calificar como una obra bien estructura.

Es curioso también el hecho de que Henry James excluyera esta novela de su Edición de Nueva York, una selección hecha por él mismo de sus mejores obras.

Los críticos no están convencidos de si es una obra de vampiros o bien una obra basada en las diferentes perspectivas que se pueden tener sobre la misma situación.  De ser una obra de vampiros entonces sería una obra que carezca de hechos que involucren el terror, como hizo Bram Stoker en su versión de “Dracula”, que fue publicada poco más de 10 años antes que “La Fuente Sagrada” y por lo que personalmente dudo que la intención de Henry James, que escribía bien novelas de terror, haya sido el de presentar una nueva forma de vampirismo.

La obra es difícil de leer, y tampoco deja al final un sabor de boca como el que nos deja en otras novelas.  Algunos han dicho que la novela parece inconclusa, también lo dudo.  Creo que una novela puede tratar varios temas de manera secundaria, pero debe únicamente dejar finalizado el tema principal, o al menos dejar algunas alternativas para cerrar el asunto en la mente del lector.  Algunos de los temas secundarios pueden ser irrelevantes, y por lo tanto no hace falta que el autor los finalice.

En “La Fuente Sagrada” la cuestión inicial parece ser también la cuestión central de la obra, y es la respuesta a la pregunta “¿quién es la fuente de la que Mr. Long está obteniendo inteligencia?”.

Las primeras páginas de la obra dan por sentado que tanto Mr. Long como Mrs. Briss tienen un secreto que consiste en una “fuente de la eterna juventud” para uno y “fuente de la inteligencia” para el otro.  Con base a estos enunciados comienzan unos procesos difíciles de seguir en el razonamiento del narrador, que se van enriqueciendo con cosas que él observa y que también pregunta a los invitados a pasar un día en una mansión en el campo.

El narrador dedica todo su tiempo a descubrir el secreto, interroga a otras personas, las observa, las presiona, y todo el libro pareciera tratar de una investigación que debiera terminar en una respuesta.  Sin embargo para mi el libro trata de la complejidad de unos procesos basados en un enunciado, y en descubrir la veracidad de cada uno de los enunciados dados por el narrador, o al menos concluidos por él.

Como da a entender Lawrence Durrell en Baltazar, dado que la perspectiva que tenemos de las cosas depende no de la personalidad, sino desde dónde vemos las cosas, la verdad de la verdad puede ser una mentira.

Mientras leía la obra, con frecuencia tenía que releer párrafos dado que es una novela difícil en cuanto al proceso, pero que llega a captar la atención del lector.  Personalmente sugiero la lectura de la obra a lectores medios a avanzados, y únicamente después de haber leído varias de sus mejores obras.  Ésto para tener un concepto más completo e integral de Henry James.

Follow

Get every new post delivered to your Inbox.