viernes, 2 de diciembre de 2011

Little Printer: Una mini-impresora disponible en el 2012

Little Printer es una mini-impresora desarrollada por BERG, un estudio de diseño en Londres que trabaja de la mano con varias compañias para desarrollar y buscar tecnologias y estrategias orientadas basicamente hacia la red y las objetos físicos.



Littel Pinter permite imprimir en pequeños pedazos de papel, aquellas cosas que no requieren un gran trozo de este, y aunque la tendencia mundial va encaminada hacia la digitalización de la información, este pequeño invento puede que encuentre espacio en nuestro escritorio. La pequeña impresora funciona conectada a la red y se usa principalmente por medio de tu teléfono móvil, puedes ver su funcionamiento en este video:



Impresora 3D para reproducir...¡órganos y tejidos!

Una nueva tecnología médica que aún se encuentra en pruebas permitirá en el futuro reproducir tejidos y órganos usando solo sus células en impresoras 3D.

Se trata de un artefacto creado por la compañía estadounidense Organovo, una de las tantas que investigan y desarrollan las tecnologías de 'bioprinting' (bioimprenta). Según el director ejecutivo de Organovo, Keith Murphy, su bioimprenta todavía tiene algunos puntos débiles, pero dentro de 4 o 5 años podr'ia estar completamente terminada.

 

Scanner portátil - Doxie

Si necesitas escanear en cualquier lugar y aunque no tengas una computadora, esta es tu solución. Todo entra en un pequeño bolso. Tiene un precio sugerido de 200 dólares.
Sus tamaño es: 10.5″ x 1.7″ x 2.2″
Detalles:
  • No necesita computadora
  • Escanea una página full color en 8 segundos
  • Puede escanear y guardar en  su memoria hasta 600 páginas o 2400 fotos en su tarjeta SD y se le puede agregar a través de un cable USB un dispositivo con  memoria fash extra
  • Tiene reconocimiento de texto OCR a través del software ABBYY®
  • inalámbrico
Leer más: Wired

Ejemplo de clases Reloj Checador

// Compiled from Checador.java (version 1.5 : 49.0, super bit)
public class Checador {
 
  // Field descriptor #6 I
  int HrEntrada;
 
  // Method descriptor #8 (I)V
  // Stack: 2, Locals: 2
  public Checador(int HrEntrada);
     0  aload_0 [this]
     1  invokespecial java.lang.Object() [10]
     4  aload_0 [this]
     5  iload_1 [HrEntrada]
     6  putfield Checador.HrEntrada : int [13]
     9  return
      Line numbers:
        [pc: 0, line: 28]
        [pc: 4, line: 31]
        [pc: 9, line: 33]
      Local variable table:
        [pc: 0, pc: 10] local: this index: 0 type: Checador
        [pc: 0, pc: 10] local: HrEntrada index: 1 type: int
 
  // Method descriptor #20 ()I
  // Stack: 2, Locals: 2
  public int devuelveSalida();
     0  aload_0 [this]
     1  getfield Checador.HrEntrada : int [13]
     4  bipush 8
     6  iadd
     7  istore_1 [HrSalida]
     8  iload_1 [HrSalida]
     9  ireturn
      Line numbers:
        [pc: 0, line: 38]
        [pc: 8, line: 39]
      Local variable table:
        [pc: 0, pc: 10] local: this index: 0 type: Checador
        [pc: 8, pc: 10] local: HrSalida index: 1 type: int
}

Programación Orientada a Eventos

Es una propuesta adoptada por una comunidad, donde la ejecución del programa es determinado por los sucesos que ocurren en el sistema definidos por el usuario, el programador define las acciones que se realizaran al producirse un determinado evento en el sistema, por ejemplo dar click a un botón.

Un ejemplo de lenguaje orientado a eventos es Visual Basic en el que a cada elemento del programa se le asignan eventos como son:

GotFocus.- Cuando el control tiene el foco.
LostFocus.- Cuando el control pierde el foto.
KeyPress.- Cuando se oprime determinada tecla.
MouseMove.- Muestra un mensaje cuando el puntero pasa por encima del control.


Así existen muchos eventos dependiendo del lenguaje, del sistema operativo e incluso el programador puede crear sus propios eventos, es decir esta programación permite interactuar con el usuario.


La problemática que existe en este tipo de programación es que el programador debe prever los posibles errores del usuario ya que este cuenta con toda la libertad de llevar el flujo del programa, lo que significa más horas en el desarrollo del programa.


En conclusión es una buena técnica para programar herramientas que se vuelve más eficiente con la experiencia del programador al conocer los vicios de los usuarios comunes lo que evita errores del sistema.