Seguimos con el repaso al mundo del libro, independientemente del soporte, con estas lecturas breves:
Cada vez que voy a Madrid me quedo maravillada con las iniciativas para fomentar la lectura que tienen en el metro (soy una convencida de que el transporte público es el segundo lugar donde más se practica después de nuestros hogares… me refiero a la lectura, por supuesto ). Por un lado está la campaña libros a la calle que consiste en publicar pedazos de libros en diferentes lugares de los vagones. Normalmente coincide con columnas cercanas a las barras y en las que es probable que haya gente de pies. En esos instantes suele ser difícil aguantar el equilibrio y además sujetar un libro, así que tendemos a leernos hasta los papeles de las multas para no aburrirnos. Por tanto, los lugares son más que estratégicos . Junto a esto está también el bibliometro: pequeñas cabinas para el préstamo gratuito de libros. Indagando un rato esto del bibliometro me ha llevado a descubrir que también está funcionando en el metro de Santiago de Chile.
Como era de esperar, se armó la gorda con el iPad. Nunca había visto una cobertura igual a un dispositivo electrónico desde los medios de comunicación convencionales. Sin embargo, no termino de verlo como el sustituto a los e-readers… Además, parece que la competencia de los tablets sólo acaba de empezar: iFreeTablet es la alternativa española y de software libre al artilugio de Apple. Desarrollado por la Universidad de Córdoba, cuenta con un sistema operativo libre (Siesta) y será bastante más barato que el iPad.
Os recomiendo daros un paseo por la Biblioteca digital mundial. Una plataforma que cuenta con el apoyo de la UNESCO y que recoge importantes materiales de culturas de todo el mundo, ordenados por épocas, lugares, áreas temáticas, tipos de artículos o instituciones que las han donado (más de 25 de todo el mundo que han trabajado bajo la coordinación de un equipo de la Biblioteca del Congreso de los Estados Unidos).
Si el Kindle os parece muy caro, podéis disfrutarlo en vuestro PC de forma gratuita. Amazon ha puesto a disposición del usuario la descarga de un software para poder leer los libros de Kindle en el ordenador. Por ahora sólo está disponible para los windowseros.
Aunque esto vaya de lecturas breves, también aceptamos los audiolibros como animal acuático… y más si vienen con campañas de publicidad tan saladas como la imagen que acompaña a este post de la Librería online dig2go.com.
Últimamente he estado jugando un poco con ENUM, y casualmente la semana pasada también lo comentamos en Asterisk-ES, así que me he animado a escribir un post al respecto.
DISCLAIMER: No soy un super-mega-experto conocedor de la tecnologia en sí, pero la he utilizado y la entiendo, espero que os sea util
ENUM o tElephone NUMber mapping es un sistema que nos permite utilizar el sistema DNS para hacer consultas en base a numeros de telefono. Ein?! Normalmente hacemos consultas DNS sobre un dominio para saber cual es la IP a la que apunta, su servidor de correo, o si usa SRV hasta cual es su servidor SIP. Con ENUM hacemos la consulta DNS (de tipo NAPTR) en base a un numero de telefono y podremos obtener informacion como una URI SIP, información de geolocalización, blog, twitter, … Lo interesante es que podemos obtener una URI SIP a la que podemos llamar en lugar de al número, por lo que el coste de la llamada quedaría reducido a 0. How cool is that?
Como siempre que hay algo gratis involucrado, surgen los problemas: ¿quién llena las bases de datos ENUM? ¿está la gente interesada? ¿y las grandes telcos? Seguramente el principal problema de la no expansion de ENUM sea que es un servicio que no se puede cobrar, por lo que es algo que se hace pero que no retorna un beneficio ni inmediato ni directo. Por otro lado, para poder introducir tus datos en ENUM es necesario contactar con la autoridad responsable y demostrar que tal número es tuyo. El proceso implica demostrar mediante facturas, etc. que eres el usuario de dicho número, pero esto no es como darte de alta en Twitter, y la gente no suele querer perder el tiempo… Ademas, las grandes operadoras obviamente no quieren que la gente use ENUM, porque entonces no facturarias las llamadas que gracias a ENUM se hacen por SIP.
¿Entonces quién usa ENUM? ENUM tiene un árbol publico (e164.arpa) pero nadie te impide tener tu propio árbol ENUM privado, por lo que es posible utilizar ENUM internamente dentro de un ITSP por ejemplo, de manera que antes de sacar la llamada de un cliente a PSTN podemos consultar en ENUM si la llamada es para otro usuario de nuestra red, y enrutarla a coste 0 (esto se puede hacer de muchas maneras, ENUM es una de ellas).
Bueno, tras la brasa inicial vamos a ver si algo de lo que he dicho es verdad. Para ello vamos a ver un ejemplo real, con el siguiente numero: +40317105163. Se trata de un DID de Rumania que apunta a la cuenta SIP de mi trabajo asi que absteneos de intentar venderme viagra a las 4 de la mañana Para ver qué información tiene asociado ese número de telefono haremos una consulta DNS de tipo NAPTR al arbol e164.arpa:
Como se puede apreciar en la imagen la consulta devuelve 4 resultados: una URI SIP, dos direcciones web y una dirección de geolocalización. Al parecer esto del ENUM no es del todo mentira
El Capitán Obvio me ha dicho que esto no tiene sentido a menos que la gente introduzca ahí su número, y claro está que no es algo que muchos particulares estén dispuestos a hacer, pero para empresas, y mas concretamente las del sector de las comunicaciones y/o VoIP podria resultar interesante (en realidad para los que les llaman).
En el siguiente post comentaré que utilidad podemos darle a ENUM desde un móvil con Android, stay tuned!
Sobreviviendo, que no es poco. Estamos (plural mayestático, que nadie se lleva a engaños) moviendonos con entrevistas, viajes para hacer entrevistas, cursos y proyectitos a punto de echar a andar.
Vamos, que menos empleo fijo y cotizable, todo me viene. Siento el microblogging, mañana será otro día.
Invitada por la Asociación Española Contra el Cáncer y Ausonia, el viernes tuve la suerte de conocer de cerca parte de la inmensa actividad que lleva a cabo esta Asociación. Estuvimos en la Residencia oncológica de Madrid, donde se pueden quedar los enfermos de cáncer y sus familiares de forma gratuita cuando tienen que acudir a consulta o tratamiento y no viven en Madrid. Un lugar donde encontrar una cama, una oreja que te escuche y algo muy curioso: una cocina donde cada familia puede prepararse su propia comida (me ha gustado muchísimo este detalle).
También pudimos escuchar a Javier A. Menéndez, investigador del ICO (Institut Català d’Oncologia), que además de abrirnos los ojos con el triste panorama que se presenta en España tras la reducción de fondos dedicados a la investigación (un 15% menos para la investigación supone unos 10 años de parón en investigación y una más que probable huida de cerebros), nos ha explicado de una forma “comprensible por humanos” en qué líneas están trabajando con la exposición CÁNCER, ENVEJECIMIENTO Y BIO-ENERGÍA . En búsqueda del “interruptor metabólico”. Si os soy sincera, salí con un medio ataque de agonía al descubrir que soy una urna con papeletas para tener un cáncer, porque no cuido mi alimentación, hago deporte menos de lo que me gustaría (a ver si vuelvo a mi ritmo de dos días por semana) y vivo de una forma muy sedentaria… Pero como Javier nos dijo, nunca es tarde para cambiar y los resultados se notan al instante.
De la visita me llevo muchos apuntes pero uno es muy claro: somos carne de cañón de los días mundiales. El día mundial contra el cáncer nos preocupamos de esa enfermedad y el resto, a seguir por el mal camino. Por desgracia, para los que están enfermos, todos son días mundiales contra el cáncer. Días de lucha. Y necesitan de mucha ayuda. Así que me parece importantísimo conocer cosas que hace la aecc y que no siempre se saben:
Es una ONG que no recibe dinero del Estado (exceptuando subvenciones a las que puedan optar proyectos concretos). ¿Y de dónde sacan el dinero para poder llevar a cabo tantas acciones? Pues básicamente de sus socios, donativos, … sin olvidarnos de que la mayoría del trabajo lo desarrollan voluntarios. Incluso la presidenta, Isabel Oriol, es voluntaria.
A pesar de esto, funciona como una entidad pública. Todo se hace por concurso público.
Infocáncer es un número de teléfono gratuito (900.100.036) al que cualquiera puede llamar para informarse, obtener ayuda psicológica, … Está atendido por voluntarios debidamente formados que trabajan en estrecha colaboración con un equipo de profesionales de la Asociación.
No sólo ofrecen apoyo y ayuda a los pacientes y su entorno. También ponen especial hincapié en la prevención y promueven la investigación oncológica mediante su Fundación Científica y ayudas a las investigación.
(Un pensamientos así a vuela pluma capturado en un momento de descanso en un área de servicio con wifi….)
4 millones de parados (yo uno), el pensionazo, subidas de IRPF, aumento de la edad de cotización… y los sindicatos silbando. ¿Qué cojones esperan para montar algo gordo? ¿Al apocalipsis?
No entiendo cómo, por ejemplo, en Francia, por [...]
Seguimos siendo fieles a la cita un año más (y van 6 ya), a pesar de que esta edición se adelante un poco en el calendario.
Este estupendo grupo de entusiastas de Eibar/Ermua parece que no baja el listón porque el programa del UniEncounter de 2010 es muy completo: fotografía digital, Android, las TIC en la educación, seguridad informática, Counter Strike y Guitar Hero…
La presentación que utilizaré está colgada hace tiempo en Slideshare, porque ya hemos trabajado con ella previamente en Aprendices, en el hackmeeting del 2009, y con el grupo de Jon Bustillo de la EHU/UPV
La asistencia es gratuita, así que si queréis, os podéis pasar por el UNI de Eibar/Ermua y compartir con nosotros una tarde centrada en Educación, TICs y mucho software libre
Cuando uno escucha que una sala de cine cierra, inevitablemente piensa en el glamour y el ambiente decadente de un teatro antiguo reconvertido a sala de proyección de películas. Pero este no es el caso. La noticia es que los cines Bilbondo cierran.
Y ya digo que no estoy hablando de un cine clásico al uso, [...]
Por delante vaya que no me gustan las pelís que destilan un canto de alabanza a figuras históricas. Pero la mezcla del rugby y la realidad social de la Suráfrica recien salida del apartheid, juntado con la habitual pericia de Clint Eastwood me llamaba. Y la peli cumple. No estás las dos horas con la [...]
La semana pasada estuvimos por el Search Congress aprendiendo un poco de ese peculiar mundo que es el del SEO (por cierto, el congreso un poco flojo…). Y si algo me quedó claro es que, en un futuro próximo, cuando Google estrene su nuevo algoritmo (Google Caffeine), el tiempo de carga de nuestras páginas, blogs, etc… tomará un protagonismo estelar. Así que afiné mucho las orejas para anotar formas de optimizarlas. La mayoría de trucos los obtuve del workshop que más me gustó: el de Javier Casares. Son pequeños tips que van rascando milisegundos. Pero pasito a pasito se hacen grandes recortes.
Empecemos con herramientas para poder monitorizar cuál es el estado de nuestra página web. Si usas firefox, dos son tus plugins: firebug + page speed. Con firebug, en la pestaña de red podemos comprobar cuánto tarda nuestra web en cargar, qué elementos se piden y en qué secuencia, si tenemos algún fichero que no está bien enlazado, etc… Y page speed es un complemento para firebug que nos hace un diagnóstico, indicando consejos a seguir.
Aquí os paso unos cuantos:
Sacar todos los estilos y javascripts a un único css y un único js. Y es que por cada fichero que incluimos, el navegador web tiene que hacer una petición. Esa petición tiene un consumo de tiempo y ancho de banda, así que contra menos ficheros tengamos, mejor. Se recomienda cargar los estilos en el head y los javascripts que no tengan document.write, en el footer y con el atributo defer.
Cuando tengamos un único css y un único js, lo mejor es reducir el tamaño de ambos. Para ello tenemos dos utilidades muy interesantes: jsmin o YUI Compressor para los javascripts, que pone todo el código en una única línea, reduciendo el tamaño del fichero considerablemente, pero poniendo difícil la posterior edición y revisión del código; Clean CSS o CSS compressor hace lo mismo para los estilos.
Además de esta reducción de tamaño, hay que habilitar gzip y deflate para comprimir toda la web que se le pasa al cliente. Esto carga la parte servidor porque tiene que hacer la compresión correspondiente por cada petición, pero aligerará mucho al cliente, que recibe menos contenido.
Hay que comprobar que no enlazamos a ningún fichero que ya no existe. Esto lo podemos revisar con el firebug. Si algún elemento nos devuelve un 404, esto suele retrasar bastante la carga.
Podemos bajar el tamaño de nuestras imágenes sin bajar su calidad. Dependiendo del tipo de fichero, tenemos varias utilidades que se lanzan desde línea de comandos:
Si usamos imágenes, lo ideal es poner su ancho y alto en la etiqueta img para que el navegador no tenga que calcularlo.
Si usamos varias imágenes fijas, lo mejor es cargarlas en un único fichero y colocarlas luego con CSS sprites. Por ejemplo, Google lo hace en su página de resultados. Carga todo en una imagen y luego usa cada uno de los elementos mediante coordenadas. Así se evita un montón de peticiones.
Con los contenidos estáticos, jugar mucho con la fecha de expiración de la caché (Never expire). De esta forma, el navegador del usuario cacheará los elementos y no los pedirá en posteriores navegaciones. Para los contenidos dinámicos, usar una cabecera Cache-Control apropiada.
Si tenemos la posibilidad de subir los contenidos estáticos a un dominio diferente del que sirve nuestra página y que no mande cookies por cada elemento, ahorraremos también ancho de banda y tiempo. Además se podrá “paralelizar” la descarga de elementos.
Se dijo por allí que un tiempo razonable de carga es de menos de 2 segundos, así que me temo que muchas nos tendremos que poner las pilas .
» Interesante enlace de buenas prácticas para acelerar la carga de páginas webs.
Hoy haremos el Nexus One un poco menos “aburrido” El Market tiene muchas aplicaciones, sí, pero no somos root, no podemos hacer tethering, ni tener OpenVPN… ¡asi que toca flashear!
Para poder tener una mayor libertado sobre nuestro terminal y poder flashear cualquier ROM primero flashearemos una recovery image, de manera que podamos hacer una copia de seguridad de todo el firmware y jugar sobre seguro. El asunto es que para poder instalar esta recovery image será necesario desbloquear el bootloader, algo que invalida la garantía, así que si no os importa ese pequeño detalle seguimos adelante.
En este post haremos lo siguiente: desbloquear el bootloader, flasear la ROM CyanogenMod 5.0 beta3 y por ultimo flashear una nueva imagen del kernel que permite direccionar más RAM, de manera que el terminal se movera mas ‘fresco’. No será necesario hacer nada especial para hacernos root en el terminal, ya que la ROM que vamos a instalar ya lo trae de serie. ¡Vamos al lio!
Con el terminal apagado, mantenemos pulsado el trackball y pulsamos el boton de encendido para entrar en el menu del bootloader. Una vez alli utilizaremos la herramienta fastboot para desbloquear el bootloader:
./fastboot-linux oem unlock
Al ejecutar el comando nos saldra una ventana advirtiendonos de las consecuencias. El Capitán Obvio nos ordena que aceptemos.
El zip de fastboot tambien contiene los binarios para Windows y Mac, usad el que corresponda.
Instalar el Recovery Image
Flasheamos la imagen de recovery con fastboot (tenemos que estar en el menu del bootloader igual que antes):
./fastboot-linux devices (nos aseguramos de que nuestro androide es detectado)
./fastboot-linux flash recovery recovery-RA-nexus-v1.5.3.img
Instalar la ROM CyanogenMod 5.0 beta3
Primero tenemos que copiar los ficheros zip de la ROM de Cyanogen y las aplicaciones de Google a la raiz de la tarjeta SD.
Llegado este punto lo mejor es hacer un backup completo del terminal, seleccionando la opción “Nand backup”.
Antes de proceder a flashear nada es necesario que hagamos un wipe del terminal (al loro, que se borra TODO). Para ello iniciamos el terminal en el menu del bootloader y seleccionamos la opción recovery y luego “Wipe data/factory reset”.
Una vez hecho el wipe podemos proseguir a flashear, primero la ROM de Cyanogen y luego las aplicaciones de Google. Para ello utilizaremos la opción “Flash zip from sdcard”.
¡Más RAM por favor!
El Nexus One tiene mucha RAM, pero nunca hay demasiada RAM asi que vamos a instalar un nuevo kernel con soporte para direccionar más memoria, de manera que podamos tener más aplicaciones abiertas simultánemente sin que se nos ralentice el sistema.
Madre del amor hermoso, que llevo más de dos meses sin escribir. Aunque, bueno, para los que no se hayan enterado, en los comentarios del post anterior hay diversión garantizada para toda la familia, señora! Nada más divertido que cuando los libremercadistas y los sociatas debaten a ver quién la tiene más grande. La economía, [...]
Bueno, para el que no se haya enterado de la noticia de la semana en el ámbito tecnológico, Apple ha presentado un tablet PC llamado iPad. El caso es que la compañia de la manzanita aprovecha como pocos la defensa a ultranza que sus adeptos hacen de sus nuevos juguetitos. Y el cachondeo en forma [...]
Una de las cool features que SIP soporta desde un principio es el Parallel Forking. La idea es sencilla, podemos tener nuestra cuenta de usuario registrada desde diversas ubicaciones y cuando nos manden un INVITE el proxy se encargará de mandarlo a todas las ubicaciones a la vez, y el que primero conteste la llamada se la queda. De esta manera solo tenemos que gestionar una identidad,en lugar de tener varias cuentas SIP en plan “saghul_laptop” y “saghul_hardphone”.
Como no podía ser de otra manera Asterisk no soporta parallel forking, pero veremos más delante cómo algo tiene que decir en el tema del post.
En el diagrama de abajo podéis ver el flujo SIP de una llamada de Alice a Bob a través de un proxy (las respuestas provisionales se han omitido para simplificar):
Bob se encuentra registrado en 2 ubicaciones, por lo que los dos terminales comienzan a sonar. Bob contesta en la oficina, por lo que el proxy genera un CANCEL al INVITE que va a casa, para que el terminal deje de sonar. Hasta aquí todo va bien, pero al volver a casa Bob verá que tiene X llamadas perdidas, llamadas que en realidad ha atendido desde la oficina. ¿Cómo solucionamos esto? ¡El RFC3326 viene al rescate!
E RFC3326 define una nueva cabecera para el método CANCEL: “Reason”. Mediante esta cabecera podemos indicar al terminal la causa de la cancelación:
De esta manera el terminal puede saber si el CANCEL ha sido debido a que el llamante ha decidido cancelar la llamada o si ha sido el proxy el que ha generado el CANCEL porque la llamada ha sido contestada en otra ubicación. ¿A que mola?
OpenSIPS añade esta cabecera a los CANCEL que genera desde la versión 1.6 y Kamailio si no lo hace ya lo hará pronto (he visto esta feature request propuesta por un tal ibc ). Sorprendentemente ¡Asterisk también soporta esto! Es decir, si haces un Dial(SIP/saghul&SIP/manwe&SIP/ibc) los CANCEL generados para los que no cojan la llamada tendrán esta cabecera presente. Es el parallel forking de los pobres, pero mola que Asterisk lo soporte.
¿Cual es el problema entonces? Pues que los fabricantes no implementan este RFC, que tiene 8 páginas, ¡8 jodidas páginas! Por lo que veo Snom es el único que lo soporta desde su versión 7 del firmware, así que si alguien lo prueba que me lo comente pliz Y si encontráis otro terminal que lo implemente ¡comentad también!
Sin la implementación de este RFC el parallel forking pierde todo el carisma e incluso puede que gente lo vea como algo molesto. Por lo que a mi respecta voy a implementar el soporte para esto en cierto softphone, pero manda huevos que mi Cisco 7960 de Jack Bauer no lo haga…
Estamos en 1965. La leyenda (y la wikipedia) dicen que una noche, Keith Richards se despertó con un riff de guitarra en mente. Cogió una grabadora y su guitarra, lo grabó con las palabras “I can’t get no satisfaction“, se dió la vuelta y siguió con su sueño. La cinta contenía dos minutos de riff [...]
Hoy día 27 de Enero del 2010, ha sido liberada la versión 3.3.0 de SpamAssassin. En breve empezará a estar presente en los paquetes de las distintas distribuciones Linux, aunque para los que usamos CPAN ya está disponible esta última versión.
En el Changelog se puede leer una amplia lista de cambios y nuevas features introducidas en esta nueva versión.
A modo de resumen, comento varias de ellas:
- Las reglas no se distribuyen ahora con SpamAssassin, sino de forma independiente, por lo que después de instalarlo habrá que hacer un sa-update para proceder a bajarlas.
- El plugin de AWL (AutoWhiteList) pasa a estar deshabilitado por defecto. Daba bastantes problemas así que me parece correcto.
- El plugin de DKIM, pasa a estar habilitado por defecto. Un pequeño empujón para el tema de DKIM ;-)
- Nuevos parámetros para soportar reputaciones del servicio DCC
- Nuevas opciones para debugging
- Los scores de las reglashan sido generados mediante un algoritmo genético y pulidos gracias a reportes de usuarios, beta testers.
- Añadidas las listas PSBL, CSS, ReturnPath…
- …
Para ver la lista completa de cambios, remito al Changelog que ya he comentado :-)
La verdad es que hace unos días que ya estaba disponible el nuevo sistema operativo de Google, pero hasta hoy no me he puesto a probarlo y cacharrear con el. A primera vista decir que es un sistema operativo es un pelin exagerado ya que básicamente se trata de una distribución GNU/Linux, mas concretamente una Ubuntu, con las xorg y librerías GTK instaladas. Lo suficiente para lanzar el navegador Web de Google llamado, como no, Chrome. Básicamente podemos hacer los mismo instalando una Ubuntu Server, las xorg y añadir una línea en rc.local para que lance un navegador al iniciar la sesión. Aun así, en el caso de Chrome OS es algo un poco mas elaborado ya que dispone de un sistema de login que se autentica a través de http con Google usando tu cuenta de Google. Por tanto ChromeOS, como ya habian manifestado de de Google, es un sistema operativo basado en su navegador y en “aplicaciones en la nube”.
Manos a la obra
Para empezar lo mejor es instalar ChromeOs en una VMWare y hacer las pruebas desde la maquina virtual. Para lo cual podemos bajarnos una imagen desde:
Una vez descargada la imagen crearemos una nueva maquina virtual.
Crearemos una Maquina virtual típica y seleccionaremos “Instalare el sistema operativo mas tarde”. Como sistema operativo seleccionaremos Linux y la distribución UBUNTU.
En nuestro caso llamaremos a nuestra Maquina Virtual ChromeOS. Una vez creada descomprimiremos la imagen de Crome descargada anteriormente y la copiaremos dentro del directorio ChromeOS donde hemos creado la maquina virtual.
A continuación añadiremos la imagen descargada y la configuraremos como disco duro principal. Para lo cual iremos a configuración. En el listado de Hardware pulsaremos Añadir y elegiremos añadir un Disco Duro. En nuestro caso elegiremos usar una Imagen ya existente.
Por tanto seleccionaremos la imagen descargada y la añadiremos manteniendo el formato original. Una vez añadida la nueva imagen podemos eliminar la imagen creada por defecto.
Ya tenemos la Maquina Virtual instalada por lo que ya solo nos queda ejecutar la maquina virtual y empezar a usar ChromeOS.
Para logearnos deberemos usar nuestra cuenta de Google. En caso de tener problemas con la conexión aseguraros que la tarjeta de red esta en modo bridge.
Si aun así no conseguis logearos podéis usar el usuario local.
Username: chronos Password: <en_blanco>
En las próximas entradas explicare como acceder como root a la consola y configurar ChromeOS en Castellano y la posibilidad de conectarse a través de un Proxy.
Adobe lanza Flex y Air para Linux. A mi no me decía mucho, ya que conocía estas tecnologías de oídas, y la verdad es que no tenia ni idea de que se trataban.
En el artículo comentan que Air es algo similar al Prism de Mozilla, por lo que me he podido hacer una idea inicial y no he tardado en intentar hacer algún script de ejemplo.
Instalando la SDK
Lo primero que tienes que hacer es instalar el “interprete” de AIR para poder ejecutar tus aplicaciones.
Es un archivo HTML normal. En el head editamos la etiqueta titulo para definir el titulo que aparecerá en la ventana. En el body editamos una etiqueta iframe que se enlazara con el cliente flash de Gtalk propio de Google.
Si abrimos GTakl.html podemos ver que el cliente funciona correctamente.
Por tanto es hora de probar que funciona nuestro scripr de AIR. Por tanto ejecutaremos el comando ADL
Y veremos ejecutarse nuestra aplicación de AIR.
Finalmente “compilaremos” nuestra aplicación para generar un .air instalable y redistribuible.
Para ello deberemos primero crear un certificado.
Y finalmente generar a instalador.
Ya disponemos de una aplicación GTalk basada en Adobe AIR multiplataforma.
HTML 5 va a ser la revolución. Se acabaron los trillones de plugins ralentizando nuestros navegadores, llenando nuestras webs de feos cuadrados que tardan en cargar y que terminan por colgarlos.
Ya no tendremos que poner un código embebido como si de un conjuro arcano se tratara, bastará con una etiqueta <video> y arreglado. Suena bien, ¿verdad? A música celestial, si no fuera por lo chirriante del códec H.264, que amenaza con arrebatar a la Web gran parte de su libertad.
H.264 exige el pago de una licencia anual de 5 millones de dólares. Internet Explorer, Chrome o Safari no tienen mayor problema en pagar esa cantidad teniendo a Microsoft, Google y Apple por detrás. La Fundación Mozilla podría tratar de recolectar ese dinero y quizá lo conseguiría, pero ¿qué hay del resto de proyectos de navegadores libres? ¿Qué éxito puede esperar un proyecto libre de navegador que no incluya la posibilidad de reproducir vídeos? El bazar del que nos hablaba Eric. S. Raymond quedaría reducido a 3 tiendas de marca y un puesto de ropa libre que resiste con dificultades.
“La web es innegablemente mejor porque Mozilla entró en el mercado de los navegadores, pero habría sido imposible hacerlo si hubiera existido un costo de licenciamiento requerido para usar HTML, CSS, JavaScript y otros”
La alternativa propuesta por la Fundación Mozilla es clara: usar OGG/Theora como códec de vídeo estándar, ya que es tecnología libre que puede emplearse en cualquier proyecto de software sin mayores problemas.
¿Qué podemos hacer para impedir esto? Por de pronto presionar a Youtube o a Vimeo para que sus versiones en HTML 5 soporte códecs libres. Una manera organizada de hacerlo es sumarse a esta petición.
No siempre se puede achacar todo a la mala suerte. También hay que reconocer que puedo tener cierta desidía o apatía. Reconozco que lo fácil es echar balones fuera y decir que todo son circunstancias externas. No. Reconozco -y vaya por delante- que si estoy como estoy es por mi culpa en gran medida.
Pero si [...]
Muchos de los Hostings que usamos para albergar nuestras webs tienen una limitación de ancho de banda mensual. Por tanto es bastante interesante disponer de un sistema de almacenamiento de imágenes que nos permita disponer de dichos archivos sin consumir ancho de banda de nuestro posting. En este artículo voy a explicar como realizar una pequeña aplicación para tener nuestro mirror de imágenes.
En este articulo no voy a dar por echo que el lector conoce y se maneja en el entorno Google App Engine por tanto me centrare en explicar el código utilizado.
main.py
class Mirror(db.Model):
name = db.TextProperty()
mime = db.TextProperty()
picture = db.BlobProperty(default=None)
class GetImage(webapp.RequestHandler):
def get(self,name):
image = getImageFile(name)
if (movie and movie.picture):
self.response.headers['Content-Type'] = image.mime
self.response.out.write(image.picture)
else:
self.response.out.write(“<!DOCTYPE HTML PUBLIC \”-//IETF//DTD HTML 2.0//EN\”>\r\n”)
self.response.out.write(“<html>\r\n\t<head>\r\n”)
self.response.out.write(“\t\t<title>404 Not Found</title>\r\n”)
self.response.out.write(“\t</head>\r\n\t<body>\r\n”)
self.response.out.write(“\t\t<h1>Not Found</h1>\r\n”)
self.response.out.write(“\t\t<p>The requested URL /%s was not found on this server.</p>\r\n”%name)
self.response.out.write(“\t</body>\r\n</html>\r\n”)
def getImageFile(name):
images = Mirror.all()
for image in images:
if image.name == name:
return image
return None
Comos sabéis la aplicación que subimos a los servidores de Google corren en una SandBox donde no es posible escribir en disco, por tanto usaremos el sistema de almacenamiento de GAE para almacenar las imágenes. Por tanto primero de todo deberemos definir un modelo de datos.
En este caso definimos la estructura Mirror con sus propiedades name (nombre de la imagen), mime (mime de la imagen) y picture (la imagen en bruto).
Comos sabéis el sistema de paths de GAE es gestionado a través de SGIApplication por tanto para poder acceder a las imágenes almacenadas deberemos definir una política de paths. En este caso he definido la siguiente:
Es decir en caso de acceder a / se nos mostrara la pagina principal a través de la clase MainHandler y en caso de que se nos muestre / se nos mostrara el archivos a través de la classe GetImage.
La clase MainHandler en caso de se accedida mediante GET mostrara el formulario HTML (form.html) y un listado de imágenes almacenadas, para hacer mas legible el código he optado por usar la funcionalidad de platillas que ofrece GAE.
El formulario envía su mismo path la imagen utilizando el método POST por tanto en el tetrodo POST de la clase MainHandler donde se almacenara la imagen enviada.
La Clase GetImage
La clase getImage recoge en el parámetro nombre de la función get el resultado de la expresión regular definida en el path r’(.*)’. Por tanto en este caso name será el nombre del archivo. Mediante la función getImageFile recorremos la base de datos y buscamos el archivo solicitado.
Si existe el archivo este es mostrado modificando la cabecera Content-Type con el mime del archivo para que el navegador lo muestre correctamente. En caso contrario se muestra un mensaje de error.
form.html
Se trata de un ejemplo sencillo, no hay validación de imágenes duplicadas. Además seria posible enviar un código de control a través de la petición POST para evitar que nos suban imágenes de terceros o incluso usar el sistema de jogging de Google.
Seguimos a la caza del contenido en el mundo de los ebooks y Javier Celaya nos presenta una lista de 50 buscadores para llegar hasta ellos. Un complemento ideal al listado de webs donde encontrar libros digitales gratis.
¿Qué puede hacer Twitter por mi biblioteca? Excelente site en el que se describen posibles usos de este sistema de microblogging en las bibliotecas, además de contar con un directorio de personas de ese mundillo en Estados Unidos.
Cuando aún no han despegado del todo los e-readers, parece que ya tienen a sus killers resoplando en la nuca: los tablets. Y para variar… todos a la espera de los movimientos de Apple el 27 de enero. Parece ser que la tinta electrónica tiene una patente propiedad de una empresa taiwanesa que mantiene los precios por las nubes: el 66% del coste final se va por ahí .
A falta de más y más cacharrería (esto es peor que la guerra entre VHS y Beta), aparecen también soluciones de software. Ese es el caso de Blio eReader, una plataforma que funcionará en muchos dispositivos (e-readers, móviles, ordenadores, …) mostrando los e-books de una forma más atractiva (con imágenes a gran calidad, vídeos, …). Ha sido presentado en el CES (Consumers Electronics Show) y veremos la acogida que tiene… Qué incierto es todo
Como algunos sabéis por Twitter, aprovechando la jugada de la ITEXPO me he agennciado el juguete de moda: un Nexus One. Tras unos días jugando con el voy a comentar un poco el feeling que he tenido en diversos aspectos. Es obvio que el Nexus One ha sido diseñado para competir con el iPhone, y como casualmente también tengo uno, no puedo evitar compararlos
Proceso de compra
Un 10 para Google. Hice el pedido un domingo por la tarde y el martes a las 9 de la mañana ya tenía el jueguete. Puedes seguir vía web por dónde va tu paquete, joder ¡solo falta el DNI de las personas que lo manipulan! ¡Y encima con mi nombre inscrito detrás! Me lo trajeron sin problemas al hotel, así que si váis de viaje a Estados Unidos por más de dos días no dudéis ni un segundo
Unboxing y primer contacto
Al abrir la caja te encuentras con un embalaje bastante similar el iPhone, sencillo, sin manual. Cuando te compras un Nokia u otro móvil te viene con un super-manual de 100 páginas que no se lee nadie. Cuando te compras un iPhone o un Nexus One no viene manual. Porque no hace falta. Es tan fácil de usar que no necesitas manual, y eso aunque a alguno le parezca un bug es una feature.
El feeling del terminal es muy bueno: no pesa, parece consistente y robusto… pero le falta algo. Es dificil de explicar, pero podría decirse que veo el Nexus One como diseñado por un ingeniero mientras que el iPhone esta diseñado por alguien con más arte, por decirlo de alguna manera. No obstante, no echarás de menos tu iPhone, créeme.
Pantalla
Aunque la pantalla del N1 es solo 0,2 pulgadas más grande que la de el iPhone da la sensación de ser mucho más grande. Las fuentes son muy claras (de hecho es la que uso en mi desktop, ttf-droid) y se puede visualizar mucha más información que en el iPhone. Parece como si tuviera el doble de resolución o algo. :-O
Aplicaciones
Queridos señores de Apple, más vale que el iPhone OS 4.0 tenga multi-tasking, porque sino… El hardware del N1 es muy potente (procesador a 1GHz y 512MB de RAM) por lo que puedes tener muchas aplicaciones abiertas a la vez y ni te enteras. Personalmente siempre tengo un softphone SIP y un cliente de Jabber funcionando, y no tiene sentido abrir las aplicaciones solo cuando tu quieras hacer una llamada o mandar un mensaje, tienes que poder recibir llamadas…
“Apertura”
Vale, el iPhone funciona con un sistema operativo propietario y el N1 con uno libre, pero me he encontrado con las mismas trabas en ambos casos: si quieres hacer cosas diferentes con tu N1 tienes que ser root, y para eso tienes que realizar un proceso (habrá otro post ) que invalida la garantía. Lo mismo que hacer el famoso jailbreak, así que no por utilizar un sistema operativo libre tienes todo el control sobre el terminal… ¿got root?
Concluyendo…
No os rallo más, pero si tenéis la oportunidad de haceros con uno (566$ libre) cogedlo, además ¡ser un early adopter siempremola! He dejado unas fotos aquí en Flickr.
Esta va a ser una crítica simple. Porque la peli es una historia simple: Básicamente, un tipo que vive en los hoteles y que se dedica profesionalmente a despedir a empleados porque los jefes de sus empresas no se ven capaces de hacerlo. Esto, que le convierte en una persona moralmente cuestionable, el tipo lo [...]
Desde el punto de vista ético, porque el capitalismo se basa en la competencia, es decir, en la lucha. Los empresarios deben luchar por el dinero, y eso provoca conflictos. Y no sólo entre los que libremente han decidido ser empresarios, sino a veces entre los trabajadores, que, metidos en unos sistemas de ascensos basados en la competencia entre iguales, se ven obligados a pisotear a sus compañeros para no ser ellos los pisoteados.
Desde el punto de vista económico, porque no garantiza el reparto de los recursos. Las empresas que ganan en esa lucha se vuelven más difíciles de batir en el futuro, por lo que cuanto más dinero tienen, más dinero ganan; es una retroalimentación positiva, que da lugar a un crecimiento exponencial; prueba de ello es que existen empresas con un tamaño gigantesco, llamadas multinacionales. La economía de los Estados se vuelve dependiente de dichas empresas, ya que sus quiebras generarían una gran pérdida de puestos de trabajo, y con ello, morosidad, deflación, etc. Esto les da un gran poder, y obligan a los Estados a liberalizar cada vez más sus economías, es decir, a cambiar las condiciones económicas del momento por otras que favorezcan más a las multinacionales, con medidas como privatización de los servicios públicos, abaratamiento de despidos..., medidas todas ellas que crean desigualdades. También porque el modelo teórico capitalista no se cumple en la práctica. En los sectores donde las empresas deben ser de gran tamaño para prevalecer, como telefonía o construcción de obra pública, necesariamente hay un pequeño número de ellas, insuficiente para que exista una competencia real. La libertad de mercado en estos sectores es una quimera.
Desde el punto de vista cultural, porque somete la producción de arte y ciencia a las leyes de oferta y demanda, en vez de buscar el desarrollo como un fin en sí mismo. El capitalismo no cura enfermedades: las trata, ya que es más rentable un tratamiento prolongado que una cura rápida. No progresa lo que puede, sino que escalona el desarrollo para vender producto en todas las etapas del mismo. No premia al mejor artista, sino al que más vende. No premia al investigador con más talento, sino al que trabaja en los campos que más ganancias proporcionan. El arte y la ciencia ya no son un fin en sí mismas, sino un medio más para conseguir rentabilidad.
Desde el punto de vista personal, porque al estar sometida la economía a los vaivenes de un enorme sector privado, las personas no consiguen tener un oficio. Uno no puede decidir ser orfebre, peluquero, botánico o posadero, sino que debe dedicarse a lo que le dicten las leyes del mercado, o sucumbirá. Crea una sensación de libertad porque el Estado no decide la profesión de la gente, ni apenas pone cortapisas a la actividad empresarial; pero esta sensación es un engaño, porque el individuo se debe someter a las leyes del mercado, que no son dictadas por ningún pueblo ni interpretadas por ningún juez. Así como el ciervo no es libre de pasearse tranquilamente por entre una manada de leones, tampoco un científico altruista será libre de inventar un remedio barato y eficaz contra la obesidad.
En suma, el capitalismo crea una sociedad malvada, injusta e infeliz, a la vez que frena el desarrollo cultural y científico. Por eso el capitalismo debe desaparecer del planeta.
Artículo extendido del publicado en la Revista Deusto Nº 105 (invierno 2010)
El título de este artículo se inspira en el encabezado “Los libros no están muertos. Simplemente se están asomando a las pantallas“, que ocupó la portada de la popular revista estadounidense Newsweek en noviembre de 2007, en la que Jeff Bezos, el director ejecutivo de Amazon, anunció una revolución de la mano de los nuevos dispositivos que decía, inundarían el mercado. Dos años después, aún están intentando introducirse y no son muchos los contenidos disponibles en versión digital. Sin embargo, pasados cinco siglos desde la imprenta de Gutenberg, un nuevo soporte promete cambiar la forma en que leemos.
En el mundo editorial más de uno se repite aquello de que “cuando las barbas de tu vecino veas cortar, pon las tuyas a remojar”. Y es que las nuevas tecnologías, y en especial Internet, están modificando los modelos de negocio de muchas industrias: la del cine, la música, … y pronto harán lo mismo con la del libro. A pesar de la innegable erótica del papel, los nuevos dispositivos de lectura, también conocidos como e-readers, se están haciendo un hueco en el día a día del lector. Con su tecnología de tinta digital que no emite luz y que, por tanto, no cansa la vista, poco a poco vamos descubriendo a más personas que han sustituido su soporte tradicional por el electrónico en transportes públicos (segundo lugar donde más se practica la lectura después de nuestros hogares).
En el año 2000, Stephen King decidió usar Internet como medio de distribución exclusivo de su novela “Riding the bullet“, llegando a más de 400.000 lectores. Tras esta iniciativa pionera introdujo una nueva modalidad de distribución en la Red con la publicación por capítulos de otra novela, “The plant” y la venta de cada uno de ellos por un dolar. En el 2002 las editoriales Random House y HarperCollins comenzaron a vender versiones electrónicas de sus títulos en Internet. En España, a la primera obra interactiva, “El misterio del Goya robado” de Jordi Sierra i Fabra, le han seguido otras como Pateando paraísos de Fernando Arrabal o la cuarta entrega de “El Capitán Alatriste” de Arturo Pérez Reverte.. Proyectos aún embrionarios y en fase de consolidación que van abriendo el camino al más que incipiente cambio.
Todo un mar de interrogantes aún inunda a las dos piezas pivotantes de esta nueva lectura digital: los contenidos (e-books) y los aparatos (e-readers). Muchos son los dispositivos que ocupan ya los escaparates comerciales, aunque sea a un precio prohibitivo que oscila entre los 250 y los 400 euros: Papyre, Kindle, Nook, Sony Reader, … Y mientras se libra una lucha encarnizada por convertirse en el mecanismo de lectura de referencia, en el otro extremo (el de los contenidos), aún queda mucho por decidir, como por ejemplo el estándar de intercambio de e-books. Ante el conocido PDF de Adobe, Amazon apuesta por su formato propietario y cerrado que sólo funciona en el dispositivo Kindle: azw. Google, entre otros, intenta conquistar una nueva industria como es la literaria con el estándar abierto ePub, creado por el International Digital Publishing Forum, que se podrá leer en cualquier dispositivo. Sony juega a dos bandas: por un lado trabaja con su formato Sony Broadband eBooks (BBeB | .LRF), pero también es compatible con ePub.
Pero, una vez hecho el desembolso correspondiente al e-reader, ¿dónde podemos encontrar los e-books para alimentarlo? Al más que célebre y comercial portal Amazon.com, se van sumando otras opciones como:
BookServer
Internet Archive es una organización sin ánimo de lucro que busca preservar la historia de la Web mediante un repositorio universal de información y recursos multimedia. Con más de un petabyte (un millón de gigabytes) de contenidos, Archive.org recoge desde los históricos de muchas de las páginas web, donde podemos ver cómo han ido evolucionando a lo largo del tiempo, hasta imágenes y películas con licencias libres.
Ahora arrancan un ambicioso proyecto dedicado a los libros digitales: BookServer es un sistema abierto de búsqueda, compra o préstamo de libros. Algo así como un catálogo universal y abierto que permitirá a autores y editores controlar las ventas de forma directa y a los usuarios finales, buscarlos de una forma sencilla. Será un mero intermediario, enviando tras la búsqueda al sitio de la editorial o autor. Cualquiera podrá publicar aquí sus obras y hacerlas así accesibles en la búsqueda. El sistema está montado sobre una arquitectura libre y sólo permitirá formatos de libros abiertos que se puedan leer tanto en ordenadores como smartphones, consolas, o cualquier modelo de e-reader.
Google Editions
El gigante de Internet no se conforma con su proyecto de repositorio de libros Google Books, con el que recibió un cachete en Estados Unidos hace tres años tras una denuncia por parte de la Sociedad de Autores, Authors Guild, la Association of American Publishers, y varios escritores y editores, que presentaron una demanda conjunta por la digitalización de fondos de bibliotecas con derechos de explotación. A día de hoy ya ha resuelto el desencuentro, llegando a un acuerdo y preparando el camino para su nuevo proyecto: Google Editions. Para mediados de 2010 prepara el lanzamiento de su propia tienda de libros, en clara competencia con Amazon, con más de 500.000 títulos disponibles. Más que un vendedor, será un digitalizador e intermediario en las ventas (serán las editoriales las que pongan sus libros en la plataforma y las que fijen sus precios), ofertando asimismo su propio medio de pago (Google Checkout). Las ventajas frente al portal Amazon son que sus contenidos serán independientes de un aparato específico (los libros comprados en Amazon sólo se pueden leer en un Kindle o en un iPhone), accesibles con cualquier navegador web y con posibilidad de ser leídos sin conexión a la Red una vez que han sido descargados.
Para concluir, sólo resta aclarar que la irrupción del mundo digital en los libros únicamente supone un cambio de traje, pero el interior continúa siendo el mismo. Si comprendemos esto, nos daremos cuenta que tanto el papel como los e-books no tienen por qué ser elementos excluyentes, sino que podrán coexistir felizmente durante largo tiempo. Y mientras se libran muchas batallas en el mundo literario, los lectores sufriremos la esquizofrenia de tantos modelos de dispositivos, formatos, DRMs, y contenidos por leer.
Haití está en shock, en estado de derrumbamiento continuo y con posibilidades de futuras réplicas tan devastadoras y con seísmos a nivel de superficie -los más peligrosos, puesto que liberan toda la fuerza directamente a ras de suelo-.
El terremoto ha destapado varias cosas que nos viene bien recordar a los burguesitos del primer mundo: sigue [...]
(Hoy toca encabronamiento, avisados estamos. Es lo que tiene un mal despertar)
Haití. Una semana después, los medios de comunicación siguen abriendo con imágenes de edificios derruidos, gente durmiendo en las calles y rescates rayando en lo milagroso. Los programas de tertulia siguen machacando el tema con sesudos análisis sociopolíticos acerca de como la situación previa [...]
Enciendan sus focos y cámaras. Hay un desastre que cubrir y no hay tiempo que perder. Hoy toca Haití. Mañana será otro lugar. Y sus habitantes volverán a la rutina en la que llevaban ya mucho tiempo sumidos: la rutina de la pobreza, el hambre, la falta de recursos, …
Y mientras tanto, nosotros de espectadores de lujo, con el espíritu ya anestesiado ante todo tipo de sucesos. Yo la primera, que no he sido consciente de la magnitud del suceso y de la situación anterior hasta que no me he apartado de los medios y he escuchado la narración en primera persona de gente que ha colaborado con ese país. Gente que tiene una historia con nombres y apellidos.
Eso es lo que sucedió el lunes cuando en la Universidad escuchamos el testimonio emocionado de Karmele Villarroel y Pablo Encinas, colaboradores de la ONG Lanbí, que trabajaba en Haití mucho antes del terrible suceso, porque este terremoto sólo ha destapado la punta de un iceberg. Y ya no sólo son las desgracias ocurridas estos días, sino ver cómo el trabajo de años anteriores, cuando poner en marcha un colegio en Arregy había sido todo un logro, cayó por tierra en tan sólo unos segundos y junto a él la mayoría de los niños que lo llenaban.
Las réplicas aún se suceden. Puerto Príncipe, que es lo que vemos desde nuestros televisores, es la ciudad a donde están llegando las ayudas. Otros lugares como Jacmel y el propio Arregy siguen incomunicados. Y por si esto fuera poco, en un gesto de solidaridad, en la República Dominicana han cerrado la frontera a cal y canto .
Así que toca ponerse la pilas. Recaudar dinero, pero no sólo para ayudar ahora sino para ayudar en el futuro. Porque las cámaras se irán de allí en unas semanas, nosotros seguiremos con nuestro día a día olvidando de nuevo dónde está Haití en el mapa y sin embargo, sus habitantes seguirán ahí, con lo justo para subsistir. Desde la Universidad vamos a lanzar una serie de iniciativas para concienciar, sensibilizar y recaudar. Estamos haciendo una tormenta de ideas aquí y toda sugerencia será más que bienvenida.
Por cierto, me parece de auténtica vergüenza que algunos no se quiten los colmillos ni ante las catástrofes: algunos bancos cobran comisiones en los donativos
Últimamente, en el mundo en el que me muevo, de la investigación en TICs, existe un concepto que de tanto usarlo, se ha convertido en buzzword, que es Internet del Futuro.
Internet del Futuro se está convirtiendo en la nueva web2.0 científica. Es una palabra que mucha gente usa y que pocos saben exactamente qué es. [...]