Google Cloud Print

Google Cloud Print es un servicio de Google creado para permitir que cualquier aplicación con Cloud-Print de cualquier dispositivo en la nube pueda imprimir desde cualquier impresora, sin necesidad de instalación de ningún tipo de drivers por parte del usuario.

Google Cloud Print usa del protocolo XMPP y del puerto 5222 para realizar las comunicaciones con el servidor de impresión. Las transferencias de archivos se realizan por el puerto 443.

Los únicos requisitos que se exigen para su uso, son los de tener una cuenta de Google, un navegador Google Chrome y una impresora. Se recomienda que preferiblemente sea una impresora preparada para imprimir en la nube, ya que no necesitan de un ordenador para su configuración.

Si se trata de una impresora normal, habrá que registrarla en la cuenta de google Cloud Print, recomendando para ello tener instalado, al menos, Windows XP SP3 y un navegador Google Chrome.

Si lo que queremos es usar una impresora preparada para para imprimir en la nube, la página de Google Cloud Print nos proporciona una lista de marcas que disponen de este tipo de impresoras:

http://www.google.es/cloudprint/learn/printers.html

Accediendo a cada marca podremos ver que modelos tienen dicha característica.

Las grandes ventajas que dispone este servicio de impresión en la nube, frente a las que funcionan vía WiFi, consiste en que con Google Cloud Print se puede imprimir desde cualquier dispositivo con tu cuenta de Google, compartir tus impresoras e imprimir a través de Internet sin necesidad de usar configuración de proxys. Algo necesario si se pretende hacer algo parecido mediante impresoras WiFi.

Además, como ya he puntualizado anteriormente, no es necesario la dependencia de instalación de drivers para cada ordenador en concreto, como cuando se usan impresoras convencionales.


Instalación y Configuración

Voy a proceder a añadir una impresora para ver cual sería el proceso a seguir paso a paso.

Primero, me conecto a mi cuenta de Google en el navegador Chrome. Tras esto nos vamos a Configuración

1

Y le damos a Administrar Google Cloud Print. Nos llevará a la siguiente página:

2

En mi caso voy a añadir una impresora clásica, ya que no está preparada para Cloud Printing.

Nos aparecerá otra pantalla donde nos detectará los dispositivos de impresión conectados al ordenador:

3

Elegimos la que queremos añadir, en mi caso la Epson ESC/P-R.

4

Si ahora accedemos a la página de administración de impresoras de Google Cloud Print, podemos ver todos los dispositivos disponibles:

5

Incluso nos da la opción de subir directamente un trabajo desde el ordenador para impresión o ver la cola de trabajos de impresión.

6

Voy a imprimir un documento que ya tengo en mi Drive. Para ello, accedo a Drive, al documento en si y le doy a la pestaña de imprimir.

7

Nos saldrá la configuración de impresión. Si pulsamos sobre destino, podremos elegir la impresora que va a imprimir el documento:

8

Sólo tenemos que elegir la impresora de Google Cloud Print que queramos usar y listo.


Por último, mencionar otros servicios disponibles que son alternativos a Google Cloud Print, como pueden ser Apple Airprint, ThinPrint Cloud Printer o PrintNode.

El primero está pensado exclusivamente para dispositivos Apple y por desgracia parece ser que sólo funciona si el dispositivo se encuentra en la misma LAN que la impresora, por lo cual no se podría llamar del todo alternativa.

ThinPrint Cloud Printer en cambio es un servicio que funciona para todo tipo de dispositivos independientemente de la plataforma y a través de la nube.

PrintNode tiene asimismo un cliente multiplataforma, permitiendo incluso añadir Cloud Printing a nuestras aplicaciones si somos desarrolladores. Aseguran en su web, que los documentos que se mandan para imprimir por la nube no son almacenados en sus servidores, como puede pasar con Google. La única pega que tiene es que no es un servicio gratuito.

Multicast DNS

Los protocolos Zeroconf (o Configuración Zero) que implementa Avahi se conocen como mDNS y DNS-SD(Servicio de Descubrimiento DNS).

Zeroconf es un conjunto de técnicas que permiten crear de forma automática una red IP sin servidores especiales. También conocida como APIPA, permite a usuarios sin conocimientos técnicos conectar ordenadores y otros dispositivos y hacerlos funcionar. Sin Zeroconf un usuario con conocimientos técnicos debe configurar servidores como DHCP y DNS o configurar cada ordenador manualmente.

El proposito de mdns (DNS multicast) es el de resolver nombres de host a direcciones IP dentro de pequeñas redes que no incluyan un servidor de nombres local.

El protocolo mDNS está publicado en el RFC 6762, usa paquetes UDP multicast.

Cuando un cliente mDNS trata de resolver un nombre de host, manda un mensaje de consulta multicast para que el host con el nombre consultado se identifique. Entonces la máquina con dicho nombre responde por multicast incluyendo su IP. A partir de entonces cualquier máquina de la subred puede usar la información para actualizar sus cachés de mDNS.

Además, cualquier host puede renunciar a su posesión de nombre de dominio mandando un paquete de respuesta con un TTL de valor 0.

La trama Ethernet mDNS es un paquete UDP multicast con:

Direccion MAC 01:00:5E:00:00.FB (IPV4) o 33:33:00:00:00:FB(IPV6)
Direccion IPv4 224.0.0.251 o IPv6 FF02::FB
Puerto UDP 5353

mDNS es incompatible con zonas unicast DNS que terminan en .local, y no es recomendable usarlo en este tipo de redes. Sin embargo una solución es poner en el archivo de configuración /etc/nsswitch.conf:

hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4

Es la configuración recomendada para Avahi (la implementación mDNS para Linux) y que lo hace autoritativo para .local.

mdns4_minimal trata de resolver nombres via multicast DNS sólo si terminan en .local, mientras que mdns4 hace lo contrario, tratar de resolver nombres que no terminan en .local

Fuentes:

http://avahi.org/wiki/AvahiAndUnicastDotLocal

Piratas de Silicon Valley

Una película que cuenta los inicios en el mercado informático de Apple y Microsoft, de sus creadores Steve Jobs y Bill Gates y su competencia desde entonces.

Me ha parecido bastante realista en cuanto a los hecho acontecidos, si bien, al ser un film de 1999, deja en el tintero algunas de los hechos mas actuales, aunque menos relevantes en cuanto a lo que se quiere contar en la historia.

Desconocia bastantes cosas, no solo ya de la vida privada de ambos, sino de sus comienzos como el hecho de que el Altair 8800 influyese tanto en el despegue de Bill Gates en Microsoft, y de MITS (Micro Instrumentation and Telemetry Systems), la empresa electrónica de Albuquerque que la construyo :

O que Steve Jobs propusiera el nombre de su hija (Lisa) para el primer ordenador con interfaz gráfica de usuario:

Es curioso observar los enfoques empresariales que se muestran de los 2, aun con sus exitos posteriores: Steve Jobs cuya obsesión era desbancar a IBM y la de Bill Gates de buscar el beneficio y la fama haciendo y aliándose con quien fuera necesario.

Fuentes: Wikipedia

MathML

MathML (Mathematical Markup Language) es un lenguaje de marcas basado en XML que permite introducir el uso de expresiones y notaciones matemáticas en paginas web, y su difusión y procesamiento entre programas matemáticos. Se puede estructurar tanto en TeX como en XML, la primera opcion nos permite una estructuración mas simple, mientras que la segunda nos permite un uso mas amplio en programas matemáticos y diseño web.

Para tomar un ejemplo se puede ver la siguiente expresion:

Asi quedaria estructurado en Tex:

x = \frac{-b \pm \sqrt{b^2 - 4ac}}{2a}

Y en lenguaje de marcado MathML quedaria de la siguiente manera:

<math>
 <mrow>
  <mi>x</mi>
  <mo>=</mo>
  <mfrac>
    <mrow>
      <mrow>
        <mo>-</mo>
        <mi>b</mi>
      </mrow>
      <mo>&PlusMinus;</mo>
      <msqrt>
        <mrow>
          <msup>
            <mi>b</mi>
            <mn>2</mn>
          </msup>
          <mo>-</mo>
          <mrow>
            <mn>4</mn>
            <mo>&InvisibleTimes;</mo>
            <mi>a</mi>
            <mo>&InvisibleTimes;</mo>
            <mi>c</mi>
          </mrow>
        </mrow>
      </msqrt>
    </mrow>
    <mrow>
      <mn>2</mn>
      <mo>&InvisibleTimes;</mo>
      <mi>a</mi>
    </mrow>
  </mfrac>
 </mrow>
</math>

La ultima versión disponible de MathMl es la 3.0 vigente desde 2010.
Para la publicación de material científico o también para uso cotidiano, lo mas normal es que se utilicen editores de ecuaciones, programas de conversión u otro tipo de software especializado para generar MathML. Este tipo de herramientas se suelen encontrar tanto en su versión comercial, como en software gratuito.

MathML no solo lidia con la presentación sino también con la semántica matemática.
El mayor numero de marcas son usadas para la semántica que para la presentación, especificando el significado de cada proceso dentro de las expresiones matematicas a usar.
Un ejemplo de MathML usado en XHTML es el siguiente para usar la formula del área de un circulo :

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <title>Example of MathML embedded in an HTML5 file</title>
  </head>
  <body>
    <h1>Example of MathML embedded in an HTML5 file</h1>
    <p>
      The area of a circle is 
      <math>
        <mi>&pi;<!-- π π --></mi> 
        <mo><!-- &InvisibleTimes; --></mo> 
        <msup> 
          <mi>r</mi> 
          <mn>2</mn> 
       </msup> 
     </math>. 
   </p> 
 </body> 
</html>

Fuentes: Wikipedia