Hugo de Payens

Cuando vivíamos en el tranquilo mundo de la programación estructurada (incluso con C), era fácil saber que la igualdad era real. Por ejemplo ante la sentencia:

a = b;

Sabremos que el resultado de la expresión del lado derecho se asignará a la variable del lado izquierdo. Si por el camino tienes punteros, te da igual: se asignan los punteros y listo.

Pero cuando llega la orientación a objetos, la igualdad pasa a ser mucho más dudosa. De nuevo, ante el código:

a = b;

asignamos en el atributo a, el objeto b. Pero, ¿lo asignamos realmente? Si cambio el objeto b, ¿cambiará también el objeto a? En Java no soy consciente de los punteros (como lo era en la programación estructurada), y sin embargo, como todos sabemos, si cambio b, también cambia a.

Obviamente, el problema está en si la igualdad hace copia superficial o profunda. Pero, en realidad, no he venido hoy a hablar de eso. He venido a hablar de un tipo de igualdad que hoy está mucho más de moda. Un tipo de igualdad que también ha cambiado en el salto a la orientación a objetos (siendo estrictos, la anterior era asignación, no igualdad).

Y es que, en la programación estructurada, teníamos las variables, y las funciones. Ahora tenemos los objetos, los atributos, los métodos y los interfaces.

En el único sitio donde ellas permanecen es en las clases. Pero, en realidad, es una confabulación para engañarlas y tenerlas contentas. Porque todos seguimos pensando en masculino. Por eso hablamos de la clase padre.

Menos mal que nuestra ilustrísima Ministra de Igualdad no programa. O, al menos, no pasó de Pascal (claro, que si alguna vez aprendió a programar, seguro que lo hizo en Ada).

En los últimos días se ha montado un gran revuelo  por la aparición, primero en meneame y luego en barrapunto, de la noticia de que la Ingeniería Informática en España va a desaparecer. En concreto, el problema surge porque el pasado 23 de Octubre el Ministerio de Educación presentó las fichas de las Ingenierías, y entre todas ellas no estaba informática.

El debate ha estado hoy en las cafeterías de todas las facultades de Informática. Y en uno de esos debates hemos estado algunos caballeros teclarios, aprendiendo de los comentarios de un director de departamento y un vicedecano de una de dichas facultades. Y no hemos podido resistir la tentación de contar las conclusiones a las que hemos llegado…

Parece que la situación no es tan catastrofista como muestran  las páginas. Efectivamente, en lo que se firmó el 23 de Octubre, informática no está. Eso significa que no se han aprobado los títulos de grado de Informática (os recuerdo, que los títulos de grado es lo que viene a sustituir a las diplomaturas antiguas, ahora que se supone que convergemos al acuerdo de Bolonia).
¿Por qué no está? Porque lo que ha salido son las ingenierías que tienen atribuidas competencias, es decir, las que tienen atribuciones que les permiten firmar a ellos, y sólo a ellos, proyectos en los que aparezcan esas competencias. Desde hace tiempo, se viene intentando a nivel institucional (por medio de la agrupación de decanos de las facultades de Informática de todo el país) que se aprueben competencias para Informática, y aparezca así un colegio a nivel nacional (en realidad… no sé en qué orden van las cosas, si primero iría el colegio y luego las atribuciones o al contrario, pero bueno).
Por desgracia, eso no se ha conseguido (tal y como nos cuentan en el sitio web del Colegio Profesional de Ingenieros en Informática de Andalucía). Por tanto, seguimos sin colegio, sin atribuciones y, de momento, sin carrera universitaria.

Ahora bien. Obviamente los decanos de Informática no se van a quedar parados y, desde hace tiempo, se vienen manteniendo contactos con la gente del ministerio para solventar esto, de modo que se espera que se apruebe el título de grado también para Informática. Como se tiene que aprobar en las altas esferas de la administración, esto son contactos a nivel ministerial y de responsables políticos de los diferentes partidos que tienen posibilidad de votar. Y parece que los acuerdos informales “no escritos” que han conseguido hacen presagiar que, efectivamente, las titulaciones universitarias se terminen aprobando, aunque sea en una “segunda hornada”.

¿Significa esto que no hay que quejarse, hacer huelga y podemos quedarnos tranquilos?
No.
Porque seguimos sin atribuciones, y sin colegio que las defienda. Por tanto es un momento ideal para quejarnos e intentar que eso cambie. Parece que en realidad el problema está en que a nivel europeo los colegios no existen (o tienden a desaparecer). Eso lleva a los gobiernos de algunas comunidades (la de Madrid entre otras) a no permitir crear nuevos colegios. En concreto, Esperanza Aguirre está radicalmente en contra de ellos. Pero el paso que no se da es eliminar los colegios ya existentes. El resultado es que en Madrid no hay colegio (en otras comunidades sí lo hay, como en Andalucía), pero sí lo tienen nuestros competidores (léase Telecomunicaciones) y, obviamente, les resulta sencillo comernos el terreno.

En realidad, habréis notado que en todo esto hay algo que no encaja. Y es que, al fin y al cabo, las titulaciones que se han aprobado (donde no está informática) son a nivel nacional, y sin embargo yo os estoy hablando de colegios autonómicos. El problema está en que para que haya un colegio nacional, es necesario fusionar, si no he entendido mal, los colegios de todas las autonomías. De manera que sólo cuando todas tengan su colegio, se podrá plantear la creación de un colegio nacional que vele por las atribuciones a nivel nacional y que vaya al ministerio a plantear las reformas a nivel de títulos universitarios. De hecho, los decanos de las facultades de las comunidades en las que sí hay colegio miran con disgusto hacia Madrid, dado que es una comunidad en la que el número de facultades de Informática es muy alto (y podrían tener mucho peso) y sin embargo son las principales culpables de estar impidiendo la aprobación nacional de las atribuciones debido a la negativa del gobierno autonómico.
Mientras tanto, el colegio de telecomunicaciones ha replanteado alguna de sus atribuciones, y las ha ampliado, comiendo terreno a lo que el sentido común dicta que es cuestión de los informáticos. Alguien ponía el ejemplo de que la firma del proyecto de una gasolinera viene de los Ingenieros de Caminos, porque normalmente se ponen cerca de las carreteras, y como no hay nadie con atribuciones más específicas para gasolineras que esa…

Y, de hecho, si leéis http://www.huelgainformatica.es/ veréis que dice:

Hasta ahora se han otorgado las siguientes competencias a las ingenierías de telecomunicaciones: Internet, servicios, aplicaciones, componentes, circuitos digitales, circuitos integrados, dispositivos lógicos, microprocesadores, arquitecturas de computadores (convencional, secuencial, paralela y multiprocesamiento), procesado digital de la señal, servidores, redes, sistemas distribuidos, sistemas operativos, interfaces persona/computador, usabilidad, seguridad, bases de datos, sistemas de información, programación (fundamentos, métodos, lenguajes, en tiempo real, concurrente, distribuida y basada en eventos), software (tecnología, metodología, ingeniería), gestión del conocimiento, etc.

Por tanto, aunque se espera que las titulaciones de Informática no desaparezcan del mapa, sí es un momento propicio para reclamar la existencia de un colegio nacional, empezando por quejas autonómicas. Porque la situación actual es que cuando, por ejemplo, el Ministerio de Economía y Hacienda se plantee montar el sistema informático para gestionar las declaraciones de la renta de todo el país, quien dará el visto bueno al planteamiento para ese proyecto (a nivel de infraestructura y también a nivel software) será un teleco (“porque el proyecto está cerca de una carretera”), y no un informático porque no tenemos atribuciones.

Resumiendo. Efectivamente la situación no es ideal, pero tampoco es tan catastrofista (de momento). Pero viene bien todo el ruido que se ha montado para ver si, de verdad, nuestras voces llegan más arriba por fin y vamos mostrando un interés creciente por tener atribuciones y un colegio que evite que esto vuelva a ocurrir en el futuro.

Por lo tanto… http://www.huelgainformatica.es/

La última vez que la ví, mi infancia estaba jugando con un Amstrad CPC, mientras mi adolescencia la miraba con desdén por encima del hombro, con las manos en el teclado de un flamante 286 con monitor a color.

Pero, en realidad, nunca renegué de mi pasado. Cuando con mi siguiente ordenador, un 486, fui capaz de ejecutar un emulador de CPC, los recuerdos de otros paisajes y otros tiempos volvieron a mí, y las tardes de niñez jugando al Ikari Warriors, al Bomb Jack, al Wonder Boy y un largo etcétera compitieron con las del Turbo Pascal, el Pspice, y el C++ Builder.

Añoranza de los 8 bits

¡¡Vaya invento amigos!! ¡Los emuladores! Esto era un concepto nuevo… ¡un ordenador dentro de otro! ¿Cómo podía ser?

En un intento de sacar de las viejas cintas del CPC mi código en Basic escrito con dedos de niño, por volver a ver aquellos primeros pasitos que me enseñaron a programar, conseguí montar, armado con un soldador, un cable para conectar, por el puerto paralelo, el CPC con mi 486. Qué cosas… qué cara debió quedárseme cuando, por diferencias de amperaje, quemé la placa del PC, a una semana de los exámenes y con 4 prácticas por terminar… y yo que sólo quería echar una partidita para aliviar tensiones…

Hoy, por otros motivos, quería recuperar mi emulador de CPC. Dejar salir alguna lagrimita recordando otras épocas, cuando era más joven, el mundo iba un poco más despacio, y había tiempo para jugar.

Pero el emulador que ejecutaba en mi 486, y que luego pasó por un Pentium II, y por un Athlon, es para MS-DOS. Por lo que, en realidad, lo he estado usando (hasta la última vez, el año pasado) en Windows 98, 2000 y XP en modo compatibilidad… con un sistema operativo de 1991 (asumiendo MS-DOS 5.0), para emular una máquina de 1984.

Pero en Abril cometí un pecado. En mi nuevo portátil, con 4 GB de RAM (65.536 veces más que mi viejo CPC que, por cierto, aún conservo) decidí instalar Windows Vista 64, para poder direccionar toda esa memoria. Y no leí la letra pequeña… la versión de 64 bits ya no es compatible con MS-DOS (de 16 bits):

CPCEmu15 en Vista 64 bits

Ahora la única opción que me queda para jugar al Ikari Warriors, al Bomb Jack y al Wonder Boy, para no dejar del todo atrás mi niñez, para no convertirme en un adulto miserable que come sopa, que programa por dinero y se ha olvidado de soñar, la única alternativa, digo, es instalar en mi sistema operativo de 64 bits, una máquina virtual con Windows XP (de 32 bits), para que emule a MS-DOS, de 16 bits, sobre el que ejecutar el emulador de un procesador de 8 bits. Sólo así podré cargar los juegos de antaño. Sé que hay emuladores para Windows, pero no son el que he usado siempre, del que me sé las teclas rápidas (soy un teclario, no un ratonario), el que puede ponerse a pantalla completa, el que, ¡santo cielo!, ha estado más en mi disco duro de lo que llegó a estar el CPC encima de mi mesa. Hoy la única alternativa que me queda es emular el CPC dentro de un ordenador virtual que se ejecuta encima de otro.

Me pregunto si pasados otros 10 años, tendré que instalarme un meta-emulador, para instalar Windows Vista, en el que instalar una máquina virtual con XP en la que ejecutar el emulador para poder seguir jugando. La película Nivel 13 viene a mi memoria… Si Von Neumann levantara la cabeza.

Apuesto a que muchos de los teclarios tienen un portátil que traen y llevan de un sitio para otro.

Y apuesto a que cuando lo conectan a Internet, les toca reconfigurarlo para poner la IP, máscara, puerta de enlace y servidores DNS de casa, del trabajo, del wi-fi del vecino…

¡Qué latoso resulta! Buscar las propiedades de la red, elegir el interfaz a configurar, pulsar Propiedades, Protocolo IPv4 y, por fin, meter los numeritos de marras. Al menos cuatro o cinco clicks, y varios números a escribir.

Aquellos que usen Linux seguramente sabrán utilizar ifconfig para reconfigurar la red. Por ejemplo:

ifconfig eth0 192.168.1.2 netmask 255.255.255.0

(como administrador) establecerá la IP 192.168.1.2, y la máscara 255.255.255.0 Por desgracia, eso no cambia la puerta de enlace, por lo que, además, hay que usar route para ajustarla:

route add -net 0.0.0.0/0 gw 192.168.1.1 1

Y luego faltan los DNS… que supone tocar el fichero /etc/resolv.conf

Naturalmente, esto abre la puerta a la automatización, con un sencillo script que haga todo eso. O… mejor aún, dos. El primero llamado casa.sh y el segundo trabajo.sh (o similar). Esto nos ahorrará un buen esfuerzo.

Si usas Debian o algún derivado ([?]ubuntu es el más  representativo), hay otro modo. La configuración se guarda en /etc/network/interfaces y, la gracia, es que se pueden configurar “interfaces lógicos”. Así, podríamos tener:

iface casa inet static
address 192.168.1.2
netmask 255.255.255.0
gateway 192.168.1.1

iface trabajo inet static
address 169.250.27.84
netmask 255.255.255.0
gateway 169.250.27.1

Y luego como root haremos:

ifup eth0=trabajo

(por ejemplo). Aunque quedan algunos pequeños flecos en toda esta explicación (como qué configuración se aplica en el momento del arranque), seguro que serás capaz de rellenarlos.

El principal problema, en realidad, surge con Windows. En este sistema operativo estamos demasiado acostumbrados al uso del ratón, de las ventanas y de los asistentes. Por tanto, es raro plantearse otra opción que no sea la reconfiguración manual.

Sin embargo, también en Windows hay aplicaciones de consola que permiten hacer bastantes cosas (de hecho, casi siempre más cosas que con la configuración gráfica). Una de esas perlas es netsh, el comando de configuración de la red en Windows.

Con ella, podemos configurar la IP, máscara y puerta de enlace en una sola línea:

netsh interface ip set address "Conexión de área local" static 192.168.1.2 255.255.255.0 192.168.1.1 1

(aunque en tu navegador aparezca en dos líneas, debe ser escrito  todo seguido)

Ten en cuenta  que Conexión de área local es el nombre del interfaz de red que tengas. El último número (un 1) es la “métrica” de la ruta por defecto que le estamos dando.

Además, también nos permite configurar los DNS:

netsh interface ip set dns "Conexión de área local" static 213.4.132.1
netsh interface ip add dns "Conexión de área local" 213.4.141.1 index=2

Las primeras líneas (que en realidad debe escribirse en una sola pero en el navegador se corta por su ancho excesivo) establece el servidor primario. Las dos últimas, configuran el segundario; podríamos añadir más incrementando el valor de index.

Con esto, podemos finalmente hacernos nuestro casa.bat y trabajo.bat y tener  la configuración de red a tan sólo un click de distancia.

Aunque, todavía nos queda un pequeño problema… Si escribes el .bat con Notepad, te llevarás una desagradable sorpresa: no funciona. El problema está en que Notepad graba en codificación ANSI (por defecto), mientras que la consola de Windows, por herencia de MS-DOS (sí, has leído bien), usa  “OEM”. Por tanto, la ó y á de Conexión de área local no se verán en el símbolo del sistema tal y como tú lo escribiste en Notepad.

La solución es escribir el script en un editor de consola… pero Microsoft, desde Windows Vista, ya no incluye ni el socorrido edit ni el infernal edlin entre los programas de consola… por lo que te tocará echar imaginación para conseguirlo… Quizá esto te dé una pista de cómo lo hice yo :-) :

echo á > dummy.txt
echo ó >> dummy.txt

Otro fleco de configuración es el cliente de correo. Si el lugar donde trabajas te proporciona su propio servidor SMTP (tal y como ocurre donde trabajamos los teclarios), es posible que no puedas usarlo desde fuera de su red, por lo que desde casa necesitarás utilizar un SMTP diferente. Esta decisión (de los administradores del servidor SMTP) es habitual para evitar el uso fraudulento por parte de terceros.

Además, es posible que desde la red del trabajo tampoco puedas utilizar el servidor SMTP que usas en casa. Esta decisión (del administrador de la red) evita que se envíe spam (intencionadamente, o por culpa de ordenadores zombies).

El resultado de ambas restricciones es que tendrás que usar un servidor SMTP en casa, y otro en el trabajo. Si usas Thunderbird, puedes tener varios servidores configurados (con otros clientes supongo que también), pero sólo uno “activo” para cada cuenta. El resultado es que cuando cambias de lugar, toca reconfigurar cual quieres usar como servidor predeterminado.

¿Podemos automatizar el cambio? Bueno… esto ya es más difícil (y yo no lo he hecho). Por si quieres intentarlo, aquí van algunas pistas. La configuración de Thunderbird está en %APPDATA%/Thunderbird/prefs.js. Para saber la ruta de %APPDATA% en tu caso, puedes escribir precisamente %APPDATA% en la ruta del explorador (o en la ventana de “Ejecutar”). Ahí verás un montón de cosas, entre ellas:

user_pref("mail.smtp.defaultserver", "smtp1");
user_pref("mail.smtpserver.smtp1.auth_method", 1);
user_pref("mail.smtpserver.smtp1.description", "SMTP_casa");
[...]
user_pref("mail.smtpserver.smtp2.auth_method", 1);
user_pref("mail.smtpserver.smtp2.description", "SMTP_trabajo");
[...]

La primera línea indica qué servidor SMTP usarás como predefinido. Cambiando smtp1 por smtp2 habrás reconfigurado tu Thunderbird.

¿Por qué yo no uso esto? Por tres razones:

  • Al principio del fichero te dice explícitamente que no lo cambies
  • Thunderbird sólo lee ese fichero al lanzarse; si, como yo, hibernas el ordenador y no cierras Thunderbird, el cambio no será visible
  • Las herramientas de manipulación automática de ficheros de texto en Windows brillan por su ausencia (o yo, por mi ignorancia…). No hay awk o similar para hacer el cambio.

En cualquier caso, si lo haces y te va bien… ¡¡coméntanoslo!!

   Amigos teclarios, hoy, aparte de ser el día de Tarragona, celebramos el día de nuestra patrona, Santa Tecla.

Por tanto, hermanos de esta nuestra Orden, os deseo muchas felicidades. Si tú, hijo mío,  insistes en que tu patrón sea San Mickey, has de saber que algunos de tus compañeros te harían pasar por grandes penitencias. Otros, más moderados, se limitarán a animarte a que empieces, hoy mismo para celebrar esta fecha tan señalada, a aprenderte las teclas rápidas, que ya va tocando…

© 2011 Teclarios Suffusion theme by Sayontan Sinha