texto:   A-   A+
eliax

Pregunta a eliax: ¿Cómo conecto una sola cámara web a varios programas?
eliax id: 6931 josé elías en ago 10, 2009 a las 06:25 AM ( 06:25 horas)
La pregunta de hoy por lo general la hacen personas que utilizan mas de un programa de chat con video (como MSN Messenger, Yahoo Messenger o Skype) a la vez, y es algo para los cual me sorprende que los sistemas operativos todavía no ofrezcan una solución nativa.

La pregunta es si es posible conectar una sola cámara web (o webcam) de manera simultánea a varios de estos programas, y la respuesta es sí.

El problema es que hoy día si estás utilizando Skype con tu cámara web, y de pronto un amigo aparece en el MSN Messenger, y quieres chatear también con él y con video, debes desconectar la cámara web de Skype para que el programa de MSN Messenger la utilice.

Sin embargo, existen al menos dos programas que resuelven este problema, uno de los cuales les hablé hace 4 años atrás. Estos programas te permiten no solo conectar tu única cámara web a varios programas de video-chat, sino que a otros tipos de programas también (como esos que graban video para después subirlo a YouTube por ejemplo).

El primero se llama Splitcam, y es solo para Windows. Este tiene la particularidad de que también puedes hacer pasar otras fuentes de video de tu PC como cámaras web. Es decir, si tienes uno de esos adaptadores que permiten que tu PC vea TV por cable, puedes enviar esa señal por un programa de chat como si fuera el video de una cámara web, lo que es genial para transmitirle el juego de Futbol fácilmente a tus amigos que se encuentren en un lugar remoto en donde no pasen el juego por TV... :)

El segundo se llama ManyCam, y este funciona tanto en Windows como en el Mac OS X. Este tiene la particularidad de que permite aplicar todo tipo de efecto al video en tiempo real. Así que por ejemplo puedes ponerte sombreros virtuales, o gafas virtuales, o ponerte máscaras, o encender con fuego tu pantalla, o quizás aparentar que está nevando, o cambiar el fondo de tu habitación, etc. Bastante genial.

Si alguien conoce una solución similar para Linux, por favor compartirla en los comentarios.

Una advertencia: El hecho de que ahora puedas conectar una sola cámara web a 3 programas de chateo por Internet no significa que mágicamente tu conexión a Internet ha triplicado su velocidad, ni que el mismo flujo de video es compartido entre las 3 aplicaciones en el Internet. Cuando haces esto, tu consumo de ancho de banda incrementa, por lo que si tu conexión a Internet es relativamente lenta, el video en los 2 o 3 programas de chat que tienes se deteriorará mas de lo normal. Ten eso en cuenta cuando utilices estos programas...

Y como siempre, pueden acceder a mas artículos similares en la sección de "Pregunta a eliax", y enviar sus preguntas por este medio.

Página oficial de SplitCam

Página de descarga de SplitCam (solo para Windows)

Página oficial de ManyCam

Página de descarga de ManyCam (para Windows)

Página de descarga de ManyCam (para Mac OS X)

Algunos videos creados con ManyCam por usuarios

Video a continuación de los efectos posibles con ManyCam (enlace YouTube)...


autor: josé elías


Inventan un holograma que puedes sentir con tus manos
eliax id: 6929 josé elías en ago 10, 2009 a las 04:17 AM ( 04:17 horas)
Investigadores de la Universidad de Tokyo recientemente demostraron una tecnología en el evento SIGGRAPH 2009 que sin duda es el primer paso hacia un futuro que hasta ahora solo hemos visto en películas de ciencia ficción: Hologramas que podemos sentir físicamente.

Es decir, hablamos primero de una proyección tridimensional de un objeto que aparenta flotar en el aire. Y segundo, hablamos poder "sentir" ese objeto en el aire.

El truco detrás de esta implementación específica es una matriz de proyectores de ultra-sonido, los cuales tienen la particularidad de poder "enfocar" la energía del ultrasonido en un punto (o varios puntos) en específico, para crear una presión en el aire similar a como si un objeto físico tuviera presionando contra otro. El efecto final es que aparenta que algo nos está "tocando la piel".

En el video será mas evidente la manera en como funciona este tecnología. Y hablando del video, es importante notar que cuando lo vean, lo estarán haciendo en una pantalla en 2D, pero si tuvieran en persona frente al dispositivo, los objetos que ven flotando se verían en 3D como la vida real, y sin necesidad de gafas, gracias a unos trucos de lentes que proyectan una imagen diferente cada cierto ángulo de visión, lo que hace que cada ojo vea una cosa diferente y se cree la ilusión holográfica.

Fuente oficial de la noticia

Video a continuación (enlace YouTube)...




autor: josé elías


Sobre evolución del GPU, e implementación de AMD de OpenCL en CPU/GPU
eliax id: 6927 josé elías en ago 10, 2009 a las 12:20 AM ( 00:20 horas)
Antes de hablar de una noticia reciente de AMD con respecto a OpenCL, y su profundo significado, veamos primero un poco de historia...

En el 1993, un video-juego captó la imaginación de toda una nueva generación de jugadores en la PC, el juego era Doom, de ID Software. Lo fenomenal de ese juego, aparte de su ingeniosa mecánica, eran los gráficos. Estos fueron programados de tal manera que el juego exprimía hasta la última gota de poder de tu PC en aquel entonces, para convertir a Doom en uno de los primeros juegos con gráficos 3D mas o menos realistas en la PC.

Sin embargo, se hizo obvio que el CPU ("Central Processing Unit", es decir, el procesador principal de tu PC, su cerebro, hoy día ejemplificado por modelos como el Intel Pentium, el Intel Core 2 Duo, el AMD Athlon, etc) no era suficiente para el tipo de cálculos necesarios para seguir progresando la industria y generar gráficos cada vez mas convincentes. En otras palabras, las demandas en mejores gráficos estaban sobrepasando el creciente poder del CPU.

Es por eso que en esos días la industria de la PC empezó a tomar una idea prestada de la industria de la visualización científica en estaciones de trabajo poderosas, en esos días ejemplificadas por las máquinas de Silicon Graphics (o "SGI"), y los trabajos de pioneros como Evans & Sutherland con sus simuladores de vuelo para las fuerzas armadas.

La idea era crear un co-procesador que ayudara al CPU a hacer cálculos específicos a 3D, para así dejar que el CPU se encargara solo de cálculos genéricos (como por ejemplo, la inteligencia de la simulación), y que el co-procesador se encargara de puramente la parte de visualización. O en términos mas simples, el CPU coordina y le dice a co-procesador lo que tiene que dibujar, y el co-procesador toma esos datos y los dibuja en 3D.

A este co-procesador es lo que modernamente se le llama un GPU (Graphics Processing Unit).

Sin embargo, los ingenieros y programadores responsables de estos GPUs se dieron cuenta de algo: El tipo de cálculos que se ejecutan en un GPU (Transformaciones Fourier, Procesamiento Stream, Transformaciones Matriciales, etc) tienen una aplicación muchísimo mas extensa que solo gráficos en 3D, ya que muchos de estos cálculos son utilizados con frecuencia en editores de sonido, en codificadores/descodificadores de video, en filtros de gráficos en 2D (como Photoshop), y otros.

Así que surgió la idea del GPGPU (General-Purpose computing on Graphics Processing Units), es decir, computación genérica en GPUs, en donde la idea es agregarle a los GPUs algunas instrucciones faltantes provenientes del mundo del CPU, para hacer de los GPUs unos super-potentes CPUs adaptados al tipo de operaciones que procesa un GPU, pero casi sin ya necesitar de un CPU.

Sin embargo lo que sucedió después es que empresas como NVIDIA y ATI (ahora parte de AMD) sacaron sus propios GPUs con sus propios lenguajes propietarios para programarlos, lo que dividió al industria y frenó el crecimiento de esta tecnología.

Pero recientemente ocurrió algo extremadamente positivo que sacudió la industria y puso a todos a caminar al mismo compás: OpenCL.

OpenCL es un lenguaje genérico de bajo nivel que estandariza el poder programar para GPUs de una manera independiente del proveedor. Pueden pensar de OpenCL como el equivalente a programar en bajo nivel de Assembly para la arquitectura x86, en donde programas para la x86 funcionan en chips de Intel y AMD, aun estos sean diferentes.

Sin embargo, el impulso mas grande para OpenCL lo obtuvo cuando el año pasado Apple anunció que su próxima gran versión de OS X (la versión Snow Leopard que sale próximamente) vendrá con soporte nativo para OpenCL, lo que hará de OS X una super-potente plataforma para todo tipo de cálculos multimedia y científicos cuando este esté instalado en un equipo que contenga un GPU moderno (o CPU multi-núcleos como hablaremos en un momento).

Y con eso llegamos al día de hoy, y la noticia que les quería comentar hoy: AMD recientemente anunció que tiene un SDK (kit de desarrollo para programadores) que permitirá que compiles tu código de OpenCL, y hacer que este no solo funcione en un GPU, sino que además en un CPU de multi-núcleos, y sin recompilar la aplicación, con un binario universal.

Esta es una noticia importantísima porque significa que:

1. Las PCs que no contengan un GPU (como ocurre con muchas laptops) podrán tomar ventaja de programas que requieran un GPU, aun funcionen un poco mas lento.

2. Será posible tomar ventaja de la nueva generación de CPUs que vendrán con 6, 8, e incluso 32 o mas núcleos para combinar todo ese poder con el poder del GPU (el cual por sí mismo viene con varios núcleos) para efectivamente optimizar al máximo todo el hardware tu PC.

Es decir, esto devuelve otra vez la importancia al CPU, lo que significa que pondrá mas presión a los fabricantes como AMD e Intel en fabricar CPUs con mas funcionalidad prestada del GPU en sus diseños de CPU. O en otras palabras, nos acercamos a un futuro en donde no habrá mucha diferencia entre ambos, y en donde podremos mezclar CPUs y GPUs a nuestro antojo según nuestras necesidades.

Y sobre la nota de OpenCL en OS X, sucede que Apple implementó OpenCL de tal manera en Snow Leopard, que este ya hará esto que promete AMD hoy. Es decir, OS X automáticamente asignará tantos núcleos del CPU y GPU pueda a cualquier programa de OpenCL, lo que será genial poder ver en persona en un equipo potente cuando este salga al mercado en Septiembre.

La buena noticia de hoy sin embargo es que ahora gracias a AMD los usuarios de Windows también podrán disfrutar de esta funcionalidad, la cual funcionará igual de bien tanto en CPUs de AMD como de los de Intel.

Y como siempre, pueden leer mas de mis opiniones y análisis en la sección bajo ese nombre a la derecha de la página principal de eliax.

Página oficial de esta tecnología en AMD

Nota de Prensa Oficial de AMD sobre este avance

Fuente de la noticia sobre AMD y OpenCL en CPU y GPU

Video de AMD a continuación demostrando esto en un 4 procesadores Opteron de 6 núcleos cada uno (enlace YouTube)...


autor: josé elías


5 minutos de video de Iron Man 2
eliax id: 6930 josé elías en ago 9, 2009 a las 09:55 PM ( 21:55 horas)
Aquí tienen el video mostrado recientementen en Comic Con 2009 de Iron Man 2. Alguien lo grabó y lo hizo disponible a todos en Internet. ¡Véanlo rápidamente antes de que desaparezca de la web! Y se ve sensacional!!!

Y si te interesan temas de Cine, no dejes de visitar la sección de Cine en eliax...

Video a continuación (enlace YouTube)...


autor: josé elías


WebGL, a acelerar la web en 3D, complementa a Google O3D
eliax id: 6926 josé elías en ago 9, 2009 a las 06:24 AM ( 06:24 horas)
Hace apenas unos días que Google demostró su tecnología 03D para crear gráficos acelerados en 3D para la web, y ya tenemos información de otra tecnología similar, WebGL, del Khronos Group, la misma gente de OpenGL, el lenguaje 3D que compite directamente contra DirectX/3D de Microsoft, y que es soportado hoy día de una manera u otra en Windows, OS X y Linux, así como en dispositivos como el iPhone (con OpenGL ES).

Lo que WebGL plantea es exactamente lo mismo que O3D: Acceso directo a gráficos en 3D acelerados por tu tarjeta de video, desde un API (interfaz de programación) de Javascript.

Es tanto así que recomiendo lean el artículo de estos días pasados en donde hablo del Google O3D, pues muchas de las cosas que expliqué en ese artículo aplican a este.

WebGL planea ser un interfaz directo al API de OpenGL ES 2.0 (el utilizado en dispositivos como el iPhone, y considerado una versión mas ligera que OpenGL estándar), lo que significa que a los programadores familiarizados con OpenGL / OpenGL ES se les hará relativamente fácil adoptar el nuevo estándar bajo Javascript (y Javascript por su cuenta es relativamente similar a C y Java, lo que hace la adaptación aun mas fácil).

La gran diferencia sin embargo entre O3D y WebGL es que O3D es muchísimo mas simplificado, permitiendo generar gráficos en 3D con muchas menos lineas de código, y con mucha menos complejidad, razón por la cual Google dice que su visión es que O3D y WebGL coexistan, en donde cada uno sea utilizado para propósitos diferentes.

Algo interesante de WebGL es que el Khronos Group planea hacer esta tecnología gratuita, por lo que espera sea adoptada rápidamente por la industria. Y hablando de adopción, entre las empresas que ya han expresado su apoyo se encuentran el mismo Google, NVIDIA, AMD (ATI), Ericsson, Mozilla y Opera.

Las primeras implementaciones estarán disponibles a mediados del 2010 para Google Chrome y Firefox.

Noten que a diferencia de plugins (extensiones) como Flash, que todo navegador que venga con soporte para WebGL (y O3D) podrá utilizar esa tecnología directamente desde Javascript, sin complicaciones adicionales. Así mismo noten que con el incremento en rendimiento de Javascript (que pronto obtendrá velocidad casi como aplicaciones nativas), y con todo el auge que HTML 5 está teniendo, que este es otro paso mas a la inevitabilidad de que en un futuro no lejano casi todas nuestras aplicaciones, sin importar su tipo, funcionarán dentro de un navegador web, lo que solo puede significar una cosa para los consumidores: Un gran avance, pues nos libera de plataformas propietarias de una vez por todas...

Fuente de la noticia

Página oficial del Khronos Group

autor: josé elías


Bicicleta que mientras mas rápido das pedales, mas rápido el Internet
eliax id: 6928 josé elías en ago 8, 2009 a las 09:32 PM ( 21:32 horas)
Aquí tenemos la solución para aquellos que quieran rebajar de peso y que a la misma vez sean adictos al Internet: La WebCycle, una bicicleta que se conecta a tu PC, y que mientras mas rápido das pedales, mas rápido te permite acceder al Internet.

En otras palabras, no pedales, no Internet.

Esto de seguro que es una buena manera de perder calorías en una buena sesión de chateo, o de ver videos por Internet... :)

Y si quieren ver mas cosas curiosas, no dejen de visitar la sección de Curiosidades en eliax.

Video del hack a continuación (enlace YouTube)...


autor: josé elías


10 cosas a mejorar en los futuros iPhones
eliax id: 6901 josé elías en ago 8, 2009 a las 08:13 AM ( 08:13 horas)
Como muchos ya saben, soy un gran admirador del iPhone desde su primera versión, pues en mi opinión ha sido uno de los dispositivos mas revolucionarios en tiempos recientes. Es cierto que hay otros con quizás mejores especificaciones técnicas, pero a la fecha no he probado ni uno solo que posea la elegancia de la implementación de Apple que posee el iPhone. Y ahora que el App Store ha florecido, su utilidad ha incrementado exponencialmente, dejando detrás gran parte de la competencia.

Sin embargo, hay espacio para mejoras, y de eso se trata este artículo de hoy.

Est artículo lo pueden considerar la continuación de este otro que escribí hace 2 años, en donde proponía 25 mejoras al iPhone (muchas de las cuales ya Apple ha implementado desde entonces).

Así que sin mas introducción, iniciemos de una vez (sin ningún orden en particular):

1. Agregar una segunda cámara al frente del iPhone e incluir iChat, para así poder hacer video-conferencia. Y permitir acceso a terceros a esta funcionalidad (es decir, Skype, Yahoo Messenger, Google Talk, etc).

2. Permitir poder sincronizar nuestros datos con la PC/Laptop/Netbook por WiFi. Actualmente esto solo se puede hacer por USB. Es cierto que si tienes el servicio pagado MobileMe que puedes sincronizar por WiFi o hasta 3G, pero hay que pagar y no todo se sincroniza (videos por ejemplo).

3. Poder imprimir inalámbricamente de manera nativa por WiFi o Bluetooth. Hoy día es posible descargar aplicaciones desde el App Store (Tienda de Aplicaciones) que imprimen a modelos específicos (como de HP), pero me refiero a algo mas genérico, y que sea soportado por los grandes de la industria (HP, Canon, Epson, Samsung, etc).

4. Crear un estándar sobre Bluetooth y/o el conector USB para controles de video-juegos. Esto es algo para lo que existe un mercado hoy día, ya que no todos los juegos son aptos para jugarlos eficientemente con le pantalla multi-toque del iPhone. La idea es que puedas comprar un control ultra delgado (y portátil) que se comunique con el iPhone y que contenga botones físicos.

5. Un conector mini-HDMI para conectar el iPhone a una pantalla de alta definición y poder ver fotos, videos, video-juegos, y hasta la lista de canciones. Recuerden que HDMI también transmite audio.

6. Poder grabar video en resolución mínima de 720p (y 1080p sería aun mejor). El chip de gráficos del iPhone 3GS se sabe que puede hacerlo, pero por alguna razón Apple solo soporta calidad VGA (640 x 480) en vez de 1280 x 720. Quizás por temas de espacio en la memoria flash del iPhone...

7. Un estándar para comunicación bidireccional por Bluetooth con automóviles, para así uno evitarse las mil maneras que existen hoy día de conectar un iPhone al auto. De esta manera sería posible ver los nombres de las canciones en el radio del auto, e incluso controlar el iPod del iPhone desde el guía del auto, así como utilizar la funcionalidad de hablar por celular en modo de manos libres. Sería incluso genial utilizar el conector mini-HDMI que sugiero en el punto 6 para ver las fotos y videos del iPhone en pantallas LCD en el auto (genial para los niños), o incluso poder jugar los video-juegos con un control Bluetooth como sugerí en el punto 4.

8. Permitir la transferencia directa entre un iPhone y otro de todo tipo de contenido (canciones, fotos, videos, contactos, agenda, notas, páginas web, etc). Se que Apple no quiere permitir esto porque no quiere que uno transfiera canciones (y videos) comprados por iTunes, de manera gratuita a otras personas, pero al menos dejen que transfiramos aquellas canciones y videos que nosotros mismos subimos al iPhone.

9. Aunque hace 2 años atrás me hubiera gustado que el navegador Safari del iPhone soportara Flash, hoy día opino lo contrario. Mejor seguir con HTML 5 y soportar los nuevos estándares abiertos que hacen lo mismo que Flash y de una manera compatible con otros navegadores, y de forma mas ligera y compatible con la Web. Una razón que quería Flash antes era para los videos (como los de YouTube), pero hoy día YouTube está codificando sus videos directamente en MPEG-4, que es mucho mas eficiente reproducir directamente que desde un contenedor Flash.

10. Mayor libertad en el App Store. Esto es algo de lo que muchos se quejan (y la razón principal para darle un buen vistazo al Google Android), pues Apple tiene una mano de hierro en el proceso de aceptar aplicaciones a su App Store. Tiene todo tipo de restricciones, desde la imposibilidad de uno crear aplicaciones que compitan contra las que vienen instaladas en el iPhone por defecto (como por ejemplo, una alternativa a Safari o iTunes), hasta aplicaciones que vayan en contra de los intereses de las compañías telefónicas (como evitar por ejemplo que Skype funcione por 3G, y que solo lo haga por WiFi), así como evitar aplicaciones que carguen otras aplicaciones (como emuladores de video-juegos clásicos), y un sinnúmero de otras restricciones.

¿Y ustedes, que otras mejoras sugieren?

Y como siempre, pueden leer mas de mis opiniones y análisis en la sección bajo ese nombre a la derecha de la página principal de eliax.

Previamente en eliax:

25 cosas que Apple debe mejorar en el iPhone (Octubre 2007)

autor: josé elías


Pregunta a eliax: ¿Qué es un Buffer y cómo funciona?
eliax id: 6924 josé elías en ago 7, 2009 a las 09:24 PM ( 21:24 horas)
eliax - para mentes curiosasAyer les expliqué el concepto de un Cache, hoy les explicaré un concepto relacionado llamado un Buffer, y trataré una vez más de utilizar ejemplos de la vida cotidiana para que entiendan el concepto.

Así que empecemos hoy imaginándonos que trabajas en un restaurante en donde solo venden hamburguesas, y tu trabajo es ser el que las prepara según las vayan ordenando.

Una cosa que notarás en tus primeros días en ese empleo es que en determinados momentos del día, en particular a la hora del almuerzo y la cena, los clientes piden grandes cantidades de hamburguesas.

Inicialmente si te pedían dos hamburguesas, decías "¡en un momento están listas!", y empezabas a prepararlas, y cuando terminabas las entregabas a la persona encargada de tomar la orden del cliente.

Sin embargo, mientras tu preparabas esas dos hamburguesas el cliente simplemente esperaba con los brazos cruzados, haciendo el trabajo bastante ineficiente.

Pero poco después se te ocurrió una idea: En vez de esperar a que te pidan las hamburguesas, lo que hay que hacer es preparar de antemano varias hamburguesas para cuando la hora pico llegue ya se puedan vender varias de ellas en lo que tu sigues preparando unas cuantas hamburguesas mas.

Lo que acabas de crear es un Buffer.

Un Buffer no es nada más que preventivamente tener algo listo, para cuando lo necesites ya tenerlo hecho y no tener que buscarlo o hacerlo en el momento que te lo pidan (esto es diferente a un Cache como veremos más adelante). Y este concepto, como veremos a continuación, es (junto con el Cache) uno de los conceptos más básicos y universales en el mundo de la computación...

Por ejemplo, cuando ves un video de YouTube por Internet, notarás que YouTube primero empieza a pre-descargar el video, pero sin reproducirlo, para así tener suficiente video ya descargado para cuando empiece a reproducirlo ya tenga "por adelantado" buena parte del video en tu PC. Usualmente muchos dicen que el video ha sido puesto en Cache, pero en realidad lo correcto es decir que ha sido puesto en un Buffer.

De esa manera, si el video está reproduciendo, y la conexión de Internet falla por un par de segundos, el video sigue viéndose normalmente porque lo que tu navegador web hace es que reproduce el video del Buffer, y no del Internet.

En realidad, y esto es algo curioso, YouTube nunca reproduce videos directamente desde Internet, sino que los reproduce siempre desde el Buffer. Lo que ocurre tras bastidores es que el Buffer se vive llenando de datos desde el Internet por un extremo, y por el otro lado lo envía a la pantalla de tu PC. Y lo mismo con casi todo sistema que utilice Buffers.

Este concepto en nivel técnico es bastante potente, pues no solo hace que el flujo de dato sea constante aun si el verdadero flujo de datos no lo sea, sino que además es una técnica para aumentar el rendimiento de flujos de datos. Veamos como.

Digamos que el restaurante de hamburguesas se hace bastante popular, y que tu solo ya no eres suficiente para preparar las hamburguesas, aun con un Buffer de decenas de hamburguesas pre-hechas. En este caso se puede contratar a otra persona para que te ayude, pero ahora ambos pueden contribuir al Buffer, llenándolo entre los dos de hamburguesas por un extremo, y por el otro extremo seguimos con una sola persona atendiendo a los clientes, independientemente del trabajo que ustedes hagan detrás.

Similarmente, imagínate un canal de TV que quiera transmitir su programación entre una ciudad y otra por medio de Internet. Al poco tiempo se da cuenta que el ancho de banda de su conexión T1 (1.544 Mbps) no es suficiente para enviar el video a la calidad que desea, pero calcula que con el doble de ancho de banda sería suficiente hacerlo. Sin embargo, por motivos técnicos la empresa que le provee de Internet le informa que una T1 es la velocidad mayor que ofrecen.

La solución es contratar dos lineas separadas, dividir el flujo de datos de video entre las dos lineas, y en el otro extremo ensamblar el video de nuevo en un Buffer, y después tomar en la red local remota el video combinado desde el Buffer y reproducirlo. Es decir, en la ciudad de destino el Buffer actúa no solo como una manera de poder leer el video de forma continua, sino que también de aislar la aplicación final del detalle técnico de que el video proviene de dos conexiones diferentes.

Este mismo concepto de Buffer es muy común también en supermercados: Mantienen un Buffer de comida en un almacén dentro del supermercado, para que mientras se va vendiendo la comida ellos vayan llenando los estantes de comida con la almacenada en el almacén (el Buffer), para de esa manera cada vez que necesiten comida no tener que llamar a sus proveedores y esperar varios días a que llegue esta.

Entonces, el objetivo de un Buffer es tratar de garantizar que siempre habrá un flujo constante de datos. Es decir, en vez de obtener los datos solo en el momento que uno los pida, que estos ya estén disponibles antes de uno pedirlos.

Entonces, una diferencia fundamental entre un Cache y un Buffer, es que en el caso de un Cache que está diseñado para tratar de adivinar cuáles serán los datos que serán pedidos próximamente de manera aleatoria, un Buffer por otro lado está diseñado de manera más sencilla ya que los datos que se piden no son aleatorios (como distintos números telefónicos) sino que continuos (como los fotogramas de un video, o una linea de hamburguesas), por lo que el Buffer siempre sabe que es lo que le van a pedir próximo.

Y como siempre, pueden acceder a más artículos similares en la sección de "Pregunta a eliax", y enviar sus preguntas por este medio.

autor: josé elías


Video de cómo se fabrican lentes de alta calidad para cámaras
eliax id: 6923 josé elías en ago 7, 2009 a las 10:03 AM ( 10:03 horas)
Este siguiente video es excelente para demostrar no solo el proceso de fabricación de lentes de alta calidad para cámaras del tipo SRL/DSLR, sino que además para que entiendan por qué estos lentes son por lo general tan costosos (en particular un lente del tipo "prime").

Un par de datos interesantes del video: Un solo kilogramo (2.2 Lbs) del cristal bruto necesario para crear el lente puede costar hasta US$1,000 dólares, y el proceso de construcción de un buen lente puede durar hasta 6 semanas...

Video a continuación (enlace YouTube)...


Previamente en eliax:

Como se fabrica un Holograma (Junio 2006)

Pregunta a eliax: Sobre ISO, Apertura, Velocidad y f-stops en cámaras (Enero 2009)

autor: josé elías


¿Problemas con Twitter, Facebook y Twitterfeed? Esto es lo que ocurre...
eliax id: 6922 josé elías en ago 7, 2009 a las 07:47 AM ( 07:47 horas)
Hace unos meses les enseñé una manera de como podían integrar a Twitter y Facebook, de tal manera que todo lo que escribieran en Twitter apareciera automáticamente en Facebook. Y sin duda algunos han estado teniendo problemas en estos últimos dos días, y en particular en las últimas horas con el servicio de Twitterfeed que es el que conecta RSS a Twitter.

El problema es que recientemente el portal de Twitter fue atacado con un "DDoS" (miles de computadoras esclavizadas por un virus en Internet, inundando de tráfico a Twitter.com), y debido a eso los administradores de las redes de Twitter han adoptado temporalmente una política de bloquear una gran cantidad de "direcciones IP" del Internet.

Lamentablemente Twitterfeed cayó accidentalmente en esa lista de direcciones IP bloqueadas, por lo que el servicio de ellos por el momento no se puede conectar a tu RSS para leer tus teets y publicarlos en Twitter.

Sin embargo según los creadores de Twitterfeed, ya Twitter está al tanto del caso y se espera que el problema se resuelva próximamente...

Nota: Esta semana han habido varios ataques del tipo DDoS a varios portales grandes de Internet. Obviamente algún payaso cree que esto es divertido. Y lo peor del caso es que este tipo de actividades, por mas sorprendente que sea, son legales en muchos países, razón por la cual abogo por esto. Así que si otros servicios no les están funcionando, es posible que sea por esto.

Fuente oficial de este dato

autor: josé elías


Pregunta a eliax: ¿Qué es un Cache y cómo funciona?
eliax id: 6921 josé elías en ago 6, 2009 a las 11:41 PM ( 23:41 horas)
eliax - para mentes curiosas¿Cuántas veces no han leído especificaciones en un CPU, una memoria, disco duro, o incluso en terminología en navegadores y aplicaciones web, en donde se refieren a un "Cache"?

Cache es uno de esos términos que para el usuario técnico es una simpleza, pero para la persona común no familiarizada con el término es lo mismo que decir palabras mágicas en una película de Harry Potter. Cosas como que un disco duro tiene 16MB de cache, o que un CPU tiene 2MB de cache es algo que la mayoría de los consumidores no entiende, y por lo general simplemente siguen la regla que mientras más grande es el cache mejor debe ser lo que uno está comprando (y esa regla en este caso es por lo general una buena regla a seguir, aunque no siempre como veremos).

Así que veamos qué es este concepto en términos sencillos y fáciles de entender...

Imagínate que trabajas en una central telefónica de un pequeño pueblo, en donde muchas personas llaman para preguntarte el número telefónico de algunos negocios (restaurantes, cines, tiendas de ropa, bancos, etc), y que lo único que tienes disponible para contestar es una de esas tradicionales guías telefónicas (un libro bastante pesado y de gran espesor).

Una cosa que notarás en tu empleo, al cabo de poco tiempo, es que las personas tienden a preguntar con bastante frecuencia sobre un grupo en particular de negocios populares, por lo que para hacer tu trabajo más eficiente, lo que empiezas a hacer es a copiar el número telefónico de esos negocios populares en un cuaderno aparte, organizados alfabéticamente.

Ese cuaderno tiene quizás solo 4 o 5 páginas (versus las cientos de página de la guía original), pero sientes confianza en que en alrededor del 50% de los casos cada vez que te llaman esos números los puedes encontrar en esta pequeña guía, en donde puedes encontrar los números más rápidamente.

Pues felicidades porque acabas de crear un cache.

El mismo concepto se utiliza por ejemplo en un disco duro. Un controlador interno utiliza una pequeña cantidad de memoria (digamos, 16MB) para almacenar cosas que cree tú vas a pedir en el futuro próximo, de modo que si tu PC le pide información al disco duro, y este la tiene en el cache de 16MB, te la puede dar muchísimo más rápidamente que buscándola físicamente en el disco duro (el cual a la fecha es muy posible que sea un sistema mecánico con discos que giran, mientras que la memoria cache es memoria sólida y mucho más rápida).

Es decir, un cache sirve para acelerar el acceso a la información, y por eso, mientras más grande es el cache por lo general mejor el rendimiento, ya que más cosas se pueden almacenar en este cache "por si acaso" se necesitan.

Otro concepto importante del cache es lo denominado en jerga técnica un "cache miss", un fallo de cache. Expliquemos lo que es eso siguiendo el ejemplo de la guía telefónica...

Digamos que alguien te llama, y tu esperas la llamada con tu pequeño cuaderno en mano (y dejas la guía telefónica original a un lado tuyo), y te pide un teléfono. Lo primero que haces es abrir tu cuaderno y buscar a ver si el número está ahí, sin embargo te das cuenta que no se encuentra ahí, por lo que procedes entonces a poner el cuaderno a un lado, recoger una vez más la guía telefónica, y proceder como antes a buscar el número telefónico hasta que lo encuentres.

¿Qué ocurrió aquí? Un fallo del cache, pues lo que encontrabas no estaba en tu cuaderno, lo que hizo que ahora el proceso de buscar el número telefónico durara mas tiempo que si no tuvieras un cuaderno/cache, ya que perdiste tiempo buscando en el cuaderno antes de buscar en la guía.

Eso mismo ocurre en un cache de disco duro, CPU, o cualquier otro proceso que utilice caches, y es sumamente importante tomar ese problema en cuenta cuando se diseñan sistemas, ya que si tu no tienes un buen algoritmo para saber qué poner en el cache, es posible que al final el cache te afecte negativamente y termines con un sistema más lento que antes.

En el caso de la guía telefónica, el algoritmo es incluir en el cuaderno los números más frecuentemente utilizados, lo que es bastante simple, pero en otros casos (como en un CPU en donde no sabes siempre cuales instrucciones tu PC va a ejecutar), el trabajo es muchísimo más difícil.

Es por eso que el diseñador del sistema debe poner en la balanza una fórmula en donde el tiempo perdido con la cantidad de cache missses sea menor que el tiempo ganado con caches hechos correctamente, y déjenme decirles que existen literalmente miles y miles de artículos científicos publicados sobre todas las posibles estrategias de abordar este problema.

Otro punto a tener en cuenta es que en un sistema en donde casi en el 100% de los casos los datos son aleatorios, que entonces es recomendable no utilizar un cache, ya que la mayoría de las veces el cache haría un cache miss y terminarías con un sistema más lento, más complejo, y más caro.

La otra cara de la moneda es decir que mientras más estructurados y predecibles sean los datos, más se benefician estos de un cache. Y obviamente existen casos intermedios, en donde hay que saber elegir cuidadosamente la cantidad de cache, pues si eliges mucho te arriesgas a tener muchos cache misses con datos aleatorios, y si eliges poco también te arriesgas a tener muchos cache misses con datos predecibles.

Así que ahí lo tienen. Asombrosamente este concepto a veces es explicado en todo un capítulo en cursos de ingeniería en computación, pero como vieron, si hacen una analogía a la vida diaria, notarán que en realidad es algo bastante simple...

Y como siempre, pueden acceder a más artículos similares en la sección de "Pregunta a eliax", y enviar sus preguntas por este medio.

autor: josé elías


Impresiones de la película G.I. Joe
eliax id: 6920 josé elías en ago 6, 2009 a las 10:45 PM ( 22:45 horas)
Esta noche vi por fin la esperada versión cinematográfica de "G.I. Joe" con actores humanos basada en los dibujos animados de los juguetes Hasbro del mismo nombre, y en general mi reacción ante la película fue de sentimientos mixtos...

A algunos puristas de la serie original es posible que no les guste esta adaptación, ya que está ultra-modernizada (a grado tal, que incluso muchas de las tecnologías avanzadas de las cuales hablo constantemente en eliax para un futuro no tan cercano hacen su aparición como si ya fueran un hecho hoy día), sin embargo para los que no eran fanáticos de la serie estos cambios quizás ni les importe, pues lo que les importa es la película.

Y hablando como película, la trama es bastante "estándar de Hollywood para películas de acción y alto presupuesto con muchas explosiones y final predecible con una fórmula probada en decenas de ocasiones". Es decir, casi no hay trama. Lo que sí hay es mucha acción, y quizás demasiado, pues el director no nos deja descansar ni dos minutos para respirar y darle oportunidad a nuestras neuronas (no que se ejerciten mucho con esta película) para que procesen lo que acaban de ver.

Muchos de seguro querrán comparar esta película con Transformers 2, así que en resumen, Transformers 2 es en mi opinión mucho mejor que esta, por lo que bajen sus expectativas. No es que G.I. Joe sea mala, sino que deja que desear...

Una cosa bastante obvia de la película es que está 100% diseñada para "vender juguetes", pues en menos de 2 horas somos bombardeados con todos y cada uno de los posibles juguetes de la colección que sin duda invadirán las jugueterías junto con la película. Aquí verán todo, desde aviones de todo tipo y Jet Skis, hasta naves casi espaciales, vehículos voladores compactos, tanques, autos, submarinos, barcos, etc. Eso sin nombrar los distintos personajes de la serie. En otras palabras, esta película es una vitrina para vender juguetes...

Lo que mas me gustó de la película fueron las demostraciones gráficas sobre cómo podrían funcionar algunas tecnologías en el futuro, como hologramas, armas de nano-tecnologías, guerra con control mental, etc. Al que le gusten esos temas se maravillarán antes algunas escenas en la película.

Una cosa que hubiera cambiado es agregar mas información de fondo sobre Cobra, antes de su transformación, pues de la manera que justifican lo que hace no es creíble ya que nunca conocimos al personaje en su pasado (salvo un par de muy cortas escenas), y dado que su nombre es parte del título completo de la película ("G.I. Joe - The Rise of Cobra" - "G.I. Joe - El Surgimiento de Cobra") creo que esa fue una gran omisión...

En resumen, los que gustan de películas de acción y super héroes, creo que les gustará, solo que no esperen demasiado. De verdad se los digo, bajen sus expectativas.

En fin, como fan de este tipo de películas le doy una B, pero desde el punto de vista técnico le doy C+.

Y si te interesan temas de Cine, no dejes de visitar la sección de Cine en eliax...



autor: josé elías


Pequeña muestra del poder de Canvas en HTML 5
eliax id: 6918 josé elías en ago 6, 2009 a las 01:47 PM ( 13:47 horas)
Como han leído previamente en eliax en artículos como este, uno de los principales componentes de HTML 5 es el componente Canvas, que no es mas que una manera de decir que ahora desde Javascript un programador podrá tener acceso directo a gráficos en 2D acelerados con tu tarjeta de video, pero de una manera totalmente independiente de plataforma.

Así que para que vean lo que es posible con esta tecnología, los invito a que visiten el siguiente enlace. Sin embargo, la demostración solo la podrán apreciar si tienen una versión reciente de los últimos navegadores web que soporten a Canvas.

Como referencia, hice la prueba exitosamente con Firefox 3.5, Chrome 2, Safari 4, y Opera 10.

Ya se imaginarán lo que será posible cuando una alto porcentaje de los navegadores soporten Canvas, y los programadores empiecen a tomar ventaja de ello...

Nota curiosa para los que no sepan inglés: Canvas significa "lienzo", como en "lienzo para pintar", así que ya saben de donde tomaron el nombre...

Enlace a la página con el demo de Canvas

Enlace adicional para geeks (requiere Canvas también) (utilicen teclas del cursor para moverse y Space para saltar) :)

Previamente en eliax:

HTML 5 a ser punto de inflexión en aplicaciones de Internet/móviles (Febrero 2009)

autor: josé elías


Hitachi lanza primer disco duro de 2TB y 7200rpm en formato 3.5"
eliax id: 6917 josé elías en ago 6, 2009 a las 10:17 AM ( 10:17 horas)
Hitachi acaba de lanzar el primer disco duro para PCs en el formato de 3.5" y 7200rpm en un tamaño de 2TB (2 TeraBytes). Hasta ahora Western Digital tenía un disco de 2TB, pero era de 5400rpm, lo que no lo hacia ideal para utilizarlo como el disco duro principal de tu PC o servidor.

Aparte de eso el disco viene con 32MB de memoria cache y su interfaz es SATA a 3Gbps. Su precio sugerido de venta en los EEUU es de US$329 dólares.

Y a propósito, los discos duros de 1TB ya están muy por debajo de los US$100 dólares. Yo mismo compré uno de 1.5TB en US$119 hace pocas semanas.

Esto, junto con la noticia que les dejé saber ayer por eliax en Twitter sobre el Memory Stick XC de Sony que soportará hasta 2TB en una mini tarjeta de memoria para cámaras digitales (y para competir contra estas), les puede dar una idea de lo rápido que está avanzando la industria del almacenamiento...

Y si te interesan temas de almacenamiento masivo o almacenamiento de avanzada, no dejes de visitar la sección de Almacenamiento en eliax.

Fuente de la noticia

Previamente en eliax:

Toshiba: Disco duro de 1.2 TB para laptops en camino (Agosto 2007)

Nueva tarjeta de memoria SDXC, hasta 2 TeraBytes y 300MB/s (Enero 2009)

WD lanza primer disco duro interno de 2 TB del mundo (Enero 2009)

autor: josé elías


Microsoft dice oficialmente: Linux una amenaza a Windows en el escritorio
eliax id: 6916 josé elías en ago 6, 2009 a las 01:08 AM ( 01:08 horas)
Mas oficial de esto no pudo haber sido...

Microsoft recientemente declaró en su presentación anual ante la U.S. Securities and Exchange Commission (SEC), que Linux, en particular Red Hat y Canonical (los de Ubuntu), es una amenaza para Windows en el mercado de sistemas operativos de escritorio.

No está claro si Microsoft simplemente estaba siendo transparente (y en los EEUU no se juega con la transparencia y el SEC, ya que afecta la bolsa de valores), o simplemente jugando sus cartas inteligentemente para aparentar que Windows ya no tiene un monopolio, pero sea como sea, esta es la primera ve en su historia en donde Microsoft hace esta declaración de manera oficial ante cualquier organismo.

Anteriormente Microsoft había declarado a Linux una posible amenaza solo en servidores, pero como vemos, los tiempos cambian, y sin duda alguna los adelantos recientes en Linux (en particular Ubuntu) han dado mucho de qué pensar en las oficinas de Microsoft.

Sin embargo, dudo que por el momento el imperio de Windows vaya a desaparecer, en particular dado el éxito esperado de Windows 7, pero como dicen, no hay imperio que dure mil años... En el horizonte tenemos no solo a Linux, sino que a las futuras versiones de Mac OS X, y al nuevo contendiente, el Google Chrome OS.

Por su parte, OS X es posible que gane empuje si Apple anuncia su rumoreada iTable (o iPad, o iBook) que se espera en Septiembre, y la cual creo posible que contenga acceso a una App Store (Tienda de Aplicaciones) similar a la del iPhone. Mientras que por otro lado Google está presentando al Chrome OS como una sistema operativo para la Era Web, en donde nuestros datos estarán fusionados entre nuestros dispositivos locales y la nube de Internet.

Sea como sea, y como dicen, mientras mas competencia, mejor... :)

Fuente de la noticia

Crédito de la imagen

Previamente en eliax:

Microsoft dice que le teme al Software Libre mas que a Google (Junio 2008)

Google anuncia su Sistema Operativo Chrome OS. Detalles y Análisis (Julio 2009)

autor: josé elías


Mini-laboratorio químico en un chip. Mas de mil experimentos en paralelo
eliax id: 6915 josé elías en ago 5, 2009 a las 09:15 PM ( 21:15 horas)
Esta noticia de hoy es otro ejemplo mas, esta vez aplicado a la química, de como la tecnología está creciendo exponencialmente.

A la fecha, hacer experimentos científicos que conlleven mezclar diferentes elementos químicos es un proceso arduo, el cual si tienes unos millones de sobra se te puede facilitar con equipos que automatizan el estudio.

Sin embargo, así como pasamos de las primeras computadoras con tubos al vació a el microchip, así mismo está sucediendo con los experimentos químicos, pues un equipo de científicos de UCLA (University of California at Los Angeles) acaba de crear un microchip que en sí mismo es un laboratorio en miniatura capaz de mezclar y experimentar con 1,024 experimentos, de manera simultánea.

Es decir, con este adelanto será posible ahora acelerar este tipo de experimentos por 3 órdenes de magnitud (mil veces). Sin embargo, en el momento que coloquemos varios de estos chips juntos (decenas, cientos, o miles) podremos acelerar este tipo de estudios en muchas mas órdenes de magnitud (fácilmente en millones de veces).

Sin embargo, eso no es todo. El solo hecho de que este tipo de chips se pueda fabricar a bajo costo, significa además que laboratorios (e inclusive, individuos) que antes no podían hacer experimentos de este tipo, lo podrán hacer ahora, lo que significa que la aceleración y crecimiento en este tipo de tecnologías se acelerará aun mas a miles de millones de veces en el momento que miles de laboratorios empiecen a adoptar sistemas como este.

Pero eso no es todo.

Estos chips, dado su pequeño tamaño, pueden trabajar con pequeñas concentraciones de los elementos a ser combinados, utilizando una técnica llamada microfluidos, lo que significa que lo que antes tomaba horas, o días, ahora toma solo segundos, lo que significa aun mayores resultados en aun menores tiempos.

Esto sin duda acelerará todo tipo de investigación en donde sea necesario hacer miles de pruebas con pequeños cambios, como sucede en la búsqueda de antídotos, curas y tratamientos para todo tipo de enfermedades, por lo que no duden que este avance acelerará también la llegada al mercado de todo tipo de medicinas, y de paso acelerará el tipo de tecnologías biológicas que nos extenderán la vida.

Y como siempre, pueden leer mas noticias de ciencia avanzada en la medicina leyendo la sección de Salud en eliax.

Fuente de la noticia

Documento técnico oficial de este chip

autor: josé elías

"Estoy leyendo tu libro Maquinas en el Paraiso, que te puedo decir, EXCELENTE.

Un placer, gracias
"

por "manuel" en dic 24, 2013


en camino a la singularidad...

©2005-2025 josé c. elías
todos los derechos reservados
como compartir los artículos de eliax