Envío de SMS gratuitos

Teléfono Móvil

Acabo de descubrir este servicio gracias al cual podéis mandar sms gratis. He probado a mandar un par de mensajes y han llegado, aunque no sé que grado de fiabilidad tendrá. Si os preguntáis cúal es el secreto, es que de los 160 caracteres de un SMS te dejan disponibles 110, los 50 restantes los usan para insertar publicidad. Por supuesto, yo no lo usaría para emergencias o mensajes importantes, además de no estar muy claro que hacen con los datos… pero son unos centimillos que te ahorras!

¡Espero que os sea útil mientras dure!

Vía Menéame y Genbeta.

Actualización: debería de haber hecho especial hincapié en el «mientras dure«… porque poco ha durado, la verdad. Ahora mismo si tratáis de envíar un SMS os saldrá un mensaje diciendo que «Actualmente no hay campañas activas», lo cual me lleva a pensar de que ya no les quedan SMS en un pack que contrataron y con el que acabaron antes de lo pensado debido al «Efecto menéame» y al tráfico llegado de otros blogs… Ahora toca esperar a ver si lo vuelven a activar, habrá que estar pendientes…

Revolución 2.0

Desde hoy Bloqnum.com será mucho más 2.0 que nunca… he decidido que vamos a favorecer las sinergias semánticas, a etiquetar las blogosferas semánticas y a reinventar el reparto de publicidad viral… entre otras muchas nuevas revolucionarias características.

Si no sabes de que hablo, eres un posible comprador de Bloqnum2.0!

Para generar tus frases vacías de contenido pero que llenan la boca un rato ni siquiera tienes que pensar, usa esta web (nótese el logo 2.0 y el estado beta de la aplicación).

Además he decidido crear una compañía, alentado por esta vacía burbuja, la compañía se llamará Tripbo y nos dedicaremos a «web-based apps via microformats» (aplicaciones basadas en la web a través de los microformatos), lo he decidido gracias al generador de empresas Dos Punto Oh!

Vía Elástico.net

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.

Qué es XGL y qué supone

Un buen artículo bastante informativo sobre qué es lo que en realidad supone XGL, que no se limita a compiz y las ventanas «flexibles».

Como no lo iba a explicar mejor que el artículo, simplemente os dejo enlazado el artículo :)

Carreras de Tron para Linux (y Windows)

Alvy publica en Microsiervos una reseña sobre un juego con estética Tron para emular las míticas carreras de motos, pero resulta que es sólo para MacOsX… así que os propongo otra versión libre, con versiones para GNU/Linux y Windows. Se llama GLTron, y aunque está un poco abandonado las carreras siguen siendo divertidas!

Tip: en debian (supongo que Ubuntu también) apt-get install gltron y voilà :)

Enlaces: Página principal, Descargas, Screenshots

Actualización: como comenta Magus, el juego que propone Microsiervos, Armagetron, tiene versiones para varias plataformas, creo que entendí mal su post. El juego es multiplataforma, pero dentro de la familia Mac sólo funciona con el Mac Os X.

Recibido el paquete de Ubuntus

Esta vez han sido muy rápidos, más que la última. Han llegado mis 10 Kubuntus, 5 Edubuntus y otras 10 Ubuntus (1 para 64 bits y otra para PPC) en unas 2 semanas desde que las pedí. Como en el mundillo No-Mac no tenemos paquetes cool para abrir y babear, lo más parecido supongo que será que te llegue el paquete de Ubuntus de parte de Canonical, así que os pongo una foto del ritual… jeje

IMAG0005

Ni que decir tiene que cualquiera que quiera algún cd de estos sólo necesita pedirlo y se lo doy encantado :-) (no , no son posavasos).

Ah, se me olvidaba, esta vez también han incluido un detallito y han metido 9 pegatinas de Ubuntu para ir fardando de Sistema Operativo por el mundo.

IMAG0007

Actualizado: caray, esta vez las ubuntus han triunfado (se ve que ha crecido en popularidad, y un montón!) y he repartido todos los cds en un sólo día. Bueno, sólo me han sobrado un par de Edubuntus y una Ubuntu para PowerPC. Se ve que lo de los cds gratis es un buen marketing entre los alumnos de ingenierías (responsable de publicidad, a qué esperáis para tomar nota!).