Warning: Use of undefined constant WPRBLVERSION - assumed 'WPRBLVERSION' (this will throw an Error in a future version of PHP) in /homepages/13/d416059053/htdocs/qmbecanada_wp342/wordpress/wp-content/plugins/wp-render-blogroll-links/WP-Render-Blogroll.php on line 19

Warning: Cannot modify header information - headers already sent by (output started at /homepages/13/d416059053/htdocs/qmbecanada_wp342/wordpress/wp-content/plugins/wp-render-blogroll-links/WP-Render-Blogroll.php:19) in /homepages/13/d416059053/htdocs/qmbecanada_wp342/wordpress/wp-includes/feed-rss2.php on line 8
Que me busquen en Canadá http://www.qmbecanada.com de Vicente Simón Thu, 17 Mar 2016 20:10:58 +0000 es-ES hourly 1 https://wordpress.org/?v=4.9.9 Café frappé http://www.qmbecanada.com/?p=840 http://www.qmbecanada.com/?p=840#respond Thu, 17 Mar 2016 20:08:23 +0000 http://www.qmbecanada.com/?p=840 Ingredientes del café frappé

Ingredientes del café frappé

Un combinado resultón y sencillo.

Ingredientes

  • (Fundamental) Una batidora de pilas, la popular “Baticao”
  • Café soluble
  • Azucar
  • Agua; preferiblemente caliente, y no necesariamente vaporizada.  La entera o semidesnatada es perfectamente válida.  Y otros tipos de leche también deberían serlo
  • Leche; opcional y preferiblemente caliente

    Café frappé, azucar y café

    Café frappé, azucar y café

Cocinar

  • Poner en un vaso café soluble y azucar a gusto del que lo tome.
  • Cubrir con un poco de agua.
  • Batir hasta conseguir una espuma densa.
  • Agregar un poco más de agua y/o leche a gusto.

Comentarios

  • No hay mucho que comentar, es una receta sencilla.
  • Se puede agregar algún tipo de licor, o nata, o cacao.
  • Para mostrar el resultado he usado este vaso, quedaría una presentación más elaborada en un vaso de tubo, o incluso en copa.

    Café frappé, resultado final con leche.

    Café frappé, resultado final con leche.

]]>
http://www.qmbecanada.com/?feed=rss2&p=840 0
Sepia al aroma de Lambrusco blanco http://www.qmbecanada.com/?p=828 http://www.qmbecanada.com/?p=828#respond Sat, 29 Aug 2015 09:32:07 +0000 http://www.qmbecanada.com/?p=828 Sepia al Lambrusco

Sepia al Lambrusco

Una receta muy sencilla, sana, rápida y riquísima.

Ingredientes

  • Una sepia, puede ser congelada
  • 4 cucharadas de harina
  • Dos cucharadas de Lambrusco blanco (o cerveza)
  • Aceite
  • Sal

Cocinar

  • Si la sepia no está descongelada ponerla en el recipiente para microoondas y descongelarla previamente
  • Trocearla en dados
  • Ponerla en el recipiente para microondas con un poco de sal
  • Cocinarla 5 minutos a 800w o 7 minutos a 700w.
  • Sacarla del microondas y escurrirla bien
  • Yo uso el mismo recipiente del microondas que tiene tapa hermética; agregar las dos cucharadas de Lambrusco y agitar.
  • Agregar las 4 cucharadas de harina y agitar hasta que se impregne toda la sepia
  • Humedecer una sartén con aceite y precalentarla
  • Pasar la sepia, que ya está rebozada en harina, por la sarten

Comentarios

  • Nada más retirar la sepia del recipiente, llenarlo de agua para que la harina se despegue y sea fácil limpiarlo
  • Los tiempos de microondas dependen del modelo, el troceado de la sepia y los gustos
]]>
http://www.qmbecanada.com/?feed=rss2&p=828 0
Guisantes con cebolla y jamón http://www.qmbecanada.com/?p=823 http://www.qmbecanada.com/?p=823#respond Sat, 29 Aug 2015 09:00:30 +0000 http://www.qmbecanada.com/?p=823 Guisantes salteados con jamón

Guisantes salteados con jamón

Es una receta muy sencilla que se prepara en unos 10 minutos al microondas.

Ingredientes

  • Una cebolla
  • Un blister de jamón en tacos
  • 200 gr de guisantes
  • Sal
  • Pimienta
  • 2 cucharadas de agua
  • 2 cucharadas de aceite
  • 1 diente de ajo

Cocinar

  • Picar la cebolla
  • Ponerla en el recipiente para el microondas junto con el agua, el aceite y la sal revolverlo
  • 4 minutos a 800w o 5 minutos a 700w
  • Picar el ajo muy fino
  • Agregar el jamón, el ajo y los guisantes
  • 4 minutos más

Comentarios

  • Si los guisantes están congelados es conveniente tenerlos un poco más en el microondas
  • El resultado está bien y es muy rápido, pero nada comparable a hacer los guisantes cocidos y luego pasados por un sofrito por la sartén.
]]>
http://www.qmbecanada.com/?feed=rss2&p=823 0
Tortilla de patata con patatas de bolsa http://www.qmbecanada.com/?p=816 http://www.qmbecanada.com/?p=816#respond Sat, 29 Aug 2015 08:50:41 +0000 http://www.qmbecanada.com/?p=816 10 minutos de trabajo efectivo, una media hora total.

Tortilla de patatas sencilla

Tortilla de patatas sencilla

Ingredientes

  • 2 Huevos
  • 50 gr de patatas fritas de bolsa (media bolsa familiar aprox.)
  • Levadura
  • Un poco de aceite para humedecer la sartén

Cocinar

El huevo con las patatas de bolsa

El huevo con las patatas de bolsa

  • Batir los huevos con la levadura en un bol (importante porque luego macera mejor la patata)
  • Añadir las patatas y chafarlas un poco. Que no quede masa pero que los cachitos no sean enormes.
  • Dejar macerar durante unos 15 minutos, pero cada 3 o 4 darles una vuelta para que todos los trozos de patata estén mojados en el huevo.

A mí me gusta la tortilla ligeramente chorreante el huevo y muy esponjosa.
Para conseguir esto:

  • Poner una gota de aceite en la sartén y extenderla por toda la superficie y las paredes.
  • Humedecer la sartén con muy poco aceite
  • Calentar mucho la sartén
  • Poner la mezcla en la sartén; y taparla, con esto se consigue que coja volumen.
  • En apenas un minuto, darle la vuelta.
  • Bajar un poco el calor y con la sartén tapada dejarla unos dos minutos más.
  • Sacar la tortilla para que no se siga cocinando.

Comentarios

  • La forma es irregular porque hay poca mezcla para el tamaño de la sartén.
  • No agrego sal porque considero con la que llevan las patatas ya es suficiente.

 

]]>
http://www.qmbecanada.com/?feed=rss2&p=816 0
Lomo salteado con verduras, al estilo japonés http://www.qmbecanada.com/?p=808 http://www.qmbecanada.com/?p=808#respond Sat, 29 Aug 2015 08:38:23 +0000 http://www.qmbecanada.com/?p=808 Lomo salteado con verduras, al estilo japonés

Lomo salteado con verduras, al estilo japonés

10 minutos, muy sencillo y sabroso.
En microondas y con recipiente Pirex.

Ingredientes

  • Un blister de lomo fileteado, 220gr aprox.
  • Una cebolla pequeña
  • 1 Tomate mediano
  • Unos pocos trigueros (lo que me sobró de “Trigueros con Jamón y Huevo”
  • Media zanahoria
  • 1 Cucharadade aceite
  • 4 Cucharadas de salsa de soja
  • Pimienta

Cocinar

  • Cortar el lomo en tiras, y depositarlo en un bol con el aceite y la soja.  Dejarlo macerar un poco.
  • Cortar la cebolla en juliana, la zanahoria a cachitos y el tomate en cuartos.
  • Poner estas verduras 2 minutos al microondas a 800w o 3 minutos a 700w.
  • Unir todos los ingredientes y revolverlos con un poco de pimienta.
  • 5 minutos a 800w, 7 minutos a 700w.

Comentarios

  • Cuando se corta el lomo a tiras y se juntan acaban uniendosen.  Al juntarlos en un recipiente que ya tiene aceite y soja, estos evitan que se peguen y luego se cocinan mucho mejor.

 

 

]]>
http://www.qmbecanada.com/?feed=rss2&p=808 0
Trigueros con jamón y huevo http://www.qmbecanada.com/?p=798 http://www.qmbecanada.com/?p=798#respond Sat, 29 Aug 2015 07:21:34 +0000 http://www.qmbecanada.com/?p=798 Es una receta de 10 min. Muy sencilla.

Trigueros con jamón y huevo

Trigueros con jamón y huevo

Está basada en una receta de “De la cocina a la mesa en 10 minutos”, para cocinar con Lékué. Pero yo prefiero hacerla en Pyrex de cristal.

Ingredientes

  • 10 Espárragos trigueros (verdes)
  • 5 Lonchas de jamón finas
  • 1 Huevo
  • 1 Cucharada de agua

Cocinar

  • Lavar los espárragos, y envolverlos de dos en dos en una loncha de jamón.
  • Ponerlos en el recipiente, los que quepan sin que se amontonen.
  • Echarles la cucharada de agua por encima para humedecerlos.
  • 4 Minutos al microondas a 800w (7 minutos a 700w).
  • Abrir el estuche y agregar el huevo.
  • 1 Minuto al microondas a 800w (2 minutos a 700w).

Comentarios

  • El huevo sin batir no ofrece un buen aspecto y me resultó muy desagradable para comer.
    La próxima vez lo batiré en tortilla.
  • Los valores de tiempo para microondas de 800w y 700w cambian significativamente.
  • Considero que el salado del jamón es suficiente para la receta.  Se puede añadir un poco de sal.

 

 

 

]]>
http://www.qmbecanada.com/?feed=rss2&p=798 0
Arduino Day Zgz 2014 http://www.qmbecanada.com/?p=771 http://www.qmbecanada.com/?p=771#comments Sun, 30 Mar 2014 12:49:12 +0000 http://www.qmbecanada.com/?p=771 Ayer, 29 de marzo, asistí al “Arduino Day Zgz 2014” en Zaragoza.

Juego interactivo

Juego interactivo

Este año se celebran los diez años de existencia de Arduino.  Y Zaragoza (España); que tiene un importante movimiento Maker y que además es la cuna de uno de los fundadores, David Cuartielles; no podía ignorar la fecha.

El evento ocupó todo el sábado y se realizó en el Centro de Arte y Tecnología (Etopia) de la mencionada ciudad.
El programa fue variado.  Por lo que, lamentablemente para el asistente y como elogio a la organización, no se podía asistir a todos los actos.

Así que comentaré aquello que experimenté de primera mano.

La jornada de la mañana

Robots

Robots

En el hall de Etopia podía verse una variada exposición de los usos de Arduino; desde las clásicas impresoras 3D y robots, a dispensadores de refrescos que actúan por órdenes directas del cerebro.

O una plataforma de juegos interactivos especialmente diseñados para el aprendizaje de niños en general y de niños autistas en particular.  Por supuesto los adultos jugamos y nos maravillamos con el artefacto.

El primero de los actos oficiales fue la presentación del Arduino Day Zgz 2014.

Seguidamente comenzaron los talleres, el primero el de Arduino Básico.

Presentación de la onencia de Marcos Yarza (izquierda)

Presentación de la onencia de Marcos Yarza (izquierda)

La ponencia de Marcos Yarza, ingeniero industrial, explicando qué es Arduino y cómo empezó el proyecto fue el primera ponencia a la que asistí.  Marcos trabajó en el equipo de David poco antes de que Arduino comenzase a ser popular entre las universidades.  Fue un placer escuchar a alguien que puede hablar en primera persona de Arduino.  En resumen; muy interesante.

El siguiente acto fue una mesa redonda con Marcos Yarza, Carmen Marín y un profesor de la UNIZAR que trabajó con David Cuartielles cuando el proyecto Arduino todavía se estaba gestando (lamentablemente no recuerdo el nombre) que debatieron sobre lo que ahora significa Arduino en la sociedad.

Debate sobre la situación actual de Arduino.

Debate sobre la situación actual de Arduino.

Al final del debate se unión el profesor David Cuartielles, desde la universidad de Mälmo, mediante una grabación exprofeso para el acto.  En esta universidad también iban a hacer su celebración.  En resumen; para reflexionar.

El último de las ponencias fue la de Luis Martín, reciente ingeniero, que expuso cómo fue su proyecto fin de carrera.  La plataforma eHealth para Arduino.

Un proyecto que pretende abaratar costes; y facilitar a los médicos la atención de sus pacientes de forma remota.  Junto con la explicación técnica del proyecto, me sorprendió para bien la exposición de las razones que tuvo para escoger este reto y las dificultades que tuvo que salvar.

Luis Martín y su ponencia sobre eHealth.

Luis Martín y su ponencia sobre eHealth.

En resumen; brillante.

La jornada de la tarde

La jornada de la tarde comenzó con el taller de Arduino nivel Medio.  En él se mostró las posibilidades de Arduino para controlar el entorno, como la temperatura y la luminosidad; y actuar en consecuencia; moviendo un servomotor.

Este taller, además de entretenido, hizo las delicias de quienes por primera vez se acercaban a esta placa de desarrollo.  En apenas unos minutos sobre la mesa había un pequeño controlador domótico y frente a ella una persona inquieta satisfecha de sus habilidades.  Este taller tenía una orientación más electrónica y por lo tanto el resultado más espectacular.

Módulo XBee de comunicación inalámbrica y Arduino UNO

Módulo XBee de comunicación inalámbrica y Arduino UNO

En el siguiente taller, el avanzado, se enseñaba a crear librerías de código en Arduino.  Concretamente una para gestionar la comunicación con el módulo XBee.  Este taller, un poco más abstracto y más al gusto de los informáticos fue el digno colofón de una interesante jornada.

Las conclusiones

Deseo felicitar a la organización por el acto de ayer.  Dio a conocer la plataforma Arduino y a los profesionales que en torno a ella trabajan.

¡¡¡Galletas!!! Había galletas gratis para los asistentes, cortesía de Cooking Hacks.

¡¡¡Galletas!!! Había galletas gratis para los asistentes, cortesía de Cooking Hacks.

Eché de menos empresarios que pudiesen monetizar el enorme talento que durante unas horas pululó por el edificio Etopia.  Así, no salimos de pobres.

 

 

 

 

 

Más información

http://arduinodayzgz.es/

http://www.arduino.cc/

 

 

 

 

 

 

]]>
http://www.qmbecanada.com/?feed=rss2&p=771 1
Cookies, segunda parte http://www.qmbecanada.com/?p=759 http://www.qmbecanada.com/?p=759#respond Sun, 02 Mar 2014 10:43:55 +0000 http://www.qmbecanada.com/?p=759 Deliciosas galletitas hechas por http://misgalletasymistartas.blogspot.com.es Imagen: qmbecanada.com

Deliciosas galletitas hechas por http://misgalletasymistartas.blogspot.com.es
Imagen: qmbecanada.com

La cookie nos hace la navegación más cómoda, como vimos en el artículo anterior, porque no tenemos que identificarnos constantemente, pero también es usada por otros portales, sitios web, para husmear en nuestras navegaciones y conocer estadísticamente lo más profundo de nuestro ser.

Huellas en internet

Cuando miramos páginas web, el navegador va guardado en nuestro ordenador todas las páginas que visitamos para luego mostrarlas.  Esto se denomina caché.

En Internet Explorer, si vamos a Herramientas/Opciones de Internet, en la pestaña General, el botón Configuración nos mostrará una nueva ventana.  Esta nos mostrará el lugar donde ubica la caché, y pulsando en “Ver archivos” se abrirá la carpeta.  En ella está toda la información que se ha ido almacenando mientras navegas.  Todas las páginas que has visitado, las imágenes que has visto, …, los correos que has leido en modo web ¡sorpresa!

Navegación privada en FireFox. Imagen: qmbecanada.com

Navegación privada en FireFox.
Imagen: qmbecanada.com

Si queremos evitar ciertos rastreos, los modernos navegadores tienen un sistema de navegación oculto.  Este modo hace que cuando cerramos el navegador toda la información de esas visitas se borre.  Esto incluye las cookies, las páginas visitadas, imágenes, ….

En Internet Explorer se llama “Exploración de InPrivate”, en FireFox “Ventana Privada”, en Opera “Pestaña privada”, en Chrome “Ventana de incógnito” y “Navegación privada” en Safari.

Y para ver las cookies …

Además de este modo de navegación en el que la información dura lo que dura la ventana abierta, tenemos otras formas de controlar las cookies.
FireFox viene con una opción para gestionarlas.  Se encuentra en Opciones/Privacidad/Eliminar cookies de forma individual.

Plugin View Cookies. Imagen:  qmbecanada.com

Plugin View Cookies.
Imagen: qmbecanada.com

Además existen unos plugin que permiten consultar las cookies que nos ha dejado un sitio y borrarlas.

Uno de ellos es View Cookies; https://addons.mozilla.org/es/firefox/addon/view-cookies/

Este plugin (programa añadido al navegador FireFox) agrega una pestaña en la ventana de “Información de página” donde se muestras las cookies del sitio al que pertenece la página.

El otro es Advanced Cookie Manager; https://addons.mozilla.org/es/firefox/addon/cookie-manager/

Añade un botón en la parte superior derecha del navegador para manipular las cookies.

Conclusión

Aún con todo es muy complicado estar en internet y pretender que la información no nos envuelva y nos defina.

Y por no decir imposible que ante una herramienta útil, alguien idée una manera de ir un poco más lejos y usarla al límite de lo moral o legal.

Cualquier duda o aclaración que precise puede hacerla en los comentarios de este artículo.

Galletita con el logo de este sitio web.  Hecha por http://misgalletasymistartas.blogspot.com.es Imagen:  qmbecanada.com

Galletita con el logo de este sitio web. Hecha por http://misgalletasymistartas.blogspot.com.es
Imagen: qmbecanada.com

Mientras tanto yo, me quedaré con las cookies que verdaderamente me gustan.

 

 

 

 

]]>
http://www.qmbecanada.com/?feed=rss2&p=759 0
Cookies http://www.qmbecanada.com/?p=743 http://www.qmbecanada.com/?p=743#respond Sun, 23 Feb 2014 13:06:14 +0000 http://www.qmbecanada.com/?p=743 Cookie, o galletita de chocolate. Imagen: http://media.chick-fil-a.com

Cookie, o galletita de chocolate.
Imagen: http://media.chick-fil-a.com

El término cookie (del inglés galletita de chocolate) en informática hace referencia a la información que las páginas web dejan en los ordenadores a través del navegador.
Estos fragmentos de información ayudan al sitio web a identificarnos y trazar la visita que hacemos.  Le ayuda a aprender sobre nuestros gustos y costumbres.
Actualmente tienen mala fama porque se asocian a espionaje y control, sin embargo estas cookies son herramientas necesarias para facilitar la usabilidad.  Si bien es cierto que pueden ser usadas de maneras muy perversas.

¿Por qué se usan las cookies?

Para responder a la pregunta de por qué usar cookies y no otra cosa debemos conocer un poco más cómo se transmite la información de las páginas web y algo de su historia.

Dominio, subdominio y protocolo en el navegador. Imagen: qmbecanada.com

Dominio, subdominio y protocolo en el navegador.
Imagen: qmbecanada.com

Internet es una maraña inmensa de ordenadores conectados.  Unas veces ofrecen información y se les llama servidores, y otras demandan información y se les llama clientes.

Entiéndase por ordenador un término muy generalista; portátiles, sobremesa, teléfonos, cámaras, TV, termómetros, tablets,…, y un indeterminado número de aparatos.

Para permitir que toda esta marabunta se entienda y pueda comunicarse se establecieron normas muy estrictas; estar normas se denominan “protocolos”.

Uno de estos protocolos es el “HTTP” (HiperText Transfer Protocol) o en su versión segura “HTTPS”.

Este protocolo establece cómo un navegador debe solicitar páginas a un servidor web.  Estas páginas están codificadas en un lenguaje que se denomina HiperTexto, conocido por sus siglas “HTML” (HiperText Markup Language).  Y cuando el navegador recibe la página que pidió la comunicación entre el servidor y él se corta.  Es como si estuviésemos hablando por teléfono y en cada respuesta de nuestro interlocutor, se colgase la llamada.

Esto significa que cuando estamos comprando por Internet, y nos hemos registrado en una tienda online, cada vez que hacemos click con el ratón en un enlace y la página cambia debemos volver a identificarnos.  Y así sucede.

Pero sin que nosotros tengamos que teclearlo una y otra vez.
Cuando introducimos nuestro identificador y nuestra contraseña correcta el servidor del sitio web genera una frase aleatoria, y difícil de repetir; la información de la cookie.

Este servidor se la guarda en su memoria, asociada a nuestros datos.  Y además nos la graba en un fichero en nuestro ordenador.  Este fichero es la cookie y la información que contiene es la frase compleja que el servidor también tiene en su base de datos.

Cuando cambiamos de página dentro del mismo sitio, nuestro navegador le envía los datos de la cookie para que relacione la frase que contiene con la información que el servidor, así sabe quienes somos de nuevo. Es como las pulseras que usan algunos locales de ocio para saber qué tipo de servicios tenemos contratados.

Si no existiesen las cookies, cada vez que cambiase la página deberíamos confirmar nuestra identidad.

¿Una cookie es para siempre?

Aunque se guarda la información en nuestro ordenador, la cookie tiene una vigencia en el tiempo establecida por el servidor que nos la dió.
Unas sólo sirven mientras no abandonemos el sitio, otras pueden usarse varios días y otras mucho más tiempo.

Esto permite que hoy accedamos a nuestro correo y, a pesar de apagar el ordenador, ya no nos vuelva a pedir la contraseña y sepa quiénes somos en días sucesivos.

¿Y cómo es posible que si el servidor me da información a mí, sea él quien tenga datos sobre mí?

Una cookie solo puede ser consultada por el servidor que la dejó en nuestro navegador.

Ese servidor guarda en sus bases de datos las veces que nos hemos conectado, los productos que nos interesan, si hemos filtrado por precio, por color, por tamaño, por cercanía.  Al cabo de muchas visitas sabe estadísticamente nuestros gustos, nuestras tallas y pesos, nuestro límite económico y otras muchas cosas que nos pondrían los pelos de punta.

La relación la establece entre la información que el servidor tiene en su base de datos y la cookie que nosotros tenemos.

¿Es casualidad que al buscar una vez algo de ropa, de repente, todos los anuncios que veo en internet sean de ropa?

Ni mucho menos.

Así trabajan las cookies en varios dominios. Imagen: qmbecanada.com

Así trabajan las cookies en varios dominios.
Imagen: qmbecanada.com

Una página web, puede albergar otras en su interior.  Es lo que se llaman “frames”.  Esto se ve muy claro en blogs en los que aparece publicidad generalista.  Luego esta publicidad genérica se irá haciendo cada vez más personalizada, gracias a la información que acumula es sitio web.

Esta publicidad no la gestiona el propietario del blog.  Presta un espacio a una empresa que pone allí su anuncio.

Cuando entramos en este blog, recibimos cookies de dos sitios distintos.  Uno del blog visitado, probablemente muy insustancial; y otra del servidor de la empresa de publicidad, a la que se le sacará mucho provecho.

Supongamos que tras haber visitado este blog (www.blog.com), vamos a nuestra carnicería favorita en internet (www.carne.com).  Esta carnicería también tiene publicidad gestionada por la misma empresa de publicidad que la del blog (www.muchapublicidad.com).  La carnicería sabe, por sus cookies, qué tipo de carne nos gusta y qué precios buscamos.  www.muchapublicidad.com solo sabe que por la mañana solemos visitar la página de la carnicería y que pasamos en ella bastante tiempo.  Supone que comprando.

Por la tarde compramos el pescado en www.pescado.com, y de nuevo la empresa que tiene publicidad en ella, en un frame, es www.muchapublicidad.com.

Tanto www.carne.com como www.pescado.com tienen poca información pero muy precisa sobre nuestros gustos en cada uno de sus ámbitos.  Pero www.muchapublicidad.com tiene más información que ambos, aunque más imprecisa.  Porque www.muchapublicidad.com puede leer las cookies que dejó cuando visitamos www.carne.com y www.pescado.com.

Cuantas más páginas visitamos www.muchapublicidad.com recolecta más datos imprecisos sobre nosotros.  Juntando de uno y otro lado esta información imprecisa estadísticamente se hace más comprensible y valiosa. Por el tipo de tiendas que visitamos intuye nuestro nivel económico; sabe si pretendemos ir de viaje.  Si hay información contradictoria, tal vez hay dos usuarios o más en la misma vivienda.

Cuando volvemos a www.blog.com, la publicidad que nos ofrece es sospechosamente muy acertada con nuestras necesidades.

¿Asusta?, ¿a que sí?

Conclusión

La cookie nos hace la navegación más cómoda al no tener que identificarnos constantemente, pero también es usada por otros para husmear en nuestros desperdicios y conocer lo más profundo de nuestro ser.

En el próximo artículo explicaré sencillas técnicas y herramientas para tener controladas las cookies.

]]>
http://www.qmbecanada.com/?feed=rss2&p=743 0
Multiproceso en Arduino http://www.qmbecanada.com/?p=728 http://www.qmbecanada.com/?p=728#respond Sat, 12 Oct 2013 18:02:48 +0000 http://www.qmbecanada.com/?p=728 ATMega328.  Micro usado en Arduino UNO. Imagen: www.openhacks.com

ATMega328. Micro usado en Arduino UNO.
Imagen: www.openhacks.com

Arduino es un ordenador.  Tiene un hardware, parte física, que le permite interactuar con el entorno.  Detectar pulsaciones de botones, encender luces, medir temperatura, etc.
Dispone de un microprocesador con instrucciones definidas, software, capaz de cambiar el comportamiento del hardware en función de las órdenes que tenga programadas.  Y el comportamiento cambiará modificando las órdenes, sin necesidad de alterar la parte física.
Arduino pertenece a ese montón de ordenadores que pasan desapercibidos a nuestros ojos.  Arduino, sin embargo, dista mucho de tener la capacidad de proceso que tienen los portátiles o los de sobremesa que estamos acostumbrados a manejar; con pantalla, teclado y ratón.
Aunque se pueden programar en C/C++, como los grandes, el código de instrucciones es muy reducido con respecto a los micros que tienen lo que todos reconocemos como ordenador.  También lo es la capacidad de almacenamiento, la cantidad de memoria que puede manejar y las características de multiproceso.
El multiproceso es la capacidad que tiene un microprocesador de atender diferentes tareas a la vez; ejecutando una y apartando la que tiene menos prioridad, compensando los tiempos que dedica a cada proceso, para que el usuario tenga la sensación de que el equipo es capaz de hacer varias cosas a la vez.
Un ejemplo no muy técnico podemos observarlo cuando estamos trabajando con una hoja de cálculo y subiendo fotos a Internet.  La sensación que tenemos es que el ordenador está atendiendo nuestras órdenes en la hoja de cálculo en una de las ventanas, mientras que las imágenes no paran de procesarse.  Lo que ocurre realmente es que nosotros somos más lentos que el ordenador, que aprovecha para copiar un trocito de foto mientras nosotros estamos buscando el siguiente número que teclear en la hoja de cálculo.  Esta virtud la tienen los microprocesadores potentes.
El ciclo del programa en Arduino consta de una función, “setup()”,  que se ejecuta cuando Arduino comienza a trabajar, y otra función que se repite infinitamente, “loop()”.  Al contrario que en los PC, este es el único programa que se ejecuta.

Folioscopio, inventado en 1895 por Herman Castler.  Simula el movimiento al pasar rápidamente las hojas con imágenes consecutivas impresas. Imagen: http://las1000nochesyuna.wordpress.com

Folioscopio, inventado en 1895 por Herman Castler. Simula el movimiento al pasar rápidamente las hojas con imágenes consecutivas impresas.
Imagen: http://las1000nochesyuna.wordpress.com

Pero aunque solo trabaje con un programa deseamos que esté atendiendo diferentes circunstancias.  Por ejemplo, si ponemos a Arduino a controlar la temperatura de una habitación es necesario  que esté pendiente de si hay alguien dentro, la temperatura actual, los cambios de temperatura que el usuario quiera hacer mientras la ocupe y la temperatura a la que deba quedar cuando la habitación esté vacía.
Entonces en nuestro bucle “loop()” primero miraremos si hay alguien en la habitación, solicitando la información a un control de presencia.  Guardaremos esa información y lo dejaremos desatendido.  Luego consultaremos la temperatura, guardaremos la información y también dejaremos desatendido el termómetro.  Y así con todos los sensores involucrados.  Luego con la información que hemos recogido y guardado en memoria el programa tomará la decisión de subir, bajar o mantener la temperatura.
Si mientras consulta la temperatura el sensor de presencia detecta a alguien, Arduino no lo sabrá.  Su forma de engañarnos es ser lo suficientemente rápido en sus consultas a los dispositivos como para que a esa persona no le dé tiempo a salir antes de que el ciclo del programa haya vuelto a pasar por el punto en el que consulta la presencia.

Es como los fotogramas de una película.  Nos engaña haciéndonos creer que hay alguien en movimiento, pero son fotografías estáticas pasadas lo suficientemente rápidas como confundirnos.
Por eso el tiempo que a Arduino le lleva ejecutar una vuelta de “loop()” es importante.

//  *************************************************************************************
// *                                                                                     *
// * V E L O C I D A D                                                                   *
// *                                                                                     *
// *     Prueba de velocidad con Arduino                                                 *
// *                                                (C) Vicente Simón Rando; 11.10.2013  *
// *                                                                                     *
//  *************************************************************************************

// Variables globales
int  miliINI;
int  miliFIN;
unsigned long  contador;
bool final;
#define MILISEGUNDOS  10000

// Setup
void setup( )
{
  contador = 0;
  final = false;
  Serial.begin(115200);
  miliINI = millis();
  miliFIN = miliINI+MILISEGUNDOS;  
}

// Loop
void loop( )
{
  if( millis() )
    contador++;
  else
  {
    if( !final )
    {
      Serial.print( "Inicio: " ); Serial.println( miliINI );
      Serial.print( "Fin: " ); Serial.println( miliFIN );
      Serial.print( "Contador: " ); Serial.println( contador );

      final = true;
    }
  }
}

Yo he usado el programa anterior.
Toma el valor de milisegundos al principio.  Cada vuelta la anota en una variable.  Y cuando han pasado un número determinado de milisegundos muestra la información.
Como soy un maniático de la precisión he repetido el mismo programa con diferentes valores de MILISEGUNDOS, y estos son los resultados.

Milisegundos Vueltas Vueltas en un milisegundo
20000 3313494 165,6747
10000 1656743 165,6743
7000 1159683 165,669
5000 828367 165,6734
3000 497051 165,683667
1000 165734 165,734

Los valores de milisegundos=20000 son más precisos que el resto.  En un milisegundo, la función loop() de este programa de testeo se ha ejecutado casi 166 veces.  Es muy difícil que una persona sea capaz de cruzar una habiación en 0,006 milisegundos.  Por lo que Arduino nos dará la sensación de que está pendiente a todo lo que pasa a su alrededor.
Con este sketch de test  Arduino UNO arroja como resultados una frecuencia de poco menos de 166 veces y un periodo de aproximadamente 0,006 milisegundos.
Esta velocidad solo la consigue si no tiene nada más que hacer.  Cuando loop() tiene más órdenes que cumplir el proceso se comenzará a alargar, y en un milisegundo realizará menos tareas.  Si alguna de estas tareas es bloqueante, incluso puede estar varios segundos sin dar ninguna vuelta.
Es importante tener claro que los resultados los consigue con este programa.  Si hacemos una pequeña modificación en la que en cada vuelta comprueba si debe o no mostrar el resultado los valores son:

Milisegundos Vueltas Vueltas en un milisegundo
20000 2840138 142,0069

Frecuencia de 142 veces y periodo de 0,007 milisegundos.

//  *************************************************************************************
// *                                                                                     *
// * V E L O C I D A D                                                                   *
// *                                                                                     *
// *     Prueba de velocidad con Arduino                                                 *
// *                                                (C) Vicente Simón Rando; 11.10.2013  *
// *                                                                                     *
//  *************************************************************************************

// Variables globales
int  miliINI;
int  miliFIN;
unsigned long  contador;
int final;
#define MILISEGUNDOS  20000

// Setup
void setup( )
{
  contador = 0;
  final = 0;
  Serial.begin(115200);
  miliINI = millis();
  miliFIN = miliINI+MILISEGUNDOS;  
}

// Loop
void loop( )
{
  if( final==0 )
  {
    if( millis()<miliFIN)
      contador++;
    else
      final=1;
  };

  if( final==1 )
  {
    Serial.print( "Inicio: " ); Serial.println( miliINI );
    Serial.print( "Fin: " ); Serial.println( miliFIN );
    Serial.print( "Contador: " ); Serial.println( contador );

    final = 2;
  }
}
El código es libre , aunque deberá indicar la procedencia. No me responsabilizo ni del fin buscado ni de los datos obtenidos.
]]>
http://www.qmbecanada.com/?feed=rss2&p=728 0