Libre Software World Conference 2012

Recién llegado estoy de la Libre Software World Conference 2012 (LSWC), que como este año se celebrara en Compostela era pecado no ir. Celebrada en la Ciudad de la Cultura, en otro intento por buscar utilidad y justificar ese monumento a la futilidad y el derroche de dinero público, contamos con dos días de diversas charlas y exposiciones sobre software libre (y muchas barritas de sésamo y zumo de mango en los «coffee breaks»).

El jueves 18 comenzaba todo a las 10 de la mañana con una charla más o menos insulsa a cargo del presidente de Asolif, el de Agasol y una representante de la Xunta cuyo nombre no recuerdo (y no viene el programa). Tras eso, y ya metidos en chicha, uno de los pesos pesados del evento, Bruce Perens, daba la salida con una conferencia más evangelizadora que técnica sobre el por qué usar software libre. Parón para el café y nos metimos en una charla sobre diversos tipos de licencias y formas alternativas al copyright a cargo de una abogada del despacho Lener, si bien la ponente no manejó bien los tiempos y cuando el tema se ponía interesante tuvo que cortar, consumiendo demasiado tiempo en insulsa cháchara promocionando su marca. Tras esto nos metimos en la mesa redonda sobre El ERP como Herramienta para Pymes, donde varios implantadores nos hablaron sobre OpenERP, OpenBravo y Eneboo ERP, siendo una charla bastante interesante (a mi me hizo en pensar en un par de nichos de mercado en este campo) sobre todo por dar a conocer Eneboo, un proyecto del que apenas había oído hablar.

Tras la comida nos perdimos la primera conferencia y pasamos ya directos a la de Wikipedia, Wikimedia y Conocimiento libre, a cargo de Jorge Antonio Sierra Canduela, de Wikimedia España, de nuevo más centrada en despejar ciertos mitos sobre la Wikipedia y animar a colaborar en el proyecto que en cuestiones técnicas, pero puede decirse que fue una charla bastante interesante. Aunque lo que sí vi profundamente interesante fue la confrencia de Torsten Grote sobre el movimiento Free your Android, una causa patrocinada por la Free Software Fundation Europe y sobre la que nos pudimos informar, hablando de forks libres de Android, markets alternativos de apps libres, ideas para difundir el movimiento, problemas para popularizarlo como la falta de drivers… Una muy buena exposición.

Tras esto venían varias conferencias sobre banca ética y economía sostenible, que no digo que no fueran intersantes ni que no comparta algunas de esas ideas, pero la verdad es que estábamos más por las cuestiones técnicas, por lo que dimos por finalizada la jornada.
Y llegamos a hoy viernes, comenzando con la gente de la cooperativa Gaueko hablándonos del proyecto Guifi.net, una iniciativa para la creación de una red libre que cumpla con los preceptos de las cuatro libertades. Y otra de las charlas intresantes fue Presente y futuro de KDE, a cargo de José Millán y Alex Fiestas de KDE España, donde destacaron algunas novedades del proyecto KDE como la idea de realizar apps para Android basadas en framework Qt, el uso del concepto de «actividades» para que el usuario organice su información y, lo que a mi más me interesó, el proyecto de escritorio orientado a dispositivos móviles Plasma Active, de hecho nos perderíamos las conferencias posteriores al parón para el café por estar hablando con ellos sobre este tema, visualizando Plasma Active en funcionamiento en una tablet, charlando sobre los problemas con los drivers y el hardware y demás (hay que decirlo, dos chavales muy majos). Pero eso sería adelantarse, porque antes asistimos a una pequeña presentación sobre Joomla (explicando un poco las virtudes de la nueva versión del famoso CMS) y a la charla de Jeremy Allison sobre los proyectos libres de Google, el cual tuvo que ejercer de zafador como un buen boxeador, esquivando ganchos desde la audiencia (incluso de otros conferenciates como Perens o Grote) sobre cuestiones polémicas como las patentes de software o ciertas prácticas fiscales deshonestas de Google (aunque él mismo dijo que una cosa es la opinión de Google como empresa y otra muy distinta la suya como persona, y como defensor del software libre que ha trabajado en una partner de Microsoft no tengo autoridad moral para juzgarle). En fin, como ya dije antes, nos perdimos las siguientes conferencias hablando con la gente de KDE, y a comer.

La tarde comenzó con una más que interesante ponencia de Emanuel Calvo de PalominoDB sobre las novedades que incorpora PostgreSQL 9.2 (seguramente la charla más técnica del evento), aunque me perdí una parte por una llama telefónica. Lo que sí pude ver es que muchas de las mejoras que implementó Microsoft en su R2 de SQL-Server 2008 también fueron implementadas ahora en PostgreSQL, el cual por cierto parece ganar cada vez más mercado frente a MySQL. La gente de Neurowork, por su parte, nos hablaron de otro nuevo proyecto de software libre muy interesante: el framework eMobc, orientado a la creación de apps para móvil en iOS, Android y HTML5 haciendo uso de XML y de pantallas ya diseñadas, en un concepto que tiene pinta de ofrecer gran productividad. Tras esta charla, donde ya se había acumulado un considerable retraso, charlamos un poco sobe el citado framework con la gente de Neurowork, perdiéndonos la siguiente conferencia, y finalmente tocó el turno de John Sullivan, de nuevo con un tono más evangelizador, centrándose en mecanismos para popularizar el software libre, en hacerle llegar el mensaje al consumidor y cerrando así el evento.

Dos días de promoción y presentación de iniciativas de Software Libre de la que sacamos información sobre algunos proyectos que desconocía, alguna idea que puede que explote en el futuro y una divertida anécdota final con uno de los conferenciantes que me reservo para contar entre risas en alguna noche de alcohol y rock and roll.

Software para virtualización (doméstico)

En fin, de nuevo a sugerencia del señor Mozano una entrada sobre virtualización.

¿Por qué virtualizar? Bueno, si tienes un ordenador medianamente potente te habrás pispado de que tienes potencia suficiente para mover varios sistemas operativos. De vez en cuando te puede apetecer probar una beta inestable de una distribución de Linux (para esos días en los que no puedes esperar a ver las novedades), o tener a mano un Windows 98, un XP o hasta un equipo con MS-DOS para trastear con algún programa o juego viejo, que ya no está soportado en las versiones más modernas de Windows (por ejemplo, me pasó con el emulador de Neo Geo NeoRage, que no funcionaba en Windows Vista). O simplemente para realizar experimentos, como ataques contra un servidor. Este software te permite crear un archivo que funcione como disco duro virtual y ejecutar otro sistema operativo en tu ordenador, como un ordenador dentro del tuyo (lo que llamamos máquina virtual).

El software más popular para virtualizar es el siguiente:

  • Virtual Box: Era un programa original de Sun Microsystems que actualmente ha quedado bajo el control de Oracle. Es gratis y tiene versiones para Windows, MacOS, Linux y, como no, Solaris (sólo jodería que siendo un producto de SUN no tuviese versión en su propio sistema operativo). Su gran atractivo son las Guest Additions, que nos permiten muchas chuminadas, como compartir con facilidad archivos y carpetas entra la máquina virtual y la máquina física, usar las ventanas en «modo fluído», como si el sistema operativo virtualizado fuera un programa en una ventana más. Además, permite clonar discos duros virtuales con gran facilidad y hacer «snapshots» del sistema para deshacer cambios en las pruebas. En mi casa es el que más utilizo.
  • VM Ware: Este software canadiense tiene dos versiones: gratis y de pago (alrededor de 199$), además de otra versión para servidores de la que no hablaremos, ya que no viene al caso. VMWare Player es la versión simple y doméstica, que permite simplemente descargar máquinas y ejecutarlas. La versión de pago, VMWare Workstation añade funcionalidades como una mayor integración entre máquina física y virtual, posibilidad de crear nuestras propias máquinas, creación de snapshots, permite deshacer y repetir cambios, compartir máquinas virtuales en red… Está disponible en Linux y en Windows.
  • Windows Virtual PC: Un limitado producto de Microsoft pero que puede ser muy útil. Sólo disponible para Windows y sólo permite crear máquinas virtuales de Windows. En principio parece un poco chorras la cosa, ok, pero tiene ciertas ventajas. Por ejemplo, pongamos que tienes un Windows 7  y una máquina virtual de Windows XP para usar… el Neo Rage que citaba antes, mismamente. Virtual PC te permitirá instalar Neo Rage en el XP, crear un acceso directo en el escritorio del Windows 7 y ejecutar la aplicación de forma que te parecerá que se ejecuta nativamente (vamos, como si usaras Wine en Linux). Es una opción interesante para usuarios de Windows que quieran usar programas que se han quedado incompatibles con su SO.
  • QEMU: Disponible desde no hace mucho para todas las plataformas (hasta hace un año y pico sólo existía para Linux), es una opción libre y muy potente. La verdad, no he llegado a trabajar con él en profundidad. Permite trabajar sobre todo tipo de arquitecturas (x86, AMD64, Power PC, SPARC… aunque el mejor rendimiento se consigue con una versión aceleraca, kqemu, en arquitectura i386), ser utilizado para proveer hosting virtual, hacer virtualización de escritorio… en él se basa Wine para ejecutar los programas de Windows sobre arquitecturas no Intel. Tengo pendiente profundizar, pero las posibilidades parecen casi infinitas.
  • Parallels: Famoso sobre todo por su versión para MacOS, existe también para Windows y Linux, aunque es menos popular. De pago (79 $), permite emulación de escritorio con una particularidad, cuando se pasa de la máquina física a la virtual fuerza a que el equipo anfitrión  renuncie a parte de su potencia para cederlo a la virtualización.

En resumen ¿Con cual nos  quedamos? A falta de profundizar en QEMU, yo me decanto por Virtual Box. Reconozco que es menos potente que VMWare y menos intuitivo que Parallels, pero incluye muchas variadas y potentes opciones totalmente gratis, es multiplataforma, la curva de aprendizaje no es muy exagerada y permite virtualizar casi cualquier sistema operativo. Para el usuario doméstico, y para las pruebas básicas de un desarrollador, da de sobra. Además, las máquinas virtuales que creas con Virtual Box las puedes ejecutar luego tanto en VMWare como en Parallels, y viceversa, puedes abrir con él un disco duro virtual creado con los otros. Además, desde la inclusión del modo fluído se ha superado su gran handicap frente a sus otros competidores. Si quieres virtualizar sólo para usar programas antiguos en Windows, entonces prueba Virtual PC.

Stanley Clarke

Nacido allá por 1951 en Philadelphia, Stanley Clarke se convirtió en los años 80 en uno de los más célebres mercenarios de la música pop. Pero antes de eso tenía un pasado, un pasado donde había mucho trabajo como músico de sesión y, sobre todo, una banda: RETURN TO FOREVER.

Porque fue la superbanda donde trabajó codo con codo con Chick Corea, Al DiMeola y Lenny White la que le hizo dar el gran salto en la música profesional. Desde aquella ha estado colaborando con gente importante, siendo su proyecto más famoso aquellos Animal Logic donde tocaba junto a Stewart Copeland (baterista en The Police). Si bien, de su trabajo en solitario es difícil olvidar School Days, uno de los discos más importantes para la historia del bajo eléctrico.

Pero si hay algo curioso en la forma de tocar de Clarke es su técnica con la mano derecha, tocando con el brazo derecho casi paralelo a las cuerdas doblado en un ángulo de 90 grados y los dedos muy ladeados, una postura imitada posteriormente por cientos de bajistas y que, según él, es la que le permite tocarlo de forma más similar al contrabajo. Este vídeo es una muestra. También ha mostrado una gran técnica de slap en sus trabajos.

Tal vez menos reconocido que otros como Marcos Miller, Victor Wooten o Jaco Pastorius por haber ejercido mucho como mercernario y haberse movido por fuera del jazz durante muchos años, Clarke es un superclase que merece tanto respeto y atención como el que más.

Webs de formación on-line

A petición de mi colega el Señor Mozano hice esta entrada en el año 2012. Ya ni me acordaba de ella, pero el otro día labusqué a raiz de una conversación en Twitter y me he encontrado con que está bastante anticuada. Me he decidido a actualizarla con más webs de formación on-line en el área informática.
 

  • Coursera: En su momento era la página más conocida en cuanto a cursos on line. Los más famosos y que cuentan con más alumnos son los de informática, aunque recogen cursos de varias disciplinas. Todos ellos están patrocinados por universidades estadounidenses e impartidos por profesores de las mismas.
  • Udacity: Fundada por profesores de la universidad de Standford, tiene un gran catálogo de cursos sobre diversos temas relacionados con la informática o las ciencias de la computación (diseño de algoritmos, robótica, física, matemáticas…). Todos los cursos están en inglés.
  • EdX:  EdX oferta cursos on-line de las prestigiosas universidades Berkeley, Harvard y MIT. De momento tienen menos variedad en su oferta que Udacity y Coursera. De hecho algunos de los cursos que ofrecen ya fueron impartidos en Coursera en pasados cuatrimestres. Con todo, es una opción interesante a la hora de buscar formación. La mayoría de los cursos están en inglés, aunque hay algunos en otros idiomas.
  • Incibe: Se trata de la antigua página web de Inteco, el Instituto nacional de tecnologías de la información, que ha cambiado su nombre por el de INCIBE (Instituto Nacional de Ciberseguridad). Tiene una oferta de varios cursos gratis, divididos en tres áreas: seguridad, accesibilidad y calidad. En este caso los cursos están en castellano.
  • Tecnosaber: A diferencia de los otros, Tecnosaber (web que además creo que es dependiente de Tecnoempleo) realmente es una página para la búsqueda de cursos en España, ya sean on-line o presenciales, y gratuitos o de pago. En el caso de buscar cursos gratis lo más abundante son cursos de formación continua para trabajadores en activo, así que si tienes trabajo (cosa extraña en este país) puedes aprovechar y mejorar tu currículum vítae para así poder marchar al extranjero a algún sitio donde te paguen bien y las horas extra sean cobradas.
  • Codeacademy: Codecademy es una plataforma interactiva en línea que ofrece clases gratuitas de programación, dando la opciónde formarse en distintos lenguages y API’s. Su metodología tiene un enfoque muy práctico y lleno de ejercicios.
  • Udemy: Udemy es una plataforma de aprendizaje en línea dirigida a profesionales.​ A diferencia de otros programas académicos MOOC creados por universidades, Udemy utiliza contenido de creadores en línea que vende para conseguir beneficios.​ Por tanto en Udemy no solo tienes la opción de estudiar sino también de crear tu propio material que vender.
  • Lynda.com: Se trata de una empresa de teleformación fundada a mediados de los años 90 por Lynda Weinman en California, pero que alcanzó su mayor valor en la era de internet. En 2015 fue comprada por LinkedIn, que posteriormente sería también absorvida por Microsoft. Sus contenidos están centrados principalmente en los campos de la programación, el diseño y la economía.
  • Futurelearn: Esta web de cursos online fue fundanda en 2012 por la universidad de Milton Keynes, casi en las mismas fechas en las que se publicó el artículo original. Pronto se le unieron varias universidades británicas más. Tiene cursos muy variados, en todo tipo de áreas.
  • UOC: La universidad a distancia pública catalana también tiene una sección desde la que ofrece algunos pequeños cursos abiertos en distintas áreas.
  • Code.org: Es un proyecto formativo estadounidense, financiado por varias empresas tecnológicas, que ofrece recursos para gente que esté aprendiendo a programar, con un funcionamiento muy similar al de la antes citada Codeacademy.
  • Khan Academy: Es una organización educativa sin ánimo de lucro​ y un sitio web creado en 2006 por el educador estadounidense​ Salman Khan. Su objetivo es proporcionar una educación gratuita de nivel mundial para cualquier persona, en cualquier lugar. Su formación está dirigida a escolares de enseñanza primaria y secundaria con cursos sobre matemáticas, biología, química, física, computación también humanidades, economía, finanzas e historia. A pesar de no tratarse de una formación muy avanzada sí es muy útil si queremos reforzar nuestra base de conocimientos en alguna de esas áreas.
  • CNTG: Originalmente,cuando se publicó el artículo, el CNTG no ofrecía cursos en modalidad no presencial, pero con los años eso ha cambiado. Si eres gallego, o por lo menos vives en Galicia, el Centro de Novas Tecnoloxías (Santiago de Compostela) oferta varios cursos y seminarios entre los meses de octubre y junio. Son limitados (15-16 alumnos por curso) y tienen una prueba de acceso previa, pero en algunos te dan de gratis un examen de certificación.

Y con esto está bien la cosa para empezar. En su día este tipo de webs y cursos me ayudaron a engordar mi currículum mientras buscaba trabajo, y ahora que curro a jornada completa me permiten seguir estudiando cosas nuevas pudiendo compaginarlo con mi jornada laboral.

Producto cartesiano de dos arrays en Ruby

Bueno, sigo con el curso de SAAS de Berkeley, y me ha dado por poner otro ejercicio (bueno, realmente es que llevo días sin escribir, estoy sin ideas y como acabo de hacerlo…). En este caso el último del «homework 1», que ha sido todo un alivio porque me esperaba algo jodidérrimo pero… no, para nada, es una chorrada tan gorda como hacer una clase con un método each que muestre el producto cartesiano de dos arrays:

class CartesianProduct
  include Enumerable
  def initialize(col1, col2)
    @col1 = col1
    @col2 = col2
  end

  def each
    return to_enum unless block_given?
    @col1.each do |x| 
      @col2.each { |y| yield [x, y] }
    end
  end
end

Como ya ves el constructor de la clase recibe dos arrays (col1 y col2) para inicializar el objeto, y por otra parte el método each recorre el primero cruzando cada elemento con todos los elementos del segundo (de ahí que haya un each dentro de otro each).

Fácil, rápido y barato… por decir algo.

Nuevo chipset para Intel

Avatar de cuauhtemockCuauhtemock

intelchips1111

Junto a la llegada de los microprocesadores Intel Haswell a 22nm (sucesores de Ivy Bridge), llegarán también los chipsets 8 Series Lynx Point a 32nm, con varios modelos de los cuales hoy tenemos novedades de uno: el chipset Z87.

La noticia es que Intel quitará el soporte para la interfaz SATA II a 3Gbps, dejando espacio sólo para SATA III a 6Gbps. ¿El problema de aquello? Ninguno, ya que SATA III es retrocompatible con su antecesor, pudiéndsoe conectar unidades SATA II sin problemas.

Lo que sí podría ser problemático es la segunda parte de la información: Z87 quitará soporte también para el PCI antiguo. Claro está, dicha tecnología es bastante vieja, sin embargo, existen muchos productos, especialmente relacionados a la producción de audio profesional y otras actividades, que aún utilizan el PCI para conectar diversa clase de tarjetas que hasta el día de hoy se mantienen bastante vigentes.

La adaptación…

Ver la entrada original 54 palabras más

Edgar Allan Poe (The Raven / El Cuervo)

Tal día como hoy, también domingo siete de octubre, en 1849 y diez días antes de volver a casarse con un antiguo amor, el poeta y novelista americano Edgar Allan Poe fallecía entre pesadillas inspiradas por el alcohol. Maestro del relato gótico, genio del terror, inventor del género policiaco y parte de una generación renovadora en la ciencia ficción. Dejó escrito sobre si mismo Mi vida ha sido capricho, impulso, pasión, anhelo de la soledad, mofa de las cosas de este mundo; un honesto deseo de futuro. Uno de sus más conocidos poemas fue El Cuervo, que reproduzco debajo.

 

Once upon a midnight dreary, while I pondered weak and weary,
Over many a quaint and curious volume of forgotten lore,
While I nodded, nearly napping, suddenly there came a tapping,
As of some one gently rapping, rapping at my chamber door.
`’Tis some visitor,’ I muttered, `tapping at my chamber door –
Only this, and nothing more.’

Ah, distinctly I remember it was in the bleak December,
And each separate dying ember wrought its ghost upon the floor.
Eagerly I wished the morrow; – vainly I had sought to borrow
From my books surcease of sorrow – sorrow for the lost Lenore –
For the rare and radiant maiden whom the angels named Lenore –
Nameless here for evermore.

And the silken sad uncertain rustling of each purple curtain
Thrilled me – filled me with fantastic terrors never felt before;
So that now, to still the beating of my heart, I stood repeating
`’Tis some visitor entreating entrance at my chamber door –
Some late visitor entreating entrance at my chamber door; –
This it is, and nothing more,’

Presently my soul grew stronger; hesitating then no longer,
`Sir,’ said I, `or Madam, truly your forgiveness I implore;
But the fact is I was napping, and so gently you came rapping,
And so faintly you came tapping, tapping at my chamber door,
That I scarce was sure I heard you’ – here I opened wide the door; –
Darkness there, and nothing more.

Deep into that darkness peering, long I stood there wondering, fearing,
Doubting, dreaming dreams no mortal ever dared to dream before;
But the silence was unbroken, and the darkness gave no token,
And the only word there spoken was the whispered word, `Lenore!’
This I whispered, and an echo murmured back the word, `Lenore!’
Merely this and nothing more.

Back into the chamber turning, all my soul within me burning,
Soon again I heard a tapping somewhat louder than before.
`Surely,’ said I, `surely that is something at my window lattice;
Let me see then, what thereat is, and this mystery explore –
Let my heart be still a moment and this mystery explore; –
‘Tis the wind and nothing more!’

Open here I flung the shutter, when, with many a flirt and flutter,
In there stepped a stately raven of the saintly days of yore.
Not the least obeisance made he; not a minute stopped or stayed he;
But, with mien of lord or lady, perched above my chamber door –
Perched upon a bust of Pallas just above my chamber door –
Perched, and sat, and nothing more.

Then this ebony bird beguiling my sad fancy into smiling,
By the grave and stern decorum of the countenance it wore,
`Though thy crest be shorn and shaven, thou,’ I said, `art sure no craven.
Ghastly grim and ancient raven wandering from the nightly shore –
Tell me what thy lordly name is on the Night’s Plutonian shore!’
Quoth the raven, `Nevermore.’

Much I marvelled this ungainly fowl to hear discourse so plainly,
Though its answer little meaning – little relevancy bore;
For we cannot help agreeing that no living human being
Ever yet was blessed with seeing bird above his chamber door –
Bird or beast above the sculptured bust above his chamber door,
With such name as `Nevermore.’

But the raven, sitting lonely on the placid bust, spoke only,
That one word, as if his soul in that one word he did outpour.
Nothing further then he uttered – not a feather then he fluttered –
Till I scarcely more than muttered `Other friends have flown before –
On the morrow he will leave me, as my hopes have flown before.’
Then the bird said, `Nevermore.’

Startled at the stillness broken by reply so aptly spoken,
`Doubtless,’ said I, `what it utters is its only stock and store,
Caught from some unhappy master whom unmerciful disaster
Followed fast and followed faster till his songs one burden bore –
Till the dirges of his hope that melancholy burden bore
Of «Never-nevermore.»‘

But the raven still beguiling all my sad soul into smiling,
Straight I wheeled a cushioned seat in front of bird and bust and door;
Then, upon the velvet sinking, I betook myself to linking
Fancy unto fancy, thinking what this ominous bird of yore –
What this grim, ungainly, ghastly, gaunt, and ominous bird of yore
Meant in croaking `Nevermore.’

This I sat engaged in guessing, but no syllable expressing
To the fowl whose fiery eyes now burned into my bosom’s core;
This and more I sat divining, with my head at ease reclining
On the cushion’s velvet lining that the lamp-light gloated o’er,
But whose velvet violet lining with the lamp-light gloating o’er,
She shall press, ah, nevermore!

Then, methought, the air grew denser, perfumed from an unseen censer
Swung by Seraphim whose foot-falls tinkled on the tufted floor.
`Wretch,’ I cried, `thy God hath lent thee – by these angels he has sent thee
Respite – respite and nepenthe from thy memories of Lenore!
Quaff, oh quaff this kind nepenthe, and forget this lost Lenore!’
Quoth the raven, `Nevermore.’

`Prophet!’ said I, `thing of evil! – prophet still, if bird or devil! –
Whether tempter sent, or whether tempest tossed thee here ashore,
Desolate yet all undaunted, on this desert land enchanted –
On this home by horror haunted – tell me truly, I implore –
Is there – is there balm in Gilead? – tell me – tell me, I implore!’
Quoth the raven, `Nevermore.’

`Prophet!’ said I, `thing of evil! – prophet still, if bird or devil!
By that Heaven that bends above us – by that God we both adore –
Tell this soul with sorrow laden if, within the distant Aidenn,
It shall clasp a sainted maiden whom the angels named Lenore –
Clasp a rare and radiant maiden, whom the angels named Lenore?’
Quoth the raven, `Nevermore.’

`Be that word our sign of parting, bird or fiend!’ I shrieked upstarting –
`Get thee back into the tempest and the Night’s Plutonian shore!
Leave no black plume as a token of that lie thy soul hath spoken!
Leave my loneliness unbroken! – quit the bust above my door!
Take thy beak from out my heart, and take thy form from off my door!’
Quoth the raven, `Nevermore.’

And the raven, never flitting, still is sitting, still is sitting
On the pallid bust of Pallas just above my chamber door;
And his eyes have all the seeming of a demon’s that is dreaming,
And the lamp-light o’er him streaming throws his shadow on the floor;
And my soul from out that shadow that lies floating on the floor
Shall be lifted – nevermore!

 

Si te ha gustado, no deberías perderte este vídeo, desde luego

Piedra-papel-tijera en Ruby

Un pequeño ejercicio de Ruby que he tenido que hacer en el curso de SaaS de Berkeley (en EdX) es un método que «juegue» al tres en raya. Recibiendo un array bidimimensional (la variable game en el ejemplo) debe devolver el resultado de qué jugador sería el ganador. Si hay más de dos jugadores devuelve una excepción, y si alguno mete una letra que no sea R (rock), P (paper), S (scissors) lanza otra excepción (ambas vienen ya dadas en el código de ejemplo). Finalmente, si ambos sacan lo mismo da como ganador al jugador 1 (¿por qué? pues porque es lo que pide el enunciado a reclamarle al maese armero)

En fin, el código sería tal que así:

class WrongNumberOfPlayersError < StandardError ; end
class NoSuchStrategyError < StandardError ; end

def rps_game_winner(game)
  raise WrongNumberOfPlayersError unless game.length == 2
  game[0][1] = game[0][1].downcase
  game[1][1] = game[1][1].downcase
  raise NoSuchStrategyError if game[0][1] != 'r' and game[0][1] != 'p' and game[0][1] != 's'
  raise NoSuchStrategyError if game[1][1] != 'r' and game[1][1] != 'p' and game[1][1] != 's'
  ganador = 0
  if game[0][1] == 'r'
   if game[1][1] == 'r'
   elsif game [1][1] == 'p'
   ganador = 1
   else
   end
  elsif game[0][1] == 'p'
   if game[1][1] == 'r'
   elsif game [1][1] == 'p'
   else
   ganador = 1
   end
  else
   if game[1][1] == 'r'
   ganador = 1
   elsif game [1][1] == 'p'
   else
   end
  end
  return game[ganador]
end

La chicha viene con la segunda parte del ejercicio, el modo tournament. Este recibe un array de arrays bidimensionales con todos los enfrentamientos (hay que suponer que están bien formados y bien anidados, y debe permitir cualquier cantidad de jugadores, siempre que crezcan en progresión de potencias de 2: 4,8,16,32… piensa el cualquier Play off de cualquier deporte) y los recorre como una eliminatoria. Ponen como ejemplo que reciba algo tal que así:

[
    [
        [ ["Armando", "P"], ["Dave", "S"] ],
        [ ["Richard", "R"],  ["Michael", "S"] ],
    ],
    [
        [ ["Allen", "S"], ["Omer", "P"] ],
        [ ["David E.", "R"], ["Richard X.", "P"] ]
    ]
]

Ok, ¿qué hacer frente al anidamiento? Pues recursividad, tema que ya explicamos. En este caso, el método comprobará que cada array a su vez contenga un array y si es así vuelve a llamarse a si mismo hasta que llegue a un enfretamiento, donde entonces llamará al método de la primera parte para devolver al ganador.

def rps_tournament_winner(tournament)
  if tournament[0][0].kind_of?(Array)
       rps_game_winner([rps_tournament_winner(tournament[0]), rps_tournament_winner(tournament[1])])
  else
   rps_game_winner(tournament)
  end
end

Y con esto y un bizcocho, ejercicio realizado. Lo he enviado y ya está corregido, y me ha dado el 100%, así que espero que os aclare las dudas. (Como dice un colega mío «no me copiar, me cago en Satán»… en fin, o sí, que yo tampoco soy ni profesor ni vuestro padre). En todo caso veis que con la recursividad un simple if/else resuelve toda la carga de trabajo en cinco líneas (bueno, realmente dos)

Un más que interesante artículo sobre aplicaciones musicales para Linux en Aerilon, que merece un par de lecturas al menos.

Avatar de Gaius BaltarEl chalé de Gaius Baltar

Ya hemos hecho un «porrón» de entradas sobre producción musical, y sólo hemos arañado la superficie. Pero como la grabación necesita una materia prima que se llama «música», hoy vamos a echar un ojo a aplicaciones básicas que tenemos disponibles en los repositorios y, más en concreto, dentro del Centro de Software de Ubuntu. Posteriormente os hablaré de otras que podéis encontrar en otros «orígenes de software».

Orphans Score

Aquí tenéis una pequeña colección de afinadores, editores de partituras/tabulaciones o «entrenadores»de instrumentos.

Ver la entrada original 423 palabras más

Hell – Human Remains

La historia de los Hell es una de las más curiosas de la NWOBHM. Si rebuscas un poco podrás encontrar sus primeras maquetas de allá por el año del mundial de Naranjito, con muchos de los temas que formaron parte de este Human Remains, pero no verás ningún LP. Incluso hay algún vídeo de la época, en una calidad bastante deficiente (bueno, tampoco te creas que el sonido de las maquetas es una superproducción, una maqueta autoproducida de aquella época puedes imaginarte que no tiene un sonido nítido y claro) pero que dan muestra de la capacidad de convocatoria y la espectacularidad de los directos de esta banda. Su show, con pirotecnia y blasfemia por doquier, impactaba tanto como el de los mismísimos Venom, y sus temas eran buenos, tenían todo el potencial para ser importantes pero la mala suerte se cruzó en su camino. Justo antes de sacar su primer LP la discográfica que les había hecho el contrato, la belga Mausoleum que sacó a muchas bandas de la escena underground, se fue a la quiebra, y poco tiempo después su vocalista David G. Halliday se suicidó. Hell morían prematuramente, antes de que la mayor parte del público les conociera.

Hay que saltar dos décadas en el tiempo, hasta 2008, para llegar al comienzo del renacimiento. Son Andy Sneap (Sabbat), como productor y guitarrista, y Martin Walkyier (Sabbat, Skyclad), quien se ofrece en un principio para ser el vocalista en una reunión de la banda, los artífices de la reencarnación, cumpliendo así un sueño de adolescencia ya que habían sido grandes fans de la banda en su día. Pero la voz de Walkyier, demasiado personal, no acaba de convencer a los miembros originales del grupo, que decían que no guardaba ningún parecido con la voz original. Parecía que Hell volverían a desaparecer, hasta que finalmente aparece un vocalista, David Bower, el hermano del guitarrista Kev, salido del mundo del teatro y sin mucha experiencia como músico, pero con una voz y una actitud escénica perfectas para banda. Y la máquina se reactiva para, finalmente, dar a luz este Human Remains en 2011, acompañado de una gira de presentación por Europa.

El grueso de los temas del disco son las canciones que formaron parte de su primera maqueta, si bien la producción logra darle un toque muy contemporáneo, sin dejar de ser heavy clásico. Tras la intro Overture (Themes from Deathsquad) el tema On earth as it is in hell nos da una muestra del peculiar sonido de estos Hell contemporáneos, donde los riffs de espíritu Saxon casan perfectamente con arreglos propios de la década, más modernos tirando de teclados y samplers, y donde ya podemos comprobar el dramatismo de sus letras (la de esta en concreto, sobre un mensajero infernal, me recuerda mucho a De Guindos apareciendo los viernes por la tele… si la escuchas ya entenderás por qué). Plague and Fyre, inspirada en la plaga de peste y el gran incendio que asolaron Londres en el siglo XVII nos regala una teatralidad en la interpretación vocal propia de un King Diamond, en una enorme tema de heavy metal que comienza con una agónica intro para llevarnos a una canción donde el tono agónico parece medrar hacia lo épico en un loco remolino, un hijo bastardo de Broadway, Mercyful Fate y el show de los horrores de Arthur Brown. El disco no deja un solo momento de silencio, las intros sirven para unir los temas de forma que parezcan formar un todo indivisble. The Oppressors muestra un riff de inspiración muy Black Sabbath blueseros aunque con un toque de Judas Priest, jugando de forma inteligente con los teclados para dar un ambiente más apocalíptico a la canción. Tirando de arreglos disonantes, juegos a dos voces y tensiones en la armonía Blasphemy and the Master continúa este paseo entre la oscuridad y la agonía, aunque Let Battle Commence nos de un respiro de tanta maldición llevándonos a una pieza más speedica y épica. Con más de 10 minutos The Devil’s Deadly Weapon es el tema más largo del disco, si bien dos minutos ya son de intro, para dar paso a unos teclados muy ochenteros y melódicos que dan paso a las guitarras dobladas en una canción que parece más relajada y melódica que las precedentes, si bien la tardía entrada de la voz vuelve a llevarnos a unas atmósferas más apocalípticas y oscuras, mientras el teclado y muchos arreglos de guitarra parecen querer ir hacia derroteros más propios de Praying Mantis. The Quest por su parte da un descanso a la voz, con una tesitura más melódica para esta en un tema de heavy metal con riffs más rockeros y una estructura más hacia la epiciedad, con mucha guitarra doblada, muy melódico, muy Iron Maiden o Saxon. Con una gaita y las risas de las brujas entra Macbeth, y sería de perogrullo hablar de “inspiración Shakespiriana”, un tema con un riff muy clasicote que da paso a un doble bombo poderoso y arreglos de guitarra más tensos. Save us from those who would save us recupera tanto el ritmo frenético y el dramatismo agónico en las voces como la temática religiosa y más oscura, con un gran juego de voces en el estribillo. Para cerrar el disco No Martyr’s Cage, de nuevo un tema muy largo, muy desquiciado y muy tenso.

No se si los Hell de 1982 habrían llegado lejos de haber tenido más suerte en aquel momento, pero los Hell de 2011 sacaron uno de los mejores discos de heavy metal de lo que llevamos de siglo, a pesar de que al menos 6 de los temas ya aparecieran en alguna de sus maquetas de los 80 (se han dejado fuera Deliver Us from Evil, que me parece un temazo). Un disco de heavy metal clásico que sabe sonar contemporáneo sin venderse a las fórmulas mainstream de Nuclear Blast y la plebe wackenera, un disco que sabe ser oscuro sin tener que recurrir a los clichés desfasados y mascados que utilizan muchas bandas de metal extremo o de true metal underground. Un disco con personalidad y calidad.