Muerte a Bloq Mayúsculas

Pues la cosa es como suena, Pieter Hintjens ha iniciado una campaña para difundir su opinión de que la tecla de Bloqueo Mayúsculas está obsoleta, no es necesaria y encima es la causante de numerosos fallos y malentendidos. Dice que es la causa de la mayoría de gritos involuntarios que se dan en internet y provoca la gran parte de fallos al introducir contraseñas, y es algo fuera ya de contexto, ya que se introdujo en el teclado por similitud con las máquinas de escribir, pero ya no es necesaria.

Incluso ha creado un blog para difundir su mensaje y conseguir la eliminación de esa abominación, una tecla enorme, metida donde control solía estar, usada solamente por 419 scammers y programadores de Fortran.

Pero lo que realmente me preocupa de la noticia no es la campaña de eliminación de la tecla, sino qué pasará con las teclas con función similar en el teclado? Será Bloq Despl su próximo objectivo (la verdad es que a esta tecla sí le veo una utilidad que tiende a cero, quien se apunta a matemosbloqdespl.blogspot.com? xDDD)… y lo que sería aún peor… no será todo esto una trama para acabar con BloqNum y hacer que el nombre de este blog se quede anclado a una tecla del pasado… Yo les doy los datos, ustedes deciden…

Los diferentes paradigmas de programación web

Hace un par de días leí un interesante artículo sobre los paradigmas de programación web en el blog de Abhijit Nadgouda. Lo encontré bastante explicativo, así que me puse en contacto con el autor para saber si le importaría que intentase traducirlo al español. Una cosa es entender el artículo y otra ha sido tratar de traducirlo al español entero, es más complicado y he tenido varias dudas que supongo que serán típicas en las traducciones de literatura especializada (traducir o no traducir el nombre de determinada tecnología, las siglas que usar [inglés, castellano]), amén de varias expresiones inglesas que me han resultado un poco difíciles de traducir (y quizás el resultado sea un tanto artificioso).

De todas maneras, con el espíritu de traducir un artículo que puede resultar útil a quien se quiera informar sobre el tema, lo he intentado. El resultado es el siguiente, y las modificaciones o correciones que aportéis serán más que bienvenidas!

_________

La Web ha sido la cumbre de las redes, desde los puntos de vista del software y social. Las redes de software llevadas al extremo han convertido la Web en una plataforma de redes sociales, de colaboración, de publicación de contenido como en los medios de comunicación y en plataforma de programación. De todas formas, la Web fue originalmente diseñada para documentos, como una forma de compartir información. Para ser capaces de hacer lo que queramos con la Web, hemos de hacerla programable.

Programando la Web

La Web es programable hoy en día. Puede ser programada para varios propósitos, algunos de los cuales han sido mencionados en el comienzo del artículo. Esta programabilidad deriva de los maduros principios genéricos del software. Se necesita una arquitectura, un diseño y una implementación. El software genérico de programación ha pasado por muchos cambios, algunos de los cuales pueden ser calificados como mejoras. Desde los estilos de programación como la programación estructurada la atención se ha desplazado hacia la arquitectura y el diseño, produciendo técnicas como POO y las nuevas arquitecturas Ágil y «Model Driven«. En líneas similares, hoy en día la Web está llena de incipientes arquitecturas y aproximaciones. Reflexionemos sobre algunas de ellas.

Servicios

El concepto de servicio fue creado para tratar de hacer hincapié en las loose couplings y en las relaciones cliente-servidor. El software anterior a la Web estaba normalmente atado al hardware y asociado a plataformas. La Web, siendo tan abierta y ubicua, no puede permitirse hacer eso. La Web fue creada para compartir, sin tales restricciones. De ahí vino el concepto de servicio. Un servicio es una función con un objetivo, sirve a todos los clientes sin ninguna restricción en sus detalles de implementación.

Arquitectura Orientada a Servicios (AOS, SOA en inglés).

Tal colección de servicios llevó a que los clientes pudiesen aprovechar la denominada como Arquitectura Orientada a los Servicios. Estos servicios se comunicaban unos con los otros, algunos colaboraban y otros trabajaban autónomamente.

Para ser capaces de establecer una etapa de entendimiento, los clientes tenían que obedecer los protocolos mencionados en el servicio. Los más populares eran XML-RPC y SOAP. Se centraban en abstraer la Web para aplicaciones y dominios. Un acercamiento distinto fue lleado a cabo con REST, que se centraba en usar la Web tal y como es, siguiendo sus principios básicos.

La ventaja de la AOS era que ahora los negocios podían escoger entre distintos servicios sin ser entorpecidos por la tecnología o por límites organizacionales. Ni las definiciones ni las especificaciones de las AOS estaban limitadas por la Web o dependían de ella. La AOS podría permitir interesantes mezclas e integraciones. El Software como un Servicio (Sofware As A Service, SaaS está completamente basado en esto y ha sido capaz de introducir el concepto de «subcontratación análogica» (analogical outsourcing) a la empresa.

De todas maneras hay algunas desventajas clave en esta aproximación. La mayor está en el esfuerzo para ser una plataforma agnóstica y portable, hundiendo a las AOS bajo una capa de especificaciones. Incrementalmente se hace difícil y costoso el ser capaz de cumplir con los protocolos y hablar con un servicio. Otra desventaja, que no tiene por qué ser grave a veces, es que los servicios no son descubribles. El conocimiento de los servicios es necesario para poder usar el servicio que proporciona un directorio de servicios. Dado que la Web es ilimitada por naturaleza, es imposible mantener tal directorio. Esto hace los SOA menos accesibles.

Arquitectura Orientada a la Web

Para hacer la AOS más ligera y más popular llegó la AOW. Básicamente es un subconjunto de AOS que recomienda REST antes que homólogos más pesados como SOAP. La filosofía de REST es diferenciar entre la programación en red y la programación de escritorio, haciendo más simple su uso con lo anterior.

AOW es mas personalizable para la Web al incluir REST. Y especializándolo puede deshacerse de las pesadas abstracciones que lo hace incluir todo.

Arquitectura Orientada a Recursos (AOR)

Éste es un acercamiento radical, desde el punto de vista de la AOS. Alex Bunardzic introdujo la AOR. Mientras que la AOW es conceptualmente suave, la AOR es una rebelde con causa. Alex señala que el concepto de servicios no debería ser aplicado a la Web. Como se menciona antes, los servicios no pueden ser descubiertos y es imposible mantener un catálogo. Aquí es donde va en contra de la Web, la AOR cree que la Web es explorativa por naturaleza.

Por la unicidad de la Web como medio, la única abstracción que le hace justicia es el recurso. La Web es una colección de recursos. Estos recursos son astronómicamente diversos, y sería matemáticamente imposible mantener una apariencia de un inventario razonable de los recursos de la Web.

Cada recurso en la Web, no importa cúan único o complicado sea, obedece un protocolo. Este protocolo tiene tres aspectos resaltables, éstos son:

  1. Cada recurso conoce cómo se representa a sí mismo al consumidor.
  2. Cada recurso sabe cómo hacer una transición de un estado a otro
  3. Cada recurso sabe como autodestruirse.

La AOR es mas un paradigma que un acercamiento de arquitectura, que considera que los recursos son elementos de la Web. La parte clave, de todas formas, es que pueden ser descubiertos, y una vez que son descubiertos pueden representarse a sí mismos. No hay un requerimiento de conocimiento previo del recurso para establecer una conversación, al contario que las habilidades cognitivas de un servicio en la AOS. La AOR está completamente basada en REST y aprovecha sus ventajas – simplicidad, conocimientos técnicos mínimos y URI para cada recurso. El uso de elementos básicos de la WWW original hace que sea fácil que dos recursos se comuniquen.

La única desventaja que le veo a la AOR es que está bien definido para la Web. Aunque puede haber implementaciones análogas en otras áreas, así como AOS no está conceptualizada en plataformas no-Web. Hay nuevos desarrollos apareciendo en esta área, pero aún no está tan maduro como la AOS.

Epílogo

Si se analizan, todos estos acercamientos se centran en tener un interfaz estandarizado.La AOR es más simple que la AOS, y usa los hipervínculos efectivamente para alcanzar una base más sólida. Pero si eso es un requisito será determinado por las necesidades de la Empresa.

¿Como desarrollador de software qué me interesa de todo esto? Bien, estos paradigmas están a punto de definir la dirección hacia la que la programación Web se dirigirá en el futuro. La que domine sobrevivirá. De todas maneras, para ser dominante tendrá que demostrar ser leal a la Web y a sus negocios. Si las dos coexisten, será crítico identificar la aplicabilidad de cada una de ellas. Si no, habrá que prepararse para manejar sus desventajas. De cualquier forma, esto afectará al negocio en el que sean usadas. Y con la Web jugando un papel importante, ¡este impacto no debe ser ignorado!

Referencias del autor:

_____

Por cierto, el post lo descubrí vía menéame.

AHHH… Mi monitor se deforma…

Si las posibilidades de XGL no estaban muy claras, gracias a este video he visto que por lo menos queda más que curioso funcionando con una pantalla táctil. Es algo que ya había pensado, pero viendo este video parece incluso divertido, como si el monitor reaccionase ante la presión que ejerce el hombrecillo sobre él (ya sé que lo hace, es táctil y todo eso, pero el resultado es muy natural).

Bueno, después de este intento de amenizar la presentación del video, lo pongo, que total es el centro de este post, para que nos vamos a engañar.

Visto en HispaMP3

Momentos de IRC divertidos

En el IRC se dan esos momentos irrepetibles de vez en cuando… y una recopilación genial de ellos es bash.org que, a pesar de lo que parece por la URL, no tiene nada que ver con bash

bloodninja: Baby, I been havin a tough night so treat me nice aight?
BritneySpears14: Aight.
bloodninja: Slip out of those pants baby, yeah.
BritneySpears14: I slip out of my pants, just for you, bloodninja.
bloodninja: Oh yeah, aight. Aight, I put on my robe and wizard hat.
BritneySpears14: Oh, I like to play dress up.
bloodninja: Me too baby.
BritneySpears14: I kiss you softly on your chest.
bloodninja: I cast Lvl. 3 Eroticism. You turn into a real beautiful woman.
BritneySpears14: Hey…
bloodninja: I meditate to regain my mana, before casting Lvl. 8 chicken of the Infinite.
BritneySpears14: Funny I still don’t see it.
bloodninja: I spend my mana reserves to cast Mighty F*ck of the Beyondness.
BritneySpears14: You are the worst cyber partner ever. This is ridiculous.
bloodninja: Don’t f*ck with me bitch, I’m the mightiest sorcerer of the lands.
bloodninja: I steal yo soul and cast Lightning Lvl. 1,000,000 Your body explodes into a fine bloody mist, because you are only a Lvl. 2 Druid.
BritneySpears14: Don’t ever message me again you piece of ****.
bloodninja: Robots are trying to drill my brain but my lightning shield inflicts DOA attack, leaving the robots as flaming piles of metal.
bloodninja: King Arthur congratulates me for destroying Dr. Robotnik’s evil army of Robot Socialist Republics. The cold war ends. Reagan steals my accomplishments and makes like it was cause of him.
bloodninja: You still there baby? I think it’s getting hard now.
bloodninja: Baby?
————–
BritneySpears14: Ok, are you ready?
eminemBNJA: Aight, yeah I’m ready.
BritneySpears14: I like your music Em… Tee hee.
eminemBNJA: huh huh, yeah, I make it for the ladies.
BritneySpears14: Mmm, we like it a lot. Let me show you.
BritneySpears14: I take off your pants, slowly, and massage your muscular physique.
eminemBNJA: Oh I like that Baby. I put on my robe and wizard hat.
BritneySpears14: What the f*ck, I told you not to message me again.
eminemBNJA: Oh ****
BritneySpears14: I swear if you do it one more time I’m gonna report your ISP and say you were sending me kiddie porn you f*ck up.
eminemBNJA: Oh ****
eminemBNJA: damn I gotta write down your names or something

Ésta viene de aquí… pero hay citas como para estar horas pasando un rato entretenido.

PandoraFM: usando Last.fm y Pandora a la vez

Hace ya algún tiempo que uso Last.fm y la verdad es que cada vez me gusta más (el rediseño que han hecho tras la inyección de capital resulta más profesional y web 2.0). Aparte del interés que tiene el ver las «relaciones musicales» que tienes con la gente con gustos similares, ir descubriendo grupos afines a tus preferencias tiene el interés añadido de poder oir una radio personalizada de acuerdo a lo que te gusta.

Pero al ser el origen de sus datos el aportado por los usuarios a veces falla un poco en la clasificación de artistas en categorías de similares, ya que aunque la gente que escuche The Beatles escuche también a The White Stripes no tienen necesariamente estilos musicales cercanos… Pero claro, para clasificar correctamente la música habría que hacerlo a mano, por gente experta en el tema… y ese es el enfoque de Pandora.

Pandora tiene un enfoque distinto para clasificar la música basado en criterios personales de expertos en música, siendo el resultado más detallado pero con un catálogo mucho menos extenso…

Pero a veces lo ideal es usar los dos servicios a la vez, escuchar la música de Pandora mientras lo que se oye se sigue subiendo al perfil de last.fm. La idea es simple, y hay otra web que realiza esa función, para hacerlo sólo hay que ir a PandoraFM.

Espero que os sea útil alguna vez :).

De como hacer un videoclip divertido con bajo presupuesto

Voy a poner un par de videoclips que me han parecido muy divertidos, y no gracias a sus efectos especiales ni a lo que cuentan, sino porque los que lo hacen se ve que se lo habrán pasado genial haciéndolo :)

El grupo se llama Ok Go, es una banda de indie rock de Estados Unidos (concretamente Chicago), y son conocidos por sus tres singles, «Get Over It», «A Million Ways» and «Here it Goes Again.»

Este es el videoclip de A Million Ways, que cualquier grupo de 4 amigos con un grupo podría haber grabado en el jardín de su casa (después de unas cuantas horas de entrenamiento, supongo, eso sí…).

Este otro video es de la canción Here it goes again, y es del mismo estilo aunque esta vez han cambiado el escenario y lo han hecho en una sala con 6 máquinas de correr, ya véis, tampoco es ninguna superproducción…

Lo gracioso es que en directo también hacen los bailecitos estos, debe de ser divertido verles en concierto. Y como la percepción de que es algo que cualquiera podría hacer no es sólo mía (yo siendo original, no!), les han surgido cientos de imitadores, algunos valientes incluso suben sus videos a youtube.

PD y Offtopic: hay algo que me fastidia (un poco) de mi WordPress, y es que cuando convierte los emoticonos en imágenes les añade un salto de línea después (como la cara feliz de este post), y me pasa lo mismo en los comentarios. Alguien en la sala me puede guiar en mi fallo de configuración? Gracias mil!

Efecto sonoro típico: El grito de Wilhelm

No sé si os habrá pasado alguna vez, pero hay efectos sonoros que se oyen en varias películas. Yo siempre identifico un sonido que usan para las patrullas de bomberos y el de las patrullas de policía, incluso los usaron en el juego SimCity (o al menos eso creí reconocer…).

Uno de estos efectos sonoros que se usan en diversas películas es el grito de Wilhelm. El grito se usó por primera vez en 1951, en la película Distant Drums y desde entonces se ha usado en muchísimas películas, series de TV e incluso videojuegos. En la wikipedia hay una lista de películas que usan este grito.

En este video podéis ver extractos de varias películas donde lo usan, resulta curioso verlas todas seguidas…

Si aún no lo habéis oido suficiente después de ver el video recopilatorio, aún podéis descargarlo aquí.

Vía Webmaníacos
Extra: lista de clichés sonoros en el cine