martes, 29 de noviembre de 2011

FAQ Leandro Rabindranath León

Las preguntas más frecuentes que me conciernen

Las preguntas más frecuentes que me conciernen

Leandro Rabindranath León

Contents

En la cultura institucional estadounidense se mantiene una lista de las preguntas más frecuentes que se hacen en torno a la institución o una situación específica que ataña a la institución. Por ejemplo, si buscas empleo en una empresa, a efectos de las economías de trabajo de la empresa y de la tuya, pero también de brindarte información adicional que te pueda ser útil, la empresa te proporciona un listado de las preguntas más frecuentes -FAQ: Frequently asked quiestions-, es decir, lo que se suele preguntar y responder, cuando una persona les solicita trabajo.

Demás está decir que esta es una buena idea.

El folclore WEB ha tomado prestada la idea de FAQ. Sin embargo, debo aclarar que en el caso de individuos, no necesariamente es en el mismo sentido que el de la cultura institucional. En el caso individual casi siempre se trata de ego mezclado con sentido práctico. he aquí pues una primera aclaratoria sobre el por qué de mi FAQ.

En los últimos años he vivido algunas situaciones extrañas que me han sugerido que algunas personas tienen ideas parcializadas o erradas de mí. La parcialidad es inevitable y comprensible, pero lo errado, aparte de que es prejuicio, algunas veces me ha causado problemas. También, en algunos casos, he recibido las preguntas tardíamente. Por esta segunda razón, me he animado a redactar esta FAQ, con preguntas que frecuentemente me han planteado y con otras que han debido de hacerme ante de forjarse una opinión sobre mí.

Si ud. tiene alguna pregunta adicional que desee incorporar a este FAQ, por favor hágamela saber por email o por los comentarios de este blog.

1  Academia

1.1  ¿De que se graduó?

Me gradué en Ingeniería de Sistemas de Control, aunque con bastante énfasis en la computación. He hecho pocos sistemas de control "duros" en el sentido de que se controle un dispositivo material; pero sí he programado controladores para algunos algoritmos de planificación de sistemas en que he participado. Ya he olvidado mucho de ese bello mundo, quizá debido a que en mi Escuela se concretan muy pocos sistemas desde su diseño hasta su instrumentación final.

1.2  ¿Cuál es su especialidad, que estudió en su postgrado?

Hice el equivalente francés a una maestría en computación teórica; básicamente teorías matemáticas vinculadas a la computación.

Luego me doctoré en Sistemas Distribuidos, en Francia también.

1.3  ¿Hizo postdoc? ¿dónde?

Tengo 14 años en postdoc, espero que me falten muchos años antes de terminarlo ;-)

1.4  ¿Cuál es su actividad de investigación actual?

Por estas fechas (diciembre de 2011):

  • Automatización de técnicas de planificación estratégica
  • Estudios económicos mediante grafos y/o redes de flujo
  • Localización de recursos distribuidos; tengo doce (12) años tratando de que algún estudiante avance algo en este trabajo y nada. Así que decidí abordarlo yo mismo
  • Reflexión sobre la tecnología y sociedad

1.5  ¿Por qué detesta los celulares en clase?

No detesto los celulares per se. Lo que a veces me incomoda es que la dinámica de una clase se altere o se interrumpa porque alguien decide usar celular.

1.6  Me ha pasado la posibilidad de hacer tesis con ud, ¿qué debo hacer?

Contácteme y hablamos.

1.7  ¿Es muy difícil hacer tesis con ud?

Mi respuesta es sesgada, pero es no, definitivamente no.

Lo que pasa es que a mí no me gusta engañar a la gente ... y bueno, creo que algo es seguro de hacer tesis conmigo: sin mediar palabra, es decir, yo no se lo diré, pero al terminar una tesis conmigo ud sabrá qué es lo que sabe (sobre el tema de tesis), pero, sobre todo, que es mucho más importante, qué es lo que no sabe.

También es bueno decir que la dificultad depende de su nivel y del tema.

Pero si es de su interés, puede que le convenga informarle dos estadísticas personales, cuales creo que objetivamente dicen mucho acerca de una tesis conmigo:

  1. En promedio mis tesistas demoran dos semestres.
  2. Pero, se lo aseguro, aprenden muchísimo. Algunos de mis tesistas se han amargado conmigo, pero después, en retrospectiva, han admitido su aprendizaje. La evidencia es mirar a mis ex-tesistas y ver dónde están, qué hacen y si son felices en sus trabajos. Todos mis tesistas, y hasta ahora no hay excepciones, han obtenido trabajos muy importantes. Algunos son profesores universitarios, otros laboran en el extranjero en compañías nativas o corporaciones transnacionales. ¡Averigüe bien y verá!

En cualquier caso, si ud. ha sido estudiante conmigo, debe saber que reconozco y convivo con las deficiencias de nuestro sistema educativo, pero que no engaño a los estudiantes. En mis materias o en mis tesis, sea cual sea la nota que obtenga, ud. sabe muy bien cuál es el alcance de su dominio en el tema. Y creo que esto es lo que ahuyenta a algunos; esta es una sociedad de la autoestima, del ego, del hedonismo, en donde el alago y el ego son más importantes que la verdad y el aprendizaje.

1.8  ¿Cuál es el mejor departamento de la escuela de sistemas?

El de sistemas de control. Hace unos treinta años se tomaron muy seriamente el trabajo de hacer una escuela propia, original y rigurosa. Aunque se ha degradado un poco y les está pegando el elitismo, aún sigue siendo una muy buena Escuela y por supuesto Departamento.

Mis colegas de departamento se van a molestar un poco conmigo, pero, la verdad es que si ud. desea tener la mejor formación posible en sistemas, entonces opte por la Sistemas de Control.

1.9  ¿y el peor departamento?

De los dos restantes, Computación e Investigación de Operaciones, es muy difícil determinarlo.

Académicamente hablando, el Departamento de Computación se ha formado bien; casi todos sus miembros han cursado estudios doctorales y algunos han consumido papel imprimiendo papeles ("papers"), así como tienen kilometraje (y dinero) recorrido en congresos alrededor del mundo (a veces creo no estudiaron geografía). Pero el Departamento de Computación tiene dos grandes y gravísimos problemas. El primero es que no es unido, no trabaja en equipo. El segundo es mucho peor: muy pocos concretizan lo que predican en implantaciones reales, ni siquiera dan evidencias de su posibilidad. Algunos jamás programaron algo y otros tienen más de 20 años sin programar. Con algunas excepciones, la inmensa mayoría de prédicas y sistemas son .... de papel ... o de carton, como los zapatos del inolvidable amigo Manacho.

En sus inicios, el Departamento de Investigación de Operaciones fue muy, pero muy bueno. De hecho, cuando se fundó la Escuela y durante sus primeros años fue el mejor. Oficialmente no sé qué fue lo que les pasó, pero en el presente tampoco son muy unidos, ni concretan lo que enseñan con lo que hacen o dicen que hacen.

1.10  ¿Cuáles son los mejores profesores de la escuela?

En la Escuela de Sistemas hay muy buenos profesores (lo que de ningún modo forja, aunque podría contribuir, a la unión).

Es muy importante que ud entienda que esta es mi opinión, cual no solamente podría ser errada, sino que se circunscribe a mis cánones, los cuales no necesariamente son los mismos que los suyos o los de otros colegas. En todo caso, respeto y estimo a la inmensa mayoría de profesores de la Escuela y de seguro algunos muy buenos no mencionaré aquí.

Así que tome los nombres que mencionaré como personajes que yo creo ud. debería de conocer porque tienen algo bueno y distinto que enseñarle. No quiere decir esto que los que no nombre no lo puedan hacer.

Del departamento de Investigación de operaciones me parece excelente Oswaldo Terán. Me consta que Sebastian Medina y Ernesto Ponsot fueron muy buenos profesores. Pero no sé como lo están haciendo actualmente. Felipe Pachano es muy inteligente, original y en las pocas veces que he trabajado con él me ha parecido que tiene un don para mostrar naturalmente sus ideas. Seguramente alguien mencionará a Oswaldo Ramirez. Sí, es un muy buen Profesor.

Del Departamento de computación, Gerard Páez es extremadamente bueno. Andrés Arcia es brillante y muy trabajador. Demian Gutierrez tiene una energía y entusiasmo impresionantes; además, ¡tiene experiencia y código! -¡lástima que recomiende tanto java!-. Isabel Besembel es una gran maestra. Icaro Arzuro es muy humilde y se asegura de impartirle asidero práctico a lo que él enseña. Rafael Rivas me parece muy trabajador y se esmera en lo práctico. Domingo Hernández es un Profesor muy afable; es de esas personas cuya “fe mueve montañas”, lleva los proyectos, tiene fuerza de carácter y es bastante auténtico; lo único que le criticaría es su obstinación en “la metodología de desarrollo”; ¡nada es perfecto!.

Del Departamento de Control recomiendo a Miguel Ríos, Mariela Cerrada, Jesús Rodriguez y Spinetti.

Hay profesores que pertenecen a la categoría de "maestros de maestros". En este sentido yo pondría a Gerard y a Ramsés Fuenmayor. Pero atención con una cosa: maestro no necesariamente es una persona “chévere” que te va a alagar diciéndote lo bien que lo hace y lo inteligente que eres.

En otras escuelas, especialmente la de eléctrica, hay muy buenos profesores que podrían interesarle conocer. José Luís Paredes es un científico auténtico, erudito, riguroso, formal, didáctico y muy amable. Tiene un cúmulo de logros científicos muy concretos con instrumentaciones reales (a diferencia de unos cuantos sistemas de papel que nunca se han instrumentado). Juan Marcos también es bastante práctico.

Si quieres aprender inteligencia artificial de verdad, y no creer que la sabes -eso es parte de ser inteligente-, entonces encuentra un Profesor inteligente, competente y con experiencia práctica. En ese sentido, Jacinto Dávila no sólo reúne estas características, sino que es un gran Profesor y un auténtico consumado diseñador de sistemas de inteligencia artificial (¡es el único de inteligencia artificial que hace sistemas!).

Para el curso de simulación te recomiendo a Herbert Hoeger o a Magdiel Ablan.

2  Programación y computación

2.1  ¿Por qué usa software libre?

La razón en si es muy larga, tanto que tengo proyectado escribir esa historia. Por ahora sólo te mencionaré algunas razones.

En primer lugar, porque es mucho más fácil encontrar, dominar y manejar la mayor parte de los programas. Tienen más y mejor documentación, puedes compilarlos tú mismo y optimizarlos de la manera que mejor te convenga y no tienes ese contrato bien restrictivo que llaman licencia.

Por ejemplo, en lugar de Mapple, yo utilizo Máxima. De repente Maxima no es tan potente como Mapple, pero a mis efectos resuelvo muy bien con Maxima y no tengo que estar ni "fusilando" ni estar pendiente de cómo hacerlo con la próxima versión. Lo mismo digo de Octave o Scilab en lugar de Matlab y De R en lugar de S.

En segundo lugar, aprendo mucho, pero mucho más con software libre que con el privativo.

En tercer lugar, resuelvo más rápido con software libre que con el privativo. Y esto va en sentido del aprendizaje y de su uso.

En cuarto lugar, me parece más eficiente el software libre que el privativo.

Por supuesto, esta es mi apreciación de la situación general. Hay caso particulares en los cuales la versión privativa es mejor que la libre o simplemente esta última no existe. Un ejemplo personal es el Solar Winds versus paquetes fragmentados y desperdigados como Cheops y un poco nmap.

2.2  ¿Cuál es su lenguaje de programación preferido?

Depende de para qué. Para sistemas operativos y control, que es algo en lo que bastante trabajé, C es indispensable y C++ es muy útil.

C++ es C orientado a objetos. Es el que más utilizo pero es muy complejo y hay que dominarlo muy bien para poder llegar a programar efectiva y eficientemente con él. En ese sentido, admito que java es mucho más fácil y ahorra mucho de los dolores de C++, pero aparte de que es leeento y anticuado, es demasiado peligroso. Sus usuarios devienen mono-lenguaje, luego monó-tonos y finalmente sólo monos. En todo caso, C, C++ y java son lenguajes arcaicos. Aprende C y C++ para que aprendas mejor y estés preparado por si algún día llegas a necesitarlos en un desarrollo de alto desempeño o nivel cercano al hardware. Si existe la posibilidad de que tengas que aprender java -ojalá y nunca no-, entonces ve aprendiendo python, es tu mejor defensa contra la corrupción.

Python y otros sabores que no conozco (perl, Ruby) es el paradigma procedural que se quedará durante un buen tiempo. Algunos sabemos esto muy bien desde principios de los 90. Así que este es mi lenguaje favorito. Aunque me queda mucho por aprender de él.

2.3  ¿Cuál lenguaje de programación recomendaría aprender de primero?

Python, perl o Ruby.

Pero debes saber que el paradigma de programación cambiará en los próximos años. Los lenguajes declarativos se harán mucho más importantes y los funcionales esenciales.

En el ínterin, Python tiene visos de lenguaje funcional.

2.4  ¿Algún consejo sobre el orden de aprendizaje de los lenguajes?

Mira, esta es una pregunta muy difícil de responder. Cada quien tiene su mundo y es según él que yo haría una recomendación.

2.5  Ok, pero bajo nuestro contexto educativo, ¿qué respondería a la pregunta anterior?

Sigue siendo difícil, pero entiendo tu insistencia y por eso te voy a responder. Debo antes, sin embargo, hacer una aclaratoria.

Hay un rasgo común de todo buen programador (y aquí jamás he conocido excepción): está muy bien entrenado para la resolución de problemas; se organiza, plantea las preguntas adecuadas, se asegura de captar los datos necesarios para la solución, de identificar cuál sería el resultado de resolverse el problema y de encontrar conexiones entre los datos necesarios y los resultados. A esto último, la conexión entre los datos necesarios y los resultados, es en donde comienza la programación. Aunque en apariencia esto no tiene relación directa con el lenguaje de programación es esencial para hacerlo. Si no posees esta virtud, entonces, sencillamente, no podrás programar. Análogamente, eres buen programador en la medida de esta habilidad.

Considerando nuestro contexto educativo, debo añadir que una de las principales dolencias de nuestro sistema es que no enseña a resolver problemas. Por tanto, para recomendar lenguajes de programación y un orden de aprendizaje, yo privilegiaría a los que potencien el aprender a resolver problemas, todo esto bajo el entendido de que los primeros cursos de programación se enfocarían en la resolución de problemas más que en el formar a un programador certificado o a uno con un perfil dado.

Independientemente del lenguaje, es mucho más importante un buen maestro. Con el término “maestro” ha ocurrido una separación de connotaciones que en mi opinión ha resultado un poco dañina. “Maestro” refiere a una persona que domina muy bien una práctica. Empero, y esta es la connotación peligrosa, “maestro” también señala a una persona que enseña una práctica. Esta segunda connotación no debería de estar separada de la primera, pues quienes dominan la práctica son los únicos que realmente te pueden enseñar. Enseñar proviene de señalar y alegoriza el mostrar un camino. Por eso, sólo es un maestro, es decir, quien ya conoce muy bien el camino, quien está en mejor postura para mostrarte un camino sin que te extravíes.

Lo del maestro te lo digo muy en serio, pues creo que debajo a nuestro problema educativo se encuentran falsos maestros. Me incomoda muchísimo tener que decirlo, pero en mis predios convivo con personas que no dominan lo que pretenden enseñar. Presencio cursos de matemática, inteligencia artificial, sistemas agentes y multiagentes, programación, ingeniería de la programación, entre otros, que son impartidos por personas -y no exagero nada, te lo aseguro, averígualo y lo corroborarás- que jamás han desarrollado nada, absolutamente nada, de lo que predican. Imagínate que te enseña a nadar alguien que no tiene experiencia nadando ... bueno, si estás en apuros es probable que te ahogues, no sólo porque probablemente no sabrías nadar bien si quien te enseñó no lo sabe, sino también porque él no se arrojaría a salvarte. Igualito sucede en la programación y computación.

Así que cuando vayas a buscar enseñanza, asegúrate de encontrar a un maestro auténtico. Y en el mundo de la computación esto no es tan difícil de verificar. Sólo debes mirar la obra de quien se dice maestro y en el caso de programas y sistemas computacionales, pues mira los programas y sistemas que estas personas hayan hecho. Cuando digo que mires los programas te exactamente eso: mira los programas no sus credenciales en papel. Si no los tienen, entonces, parafraseando a Eric Raymond, pídeles “callarse y mostrar el código”.

Con todo lo anterior contextualizado yo recomendaría comenzar por Python o Ruby (me perdonan mis grandes panas en perl, pero para aprender creo que no es el mejor). Esta recomendación la hago en el sentido de que son los lenguajes, entre los que conozco y medio conozco, que hoy encuentro con más potencialidad para desarrollar ese arte de resolución de problemas. Ambos lenguajes son interpretados, con reglas sintácticas y semánticas que cultivan la legibilidad (aquí es donde creo que perl no es el más adecuado, pero para nada malo). Para mí el mejor camino para enseñar a programar es la matemática, particularmente la aritmética, cual es aplicable al día a día y le imparte más sentido a un curso.

Insisto en que este comienzo debería ser de la mano de un maestro auténtico y que el primer curso debería orientarse hacia la resolución de problemas (contexto educativo), preferiblemente de índole aritmética.

Después de que tienes, por decirlo físico-metafóricamente, una masa crítica desarrollada en resolución de problemas y programación con Python/Ruby, entonces sí podrías explorar otros lenguajes. Y aquí veo dos variantes cuyo orden puede permutarse:

  1. Descender a bajo nivel: aprender C y C++, luego ensamblador.
  2. Aprender otros paradigmas y doctrinas, el funcional y el declarativo: aclarándote que no tengo la suficiente autoridad como maestro, yo te recomendaría aprender ML o Haskell y Prolog.

Una última recomendación, deja el html y el web para el final. Eric Raymond, famoso por la “La catedral y el bazar”, lo recomienda como primer lenguaje, pero te observo que él hace su recomendación desde su contexto social, cual es distinto al nuestro. Eric estudió matemática en una universidad que le enseñó primero a resolver problemas.

2.6  ¿Cuáles lenguajes de programación conoce?

Obviamente C y C++ los conozco muy bien.

Pascal lo conocí muy bien, pero hace más de 20 años que no escribo ni una línea.

Perl lo conozco un poquito, pero prefiero con creces Python, que no lo domino, pero que creo lo haría rápida y fácilmente si me tocase migrar y programar en él.

CAML lo conozco un poco. Bellísimo (como la mayoría de los lenguajes funcionales) y lamento no tener oportunidad de programar seriamente en él.

Dominé los ensambladores del Z-80, 8086/88 y el 386. Por la misma época del 386, también escribí algunas líneas en el Sun Sparc.

Aunque hace muchísimo que no hago DB, conocí bien el SQL.

Basic fue mi primer lenguaje de programación. A lo mejor sorprenderé a algunos con esto, pero gracias Basic es que supe desde mis comienzos el extraordinario poder de desarrollo que ofrece la interpretación en lugar de la compilación. Esto es importante señalarlo, porque a lo mejor me hubiera cerrado con lenguajes de alto nivel del estilo Python, Tcl, Ruby o perl.

Más bien Fortran, que tuve que aprenderlo bien, sí podría ser un lenguaje a abolir.

Aprendí un poco de prolog. Alguna vez escribiré algo serio con él.

2.7  ¿Cuáles lenguajes recomienda aprender?

Al menos uno de cada paradigma. Mi recomendación sería, Python, CAML, Scheme o Haskell y Prolog. Perl o Ruby en lugar de Python estaría bien.

SQL es muy importante.

Obviamente, si deseas que te consideren y considerarte un programador serio, "a real man in programming", aprende C y C++.

Como ya te lo dije, pero es tan importante que prefiero repetírtelo, si por muy mala suerte te toca aprender java, entonces asegúrate de haber aprendido bien Python. La mayoría de los mortales sólo pueden distinguir lo malo que es este mundo por contraste con Python. Ruby o perl estarían bien como defensa. Evade los trabajos donde te pidan java; no tengo manera convincente de demostrártelo, pero te aseguro que paulatinamente comenzarás a sentirte infeliz y amargado; el gran detalle es que no te darás cuenta de ello hasta años después, cuando necesitará otra buena cantidad de años para recuperarte. Cualquiera sea el caso, si me lees, no digas por allá en el porvenir que no fuiste prevenido. Lo acabo de hacer.

2.8  ¿Por qué detesta windows?

Esta pregunta es una falacia, pues no detesto Windows. En realidad, aprecio muchas de sus bondades como sistema operativo y, dada la gran cantidad de cosas que hace, la gama de periféricos que maneja, su preparación "todo usuario" o "tonto usuario", más bien reconozco que es una obra interesante de ingeniería y por ello más bien lo admiro.

Pero es un sistema demasiado pesado para mí, susceptible a esa ladilla que llaman virus, lento y goloso en recursos y licenciado. Por eso no lo utilizo. Me parece mucho más práctico Linux y más rápidos, fáciles y seguros FreeBSD y OpenBSD. Pero uso Linux porque tiene más software asequible (esto es lo práctico para mí).

En un intento de explicarme mejor, para mí plantearse la diferencia entre Windows, Linux o BSD es como plantearse la diferencia entre un Rolls Royce, un Porche o un auto de fórmula x.

Pero si ud. es de esos que aman el capitalismo, el sometimiento a la voluntad de poder corporativa, entonces dejese de pendejeadas y compre Mac. Si ud acepta ser privado y vivir en la matriz, entonces al menos vaya a una de primera clase.

2.9  ¿Por qué detesta java?

Como lenguaje de programación, no detesto a java. De hecho es muy elegante, mucho más sencillo de compilar y de programar que C++. También me parece excelente la idea de la máquina virtual (que es una idea concretada en los años 70 y ahora existen otra mucho, pero mucho mejores que la de java). Por supuesto, para programación cercana al hardware, java no es nada bueno.

También java tiene un conjunto de bibliotecas muy amplio. Cuestión que también tienen Python, perl, Ryby ... y C++.

Si va a escribir un sistema distribuido, el mejor lenguaje es java.

Pero detrás de java está (o estuvo pero ya es demasiado tarde para salvarlo) el corporativismo. Esto último se enquistó tanto que la programación java deparó en evangelismo corporativo; y esto es lo que realmente detesto. Consecuentemente, al menos esa es mi impresión y experiencia, los programadores java creen seriamente que es el mejor lenguaje y de facto no pueden vivir sin él. Esto se llama adicción y es vicioso.

2.10  ¿Cuáles programas utiliza en su día a día?

Mi editor de textos es Emacs. Y sí, lo considero superiorsísimo a vi/vim. La única razón por la cual creo es bueno saber vi es por si acaso le toca manejar hardware de muy baja prestación, pues en verdad vi consume mucho menos memoria. Si se va por control con enfoque práctico, entonces aprenda vi. En todo caso, no es nada grave saber vi y preferirlo a Emacs.

Es grave depender de esperpentos como gedit.

Uso LATEXpara preparar los documentos que escribo. Combinado con TikZ/PGF y su poder para expresar fórmulas matemáticas es lo mejor para mí. Sin embargo, aunque las fórmulas son bellísimas, reconozco que es ladilla escribirlas. Como doctrina, TikZ/PGF es insuperable a cualquier front-end, pues es orientado a lenguaje y a partir de allí todo lo que hay que hacer es traducir. Del mismo modo, por la precisión y exactitud dudo que un front-end lo pueda hacer mejor.

Ahora bien, y esto es para reflexionar, LATEXsólo es preferible a WYSIWYG. LATEX∪ TikZ/PGF ∪ fórmulas no estaría tan seguro. Pero ya e acostumbré a LATEX.

Mi shell es bash, pero tcsh no está nada mal. Si sabe Emacs, sabe moverse en bash.

Cuando me toca hacer una figura trato de generarla automáticamente con algún programa escrito por mí, o con tikz. Si no tengo experiencia con el tipo de figura o debo salir del paso rápido, entonces uso dia o xfig. Para visualizar grafos uso Graphviz.

Mi correo lo leo con kmail.

Navego con Chrome, pero debido a la mayor cantidad de plugins y el no sentirme vigilado, prefiero firefox cuando estoy en "operaciones especiales". Me duele un poquito usar Chrome y no firefox, pero Chrome es más rápido.

No hay día en mi vida que no use make o gcc.

La suite de compiladores y utilitarios de gnu los uso en el día a día. Pero cuando tengo que ir rápido, compilo con icc o icpc.

Mi depurador es, por supuesto, gdb. Uso ddd como front-end (ya algo obsoleto).

Prefiero QT a GTK.

Sigo usando el arcaico gnuplot para algunas gráficas.

Estoy descubriendo R. ¡Impresionante!

Para análisis de datos uso grace, pero ahora con R quizá el cambie.

2.11  ¿Recomienda un IDE?

Qt Creator me gusta bastante, pero es algo pesado. CDT (el eclipse de C++) es bueno, pero es más lento que QTCreator. CodeBlocks es el propio, tiene casi todo lo de los grandes pero no es tan pesado; a veces falla, pero los otros también.

Si ud piensa seriamente dedicarse a la computación, le recomiendo encarecidamente que forje y domine su propio IDE a través del shell, un editor, compilador, ensamblador, encadenador, editor de símbolos, debugger, profiler y make.

Retomé el uso de IDE hace como un año y no los usaba desde 1992. No han cambiado mucho desde entonces.

Veo que los que usan QtCreator, Eclipse, CodeBlocks, etc, sin haber pasado por make tienen más dificultades y comprenden menos el trasfondo (backend) que los que ya tenemos bastante experiencia manual.

2.12  ¿Usaría un sistema privativo?

Si me fuese indispensable sí. No sólo lo usaría, lo he usado y lo uso.

2.13  ¿Cuáles programas privativos usa o ha usado?

Los compiladores y herramientas de intel cuando me ha parece que necesito extrema velocidad (la diferencia con gcc es bastante apreciable).

Soy aficionado a lo esotérico, especialmente la astrología. En el mundo libre existe el soberbio Astrolog. Pero ya tiene décadas sin mejorarse y hay programas realmente buenos en el mundo privativo que hacen cosas que no hace astrolog (o más simple). Los ejecuto con wine.

Por supuesto, en el mundo de los juegos, probablemente por poder corporativo, el Windows es muy superior a Linux; aunque ya hace años que no juego en Windows.

También uso los drivers de nvidia. Hace un par de años se me dañaron dos monitores en menos de 5 meses. Eran de la misma marca y modelo. Sigo pensando en el driver libre como el principal sospechoso. Desde entonces uso drivers de los fabricantes.

2.14  ¿Cuál es su distribución favorita?

Desde hace unos dos años y actualmente uso Ubuntu. Actualmente tengo en mi desktop y laptop el 10.04 LTS.

Ya es suficiente tiempo como para decir que Ubuntu es mi distribución favorita.

2.15  Ok, ¿cuál es la distribución que más le ha gustado?

Por razones históricas usé muchísimo Slackware. Hace como un año estuve revisándola y nostalgia aparte aún me parece una buena distro.

También por razones históricas (rpm) usé muchísimo Red Hat (desde la 3 hasta la 7). La abandoné cuando la compraron, suceso que coincidió con la presencia de un compañero de estudios en Mandrake. Me gustó bastante hasta que la compañía comenzó a tener problemas y entonces, mis experiencias con BSD y Sun OS, junto con un estudiante que me la descubrió, me animaron a probar Gentoo. Lo usé durante unos cuatro años hasta que una falla y emergencia me obligaron a instalar una distro de instalación rápida. Descubrí entonces a Ubuntu.

Pero para responder la pregunta: Gentoo, la más rápida y la que me permitía más dominio del equipo. No sé en estos tiempos que tan buena es, pero para mí fue la mejor.

2.16  ¿Cuál es su manejador de escritorio preferido?

Usé mucho tiempo KDE, casi desde el principio. Pero cuando descubrí ubuntu me animé a probar GNOME, la cual para ese entonces me parecía más rápida y menos pesada que KDE.

En mi desktop tengo gnome 2.x.

En mi laptop uso xfce.

En situaciones de guerra he usado y usaría de nuevo xfce.

3  Misceláneos

3.1  ¿Por Qué Aleph-w?

Apenas culminé mis estudios doctorales, decidí emprender mi primer proyecto autónomo y solo. La primera letra del hebreo, una lengua tildada de sagrada, es la letra Aleph. Desde que leí El Golem de Gustav, pasando por el poema homónimo de Borges y llegando al cuento El Aleph de Borges, he cultivado una fascinación por algunas historias en torno a esta letra, especialmente en torno a la palabra “EMETH”, que comienza por Aleph (toma en cuenta que el hebreo es de derecha a izquierda), que era lo que estaba escrito en la frente del Golem y que significa “Verdad”. En hebreo, “verdad” tiene una connotación más de promesa que de conocimiento (el cual podría tener mucho más sentido práctico que la idea de verdad más asociada a la ciencia). Fascinante también que al borrar Aleph de EMETH se leer METH, que significa muerte.

Así que cuando comencé mi primer proyecto, lo llamé Aleph, porque era mi primero, porque era promesa para mí (y otros) y porque podía morir si no lo hacía bien. Los resultados de aquel primer proyecto fueron muy vagos, pero no malos.

Desde entonces, todos mis otros proyectos, oficiales u oficiosos, los he llamado Aleph-1, Aleph-2 .... Como ya llevo un buen tiempo en eso, pues le adjunté el omega, que es un operador especial del álgebra de expresiones regulares y que significa "infinitamente a menudo"-

También había yo escuchado la expresión "alfa y omega" para referir al principio y final de las cosas.

Y finalmente, me encanta “El Aleph” de Borges.

3.2  ℵw: ¿qué significa eso? ¿por qué ese símbolo?

El símbolo es la composición de dos letras en dos lenguas distintas. La primera letra es la Aleph del hebreo, la cual como te dije, es la primera de su alfabeto (alephbeth). La segunda letra es la omega minúscula y es la última letra del alfabeto griego (o alfabeta). La composición representa un símbolo de la teoría de conjuntos.

Un Aleph representa la cardinalidad de un conjunto infinito. Aleph-w significa la cota superior mínima entre todos los Alephs.

3.3  ¿Por qué su segundo nombre?

Oficialmente no puedo saberlo con certitud, pues no incidí en esa decisión. Parece que por la época de mi nacimiento mi padre leía bastante a Rabindranath Tagore y decidió bautizarme así. Mi madre protestó y exigió un segundo nombre, que al final resultó ser el primero.

4  Vida personal (¿chismes?)

4.1  ¿Es ud. hacker?

Muy probablemente esta es una pregunta capciosa. Con los años me ha llegado este chisme. Por supuesto, ningún chismoso ha tenido el valor de preguntármelo directamente; ¡casi todos los chismosos son muy cobardes!. Hasta que una vez un estudiante bastante gentil y virtuoso me aclaró el punto.

Puesto que prefiero una pregunta directa y franca a una hipócrita o irónica o a un comentario indirecto, o peor, a un chisme, no la evadiré. Sin embargo, para poder responderla bien, debo contextualizar el significado del término hacker.

Grosso modo, un hacker es una persona que disfruta aprendiendo programación de sistemas y cómo aprovechar y explotar sus capacidades (opuesto a muchos usuarios quienes prefieren aprender lo mínimo necesario.

Según esta acepción, lo mejor que podría responder es que a lo mejor algunas pocas veces lo he sido. Entiéndase, desde hace más de veinte años estudio sistemas computacionales, he diseñado y programado algunos pocos, sencillos y complejos, y he participado en la construcción de otros complejos de envergadura. De estos pocos sistemas, pocos de ellos han sido exitosos, si acaso así se puede decir.

Pero hay otra acepción por la cual también me han hecho esa pregunta. Es una injusticia con el sentido del término y hacia los auténticos hackers, que estudian y trabajan muchísimo. Esta otra acepción es el de una persona que viola sistemas computacionales. Lamentablemente ha devenido la acepción más común.

Respecto a esta otra acepción respondo que cuando uno estudia sistemas, así como cuando estudia otras cosas, uno implícitamente aprende a reconocer debilidades y vulnerabilidades en los sistemas. En este sentido, no tan exageradamente hablando, es como si a un médico le preguntasen si sabe asesinar a una persona; o como si a un ingeniero civil le preguntasen si sabe cómo derribar un edificio. Bueno, yo podría decir que sé "asesinar" o "derribar" algunos de los sistemas que he diseñado, los que de alguna forma he participado, los que he estudiado y/o los que he usado. Sospecho, empero, que esto no satisfará a todo el mundo y que replantearán la pregunta en: ¿ha ud. atacado sistemas? En este caso mi respuesta es relativa y sería "algunas veces", por prueba de sistemas, travesuras estudiantiles y ocasionalmente defensa propia.

Me han atacado con éxito tres veces. Me robaron mi cuenta en la Universidad y mi cuenta en hotmail; pero recuperé las dos. Entraron a mi desktop, el que está en mi casa y me leyeron data clasificada; descubrí al atacante e hice las reparaciones pertinentes.

4.2  ¿Es ud. chavizta, comunista, socialista, de izquierda, etc?

Tuve una educación de izquierda, de corte comunista. No la escogí, pero así me educaron y nunca he estado inconforme con ello. Más bien muy agradecido pues pienso que parte de esa educación me ha ayudado a distinguir injusticias y a desenmascarar mentiras.

Y ese criterio de izquierda también me ha ayudado a desmontar a unos cuantos pendejos que se tildan de izquierda. Por ejemplo, una vez, en mi ejercicio de conciencia de clase, señalé que mis privilegios de Profesor universitario me hacían algo burgués. Más de un bolsa del lado chavizta se indignó por esa admisión. Lo tragicómico es que aquellos críticos, que se autoproclamaban expertos en Marx, Engels y Lenín, no saben que Marx y Lenin eran pequeños burgueses y que Engels un burgués pleno. De hecho, la mayoría de los pensadores de izquierda fueron burgueses; lo cual no les quita nada de mérito ni demerita a la izquierda.

Así que sí, soy de izquierda y creo que el comunismo, el auténtico, aquel que surgiría de la conciencia de clase que daría un alto nivel de prosperidad social y educativa, es el mejor sistema de organización político-social.

Por otra parte, viví más de la mitad de mi vida en la cuarta república. Entre estos días leí a un muchacho (muy buena persona e inteligente, por cierto) burlarse de Paul Gillman porque él denunció que algunos rockeros fueron humillados y hasta torturados en la iv república, Me da cosa con el muchacho, pero eso es totalmente cierto y lo digo como testigo. Añadiría, además, que los espectadores de los rockeros también eran reprimidos. Pregúntenle a un contemporáneo mío cómo se portaban los tombos y la guardia en los conciertos. A mí personalmente me dieron un peinillazo en el poliedro por insistir en reclamar el vuelto de una entrada. Así era en otros ámbitos: la educación, la salud, etc. Tal vez no le acepte, pero la cuarta república sólo la disfrutaron los que eran de clase media alta en adelante, ¿el resto del pueblo? bien gracias.

Comparado con la iv, la V República es mucho más justa y con un mayor nivel de vida colectivo. Así que sí, soy Chavizta y con los años le he ganado mucho más respeto al presidente, sobre todo por su fortaleza moral.

Finalmente, conozco el gobierno desde dentro. Sí, es cierto que hay cosas malas en nuestro gobierno, pero comparado con la iv república es bastante menos. Veo menos mal estando bien adentro de la V que lo que vi en la iv estando fuera, Esto no justifica en lo más mínimo lo que hacemos mal, pero si da para pensar que aquella iv república fue muy injusta.

4.3  ¿Coño no se da cuenta que este gobierno está asfixiando a las universidades? ¿qué ha degradado el salario universitario?

¿Asfixiando a las Universidades? Por favor, sea realista. vea por ejemplo que las autoridades de todas las universidades autónomas tienen gastos de viajes increíbles; inclusive viajan al extranjero. ¿Cree ud que el dinero de esos gastos sale de su propio bolsillo?

En nuestra Facultad tuvimos recientemente el ULA Bots. ¿Fue de una donación de caridad que se consiguió el dinero?

Nuestros movimientos estudiantiles se zumban una tremenda propaganda. Chapas, afiches, marchas, etc. ¿Todo es regalado?

¿Sabía ud que el presupuesto de la ULA es mayor que el de todo el estado?

Sobre el salario de un Profesor no voy a mentirle. A mí me gustaría ganar más dinero. Y sí, me parece que es bajo, especialmente para los jóvenes que están "comenzando".

Aclarado que me parece que nos deberían de subir el salario, me permitiré hacer algunas observaciones:

  1. Comparado con el sector público, las universidades tienen salarios altos. Mi comparación es general, así que no me salga conque los jueces de TSJ o los generales ganan más que un profesor titular.
  2. La iv república aplastó al Profesor universitario. Comparativamente, el salario cuando el 2do gobierno de Caldera no era bajo, era casi imposible vivir dignamente con él. Hoy nos quejamos, con bastante razón de alta tasa de inflación anual. Pero cuando Caldera fue de más del 100%, con intereses rayanos al 90%, créditos indexados y pura depresión económica.
  3. Dolerá: el Profesor universitario no trabaja mucho que se diga. ¿Números? De 25 años de servicio, descontando sus estudios, sus años sabáticos, paros, interrupciones, un profesor trabaja aproximadamente 13 años; es decir, de 25 años de pagos, en realidad sólo trabaja 13. Después se jubila y sigue cobrando igual. ¡No está tan mal el trabajo! ¿verdad?
  4. Y la más seria: los dirigentes del gremio profesoral y las autoridades de las universidades nacionales han usado la reivindicación salarial y el presupuesto como instrumento político nacional. Ese es el meollo del rollo. Al hacerlo así llevaron un problema gremial a un plano de política nacional, en el cual, por supuesto, ¡obvio! la respuesta es a nivel de política nacional. En otras palabras, los profesores universitarios estamos secuestrados por estos dirigentes, somos sus rehenes hasta que dentro de sus caprichos ellos decidan liberarnos, o hundirnos con ellos o nosotros decidamos sacarlos y buscar una solución gremial y no a política nacional.

Si tú me haces esta pregunta, entonces es probable que seas profesor universitario o estudiante. En cualquiera de los dos casos, te recomiendo muy encarecidamente te vayas a la hemeroteca y consultes El Nacional y El Universal de los años 80 y 90. A mis colegas y compañeros, los contemporáneos conmigo o un poquito menores, les hará muchísimo bien refrescar la memoria y recordar aquellos años. Sería bueno que recordasen que cuando Caldera las Universidades estaban sitiadas y que el salario efectivo era mucho menor que el de hoy. A los estudiantes les conviene saber, de la propia crónica de aquellos tiempos y no de la tergiversada historia, que nos dirigiríamos hacia la privatización de las universidades.


This document was translated from LATEX by HEVEA.

4 comentarios:

  1. ¿Que significa para usted un titulo universitario? ¿Que cree signifique un titulo universitario para profesores de la escuela? con respecto a esta ultima podría hacer énfasis en su respuesta tomando en cuenta aquella actitud de grandeza de algunos profesores de la escuela ante los estudiantes ¿Acaso un titulo define a la persona?.

    ResponderEliminar
    Respuestas
    1. Me han parecido interesantes tus preguntas.

      Idealmente (y creo que en algunas partes aún es así), una Universidad es un lugar donde a un ser social se le muestra conocimiento y se le enseña a investigar con la pretensión de que luego genere más conocimiento.

      En ese sentido, un título universitario significaría que una persona ha logrado el nivel mínimo suficiente como para decirse que podría producir nuevos conocimientos y enriquecer el acervo de su comunidad.

      Por supuesto, lo que al fin de cuentas define si una persona titulada contribuye o no al acervo es su quehacer, no lo que su título diga, así como tampoco lo que él diga.

      No se trata de un título de nobleza o de un atributo de clase social. Eso hace tiempo que no se usa. Aunque creo que en Mérida, en algunos predios, existe la falsa impresión de que ser Profesor universitario es una clase social y alta.

      Respecto al énfasis que me solicitas, no estoy seguro de entenderte. Presumo que el uso de "grandeza" es negativo y refiere a la actitud pretenciosa y petulante que algunos personeros exhiben respecto al que ellos poseen títulos y otros no; o la reverencia que hacen o exigen que les hagan cuando son doctores y cosas por el estilo. En este caso, bajo el mismo tenor de lo que ya dije, te comento que son las acciones lo que definen a una persona (o lo que ella deje de hacer cuando es necesario) y no lo que ella diga que hace o lo que su título dijese que es.

      Así que, si te comprendí bien -que no estoy seguro-, creo que para algunos profesores de mi Escuela el tener un título se considera y les significa como en la edad media, algo así con un barón, o un Conde, y que en efecto hay que rendirle pleitesía y hacerle reverencia. Para este tipo de personaje los estudiantes serían los ciervos; de hecho, creo que algunos profesores tejen su reputación con base al trabajo de sus estudiantes, explotándolos, y no el de ellos propio. Una especie de feudalismo del prestigio.

      Te reitero, pues, que el título no define a la persona. Lo que la define son sus acciones y la correspondencia de ellas con sus palabras.

      Eliminar
  2. ¿Ah considerado enseñar a sus estudiantes a crear y programar, estudiantes tanto de pre o post, sus propias estructuras de datos, su manejo y como hacer para que sus códigos y algoritmos sean mas eficientes de tal manera que en un futuro las puedan crear en algún otro lenguaje para su propio beneficio? ¿Por qué?

    ResponderEliminar
  3. Me he entretenido mucho leyendo todo esto, de hecho estoy de acuerdo con muchas de sus respuestas y le he tomado el consejo en varias ocasiones. Acá introduzco mi primera pregunta (pues me interesa conocer su opinión): ¿Cuál cree usted que debe ser el rol que debe asumir la universidad en el desarrollo tecnológico del país?.
    También, me causa curiosidad su opinión sobre política, a mí en particular no me parece un predicador común de la izquierda, sino que sus palabras le muestran como un ciudadano centrado —aparentemete justo— en la opinión y sistema en el que cree. Respecto a esto son otras de mis preguntas: ¿Cree usted que se pueda dar oportunidad a una Venezuela distinta a la IV y a la V República?, ¿Necesita Venezuela algún tipo de cambio político?. Gracias y éxito.

    ResponderEliminar

Si tienes algún comentario, opinión, sugerencia o una pregunta que quisieras añadir, por favor indícamelo. Puedes dejar comentarios anónimos.