DevelUY

Planeta de desarrolladores uruguayos

9 de febrero de 2010

Martin Balao

Ver archivos .chm y exportarlos a .pdf

Microsoft Compiled HTML Help (CHM) es un formato de publicación creado por Microsoft en 1997. Estuvo en sus comienzo orientado a documentos de ayuda de software. Su uso fue desalentado a partir de Windows Vista pero sigue estando hasta el día de hoy y, lo que es peor, es el formato de muchos eBooks que descargamos por ahí -legalmente, claro-.

Hay muchos visores para Linux y Windows pero me han resultado incómodos. Una de las cuestiones que más me llaman la atención es la imposibilidad en todos ellos de imprimir el documento entero; sólo es posible imprimir por página.

El segundo impulso es transformarlo a pdf y la tarea no es realmente sencilla. Si bien hay cientos de programas que en teoría se encargarían de hacerlo y muchos de ellos gratis, en general no cumplen con todas las expectativas. Algunos parsean mal el texto y dejan los renglones cortados por el márgen, otros vienen con mil parámetros para configurar, otros dejan marcas de aguas en sus versiones demo, exigen impresoras virtuales, etc.

El motivo de este artículo es que encontré un programita diferente, muy superior para trabajar con este tipo de archivos. Se llama iChm y está disponible para Mac OS X 10.5+ únicamente. Si utilizan este SO o lo tienen virtualizado -como en mi caso-, vale la pena probarlo: http://www.robinlu.com/blog/ichm

Gratis, de excelente desempeño, interfaz sencilla y moderna -similar a Preview-, todas las  funcionalidades básicas (zoom, vista continua, bookmarks, tabs) y la posibilidad de exportar todo el documento a pdf sin complicaciones. De cualquier manera, respecto a esto último, se me fueron las ganas de hacerlo y aprovechar en cambio la posibilidad de navegar por capítulos y links.

por martin, el 9 de febrero de 2010 a las 01:32

8 de febrero de 2010

Alejandro Segovia

Rocketjumping al Extremo!

Buscando información sobre la implementación de NURBS del Quake 3 terminé cruzándome con el siguiente video.

Es un poco largo, pero para un Quaker es un must-see.



Share/Bookmark

por varrojo, el 8 de febrero de 2010 a las 18:45

Fernando Briano

Afiches minimalistas de la galaxia de Star Wars

Dagobah

Dagobah

Justin Van Genderen creó una serie de afiches de distintos sistemas en la galaxia de Star Wars. Hay afiches de: Dagobah, Endor, Tatooine, Hoth y Bespine. Están muy buenos, particularmente en mi caso uso el nombre de alguno de estos sistemas para cada una de mis computadoras, para algo los usaré:

fernando@dagobah
fernando@hoth
fernando@tatooine

Pueden ver el resto de la galería en Flickr. Visiten el sitio del autor para ver más diseños de su creación.

Hoth

Hoth

Vía: Laughing Squid

por fernando, el 8 de febrero de 2010 a las 10:55

Dario Clavijo

Debianizando la PS3




Hace un tiempo atrás me compre una ps3 en mercadolibre por un precio módico ya que tenia averiado el rotor de la unidad lectora de bluray pero eso no me importa mucho ya que no pienso gastar dinero en comprar discos bluray o en alquilarlos.
Asi que compre esta consola simplemente por su arquitectura porque tiene adentro un procesador Cell que hace que se me caiga la baba de lo rápido que es(9 hilos de ejecucion por 3.2GHZ ).

Mi primeros pasos fueron instalare el kboot que es un booloader basado en el kernel linux y el comando kexec.

Para instalar eso baje un par de archivos la aplicación otheros.self que se instala en el XMB y la imagen de kboot: otheros.bld

Estos dos archivos hay que alojarlos en un pendrive en USB:/PS3/OTHEROS, si no están ahí el SO de la ps3 no nos dará la opción de instalar.

Instalado ambos archivos y particionamos el disco asignándole 10gb al otro sistema operativo (El kernel linux no vera la otra partición o sea la nativa, no lo permite el hipervisor)
Reiniciamos la consola y ya estamos en el menú del kboot.
En el prompt escribimos: sh esto nos permitirá acceder a un busybox con un par de comandos básicos.

Ahora si manos a al obra como les dije el lector de bluray de la ps3 esta roto así que tuve que usar un pendrive usb y en base a este hacer la instalación.

Entonces descargamos estos archivos vmlinux e initrd.gz y los copiamos en la raiz del pendrive, luego introducimos el pendrive en la consola y ejecutamos:

#mkdir /mnt/pendrive
#mount /dev/sdd1 /mnt/pendrive

Ahora tenemos montado el pendrive, seria bueno que no lancemos el kernel nuevo desde el mismísimo pendrive cuando hice esto en varias oportunidades se me colgo la consola, en lugar de eso copie los archivos vmlinux e initrd.gz a /tmp y los lance desde ahi.

#cp vmlinux initrd.gz /tmp

Luego utilizamos la utilidad kexec que se encargara de descargar el kernel en ejecución y poner en ejecución el nuevo kernel:
(Precaución: hacer este paso desde el mismo pendrive aveces causa que se cuelgue el sistema lo mejor es copiar los archivos a /tmp)

#cd /tmp
#kexec -l vmlinux --initrd=initrd.gz --append="root=/dev/ram -"
#kexec -l vmlinux --initrd=initrd.gz --append="root=/dev/ram -" -e

Luego seguimos como una instalación normal de debian salvo un par de cositas solo deberíamos instalar la versión etch las otras las probé y como el kernel que esta disponible es el 2.6.16, el udev de las otras versiones no levanta y muchos servicios dejan de funcionar entonces opte por instalar etch y luego recompilar el kernel.
Al terminar el particionado el instalador se va a quejar de dos tipo de particiones nos están faltando una es NewWorld y la otra PReP, las ignoramos nada que ver tienen con la PS3.

Voila tenemos debian en nuestra ps3!


Referencias:

por Daedalus (Daedalus2027@gmail.com), el 8 de febrero de 2010 a las 03:42

7 de febrero de 2010

Jorge Oyhenard

Demene Punta del Este 2010


Se aproxima el segundo evento Demene Punta del Este, conferencia internacional de Internet Marketing & Domaining organizado por demene.com.

Sin duda es una interesante propuesta para quienes trabajamos en la industria que comprende a Webmasters, Developers, Domainers y otros relacionados con Internet.

El año pasado se realizo la primera edición con gran éxito, donde por encima de las buenas conferencias nos volvimos a encontrar y conocimos muchos de los que trabajamos online en Uruguay y la región.

Este año se cuenta nuevamente con una excelente agenda de conferencias  y están confirmados muchos asistentes del extranjero, de Uruguay y no solo de la región.

La cita es el 25 y 26 de febrero 2010, en la sala Magnolia del Jean Clavers Parque Hotel, en Punta del Este, Uruguay.


Les comparto el vídeo del Demene Punta 2010

Más info:

Post original de: Jorge Oyhenard

Demene Punta del Este 2010

Artículos relacionados:

por Jorge Oyhenard, el 7 de febrero de 2010 a las 00:36

5 de febrero de 2010

Fernando Briano

Nuevo blog sobre Navegadores Web

Muchas veces por Picando Código postié sobre Navegadores Web. Es un tema que personalmente me interesa mucho, seguirles el desarrollo y ver las variaciones de cada uno, conocer cómo surgieron, etc. Incluso generalmente tengo al menos 5 o 6 navegadores web diferentes instalados en cada computadora. Si navegan por la categoría Browsers del blog, sabrán lo que les digo…

Por eso, tuve que canalizar todo eso por otro lado, para no saturar Picando Código con ese tema en particular, en un nuevo blog: Navegadores Web. Si les interesa, dense una vuelta por el primer post: Hola mundo de los navegadores web y dejen su comentario.

Y de bonus, dejo las noticias de navegadores web de esta semana:

por fernando, el 5 de febrero de 2010 a las 20:13

Enlaces sobre Scrum

Esta semana publiqué varios posts sobre Scrum en el otro blog, las comparto por acá ya que les pueden interesar:

por fernando, el 5 de febrero de 2010 a las 20:03

Entregadas las primeras 5.000 firmas en contra del DRM en el iPad a Steve Jobs

DefectiveByDesign reporta que la respuesta a la protesta y petición sobre el iPad ha sido tremenda: 5.000 personas firmaron en las primeras 24 horas, con cobertura en la presa técnica, Digg, Slashdot, Reddit, The Guardian, NPR, y más. La petición sigue juntando firmas, pueden firmarla y compartirla para ayudar a alcanzar las 10.000 firmas.

Petición iPad

Petición iPad

Se entregó la carta con las primeras 5.000 firmas en una tableta iPad gigante, directamente a Steve Jobs. Por cada bloque de 5.000 firmas se entregará una tableta nueva.

En una postal acompañada de una tableta, le están diciendo a Steve Jobs que todavía tiene una oportunidad de hacer lo correcto, “5.000 personas en 24 horas se tomaron el tiempo de su día para llamarle la atención sobre esto, y demandan un cambio. Todavía hay tiempo para que haga lo correcto en los próximos 60 días, antes que el iPad salga a la venta. Puede retirar todo el DRM del dispositivo y la App Store, y abrazar los ideales que clama defender — creatividad, libertad e individualidad.”

La tableta incluye una cabeza de Steve Jobs “malvado” de la publicidad paródica de 1984 de Apple, y se tomó prestado un sello de Apple :)

Entre los 5.000 nombres está el mío, si todavía no han firmado, todavía pueden hacerlo, y si ya lo hicieron, busquen su nombre en la foto:

iPad CloseUp

iPad CloseUp

por fernando, el 5 de febrero de 2010 a las 19:53

Enrique Almeida

Nada se pierde, todo se complica: Algunas simples reflexiones sobre base de datos y aplicaciones

Desde hace un tiempo, vengo leyendo con interés los artículos que se escriben sobre NoSQL, que en general son sobre bases de datos que almacenan los datos en esquemas no relacionales. Hay varias bases de datos de este tipo (SimpleDB,Project Voldemort, Cassandra, Neo4j y muchas mas). Algunas de éstas bases de datos son ideales para almacenar campos blobs, cosa que muchísimas aplicaciones que

por noreply@blogger.com (Enrique Almeida), el 5 de febrero de 2010 a las 10:21

4 de febrero de 2010

Bruno Buzzi

Traits: Composable Units of Behaviour


Traits: Unidades acoplables de comportamiento

Se han intentando varias formas de extender el comportamiento de los sistemas que usan herencia simple (la mayoría de los ambientes de programación orientada a objetos – POO), como ser, herencia múltiple, “mix in“, “traits. Estos últimos (los traits) son los que más me convencieron, al agregar comportamiento de forma ortogonal a un sistema. La herencia múltiple y los mix in adolecen de varios problemas que los traits no.

Los traits son esencialmente son “métodos puros” (no pertenecen a ninguna clase en si) que implementan determinado comportamiento, y requieren determinadas entradas. Si un trait (“account basic”) tiene como requerimiento dos mensajes (#transactions #maxTransValue), cualquier clase del sistema que implemente (#transactions #maxTransValue) podrá utilizar este trait. En este caso el trait (“account basic”) también ofrece mensajes para consumir. Podrían ser: (#numberOfTransactions #transactionsBiggerThan: #transactionsFromCountry: ….), estos mensaje pueden ser invocados por cualquiera de las clases que implementan (#transactions #maxTransValue).

El código fuente que se ejecuta dentro del trait es el mismo para todas las clases, lo que difieren son los métodos (#transactions #maxTransValue) en cada clase, por lo que es una forma de re-utilización. La re-utilización es ortogonal ya que cada clase puede usar cualquier trait de forma independiente.

Los traits al ejecutarse difieren un poco de los métodos normales, como los traits no tienen herencia la palabra “super” se usa para denotar la clase que esta usando el trait en ese momento (ejemplo: super calculateAverage - se esta llamando a la implementación #calculateAvarage de la clase que esta usando el trait en ese momento). self” indica al objeto receptor del mensaje cuando se pasa como parámetro y se refiere al trait cuando se hace el lookup del mensaje (es decir “self foo” primero se busca #foo en el trait).

Método Normal

FixedAccount>>totalRates

“en este caso -super normalRates- llama a la implementacion <normalRates> de la super clase de  FixedAccount

^self fixedRates + super normalRates

Método de un Trait

Trait>>transactionBiggerThan: aRate super dentro de un trait va a la implementación de la clase que lo esta usando en el momento.

Va a la implementación #transactions de FixedAccounts, cuanto lo ejecuta otra clase –> va a #transactions de esa otra clase

^super transactions select: [:each | each averageRate > aRate]

Esta es la única variante en la ejecución de los traits con los métodos normales.

Los traits se pueden usar en cualquier dominio, y no agregan complejidad al sistema como es el caso de la herencia múltiple y los “mix in“.

Modificando la máquina virtual para soportar Traits

Al modificar la máquina virtual se re implementa el dispatcher de mensajes, y cuando no se ha encontrado la implementación de un mensaje entonces se busca en los Traits de esa clase, si se encuentra se ejecuta sino se sigue el normal proceso. También hay que identificar en el momento de la ejecución que el super dentro del Trait indica la clase que esta usando el trait y no la super clase.

En esta figura se muestra de forma gráfica como es un Trait. En este caso la clase Circle tiene asociados dos traits: TCircle y TDrawing. Por lo que Circle responde a los mensajes que implementa por si misma, más los mensajes que ofrecen sus traits.

Circle implementa los mensajes (#initialize #drawOn: #center #center: #radius #radius:  )

TCircle implementa los mensajes (#= #hash … #area #bounds #scaledBy: …) y tiene como pre requisitos los mensajes (#center #center: #radius #radius:  )

TDrawing implementa los mensajes (#draw #refresh #refreshOn:  ) y tiene como pre requisitos los mensajes (#drawOn: #bounds).

Como la clase Circle cumple con los pre requisitos de TCircle y TDrawing puede hacer uso de estos dos traits. Como los traits puede ser usados en jerarquías de clases no relacionadas, forman diferentes bloques de comportamiento que puede ser usado de forma ortogonal en el sistema que los soporta. Los traits no soportan herencia (y esta bien que sea así) pero si soportan composición como se ve en la figura (TDrawing hace uso de TCircle).

Si un trait es modificado todas las clases que usan ese trait se veran afectas por el cambio. Los traits son una herramienta excelente para la re-utilizacion de comportamiento de forma ortogonal, cosa que no era posible cuando se usa herencia simple en un sistema. Si bien los traits se pueden implementar re escribiendo el método #doesNotUnderstand:, es mejor modificar la máquina virtual.

Los traits tienen varias ventajas sobre la herencia múltiple y los “mix in“:

Herencia múltiple

* Compleja, si no se utiliza con cuidado puede ser una arma de doble filo.

* Pueden ocurrir dos tipos de conflicto: de variables de instancia y de métodos. Cual de ellos usar cuando ocurre un conflicto ?. Esto se denomina el problema del diamante.

Mix in

* No voy a entrar en detalle de los mix in, pero es una especificación de una subclase que se puede aplicar a más de una super clase, de esta forma se extiende el comportamiento de más de una clase con el mismo mix in. La mayor desventaja de los mix in, y por eso no los usaria es que la jerarquía de clases que se genera es sumamente fragil.

Traits

Los traits tambien pueden tener conflictos a nivel de métodos, pero esto se soluciona facilmente puediendole poner alias o resolviendo el conflicto a nivel de la clase. Ya que cada clase puede cablearse con un trait de forma diferente, y esto no afecta al trait en si.

Trait Browser

La siguiente figura muestra un Trait Browser de la máquina virtual que estamos construyendo. Tiene una colección de packages (Collections, External Files, Values, VM Core) y cada package puede tener un conjunto de Traits. En este caso estamos viendo los traits correspondientes a las colecciones, por el momento solamente tenemos un trait llamado <UML Relations Methods>. Este trait es tremendamente útil, y se utiliza para todas las clases de cualquier modelo UML, por lo que su re-utilización es muy buena.

La idea de este trait es la siguiente, imaginen una clase UML con muchas relaciones. Por ejemplo: Expediente, un expediente tiene caratulas, partes, decisiones judiciales, expedientes relacionados, archivos, funcionariosdocumentos, etc (en relación NxN). Ahora si no tuvieramos los traits tendriamos que crear dos métodos por cada relación para agregar y remover objetos (y así para todas las clases del sistema, lo que llevaría mucho tiempo).

Los métodos serían #addCaratula: #removeCaratula: #addParte: #removeParte: #addDecisionJudicial: #removeDecisionJudicial: y así sucesivamante.  Pero gracias a este trait NO es necesario escribir código alguno, ya que asociamos el trait a la clase Expediente y tenemos los métodos #add: y #remove: al instante.

El trait obtiene la clase del objeto pasado como parámetro y determina que colección debe usar para realizar la operación. Este trait es utilizado por todas las clases del modelo UML, por lo que no hay necesidad de escribir código para relacionar los objetos. Notar que el código del trait dice <super xxxx>, este super indica la clase que hace uso del trait en ese momento (como se menciono anteriormente).

unExpediente add: unaParte.

unExpediente add: unaDecisionJudicial.

“es el método #add: (o #remove:) que se encarga de obtener la colección correspondiente dependiendo del parámetro”

Referencias

Traits: Composable Units of Behaviour

Nathanael Scharli, Stéphane Ducasse, Oscar Nierstrasz, and Andrew P. Black

Software Composition Group, University of Bern, SwitzerlandOGI School of Science & Engineering, Oregon Health and Science University

por smalltalkuy, el 4 de febrero de 2010 a las 18:34

Marcos Crispino

Application Stores

Parece que el tema de las App Stores está de moda...

Ahora parece que Google suma una nueva, para aplicaciones que se integren a Google Apps (mail, docs, calendario, etc.).

El negocio es siempre el mismo: el dueño de la tienda pone a la venta aplicaciones de terceros, y cuando un usuario compra la aplicación, una parte va para el desarrollador y la otra para la empresa.

La ventaja que tiene, viéndolo desde el punto de vista del desarrollador, es que la aplicación queda a la venta y accesible para cualquier usuario, sin tener que invertir en infraestructura ni preocuparse demasiado por el medio de pago y demás.

Esta posibilidad de acceder a un número importante de usuarios, ha hecho que por ejemplo en la App Store de Apple, las aplicaciones valgan (en su mayoría), unos pocos dólares. Esto hace que haya muchos usuarios que las compran...

¿A que voy? Sería muy bueno tener una GeneXus App Store, para user controls, extensions, patterns, etc.

Esta idea en realidad ya se había planteado, Enrique ya lo ha comentado, y si no recuerdo mal, José Lamas también comento algo de esto en su charla del Encuentro GeneXus 2008.

En realidad con el tema infraestructura ya están bastante bien, con la GeneXus Gallery, pero le estaría faltando el tema comercial.

por noreply@blogger.com (Marcos Crispino), el 4 de febrero de 2010 a las 16:55

Fernando Briano

Bruce Eckel – Screencasts First Steps in Flex

Screencasts Flex

Screencasts Flex

Bruce Eckel (autor de Thinking in Java) publicó junto a James Ward el libro First Steps in Flex (Primeros pasos en Flex).

El libro intenta enseñar Flex creando ejemplos y capítulos cortos, suficiente como para introducirse en cada tema. El asunto es que decidieron lanzar Screencasts gratuitos de cada capítulo del libro. En teoría, se obtiene la misma información de los seminarios online que del libro. Están en inglés, hablados y comentados por sus dos autores quienes van discutiendo el código.

Pueden verlos en el sitio web: First Steps in Flex

Un recurso interesante para quienes quieran comenzar con Flex.

por fernando, el 4 de febrero de 2010 a las 16:00

Debian: mount.nfs: Operation not permitted

Debian GNU/Linux

Hace unos días, aparentemente tras una actualización en Debian Squeeze, obtuve un error al intentar montar por NFS un directorio compartido en el servidor Ubuntu del trabajo:

mount.nfs: Operation not permitted

Fue algo raro, ya que antes funcionaba automáticamente, y no encontraba errores en el fstab ni nada. Así que buscando un poco me encontré con este artículo cuyo autor sufría el mismo problema. Incluso usando la opción mount -v (modo verbo) la información provista no es demasiado específica:

fernando@dagobah~/ $ mount -v server01
mount.nfs: timeout set for Fri Feb  5 10:56:10 2010
mount.nfs: trying text-based options 'intr,addr=192.168.1.10,vers=4,clientaddr=192.168.1.163'
mount.nfs: mount(2): Operation not permitted
mount.nfs: Operation not permitted

Al igual que en el post en cuestión, mi computadora intenta usar NFS versión 4 para montar el directorio. Sin embargo el servidor usa NFS versión 3.

La solución es agregar el parámetros nfsvers=3 en el fstab:

root@dagobah:~# emacs /etc/fstab
*.*.*.*:/shared        /home/fernando/server01     nfs     noauto,user,nfsvers=3,intr  0 0

Con esto quedó funcionando correctamente.

por fernando, el 4 de febrero de 2010 a las 12:58

Dario Clavijo

Interesante no?

Aoccdrnig to rscheearch at Cmabrugde Uinervtisy, it deosn't mttaer in waht oredr the ltteers in a wrod are, the olny iprmoetnt tihng is taht the frist and lsat ltteer be at the rghit pclae. The rset can be a tatol meses and you can sitll raed it wouthit a porbelm. This is bcuseae the huamn mnid deos not raed ervey lteter by istlef, but the wrod as a wlohe."

por Daedalus (Daedalus2027@gmail.com), el 4 de febrero de 2010 a las 03:48

2 de febrero de 2010

Fernando Briano

Java: An internal LaunchAnywhere application error has occurred and this application cannot proceed. (LAX)

Java Bugs

Java Bugs

Otro problemita a la hora de instalar el entorno de desarrollo para Flex Builder en Debian. Buscando encontré que este error también se daba en otras aplicaciones basadas en Eclipse, en Ubuntu y Debian. El error:

fernando@dagobah~/software/Flex $ ./flexbuilder_linux_install_a5_112409.bin
Preparing to install...
Extracting the installation resources from the installer archive...
Configuring the installer for this system's environment...

Launching installer...

An internal LaunchAnywhere application error has occured and this application cannot proceed. (LAX)

Stack Trace:
java.lang.IllegalArgumentException: Malformed \uxxxx encoding.
at java.util.Properties.loadConvert(Properties.java:552)
at java.util.Properties.load0(Properties.java:375)
at java.util.Properties.load(Properties.java:325)
at com.zerog.common.java.util.PropertiesUtil.loadProperties(DashoA8113)
at com.zerog.lax.LAX.(DashoA8113)
at com.zerog.lax.LAX.main(DashoA8113)

En mi caso se daba cuando intentaba ejecutar el instalador de Flex Builder. Aparentemente puede venir por el lado del shell que usemos, o alguna propiedad. El asunto es que pude ejecutarlo corriéndolo desde Bash, y haciendo un unset antes de correrlo:

#!/bin/bash
unset
./flexbuilder_linux_install_a5_112409.bin

Otra solución corta para tener de referencia…

La solución que encontré en este link:

Problema:
El error descrito arriba

Causa:
Los valores seteados para las variables del shell TITLEBAR y PSI están causando problemas con InstallAnywhere, el cual se usa para instalar 2 productos de la empresa.

Este es un bug conocido de InstallAnywhere.

Solución
Ejecutar ‘unset’ en las variables TITLEBAR y PSI antes de instalar.

por fernando, el 2 de febrero de 2010 a las 12:49

Enrique Almeida

COSTA RICA: Noticias del TICA (Tecnologia de Informacion para el Control Aduanero)

Algunas novedades del TICA (sistema aduanero que funciona en la Aduana de Costa Rica, desarrollado por Concepto y la Aduana de Costa Rica). Desde la semana pasada, estamos con SQL Server 2008. Fue una migración con algunas dificultades y atrasos (estaba prevista para diciembre), pero la causa fue que no era posible parar el sistema durante una noche entera. El sistema desarrollado con GeneXus

por noreply@blogger.com (Enrique Almeida), el 2 de febrero de 2010 a las 12:39

Dr. Gavilan: Como borrar atributos no referenciados en KB GeneXus 7.0

Estimado Dr. Gavilan:Le escribo pues tengo un "pequeño inconveniente".En la empresa en la que estoy trabajando ahora el sistema principal aun se mantiene con GeneXus 7.0 (WIN, VFP, DB2). El problema que tenemos ahora es que estamos llegando al límite de 9999 atributos en la KB de producción y es necesario solucionar este tema urgentemente.Mi idea es eliminar todos los atributos que no se estén

por noreply@blogger.com (Enrique Almeida), el 2 de febrero de 2010 a las 09:56

1 de febrero de 2010

Alejandro Revilla

Small addition to jPOS XML message format

When we started to log messages using a very simple XML format a long time ago, and then created the XMLPackager to support that message format, we never thought that this was going to be so heavily used, we frequently find ISO-8583 interchanges based on this format, implemented in different languages by different vendors in different countries.

I’ve recently been involved in the deployment of an ISO/Bridge system at a financial institution in one African country connected to another institution at another African country. When I asked for the ISO-8583 specs in order to configure ISO/Bridge, I was surprised to see that the specs where XML based, and basically our spec.

I hope we start seeing this with the jPOS CMF soon.

The existing format looks like this:

 <isomsg>
   <field id="0" value="0800" />
   <field id="11" value="000001" />
   <field id="70" value="301" />
 </isomsg>

Starting in jPOS 1.6.5 r2817, you can optionally use:

 <isomsg>
   <field id="0">0800</field>
   <field id="11">000001</field>
   <field id="70">301</field>
 </isomsg>

Or any combination, i.e:

 <isomsg>
   <field id="0" value="0800" />
   <field id="11" value="000001" />
   <field id="70">301</field>
 </isomsg>

This is particularly useful in some implementations that use XML content as part of the ISO-8583 payload, in the past, we had to expand it using XML entities such as <, > that where not nice looking in the logs.

With the new addition, we can:

 <isomsg>
   <field id="0" value="0800" />
   <field id="11" value="000001" />
   <field id="70">301</field>
   <field id="127">< ?xml version='1.0' encoding='UTF-8' ?>
      <custom>
         <tid>29110001</tid>
         <message>I love XML tags</message>
      </custom>
   </field>
 </isomsg>

(you have to add a CDATA block around your inner XML)

At response time, we wanted to make it as backward compatible as possible, so we only use this mode if we detect that the field content is XML.

por admin, el 1 de febrero de 2010 a las 18:46

31 de enero de 2010

Dario Clavijo

Tracking Browsers without Cookies

Como todos sabemos hasta el dia de hoy la forma mas comun de rastrear a un usuario era mediante los cookies que se almacenaban en el navegador de este.
Pero hoy en dia hay mas metodos disponibles como por ejemplo: hacer un fingerprint compuesto de ciertas caracterisitcas que pueden hacer en conjunto a nuestro navegador unico en la red como por ejemplo las fuentes del sistema que utilicemos.

Pa prueba de concepto se llama Panopticlick el cual es otro servicio puesto en marcha por la EFF

por Daedalus (Daedalus2027@gmail.com), el 31 de enero de 2010 a las 11:50

Ismael Luceno

Braindead Web Development


In the past years, simple and correct web pages got converted to something weird and insane: DHTML. Of course, when compared to Flash or Silverlight it looks good, but, on the end, it’s the same kind of crap. Web development is far more similar to desktop development than before, full-blown javascript applications running on the client’s web browser, Java, Flash, Silverlight, etc.

Nowadays no one cares about accessibility, and people is obsessed with cross-browser support for non-standard features. New techniques had been designed to make viable the development of those applications. But, on the end, HTML doesn’t comply with it’s original purpose of (weakly-)semantical structure representation, and became a layout/graphics engine. It’s so sad.

This has a lot of completely different disavantages:

  • untrusted code running on the client’s side
  • no accesibility
  • difficult to use in the way “people” wants to use it
  • communication mechanisms are poor, high overhead
  • no HIG
  • incremental loading works badly
  • etc, etc, etc.

In resume, it wasn’t designed with that purpose in mind…

EDIT: Some other nasty things that web developers love:

  • blinking text
  • music
  • images representing text
  • no alternative text on images
  • etc…
Filed under: Uncategorized

por Ismael Luceno, el 31 de enero de 2010 a las 00:19

30 de enero de 2010

Dario Clavijo

Liberado Exploit para la PS3

En este blog leí como el autor de este logro crear un exploit para la ps3 que logra pasar por alto el mecanismo de aislación del hipervisor dando acceso a la GPU, la SPE reservada y acceso directo a cualquier región de la memoria.
Lo curioso es que el exploit corre tiene que ser corrido en el otheros(linux)
Resumiendo la explicación por el mismo autor la pueden encontrar aquí y el mismísimo exploit lo pueden bajar de aquí.

por Daedalus (Daedalus2027@gmail.com), el 30 de enero de 2010 a las 22:35

29 de enero de 2010

Marcos Crispino

iPad, iPhone y la próxima revolución tecnológica

El miércoles pasado Apple hizo el lanzamiento de su nuevo producto, el iPad: un "tablet" de 10 pulgadas que ejecuta el mismo sistema operativo que el iPhone.

Como todo producto nuevo de Apple, a generado todo tipo de reacciones. Están los que ya quieren uno y lo van a encargar tan pronto como se pueda, y están los que no ven demasiado en qué les puede cambiar la vida (entre los que me incluyo).


Mis impresiones sobre el iPad

Mi primerimpresión es que no veo mucho la utilidad de un dispositivo de este tipo. No solo del iPad, me refiero a cualquier "tablet". Es demásido grande para llevarlo en el bolsillo, y creo que es poco práctico de usar, al menos comparado con un netbook.

Tampoco es cuestión de criticar a Apple, que en los últimos productos que ha lanzado al mercado ha tenido mucho éxito. En todo caso, aunque no sea un dispositivo que revolucione el segmento de mercado que ocupa (como lo hicieron el iPod y el iPhone), igual para Apple va a ser un buen negocio.

iPhone OS 3.2

El iPad viene con el mismo sistema operativo que el iPhone, al que se le hicieron algunos cambios para soportar pantallas más grandes.

Todas las aplicaciones que funcionan en el iPhone funcionan también en el iPad, en el tamaño normal o en pantalla completa.

Esta versión del sistema operativo todavía no está disponible para el iPhone, pero supongo que para marzo cuando empiecen a entregar las primeras iPad ya va a estar.

El próximo producto de Apple: iDock

Entonces, me animo a hacer una predicción...

¿Que pasa cuando combinamos un dispositivo que funciona muy bien y tiene mucha aceptación, con la posibilidad incorporada al sistema operativo para mostrar las aplicaciones en pantalla más grandes?

Además agreguemos a la ecuación que el hardware es cada vez más chico y más potente.

Apple (o algún otro), va a sacar en algún momento un dock que permita agregarle un teclado, ratón y pantalla (multitouch por supuesto) al iPhone, para poder usarlo como PC de escritorio.

En realidad no se si lo van a hacer, pero estaría bueno :) La posibilidad la tienen... De hecho, para el iPad ya existe:



La competencia

Obviamente Apple no es el único que puede hacer esto. La principal competencia podría venir de Google con su sistema operativo Android.

Es verdad que Google está trabajando tambien el el Chrome OS, pero esto es algo totalmente distinto. Sería un dispositivo portatil como lo es un teléfono móvil, pero con la posibilidad de colocarlo en un dock para usarlo como PC.

Conclusiones

Tal vez en iPad no vaya a disparar el uso de los "tablets", pero creo que le da a Apple otras posibilidades con respecto a otros productos como son el iPhone y el iPod Touch.

Creo que no va a pasar mucho tiempo hasta que los teléfonos móviles se conviertan en verdaderas computadoras personales. Va a estar bueno verlo.

por noreply@blogger.com (Marcos Crispino), el 29 de enero de 2010 a las 20:49

Alejandro Segovia

Tablet de Apple confirmada, bautizada “iPad”

Como les adelantábamos el otro día, la tan esperada Tablet de Apple fue anunciada en su último evento del 27 de Enero. La “iPad”, como ha sido bautizada, ha causado un revuelo bastante importante en la blogósfera, con comentarios, críticas y festejos por toda la Web. Desde Gizmodo hasta la Free Software Foundation, pasando por OSNews, Slashdot, Hacker News y varios otros.

Mi idea no es proveer aquí mi opinión personal sobre el dispositivo (planeo hacerlo más tarde), sino más bien hacer un eco de las opiniones tan variadas que he visto en la Web.


La Tablet de Apple, la "iPad", como vista en apple.com



Como habíamos anticipado, la iPad cuenta con una pantalla táctil, multitouch, de 10 pulgadas y corre una versión modificada de iPhone OS. La gran sorpresa del dispositivo resultó ser -bueno- la falta de sorpresas. Básicamente todo el mundo estaba esperando un “iPhone grande con una applicación para comprar libros” y eso fue exactamente lo que obtuvieron.

No hubieron sorpresas, nada fuera de las expectativas, nada especial, ninguna “One More Thing” [frase célebre de Steve Jobs, CEO de Apple]. Esto proveyó los fundamentos para las primeras críticas al dispositivo desde un punto de vista de los consumidores.

No mucho se hicieron esperar otras partes “interesadas”, como la Free Software Foundation, quienes pronto manifestaron su oposición al dispositivo, el cual se encuentra “plagado de DRM” y atenta contra la libertad de utilizarlo libremente y con cualquier propósito. Supongo que todo lo que argumentan es cierto, no obstante, ya hemos comentado sobre nuestra visión sobre la naturaleza cerrada de Apple en varias ocasiones anteriores, principalmente en referencia al iPhone.

En algún punto en “tierra media” entre la posición de los consumidores y la FSF, he leído la opinión de algunos desarrolladores y hackers. Por lo que he visto, los desarrolladores tienden a estar contentos con el dispositivo. Piensan que es una plataforma realmente interesante de programar y que ofrece posibilidades más allá de las computadoras “tradicionales” a las que estamos acostumbrados.

Otro motivo por el cual están contentos es porque la iPad ofrece una configuración de Hardware/Software uniforme que hará mucho más sencillo asegurarse que las aplicaciones desarrolladas  funcionan correctamente en los dispositivos de los consumidores (después de todo, existe una única configuración disponible).


Una broma que anda dando vueltas por la Web... (fuente desconocida)



Por lo que he visto, algunos hackers no están tan contentos con los dispositivos, indicando que al tener una naturaleza tan cerrada, no es posible escribir aplicaciones “divertidas” que hagan relajo con la plataforma, impidiendo el aprendizaje. En sí recuerdo un comentario memorable que decía que, para el caso de esa persona, si él hubiese tenido una iPad de chico en vez de un PC, nunca hubiese aprendido de informática lo que sabe hoy.

Otros han calificado al dispositivo como “la computadora perfecta para gente mayor”. Gente que solo quiere una computadora para leer el correo y navegar por Internet y no quiere estar manejando las complicaciones de Software Antivirus, Firewall, Antispam, Automatic Updates, DLL Hell y otros dolores de cabeza comunes en el mundo de algunos Sistemas Operativos se encontrará muy a gusto con el dispositivo.

Como pueden ver, hasta el momento las opiniones son muy variadas y hay mucho para digerir antes de poder saber si el dispositivo llegará a colmar las expectativas que habría levantado durante los últimos meses. Dependerá de los desarrolladores de aplicaciones…

Share/Bookmark

por varrojo, el 29 de enero de 2010 a las 19:03

Jorge Oyhenard

Apple lanza el iPad


Luego de varios intentos de otros fabricantes, que no tuvieron éxito con este tipo de computadoras Apple lanza su iPad y al menos en las noticias ya tuvo mayor aceptación que sus poco exitosas predecesoras.

El iPad reúne nueva tecnología no disponible anteriormente, por ejemplos su capacidad multi touch capacitiva, que se introdujo con el iPhone.

El dispositivo no posee teclado, ni mouse, ya que todas las funciones se desarrollan gracias a su pantalla multi touch.

Con el iPad, Apple promete mejorar la experiencia de navegar la web y utilizar correo electrónico, fotos y vídeos.

Para los desarrolladores que quiera adaptar o realizar aplicaciones para el iPad, Apple tiene a disposición el iPad SDK, que puedes conocer en su web y ponerte a desarrollar ahora mismo, aunque luego pueden tardar en aprobar tus aplicaciones como sucede con el iPhone, es un buen paso para conocer la plataforma.

En cuanto al precio no es nada astronómico, incluso para un equipo que no es para todo uso, según la configuración comienza en 499 dólares.

Les comparto algunos vídeos sobre iPad

Otros dos artículos interesantes y recomendados sobre iPad que surgieron la semana pasada “iPad aprovechado para infectar equipos” de Spamloco y “El iPad va a marcar un antes y después” de Marlund.

Más info:

Post original de: Jorge Oyhenard

Apple lanza el iPad

Artículos relacionados:

por Jorge Oyhenard, el 29 de enero de 2010 a las 17:52

Dario Clavijo

OpenVPN auth con ldap y perl

Hace un tiempo hice una vpn con openvpn en mi casa la cual documente en el post Creando vpns con openvpn y ahora estoy tratando de hacer que el openvpn autentique contra un directorio openldap ademas de la autenticacion tls por paquete que ya nos provee.

Encontré el plugin openvpn-auth-ldap que funcionaba bien pero que tenia un problemita no soportaba grupos posix solo grupos rf2307bis los cuales tienen que estar especificados con su basedn completo como por ejemplo: cn=grupete,ou=grupos,dc=localdomain.

Para eso estuve investigando y me encontré con un comentario en un issue de del site de google code en el cual tenemos una alternativa mucho mejor a usar este plugin.

Así que el script que aparece en ese comentario lo modifique para poder hacer un debuging de porque no me andaba y quedo así:

#!/usr/bin/perl -w
open(LOGFILE,'>>/tmp/auth-ldap.log');
use Net::LDAP;
use strict;
my $ldap;
my $result;
my $opt_uri = "ldap.localdomain";
my $opt_user = $ENV{'username'};
my $opt_passwd = $ENV{'password'};
my $opt_group = "cn=sisVPN,ou=groups,dc=localdomain";
my $opt_binddn = "uid=".$opt_user.",ou=People,dc=localdomain";
print LOGFILE "User: " . $opt_user . "\n";
print LOGFILE "Group: " . $opt_group . "\n";
print LOGFILE "BindDN: " . $opt_binddn . "\n";
$ldap = Net::LDAP->new($opt_uri) or die("connect $opt_uri failed!");
$result = $ldap->bind($opt_binddn, password=>$opt_passwd);
$result->code and die($result->error);
$result = $ldap->search(base=>$opt_group, filter=>"(&(memberUid=$opt_user))");
$result->code();
my $var_count = $result->count;
print LOGFILE "Count: " . $var_count . "\n";
if ($var_count == 1) { exit 0; }
unless($var_count){ exit 1; }
close(LOGFILE);

Para poder hacerlo andar hay que instalar los paquetes perl y p5-perl-ldap, originalmente este escript lo instale en un pfsense con:

#pkg_add -r perl p5-perl-ldap

Pero para poder instalarlo en debian solo hay que ejecutar:

#apt-get install perl p5-perl-ldap

Luego el script hay que grabarlo como: /etc/openvpn/auth-ldap.pl (debian) o
/var/etc/auth-ldap.pl (pfsense) y en el archivo de configuración del servidor de nuestra vpn auntar a el con la directiva: auth-user-pass-verify /el_path_que_sea/auth-ldap.pl via-env

Tengan en cuenta que van a tener que modificar los basedn del group y del binddn que estén usando en su ldap.

Por ultimo en nuestros archivos de configuración de los clientes tenemos que agregar la directiva: auth-user-pass

Y listo el pollo!

por Daedalus (Daedalus2027@gmail.com), el 29 de enero de 2010 a las 18:15

Fernando Briano

iPad: Peligro para tus derechos

iPad

iPad

El Problema

El Apple iPad usa DRM (Digital Restriction Management – Gestión Digital de Restricciones) de dos maneras:

  • Todos los medios en la tienda iTunes (con la música como única excepción) está envuelto en el DRM de Apple. Eso significa que los films, programas de televisión, películas y libros de audio están bloqueados a la plataforma de Apple, quitándote el derecho de compartir.
  • Todas las aplicaciones deben estar firmadas por Apple si van a ser ejecutadas, un nivel de control sin precedentes para una computadora de uso general. Encima de esto, Apple puede forzar actualizaciones en el dispositivo a través de su conexión inalámbrica, permitiéndole agregar o quitar capacidades en cualquier momento

Estas restricciones hacen que el iPad sea una plataforma particularmente peligrosa para la distribución de medios de noticias. Cada publicante depende del permiso de Apple, y Apple puede borrar historias remotamente tras haber sido publicadas.

Esto último representa un problema realmente serio, si controlas los medios de comunicación…

Apple Live: Latest Restrictino

Apple Live: Latest Restrictino

DefectiveByDesign.org está llevando a cabo una campaña en contra del iPad, con una carta dirigida a Steve Jobs. Pueden ingresar al enlace y firmar la carta:

Sr. Jobs,

DRM le dará a Apple y sus socios corporativos el podes de deshabilitar características, bloquear productos de la competencia (especialmente software libre), censurar noticias, e incluso borrar libros, videos, o noticias de las computadoras de los usuarios sin aviso– usando la conexión de red “siempre prendida” del dispositivo.

Este pasado año, hemos visto en protestantes de los derechos humanos y la democracia como la tecnología que usaban se les volvió en contra. Haciendo una computadora en la que cada aplicación está bajo control total y centralizado, Apple está poniendo en peligro la libertad para aumentar sus ingresos.

Apple puede decir que no abusará de este poder, pero su historial de rechazos y eliminaciones en la App Store no nos dan ninguna razón para creer en ellos. El uso sin precedentes de DRM en iPad para controlar todas las capacidades de una computadora de uso general es un peligroso paso atrás para la computación y distribución de medios. Demandamos que Apple elimine todo el DRM de sus dispositivos.

Apple Restriction Zone

Apple Restriction Zone

por fernando, el 29 de enero de 2010 a las 03:32

Eclipse: SIGSEV error fatal en Java con libxul.so

Como comentaba sobre Flex Builder para GNU/Linux, hay que usar una instancia de Eclipse Europa para instalar Flex Builder encima. Venía usándolo en Ubuntu sin problemas, pero cuando intenté instalarlo en mi máquina con Debian, surgió este error:

fernando@dagobah~/software/eclipse-flex $ ./eclipse
/home/fernando/.gtkrc-2.0:2: error: unexpected string constant "panel", expected character `='
#
# A fatal error has been detected by the Java Runtime Environment:
#
#  SIGSEGV (0xb) at pc=0xb2851cfc, pid=16384, tid=3064940320
#
# JRE version: 6.0_16-b01
# Java VM: Java HotSpot(TM) Client VM (14.2-b01 mixed mode, sharing linux-x86 )
# Problematic frame:
# C  [libxul.so+0x9a4cfc]
#
# An error report file with more information is saved as:
# /home/fernando/software/eclipse-flex/hs_err_pid16384.log
#
# If you would like to submit a bug report, please visit:
#   http://java.sun.com/webapps/bugreport/crash.jsp
# The crash happened outside the Java Virtual Machine in native code.
# See problematic frame for where to report the bug.
#
Aborted

Después de pasar un rato buscando la solución, pude encontrarla por fín. Algunos la relacionaban con la versión de la máquina virtual de Java. Vengo usando la versión 6 de la JDK incluida en los repositorios de Debian Squeeze (versión 1.6.0_16 al momento de escribir este post). Recomendaban instalar la versión anterios (Java 5). Probé esto, pero el mismo error se volvía a presentar.

Para solucionarlo, instalé el paquete xulrunner-dev que es el responsable aparentemente de libxul.so.

apt-get install xulrunner-dev

Así que si les llega a suceder, en mi caso se solucionó así.

por fernando, el 29 de enero de 2010 a las 01:34

28 de enero de 2010

Fernando Briano

Java y Eclipse: Network is unreachable

Eclipse

Tras una nueva instalación de Eclipse, obtuve este error:

Network is unreachable

Esto intentando instalar y actualizar algunos plugins. Aparentemente el error viene por la máquina virtual de Java en su versión 6 para Debian. Encontré la solución en esDebian, donde explican:

Todo parece ser un “problema” con el paquete netbase que activa por default el comportamiento para uso exclusivo de direcciones IPV6 a los sockets IPv6. Esto provocaba que el programa tuviera que abrir dos sockets uno para IPv4 y otro para IPv6. Para solucionar esto hay dos opciones:

1) Agregar el siguiente parámetro a todo aquello que invoque el java: -Djava.net.preferIPv4Stack=true
2) Poner a 0 el valor de net.ipv6.bindv6only en el archivo /etc/sysctl.d/bindv6only.conf
Si ademas se quiere que el cambio sea en inmediato basta con hacer un echo 0 > /proc/sys/net/ipv6/bindv6only

Esta es la fuente original.

Me llevó un rato dejar pronto mi entorno de desarrollo, y fui encontrando soluciones que iré posteando acá para tener como referencia.

por fernando, el 28 de enero de 2010 a las 23:23

Sun «» Oracle

Finalmente se conretó, y Sun es ahora parte de Oracle.

Sun Oracle

Sun Oracle

En JavaHispano hacen un resumen de las impresiones que les dejó el webcast de Oracle, respecto a la adquisición de Sun. Les recomiendo visiten el artículo para leer más detalles. Particularmente, destaco las apreciaciones para los productos de interés para los programadores:

Hablando sobre tecnologías más concretas, el futuro de Glassfish lo sigo viendo negro. Va a ser un servidor de aplicaciones “lighweight” que será la implementación de referencia de Java EE. Pero Weblogic será el “servidor de aplicaciones comercial”. Esto podría interpretarse como que se va a dejar a invertir en características empresariales y herramientas de administración para Glassfish, y que su robustez podría resentirse.

JDeveloper también será el IDE “comercial”, es decir, para los clientes. En Netbeans se centrarán en algunas cosas en las cuales es excepcionalmente bueno, como por ejemplo lenguajes dinámicos. Pero da la impresión de que va a pasar a tener un papel secundario. Algo similar pasa con VirtualBox, que pasa a ser más secundario respecto a soluciones de virtualización de Oracle. Sólo contemplan como una solución para virtualización de “escritorio”, pero no para virtualizar servidores.

OpenOffice seguirá adelante (lógico, aquí no hay solape) y han anunciado que tienen intención de crear una versión de OpenOffice de “la nube” cual en la cual ya estaba trabajando Sun. Java, por supuesto, sigue siendo prioritario. De lo que no he escuchado absolutamente nada es sobre JavaFX.

En cuanto a Java, en Linux Preview publican sobre el futuro de la plataforma:

Bajo el nuevo liderazgo de Oracle Java se extenderá a más tipos de aplicaciones, mientras que el proceso público para modificar el lenguaje se hará más participativo, ha dicho Oracle mientras explicaba los planes de integración con Sun.

Java es el lenguaje de programación más importante del mundo, particularmente en el sector empresarial, con cerca de diez millones de desarrolladores. Oracle se ha comprometido a invertir en la comunidad de desarrolladores y hacer que el Java Community Process, el proceso público para modificar Java, sea más participativo. Recordar que a Sun se la criticó por tener demasiado control sobre el proceso.

Ya veremos…

por fernando, el 28 de enero de 2010 a las 22:21

Sebastian Gomez (ingles)

YATC (yet another tweeter client)

My twitter followers have probably realize by now that I’ve been playing around with the Twitter API. I’ve been trying out the API and I created a command line tool to update my twitter status. I tried lots of clients but it is still a pain in the a*s to go to a different application or web browser to update my status. I have a command line window open all the time so now I’ll be easier to


por Sebastian (noreply@blogger.com), el 28 de enero de 2010 a las 19:16

27 de enero de 2010

Marcos Crispino

Probando iWebKit

Desde que Fabián me mostró la aplicación que había hecho con jQTouch, tenía ganas de hacer alguna prueba de desarrollar aplicaciones web para el iPhone.

Estuve viendo un poco, pero como nunca hice nada con jQuery, me pareció que podía ser más simple probar con iWebKit, que se basa en HTML y CSS. Es decir, también usa JavaScript, pero yo no tengo que meterme con el código.

La verdad que me resultó muy sencillo de usar, y con relativamente poco esfuerzo se logra una aplicación que se ve casi como una aplicación nativa en el iPhone. En la prueba que hice, en realidad me faltaron algunos detalles como por ejemplo que no logré que los check box se vean bien, pero para ser una prueba quedó muy bien con muy poco esfuerzo.

Una de las cosas que dice iWebKit que soporta, son aplicaciones en modo full screen. Estas son aplicaciones Web, pero que se instalan como si fueran una aplicación nativa, y si bien corren dentro de Safari, no muestran las barras de navegación.

El problema que tiene iWebKit, es que el modo full screen funciona solamente para sitios de una sola página (no son tan raros... hoy en día con AJAX es bastante común).

Lo que me sorprende es que nadie haya encontrado un work arround a este problema, así que acá va el que encontré yo:

Para tener sitios de múltiples páginas con iWebKit que funcionan en modo full screen, en vez de hacer los links con
<a href="miPagina.html">link</a>
se deben hacer con un poco de JavaScript
<a href="javascript:location.replace('miPagina.html');">link</a>

por noreply@blogger.com (Marcos Crispino), el 27 de enero de 2010 a las 21:21

Alejandro Segovia

Anticipada Tablet de Apple sería anunciada hoy

Dentro de unos pocos momentos estará comenzando el evento de Apple en San Francisco, CA, donde se espera que anuncien la tan anticipada Tablet.

Desde el boom de la idea del Netbook y la introducción de un modelo propio por básicamente todo fabricante de Hardware salvo uno, siempre se estuvo a la expectativa de si Apple introduciría un modelo de Laptop pequeño y barato. Al tiempo, sin embargo, los se comenzó a anticipar más bien un Tablet de pantalla táctil, en vez de un Netbook con teclado.

Aún no se sabe nada oficialmente del producto, no obstante, los rumores parecerían indicar que el producto contaría con una pantalla táctil de 10 pulgadas con un Modem 3G y corriendo alguna versión del iPhone OS. En sí todo parecería indicar que se tratará de un “iPhone Grande” que -además de poder realizar todas las funciones de un iPhone- permitiría adquirir contenido digital como libros electrónicos y suscripciones a diarios y revistas. En ese aspecto tiendo daría para pensar en la Tablet como una mezcla entre un iPhone y un “Nook” de Barnes & Noble.

Otros productos que se espera que Apple introduzca, aunque quizás no en este evento, incluyen la próxima iteración del iPhone: el iPhone 4 y la nueva generación de Macbooks con procesadores Core i7.

Veremos dentro de unas pocas horas qué es lo que se anunciará hoy…

Vía Gizmodo y Slashdot.

Share/Bookmark

por varrojo, el 27 de enero de 2010 a las 17:19

Pablo Flores

Una selección de los mejores blogs escolares en 2009

Tus Ideas Valen ha llevado adelante el Primer Certamen Nacional de Blogs Escolares para alumnos que participan del Plan Ceibal.

Los blogs finalistas son:


Felicitaciones a todos! Excelentes materiales!

El próximo sábado 19 de diciembre a la hora 11 será la premiación, en la Plaza Matriz de Montevideo.

Más información.

por Pablo Flores (noreply@blogger.com), el 27 de enero de 2010 a las 17:36

Enrique Place

Nueva serie web (recomendada!): "Freaklances"!

Siguiendo el blog de mi colega Asier Marqués, acabo de flipar con solo dos capítulos, ya quiero más y no hay aún!!! ;-) Muy buena animación, muy buen tema y guión.

Éxito asegurado! A ver que opinan ustedes...

Capítulo 01: El Renacer from freaklances 'la serie' on Vimeo.



Capítulo 02: ROI from freaklances 'la serie' on Vimeo.

por enrique_place (enriqueplace@gmail.com), el 27 de enero de 2010 a las 04:08