Model MK802 PC: Un miniordenador con Android que peleará contra la Raspberry Pi

La Raspberry Pi, ese miniordenador increíblemente barato que salió a la venta con un éxito arrollador, ya tiene competidor, como no podía ser de otra manera. AliExpress empezó a vender el Model MK802 PC que cuesta solo US$74.

Como se puede ver en la imagen que acompaña el post, el ordenador (qué extraño es catalogarlo de ordenador a algo tan pequeño) tiene las medidas de un datatraveler pero es un portátil completamente funcional. Dentro tiene un procesador de un núcleo Allwinner A10 ARM Cortex-A8 de 1.5GHz, 512MB de RAM, 4GB de almacenamiento y tiene Android 4.0 en su interior.

A diferencia de la Raspberry Pi, que se puede conectar directamente al puerto HDMI de una pantalla, el MK802 tiene un conector HDMI por lo que necesita además un cable para ser conectado a una pantalla. Soporta reproducción de video a 1080p así que se podrá utilizar perfectamente para, por ejemplo, utilizarlo como si se tratase de un home theatre. También soporta HTML5 y Flash y los más famosos formatos de audio.

También incluye un puerto USB, tiene capacidad de conectarse a redes WiFi, pesa 200g y soporta Linux que ofrece la capacidad de programarle un dual-boot (si se sabe hacerlo, claro).

from Gizmología – Axel Marazzi


Una máquina Enigma de papel

Paperenigmaassembled

Niños, ya tenéis deberes para el finde: Construir una máquina Enigma de papel.

# Enlace Permanente

from Microsiervos – alvy@microsiervos.com (Alvy)


Electric Imp, conectando nuestros objetos cotidianos a Internet

electric imp

Cada vez tenemos más dispositivos, electrodomésticos y objetos domésticos conectados entre sí y a Internet. En poco tiempo prácticamente cualquier gadget que compremos, e incluso utensilios y muebles tendrán incorporada algún tipo de conectividad, dando forma a una parte de lo que llamamos la Internet de las cosas.

Para ello aún falta algo de tiempo, siendo necesario popularizar interfaces estandarizadas que faciliten el proceso. Esto es lo que la start-up Electric Imp quiere ofrecernos, gracias a sus pequeñas tarjetas WiFi con procesador Cortex-M3 que pueden acoplarse a casi cualquier dispositivo y a sus kits para desarrolladores.

circuito hannah

Las tarjetas tienen un formato similar al de las actuales memorias SD, pero además de incorporar conectividad WiFi compatible con WEP, WPA y WPA2, tienen un microprocesador integrado y seis salidas para comunicarse con el exterior(UART, I2C y SPI).

Se insertarán en unos circuitos especialmente diseñados para ello, que la empresa ofrece en diferentes formatos en función de las necesidades de cada fabricante y que incorporan, dependiendo del modelo, todo tipo de sensores, acelerómetros, detectores de presencia, de sonido, etc.

Electric Imp funciona con cualquier dispositivo, sólo es necesario instalarle una de estas placas de circuito, no necesitando un sistema centralizado de control, como sucede con otros equipos de domótica. Además, se configura y maneja todo desde los teléfonos móviles (iOS y Android), a través de una aplicación que permite el emparejamiento rápido y sencillo de los dispositivos a nuestra red.

iphone

Muy bien pero, ¿para qué se puede usar todo esto? Pues la idea es que cada fabricante o particular lo use para crear nuevas aplicaciones hasta ahora inimaginables. En el ejemplo del vídeo se nos muestra como se ha utilizado para crear un sensor que detecta cuando la cantidad de agua de un recipiente baja de un cierto nivel, enviando una señal a la red para actuar en un indicador.

Pero las posibilidades van mucho más allá. Por ejemplo detectores de presencia, de iluminación, de apertura de puertas o ventanas, de movimiento de objetos, gestión de inventarios, creación de actuadores que se activen ante determinadas condiciones, etc. Y todo ello gracias a la interconexión permanente y de forma inalámbrica a Internet, en donde además existirá una plataforma cloud desde donde se podrán recibir actualizaciones con más funcionalidades.

La verdad es que suena muy interesante. Veremos las aplicaciones prácticas que van surgiendo cuando se pongan a la venta las primeras tarjetas y kits el próximo junio por unos precios que oscilarán desde los 10 y 20 dólares de los circuitos hasta los 25 de las tarjetas.

Más información | Electric Imp
En Xataka On | Electric Imp permitirá conectar cualquier dispositivo o electrodoméstico a Internet

from Xatakahome – Paco Rodriguez


Por qué deberías dejar a Google alojar las librerías javascript que usas en tu web

Cargar librerias js externas

Revisando el código fuente de muchas webs nos damos cuenta que buena parte de ellas alojan directamente las librerías javaScript que están usando: jQuery, Dojo, Prototype,… Es una práctica no recomendable, ya que si usamos un CDN externo como el que provee gratuitamente Google podríamos ahorrar tráfico en nuestros servidores y evitar que el usuario tenga que bajarse de nuevo la misma librería JS que habrá usado en más sitios y ya probablemente tenía cacheada.

Si usamos Google Ajax Libraries podemos servir jQuery, por ejemplo, directamente desde los datacenteres de Google lo que nos provee ventajas como una latencia baja, incrementamos la velocidad de descargar al liberar a nuestro servidor de peticiones y un mejor cacheo. Dispone de copias de las librerias y versiones de las más conocidas como jQuery, Dojo, Prototype, … aunque echamos muchas más en falta.

Mejora de latencia

Como CDN, Google Ajax libraries, distribuye su contenido entre distintos servidores a lo largo del mundo, así que probablemente cuando lancemos la petición tengamos uno cerca que nos pueda ofrecer la descarga de la librería JS en unos pocos ms. Hay muchos CDN, pero quizás lo más atractivo de usar el de Google sea actualmente que es gratis y que es bastante fiable. Google no se cae o es muy improbable. Claro, que como se caiga vamos todos detrás.

Reduce el número de peticiones a tu servidor

Al externalizar ese contenido eliminamos una petición a nuestro servidor que podemos usar para la descarga de más contenido. Puede parecer una tontería pero si lo multiplicamos por el número de usuarios simultáneos que pueden tener una web bastante visitada observamos un ahorro considerable de ancho de banda y el número de peticiones al servidor. Además de reducir las conexiones paralelas que debería realizar el servidor a un mismo dominio.

Mejor caché

Lo principal de usar un CDN común es que los usuarios probablemente no se tendrán que volver a bajar por enésima vez la misma librería de jQuery si ya la tiene cacheada del mismo CDN que también usa otra web como la nuestra.

La implementación es bastante sencilla. Tenemos dos opciones: cargar la librería que queramos con una ruta que nos provee Google o usar su propia librería Javascript para hacer la cargar mediante ajax en el momento que elijamos.

Vía | encosia
Más información | Google Libraries API
En Genbeta Dev | Google Libraries API, un repositorio de las librerías Javascript más utilizadas

from Genbetadev – Txema Rodríguez


Encuesta de intención de voto, digo de uso de herramientas Java por ZeroTurnAround

informe java

La gente de ZeroTurnAround se ha marcado una encuesta que ni los de Demoscopia antes de unas elecciones: 1100 desarrolladores Java consultados y como resultado un informe detalladísimo sobre el uso de herramientas Java. Un informe que confirma las tendencias imperantes en el mercado pero que también deja detalles curiosos como que Struts siga manteniéndose entre los Frameworks más usados o el vetustísimo CVS entre los sistemas de control de versiones… pero lo mejor será que veamos todas las clasificaciones y luego nos pongamos a discutir como Dijkstra manda:

Versiones de Java

  1. Java 6 (88%)
  2. Java 5 (33%)
  3. Java 7 (23%)
  4. Java 4 o anteriores (6%)

Lenguajes de la JVM

  1. Groovy (17%)
  2. Scala (11%)
  3. JRuby (2%)
  4. JPython (2%)
  5. Clojure (1%)

IDEs

  1. Eclipse (68%)
  2. Intellij (28%)
  3. Netbeans (17%)
  4. MyEclipse (4%)
  5. RAD (4%)

Herramientas de building

  1. Maven (67%)
  2. Ant (48%)
  3. SBT (6%)
  4. Gradle (5%)

Servidor de aplicaciones

  1. Tomcat (59%)
  2. JBoss (28%)
  3. Jetty (27%)
  4. Weblogic (14%)
  5. Glassfish (11%)
  6. Websphere (10%)

Frameworks web

  1. Spring MVC (30%)
  2. JSF (23%)
  3. Struts (18%)
  4. GWT (14%)
  5. Play! (8%)
  6. Wicket (7%)
  7. Grails (7%)
  8. Vaadin (7%)
  9. Stripes (2%)
  10. Tapestry (2%)

Frameworks de aplicación

  1. Spring (56%)
  2. Hibernate (54%)
  3. AspectJ (13%)
  4. Seam (7%)
  5. Equinox (4%)
  6. Felix (2%)

Standards

  1. JPA (44%)
  2. EJB 3.0 (23%)
  3. CDI (11%)
  4. EJB 2.0 (9%)
  5. OSGI (8%)
  6. JDO (2%)
  7. EJB 1.0 (1%)

Servidores de integración

  1. Jenkins (49%)
  2. Bamboo (7%)
  3. Teamcity (5%)
  4. Cruisecontrol (4%)

Tecnologías Front-end

  1. HTML / CSS / JS (74%)
  2. Swing (16%)
  3. Eclipse RCP (6%)
  4. SWT (5%)
  5. Netbeans RCP (5%)

Herramientas para la calidad del código

  1. Findbugs (33%)
  2. Checkstyle (29%)
  3. PMD (23%)
  4. Sonar (23%)

Sistemas de control de versiones

  1. Subversion (66%)
  2. GIT (33%)
  3. CVS (12%)
  4. Mercurial (10%)

Pd: además de la encuesta sobre herramientas también hacen otra de hábitos de los desarrolladores Java, de donde sale el gráfico que encabeza el post.

Vía | Javahispano (gracias a un tweet de @sorobon85)
Más info | Informe completo en pdf
En Genbeta Dev | Y C culmina la remontada y supera a Java como lenguaje más utilizado

from Genbetadev – Fernando Siles


Node.js para yayodesarrolladores web

Me considero yayodesarrollador web, no por que sea viejo sino por que soy de esa generación de desarrolladores que conocieron la web en su fase 1.0 y que formaron parte de la estandarización de la web 2.0. Soy un desarrollador web que se encuentra más cómodo desarrollando en Javascript “puro” que usando jQuery y que aún recuerda como hacer una petición Ajax “a pelo”, usando el objeto XMLHTTPRequest y el odiado ActiveX para que IE no se queje.

De esa generación de desarrolladores que acababan de conocer Ajax y lo usaban para todo, hasta para lo que ahora te da vergüenza admitir, que descubrieron que los selectores CSS3 iban a revolucionar el Javascript que conocían y que vieron como Google Chrome, con su motor  de Javascript V8 entraba en el mercado para literalmente darle la vuelta.

Y aquí es donde entre Node.js, que está basado en el uso de V8 como motor de procesamiento de javascript, pero a diferencia de lo que habíamos visto en nuestros tiempo mozos, hace 10 años, esta vez se usa en el servidor… ¿!EN EL SERVIDOR!?, si si, como lo oyes, puedes programar en Javascript pero en el servidor…O.o.

La idea no es nueva, por allá en el 2008 aparecía Jaxer que intentaba hacer algo parecido, y poco más he leido después de él. Y lo que se consigue es acercar las maravillas de un lenguaje como Javascript, con capacidad de orientarse a eventos permitiendo programar de forma asíncrona fácilmente al servidor, todo ello por que este tipo de programación consigue unos resultados de rendimiento espectaculares al estar básicamente en estado latente esperando a que se ejecute el evento X o el evento Y.

Vale vale, pero ¿nos ponemos a ello?

Lo primero es instalarlo, para ello, lo descargamos de la página oficial y lo instalamos (doble click en Windows y en Macmake && make install en Linux). Una vez instalado ya podemos ponernos a tocar código que es lo que nos gusta!

// Cargamos el módulo HTTP
var http = require('http');

// Creamos un servidor HTTP que devolverá "Hola Mundo!" en cualquier petición
var server = http.createServer(function (request, response) {
  response.writeHead(200, {"Content-Type": "text/plain"});
  response.end("Hola Mundo!\n");
});

// Escuchamos el puerto 8000
server.listen(8000);

// Mostramos un mensaje en la terminal
console.log("Server running at http://127.0.0.1:8000/");

El típico “Hola Mundo” nos muestra ya por donde van a ir los tiros en cuenta al asincronismo que os comentaba. El objeto server, queda asociado al puerto 8000 que ejecutará el callback definido unas líneas por encima.

Ahora para ejecutar esto en tu máquina, tendrás que guardar este código dentro de un fichero .js para ser llamado por node.js de la siguiente forma.

node fichero.js

El resultado, en la consola que hemos ejecutado el comando debería parecerse a esto:

Captura de pantalla 2012-05-15 a la(s) 23.09.42
(Ver Imagen)

Y como la consola indica, nos dirigiremos al enlace http://127.0.0.1:8000/ y veremos el texto “Hola Mundo!“. Sencillo, rápido y funcional.

Módulo, módulos y más módulos

Parte del éxito de Node.js reside en la comodidad para trabajar con módulos, y la facilidad de incluirlos a tu proyecto, traído de otros lenguajes se adhiere a nuestros proyectos de forma tan eficiente y práctica que no da pereza generar nuevos y nuevo módulos. De ahí que la comunidad se haya puesto las pilas y haya generado implementaciones de casi todos los componentes que te puedas imaginar.

npm install package

El comando npm, se instala con Node.js y mediante esa sencilla sintaxis podemos añadir un módulo a nuestro proyecto o al repositorio global de node.js dejándolo disponible para todos los proyectos dentro de esa máquina (node install -g package).

package.json

Para hacernos aún la vida más fácil, podemos especificar el fichero package.json, en el que definiremos el nombre de nuestra aplicación y las dependencias que este necesita.

{
    "name": "application-name"
  , "version": "0.0.1"
  , "private": true
  , "dependencies": {
      "express": "2.5.8"
      , "stylus" : "0.27.0"
      , "coffee-script": "1.3.2"
      , "swig": "0.11.2"
  }
}

Luego, como si de magia se tratara solicitamos que se instalen todas las dependencias del proyecto.

npm install -d

Y automáticamente empiezan a descargar los paquetes y guardarlos en la carpeta node_modules/ del proyecto.

Captura de pantalla 2012-05-15 a la(s) 23.28.16
(Ver Imagen)

Simplemente eso, cargamos lo que necesitamos y lo empezamos a usar en nuestro proyecto, así de sencillo. Esto da lugar a que un proyecto node.js, incluya frameworks para casi cualquier cosa, para escribir HTML más rápido (jade), para hacer un Javascript más eficiente (CoffeeScript) o para que las CSS’s se comporten como un lenguaje de programación (Stylus), o como he dicho antes, para hacer casi cualquier cosa.

Incluso, proyectos que juntan estos y otros frameworks/módulos y definen una forma ágil y robusta de trabajar como ExpressJS o Meteor que merecen la pena tratar con más detalle en otra serie de posts.

Artículos relacionados

aNieto2k

from aNieto2K – aNieto2k


Pronto Chrome estará disponible para dispositivos iOS

chrome-ios

Así como llegó la aplicación de navegador la gran G para Android, pronto es posible que también esté disponible para dispositivos iOS. Esto tras darse a conocer un reporte por parte de Macquarie en el que además de analizar la relación entre Google y Apple con la incorporación de Chrome para sus dispositivos, deja entrever que el navegador podría lanzarse durante este trimestre.

La llegada de Chrome para iOS permitirá utilizar un navegador opcional al nativo Safari, asimismo al igual que en su versión de escritorio este no dejará que se convierta en el navegador por defecto y todo link contenido dentro de los correos electrónicos los abrirá con Safari.

En cuanto a cuestiones económicas esto también podría significar que Google reduzca la cuota que paga  a Apple por el uso de las búsquedas de Google en el navegador nativo de iOS. Lo que se debería al gran incremento en las ventas y uso de dispositivos iOS, y la reducción de estos pagos resultaría significativo una vez que se iniciara una transición de usuarios Safari a Chrome en los aparatos de la manzana.

Es bastante probable que esta versión de Chrome para iOS también permita sincronizar las pestañas del navegador móvil en su cliente para escritorio, tal cual lo hace en dispositivos que funcionan con Android.

Pero que va, de seguro las novedades que contenga Chrome para iOS una nueva actualización de Safari igual las posea y sean hasta mejores, porque después de todo forma para de su familia y se supone fue diseñado para funcionar de manera optimizada en comparación a los navegadores de la competencia.

Link: Coming soon: Chrome for iPhone & iPad (GigaOM)

from Wayerless – Christel Borgna


Google Chrome 19 ya disponible e incluye sincronización de pestañas

Hace un rato hablábamos de los rumores que apuntaban a que Google preparaba una versión de Chrome para iOS, un hecho que no se ha confirmado y que, quizás, tarde algún tiempo en desvelarse. Lo que parece que no para, y además avanza a un buen ritmo, son las actualizaciones de Google Chrome que hoy mismo han elevado al navegador de Google a la versión 19 y en la que se incluye una interesante novedad: la sincronización de pestañas.

Una de las ventajas que nos ofrece la sincronización en la nube de nuestro perfil de Chrome es la disponibilidad de nuestros marcadores y contraseñas en cualquiera de nuestros dispositivos: nuestro equipo de escritorio, nuestro portátil, nuestra tableta o nuestro smartphone Android. Google ha decidido ampliar las capacidades de su nube y extender su funcionalidad para facilitarnos cambiar de equipo sin perder lo que estamos haciendo puesto que podremos sincronizar las pestañas abiertas y enviarlas al resto de nuestros dispositivos (para poder seguir leyendo, por ejemplo, desde el móvil una página que teníamos abierta desde nuestro equipo de escritorio).

Esta funcionalidad es bastante interesante y permite al usuario ver todos sus dispositivos, básicamente, como si fuesen uno único puesto que comparten la misma información. Si bien no se activirá de manera automática tras actualizar Chrome a la versión 19 (y se irá activando de manera gradual), esta función amplía el alcance de la extensión y aplicación Android Google Chrome to Phone puesto que en vez de enviar páginas una a una a nuestro teléfono, nos permite enviar un grupo de páginas (todas las pestañas abiertas) a N dispositivos (los que tengamos vinculados con nuestra cuenta).

La sincronización de pestañas es una de las novedades más visibles de la versión 19 de Google Chrome pero, además, esta nueva versión solventa 20 vulnerabilidades: 8 de severidad alta, 7 de severidad media y 5 de severidad baja que han supuesto una inversión a Google de 7.500 dólares en recompensas y gratificaciones a los detectores de estas vulnerabilidades.

Google Chrome se actualizará de manera silenciosa a la versión 19 desde este momento o si queremos actualizarlo desde ya solamente tendremos que acceder a las opciones de navegador y pulsar sobre “Información de Google Chrome”.

from Bitelia – JJ Velasco


La versión nativa de Firefox para Android llega a Google Play. Más rápida y con soporte de Flash

Firefox Beta 14 nativo para Android

Mozilla lleva varios meses trabajando en una nueva versión de Firefox para Android con una interfaz escrita en Java en lugar de XUL. Esta versión nativa ha alcanzado su fase beta y ya está disponible en Google Play como una aplicación aparte de Firefox 10: Firefox Beta 14.0.

A pesar de la etiqueta de beta y de los pequeños bugs que podamos encontrar, la experiencia de uso mejora varios aspectos de la versión estable. En primer lugar, el rendimiento. Arranca y carga páginas más rápido. La interfaz ha sido rediseñada de cero; es más limpia y cambia el sistema de pestañas para parecerse más a Chrome.

La nueva versión también mejora la respuesta del pinch-to-zoom y añade una página de inicio con los sitios más visitados, soporte para Flash y búsquedas seguras en Google. Vale la pena echarle un ojo, y es seguramente la mejor alternativa a Chrome beta para los que no tengan ICS.

Descargar

Firefox Beta logo

Firefox Beta Navegadores

En Xataka Android | Firefox Beta 14.0, ahora con nuevo diseño y soporte de Flash

from Xatakamovil – Matías S. Zavia


If This Then That: Programando tus acciones en la Web

If This Then That: Programando tus acciones en la Web

Tomar fotografías, escribir un tweet, cargar enlaces a Facebook, respaldar archivos en Dropbox… son muchas cosas que un usuario puede hacer durante una sesión típica, pero lo cierto es que algunas de estas acciones pueden estar mucho más relacionadas de lo que imaginamos. Por lo tanto, automatizar nuestra actividad en la Web podría llevar a un gran ahorro de tiempo, y el servicio If This Then That nos permite hacer exactamente eso de forma gratuita.

If This Then That: Programando tus acciones en la Web
Ver articulo completo: If This Then That: Programando tus acciones en la Web

from NeoTeo.com Últimos comentarios – NeoTeo