Infinite scrolling

GDrive se creció

Lo que en un principio fue una noticia que corrió entre bloggers y grupos de noticias en internet ha crecido, y ahora hasta la agencia Reuters está interesada en el caso (acá). Al parecer la gente de google reconoce que puso las notas por error, y aunque no reconoce oficialmente que se esté trabajando en GDrive se deja entrever que probablemente si disfrutemos de este servicio. Pues yo ya lo estoy esperando ansiosamente.

Mac OS X Security Challenge

Al parecer no mucha gente quedó contenta con el reportaje publicado por ZDnet hace un par de días y que yo mismo comenté en este blog. El punto es que la universidad de Wisconsin ha lanzado de nuevo el reto de hackear un mac. En esta ocación los aspirantes no tendrán una cuenta SSH para acceder a la máquina así que tendrán que hackear a la antigua.

Si alguno de los lectores de este blog quiere participar solo tiene que seguir este link. Y cuenteme como le fue.

Que tan complicado puede ser?

Hace poco decidí empezar un proyecto del cual más adelante le comentaré un poco más. Por ahora esta hitoria es acerca de los enfoquees que tomé para desarrollarlo.

Este es un proyecto un poco grande, así que una amiga de la Universidad está trabajando en el análisis de requerimientos, mientras que yo me concentro en la parte técnica.

Pues bien, Inicialmente pensé trabajar el proyecto en Java debido a su capacidad multiplataforma, la gran cantidad de herramientas que tiene como JDBC, JasperReports, Hibernate, etc. Sin embargo despues me puse a pensar en lo popular que se ha convertido la arquitectura de Mozilla así que decidí que esta sería una buena oportunidad para conocerla ya que existen otros muy buenos proyectos que la usan (como el iTunes killer, SongBird) además que permite crear proyectos multiplataforma escritos en C++. Pero lo que me encontré es un poco más complicado de lo que parecía en una primer instancia.

La arquitectura de Mozilla está dividida básicamente en tres capas. XPCOM (Esta no tiene nada que ver con Windows XP, por el contrario significa algo así como Cross Plataform Component Object Model), ECMA Script (a.k.a. JavaScript) y XUL. Cada una diseñada para brindar servicios en una capa específica.

XPCOM tiene algo de CORBA y COM por debajo y se usa para brindar la portabilidad. En si no es más que un conjunto de interfaces (en C++ algo así como Pure Virtual Classes) las cuales decienden todas de una super interfaz. Este es el centro de la librería pero no hay que asustarse tanto. Mozilla ya tiene implementados varios servicios sobre estas. Aún así es algo criptico y considero que entenderlo en su totalidad me tomaría also así como 6 meses (tal vez menos si pudiera dedicarme tiempo completo a esto).

Una de las cosas que se espera lograr con XPCOM es que sea independiente del lenguaje sobre el que se trabaja. Así las cosas provee un motor para javaScript y recientemente para phyton. Es en este novel donde el famoso motor Gecko viene implementado (y espero que pronto pase el test Acid2). Y presta unos servicios a la capas superiores a traves de objetos DOM (Data Object Model).

Con XPCOM andando y funcionado se pasa a la parte de JavaScript que es la que realmente implementa la funcionalidad del programa y como lo mencioné anteriormente, se vale de objetos DOM para aceder a los datos. Esto es en parte útil para evitar que esta capa tenga acceso a datos que se encuentran en la capa inferior.

Pero en el mundo moderno ningún programa vale nada si no existe una bonita UI, para eso Mozilla diseñó el lenguaje XUL que no es nada más que definición de UI's a traves de XML; de hecho hay una broma basada en la película los cazafantasmas, allí un demonio tomaba poseción de Dana y decía "There's no Dana, Only Zool," pues a los hombre de mozilla les pareció gracioso decir "There's no data, only XUL"(para ver este link necesitan un navegador que soporte XUL como firefox); el chiste vien a que normalmente XML se usa para definir documentos (que contienen datos) y no programas. Pero volviendo a lo que nos ocupaba todo termina acá y sin embargo este desarrollo en varias capas requeriría varios ingenieros con varios meses solo para estudiar la arquitecura.

Finalmente creo que, aunque definitivamente esta arquitecura me parece genial y definitivamente me voy a tomar mi tiempo para estudiarla, Mi proyecto se desarrollara en Java como pensaba hacerlo en unprincipio.

¿Propaganda Política en mi correo electrónico???????

El día de hoy me encontraba revisando mis correos como todas las mañanas cuando llego a la oficia. Usualmente la entrada a hotmail no es más que para borrar toda la basura que me llega allí. De pronto me encontré con un correo de un tal Javier Cáceres que en un principio pensé se trataba de un buen amigo mío. Pero cual sería mi sorpresa cuando me encontré con que se trataba de un aspirante al senado por parte del partido cambio radical.

Ciertamente me molesta que me lleguen este tipo de correos ya que tengo muy claro por quien voy a votar (y ciertamente no es este señor ni nadie de su partido), pero esto no es lo que me extraña. Lo que sí me deja preocupado y pensativo es el hecho que me haya llegado esta propaganda ¿De donde diablos sacó este señor mi dirección de correo electrónico y más el de msn? Digo, si hubiera sido a mi correo de Yahoo! o al de Gmail hasta lo hubiera entendido ya que uso estos correos y los tengo en cientos de listas de correo ¿Pero al de msn? si hace años no lo uso más que para el msn messenger!!!!!! y lo peor de todo es que el correo contenía mi primer nombre (Diego) el cual nunca uso en internet (con las demás personas es un caso perdido, no importa cuanto lo intente jamás me llaman Alexander) y mi apellido.

Si alguien puede ayudarme a aclarar esto, le estaré enteramente agradecido. Y por favor, dejen de fastidiarme!!!!

Mac OS X hackeado en menos de 30 minutos

Una de las cosas que pienso cuando hablan de OS X (el sistema operativo de los macs) es en seguridad. A fin de cuentas está basado en un sistema operativo BSD llamado Darwin que a su vez está basado en FreeBSD que en últimas es considerado uno de los sistemas operativos más seguros que existen. De hecho alguna vez leí que era el segundo más seguro despues de Solaris. Incluso pensaba que OS X traía el poder de UNIX al usuario final. Pero estaba equivocado.

Hace dos semanas aparecieron los primeros virus para OS X y se descubieron los primeros huecos de seguridad que apple prontamente corriguió (acá) mostrando que OS X era algo inseguro (de todas formas nunca creí en el SO perfecto) y ahora salió que es más inseguro de lo que pensaba. De acuerdo a ZdNet en menos de treinta minutos un hacker logró hacerse del acceso a root (lo cual demuestra en cierta manera la fragilidad del sistema). Personalmente yo he logrado este acceso en Linux valiendome de bootear la máquina y un live CD. Pero jamás desde el PC prendido. El hacker que logró esto dice que uso huecos de seguridad que apple no ha reportado ni corregido (tal vez ni siquiera se han dado cuenta de ello).

Realmente me duele escuchar esto de un sistema operativo que creía muy fuerte. Espero que esto sea algo particular de OS X y no afecte realmente a FreeBSD, ya que en lo personal confio mucho en este. Tanto que siempre lo recomiendo como el SO para servidores.

Google GDrive no es un rumor

Como fan de Google, el blog googling google se ha convertido en uno de mis sitios favoritos en toda internet. En el último post se habla que google tal vez cansados por el uso indebido de gmail a traves de de elementos como gmail drive (el cual crea un disco duro en el PC que guarda los archivos en la cuenta de gmail y que no puedo usar por las características de mi contraseña) está planeando lanzar un servicio llamado Gdrive el cual entraría a competir directamente con el briefcase de yahoo. Y en buena hora hacen esto ya que yo solía usar mucho el Yahoo! Briefcase, pero debido a que solo me permitía subir archivos de 5MB y me daba un espacio total de 30MB cayó en des-uso a favor de enviarme correos de un lado a otro.

Al parecer la noticia surgió en una presentación con motivo del "Google's Analyst Day" en la diapositiva 19 se habla que google debe ser capaz de almacenar todos los documentos de un usuario (un problema de esta presentación es que las notas al margen fueron removidas y ya no aparecen los comentarios sobre el gdrive, estos se encontraban en una presentación en powerpoint). Agrego los comentarios del slide 19:

Purpose of this slide:
In a world with infinite storage, bandwidth, and CPU power, here's what we could do with consumer products…
Theme 1: Speed
Seems simple, but should not be overlooked because impact is huge. Users don't realize how slow things are until they get something faster.
Users assume it takes time for a webpage to load, but the experience should really be instantaneous.
Gmail started to do this for webmail, but that's just a small first step. Infinite bandwidth will make this a reality for all applications.
Theme 2: Store 100% of User Data
With infinite storage, we can house all user files, including: emails, web history, pictures, bookmarks, etc and make it accessible from anywhere (any device, any platform, etc).
We already have efforts in this direction in terms of GDrive, GDS, Lighthouse, but all of them face bandwidth and storage constraints today. For example: Firefox team is working on server side stored state but they want to store only URLs rather than complete web pages for storage reasons. This theme will help us make the client less important (thin client, thick server model) which suits our strength vis-a-vis Microsoft and is also of great value to the user.
As we move toward the "Store 100%" reality, the online copy of your data will become your Golden Copy and your local-machine copy serves more like a cache. An important implication of this theme is that we can make your online copy more secure than it would be on your own machine.
Another important implication of this theme is that storing 100% of a user's data makes each piece of data more valuable because it can be access across applications. For example: a user's Orkut profile has more value when it's accessible from Gmail (as addressbook), Lighthouse (as access list), etc.
Theme 3: Transparent Personalization
The more data, access, and processing Google can handle for the user, the greater our ability to use that data to transparently optimize the user's experience.
Google Desktop w/ RSS Feeds is a good first example: the user should not have to tell us which RSS feeds they want to subscribe to. We should be able to determine this implicitly.
Other potential examples: User should not have to specify the "From" address in Google Maps; user should not have to specify which currency they want to see Froogle prices in; user should not have to manually enter their buddy list into Google Talk.

Back-door nonsense

Leyendo los blogs de microsoft me encontré con esta perla. Niels Ferguson, quine es desarrollador de seguridad para Windows Vista habla sobre lo publicado por la BBC acerca de un arreglo entre Microsoft y varios gobiernos los cuales tendrían una puerta trasera para ver archivos encriptados con el sistema BitLocker (el sistema de seguridad a lo PGP de Vista). Bueno, que opina el señor Ferguson:

"sobre mi cadaver"

Según él, Microsoft si ha estado en conversaciones con varios gobiernos y han hablado sobre el sistema BitLocker pero con el fin que estos lo usen y no para desarrollar puertas traseras. También asegura que nadie en Microsoft está trabajando en eso. Pues bien, como siempre digo. Amanecerá y veremos.