Rabu, 30 November 2011

Interview Season

The end of November marks the beginning of the residency interview season. I recently had dinner with anesthesia applicants, and how different it feels being on the resident side! No longer is it a scramble to get from place to place, to present oneself formally, to try to absorb a whirlwind of information about each program. Instead, it's great food with wonderful company, a time to share stories and meet potential residents. The process reminds me of all the hoops I had to jump through to get to where I am (and possibly portends the hoops I have yet to go), and it's kind of amazing I've weathered it all and still have a relatively decent attitude about it.

Consciencia y prueba de Turing


En la inteligencia artificial (IA), desde el principio ha habido un gran debate sobre qué es la inteligencia. El primero en tratar de responder a esta pregunta fue realmente Alan Turing (que el año que viene se cumplen 100 años de su nacimiento). De ahí salió la ahora llamada "Prueba de Turing".

De acuerdo a wikipedia, el Test de Turing (o Prueba de Turing) es una prueba propuesta por Alan Turing para demostrar la existencia de inteligencia en una máquina. Fue expuesto en 1950 en un artículo (Computing machinery and intelligence) para la revista Mind, y sigue siendo uno de los mejores métodos para los defensores de la Inteligencia Artificial. Se fundamenta en la hipótesis positivista de que, si una máquina se comporta en todos los aspectos como inteligente, entonces debe ser inteligente.

La prueba consiste en un desafío. Se supone un juez situado en una habitación, y una máquina y un ser humano en otras. El juez debe descubrir cuál es el ser humano y cuál es la máquina, estándoles a los dos permitido mentir al contestar por escrito las preguntas que el juez les hiciera. La tesis de Turing es que si ambos jugadores eran suficientemente hábiles, el juez no podría distinguir quién era el ser humano y quién la máquina. Todavía ninguna máquina puede pasar este examen en una experiencia con método científico.

A todo esto, en 1990 se inició un concurso, el Premio Loebner, una competición de carácter anual entre programas de ordenador que sigue el estándar establecido en la prueba de Turing. Un juez humano se enfrenta a dos pantallas de ordenador, una de ellas que se encuentra bajo el control de un ordenador, y la otra bajo el control de un humano. El juez plantea preguntas a las dos pantallas y recibe respuestas. El premio está dotado con 100.000 dólares estadounidenses para el programa que pase el test, y un premio de consolación para el mejor programa anual. Todavía no ha sido otorgado el premio principal.

Pues bien, en contraposición a esta prueba esta la que planteara John Searle, la cual se describe así:

Supongamos que han pasado muchos años, y que el ser humano ha construido una máquina aparentemente capaz de entender el idioma chino, la cual recibe ciertos datos de entrada que le da un hablante natural de ese idioma, estas entradas serían los signos que se le introducen a la computadora, la cual más tarde proporciona una respuesta en su salida. Supóngase a su vez que esta computadora fácilmente supera la Prueba de Turing, ya que convence al hablante del idioma chino de que sí entiende completamente el idioma, y por ello el chino dirá que la computadora entiende su idioma.

Ahora Searle nos pide que supongamos que él está dentro de ese computador completamente aislado del exterior, salvo por algún tipo de dispositivo (una ranura para hojas de papel, por ejemplo) por el que pueden entrar y salir textos escritos en chino.

Supongamos también que fuera de la sala o computador está el mismo chino que creyó que la computador entendía su idioma y dentro de esta sala está Searle que no sabe ni una sola palabra en dicho idioma, pero está equipado con una serie de manuales y diccionarios que le indican las reglas que relacionan los caracteres chinos (algo parecido a "Si entran tal y tal caracteres, escribe tal y tal otros").

De este modo Searle, que manipula esos textos, es capaz de responder a cualquier texto en chino que se le introduzca, ya que tiene el manual con las reglas del idioma, y así hacer creer a un observador externo que él sí entiende chino, aunque nunca haya hablado o leído ese idioma.

Dada esta situación cabe preguntarse:

  • ¿Cómo puede Searle responder si no entiende el idioma chino?
  • ¿Acaso los manuales saben chino?
  • ¿Se puede considerar todo el sistema de la sala (diccionarios, Searle y sus respuestas) como, un sistema que entiende chino?

De acuerdo a los creadores del experimento, los defensores de la inteligencia artificial fuerte -los que afirman que programas de ordenador adecuados pueden comprender el lenguaje natural o poseer otras propiedades de la mente humana, no simplemente simularlas- deben admitir que, o bien la sala comprende el idioma chino, o bien el pasar el test de Turing no es prueba suficiente de inteligencia. Para los creadores del experimento ninguno de los componentes del experimento comprende el chino, y por tanto, aunque el conjunto de componentes supere el test, el test no confirma que en realidad la persona entienda chino, ya que como sabemos Searle no conoce ese idioma.

Entre estas dos "pruebas" se centra la discusión de la inteligencia y así mismo, de toda la ciencia de la inteligencia artificial. De hecho, en mi opinión la prueba de Searle exige que quien exhibe cierto tipo de inteligencia sea consciente de sí mismo, sino, todo parece reducirlo a un asunto mecánico.

Por ejemplo, hace mucho tiempo escribí un programa que conjuga los verbos regulares (en Prolog). ¿Conjugar un verbo exhibe inteligencia? La verdad es que no, porque es un asunto rutinariamente mecánico. Incluso, si se consideran todos los verbos, los irregulares, se puede escribir un programa que los conjugue todos sin el mayor asomo de error. ¿Eso sería inteligencia? No. Porque el sistema no sabe siquiera nada al respecto. Sigue, como en la idea de Searle, una serie de reglas que le da los resultados correctos. No tiene que saber nada más.

Pero pensemos en los programas que juegan al ajedrez. ¿No exhiben inteligencia? ¿No juegan mejor que los seres humanos en un 99.99%? Si esto es cierto, de acuerdo a la prueba de Turing, los programas de ajedrez SON INTELIGENTES, pero de nuevo, si consideramos el criterio de Searle, es claro que no lo son, porque los programas simplemente siguen mecánicamente una serie de criterios para establecer la mejor jugada en una posición dada. Si es así, como leí en algún artículo hace años, con respecto a los programas de ajedrez, "no hay nadie en casa". Vaya, no saben siquiera que están jugando ajedrez los programas.

¿Cuál será pues la condición necesaria y suficiente para que algo se considere inteligente? Pensemos en nuestra mascota. ¿Se da cuenta de sí misma? ¿Sabe de su propia existencia? Aparentemente sí. Cuando le hablaba a la Pupa (mi perrita snauzer que ya murió), estaba seguro que ella entendía en alguna medida lo que decía. Exhibía pues algún comportamiento inteligente. Si le decía, por ejemplo, "ve por tu pelota", la Pupa iba a buscarla y regresaba con ella en el hocico. Sin duda -considerando el hecho de que de entrada, la orden era verbal- la perrita sabía lo que hacía. ¿Tenía consciencia de sí misma? No lo sé. Asumo que sabía de su propia existencia, pero ¿cómo asegurarlo?

Y toda esta reflexión, de la cual probablemente ya he hablado antes aquí en este blog, surge de QBO, un robotito que entiende el lenguaje natural y que además, tiene un modo de reconocimiento visual. En el siguiente video, QBO es interrogado para reconocer ciertos objetos, por ejemplo, el dibujo del pingüino de Linux, el cual acierta. Pero entonces el robot enfrenta una imagen de sí mismo en un espejo. ¿Qué respuesta dará? ¿Podrá reconocerse a si mismo? A mí todo esto me parece fascinante. Vea el siguiente video para que observe como QBO responde a esta interesante interrogante.



Ahora bien, una vez que QBO se ha reconocido a sí mismo en un espejo, ¿significa que tiene consciencia de sí mismo? tengo mis dudas. El tema me parece abrumador.

Más información sobre cómo funciona este simpático robot QBO, aquí.

Selasa, 29 November 2011

Graveyard Shift

My last week at Stanford Hospital was on the graveyard shift, from 7pm to 7am. Night shifts are always hard for me. Though I'm able to switch over, it's exhausting, and no matter how much sleep I get, I always feel behind. When I arrive at 7pm, I usually finish up late-running cases from the daytime. It feels a little odd, closing cases that I didn't start, but the system works best this way; those anesthesiologists who didn't expect to stay late (and presumably have to work early the following day) get to go home. Then I take care of any add-on cases that weren't able to be done in the morning. I check the trauma room. And if all goes well, I get to take a nap while waiting for any code blues, traumas, or emergency surgeries.

For the most part, something comes up each night. I had exploratory laparotomies for acute abdomens, appendectomies, ruptured ectopic pregnancies, and a fracture causing compartment syndrome. It's a pretty good mix and ensures that I have to be ready for anything. I don't have much time to prepare so I have to formulate and execute an anesthetic plan quickly. I didn't have any major codes or serious traumas during my nights and so it wasn't too bad at all.

Reacciones de la gente

Yo no sé la razón exacta por la cual ocurren algunos fenómenos sociales. Por ejemplo, en México mucha gente le llama "FeCal" a Felipe Calderón, el actual presidente del país. No sé, como que les hace gracia llamarlo así en evidente tono de insulto. Es -quiero creer- como un mecanismo de defensa: como el actual presidente resultó tan malo, entonces hay que denostarlo al menos, porque sabemos que no se irá del poder hasta el primero de diciembre del 2012.

Los caricaturistas de temas políticos, muchos de ellos estupendos, dibujan a los principales protagonistas con una ironía que solamente puede ser entendida al ver sus trazos. A Calderón, por ejemplo, lo ponen como un enanito y hacen burla de eso implícitamente, aunque desde luego, burlarse de la estatura de alguien es bastante idiota considerando que nadie tiene una especie de "perilla" para aumentar su altura. Sin embargo, me parece que -de nuevo- caemos en estas puyas totalmente infantiles, en un afán por descargar toda esa impotencia al ver el desastre en el que está metido México. Como sea, en el caso de los caricaturistas políticos (como el Monero Hernández, el cual me parece estupendo), hacen su trabajo.

Con las futuras elecciones, por ejemplo, ahora salen a relucir una serie de fotomontajes, los cuales pretenden descalificar a los candidatos que no son del agrado de quienes -precisamente- crearon esas parodias gráficas. He aquí dos de ellas:



Lo que me queda claro es que estas expresiones son parte de lo que el pueblo piensa. Sabemos que Eba Esther Gordillo es nefasta, pero sigue ahí, incólume, sin que nadie pueda hacer nada contra ella. Y lo peor es que nadie sabe por qué no se pueden tomar acciones contra de esta señora, que es terrible simplemente para la educación en nuestro país. Tal vez por eso la gente toma estas iniciativas que, estoy seguro, aunque no les parezcan graciosas a los involucrados en ellas, en el fondo se siguen riendo de nosotros.

Senin, 28 November 2011

Dos versiones de lo que es el teletón...

¿Con cuál te quedas? Con ésta, que parte de Televisa


o con ésta, que viene del Monero Hernández...




(dar click en cada imagen para hacer más grande)

La importancia de llamarse Windows


La importancia de llamarse Ernesto es una obra de teatro de Oscar Wilde, la cual se dice, alcanzó la cumbre dramática. Incluso algunos añaden que es su mejor obra. Quién sabe. Lo que sí que es indiscutible es que es una de las piezas teatrales más exitosas de todos los tiempos. Representada por primera vez en el 14 de febrero de 1895 en el teatro St. James’ de Inglaterra. Su originalidad es innegable, incluso en el propio título hay un juego de palabras, pero para entenderlo hay que hacer referencia al título en su lengua original: The importance of being Earnest. Ernest es el apodo de uno de los personajes, pero que se pronuncia igual que earnest que significa formal (para todos los personajes es fundamental dar una apariencia de formalidad). El problema de leerlo en otra lengua es que se pierden, al igual que el del título, otros juegos de palabras.

Y aunque es un juego de palabras, debió quizás llamarse: La importancia de ser honrado. El título que le puso Wilde y el juego de palabras, con el subsecuente error de quien por primera vez lo tradujo al español, nos hacen ver que es un hecho ese dicho italiano de "traductor traidor".

Y esto viene a cuento porque en mi opinión, Microsoft debería ya dejar de llamar a su sistema operativo Windows, como Windows. Digamos que en todos estos años, el sistema operativo de la empresa de Gates ha sufrido todo género de cambios y además, de versión en versión han tenido éxitos como fracasos. Por ejemplo, una de las versiones más estables y favoritas de muchas personas es Windows Xp (presumiblemente por "eXPerience"). Windows Vista resultó para muchos un fiasco y la versión 7 de Windows (regresaron a contar como antes y no asignarle a la versión el año, como en Windows 98, por ejemplo), parece ser quizás la mejor hoy por hoy.

Sin embargo, creo que ya etiquetar a Windows como Windows no resulta buena idea. Causa una serie de recuerdos y percepciones entre los usuarios que muchas veces no es la mejor. Por ejemplo, Windows Milenio resultó verdaderamente malísima y rápidamente la empresa de Gates se fue olvidando de este feo experimento.

Mi sugerencia es que el sistema operativo cambie de nombre. "Ya el nombre Windows no es 'cool'", me dijo el otro día un buen amigo. Porque Windows -aunque ya se asocie a sistemas operativos como Kleenex a pañuelos desechables- no tiene la mejor de las famas. Ahora que Microsoft está haciendo una nueva interfaz gráfica, la cual ya puede verse en los teléfonos con Windows Phone 7, bien podría llamarle Metro OS, por ejemplo (creo que así le llaman a la nueva interfaz gráfica).

Yo no entiendo mucho de comercialización de productos, pero creo que si se le cambia el nombre al sistema operativo, y además, se hace énfasis que es 100% compatible con los Windows anteriores, entonces no habría mayor problema. En mi opinión pues, cre que ya es hora de ir enterrando el nombre de Windows.

Frequent Fliers

One reason why healthcare costs in the U.S. are spiraling out of control involves frequent fliers in the emergency department. I don't have any numbers or statistics, only a gut feeling borne of experiences in the emergency department, wards, and operating rooms. There is some small population of patients who utilize healthcare resources far more than anyone else, and furthermore, they use costly venues of healthcare delivery. These patients have chronic pain or uncontrolled psychiatric illness or social problems or addiction. They come repeatedly to the emergency department but aren't otherwise followed by a primary care physician. The E.D. places a band-aid on the problem, encourages them to get insurance and find a doctor, and sends them out. But we already know that they'll soon be back.

These repeat customers drain the system of resources. They drive up healthcare costs by hopping from one emergency department to another, getting a battery of tests, occasionally being admitted, and being sent home (or to the street) without a solid plan of care. Their diseases could be controlled in the right circumstance, but they have no incentive to do so and instead become frequent fliers on an episodic basis. Even some patients with chronic pain prefer to come into the emergency department to get boluses of IV opiates rather than control their disease long-term with a pain management plan.

I don't think this is either appropriate or sustainable. However, our solutions have not worked. There have been many initiatives to get patients like this a primary care doctor or medications or an urgent care clinic to visit, but the problem is still persistent. I think the only way to make headway on this problem is to get buy-in from the patients. We need to contract with them; if they come in with chronic pain complaints and have no other etiology for pain, then they only get pain medications they could have taken at home. If they frequently have psychiatric crises, they do not need the battery of laboratory tests we normally send (we usually send a complete blood count, electrolytes, liver function tests, HIV screen, thyroid function tests, urinalysis, urine toxicology, and EKG prior to admitting the patient to psychiatry). We find some incentive for patients if they are sent to the emergency department by an urgent care clinic or their primary physician. We need to search for solutions for this problem, especially as resources get more and more limited.

Minggu, 27 November 2011

El teatro preparado

La escenografía es perfecta: el pre-candidato hace su aparición en el teatro donde se registrarán los aspirantes a la presidencia de la República. Sí, es Peña Nieto, acompañado de su esposa, la actriz Angélica Rivera, vestida de rojo, (que es el color que el Partido Revolucionario Institucional ha decidido definirlo como su marca de campaña desde que Madrazo decidió contender por la presidencia), así como sus hijos. Todo está perfecto: la familia, la pareja bonita, el candidato galán, la cargada priísta, todos los actores políticos del partido que por 70 años gobernó México están contentos. Beatriz Paredes aplaude a rabiar y se sienta además, al lado de Arturo Montiel, que tuviese que abandonaren el 2005 la carrera presidencial por riqueza inexplicable, sacada a colación ¿por quién? Por su competidor, Madrazo, que finalmente logró la candidatura y que a la postre quedó en un triste tercer lugar en el 2006, como todos sabemos.

Manlio Fabio Beltrones no se registró de candidato. A pesar de haber hecho muchos aspavientos en las semanas pasadas, al salir la convocatoria del PRI para contender por la candidatura del partido, "Capulina" Beltrones se echó para atrás. Y cómo no, si el wunderkid bonito del tricolor tiene todo el teatro perfectamente preparado. Nadie podía hacerle sombra y Beltrones lo sabía, nomás que armó todo ese rollito porque si gana Peña Nieto seguramente algún buen puesto le tocará.

La cargada priísta, como en sus tiempos de bonanza, no se hizo esperar, pancartas, cartelones, colores verdes, bancos y rojos enarbolaban toda pared, todo poste, toda columna. Y ahí Enrique Peña Nieto era aplaudido como si ya fuese el presidente de este país. Los políticos de la vieja guardia le ovacionaban. Peña Nieto tiene todo para ganar: es e representante más formidable de este nuevo PRI, que lleva doce años que es oposición, y eso no les gusta. Eso no es para el PRI. Ellos quieren regresar al poder y están seguros que Peña Nieto lo logrará.

Las fotografías hablan por sí solas:


La familia perfecta: La esposa, actriz; él, el joven galán; los hijos modelo

Vítores y aplausos... El candidato y su esposa aclamados por la gente

Todos presentes, nadie podía falta. La maquinaria caminó sin contratiempos

El beso apasionado de la esposa. Los políticos de la vieja guardia aplauden
¡Qué bonito país!

Habrá que ver si de verdad Peña Nieto puede ganar las elecciones. ¿Podrá el ahora amoroso Andrés Manuel López Obrador ser un competidor de altura? ¿Habrá guerra sucia? ¿Y el PAN? Bueno, de este partido mejor ni hablar, porque de sus tres precandidatos no se hace uno. 

Lo que queda claro es que ¡alea jacta est! ¡La suerte está echada!

Sabtu, 26 November 2011

Not All Cookie Cutter

Some people perceive anesthesia as being fairly straightforward, and most of the time it is. Many surgeries have a routine: assess patient, start the IV, bring the patient back, place monitors, induce anesthesia, intubate the patient, give antibiotics, maintain anesthesia throughout the case, wake the patient up, extubate, and bring the patient to recovery. And there are many days when we do not deviate from this steadfast course. But like everything in medicine, it isn't the routine that pushes our skills as physicians, but the exceptions.

When a day goes smoothly, I am thankful and I learn things, but I await those cases that challenge me. Some may seem minor; for example, I anesthetized a patient who had nausea and vomiting after every other surgery in the past. So we took out all the stops, giving steroids at the beginning of the case, multiple antiemetics at the end, avoiding emetogenic agents, and maintaining anesthesia with an intravenous infusion of propofol rather than inhaled gases. The outcome? She was thoroughly impressed and very satisfied with the anesthetic after the surgery.

Other cases that stress us involve life-threatening disease states. While on call, I was asked to prepare a patient for anesthesia who had a solid organ transplant, a bone marrow transplant, and active chemotherapy; all her blood counts were flagged bright red in our electronic medical record. Prior to incision, we gave two units of FFP, platelets, and packed red blood cells. Her infected knee was likely causing a low-grade sepsis, she had altered mental status, and her kidneys were failing. While a knee incision and drainage isn't a serious surgery, this was a patient requiring us to use all our available tools to maintain homeostasis.

Lastly, it's not just the medical and technical aspects of anesthesia that are challenging. One morning, my first case of the day was for a patient with Down syndrome. Although relatively high-functioning for someone with trisomy 21, he acted more like a child than an adult. I had to sit with him and coax him to allow me to take a look at his veins. He was understandably scared and reluctant to have anything done, and it took me ten minutes to place an IV (luckily, I got it on the first try as I knew he wouldn't let me have a second). I had to develop a trusting patient-physician relationship before he'd let me do anything.

Jumat, 25 November 2011

Black Friday

I don't really partake in the Black Friday craze, but the concept is interesting to me. How can a holiday be created by commercial forces? Five years ago, this day didn't even have a name, and somehow it has become a phenomenon which has retailers opening stores earlier and earlier, customers forming lines far in advance, and, most frighteningly, injuries from shopping.

All of this is fascinating to me because of the psychology involved. I don't know much about psychology, but as I talk to friends about this, I want to learn more. For example, right in Menlo Park, a jam study was held at Draeger's looking at whether customers bought more jam if more choices or fewer choices were given. While customers sampled more jam when offered more options, they bought more when offered fewer options. With Black Friday, I browsed some online websites and felt myself drawn to investigate deals on items I would never have bought otherwise. What's the psychology involved to lure me into spending more while thinking I was spending less? While many of us use supermarket "loyalty" cards (like a "Safeway card") because it affords us discounts, and we think supermarket chains use them to build up repeat customers, the true value of loyalty cards lies in allowing the retailer to track what we buy and learn our habits. This is an immensely powerful tool for them to tailor their sales strategies to individual customers.

These are just a few examples of how we as consumers are unconsciously influenced. I don't mean to judge whether they are good or bad; rather, I think they are quite clever yet scary in exploiting vulnerabilities in human psychology. But since it is Black Friday, I figured I'd spend a moment to jot something down about it.

Kamis, 24 November 2011

Imagen Pública ¿colegio de gran clase?


Aquí, en este blog -hace poco- publiqué un artículo en contestación a lo que escribió el Sr. Víctor Gordoa al respecto de los toros y la defensa de la "fiesta brava". Le mandé un correo al mencionado señor indicándole que daba contestación a su artículo periodístico. Él, por supuesto, no me contestó, pero no me extraña. En realidad, en los términos más simplistas, no hay manera de defender la barbarie que significan las corridas de toros. Hasta ahí las cosas y me olvidé del asunto.

Pero hoy recibo un correo, que empieza con el siguiente título:


Se te abrirán muchas puertas. SER CONSULTOR EN IMAGEN PÚBLICA.

y el correo dice lo siguiente:

Buenas tardes,

Le comentamos que estamos en cierre de inscripciones para el ingreso de Maestría en Ingeniería en Imagen Pública.

¿Sabe todo lo que puede hacer cuando estudie IMAGEN PÚBLICA?

Nos es de mucho interés explicarle a profundidad el plan de estudios así como conocer sus intereses en particular para ofrecerle lo que usted necesita. Nos ponemos a su disposición para darle una cita informativa y ampliemos la visión sobre la especialidad y el gran campo de aplicación de la misma. Si así lo desea favor de comunicarse al Colegio al xx.xx.xx.xx. o xxxxx.xxx.xx.xx  extensión xxx.

Contamos con becas desde un 5% hasta un 40%, solicitándolas desde el segundo trimestre.

Para conocer más acerca de Imagen Pública le recomendamos que visite:

(vienen aquí una serie de enlaces que omito, porque no pienso darles la mínima publicidad)

Colegio de Consultores en Imagen Pública.
Colima número 56, colonia Roma Norte.
Delegación Cuauhtémoc, 06700
México, D.F.

Con el mensaje vienen adjuntos tres documentos para que vea las "maestrías" que imparten y además, una solicitud de inscripción a los cursos en formato de Excel. 

La verdad es que este Colegio de Consultores de Imagen Pública, cuyo rector es precisamente el Sr. Víctor Gordoa, no tiene la mínima ética y si se dedican a crear una imagen pública, es claro que con su correo spam, chatarra, no solicitado, simplemente muestran la peor de las imágenes públicas.¿Así querrán hacerse de clientes? ¿el correo spam será una de las primeras lecciones del curso de maestría? ¿Éste es el colegio de gran clase? ¿De verdad?

Les escribí quejándome. He aquí mi texto:
 
El 24 de noviembre de 2011 18:17, morsa escribió:

    A ver, la única vez que he tenido contacto con uds. fue para comentar un vergonzoso artículo del que creo es el rector de este colegio de consultores. No puedo creer que hayan tomado mi dirección de correo para mandarme spam. ¿Ésta es la imagen pública que quieren dar? Debería darles vergüenza. Por favor, sáquenme de su lista de correos. No me interesa nada acerca de su colegio y me parece lamentable que usen mi correo para mandarme un anuncio o promoción no solicitada.

    Atentamente
    Manuel López

Un par de horas después recibí contestación:

Le pedimos una disculpa por molestarlo de esa manera. En este momento procedemos a retirar su correo de nuestra lista de contactos y gracias por sus comentarios.
 
Que pase buena noche.
 
Reciba un saludo.

Bueno, al menos entendieron a la primera. Lo lamentable de todo esto es que el correo spam es un problema añejo, del cual cualquiera que use computadoras habrá sufrido. Sin embargo, los consultores en imagen pública parece que son tontos o que la idea de vender por internet vía spam la consideran como víable. Todo esto me resulta muy lamentable.


Proyecto con un microcontrolador Pic: un reloj de ajedrez


Los microcontroladores no son otra cosa que computadoras en miniatura. A diferencia de los microprocesadores, que requieren de todo un complejo sistema de electrónica para funcionar, el microcontrolador contiene todo lo que una moderna computadora necesita: puertos de entrada y salida, memoria interna, convertidores analógico-digitales, etc. Estos microcircuitos son parte de hornos de microondas, lavadoras, refrigeradores, reproductores de mp3, algunas cafeteras, etc. Son en cierta medida computadoras en miniatura para usos muy específicos. Ya he hablado de ello antes. Si buscan "microcontrolador" en este blog, podrán ver algunos artículos míos pasados al respecto).

Como los microcontroladores son computadoras en miniatura, éstas deben poderse programar. Para ello, se necesitan algunos elementos:

  • Una tarjeta (un circuito impreso que contenga al microcontrolador, botones, leds, pantalla de cristal líquido LCD, en la cual podemos ver  el funcionamiento del programa que estamos escribiendo.
  • Un editor de código con su correspondiente compilador (hay C, basic, e incluso Forth).
  • Una interfaz (que es una caja negra), que vía el USB conecta la tarjeta de desarrollo con la PC y los programas compilados se pueden pasar a la memoria del microcontrolador. Eso es lo que se llama un "programador de microcontroladores".

En mi caso, trabajé con una tarjeta con un microcontrolador Pic y usamos el Pic Basic Pro (PBP) como lenguaje de desarrollo. Cabe decir que algunos compiladores tienen costo. No todos son gratuitos, aunque existen interesantes alternativas en ese sentido.

Usando todos los elementos, es decir, creación del programa, compilado del mismo, uso del programador PicKit2 para copiar el código a la memoria del PIC, traslado del chip a la tarjeta de prácticas, cableado de las patas correspondientes del microcontrolador a los leds y al botón que usaremos para controlar el despliegue (encendido y apagado de LEDs), tenemos un programa que hace exactamente lo que le pedimos, como puede verse en este video, lo cual es un programa que a través de los leds de la tarjeta de prácticas, cuenta en binario encendiendo los foquitos leds al oprimir el botón.

Las capacidades de los microcontroladores lo hacen el candidato justo para una serie de proyectos de electrónica, en donde precisamente la parte del hardware puede obviarse. Por ejemplo, se me ocurrió que sería interesante hacer un reloj de ajedrez electrónico. Los relojes de ajedrez son dos cronómetros que llevan el control de tiempo para pensar las jugadas por cada jugador. Actualmente estos relojes electrónicos ya existen pero quizás su costo es elevado (unos 1000 pesos más o menos). Así, me di a la tarea de diseñar mi propio prototipo.

Le pedí a un ingeniero en electrónica que me hiciese el circuito impreso con los elementos que necesitaba: una serie de botones y una pantalla de cristal líquido. En el caso del prototipo, el “display” es de cuatro líneas. Si el proyecto tiene éxito y se sigue a una fase de comercialización, se tendría que poner en una pantalla más adecuada para la naturaleza del ajedrez (números más grandes, por ejemplo). Pero por el momento un prototipo no necesita de más cosas.

He escrito parte del software ya, pero hay muchos detalles que pulir. Lo importante aquí es que el proyecto se puede desarrollar de manera fácil y simple, porque finalmente es como programar una computadora -pero de uso específico- con limitaciones en capacidad de memoria, despliegue, etc. Se parece en ese sentido a programar un teléfono con iOS o Android, por ejemplo. Seguiremos informando de los avances de este proyecto.

Thanksgiving


I am thankful for those I love and those who love me.

Image of "The First Thanksgiving at Plymouth" by Jennie Brownscombe is shown under Fair Use, from Wikipedia.

Selasa, 22 November 2011

The MRI

Like endoscopy, the MRI is a dreaded place for the anesthesiologist because it is a remote out-of-OR location. I had to provide general anesthesia to a patient who required an MRI but could not tolerate the positioning and duration. I went down to the depths of the hospital, uncertain of what I'd find. MRI is a tricky business because the strong magnetic field it creates limits the equipment that can accompany patients. Before entering the room, I emptied my pockets and even took off my badge. The MRI-compatible anesthesia machine and monitors were old and confusing.

We had a patient with a difficult airway and we were miles away from any other anesthesiologist. Although we initially tried an asleep fiberoptic intubation, we could not see the vocal cords, so instead, we did a direct laryngoscopy and managed to intubate the old fashioned way. While we were struggling to get a way to help breathe for the patient, I was terrified. In the operating room, we have so many more resources - other anesthesiologists, fancy equipment, nurses and anesthesia techs to help. But in MRI, we had only what we brought (luckily, we had anticipated this and brought the difficult airway cart).

The scan itself was a little scary as well. The patent's blood pressures required constant vasopressor support so I kept on popping in to give more medication. I had heard this from patients, but MRIs are loud and the noises they make are unpredictable. During the scan, we didn't have access to the patient's IV site, airway, or body (if we needed to start chest compressions). It made me realize that environment plays a lot in determining the difficulty of our jobs.

Image is in the public domain, from nihlbi.nih.gov.

Senin, 21 November 2011

The Person and the Procedure

At the beginning of anesthesia residency, we discussed three factors and how they influenced the morbidity and mortality of a surgery. What makes a surgery risky? Is it the patient and his comorbidities? Is it the surgery itself? Or is it the anesthesia? While of course it is difficult to tease all these factors apart, from what we can surmise, it is actually the stress of surgery that makes up most of the risk. Even though an appendectomy and a liver transplant both involve the same anesthetic technique, one is clearly a bigger procedure than the other. A knee surgery can be done under a spinal anesthetic or a general, but the difference in risk between the techniques is minuscule.

This is important to me because as the anesthesiologist, I am complicit in whatever we do, yet I bring the lowest risk to the table. There have been multiple times where I look at a patient or procedure and I worry. But most of the time, all we can do as anesthesiologists is to reduce the risk as best we can. We select more monitors, place better access, anticipate possible emergencies, and pre-emptively treat evolving clinical situations. This is the art of anesthesia.

I had to provide anesthesia for a middle aged man getting a tunneled dialysis line. This doesn't sound too bad until I realized that he had a cardiac arrest 9 days ago with pulseless electrical activity as well as congestive heart failure, atrial fibrillation, congestive hepatopathy, coronary artery disease, diabetes, and ascites. His cardiac arrest lead to acute renal failure, and now he is dialysis dependent. This is a scary anesthetic to provide; even though the procedure was minor and I would be administering as little as possible, the risk for something bad happening was very high.

Sometimes I feel that anesthesia is about tempering those dangers of surgery superimposed on a frail patient, and it is times like these that I feel I can utilize everything I've learned about medicine to use a gentle hand to guide a patient through a stressful situation.

Minggu, 20 November 2011

Inteligencia artificial y sistemas expertos


La inteligencia artificial, término que acuñó John McCarthy me parece, se basa en la idea de hacer sistemas inteligentes, tan capaces como los que puede lograr el cerebro humano. Sin embargo, se halló, después de los primeros años frustrantes, que la inteligencia humano no sólo era complicada, sino mucho más complicada de lo que habíamos pensado. Por ello, hubo una división natural de tareas: visión por computadora; sistemas expertos; reconocimiento de patrones; entre otros.



Uno de los temas que por algunos años estuvieron en boga, pero que probablemente han caído en el desuso es el de los sistemas expertos, el cual se basa en escribir software que fuese tan bueno como un experto humano en un tema particular. En ese sentido por ejemplo, un programa de ajedrez como los actuales, que le ganan al 99.99% de los jugadores humanos,  es un sistema experto muy exitoso, pero las técnicas de programación para jugar tan bien están lejos de la teoría tradicional de los sistemas expertos. En este caso las cosas son así. Un sistema experto se basa en tres subtemas:

  • Interfaz con el usuario
  • Base de conocimientos (reglas de producción)
  • Motor de inferencias

En ese sentido, cuando se va a trabajar con un sistema experto hay que reconocer cómo se diseñará cada parte. En el caso de la interfaz del usuario, aunque hay muchas alternativas, la más común es responder "sí" o "no" a las preguntas que hace el sistema. esto -desde luego- no es tan poderoso como aquellos sistemas que además de responder a preguntas con "sí" o "no", también puedes darle un valor de confiabilidad a la respuesta. Por ejemplo,

Pregunta: "¿Te duele la cabeza"
Respuesta: "sí"
Pregunta: Del 1 al 10, ¿cuánto te duele? (donde 10 es el dolor más fuerte)

este tipo de sistemas usan probabilidad para decidir el margen de confiabilidad de las respuestas que entrega el sistema experto, basado en las confiabilidades que se dieron en las diferentes respuestas por parte del usuario. Para ello se usa el teorema de Bayes Sin embargo, para poner las cosas de la manera más simple, muchos sistemas expertos solamente permiten responder "sí" o "no".

Pues bien, una vez hecho esto, tenemos que describir la base de conocimientos, la cual es la que nos dará información sobre el tema que nos ocupa. Por ejemplo, en el programa muestra que te mando, la base de conocimientos es la información sobre los diferentes perros que existen. Así, un snauzer será un perro pequeño, con cola y orejas cortas, de buen talante, etc. En esta base se definen algunos perros y sus características. La idea del sistema experto es que el programa vaya pidiéndole información al usuario para que éste pueda concluir de qué perro se trata. Las bases de conocimiento están puestas en general como predicados "causa - efecto". Así, una regla en general podría ser: "si te duele la cabeza es que tienes gripe". La causa: el tener gripe; el efecto: el dolor de cabeza.

El motor de inferencias es quien pregunta al usuario basándose en esas cláusulas causa - efecto. Los sistemas expertos usan tres posibles motores de inferencia:

  • encadenamiento hacia atrás (backward chaining)
  • encadenamiento hacia adelante (forward chaining)
  • sistema de borrador (blackboard system)

El primer caso funciona así: Imagina que vas con el médico porque te sientes mal. Él te ve y te empieza a preguntar cosas sobre tus malestares. Sin embargo, antes de empezar las preguntas, las dirige asumiendo que tienes gripe, por ejemplo. Entonces te preguntará síntomas asociados de la gripe. Si le das más de una respuesta que no es presumiblemente de la gripe, se formulará mentalmente otra hipótesis y de nuevo empezará el interrogatorio.

El segundo caso es el encadenamiento hacia adelante. Siguiendo el ejemplo anterior, vas al médico y éste comienza a preguntarte qué te duele, pero no asume que tiene gripe o cualquier otra enfermedad. Lo que hace es acumular datos (respuestas) y entonces busca en su base de conocimientos qué es lo que más se parece a lo que puedes tener.

El sistema de borrador ya es obsoleto. Imagina un salón de clases lleno de expertos humanos en alguna materia. Entonces se plantea un problema y cada experto tiene un pedazo del borrador en la pared para poner su solución. Después de que todos hayan puesto su posible solución, un supervisor lee todas las respuestas y arma la respuesta final. Así funcionaba HearSay, un sistema de reconocimiento de voz de los años ochentas, actualmente en desuso.

Cabe señalar que los sistemas expertos deben estar construídos para no repetir hasta el hartazgo la misma pregunta. Por ejemplo, imagina que un sistema de encadenamiento hacia atrás te pregunta si te duele la cabeza y le contestas que no. Si es así, probablemente la primera hipótesis, la de tener gripe, no funcione. Entonces el sistema crea a través de la siguiente regla la nueva hipótesis. Si en esta nueva regla hay que preguntar de nuevo si te duele la cabeza, sería poco inteligente y serio de un sistema que te volviese a preguntar lo mismo. Así, el sistema experto (como el que te mando), guarda las respuestas del usuario y checa antes si ya respondiste a la pregunta para no volverla a preguntar.

Otra cuestión, que no está considerada en el sistema experto es la de explicar su funcionamiento. Es decir, ¿por qué el sistema experto llegó a las conclusiones y diagnósticos a los que llegó? Hay muchas maneras de hacer esto pero una de ellas es simplemente avisarle al programador, vía mensajes a la pantalla, en qué regla está trabajando. Otrso sistemas expertos pueden trazar la ruta de desarrollo. Por ejemplo, pueden decirte: "primero usé la regla 4, la cual me remitió a la regla 92 y por las respuestas del usuario tuve que probar las reglas 153 y 25", etc. Pero esto es mucho más sofisticado y difícil de programar.



/*      Program: Dog Expert        */
/* Purpose: To show the working of */
/* an expert system. It is a pro-  */
/* duction rule-based system.      */
/*                                 */
/* Remarks: This is a dog classi-  */
/* cation expert system. It uses a */
/* set of production rules for the */
/* purpose of inferring.           */

domains

database

   xpositive(symbol,symbol)
   xnegative(symbol,symbol)


predicates

   do_expert_job
   do_consulting
   ask(symbol,symbol)
   dog_is(symbol)
   it_is(symbol)
   positive(symbol,symbol)
   negative(symbol,symbol)
   remember(symbol,symbol,symbol)
   clear_facts

goal

   do_expert_job.


clauses

/*  User Interface System (UIS) */

do_expert_job :-
     makewindow(1,7,7,"An Expert System",1,16,22,58),
     nl, write(" ************************************"),
     nl, write("    Welcome to a Dog Expert System"),
     nl, write("                                 "),
     nl, write(" This is a dog identification system"),
     nl, write(" Please, respond by typing in 'yes'"),
     nl, write(" or 'no'.            Thank you.    "),
     nl,nl,
     do_consulting,
     write("Press space bar..."), nl,
     readchar(_),
     clearwindow,
     exit.

do_consulting :-
     dog_is(X), !,
     nl, write(" Your dog may be a(n) ",X,"."),
     clear_facts.

do_consulting :-
     nl, write("Sorry, unable to determine the dog."),nl,
     clear_facts.

ask(X,Y) :-
     write("   Question :- ",X," it, ",Y," ? "),
     readln(Reply),
     remember(X,Y,Reply).


/* Inference Engine (INE) */

positive(X,Y) :-
     xpositive(X,Y),!.

positive(X,Y) :-
     not(negative(X,Y)),!,
     ask(X,Y).

negative(X,Y) :-
     xnegative(X,Y),!.

remember(X,Y,yes) :-
     asserta(xpositive(X,Y)).

remember(X,Y,no) :-
     asserta(xnegative(X,Y)),
     fail.

clear_facts :-
     retract(xpositive(_,_)),
     fail.

clear_facts :-
     retract(xnegative(_,_)),
     fail.


/* Production Rules */


dog_is("English Bulldog") :-
     it_is("short-haired dog"),
     positive(has,"height under 22 inches"),
     positive(has,"low-set tail"),
     positive(has,"good natured personality"),!.

dog_is("Beagle") :-
     it_is("short-haired dog"),
     positive(has,"height under 22 inches"),
     positive(has,"long ears"),
     positive(has,"good natured personality"),!.

dog_is("Great Dane") :-
     it_is("short-haired dog"),
     positive(has,"low-set tail"),
     positive(has,"longer ears"),
     positive(has,"good natured personality"),
     positive(has,"weight over 100 lb"),!.

dog_is("American Foxhound") :-
     it_is("short-haired dog"),
     positive(has,"height under 30 inches"),
     positive(has,"longer ears"),
     positive(has,"good natured personality"),!.
    
dog_is("Cocker Spaniel") :-
     it_is("long-haired dog"),
     positive(has,"height under 22 inches"),
     positive(has,"low-set tail"),
     positive(has,"longer ears"),
     positive(has,"good natured personality"),!.

dog_is("Irish Setter") :-
     it_is("long-haired dog"),
     positive(has,"height under 30 inches"),
     positive(has,"low-set tail"),
     positive(has,"good natured personality"),!.

dog_is("Collie") :-
     it_is("long-haired dog"),
     positive(has,"height under 30 inches"),
     positive(has,"low-set tail"),
     positive(has,"good natured personality"),!.

dog_is("St. Bernard") :-
     it_is("long-haired dog"),
     positive(has,"low-set tail"),
     positive(has,"good natured personality"),
     positive(has,"weight over 100 lb"),!.
    
it_is("short-haired dog") :-
     positive(has,"short-haired"),!.
    
it_is("long-haired dog") :-         
     positive(has,"long-haired"),!.

Este sistema experto está escrito para turbo prolog, que funciona bajo MsDOS y está sacado del libro -si mal no recuerdo- Exploring Artificial Intelligence With Turbo PROLOG por Keith Weiskamp, el cual no sé dónde está. No lo halló más.

Sabtu, 19 November 2011

Urology

I also spent two weeks doing anesthesia for urology cases. Similar to my orthopedic anesthesia rotation, the faculty have created a curriculum to teach the aspects of anesthesia that are specific to procedures like transurthetral resection of the prostate, robot-assisted radical prostatectomies, cystoscopies and ureteral stents, and kidney surgeries.

There were two urology surgeries that were particularly interesting. Both were surgeries for prostate cancer. For one, the patient had a recent severe heart attack with multiple cardiac stents placed. The ejection fraction of the heart, normally 55-70%, was merely 20%. In the second case, the patient had tetralogy of Fallot, a serious congenital heart defect that causes babies to be blue. He had this repaired as an infant when they had just started doing cardiac surgery for this anomaly. This, in fact, was his first surgery that didn't involve cardiopulmonary bypass.

I was paired with a cardiac anesthesiologist in both cases, and intraoperatively we examined the heart with a transesophageal echocardiogram (TEE), a probe placed into the esophagus that uses ultrasound waves to examine the heart from within the body. It was really fun and amazingly educational to see each chamber and valve. I always enjoyed learning about transthoracic echocardiograms (TTE) and this is an intraoperative analogue to help monitor the patient.


Diagram of TEE shown under Creative Commons Attribution License, from Wikipedia.

Jumat, 18 November 2011

Caballerosidad deportiva mal entendida


En ajedrez a veces existe algo que se malinterpreta como caballerosidad deportiva, como jugar limpio, aunque en realidad es solamente una exageración a conductas deportivas que se interpretan de forma equivocada. Hace unas pocas semanas, Navara, el GM checoslovaco, jugaba con el GM Moiseenko, en la Copa Mundial 2011, cuando se presentó una situación anómala. Jugaba Navara y aparentemente tocó el rey y su alfil, prácticamente de forma simultánea. Su rival advirtió al juez y después de unos minutos de discusión parece que quedó claro para Moiseenko que Navara no había querido realmente tocar a su monarca y se le permitió hacer la jugada del alfil. En caso de que el juez hubiese decidido en contra de Navara, éste hubiese perdido la partida inmediatamente pues habría perdido una pieza. La partida continuó y Navara llegó a una posición ganadora. Mate en un par de jugadas... Pero no lo ejecutó. ¿Qué hizo? Ofreció el empate, porque se sentía mal por la situación y discusión anterior. ¿Hizo bien? ¿Hizo mal? Los árbitros le concedieron a Navara y a Moiseenko, unos días después, un premio especial por "fair play".

De acuerdo a las propias palabras de Navara: "no sé quién tenía la razón". Navara sintió que el match no debía decidirse por esta situación anómala o por una protesta sin suficiente evidencia. No quería además ser acusado de pasar a la siguiente ronda de forma ilegal y por ello ofreció el empate. A la postre el GM checoslovaco pasó a la siguiente ronda, eliminando a Moiseenko.


Pero este caso no es único. Malakhov, en el Campeonato Individual Europeo de hace unos pocos años, contra Azmazparashvilli, éste último cambió su jugada y esto le permitió coronarse campeón de Europa. Cabe decir que Azmazparashvilli se sintió mal con su proceder y en algún momento le ofreció tablas a su rival, el cual no acepto (de acuerdo a Geurt Gissen, el prestigiado árbitro internacional, en su columna de Chesscafe.com).

Pero Tim Krabbé, que lleva un registro de todo género de situaciones curiosas en ajedrez, lo cual daría a muchos libros del tema, y que tiene un sitio web, es de la opinión de que: "Apiadarse del rival es contra el espíritu deportivo", y para ello pone el siguiente ejemplo del torneo de Wijk aan Zee, de 1970:


Platonov- Cortlever
Wijk aan Zee, 1970
Juegan las blancas

En esta posición las blancas tienen la partida ganada después de 54 jugadas. Simplemente jugando 55.Td7 las negras podrían rendirse. Por ejemplo: 55. ... Db6 56. Td8+ Rh7 57.Dd3+ Tf5 58. g4 y se acabó. En lugar de eso, Platonov cometió un espantoso error y jugó: 55.Td8+?? con lo cual las negras podrían responder con 55. ... Te8+ a la descubierta, con lo cual se pierde la torre ya que a 56. Td6 Te6 gana. Cortlever jugó la torre para cubrir el jaque, pero inmediatamente ofreció el empate, el cual fue aceptado por Platonov.

Dice Krabbé entonces:
"Pensamos que la reacción deportiva de Cortlever merece respeto y admiración", escribió Barry Withius en el boletín del torneo. Pero, dice Krabbé "yo personalmente desprecio este tipo de caballerosidad", y agrega: "Está en el espíritu de todos los deportes sacar ventajas de las debilidades de su oponente si está dentro de las reglas. El deporte es duro, es cruel. El deporte es realmente sobre sacar ventajas de los errores, haciendo que el rival se vea patético -y no sobre excelencia moral. No veo porqué tiene que ser diferente en ajedrez." Y concluye: "Cortlever debió haber sido expulsado del torneo".

Así las cosas en este fascinante mundo del ajedrez. Pero usted, lector, lectora, ¿qué piensa?

A Taste of Our Own Medicine

As an intern, some of the most common pages I got were: "patient requesting something for sleep" or "patient is itchy." Diphenhydramine (Benadryl), shown above, was an occasional response. I'm currently on night shifts (a future blog later) and so I took some diphenhydramine to help sleep during the day. It hit me hard. I got a ton of side effects, including dry mouth, ataxia, blurred vision, difficulty concentrating, dizziness, and irritability. It didn't even help me sleep all that well. It was a taste of my own medicine. It reminded me that even medications we consider routine can have potent side effects, and when given to elderly, sick, hospitalized patients, can lead to adverse events like falls. Nothing is completely safe.

Image shown under Fair Use, from myhealth.ucsd.edu.

Articulo de Florence Toussaint en Proceso sobre la Oveja Eléctrica

En la edición de la revista Proceso de esta semana, aparece una crítica de Florence Toussaint, que escribio sobre el programa "La Oveja Eléctrica", que se transmite por Canal 22 los martes a las 8:30 pm y con repetición los viernes a las 5 pm.

Ayer Pepe Gordon me mostró la revista y estaba contento porque la crítica por una parte es muy favorable y por otro lado, porque la "Oveja Eléctrica" es como uno de sus hijos predilectos. Entre él y Froylán López Lavín, hijo del escritor Froylán López Narváez, arman cada semana un programa de divulgación de la ciencia que ya tiene su propia fisonomía, su propio estilo. Me siento muy halagado de que me hayan invitado (ya hace seis temporadas), a participar en este proyecto. Un abrazo a todos.


Dar click en la imagen para agrandar

Kamis, 17 November 2011

Charon

Charon is the ferryman of Hades in Greek mythology who carries souls across the rivers Styx and Acheron to the land of the dead. Perhaps a morbid thought, but occasionally I have wondered if anesthesiologists are similar (but distinctly different) mariners. We dare to cross that threshold with the faith that our trips are not one-way. We take those, coin in eye, who have some need of transient depth, who trust us as navigators and cartographers. Are patients the modern day Heracles and Orpheus? Do we carry them across some mythical river and return them safely from their katabasis?

Image is Gustave Dore's illustration to Dante's Inferno, in the public domain, from Wikipedia.

Rabu, 16 November 2011

¿Cuántos vasos de 20 onzas caben en un VW Beetle?


Las tiendas de conveniencia Oxxo y Nescafé, cerraron ayer una promoción para premiar la fidelidad de sus clientes, y organizaron un concurso en donde se trata de acertar cuántos vaso de 20 onzas, con tapa, caben dentro de un VW Beetle 2012? El ganador será aquel que le atine o se acerque (sin pasarse), más al valor total de vasos que contenga el automóvil en cuestión.

Hay de hecho tres automóviles en juego, tabletas iPad, consolas de juegos XBox y reproductores de mp3. Aquí, a diferencia de otros concursos, la cantidad total de vasos que caben en el automóvil aún no se conoce, y se sabrá hasta hoy, día 16 de noviembre en que se hará frente a un notario, que dé fe del resultado. Esto en mi opinión hace más transparente el concurso en cuestión. Cuando alguien sabe a priori el número de vasos, bien podría comunicárselo a un tercero. Por ello, este concurso quizás me gustó más que otros.

Para poder concursar, sin embargo, había que comprar tres cafés en las tiendas Oxxo. El precio mínimo de cada café es de 15 pesos, por lo que estamos hablando que cada participación cuesta 45 pesos. Se puede participar tantas veces como se deseé (siempre y cuando hagan la compra correspondiente).


Un eventual amigo de Internet se comunicó conmigo para que le ayudara a calcular la cantidad de vasos que podrían caber en el automóvil Beetle. Hicimos los cálculos de forma independiente y llegamos finalmente a los números que parecen más razonables. Quedamos en dividir en dos cualquier premio que nos pudiésemos ganar. He aquí los cálculos que se hicieron:


Un vaso de 20 onzas, lo cual es equivalente en litros, según la página: http://www.convertunits.com/from/oz/to/litro a: 0.59147059375, es decir, poco más de medio litro. Si incluímos la tapa, hablamos de 5 cms3 más (esto lo medí con una taza graduada), entonces como hablamos de vasos CON TAPA, tenemos 596.47 cms3 por vaso. Después con una taza graduada hice la medición e nuevo sobre un vaso de café nescafé-oxxo y hallé que: 22 onzas son 650.62 cms3 medidos con mi taza graduada.

Ahora bien, de otros concursos, más o menos el espacio habitable del beetle concuerda con otros valores. Digamos que en los coches medianos, el espacio habitable es más o menos lo mismo. Por ejemplo: en el caso de la camioneta del concurso de cinemex, el volumen era de:

Espacio interior (volumen):

Interior volume: 125.4 ft3 (3,550,932 cms3)

Este es el TOTAL (incluye la parte de la cajuela o carga):

101.0 + 24.4 = 125.4
ft3

(ver: http://la-morsa.blogspot.com/2009/01/otro-concurso-ms-de-cinemex.html)

Cabe señalar que la camioneta tiene sin duda mucho más espacio que un beetle (que tiene 81 ft3 de espacio).
Así que creo que en términos de espacio, 81 ft3 suena razonable para el beetle.

En el concurso del corolla que hizo cinemex, eran vasos de 500 ml. el volumen del Corolla (que había que calcular), era de 2 550 000 (90 ft3). Por lo cual, si hacemos la división:

2 550 000 / 500 = 5,100

pero el resultado de la cantidad de vasos (que son conos truncados), fue de 2444 en total. Es decir, amontonados, se desperdició: 52.08% del espacio. Los vasos de cinemex y del concurso de oxxo son del mismo tamaño, nomás que los del oxxo hay que añadirles un poco más por la tapa.

Este es el nuevo cálculo:

Entonces 2,292,300 cm3 dividido por unidad de vaso (650.62 cm3) tendremos: 3523.25 vasos, pero a esto hay que dejarle sólo el 47% que cabe (de la experiencia del Corolla, el porcentaje que se pierde en el espacio es de 52%). Entonces:

3523.25 vasos * .48 = 1691.16 vasos.

A partir de ahí dividí con mi amigo las apuestas que había que hacer. No sé si hoy en la página de Nescafé salga el resultado de los vasos en total. Sino, a esperar al 28 de este mes para ver si nos ganamos el coche o algún otro bien. Esperemos haya suerte.

Selasa, 15 November 2011

Hodgepodge

Working in the general OR means that I get assigned to different cases each day, forcing me to think, plan, and learn about a variety of surgeries. I'm just starting to get over my fear of the spine. Spine surgeries are intimidating; they are long, can have large blood loss, and the patients are prone (on their belly). In prone cases, we have less access to the airway, there is a risk of damage to the eyes or nose, and flipping the patient is not as easy as it sounds. But after doing a cervical spine fusion and a couple lumbar laminectomies, I'm starting to feel a little better about spine cases. The cervical spine fusion was interesting; a neuro tech monitors specific muscle groups intraoperatively to ensure that the surgeons don't damage any nerves.

Of course I had my share of general surgery cases such as exploratory laparotomies, appendectomies, and cholecystectomies, but the most interesting cases were the sleeve gastrectomies. I spent one day providing anesthesia to morbidly obese patients getting weight-loss surgeries. These patients provide a unique anesthetic challenge because the dosing of our drugs doesn't scale linearly with weight; indeed, most medications aren't tested for patients above a certain weight. Thus, I had to learn about pharmacokinetic principles in the obese patient. Moreover, obese patients provide a challenge for intubation; there's less time because their lungs have less reserve, and there's more soft tissue that can get in the way of placing the breathing tube.

The other rooms I've been assigned to have been pretty typical: lymph node biopsies with ENT, breast biopsies with general surgery, more hips and knees with orthopedics, soft tissue mass excisions with plastic surgery. It's been a really good mix.

Image of spine dissection is shown under Creative Commons Attribution Share-Alike License, from Wikipedia.

Libros interactivos de ajedrez


Hace unos años, mi hermano Pedro estaba trabajando en un manual técnico. Para ilustrarlo mejor, había tomado algunos videos y se enteró de alguna manera que estos podían colocarse dentro de un documento en formato PDF, de Adobe. Así, podía tener el texto explicando alguna cuestión específica y el lector podía entonces ver el video en donde se ilustraba el asunto.

Cuando vi lo que había hecho, pensé que debería haber algo parecido pero para el ajedrez. Es decir, uno lee un libro de ajedrez normalmente frente a un tablero físico, en donde se van reproduciendo las jugadas. Unos pocos jugadores no necesitan de tablero y pueden leer libros de ajedrez como si leyeran una novela, pero sin duda son los menos. Una alternativa a esto es usar por ejemplo, Chessbase, e ir reproduciendo las partidas del libro en el tablerito electrónico. De hecho, muchas monografías de aperturas de la empresa alemana (Chessbase), son como "libros electrónicos". Chessbase tiene además algo que se llama "ChessMedia", lo cual son videos de jugadores muy fuertes, entre ellos inclusive Kasparov, los cuales analizan en video las partidas que se muestran en el tablero electrónico del software. De alguna manera el video está enlazado al tablero y así lo que va diciendo el maestro se refleja en las jugadas que se ven en el tablero.

Hoy me entero de una idea interesante, que me parece ya la gente de Everyman Chess ya tenía en cierta medida avanzada: un sistema de libro electrónico en donde puede seguirse, en un tablero virtual, los análisis que se van dando página tras página. Lo idea es tener un iPad por el tamaño, pero el sistema se puede usar también en un iPod touch. De esta manera, ya el tablero físico puede pasar a la historia y estudiar ajedrez se hace ahora de la manera más fácil posible. Quizás habrá que esperar un tiempo a ver qué títulos nuevos aparecen, porque la oferta de libros de ajedrez con este sistema aún se ve pobre.

Cabe decir que la empresa de Stephen Wolfram, los que hacen el software Mathematica, desarrollaron un sistema de libros electrónicos interactivo (diseñado para matemáticas, desde luego), el cual permite una interacción fascinante, lo cual podría ser la nueva moda en lo que se refiere a libros electrónicos. Crear libros interactivos con Mathematica requiere de tener este sistema y cualquiera con ganas e interés puede crear sus propios documentos interactivos. Sin embargo, con la idea de los libros de ajedrez de eplubooks, hay que esperar que el fabricante decida incorporar nuevos títulos. Habrá que ver si esta idea pega en el público ajedrecísta y se vuelve a la larga un estándar. En el mientras, he aquí el video promocional de esta empresa:



El sitio de la empresa de este software es http://www.eplusbooks.com/.

Senin, 14 November 2011

Lapsus: anatomía de un corrector ortográfico VI

Un corrector ortográfico tiene otras dificultades a resolver. Una de ellas es si el programa será implementado como una aplicación independiente o si bien, interactuará con algún otro sistema. En la primera versión de Lapsus, la cual se escribió en Turbo Prolog 2.0, de Borland, el sistema contenía su propio editor de textos, es decir, quien usara el software estaba obligado a escribir sus documentos en el editor que yo proveía. Sin embargo, es claro que este enfoque tiene una oposición importante: es difícil que la gente cambie el editor de palabras que use por utilizar la herramienta de corrección ortográfica, aunque ésta suene muy poderosa.

Debido a esto, decidí entonces hacer que Lapsus corriera como una aplicación que se pegaba de alguna manera a MsWord, que es el procesador de palabras que la mayoría usa, pues la suite informática de Microsoft es muy popular. Entonces, habría que ver cómo enlazar ambas aplicaciones, por una parte MsWord y por otra Lapsus, para que ambas de platicaran y se intercambiaran información.

La idea básica era simple: Úsese Word y Lapsus -ya ejecutándose- estará al pendiente de cada palabra que se escriba, la cual será enviada al corrector para evaluar si está bien o mal escrita y si se encuentra algún error, mándese algún mensaje de error (desde Lapsus), que permita al usuario hacer la corrección correspondiente.

La idea es simple pero la implementación de la idea no lo fue. Por una parte, había que ver qué mecanismos permitían entablar un proceso de comunicación entre ambos programas. Hallé que Windows tiene un mecanismo llamado DDE - Data Dynamic Exchange, el cual permite intercambiar datos entre aplicaciones.

De acuerdo a la Wikipedia: Dynamic Data Exchange(DDE) es una tecnología de comunicación entre varias aplicaciones bajo Microsoft Windows y en OS/2. Aunque es apto para las últimas versiones de Windows, ha sido reemplazado por su mucho más poderoso sucesor Object Linking and Embedding, COM y OLE Automation. Sin embargo, todavía se usa en varios sitios dentro de Windows, por ejemplo en la asociación de archivos. En particular, DDE permite que una aplicación abra una sesión con otra, enviar comandos al servidor de aplicaciones y recibir respuestas. Sin embargo, este no permite incorporar una interfaz del servidor dentro de la aplicación cliente, tampoco soporta la incorporación de un servidor de datos dentro del archivo cliente (por ejemplo: almacenamiento estructurado); y para usar DDE se tienen que conocer los comandos de DDE que el servidor soporta, lo cual no ha sido generalmente estandarizado (si bien existieron algunos estándares, como la especificación spyglass para navegadores web), Así, para emplear toda la funcionalidad del DDE, se debe agregar código especial en cada aplicación cliente para cada servidor que este quiera controlar, o la aplicación cliente debe facilitar un lenguaje de script o macro. Un uso común de DDE fue para desarrollar aplicaciones personalizadas para controlar software disponible, ejemplo: un aplicación escrita en C o algún otro lenguaje debía usar DDE para abrir una hoja de cálculo Microsoft Excel y llenarla con datos, por medio de una conversación con Excel y el envío de comandos DDE. Sin embargo, hoy se usa el modelo de objeto de Excel con OLE Automation (automatización OLE) (esto es una parte de COM). Windows tiene la habilidad de llamar NetDDE, el cual posibilita que los mensajes DDE sean enviados entre aplicaciones que corren en máquinas diferentes. Su uso es raramente utilizado, pero todavía tiene soporte. El cuaderno de Microsoft (Microsoft Clipbook) y el juego de cartas Corazones (Microsoft Hearts) son algunas de las aplicaciones que usan NetDDE.

Cabe señalar que DDE además, resulta un monstruo difícil de enfrentar. La documentación: unos 60 megabytes, es oscura e impenetrable. Cuando hice mis primeras pruebas de Lapsus con DDE hallé que una vez no funcionaba bien y otra vez tampoco. Aparte de oscuro resultó francamente inestable. Así que después de unos meses de padecer a DDE me declaré incompetente (o lo declaré más bien incompetente) y decidí buscar otra opción.

Por suerte hallé que OLE automation es la solución a muchas de las dificultades. El protocolo de comunicación entre procesos es mucho más claro y además, para Office ya está implementado en muchísimas plataformas, inclusive Delphi. Curiosamente los ejemplos que hallé sobre cómo pasar una palabra desde Word a Lapsus y regresarla corregida son inexistentes. Hay muchos ejemplos de cómo hacer para que Word, a través de una aplicación en Delphi, abra el menú para leer un archivo, o para guardarlo, pero nada de la manipulación de las palabras.

Buscando en la red hallé que la revista Delphi Informant (septiembre y octubre del 2000), traía probablemente esa información. Y aunque la revista había desaparecido, estaba a la venta el CD con todos los artículos en PDF. Tuve dificultades con los que venden el CD (ya lo mencioné en algún artículo pasado), pero finalmente me hice de esos artículos y entonces Lapsus podía entonces cobrar vida, pues la parte medular había sido resuelta.

Ya hablaremos más adelante de los detalles al respecto.