Archivo para 2008

Otra vez con incompatibilidades

Pobrecito Opera para Linux, cada vez que intento acceder a alguna página ¿rara? me pasa siempre lo mismo:

El Plural en Opera para Linux
«Esta página no está optimizada para su navegador, ¿quiere continuar?» Igual no, a ver si va a explotar el invento…

Por supuesto, la página se ve correctamente. Por eso Opera es uno de los navegadores que cumplen con los estándares Web.

Por cierto, la noticia que iba a ver y de la que me iba a reir un rato es de que los monjes Salesianos han editado un libro para dejar de ser gay. Lo mismito lo mismito que editar un libro para ser más alto (o para que te crezca la polla el pene, como promenten muchos mensajes de spam. ¿No estarán editados por los mismos?).

Instalar PDT en Eclipse 3.4 (Ganymede)

PDT es el plugin para Eclipse para desarrollar aplicaciones Web en PHP.

PDT se instalaba correctamente en la versión 3.2 de Eclipse desde el menú Software Updates…, pero en las versiones superiores (3.3 y 3.4) no hay forma, así que aquí está un pequeño manual una pequeña lista de pasos para instalar PDT en Eclipse 3.4 Ganymede en Ubuntu 8.10 (supongo que para Windows será similar):

  1. Lo primero, lógicamente, bajarse Eclipse 3.4, la versión Classic.
  2. Descomprimirlo donde lo queramos instalar, generalmente en /opt. No olvidarse de ponerle el usuario y grupo a nosotros o darle los permisos correspondientes.
  3. Arrancamos Eclipse e instalamos el software adicional necesario para trabajar con PHP desde Help → Software Updates…:
    • Target Management Software
    • Subclipse (para gestionar Subversion)
    • Eclipse Data Tools Platform
      • No hay que añadir ningún sitio; dentro de la pestaña Available Software se despliega el nodo del árbol Ganymede y se selecciona:
        • Data Tools Platform Enablement
        • Data Tools Platform SQL Development Tools
  4. Se da al botón Install… para instalar todo el software seleccionado y cuando termine se reinicia el Eclipse.
  5. Antes de instalar PDT hay que instalar los componentes necesarios para que funcione también desde Help → Software Updates…:
    • Graphical Editing Framework
      • En la pestaña Available Software se despliega el nodo del árbol Ganymede y se selecciona:
        • Graphical Editing Framework GEF
    • Dynamic Language Toolkit
      • Se descarga la última versión de DLTK de http://download.eclipse.org/technology/dltk/downloads/drops/R1.0/S-1.0M3-200811141020/. La versión es el enlace Core Frameworks.
      • Se podría hacer marcando la URL http://download.eclipse.org/technology/dltk/updates/ dentro de Manage Sites… pero ahí está la versión 0.95 cuando nosotros necesitamos la 1.0 Stable (ya que sino daría error que pongo al final).
      • Se descomprime en cualquier sitio quedando un directorio eclipse que renombraremos a eclipse-dltk (para que no se confunda luego con el segundo paquete que tenemos que descomprimir).
      • En la pestaña Available Software le damos al botón Add site… y luego al botón Local….
      • Se selecciona el directorio donde hemos descomprimido el DLTK (eclipse-dltk) y se acepta.
      • Se seleccionan las opciones:
        • Dynamic Language Toolkit Project (DLTK) 1.0
        • Dynamic Language Toolkit – Core Frameworks
      • Se le da a Install… y se reinicia Eclipse cuando termine.
  6. Instalación de PDT Project
    • Se descarga la última versión Integration Build de http://download.eclipse.org/tools/pdt/downloads/.
    • Se descomprime el archivo en cualquier sitio quedando un directorio llamado eclipse que renombraremos a eclipse-pdt.
    • En Eclipse se va a Help → Software Updates… y a la pestaña Available Software….
    • Se le da a Add Site… y luego a Local….
    • Se selecciona el directorio donde hemos descomprimido el paquete anterior (eclipse-pdt).
    • Se selecciona:
      • PDT Feature
    • Se le da al botón Install….
    • Cuando termine de instalar se reinicia Eclipse.

Una vez seguidos estos pasos ya deberíamos tener PHP para Eclipse funcionando sin problemas.

En la instalación del manual que seguí todo funcionó perfectamente hasta que intenté abrir un archivo PHP donde me dio el error java.lang.NoSuchMethodError y como información adicional dijo que era en la clase org. eclipse. dltk. internal. ui. editor. EditorUtility. getEditorInputModelElement(...). Busqué un poco por Google y no encontré nada así que supuse (por ciencia infusa, la verdad) que era de la versión de DLTK. Es por eso por lo que recomiendo instalar la 1.0 en lugar de la 0.95.

Además, también tenemos este otro manual que siempre viene bien mirar más de uno. Y, por supuesto, siempre se puede buscar en Internet.

Espero que con esto ya podamos trabajar con las últimas versiones de Eclipse, Ubuntu y PDT.

Nueva versión del plugin jQuery TimePicker

He reescrito de nuevo el plugin para jQuery que hice hace tiempo, jQuery TimePicker, que sirve para seleccionar la hora (horas y minutos) dentro de una caja de texto mediante la rueda del ratón.

Este plugin ha sido totalmente reescrito ya que no funcionaba correctamente en Internet Explorer y en algunas versiones de Firefox. Además, ahora usa la nueva versión del plugin jQueryMouseWheel que corrige algunos fallos de la anterior versión (de hecho ha cambiado hasta de desarrollador).

Ahora funciona correctamente en Firefox 3 para Windows y Linux, Firefox 2 para Windows y en Internet Explorer 6 y 7, aunque no funciona correctamente en Google Chrome (extrañamente suma las horas y los minutos de dos en dos).

Espero que ahora sea algo más útil que en su versión anterior (que no valía para nada, la verdad). Ya me contaréis si esta versión funciona correctamente en todos los sistemas o si hay que añadirle o quitarle algo.

Curso de programación en Pascal

Buscando por el disco duro, como dije ayer, he encontrado el curso de Pascal que hicimos mi amigo Héctor (el que me da el hosting del blog) y yo en el año 2000 para la asociación de estudiantes (ya extinta, por desgracia) Unicyber.

Este curso es muy básico y sencillo tratando los elementos básicos del lenguaje incluyendo los tipos de datos, las estructuras de control y poco más.

Hay que tener en cuenta que esto es del 2000 (o antes, pero la fecha de creación del documento es de ese año) y que no ha sido modificado desde entonces, lo pongo aquí tal cual estaba. Además, había sido desarrollado por dos alumnos de segundo de informática con lo que el número de errores puede ser incontable (de hecho, en el pequeño vistazo que le di para imprimirlo ya he descubierto alguno).

No pretendo que aprendáis a programar en Pascal con él pero este curso se impartió en la asociación a 18 personas para la asignatura de E.D.I. y creo que aprobaron todas (bueno, igual el 90%, pero aún así es bastante, creo).

Curso de Programación en Pascal (PDF, 189 KB)

Por cierto, este documento no tiene licencia en él pero se aplica la misma que tiene el blog: Creative Commons: Reconocimiento, No comercial y Compartir bajo la misma licencia.

Elogios

En un elevado porcentaje de los casos, un elogio es un intento de manipulación más o menos camuflado, una burla más o menos camuflada… o ambos.

Anónimo. Vía Microsiervos y ellos desde Threshold.

Y qué razón tiene. Cuanto más nos movemos por este mundo más te das cuenta de las cosas. De todas formas, una vez que aprendes esto, es hora de aprovecharlo ;) .

25 años de Turbo Pascal

Leo en Barrapunto que este se cumplen 25 años del lanzamiento de Turbo Pascal 1.0 para MS-DOS.

¡Qué recuerdos! Yo aprendí en la carrera a hacer listas lineales doblemente enlazadas en Pascal. En este lenguaje fueron mis primeros pasos en este mundo de la programación. Yo puedo presumir de que no empecé con BASIC (menos mal).

Incluso impartí un curso de Pascal (bastante simplón pero funcionó bastante bien) en una asociación de la Universidad. No lo he encontrado por la red (aunque estaba) así que en cuanto lo encuentre por el disco duro de casa lo pongo por aquí.

Luego, con eso del Windows y las interfaces gráficas, llegó el Delphi que no era más que Pascal orientado a objetos y con algún que otro añadido. Además, claro, de su entorno de desarrollo que permitía poner botones y demás controles de forma visual.

En Delphi tengo muchas aplicaciones hechas. Pero muchas. Lo único es que no están «hechas» del todo sino a medio hacer. Las únicas que se podrían permitir el lujo de ser para la comunidad son las que tengo en los downloads (y no mucho).

Después de la Universidad, con eso de que empiezas a trabajar, las empresas ya no usan tu querido Delphi, así que hay que moverse para no quedarse obsoleto. Y me moví hacia las tecnologías Web. Ahora todo toca en PHP, HTML, CSS, JavaScript, algo de Java,… pero vamos, que, de vez en cuando, si tengo tiempo, siempre le hecho un vistazo a todo lo que tengo hecho en Delphi. Incluso, a veces, hasta termino alguna de esas interminables aplicaciones.

Por cierto, creo que el Pascal es el mejor lenguaje de programación para aprender a programar. Sí, no me llaméis radical. Pero su sintaxis sencilla, su media potencia con los punteros (media pero válida para aprender) y su posibilidad de usar programación estructurada y programación orientada a objetos hace de él un buen lenguaje de aprendizaje. Y luego, si quieres hacer cosas más profesionales, usa Delphi (que también está la versión Turbo Delphi que es gratis).

Y si crees que no es libre, que sólo es para Windows, que… no, no, no. También tienes el FreePascal. Sintaxis extendida pero todo funcionando. Para aprender os recomiendo que lo probéis. Si ya sabéis programar y queréis hacer aplicaciones profesionales… mejor id a tecnologías Web. De momento es el futuro.

1 + 1 = 2

Visto en un powerpoint una presentación enviada por una amiga:

Elegancia profesional

Cualquier ingeniero aprende la notación matemática según la cual la suma de dos números reales, como por ejemplo:

1 + 1 = 2

puede ser escrita de manera muy simple. Sin embargo, podemos decir que le falta totalmente estilo.

Desde las primeras clases de Matemática sabemos que:

1 = ln(e)

y también que:

1 = sin2(p) + cos2(p)

Además, todos saben que:

2 = ∑n=0(½)n

Por lo tanto la expresión,

1 + 1 = 2

puede ser reescrita así:

ln(e) + sin2(p) + cos2(p) = ∑n=0(½)n

la cual, como fácilmente pueden observar, es mucho más comprensible y científica.

Es sabido que:

1 = cosh(p) · √(1 – tanh2(q))

y que

e = limz→∞ (1 + 1/z)z

de donde resulta:

ln(e) + sin2(p) + cos2(p) = ∑n=0(½)n

que puede ser escrita de forma clara y concisa:

ln(limz→∞ (1 + 1/z)z) + sin2(p) + cos2(p) = ∑n=0(cosh(p) · √(1 – tanh2(q)) / 2n)

Teniendo en cuenta que:

0! = 1

y que la matriz invertida de la matriz transpuesta es igual a la matriz transpuesta de la matriz invertida (con la hipótesis de un espacio unidimensional), conseguimos la siguiente simplificación (debida al uso de notación vectorial):

(XT)-1 – (X-1)T = 0

Si unificamos las expresiones simplificadas anteriores, será obvio obtener:

((XT)-1 – (X-1)T)! = 1

Aplicando las simplificaciones descritas anteriormente, resulta que, de la ecuación:

ln(limz→∞ (1 + 1/z)z) + sin2(p) + cos2(p) = ∑n=0(cosh(p) · √(1 – tanh2(q)) / 2n)

obtenemos finalmente, de forma totalmente elegante, legible, sucinta y comprensible para todos, la ecuación:

ln(limz→∞ (((XT)-1 – (X-1)T)! + 1/z)z) + sin2(p) + cos2(p) = ∑n=0(cosh(p) · √(1 – tanh2(q)) / 2n)

que, convengamos, es mucho más profesional que la vulgarísima y plebeya ecuación original:

1 + 1 = 2

Esta presentación fue confeccionada para los amigos abogados, para que sepan que también los ingenieros podemos complicar las cosas al santo pedo.

Pueden enviarla también a sus amigos ingenieros, quienes sabrán apreciar la humilde alma ingenieril que les anima.

NOTA: No enviar a sus amigos arquitectos. Ellos no lo entenderán, sin embargo si pueden enviarles, en su lugar, el último catálogo de decoración de IKEA.

P.D.: Espero que se entiendan bien las ecuaciones ya que he intentando hacerlas sin imágenes aunque para una mejor comprensión, mejor bajarse la presentación original.

Yo no la veré

No veas las entrevista

Y no la veré, primero porque apenas veo la televisión (digamos que la calidad de los canales públicos brilla por su ausencia, y lo poco que dan bueno, lo ponen a las tantas), segundo porque no veo esa basura de programas que se hacen llamar «del corazón» y tercero porque hay que apoyar la causa, a ver si conseguimos algo.

Pasito a pasito

Parece que está funcionando esto de las protestas por las fichas de la Ingeniería Informática…

Primero, parece que El Senado ha aprobado la transaccional de Ingeniería Informática.

Luego parece que la web del Ministerio de Industria se ha quedado un poco bloqueada por la afluencia de usuarios.

No será mucho, pero con esto ya nos han tenido que prestar un poquito más de atención de lo que lo habían hecho hasta el momento. ¿Hasta donde llegaremos?

¿Y dónde está el resto?

Ahora que el barril de petróleo está a menos de 60 dólares vamos a hacer un problema para los niños de 1º de EGB (si, ahora está la ESO, pero yo estudié con el plan antiguo):

Si cuando el barril de petróleo estaba a 140 dólares (más o menos) yo pagaba por el litro de gasoil 1,20 € (más o menos), ahora que el barril de petróleo está a 60 dólares ¿cuánto debería pagar por el litro de gasoil?

Como siempre, una pequeña regla de tres:

140 → 1,20
60 → x

Multiplicamos en cruz:

140 · x = 60 · 1,20
x = 72 / 140
x = 0,51

Yo debería pagar el litro de gasoil a 0,51 €. Pero vaya, lo estoy pagando a 0,98 € (más o menos, dependiendo de comunidades autónomas y gasolineras) así que ¿dónde están los 0,47 € que no debería pagar demás?

Con esto y otras tantas cosas que no vemos, la crisis para los pringaos de siempre, los curritos mileuristas, porque las grandes (y no tan grandes) companías mis cojones crisis de crisis nada.

10 cosas que son divertidas para un geek

1. Hacer una lista de 10 cosas que son divertidas para un geek.
10. Contar en binario.

Visto en Microsiervos pero es tan… friki, que merece la pena ponerlo ;) .

Se lo han tomado en serio

¡Se han tomado en serio la conversación entre un androide y un extraterrestre!

¡Jajaja! Ya ves, el Observatorio Antidifamación Religiosa (¿quiénes serán?) se han tomado en serio la conversación entre un androide y un extraterrestre en la serie de televisión «Plutón BRB Nero» de Alex de la Iglesia.

Pero qué esperábais, si ellos creen en un ser supremo que vive en el cielo creador de todo lo que conococemos y lo que no conocemos, que está en todas partes y que lo ve todo y es capaz de enviarnos al más cruel de los infiernos por nuestros pecados pero, aún así, nos ama y nos perdona.

En serio, yo no esperaba menos.

Más de Informática…

Acabo de leer un artículo sobre como va esto de la Ingeniería Informática según Bolonia y me he enterado bastante bien. Eso sí, como bien dice el autor, son sólo conclusiones personales sacadas de investigación propia.

Mis conclusiones son: la primera, no nos quitan nuestros títulos (faltaría más) ni tampoco les dan nuestras competencias a los telecos. Simplemente, nosotros no tenemos competencias y ellos sí y, casualmente, tienen algunas (demasiadas diría yo) que nos corresponden a nosotros. Y ellos sí tienen competencias porque su profesión está regulada por ley y la nuestra no. Por eso, por lo que hay que luchar es por la regulación de la Ingeniería Informática.

Luego veo otro problema. Con esto de la equiparación de títulos en grados, másters y doctorados con Europa, el Estado se ha desentendido de la gestión de los títulos universitarios y ha delegado en las propias universidades. Serán ellas las que creen sus propios planes de estudios. Y, como nuestra carrera no está regulada, lo más probable es que en cada universidad se cree un plan de estudios distinto para la misma.

Esto quizás esté bien porque así habrá mucha más especialización, pero yo lo único que veo son problemas: el primero es que no se podrán hacer convalidaciones entre distintas universidades. Los títulos serán distintos por lo que si quieres terminar la carrera en otra universidad no podrás porque, simplemente, dan cosas que tú no has dado.

Otro problema, este ya a nivel de todas las universidades, es que cada una de ellas tendrá que crear su plan de estudios, con lo que todos serán lo suficientemente distintos para que no se convaliden (lo de antes) pero lo suficientemente parecidos para que la materia básica sea la misma y sólo cambie la especialización que decida cada universidad. Pero esa parte «común» se hará tantas veces como universidades hay en España, es decir, se trabajará en balde con el dinero de todos para hacer lo mismo.

¿Por qué no hay un plan de estudios común a todas las universidades y todas las carreras y luego, cada una, que haga la especialización que quiera? ¿Porqué tenemos que pagar varias veces por hacer lo mismo? Y es otro tema, pero pasa lo mismo con las materias de colegios e institutos.

El caso es que los Ingenieros Informáticos podemos estar (casi) tranquilos porque no nos quitan nada. Pero sí tenemos que luchar por la regulación de nuestra profesión para que no haya intrusismo laboral. Porque si no se regula ¿para qué sirven los títulos? Cualquiera podría ser cualquier cosa. Y no, por ahí no paso. Yo quiero hacer lo que sé hacer, para lo que estoy preparado, y que me dejen hacerlo. Nada más.

La huelga convocada para el día 19 sólo debería ser para que nos atribuyan nuestras competencias. ¿Lo conseguiremos? Me conformo con hacer algo de ruido :|.

Ingeniería Informática

Pues parece que ahora nos quieren robar los títulos que tanto tiempo de estudio nos ha costado conseguir.

Pues sí, los Ingenieros Informáticos, así, con mayúscula, a partir de ahora no seremos nada porque dicen que no tenemos competencias. Todo lo que hacemos nosotros lo puede hacer cualquier pringadillo de telecomunicaciones que, resulta, que antes de la informática estaban con sus estudios ya bastante completitos, pero ahora todavía tienen más competencias.

Vamos, que con un par de asignaturas de programación ya saben todo lo que nosotros sabemos. Ahí es nada. Y eso que considero que en la carrera de informática no hay tiempo suficiente con todo lo que se tiene que aprender, con lo grande, en cuanto a materias, que es la Ingeniería Informática.

Y no sólo eso, sino que los que ya tenemos el título, lo vamos a perder. Directamente desaparece. Así, sin más. ¡¡Flussss!!

A algún listo se le ha ocurrido que la Ingeniería Informática no es Ingeniería. Yo que pensaba que Ingeniero era aquel que, mediante su ingenio, resolvía problemas… pero es que los Ingenieros Informáticos no resolvemos problemas…

Ay, espera, que sí que los resolvemos: ¿cómo es que funciona Internet? Va a ser que por los telecos no. Ellos se encargaron de tratar la señal eléctrica y electromagnética que se transmite por los cables, pero ¿los protocolos de comunicaciones se los inventaron ellos? ¿Los programaron? ¿Desarrollaron los sistemas operativos donde funcionan dichos protocolos? ¿Desarrollaron las aplicaciones que usan esos protocolos? ¿Diseñaron las interfaces gráficas de los sistemas operativos? ¿Desarrollaron el software con el que tú trabajas, todos trabajamos, todos los días?… NO.

Y no sólo esto, hay multitud de materias que son competencia exclusiva de los Ingenieros Informáticos. Otra cosa es que se las quieran apropiar.

El caso es que hay que hacer algo si no queremos que nos den por el culo. Que ya lo están consiguiendo. Y, como hay que hacer algo, pongo aquí la propuesta para el día 19 de noviembre: huelga de informáticos.

La pena es que no creo que sirva para nada más que para hacer algo de ruido aunque espero que alguien grande nos escuche y haga algo, porque como al final hagamos huelga de verdad… esto se cae. Sólo hay que pensar qué pasa cuando en la empresa que fabrica piruletas falta el informático. Y eso que sólo suelen hacer mantenimiento de ordenadores (digamos que eso es el 0,00001% de toda la informática, y creo que me paso).

No se yo, pero ya me estoy dando por jodido… :(

Por cierto, en mi universidad, aunque yo ya no esté allí, también queremos dar caña para solucionar esto.

Multiplicando

Cuando compré mi primer ordenador en 1995 (un 486 a 66 MHz y con 4 MB de RAM), tenía 540 MB de disco duro.

Hoy, los ordenadores normales, los que nos podemos comprar cualquiera, vienen con discos duros de 500, 750 e, incluso, 1024 GB.

En 13 años se ha multiplicado por más de mil la capacidad de almacenamiento de los ordenadores. ¿Tendremos para el año 2021 discos duros de 500 TB?

Y si los tenemos ¿qué coño vamos a meter ahí? ¿Tanto van a ocupar las pelis porno de alta definición?

Si no saben

Si no saben cómo arreglarlo, por favor, dejen de romperlo.

Severn Suzuki, activista medioambiental que en la cumbre de la Tierra de Río de Janeiro en 1992 hizo enmudecer a los mandatarios de Naciones Unidades con sus sencillas y directas palabras.