Archivo para noviembre de 2008

Guitar Hero World Tour

Hoy no voy a hablar de lo que me ha gustado Guitar Hero World Tour sino de su campaña publicitaria.

Porque acabo de ver en televisión (son las once y cuarto de la noche) la versión censurada del anuncio. Y es que yo pensé que en España no pasaban estas cosas de la censura… pero parece que me equivocaba.

Más que ir hacia la libertad, pero la de verdad, la de que tú opinas y que no me ofendo, nos vamos hacia la otra libertad, a la libertad que algunos nos quieren imponer con sus autoproclamadas verdades absolutas (quizás impuestas, no en pocos casos, por algún dios inexistente, inventado por mentes con el afán de controlarlos).

Pero no. Gracias a Internet tenemos la buena, la de verdad, la versión del anuncio que se han currado sus creadores. Lo que realmente vende.

Fotograma del anuncio de 'Guitar Hero World Tour' censurado
Fotograma del anuncio del 'Guitar Hero World Tour'
Busca las diferencias

Porque es de lo que se trata, señores, de vender un juego. Nada más. No hay que tomárselo tan a pecho. No van a herir ninguna sensibilidad. No nos vamos a escandalizar viendo a una señorita en ropa interior. Y no nos vamos a escandalizar porque lo vemos todos los días en los anuncios de desodorantes, en los anuncios de champúes, de geles de baño, insinúan bastante más en anuncios de perfumes, incluso hasta en anuncios de hamburguesas. Y se ven cosas peores (según se mire, no es publicidad) y nadie protesta.

Y tampoco nos vamos a escandalizar porque, por suerte, lo vemos todos los días en casa sin que nadie nos censure (a ver si ahora tengo que apagar la luz porque a algún iluminado le venga en gana).

En lugar de regir nuestras vidas por nuestra propia moral, tenemos que adecuarnos a una de las morales de esos que tienen dos pero sólo presumen de la primera cuando realmente usan la segunda.

A seguir así, muchachos, a seguir así…

bebits.com

Portada de la página BeBits.com

Durante mucho muchísimo tiempo BeBits.com fue la primera página que visitaba cada vez que tenía un ordenador con acceso a Internet. Incluso la recargaba continuamente con la esperanza, quizás, de que haciendo eso viesen (¿quién?) que había mucha gente interesada en el BeOS y así conseguir que no desapareciese. Como sabréis, no conseguimos nada.

Desde aquí mi pequeño homenaje que, aunque sigue estando activa y con bastante actividad, ya no es lo que era.

Y ahora, ¿nos tendremos que pasar a Haikuware o será otra vez lo mismo?

¿Y esto qué es?

VM

La respuesta mañana (o el lunes, que es fin de semana ;) ).

La fábula del pastor y el jefe de proyectos

La fábula del pastor y el jefe de proyectos es un texto largo pero de imprescindible lectura tanto para los programadores como para los gestores de proyectos.

Principalmente a los desarrolladores nos compara con ovejas. Pero lo peor de todo es que tiene razón, somos como ovejas, fáciles de controlar si se dan las condiciones correctas.

En conclusión, igual que concluye el artículo, el trabajo del gestor de proyectos no es hacer que la gente trabaje, sino construir el entorno en el que trabajar sea posible, frase sacada del libro Peopleware, libro acerca del desarrollo de software, escrito por Tom DeMarco y Timothy Lister.

El libro en cuestión es de 1987 y parece ser que es bastante importante dentro del diseño de software y gestión de equipos. Habrá que ver como lo conseguimos para echarle una ojeada.

Varas y manzanas

Buscando vara en el diccionario a raíz del refrán «meterse en camisa de once varas», veo que una vara mide, dependiendo de la zona, entre 768 y 912 mm. En la época en la que se usaba medía 33 pulgadas que, con la medida de la pulgada actual (25,4 mm), medía 0,8382 metros.

La vara castellana (la más extendida) medía 83,59 cm y estaba dividida en 2 codos o 4 palmos. Pero lo más curioso es que servía como base para medir las, tan nombradas en películas yankies, manzanas.

Una manzana son 10 000 varas cuadradas (100 x 100 varas) lo que es una superficie de 83,59 x 83,59 metros (6.987,29 m2).

Ahora, cuando en una película estadounidense oigamos que la casa de la protagonista queda a 4 manzanas, ya sabremos que el policía de turno tendrá que recorrer 334,36 metros (más o menos) para salvar a la chica.

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 ;) .