FriendsBlog Archive
|
August 200831 August, 8:49am Hace cosa más de un mes, un viejo conocido me preguntó si mi situación laboral y de vida actual es debido, en buena medida, al hecho de haber estudiado la maestría en ciencias computacionales. Esa pregunta despertó en mi una serie de emociones encontradas, además de otros cuestionamientos, en especial con respecto al tecnológico donde ambos estudiamos nuestras carreras de ingeniería.
Permítanme hacer una retrospectiva, ya que para comprender el presente, hay que revisar el pasado: Yo ingresé al ITC no de mala gana, pero sí ya con un indolente sentimiento de frustración. Corría el año de 1995, México sumido en plena crisis económica y mi familia nuclear ya había tocado fondo financieramente. Había días que tenía que recurrir a los amigos para que me invitaran a comer, ya porque no hubiera bocado en casa, o porque la tensión entre mis padres hacía insoportable la convivencia. Durante la preparatoria (el instituto, como le llaman acá en España) me había ilusionado con estudiar la carrera en Monterrey, en el ITESM, tecnológico privado de alto coste e igual reputación. Sin embargo, para cuando me gradué de la preparatoria, ya estaba convencido que estudiar una carrera profesional, en cualquier lado, ya en un lujo para mi. Y me sentía totalmente frustrado por ello. Ingresé al Instituto Tecnológico de Celaya. Al menos, pensaba, tenían la carrera de Sistemas Computacionales en sus programas, sobre la cual estaba mi vocación; sin embargo mi hermano, que quiere estudiar arquitectura, deberá conformarse con alguna ingeniería ofrecida aquí mismo. Pronto el ITC se convirtió en mi primer hogar, en mi refugio de las cuitas familiares. Pasar horas en la biblioteca, en el centro de cómputo, desde la mañana hasta entrada la noche. No obstante, no tardé en darme cuenta del bajo nivel académico que imperaba en el área de computación. El primer semestre, donde simplemente continué con mis hábitos de estudio de la prepa, fue para mi como un paseo por el parque, mientras que observaba a mis compañeros de clase sufrir por sacar adelante las materias. El siguiente semestre la situación cambió radicalmente: en un arranque de megalomanía me matriculé en todas la materias de matemáticas disponibles. Apenas en el primer mes de clases, me di de baja de electricidad y magnetismo, más por pánico que por otra razón. En este segundo semestre fue cuando conocí a doctor José María Rico, quien impartía la clase de álgebra lineal y que me acogió, a instancias de un amigo muy brillante, en un programa de "alumnos integrados a la investigación" para colaborar con él. Fue lo mejor que me ocurrió. El resto de los 5 años fueron de formación mediocre y comodona. En aquellos años yo estaba convencido que la escuela sólo estaba para enseñar al alumno a resistir, a aguantar vara como decimos en México. Simplemente había que cumplir con las exigencias del maestro, por ridículas que fueran y a soportar la indolencia de la burocracia escolar. La verdadera formación estaba en otro lado. El Tecno, como le decíamos de cariño, tenía muchas otras ofertas culturales y de formación, y esas son las que había que aprovechar. Pronto me convertí en un asiduo al centro de cómputo y a la biblioteca (me pasaba horas viendo los nuevos títulos que llegaban mes con mes), me convertí en ayudante del laboratorio de cómputo del programa de posgrado de ingeniería química, publicaba en la revista estudiantil, participé en los concursos de creatividad y de ciencias básicas, además de mis labores como ayudante del doctor Rico. Mientras que las clases, la formación que supuestamente daba sustento a mi carrera profesional, seguía con maestros faltistas (hubo uno, de la clase de compiladores, que sólo vi una única ocasión en todo el semestre), maestros que, reconociendo desvergonzadamente su poco dominio sobre el temario, lo cambiaba a cosas tan ridículas como cableado estructurado; u otra profesora que, para evitar dar el tema de la equivalencia entre máquinas de estado finito y lenguajes libres de contexto, argumentó que esos tópico no nos serían útiles en nuestra profesión, ya que eran muy abstractos, etcétera. Claro, no todo era así, había excepciones, maestros que realmente se esforzaban pero dar un buen curso, pero la mayoría fracasaban pese a sus intenciones, debido a que casi el 100% de la pantilla de profesores, ni siquiera eran graduados de carreras relacionados con la informática, mucho menos gente con posgrado y experiencia en investigación. Y así hasta que me gradué. Luego pasé por un periodo de ajuste, algo así como una entrega a la entropía: fui asesor de GNU/Linux para varias empresas, formé mi propia empresa de telecomunicaciones, viajé por Europa, fui maestro en el mismo tecnológico, fracasé como empresario primerizo, hasta que un día me harté y supe que tenía que hacer algo con mi vida. Quería hacer una maestría y tenía, además, que quitarme la espina de no haber estudiado en el ITESM, así que sin muchos preámbulos me matriculé en el campus Cuernavaca, donde el posgrado estaba dentro de viejo Padrón de Excelencia del Consejo Nacional de Ciencia y Tecnología, asumiendo así una considerable deuda que no terminaría de pagar sino hasta el mes pasado, medrando mis ingresos con bastante saña. Pero ahí mi perspectiva cambió radicalmente. Antes era un defensor del Tecno, lo defendía ante mis amigos que había ido a estudiar a universidad prestigiosas, lo defendía ante los estudiantes frustrados que echaban fuera, lo defendía ante los que lo criticaban en alguna conversación casual. Sí, le debo mucho al Tecno, me acogió en los momentos más negros de mi vida (varias veces estuve a punto de abandonar los estudios para dedicarme a ganar el dinero que buena falta hacía en casa) y me dio un espacio donde jugar con las computadoras, con Internet, donde discutir ideas y conocer gente muy enriquecedora. Llegué pues a la maestría, donde todos mis maestros tenían doctorados, con altas puntuaciones en el Sistema Nacional de Investigadores, reconocidos en sus áreas de investigación fuera del país y que hablaban de la computación de una forma que no había oído jamás. Hablaban de la métodos de búsqueda, de optimización, de complejidad computacional, de redes bayesianas, de modelos gráficos probabilistas, de patrones de diseño de software, de representación del conocimiento, de metodologías de desarrollo de software. Y además, la burocracia no estaba ahí para ningunearte y sobajarte, sino que realmente pretendían ayudarte con toda amabilidad. Pero el disgusto realmente llegó una mañana saliendo de la clase de lógica. Un amigo muy brillante me dijo un chiste que no pillé. Al ver mi rostro de estupefacción me explicó que lo gracioso radicaba en la supuesta e incomprobada equivalencia entre P y NP. "¿No lo viste en la carrera?", me preguntó con sopresa. Claro está que no me disgusté con él, me disgusté con el Tecno, con las horas perdidas sentado en un pupitre escuchando estupideces. Me sentí engañado, estafado. Sentí pena por los muchachos inteligentes que se matriculan llenos de entusiasmo al área de computación (informática) para quedarse empantados en una pobre perspectiva de la profesión; que al graduarse se siente satisfechos con poner cibercafés (ciberlocutorios/cabinas de internet), o con empleos de programadores web con ASP o PHP para empresas rascuaches (cutres). Y todo por no poderles ofrecer una perspectiva más amplia de lo que es la profesión, limitando por ende el crecimiento de la industria en la región y el país. Excelente materia prima tirada a la basura. Luego me fui a Monterrey a trabajar. Ahora sí en programación en C, a bajo nivel para lo que estaría acostumbrado, una oportunidad que en la región del Bajío sería muy rara. Ahí la mayoría de los colegas son de menor edad que yo, recién egresados, y varios de ellos gente muy capaz, hablaban con toda naturalidad de tópicos que vieron en la escuela y que jamás se habían preguntado sobre ellos antes de estudiarlos. Y el sentimiento de frustración se incrementó: me pregunté si yo hubiera adquirido todos esos conocimientos tal como ellos, en clase, en lugar de estudiarlos por mi cuenta, fuera de las aulas y a pesar de los maestros, ¿no habría llegado más lejos antes? ¿no estaría en lugares más retadores e interesantes con antelación? ¿no hubiera reconocido mi especialización más rápido en lugar de pasar un par de años en la entropía? ¿no habría una industria del software realmente importante en mi región de origen? Y esas preguntas se volvieron coraje que se vertió en un reclamo ahogado: ¡Regrésenme los 5 años que perdí con esos maestros! Sin embargo, pese a lo que pueda parecer, estimo mucho al Tecno, por las razones antes dichas y otras más. Le debo mucho a pesar del resabio. Mi enojo radica más en que el departamento de cómputo del ITC tiene todo para ser un bastión de la informática en la región, y sin embargo se queda en la más triste dejadez y mediocridad. ¿Moraleja? Sí, la persona es responsable de formarse a sí misma independientemente de la escuela. Pero un buen estudiante en una buena escuela podrá llegar más lejos y más rápido que aquel que se tuvo que ir por las piedras y el lodazal. 23 August, 6:05pmPaquete de fruta ideal para el solitario moderno a couple moreI'm no so proud about this. The eratosthenes function is almost a copy&paste
The prime factors of 13195 are 5, 7, 13 and 29. What is the largest prime factor of the number 600851475143 ?
from math import sqrt def eratosthenes (limit): D = {} # map composite integers to primes witnessing their compositeness q = 2 # first integer to test for primality while q <= limit: if q not in D: yield q # not marked composite, must be prime D[q * q] = [q] # first multiple of q not already marked else: for p in D[q]: # move each witness to its next multiple D.setdefault (p + q, []).append (p) del D[q] # no longer need D[q], free memory q += 1 num = 600851475143 print max (filter (lambda x: num % x == 0, eratosthenes (int (sqrt (num)) + 1))) I suspect this one can be more efficient A palindromic number reads the same both ways. The largest palindrome made from the product of two 2-digit numbers is 9009 = 91 99. Find the largest palindrome made from the product of two 3-digit numbers.
f = lambda x: x == x[::-1] print max ([ (a * b) for a in xrange (100, 1000) for b in xrange (a, 1000) if f (str (a * b)) ]) 17 August, 7:12pm Como varios de ustedes sabrán estoy leyendo Los Detectives Salvajes de Roberto Bolaño. Hasta donde llevo se narra la historia la transformación de un adolescente en un poeta, pero uno que bien podría enmarcarse dentro de una Generación Beat a la mexicana, donde lo único que importa son las sensaciones, darse de frente con la vida a toda velocidad, vivir con toda intensidad, a tope, sin detenerse a pensar en la ética de los actos, es decir, en sus consecuencias. Lo único importante es "volarle la tapa de los sesos a la cultura oficial", es renovar el arte y más específicamente, la poesía. Sexo, drogas, literatura, idealismo, locura son los ingredientes para una vida y obra auténtica. El protagonista de esta parte del libro entrega por completo al camino de la poesía perfecta sin pensar en la factura que tarde o temprano llega.
En un parte del libro un personaje dice al otro refiriéndose a un tercero: "ella siempre ha sido consecuente con sus lecturas". Me pasa parecido al igual que otros amigos: nos mimetizamos con lo que leemos. Si leímos a Bukowski quisimos que la dejadez, el alcoholismo y el machismo cubra nuestra vida; si leímos el Quijote, quisimos hablar a la usanza caballeros andantes de patético anacronismo, y así. Esta vez no fue la excepción: tomé una decisión aventurada, sin reparar en gastos, en agotamiento físico, o el abandono de otros compromisos: me fui a Barcelona por ínfimos dos días. Mas tenía una razón para ir: resulta que unos tíos fuero a visitar a sus hijas (mis primas) que radican actualmente en dicha ciudad; entonces pensé "sería chido echarme una cheve con mis tíos en Barcelona". Hice las reservaciones de avión y me fui para allá. Al salir tuve la peregrina idea de sólo llevarme mi tarjeta de identidad, dejando el pasaporte, ya que sólo sería un vuelo doméstico. Craso error. Cuando llegué a Madrid con mi pases de abordar tuve que dirigirme a la terminal T4S-S donde sólo salen vuelos internacionales y hay que pasar por migración. ¿De cuando a acá un vuelo de Madrid a Barcelona es internacional? ¿Acaso la Generalitat llegó al límite de pedir pasaporte para entrar a su territorio, independientemente si se trata de pasajeros de la Comunidad Europea, o peor aun, de España misma? Pero de ida no fue nada grave a comparación de la vuelta. Al solicitar mi pase de abordar la señorita del mostrador me pidió mi pasarte, de nuevo le dije "no lo traigo", de nuevo me regañó por no traer una documentación que según todos saben deberían traer. ¡Pero si se trata de un vuelo doméstico! Cuando anduve de mochilero por tren a lo largo de Francia, Holanda, Alemania e Italia, jamás me pidieron el pasaporte en el cruce de fronteras, ¿por qué ahora lo hacen si soy residente legal y sin salir de las fronteras españolas? Después de reprenderme por mi falta a las reglas no escritas (¡qué kafkiano es eso!) rompió los pases de abordaje que había impreso y me mandó a la ventanilla de venta de boletos. Ahí, después de explicar todo de nuevo, me dieron otro billete a Madrid (Puente Aéreo decía), pero nada del pase de abordaje de Madrid a A Coruña. Esperé dos horas más de lo que había previsto, sin embargo, según mis cuentas, aun podría abordar la conexión a A Coruña en Barajas. Después siguió la pesadilla de Barajas. Faltaba sólo una hora para que saliera el vuelo a mi destino final cuando aterricé en Madrid. Corrí a módulo de atención al cliente de Iberia. Hacer fila. Tic tac. Los minutos corrían. Explicar mi situación. Dudas, preguntas, tecleo en la computadora, tic-tac. "Tiene que ir a la venta de billetes. Salga del edificio, vaya al piso 2, y ahí busque un módulo de venta de boletos". Corrí. Tic-tac. ¿Dónde pasaré la noche si pierdo el vuelo? Pinche Iberia. Encontré finalmente la ventanilla buscada. Hice fila. Tic-tac. Llegué al mostrador. El dependiente cotilleaba. Tic-tac. Cuando volvió hacia mi le expliqué la situación. "¡Qué raro! No debieron haber hecho eso. Tome esto y vaya a una máquina de auto-checking por su pase de abordar". Había a un lado un grupo de ellas. Botones, datos... "Reserva no encontrada". Me carga la chingada. Botones, datos... "Reserva no encontrada". Le pedí a una señorita de Iberia que asistía ahí ayuda. Después de varios teclasos, prefirió ignorarme e irse a atender a otros pasajeros. Otra vez ir a hacer cola en la ventanilla donde me dieron el billete. Tic-tac. "Vaya a facturación. Dos pasillos adelante". Tic-tac. Corrí. Expliqué otra vez lo mismo a la chica que dejaba pasar a la fila de facturación. Me dejó pasar. Otra vez a hacer fila. Sin problemas me dieron el pase de abordar. Faltan 20 minutos para el abordaje. Me fijo en la terminal: M. Buscó un letrero para llegar a dicha terminal: Tiempo de transporte entre terminales: 20 minutos. ¡Aaaaggrr! Corrí. Cuando subo al tren que lleva a las distintas terminales de la T4S vi a una familia que llevaba un ejemplar de "La voz de Galicia" y esa sola visión hizo que mi corazón se tranquilizara. Al llegar a la zona de abordaje vi caras que me parecieron muy agradables, conocidas sin serlo, amistosas, gallegos. Dormí casi todo el vuelo. Me dormí viendo las áridas tierras de Castilla por la ventanilla y desperté viendo los verdes bosques y prados de Galicia. Me emocioné. Estoy llegando a casa, pensé, y me sorprendió mucho ese pensamiento. Al llegar a A Coruña, viendo las rías, el mar y los bosques, la niña que iba sentada frente mi gritó "Mamá, ¡mira!, la Torre de Hércules". Y volví la mirada extasiado, ahí estaba, el mágico faro. "He llegado". Tenía la misma emoción que esa niña. La grabación del avión anunciando el aterrizaje en galego me pareció musical, nada parecido al catalán que había oído horas antes. Lo sentí más cálido. Aun me sigo preguntando qué tanto significan esas sensaciones. Pero mi estancia en Barcelona fue bastante grata. Ver a mis tíos y primas fue muy reconfortante. Recordar que no estás solo en este ancho mundo tiene algo de ritual que libera al alma de la lejanía. La tarde que llegué fui con mis tíos a la playa y ahí, echados en la arena, con la brisa del Mediterráneo, nos echamos una litrona. Luego fuimos a las Festas de Gràcia, que es el distrito donde mis primas viven. En una de las calles decoradas para la fiesta, había una con motivos de ¡la lucha libre mexicana! con imágenes de El Santo y de Fray Tormenta. Al día siguiente nos fuimos a Montserrat. Impresionante y muy agotador (fotos). Y por la noche no pudo faltar mi peregrinación a l'ovella negra, el bar que significa para mi la apertura al mundo. Addendum: Otro más de los hechos que me sorprendieron es que mi primas, en el par de años sumados que llevan en Barcelona, ¡no tienen amigos españoles! Su círculo social está compuesto por mexicanos, colombianos y otro sudamericano más, lo que no me deja de llamar la atención. Cuando mi prima me invitó a comer al restorán donde trabaja, la mayoría de sus compañeros son mexicanos más un chileno y un argentino. Todos hablaban de "no mames güey", lo que fue como una bocanada de aire fresco para mis oídos, pero luego pensé "¿qué caso tiene vivir miles de kilómetros lejos de tu casa para seguir bajo la misma idiosincrancia?". "Cada quién" es la respuesta que me dí. Otro hecho paralelo a esto mismo es la ingente cantidad de inmigrantes que tiene Barcelona, cosa que se vio reflejada en la anécdota que vi en la estación de Sants: un señor, ya entrado en años, comenzó a utilizar la máquina despachadoras de boletos del Renfe, y comenzó a desesperarse porque no encontraba en la lista del monitor su destino. Un chico asiático que estaba atrás de él, de manera algo precipitada, quizo ayudarlo, y el viejo se enfureció, "no me digas como hacer las cosas, ¡yo soy de aquí!". Y en contra de lo que podía esperar, sentí empatía por el viejo: me resultaría fastidiante que un gringo o un sudamericano o un asiático me dijera cómo hacer las cosas en México. This is fun!n! means n x (n - 1) x ... x 3 x 2 x 1 Find the sum of the digits in the number 100!
reduce (lambda x,y: int (x) + int (y), str (reduce (lambda x,y: x * y, xrange (100, 0, -1)))) Each new term in the Fibonacci sequence is generated by adding the previous two terms. By starting with 1 and 2, the first 10 terms will be: 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, ... Find the sum of all the even-valued terms in the sequence which do not exceed four million.
def fibonacci(limit): a, b = 0, 1 while a < limit: yield a a, b = b, a + b print sum (filter (lambda x: x % 2 == 0, fibonacci (4e6))) The beauty of the functional programmingA Pythagorean triplet is a set of three natural numbers, a < b < c, for which, a2 + b2 = c2 For example, 32 + 42 = 9 + 16 = 25 = 52. There exists exactly one Pythagorean triplet for which a + b + c = 1000.
#!/bin/env python
import sys import cmath def product (a, b, c): print a * b * c sys.exit () c = lambda a, b: abs (cmath.sqrt (a<strong>2 + b</strong>2)) f = lambda a, b, c: c % 1 == 0 and a + b + c == 1000 g = lambda a, b, c: f (a, b, c) and product (a, b, c) [ (a, b) for a in xrange (1, 1000) for b in xrange (a + 1, 1000) if g (a, b, c (a, b)) ] 10 August, 7:33pmHace más de una semana que se marchó L. del piso. Sí, me siento más tranquilo y sereno en casa. Su sola presencia me hacía sentir incómodo y ahora ya puedo llegar al piso con la seguridad de no ser testigo de sus caprichos y veleidades. Todo un respiro. Se mudó bajo la presión de la nueva compañera de piso que ya comenzaba a traer su maremágnum de pertenencias, mientras que L. seguía echada viendo televisión. La cuestión aquí es que L, al dejar su habitación, más grande y espaciosa que la que yo ocupaba, pasaría a ser mi habitación, ya que por antigüedad tenía derecho a ello, y A., la nueva inquilina, se acomodaría en la habitación pequeña. El caso es que yo no me podía mudar porque L. no sacaba sus cosas y A. ya estaba presionando por un lugar donde dejar las suyas. Bajo esta presión L empacó rápidamente y se marchó para sólo volver unos días más tarde por la televisión, que era de su propiedad, y nada más.
Pues bien, yo hice mi mudanza tan pronto como pude y A. tomó posesión de la habitación pequeña. Mientras acomodaba mis pertenencias en los cajones de la habitación me di cuenta, sin sopresa pero con fastidio, que L. había dejado varias cosas. Lo mismo ocurría en el baño, donde su maquillaje, cremas y compresas seguían ahí plácidamente. Sin embargo el hallazgo más sorprendente fue en una cajonera de la habitación: entre papeles, hojas, algodones sucios, monedas y demás sépticas delicadezas, L. había dejado su vibrador. Me dio curiosidad el juguete y enfundándome los guantes de limpieza me puse a observar dicha maquinaria (no vaya a ser que se me pegue algo en la mano). Como pueden apreciar en las imágenes, es un falo de plástico, donde la parte de glande está formada por un rubber suave, como de látex, al igual que la parte terminal de la extensión superior. Tiene varios modos de operación. El primero es la vibración normal, donde las pelotitas blancas de en medio de la un toque de tremulidad impredecible. Luego está el modo de giro, donde la parte del glande forma un ángulo, como un pez que se estira sobre su columna, y gira sobre su propio eje, describiendo un círculo. Puede girar en un sentido, como en otro. Y finalmente la extensión superior también puede vibrar a decisión del usuario. Mis magros conocimientos de la anatomía femenina me permitieron dilucidar sobre los posibles efectos de la usuaria. El glande formando un ángulo y girando, dentro la vagina, tocaría cada pared interior, pudiendo estimular el famoso punto G. Y luego, la extensión superior estimula directamente la región clitoriana. Además pongamos el plus del tembloroso movimiento de las pelotitas en vibración. Pronto llegó a mi una terrible idea: Los hombres estamos obsoletos. Los hombres -comunes y corrientes- no podemos hacer ni la mitad de lo que este aparato puede hacer de manera simultanea, además de ser torpes, voluminosos, poco flexibles, llenos de prejuicios y además con un pene, que si se pone en huelga, menuda vergüenza nos hace pasar. Sí, me sentía derrotado. Sólo quedaba una honrosa retirada a algún remoto monasterio. Pero pronto llegó la respuesta a mis cavilaciones: ¡la película de Wall-E! En la película se muestra a una EVE moderna, poderosa, con una amplia gama de capacidades, un sistema de defensa refinado, autónoma, independiente, inteligente, perseverante y estéticamente atractiva. En cambio Walle es un robot obsoleto, sucio, orientado a una sola tarea mecánica, simple, entregado a su labor, aunque esta ya no tuviera sentido y estéticamente deplorable. Pero había algo en Walle que despertaba la simpatía de todos los espectadores: la poesía y la esperanza. ¡Sí, la poesía nos salvará! Los sueños, la tranquilidad de la simpleza, o finalmente lo que sea, pero ese algo que la otra parte anhela, que la otra parte descubre y desea. No hay que temer a la superioridad sexual/emocional/reactiva de las mujeres, porque aunque seamos tontos y lentos, somos adorables... Una descarnada descripción de la caída de una zatrapía
|
Recent Comments On Blog