Archive for Junio, 2008

Elegir carrera: Ingeniería Informática 4

Por estas fechas, los bachillerines ya habrán terminado los exámenes de selectividad y estarán a la espera de las notas. Tranquilos, como ya os habrán dicho sienes y sienes de veces, la selectividad es fácil, no sirve como prueba selectiva para que sólo entren a la universidad los que realmente la van a aprovechar, pero por lo menos algún que otro garrulo se queda por el camino.

En fin, la carrera a elegir tras selectividad debería estar clara, pero si alguien aún duda y está pensando en hacer alguna clase de ingeniería en informática, voy a comentar mi experiencia. Yo estudio Ingeniería Técnica en Informática de Sistemas por la Universidad de Cádiz (qué moderno queda eso de “por la universidad de…”, muy de película americana).

Para empezar, hazte una pregunta: ¿Cuánto te interesa la informática? Si tus intereses informáticos se limitan al méseñer y al fotolog, métete en empresariales. Si te da dolor de cabeza pensar cómo es que puedes leer este texto en tu pantalla, métete en empresariales. Y, sobre todo, si al poner

javascript:alert(1-(window.navigator.userAgent.indexOf("MSIE") == -1))

en la línea de direcciones, aparece un mensaje con un 1, ese 1 es la nota media que sacarías en informática, así que métete en empresariales.

En la carrera de informática, ya sea la superior o cualquiera de las ingenierías técnicas (gestión o sistemas), se dan una serie de asignaturas que podríamos dividir en varias áreas.

  • Por un lado están las asignaturas de matemáticas, que sirven de herramientas para las otras asignaturas, aunque algunas a veces parezca que no sirvan de nada
  • Luego están las asignaturas de programación. Un programa está formado por algoritmos y por estructuras de datos que son procesadas por esos algoritmos. Así, tenemos asignaturas de análisis y diseño de algoritmos, otras de estructuras de datos, y otras varias sobre enfoques y paradigmas de la programación, como la POO o la programación lógica.
  • Tenemos asignaturas de informática teórica. Se estudia la informática desde un punto de vista teórico, las posibilidades de que un problema sea computable, los diferentes modelos teóricos de computación, etcétera.
  • Si nos vamos un nivel más bajo, encontramos asignaturas que estudian la estructura de los computadores, en especial la lógica booleana en la que se basan las puertas lógicas de las que están compuestas los ordenadores,
  • así como la organización básica de un computador (camino de datos, bancos de memoria, tipos de instrucciones, etc).

  • También están las asignaturas de bases de datos, redes,sistemas operativos, etc.
  • Por último están las asignaturas de bulto, como por ejemplo física.

Ahora en serio, si no te interesa realmente la informática y lo único que has programado en tu vida es el vídeo, o te quieres meter porque crees que tiene muchas salidas, no te metas en la carrera. No te engañes: Es prácticamente imposible aprender a programar en condiciones si lo haces a desgana. Para estas carreras debes tener un mínimo de manejo en las matemáticas (un mínimo, no estamos en física pero esto no es filología hispánica), algo de interés por la informática y curiosidad y ganas de aprender. Sin motivación se puede hacer realmente pesada, pero si te gusta, la mayor parte del tiempo “va sola”.

Nuevo theme! 2

Ahora que empieza el veranito, toca cambiar de theme. Venía buscando un theme sencillo y con espacio para poder poner código y texto sin que ocupara muchas líneas, y lo ví en el blog de @tauron32. La base es el theme Elite, le he añadido una cabecera (lo siento por los que usen IE6, pero como ya dijo haradsul, somos nosotros los desarrolladores los que tenemos que meter caña para que cumplan los estándares. Suerte que el IE7 cada vez está más extendido.

Estoy mirando plugins curiosos y he añadido el plugin SyntaxHighlighter que, como su nombre indica, resalta automáticamente el código que le añadamos. Un ejemplo en c++ (viva el polimorfismo y la stl)

template < typename T >
ostream& operator << (ostream& fs, std::vector& V){
	for(std::vector::iterator I = V.begin(); I != V.end(); I++){
		std::cout << "ALO" << std::endl;
	}
}

De todas formas aún tengo que añadir una luna o alguna que otra cosilla que recuerde al theme anterior y no se me enfade mi niñaa :D

Colocando ventanas con Devil’s Pie 1

Ahora que tengo un segundo monitor (Samsung 206BW, ya pondré fotos), aparte de usarlo con la PS3 lo he conectado al ordenador. Según dicen, la productividad aumenta con dos monitores, a ver si es verdad.

La cosa es que ahora que tengo dos monitores, resulta muy pesado tener que andar arrastrando las ventanas desde el monitor de la izquierda, que es donde salen por defecto, al de la derecha. Por lo visto en KDE las aplicaciones “recuerdan” la posición y el tamaño de la ventana la última vez que se ejecutó, y mantienen esas propiedades en las siguientes ejecuciones, no así en GNOME.

Según he leido, los desarrolladores de GNOME pensaron que recolocar las ventanas en la última posición en la que se abrieron no es trabajo del gestor de ventanas, sino de las propias aplicaciones. ¿Qué les costará mantener un registro de las posiciones y tamaños de las ventanas para no tener que andar recolocándolas todo el rato? Así cualquiera se pasa a KDE… xD

Pero bueno, existe Devil’s Pie, un pequeño demonio que se sirve de sencillos fragmentos de códigos en lisp que nos permitirán definir las propiedades de las ventanas que se vayan abriendo. Inicialmente habrá que identificar la ventana a la que queremos aplicarle las propiedades (matching a window), y luego escribiremos las acciones y propiedades que queremos aplicarle a la ventana.

Al principio es un poco difícil identificar algunas ventanas, como la terminal de gnome, cuya barra de título cambia y esas cosas, pero podemos utilizar otras propiedades para identificarla, como window_class. De todas formas, se puede utilizar el comando xprop para ver las propiedades de una ventana en concreto.