lunes, 20 de abril de 2015

sERVER sENT eVENTS

Hola sukarrats... Hace unos días intenté poner la versión web de whatsapp en el iPad y me he encontrado lo siguiente:


Curioso porque el navegador que estaba utilizando era Chrome... He buscado información y me he encontrado con la siguiente noticia de Gizmondo http://es.gizmodo.com/exclusiva-por-que-whatsapp-web-no-esta-en-ios-ni-lo-e-1680954309# donde los ingenieros de iOS en San Francisco responden al problema:

Las APIs de multitarea en iOS sólo nos permiten hacer ciertas funciones concretas cuando una aplicación se encuentra en el background. Para lo que trata de hacer WhatsApp, una aplicación de iOS tendría que ser capaz de mantener una conexión abierta a un servidor, o bien aceptar conexiones entrantes desde el navegador, sin importar que el usuario haya puesto la aplicación en segundo plano.

Ante esto, me pregunto, y qué hay de los Server Side Events de JavaScript, compatibles con el navegador Safari de iOS? http://caniuse.com/#feat=eventsource ... A mi esto me suena a una excusa barata.

Los Server Side Events permiten a una web html5 recibir eventos desde un servidor. Con esto conseguimos que la web que estamos viendo en el navegador pueda interactuar con el servidor y responder dinámicamente a cambios en el servidor sin la interacción del usuario (vamos, sin darle al botón de recargar la página).

En un caso práctico, imaginando una web de noticias, permitiría que nuestra página web nos indicara cuando hay una noticia nueva. Y aplicándolo al desarrollo de aplicaciones híbridas o webapps, implimentar una notificación de aviso.

En cuanto al código, no resulta muy compleja la implementación, veamos:

En el servidor, en nuestro caso PHP, podemos tener un fichero llamado servidor.php con el siguiente código:

header("Content-Type: text/event-stream");
header("Cache-Control: no-cache");

donde hemos dicho que no use el caché y que el tipo de contenido es event-stream.

Luego hacemos un echo de la información que queremos enviar al cliente, precedido por data:

echo "data: Tienes un mensaje nuevo";

finalmente hacemos un flush(); para enviar la información al cliente.


En la parte cliente, usamos JavaScript para implementar el evento que escuche al servidor:

if(typeof(EventSource)!=="undefined" && typeof(source)==="undefined") {
  var source = new EventSource("servidor.php");
  source.onmessage = function(event) {
    // nuestro código donde recuperamos la información enviada por el servidor en event.data
  ...
  };
}

El primer if comprueba si nuestro navegador soporta Server Sent Event.

En un próximo artículo os explicaré como utilizo esta artimaña para implementar avisos en la app que estoy desarrollando. Más información en la página de w3schools, una web muy útil para iniciarse en la programación.

Enigma de los monjes

Ultimamente se ha hecho popular un enigma de lógica que hasta un niño tailandés de 13 podría resolver (a ver... ¿no eran unas olimpiadas matemáticas? Ahí se apunta la juventud más aficionada a rayarse...) Y  siguiendo enlaces a lo loco me he topado con muchos otros del mismo estilo. Aquí os dejo uno que me ha gustado especialmente por el momento Inception que se experimenta al resolverlo.

Unos monjes que estaban en el convento y recibieron un mensaje de que algunos
de ellos despertarían al día siguiente con una marca en forma de mancha
en la frente, y los que la tuvieran deberían salir de peregrinación
cuando tuvieran conocimiento de ello.

El problema estaba en que en el convento no había espejos ni se podían
ver reflejados en ningún sitio, y los monjes tenían voto de silencio y
no hablaban entre ellos, por lo que no podían advertir unos a otros de
que tenían la marca en la frente de ninguna manera. Los monjes se veían todos cuando se
reunían para cenar, pero no hablaban.

Tras siete días (siete reuniones en la cena), los que tenían la marca
salieron de peregrinación a la mañana siguiente, y los que no la tenían
siguieron en el convento, sin que nadie les dijera quienes tenían la
marca y quienes no.

Cómo supieron si les tocaba irse? Cuantos se fueron?


No es excesivamente difícil pero tiene un punto de recursividad en las suposiciones que lo hace interesante. Si no ponéis remedio en los comentarios tendréis segunda parte en breve.

miércoles, 15 de abril de 2015

Pedal para guitarra TS808 - Capítulo NUEVE

En el mundo de la guitarra eléctrica (o cualquier instrumento en realidad) hay mucho espacio para ponernos sibaritas con el sonido. Los semi-expertos catadores como yo notamos la madera con la que se ha construido, el calibre y calidad de las cuerdas, el material y grosor de la púa, las pastillas, el amplificador... Hasta aquí es bastante lógico, pero para mucha gente las sutilezas se extienden hasta la más mínima nimiedad. Los conectores bañados en oro, cables de guitarra de banda ancha, nacionalidad de las maderas...

Pues bien, por supuesto también hay paladares para los componentes electrónicos concretos que se usen en el procesado de la señal. Incluso aunque sean del mismo tipo y con las mismas características y especificaciones.

En concreto para el pedal que estuve haciendo, que ya no sé ni si lo habré perdido, hay una gran mitología con el amplificador operacional utilizado.

Resulta que el integrado JRC4558D que se usaba originalmente era muy común y barato en su época. Se podría decir que era algo imperfecto al no ser de alta calidad. Pero por lo visto sus imperfecciones le daban un toque que ha quedado en la memoria auditiva del sibaritismo más selecto.

La disposición de sus patas es idéntica a la de muchos otros integrados actuales:


Y sus especificaciones son de lo más común. Se pueden encontrar decenas de integrados aparentemente idénticos a éste. Pero aún así la gente paga lo que haga falta por uno de los auténticos, de la serie original.

Explicación en Pisotones con listado de chips alternativos y cómo suena cada uno.

En mi pedal he montado un TL072 simplemente porque era el que había en la tienda de electrónica. Según el enlace anterior tenemos " TL072: Es un doble operacional compatible con el JRC4558, de mucha más calidad. En mi opinión, es demasiado "limpio" para este trabajo. Suena bien y es barato pero es demasiado "estéril" de sonido." No es el chip ideal pero casi seguro que yo no notaría la diferencia.
Así que de momento me quedo con éste pero he sido previsor y no he soldado el chip sino un zócalo para poder cambiarlo si tengo la oportunidad.

Por último os dejo un vídeo en el que testean el sonido del rc4558 pata negra comparado con un integrado equivalente actual.



Dice que el antiguo lo consiguió desmontando algún trasto rebuscado de la basura. En su época eran tan montoneros que es bastante normal encontrarlo en equipos de sonido de principios de los ochenta. ¡Lo mismo tenéis oro en forma de silicio en la típica minicadena olvidada en el mueble del comedor!

jueves, 19 de febrero de 2015

Kickstarter quiere arruinarnos

Aquí os dejo este vídeo de la enésima nueva consola Android para televisor, ZRRO. Vale la pena verlo por la espectacular nueva tecnologiá táctil, por el momento homenaje al discurso de Steve Jobs del iPhone original (a ver si lo detectáis) y por que está divertido!

 

martes, 17 de febrero de 2015

Professor shoelace

Sabéis ataros los cordones de los zapatos?
Es de esperar que respondáis afirmativamente pero puede que no sea así. ¿Y si resulta que a estas alturas descubrís que estabais haciendo el nudo mal? Si de vez en cuando se os desatan, o sois de esos que preferís dar un segundo nudo al final para que dure más... No os perdáis este vídeo.

Hay un alarmante porcentaje de gente que usa una variante incorrecta del típico nudo de cordones de zapatos. Pero no os preocupéis, Doctor Shoelace viene al rescate.

Espectacular truco de matemagia

Todo el mundo conoce el típico truquito de las 21 cartas. Se van haciendo 3 montones, un espectador va diciendo en qué montón está su carta y al final el mago adivina la carta.
En algún momento se me había ocurrido que con 27 también se debía poder hacer, ya que se hacen 3 selecciones de 3 elementos y por tanto la información extraída es 3 elevado a 3 =  27. Pero me ha sorprendido este vídeo en el que aún se exprimen un poco más los datos disponibles para conseguir una increíble combinación:


Me parece genial que con el simple hecho de recoger las cartas adecuadamente 3 veces no solo consigas saber la carta si no que aparezca en la posición correcta de entre 27 posibilidades. Shannon estaría orgulloso, la entropía es máxima.

Por cierto estaría muy relacionado este enigma:
Tienes 12 bolas esféricas idénticas excepto una de ellas que pesa un poco diferente que las demás. No sabemos si un poco más o menos. Y la diferencia es tan pequeña que necesitamos una báscula para detectarlo. Pero para complicar las cosas dispones de una balanza (sin referencias, solo sirve para comparar pesos) que se autodestruirá a los 3 usos. Qué estrategia seguirías para detectar la diferente siempre?

A ver quien se atreve. También hay que optimizar la información extraída para poder resolverlo.

domingo, 5 de octubre de 2014

sILICON vALLEY... uNA vISIÓN mUY pERSONAL




Hola sukarrats, recientemente he estado de viaje por la costa Oeste de los EEUU y no quise perder la oportunidad de visitar alguno de los sitios más icónicos del Silicon Valley en busca de inspiración. 


Partiendo de SanFrancisco, con un Challenger de alquiler (tenía que decirlo), y tras una hora de denso tráfico me planté en la Universidad de Stanford. Lo primero que pasó por mi cabeza al atravesar el gigantesco cartel de "Welcome to Stanford" fue "Oh my god!, quiero quedarme a estudiar aquí". Nunca había visto un campus universitario de esta entidad. Amplio, edificios de estilo medieval, cesped por todas partes, los estudiantes y profesores desplazándose intérnamente con bicicleta... la tienda de la Universidad era el doble de grande que el Abacus de mi barrio. Allí podía comprarse el kit básico de Nerd, con el lema "los Nerd dominarán el mundo", y es que Stanford, lejos de ser conocida por sus éxitos deportivos, tiene el honor de haber sido casa de 58 premios Nobel... a 12 de los 70 de la Universidad de Berkeley, en la vecina SanFrancisco... os lo podéis imaginar? Era el segundo día de clases y se notaba la excitación en la cara de los estudiantes que cruzaban el campus en busca de su clase o escuchaban los cantos de sirena de las hermandades. 



Curiosamente en uno de los paneles informativos había un anuncio donde se ofrecía vivir y estudiar en Barcelona. Para acceder a este programa había que haber completado unos cursos de catalán y castellano que ofrecía la propia universidad en su programa de lenguas. Y es que Europa y Barcelona tiran mucho.


Y ya que he hablado de Berkeley, diré que me quedé con ganas de verla y es que en estos viajes el tiempo es una limitación. Fue allí donde Clifford Stoll, un astrónomo reciclado a informático, fue capaz de desenmascarar la primera red de hackers. Todo lo cuenta en una apasionante novela, cuya lectura os recomiendo El Huevo de Cuco.


Siguiente parada Los Altos, el 2066 de la Crist Dr ... el garaje más famoso de la historia, hogar de los Jobs y donde su hijo adoptivo Steve pasó la adoslescencia. Y por qué digo que es el garaje más famoso de la historia, pues porque fue allí donde Steve Jobs junto a su amigo Steve Wozniak fundaron Apple, allí también es donde soldaron las primeras placas de los Apple I, con ayuda de amigos y familiares. La casa está situada a 20 minutos escasos de Stanford, donde el propio Jobs compaginaba clases de electrónica con sus otras muy curiosas aficiones (os recomiendo leer su biografía autorizada). Años después, Steve volvió a Stanford para leer uno de los discursos de graduación más inspiradores que se recuerdan y que aquí os pongo por si aún queda alguien que no lo haya visto.



Tenía curiosidad en ver la casa, porque en el largo viaje entre Stambul y LosAngeles pude ver la película sobre la vida de Jobs, que también os recomiendo encarecidamente. Intenté comprender las posibles influencias del entorno en su niñez... un vecindario sencillo de clase media americana repleto de casas bajas, jardincitos y árboles, que para nosotros quisiéramos los pobrecitos españoles. Pero clase media de los USA, al fin y al cabo, un sitio muy tranquilo y, como pude leer luego, habitado por numerosos profesionales que trabajaban en las empresas electrónicas del valle, y a los que Jobs y Wozniak consultaban cuando tenían alguna duda. Unos cuantos japoneses pasaron también por allí para llevarse una foto de recuerdo de ese famoso garaje. La casa de Jobs es la que aparece en el medio... delante uno de los cubos en los que se inspiró para diseñar la famosa papelera de reciclaje de los Mac :D





De allí partimos a Mountain View... a Googleplex, la sede de, para mí, la empresa más importante del planeta. Mucho había oído sobre el estilo de trabajo allí y lo que vi sólo hizo que confirmármelo. Lo primero que pensé al llegar, fue "Yo quiero trabajar aquí"... lo mismo que Stanford, pero en empresa. Los trabajadores cruzaban el enorme, repito enorme complejo a lomos de bicicletas con los colores de Google... gente trabajando con su Apple bajo un árbol o jugando al frisbie en las inmensas parcelas de cesped. Curiosamente los portátiles que pude ver eran todos Apple... dónde están los Chrome? Supongo que como dice ese famoso reclamo publicitario: Yo no soy tonto.

Camino del parque de las estatuas de Android, tuve la oportunidad de hablar con un joven asiático que estaba trabajando en Android y lo que me dijo corroboraba el buen ambiente que se respira en esta empresa. Muchos asiáticos y gente muy joven en el campus, por cierto.


Una empresa moderna e innovadora... pero no fueron ni Apple, ni Google la primera empresa del Silicon Valley. Ese honor recae en Hewlett-Packard, HP. Fue en su tiempo muy innovadora y compartía con Google este estilo abierto y relajado. Sólo tenéis que pasaros por SantCugat y ver como era la sede de HP en Barcelona... cómo cambian los tiempos. Parece que Google, como HP en la época, ha entendido que para dominar el mundo hay que alejarse del patrón típico de empresa jerarquizada donde se premia la antigüedad, y el servilismo antes que la creatividad y el entusiasmo.

La última parada de este viaje fue en Cupertino, en el One Infinity Loop, la sede de Apple, un edificio enorme con un gran parque central. Hermético y silencioso era la antítesis de lo que Google es. En mi opinión Apple ha entrado en el patrón clásico de empresa que le impedirá continuar con la innovación que un día le caracterizó... a pesar de ello, está en máximos históricos de su cotización. Tras dar una vuelta y comprobar que ningún empleado perdía el tiempo en su parquecillo dimos por acabada la visita.



Pues esto es el Silicon Valley, localizado a un tiro de piedra de SanFrancisco, y creado a raíz de la visión de futuro de un grupo de profesores de la Universidad de Stanford que quiso apostar por la creatividad de sus alumnos. El Silicon Valley es desde los años 70 la cuna de las empresas tecnológicas que han dado forma al mundo digital tal y como lo conocemos hoy en día. La primera empresa en aparecer al amparo de Stanford fue HP, de la cual hemos hablado antes. Creada en un garaje por William Hewlett y David Packard, dos estudiantes de esa universidad. HP se convirtió en la inspiración de una generación de estudiantes que bajo la creatividad de la era hippie rompió moldes y dio origen a empresas de la talla de Intel, Apple y SUN entre otras. En el siguiente mapa podéis ver dónde están situadas algunas de las empresas más famosas del Silicon Valley. Un área equivalente a ir de Badalona a Calella y que genera casi el doble de PIB que España. 

En resumen, la visita fue muy enriquecedora e inspiradora. La lección está allí y como dijo XC hace 2000 años, el que tenga ojos para ver que vea.

[2015-01-15] Os pongo este interesante vídeo de las conferencias del DevFest 2013 organizado por el GDG de Google. Habla sobre el emprendimiento en Silicon Valley visto por 2 españoles que se fueron allí a hacer las americas http://media.fib.upc.edu/fibtv/streamingmedia/view/2/794