Cinco juegos indie para Windows

Como en el pasado ya hice una entrada de juegos para linux y como en Aerilon suelen hacerlas bastante decentemente y con cierta periodicidad, he decidido crear una pequeña entrada sobre juegos indie para Windows, seleccionando los cinco que más me han enganchado en los últimos tiempos. Algunos son gratis, otros no, algunos muy famosos, otros menos.

  • Braid: El plataformas indie por excelencia, Braid. Con unos gráficos en 2D cuidadísimos, una historia profundamente filosófica (que no se por qué, pero me recordó a El Principito) y una mecánica de juego muy original, que nos permite movernos no sólo en el espacio sino también en el tiempo de juego. Braid
  • A Flipping good time: Otro plataformas, este con la gracia de tener que cambiar la dirección de la gravedad para ir superando las fases. Gratis y divertido, reconozco que todavía no me lo he acabado (estoy en ello). No es muy largo pero en ciertos momentos puede volverse desquiciante, aunque puedes acumular una buena cantidad de vidas. Puedes descargarlo desde aquí
    A Flipping good Time
    A Flipping good Time
  • Machinarium: Llamadme machista, pero creo que la estética de este juego lo denota como orientado al público a femenino. Eso no quita que por muy machote que seas no puedas disfrutar de esta maravilla de rompecabezas. Te puedes romper la cabeza mucho rato haciendo y deshaciendo, moviendo cosas de un lado para otro, combinando los elementos de la forma más peregrina… mientras muebles a un adorable cacharro que parece el hijo de Johnny5 (el robot de la película Cortocircuito, no el guitarrista de Marilyn Manson) con una cucaracha. Puedes descargarlo desde aquí Machinarium
  • Stealth Bastard: Reconozco que no es muy difícil, sobre todo si hace años te pasaste el The Lost Vikings. Mezcla de plataformas con puzzle, tiene la ventaja de ser gratuito y de ofrecerte varios niveles para descargar. También puedes intentar batir tu record de velocidad para superar los diversos niveles. Puedes descargarlo desde su página oficial Stealth Bastard
  • World of Goo: Curioso juego de puzzles con un potente motor físico donde, haciendo uso de bolas pegajosas que se unen entre ellas deberás construir estructuras. Gráficamente original, divertido, con una banda sonora muy agradable, una mecánica de juego muy intuitiva y una dificultad progresiva y a veces exasperante, World of Goo garantiza horas de diversión, y te dejará con ganas de más niveles. Puedes descargarlo desde aquí. WOG

Comentar que aparte de para Windows estos juegos existen en otras plataformas (XBOX, MacOS, iOS, Linux, Nintendo Wii… depende del juego), por lo que aunque hayas decidido prescindir de las ventanas del colega Bill Puertas no tienes, necesariamente, por qué quedarte si disfrutarlos.

Usando librerías .dll de .NET en SQL-Server2008

Aunque normalmente no se recomiende tener la lógica de negocio en el lado del servidor de la base de datos, en algunos casos puede resultar interesante el hacerlo. Microsoft, en su empeño (por otra parte loable) de lograr una integración total entre sus servicios, nos permite utilizar nuestras .dll creadas en .NET (sea en VB.NET o en C#.NET o en C++) dentro de nuestra base de datos SQL-Server como «código gestionado».

Iré construyendo poco a poco un ejemplo para que veáis, paso a paso como se realiza esto. Lo primero es activar clr para que nos permita la integración con .NET tal que así:

USE [basedatosdeejemplo]
go
sp_configure 'clr enabled', 1
go
reconfigure
go

Seleccionamos la base de datos a utilizar, configuramos clr como ‘enabled’ (armado, activado) con el parámetro 1 y ejecutamos reconfigure para que el cambio tenga efecto. Acuérdate de poner el parámetro (en este caso 1) y de ejecutar reconfigure.

El primer paso está realizado. Lo siguiente es crear el ensamblado para la librería, definiendo el esquema y el tipo de permisos.


CREATE ASSEMBLY [Utilidades]
AUTHORIZATION [dbo]
FROM 'C:\LibreriaEjemplo.dll'
WITH PERMISSION_SET = SAFE
GO

Creamos el ensamblado con el nombre «Utilidades» (podemos darle el que queramos mientras no sea una palabra reservada), con el esquema dbo (podríamos haber utilizado cualquiera de los disponibles), en FROM le especificamos la dirección del archivo en disco mediante una cadena de texto con la ruta y finalmente los permisos, en este caso SAFE.

SAFE es el permiso más restrictivo que hay, el más «seguro» para nuestro equipo pues limita mucho lo que pueda hacer la librería. En caso de que uses liberías de terceros es el permiso que te reportará más seguridad. Existe también el permiso EXTERNAL_ACCESS, que permite que el código acceda a ciertos recursos externos (registro, archivos, red) y el permiso UNSAFE, que da control sin restricciones a la librería sobre los recursos de la máquina. Si usas una librería propia puedes usar UNSAFE, pero si usas una de un tercero piensa que pueden entrañar riesgos de seguridad.

Con lo puesto ya tenemos la librería disponible en nuestra base datos. ¿Y ahora qué? Ahora simplemente puedes usar las clases y métodos de dicha librería en tu base. Puedes crear tus tipos de datos propios usando sus objetos, incluir sus métodos en procedimientos o triggers. En este ejemplo vamos a suponer que la librería importada tiene una clase Point que guarda las coordenadas de un eje X y un eje Y junto a un valor booleano, y tiene también una función GetCoordsAsText que muestra un mensaje largo con las coordendas. Vamos a crear un tipo de datos Point, usarlo en una tabla, acceder a los valores y usar el método GetCoordsAsText en una función. Pondré comentarios para ir explicando el proceso

--Creamos el tipo de datos Point como un objeto de la clase Point.
--Para acceder a la clase point tenemos que usar el método external name de SQL-Server
--accediendo a la clase mediante el nombre del assembly que creamos antes y el namespace de la clase (en 
--este caso point)
create type Point
external name Utilidades.Point 
go

--Creamos la tabla

create table dbo.Points
(
	id int identity primary key,
	valor Point
);
go

--Para acceder a los datos de la tabla debemos usar un método que nos devuelva
--los valores almacenados dentro del objeto en forma de texto (en este caso .X para el valor X, .Y para 
--el valor Y o .ToString() para sacar ambos en una columna como texto).

select id,
			valor.X as X,
			valor.Y as Y,
			valor.ToString() as Completo
from dbo.Points

--Si intentáramos acceder al objeto a pelo, como voy a poner debajo, nos devolvería el valor del objeto
--sin convertir (un churrazo con la dirección de memoria del puntero)

select valor from dbo.Points --así nos saldría un churo tipo 0x0000000100020000303000000

--También podríamos usar los métodos de la librería en una función, trigger, función de agregado,
--cursor... En este caso haremos una función que acceda a GetCoordsAsText (que está en la clase 
--UserFunctions)

create function dbo.CoordenadasComoTexto
returns nvarchar(50)
as
    external name Utilidades.UserFunctions.GetCoordsAsText

Y con esto tendríais la función que simplemente ejecuta el método definido en la dll y un tipo de datos igual al objeto. Las posibilidades de esto son muy grandes, así que podéis ir profundizando.

Aplicaciones offline en HTML5

Lee una página web offline siempre había sido posible. Descargabas la página y las hojas de estilos y listo, ya podías ojearla. Pero ¿y las aplicaciones? Eso ya era otra cosa, ahí ya estabas limitado.

HTML5 llega con la posibilidad de la creación de aplicaciones offline. Imaginemos que hemos puesto un juego creado en una etiqueta canvas con javascript (uno mismamente como CanvasRider), y queremos que el usuario pueda usarla aunque no esté conectado. Lo que tenemos que hacer es crear un archivo app.manifest listando los archivos que tienen que descargarse. Algo así:

#Cache para la aplicación offline
#HTML
index.html
#Javascript
_js/aplicacion.js
#CSS
_css/aplicacion.css
#Imágenes
_img/imagen1.png
_img/imagen2.png
_img/imagen3.png
_img/animacion.gif

Una vez hecho el archivo .manifest hay que enlazarlo con la web. Lo primero es meterlo como atributo en la etiqueta html del archivo hmtl principal:

<html manifest = "app.manifest" >

Se debe configurar el tipo MIME correcto en el servidor para que reconozca bien el archivo. Si usas Apache en la carpeta /conf/ encontrarás la carpeta mime.types, debes añadir al final:

#HTML5 applicacion cache_offline access
text/cache-manifest manifest

Si por lo que sea no puedes acceder a este archivo (tal vez porque tu empresa de hosting no te lo permita), puedes crear un archivo .htaccess en la carpeta web con este texto:

AddType text/cache-manifest .manifest

Cuando el usuario visita el sitio, el navegador compara los archivo manifest (local y remoto) y comprueba si son iguales. Si el archivo remoto cambió el navegador descarga todos los archivos listados en él. Es posible forzar al navegador a cargar determinados recursos siempre de la red, por medio de la instrucción NETWORK. Por ejemplo, si quisiéramos que una imagen siempre sea cargada desde el servidor, dentro del archivo manifest habría que declararlo así:

NETWORK:
imagen1.png

El problema de hacer esto es que si la aplicación se utiliza offline la imagen se tratará de cargar desde el servidor. Para solucionar esto se puede utilizar otra instrucción que especifica que si no existe conexión se cargue un archivo local, y si la hay se cargue el archivo desde el servidor. Este es la instrucción FALLBACK:

FALLBACK
imagen1.png imagen1Local.png

Y no sólo esto, sino que también podemos especificar que en caso de que estemos sin conexión se muestre la misma imágen para todas las imágenes de la página, tal que así:

FALLBACK
_img/ _img/imagen1Local.png

Mientras los archivos manifest se comparan y se descargan los nuevos archivos varios eventos se disparan en un objeto llamado ApplicationCache. Con este objeto, por ejemplo, podemos actualizar al usuario con los nuevos archivos descargados sin necesidad de volver a lanzar la aplicación.

El objeto window.applicationCache tiene varios métodos, pero los más destacados y útiles son:

  • cache.status: Nos muestra el estado de la app mediante una serie de constantes.
    • 0 = uncached
    • 1 = idle
    • 2 = checking
    • 3 = downloading
    • 4 = updateready
    • 5 = obsolete
  • cache.update(): Llama al proceso de descarga de cache. Lanza una excepción INVALID_STATE_ERR en caso de que no exista cache que actualizar.
  • cache.swapCache(): Cambia la cache mas reciente en caso de que exista uno, si no, arroja una excepción de tipo INVALID_STATE_ERR

Un pequeño ejemplo de cómo lograr actualizar la aplicación con los archivos nuevos sin recargarla:

cache = window.applicationCache;
cache.addEventListener('updateready',function{
    cache.swapCache();
},false);

Candlemass – Nightfall

Vamos a popular un poco la sección de «Joyas musicales», que de momento sólo cuenta con los Ghost. Y toca seguir con oscuridad, con una de las joyas del doom metal editada en los 80.

¿Doom metal cristiano? Suena raro como concepto, pero la temática letrística de este album apunta hacia ahí. Eso sí, esto tampoco es Stryper, Candlemass no están evangelizando a nadie, y mezclan esos conceptos cristianos con misticismo, magia negra y agonía, en un doom metal de proporciones épicas.

Y épico es ya el comienzo del disco. Tras la intro Gothic Stone la poderosa The Well of Souls se mete en tu cabeza, con Messiah Marcolin tremendamente dramático y poderoso, agonía épica para un tema pesado a la par que majestuoso. Luego la instrumental Codex Gigas nos lleva a la melódica a la par que oscura y agónica At the Gallows End y, tras esta, la joya de este discazo que es esa tremena pieza llamada Samarithan, un tema sobre amar al prójimo y recibir recompensas místicas rodeado de acordes hijos de Black Sabbath. Una versión de la marcha fúnebre da paso a otro de los clásicos de la banda, Dark are the Veils of Death, con un ritmo mucho más dinámico y menos pesado que las predecesoras. Mourners Lament nos devuelve a los tempos y cadencias sabbathicas, un tema con mucha tensión armónica en sus guitarras que será seguido por el riff hipnótico de Bewitched, para acabar claurusando el disco la instrumental y atmosférica Black Candles.

Algunos critican que de los 10 temas del disco cuatro sean cortas composiciones instrumentales a modo de intro/outro/interludio, pero para nada es un trabajo que se haga corto, dada la duración bastante larga de casi todos los temas no instrumentales (ninguno baja de cinco minutos y medio). Se puede decir que Candlemass combinan en esta época las dos vertientes de los años dorados de Black Sabbath: la agónica oscuridad de la etapa Ozzy con la poderosa épica más melódica de la etapa Dio. Era el debut de Messiah Marcolin con la banda y se mostró no sólo como un cantante poderoso y con presencia, sino también como un carismático frontman.

Tras este disco, el segundo de los suecos tras su debut Epicus Doomicus Metallicus, Candlemass se ganaron su lugar de oro en la historia del metal más oscuro, definiendo la etiqueta Epic-Doom junto con el sonido de los primeros trabajos de My Dying Bride. Dejo un par de enlaces para que disfrute de sus temas aquí y aquí. En fin, disfruta doomizándote.

Ubuntu Studio, la alternativa libre para tener tu estudio casero.

¿Eres de los que gustan de grabarse sus propias canciones en casa? ¿Te ha desquiciado trabajar con Windows? ¿Tu colega maquero te está comiendo la oreja para que te compres una manzanita? ¡Espera! Antes deberías probar la alternativa democrática (como diría Flecha Verde).

Ya ayer Aerilon comentaba el tema y en su página podréis encontrar también información sobre versiones antiguas del SO y tutoriales sobre el software que incluye.

Pero ¿qué te aporta UbutuStudio? UbuntuStudio es un sistema operativo pensado para el trabajo en el audiovisual. Ya seas un músico que se quiere grabar su maqueta casera, un videoartista, un tío que monta vídeos de bodas y comuniones o un programador de videojuegos, UbuntuStudio te ofrece un buen paquete de herramientas libres, drivers y estabilidad. Ofrece además soporte durante tres años, el liviano escritorio XFCE 4.8, kernel 3.2.14 de baja latencia.

En cuanto al audio, lo más destacable (lo que ya destaca Aerilon en su blog) es lo siguiente:

  • Ardour DAW
  • El previo de guitarra Guitarix
  • Audacity 2.0
  • QTractor DAW
  • Para el control de sesiones Gladish
  • Hydrogen Drum Machine 0.96
  • JAMin para la masterización
  • El editor de partituras MuseScore
  • Patchange y QjackCTL

Pero me reitero, que para temas de audio lo mejor es una visita a Aerilon. Pero como ya he dicho, no sólo de audio vive UbuntuStudio. También ofrece opciones para vídeo, como las siguientes:

  • El editor para stopmotion Stopmotion
  • El editor de vídeo Kino
  • El reproductor de vídeo sincronizable con JACK XJadeo

Y como no, un buen puñado para trabajar con gráficos:

  • El programa de animación 3D Blender
  • El software para edición de tipografías FontForge
  • El legendario editor gráfico GIMP
  • El editor vectorial Inkscape
  • El programa de animación 2D Synfig
  • La aplicación para publicaciones Scribus
  • El software para el «cosido» (stitching) de imágenes panorámicas Hugin

Herramientas libres para audio, video o diseño. Puedes grabarte tu propia maqueta, diseñar la portada, maquetar el libreto y editar el videoclip… ¿La calidad del resultado? Como siempre, depende de la calidad del artista. Tal vez como sistema operativo único no sea la mejor opción, por estar muy especializado en el trabajo de edición, pero puedes instalarlo junto a tu distri de Linux o a un Windows, para tener UbuntuStudio como tu herramienta para la edición, y por otra parte tu otro SO para las tareas de usuario medio. Puedes descargarlo desde softpedia en este link

NBA Play-Offs 2012 ¿quién es quién?

En esta temporada «resumida» por el cierre patronal (66 partidos) la verdad es que me he divertido mucho. En serio, la llamo la «temporada de las revelaciones»: Jeremy Lin, Goran Dragic, Nikola Pekovic, Marcin Gortat… suplentes que no pintaban nada y que se han convertido repentinamente en jugadores con impacto en la liga. Novatos como Enes Kanter o Jan Vesely no acabaron de tener minutos y parece que el Rookie del año será Kyre Irving, sobre todo tras la lesión de un Ricky que estaba cuajando un temporadón (los T-Wolves estaban séptimos en el oeste con Ricky en forma, y acabaron décimoprimeros tras la lesión, eso lo dice todo). Y sopresón que da Isiah Thomas (nada que ver con la leyenda de los Pistons) que ha hecho un año muy completo siendo el nº 60 del draft.

La lucha por el MVP parece cosa de tres: Kevin «Durantula» Durant (por tercer año consecutivo máximo anotador de la NBA y liderando a OKC), LeBron James y un Kevin Love (cuarto en anotación y segundo en rebotes) que cada año añade algo nuevo a su juego (me recuerda al más joven Duncan o a Karl Malone en eso de ir mejorando todos los años). Rose no revalidará por las lesiones, pero puede llevarse un premio mayor… del que hablaremos más adelante.

Para los ÑBA suerte dispar: Ricky espectacular hasta que una mala frenada le mandó al dique para el resto del año. Rudy, apañao como jugador de equipo, siguió mostrándose irregular hasta que su lesión de espalda le dejó también anulado para la temporada, y seguramente dio la palada definitiva a su carera NBA. Ibaka ha hecho una marca de tapones que no se veía desde Manute Bol. Calderón sobrio, cuarto mejor asistente de la NBA y mejor promedio de asistencias/pérdidas, lástima que esté en un equipo tan poco competitivo. Pau este año faltó al all star y su equipo le ofreció como moneda de cambio en varios traspasos, aunque finalmente rindió como el profesional que siempre es. Y si el mayor faltó al all star, el pequeño debutó en él, y finalmente Marc Gasol se confirma como uno de los mejores cincos de la NBA.

Para la historia quedará la nefasta temporada de los Bobcats de Jordan, que han firmado el peor porcentaje de victorias de la historia con un 10,6%… el mejor jugador de la historia nunca había perdido tanto (al menos deportivamente).

Pero a lo que vamos, ¿cómo se plantean los PO? Esta es mi predicción, empezando por el Oeste:

  • San Antonio Spurs: Otra vez líderes del Oeste. El año pasado dieron la sopresa negativa, perdiendo contra Memphis en primera ronda tras haber hecho una gran temporada. Este año han ido al revés: empezaron con calma y han acabado fuertísimos (sus 10 últimos partidos han sido victorias). Popovich juega a la europea, y el año pasado ganó Dallas siendo el equipo más «europeo» de la liga. Rotación larga para que no pesen los minutos a sus veteranas estrellas, son un equipo con 12 potenciales titulares. Los fichajes de Boris Diaw y Stephen Jackson mediada la temporada les han dado una solidez defensiva en el banquillo impresionante. Sólo Parker juega más de 30 minutos, el resto se repartirán para jugar alrededor de 20 minutos habitualmente. Con el corazón, les doy como favoritos por el Oeste.
  • Oklahoma City Thunder: No estaban tan fuertes desde que eran Seattle Supersonics y tenían a la pareja Kemp/Payton (cuando Georghe Karl reinaba en su banquillo). Tienen al que para mi es el mejor 3 de la NBA, Kevin Durant, a un anotador compulsivo como Russell Westbrook (que muchas veces peca de chupón, todo hay que decirlo), al seguramente mejor sexto hombre de este año (James Harden y su barba a lo Isaac Hayes), al mejor taponador de la liga (Serge Ibaka) y a un montón de expertos en defensa (Sefolosha, Perkins, Mohamed, Fisher, Collison). Juegan a lo que juegan, que es dar cera para que el rival no note y que se las jueguen Durant y Westbrook. Si los Spurs son mi favorito con el corazón, con la cabeza apostaría por OKC.
  • LA Lakers: Vencen, pero no convencen. Terceros en la liga regular, Kobe segundo máximo anotador, Bynum Mejor que nunca, Pau como siempre, Sessions sorprendente y Artest «Metta World Peace»… tan gilipoyer como siempre también (se perderá parte de la primera ronda por su «chiste» de darle un codazo a Harden). Los Lakers han batido el record de ganar más partidos por menos de 3 puntos de diferencia. El banquillo de vergüenza ajena, con jugadores que no destacarían ni el LEB (Blake, McRoberts, Goudelock…) y donde hasta destaca el ex ACB Christian Eyenga. ¿Opciones? No se les puede descartar a las primeras de cambio pero ¿sobrevivirán a un play off sin banquillo contra plantillas más sólidas como Spurs o OKC? ¿El ego de Kobe Bryant lastrará al equipo en algún momento de tensión?
  • Memphis Grizzlies: La sopresa del año pasado esta temporada se ha consolidado, logrando la mejor clasificación de su historia a pesar de haber tenido a su estrella Zach Randolph lesionado gran parte de la temporada, pero con Marc Gasol OJ Mayo, Rudy Gay y Michael Conley a gran nivel. Como a los Lakers les mata el poco banquillo. Tienen el cruce más complicado de la primera ronda, pero voy a confiar en que lograrán superar la primera ronda y tendrán un «duelo del morbo» en la segunda contra los Spurs (a los que eliminaron el año pasado en primera ronda contra todo pronóstico).
  • LA Clippers: El equipo de moda a principio de temporada al final no fue para tanto. La lesión de Billups les dejó muy cojos, y a pesar de hacer buenos fichajes no acaban de funcionar bien como equipo. Griffin es un show, un portento físico, pero ¿ha progresado desde la temporada pasada? Muestra síntomas de estancamiento a pesar de tener al lado a un Chris Paul (el clon baloncestista de Carlton Banks) que mejora a cualquiera. Apuesto a que no pasan de primera ronda.
  • Denver Nuggets: Si tengo que apostar por una sorpresa en primera ronda sería por ellos. Rotación larga y juego agresivo, eso hacen los del colega Karl (que aprendió mucho en Europa). Por estas caracterísiticas creo que podrían poner en bastantes apuros a unos Lakers cuyo banquillo carece de longitud.
  • Dallas Mavericks: El vigente campeón se ha visto muy debilitado este año. Su situación es compleja, ya que ni están en reconstrucción ni son tampoco un equipo con prespectiva de mejora a corto plazo. Nowitzki sigue siendo la estrella, también siguen los veteranos Terry, Marion y Kidd, pero no está la explosividad de Barea, no hay un pivot que aporte nada en la pintura (¿Haywood como titular? no me jodas). Reeditan la final del Oeste del año pasado en primera ronda, y no les veo con potencial para parar a Oklahoma.
  • Utah Jazz: La revelación de la temporada: gran rotación interior, jugadores muy jóvenes… Si mantienen esta plantilla son un equipo con potencial para los próximos años. Creo que pagarán la novatada en primera ronda contra unos Spurs que ya están de vuelta de todo. Meritoria campaña de un equipo al que creo que habrá que tener en cuenta el próximo año.

¿Y en el este?

  • Chicago Bulls: Han tenido a Derrick Rose, el MVP de la pasada temporada, lesionado más de media temporada. Y a pesar de eso han sido el mejor equipo de la NBA en liga regular. Bien reforzados respecto al año pasado con la llegada de Hamilton son un equipo muy sólido. La clave está en Rose, si la lesión de la temporada regular no se le reproduce puede que hasta le venga bien haber estado tanto tiempo sin jugar, ya que llega más fesco a PO. Con su estrella en forma y con la experiencia de la temporada pasada son el potencial favorito no sólo por el este, sino para llevarse el anillo. Pero como decía Blatt «tienen que estar todos». Si Rose está bien, finalistas y campeones, me mojo.
  • Miami Heat: Reconozco que no soporta a LeBron, y en general el rollito del Big Three «semos los mejores, maaaama» me tira bastante para atrás. Los vigentes subcampeones son para muchos el favorito, aunque dependen totalmente de sus tres estrellas. ¿Pueden derrotar a Chicago en una serie a 7 partidos? Es complejo, pero esta vez los bulls tienen más experiencia y saben lo que se les viene encima, y la defensa de Thibodeau (un experto en este campo) será implacable.
  • Indiana Pacers: El año pasado le complicaron mucho la vida a Chicago en primera ronda, este año sólo se podrían cruzar con ellos en la final de conferencia ya que han sido terceros. ¿Puede Indiana ser un favorito? Tienen una buena plantilla pero siempre me da la sensación de que falta un líder para los momentos calientes. ¿Granger? Jugadorazo, pero a veces me da la sensación de que se esconde. Con todo croe que le darán una segunda ronda muy incómoda a Miami.
  • Boston Celtics: Cruce duro contra Atlanta, los veteranos Celtics se han caído de muchas apuestas pero ¿enterramos al «green pride»? Pierce ha dado la sensación de estar mal físicamente, a KG le pesan los años (35 ya) y aunque Ray Allen sigue con la muñeca intacta parece que ha perdido velocidad, lo que le lastra en ataque. Rondo dirige con maestría, pero sigue teniendo un tiro mediocre, y el banquillo no es gran cosa. Pero con todo, no se les puede enterrar. Buen entrenador, mucha veteranía, en unos play offs su saber hacer puede valer mucho. No les veo favoritos, pero no creo que sean un equipo fácilmente derrotable.
  • Atlanta Hawks: Desde la lesión de Al Hortford se quedaron muy tocados, pero Josh Smith ha sabido ser un lider. Con toda su plantilla habría sido terceros, pero a pesar de las bajas han logrado un más que digno quinto puesto. Les toca un duro cruce en primera ronda contra los Celtics, y estamos en las mismas, son un equipo rocoso. Pasen ellos o Boston, a Chicago le tocará sufrir en segunda ronda.
  • Orlando Magic: ¿Sin Howard? Ni pinchan ni cortan. Como San Quintín no les eche una mano, son carne de eliminación rápida a manos de Indiana. Dependen mucho de su estrella, que estará en el dique seco hasta el próximo año. Creo que tienen la cabeza más en intentar hacerse con Deron Williams para el próximo año.
  • New York Knicks: Una de las rivalidades clásicas de los 90 se reedita este año en Play Offs. Knicks vs Heat. A pesar de la dupla Amare-Carmelo, a pesar de la explosión de Jeremy Lin, a pesar de la llegada de Chandler y JR Smith… es que ni con esas funcionan estos Knicks, donde se cargaron a D’Antoni pero no arreglaron nada. Tienen talento para optar al anillo, pero no son equipo, no funcionan juntos. Les veo fuera en primera ronda, pero si se espabilan igual desgastan a Miami. Equipo hay, pero ¿quién les convence para que jueguen?
  • Philadelfia 76’s: Buen equipo pero sin líder. Iguodala desde que firmó el megacontrato parece que se ha acomodado. Son rocosos, cuesta ganarles, pero si llegan a un final apretado ¿quién tira de galones? ¿el joven Evan Turner? ¿Un Iguodala que parece estar siempre a medio gas? ¿Un Elton Brand al que ya le pesan los años?. Son serios, defienden bien, desgastan al rival… pero nadie tira del carro.

Y como no, todas estas predicciones se pueden ir al guano si se lesiona alguno de los principales jugadores de algún equipo. O si Metta World Peace monta una pelea contra toda la grada y acaban sancionando a media plantilla de los Lakers hasta 2040.

Placeholder: texto dentro de los inputs en HTML5

Placeholder es una nuevo atributo y que te permite introducir un texto dentro de un input, siempre y cuando el campo esté vacío o no esté senalado. En la barra de búsqueda de Opera o de Firefox puedes ver algo similar. Si pulsas sobre el campo (o llegas a él mediante el uso del tabulador) el texto se borrará.

Este atributo está soportado ya por casi todos los navegadores, al menos por Firefox, Opera, Chrome y Safari, me ha dado problemas con IE7 e IE8 y no he podido probarlo con IE9. Y… no tiene mucha más ciencia esto. Tiene utilidad sobre todo a la hora de maquetar webs para dispositivos móviles, ya que así te puedes ahorrar la etiqueta y ganas en espacio en pantalla. Un ejemplillo simple para terminar:

      <form>
      	<input placeholder="Prueba" />
      </form>

Con esto tendrías una etiqueta input con el texto «prueba» por dentro.

Instalando Google Earth en Ubuntu 12.04

Aunque mañana (26 de abril) sale el «Pangolín preciso» muchos nos hemos descuernado estos días con la beta, teniendo ganas de probarlo antes de su salida. Como hoy hemos estado amenazados de «ciclogénesis explosiva» y, en general, hace un día de esos que no inspiran a salir de casa me he dedicado a buscar cuestiones por foros e intentar resolverlas. Esta es una de ellas ¿cómo instalar Google Earth en dicha versión? Desde linea de comandos son tres líneas, ya sea la versión 32 bits o la de 64.

Para la versión de 32 bits la cosa es así:

<br />wget http://dl.google.com/dl/earth/client/current/google-earth-stable_current_i386.deb<br /><br />sudo dpkg -i google-earth-stable_current_i386.deb<br /><br />sudo apt-get install -f<br />

Proceso explicado rápidamente: Descargamos desde el repositorio de google, desempaquetamos e instalamos lo descargado y, finalmente, instalamos las dependencias no cumplidas.

Para la versión de 64 bits la cosa es igual pero cambiando el nombre de la versión a descargar:

<br />wget http://dl.google.com/dl/earth/client/current/google-earth-stable_current_amd64.deb<br /><br />sudo dpkg -i google-earth-stable_current_amd64.deb<br /><br />sudo apt-get install -f<br />

Seeep, el proceso es el mismo. Con esto ya tenéis GoogleEarth en vuestro Ubuntu 12.04 Precise Pangolin.

Pero no es tan fácil, porque nunca es tan fácil. En Ubuntu 11.10 daba un problemilla al abrirse (se abría y se cerraba de golpe), no se si se mantendrá en 12.04 porque lo subsané antes de probar si fallaba (mea culpa… y culpa meó). La cosa es como sigue:

<br />sudo gedit ~/.config/Google/GoogleEarthPlus.conf<br />

Tenéis que editar el archivo de configuración, ya que el fallo viene por la ventana de sugerencias que se abre automáticamente. Para poder arreglar esto buscáis el parámetro enableTips=true y cambiáis el true por false. Con eso ya estaría. Si os falla tras instalar probar a hacer esto. No comprobé si había nuevos errores.

Ghost – Opus Eponymous

Reconocer la ralea de un metalero es fácil. Sólo tienes que preguntarle en cual de los países escandinavos se hace mejor música. Si te dice Noruega es que es un blackmetalero seguramente jovencillo, si te dice Finlandia es que es un frikazo así que puedes dejar de hablar con él, si te dice que Dinamarca es que King Diamond es su pastor (nada le falta). Si te dice Suecia puedes continuar la conversación.

Y de Suecia vienen estos Ghost. Nunca he sido papista, hasta que descubrí al Papa Emeritus I y sus huestes de Nameless Ghouls. Ghost es lo más satánico que me he echado a la cara desde que cayó en mis manos un disco de Diamanda Gaalas. Opus Eponymus es el disco que tiene a gente como Phil Anselmo, Rex Brown, Peeper Keenan y demás fumetas de la zona NOLA en un estado que no cagan. El disco revelación de 2010 (aunque se grabó en 2009).

Ghost - Opus Eponymous

El sonido de los Ghost es a la par clásico y fresco. Toma elementos de rock psicodélico, folk rock, doom metal, pop y death metal, mezclándolos de una forma elegante y amalgamada, no como otras bandas que mezclan vulgarmente estilos dispares sin orden ni criterio en un copia-pega evidente. En Ghost no verás partes metaleras al lado de partes psicodélicas, sino que estas se combinan perfectamente para dar un sonido que parece una mezcla de The Troggs, The Beatles o The Straws con Black Sabbath y Mercyful Fate.

El disco se abre con la intro Deus Culpa, seguida de Con Clavi Con Dio, un tema que empieza con un bajo distorsionado que da paso a este inicio de misa negra. Tras él la atmosférica Ritual y Elizabeth, seguramente el mejor tema que se ha hecho sobre la condesa Bathory. Stand By Him, Satan Prayer, Death Knell, Prime Mover… continúan esa senda de oscuridad psicodélica y elegante, demostrando que con su estilo melódico destilan más oscuridad que toda la dimmuborgiada berreando como si les hubiera pisado un testículo un coche. Y para cerrar el disco la instrumental Genesis, pura paranoia y genialidad in crescendo.

Papa Emeritus I

Y si su música es genial, su puesta en escena y su concepto como grupo no puede dejarse atrás. Está claro que no son los primeros que se enmascaran y ocultan sus identidades en directo tras unos personajes más teatrales (remitámonos a Kiss, Alice Cooper, Arthur Brown o más recientemente Slipknot, Mudvaine o Mushroomhead), si bien en su caso el concepto del enmascaramiento cambia. No buscan que su personaje asuma el protagonismo, sino que la ocultación de sus personalidades haga al público centrarse en la música y el espectáculo y no en la persona que está tras en instrumento. Todos los músicos ocultos como Nameless Ghouls, dejando que sea Emeritus I el que centre todas las miradas.

Pero todas las explicaciones que pueda dar sobre la puesta en escena y la música de esta banda no son suficientes, simplemente pincha en este enlace y disfruta de uno de sus directos.

Uso de la etiqueta audio en HTML5

Me estoy planteando hacer una sección html5 porque empieza a tener bastante peso en este blog. En cualquier caso, si antes hablé de vídeo ahora toca hablar de audio. De hecho el uso de audio es más sencillo que el de vídeo, tiene menos opciones.

Como ya sabes, la idea de la etiqueta audio es poder insertar archivos de audio directamente en una página web, sin necesidad de un reproductor en flash o de QuickTime. La sintaxis básica sería la siguiente:

<audio width="250" height="32" src="cancionEjemplo.mp3" controls="controls" autoplay="autoplay" preload=""/></audio>

Bueno, width y height son para definir el tamaño del reproductor, no son obligatorios y realmente lo mejor sería no tocarlos si no es necesario para adaptarlos a la maquetación de tu página. El resto los relato a continuación:

  • src: La propiedad src habitual, que enlaza con la dirección del contenido que queremos mostar, en este caso el archivo de audio.
  • controls: Nos permite implementar los controles básicos del reproductor: volumen, play/pause, seek.
  • autoplay: Nos deja especificar si queremos que el archivo de audio comience a reproducirse desde el momento en que se carga la página
  • preload: Permite que especifiquemos si queremos que el archivo comience a cargarse en el buffer antes de comenzar la reproducción, para que no se trabe durante la reproducción por intentar reproducir más de lo que ha cargado.

Como con las etiquetas de vídeo, el problema vendrá por la compatibilidad de los distintos formatos con los navegadores. No todos soportan todo, así que tendrás que romperte un poco la cabeza. En esta lista puedes ver qué formatos soporta cada navegador:

  • Google Chrome: Soporta tanto mp3, como wav y ogg.
  • Safari: A pesar de usar el mismo motor de renderizado que Chrome (el motor Webkit) no soporta el formato ogg, aunque sí mp3 y wav
  • Mozilla Firefox: Soporta ogg y wav, pero no mp3.
  • Opera: Igual que Mozilla, sólo ogg y wav.
  • Internet Explorer: IE9 soporta mp3 y wav, como Safari. De versiones anteriores del navegador de Microsoft ya no me preguntes.

Ok, all right, yeah man! Ahora te estás preguntando «¿y cómo me aseguro de que mi archivo se reproduzca en todos los navegadores?», o si leiste la entra de este mismo blog sobre la etiqueta vídeo ya no te lo preguntas, porque el método es igual. Hay que meter etiquetas source con los distintos archivos dentro de una etiqueta audio, tal que así:

<audio controls autoplay>
    <source src="prueba.ogg" type="audio/ogg" />
    <source src="prueba.wav" type="audio/wav" />
    <source src="prueba.mp3" type="audio/mp3" />
</audio>

Como te imaginas en la etiqueta source la propiedad src es lo mismo que en la etiqueta audio, y type nos permite definir el tipo de archivo que será.

En fin, como diría el guiñol de Michael Robinson «todo pescao vendido, hasta aquí todo por hoy» (léase con acento galés). Espero que os sirva de ayuda.