Sep 23


Recently, I started to notice the true impact of the now everywhere-accessed internet. People blogging all the time, posting to twitter, ogling facebook photos, chatting away from their cellphones, giving their opinion on the latest piece of news, reading rss, searching, etc. The web has truly become another dimension, another place, another world (those who have played Mage: The Ascension know what I’m talking about). For those of you who know me, you would think that these changes would make me extremely happy and excited…and a past version of myself would. However, time and experience have changed me. I don’t feel I fit in the model of a person who spends his whole life online. I think social apps like facebook are overrated, a fad, a bubble that is going to burst (see MIT’s Technology Review take on this).

A friend told me recently that she hadn’t seen me code in weeks. She told me, just pull my leg, that if I stopped coding I would stop being computer scientist.The truth is, I love to code. I love to program, in different languages, in different ways. However, contrary to the frenetic activity that is programming, I also like to sit a while and think. I haven’t write much code recently because I have been busy reading some papers in order to write a research proposal for my Phd application. There have been entire days that I have spent thinking about the problems I want to address in my research. I have been generating ideas, algorithms, and methods that will make up my project for the next four to eight years (depending on the program that I get accepted to). In this way, I have been true to my computer scientist nature.

No comments

May 30


Category: Uncategorized

Google AJAX API (GWT and such and such)

As was to be expected, Google kept on promoting its AJAX API. GWT was the big star here, which as you may know features a Java to Javascript “compiler”. I’m not really into GUI development (I like to mess with the business and data tiers instead) but I’m a big AJAX fan nonetheless (for one thing, it’s not flash =P). Still, GWT seems to me a bit limited. It’s code generation is neat, but as I see it, you can’t do AJAX if you don’t do AJAX, that is, if you don’t handle de requests by yourself. I still can’t find an AJAX API that I am satisfied with. Maybe I’m just to picky, I don’t know. Ok, so that was my excuse not to enter the AJAX conferences.


Ah, Android, I know thee well. Since I have been messing around with the API since the SDK went prerelease, I tried to avoid the Android 101 talks. In the introductory talk, they showed what Android was capable of. In very short words, Android is Google’s iPhone. Sure, it’s (or will be) open source and more of a defined stack and standard to be followed but Apple’s influence is really there. One thing that provoked ‘Ohhhs and Aaaahs’ is when they accessed a San Francisco street in Street View and panned through it by actually panning the device (as if the device was a window to the street). This is very showy for sure, but as tech critic I must say that it is not that hard to do. I mean, it’s been a while since accelerometers got their own software abstraction and became easy to use, so the real technical achievment there is Street View, which is not Android’s. Of course, since most of the guys at the conference are web devs, so they may not know that (please don’t get mad at me =P).  The interesting stuff came when they talked about the DalvikVM which modifies java’s bytecode so that it becomes more efficient in both CPU and memory consumption at certain times (I just loved to see mmap and malloc mentioned, it was refreshing =). Some things may be tweaked before version 1.0 and you can see that the team is still making some crucial decisions. So Android’s still in Zygote stage (pun intended), I’ll just wait for its birth =)

No comments

May 29

So, what’s it all about?

Here are the main things that Google is presenting here:

Google Gears

Gears is all about extending the browser by using more client side capabilities. It gives developers an API that let’s them do neat desktop-like things in a web app running on a gears-eneabled browser. Examples of this behaviour would be preserving state asynchronously in the client and showing desktop notifications. Gears is Google’s response to the browser jail problem. However, it is not directly an adobe air competitor since the offline side is not really their goal. They are trying to get gears into the HTML5 standard.

Google App Engine

Some while ago, Amazon decided to share its amazing infrastructure with AWS. Following those steps, Google now shares its computing cloud through the Google App Engine. In simple words, the app engine lets you host your application in Google’s servers, using their incredibly fast load balancing algorithms. They provide a simple API that is based on the concepts of easy-to-deploy and easy-to-scale (as in scaling to millions and millions of table row data). This API si made available via python, and frameworks like Django “kind of” work with it. The problem with most of the frameworks is that they need a relational database to work on, and while app engine does provide an interface that mimics this, it is severely limited in that respect. The reason for this is efficiency. Because you need to locate the data in a server, seek it in the disk, and finally bring it home, app engine has to have a schema-less datastore. This makes the Django admin, Django’s killer feature, totally useless. Perhaps a Django port is in order?

Google Maps

Maps has always been the part of Google that amazes me the most. This time, the Maps team announced a plugin for the browser and a javascript API that allows developers to use client-side map goodies. The plugin works so well that a demo was showed portraying a 3D map in first person perspective and model of a milk delivery car. The car is actually a kml file and it could be controlled just like a car in a videogame. The impressive part is that all this is done via javascript, the matrix transformations (rotations, translations), multipliers, etc. Quite frankly, I have underestimated javascript. A thing that’s also cool is their support for WFS and WMS and remote loading of maps.

Next post I will give you news of their AJAX API and Android.

No comments

May 28

Google I/O starts!

Category: Uncategorized

Yesterday, I arrived at San Francisco and stayed in probably the worst hotel in the downtown area. The room was fine and clean, but the whole building was falling apart and patched all over. It reminded me of the dark corners of the urban underworld that are portrayed in The Matrix. Also, it smelled. Real bad. Ok it reeked of moisture and rotten wood. Anyway, today I got up early and changed to the Pickwick Hotel (not too much of an improvement, but you’ve got to know that SFO isn’t a cheap place to stay).

8 am arrived and the guys at the Mascone Conference Center finally let us in. While in line, I came to the conclusion that I had lost my registration code. But no problem, there’s free wireless access! So I had to do the line two times, and in the second try I overheard two guys talking about IDEs. One of them was a Microsoft advocate and used Visual Studio. The other one used vim. Since it was too much of a temptation to resist, I decided to barge in the conversation with an “o yea! vim rocks!”. The registration process was painless and free t-shirts were given to everone.

Later on, breakfast. A fast bagel with jam and some fruit (green melon FTW!). Right now, a cherry juice and off to the inaugural conference.

I will be posting here as the whole thing develops so check in often!

1 comment

Apr 29

La última cena

Hace poco, en el semanal de El País que tanto le gusta a mi madre comprar, me encontré un curioso artículo en el que le preguntan a 50 chefs famosos lo que comerían el último día. A decir verdad, es una pregunta de sumo interés. Lo que come una persona y lo que desea comer es su esencia expresada en la forma más básica. Luego entonces, he decidido emular el formato de las entradas de dicho artículo, usándome a mi como el entrevistado:

¿Qué comería el último día de su vida? Empezaría con unas tapas de jamón pata negra con un buen vino tinto Cadus de cosecha sesentera, acompañado de un cuarto de kilo de caviar de beluga a cucharadas y seis piezas de nigiri al azar (las cuales forzosamente contendrían calamar, hueva de erizo y almeja gigante). Luego, vendría un doble de crema de elote sencilla y sopa de tortilla con mucho queso y picante. Seguiría un coctel de camarones a la cerveza estilo Monterey Bay con ostiones gigantes, un tequilero de mole de espinazo con médula de cordero y un buen bife argentino. Terminaría lo fuerte con un plato pequeño de sashimi de pez luna. ¿Y de postre? Una versión en natilla del postre de merengue la vie en rose. ¿La bebida? Antes que nada, tomaría un buen martini seco con Tanqueray y Cinzano acompañado de aceitunas sicilianas. Para acompañar la comida tomaría una mezcla de horchata y calpis endulzado con midori. Como digestivo, elegiría un Strega y para seguir la fiesta tomaría un Ío adornado con frutas del bosque. ¿Donde sería? En cualquier lugar de Yellowstone ¿Compañía? Naturalmente mi musa, mis amigos, mi familia. ¿Sonaría la música? Para empezar, Miles Davis y Hendrix tocarían una versión jazz de los conciertos de Brandenburgo. Seguiría una combinación de Yoko Kanno, Paul Simon, Mike Oldfield y Mason Williams. Para culminar la fiesta, un Carmina Burana completo dirigido por André Previn.

Invito a los lectores a hacer una similar reflexión de su último día. Es una buena medida de lo que sabemos del arte de vivir.

1 comment

Apr 17

Chatoid: a Gtalk application with gps tools

The Rho team (that’s me and two friends) finally finished their Android developer’s challenge app and submitted it last Saturday. The app is based on GTalk and lets you chat with your friends, locate them, send them location-enhanced messages, and share an annotation map session with them. Implementation of the whole thing took us three months of spare time and one week of intense hacking. Let’s hope we get to the second round =) Here are some screenshots:

Chatoid homeChatoid chat Chatoid place notes Chatoid geoconference Chatoid notifications

One member of the Rho team decided to make and try to submit his own project, which he named TouchMe. TouchMe is a novel way to write on a touch screen; much easier and usually faster than a virtual keyboard. Sadly, TouchMe could not be integrated with Chatoid on time and its creator decided that it was too unpolished to be submitted. Let’s hope that it does see the light sometime in the future.

Final stats (for Chatoid): 32 java classes, 6 packages, 53 files, 51 subversion commits (that’s a bit too low, no?).


Apr 9

The Fall

Category: Uncategorized

It was the day after the third
My heart shook and rambled,
Sung the beatings of free bird.
We came from fate
In racing horses we departed
To the forbidden places of of late wanting
Too high we climbed and too fast
The loving hills of mortal call
With passion’s moment we did not hear
And until doom’s time they were not clear
the silent warnings of the fall.

No comments

Mar 24

From the beginning

Category: Uncategorized

Perhaps of a thing or two,

I think of lying with you

I shouldn’t have said

But there it is =)

You see it’s all clear,

You were meant to be here…

From the beginning.

In hoc Io vincis!

1 comment

Feb 28

Tales from an RNA world: a tempting hypothesis

Category: Bio

What is the origin of evolution? What ingredients, methods, and environment did life need to emerge as the only known process to generate complex behavior?

For some time now, there has been a minimal hypothesis stating that RNA all by its own could support Darwinian evolution. This notion has been given the name of the “RNA world” conjecture and it is broken down into two notions. The first notion of an RNA world states that an early form of life used RNA as the only genetically encoded component. The second notion goes farther ahead by stating that not only RNA was used as a sole genetically encoded component, but that it was the first one to be used. This means that RNA alone could have spontaneously produced life given certain conditions.

The second notion is of course much less supported than the first one. However, regardless of the notion, when we talk about an RNA world, we explore the concept of life generated by the interactions of RNA with its environment. We give the molecule, with its ribose backbone and its nucleotide language, the center stage in the drama of life.

But how do we prove this? Where to start? One way is to begin inferring how ancient life worked by looking at the present state of it all. In this way, ancient genomes must be inferred and ancient metabolic models deduced from that guess. The problem is that data suggests that the RNA world would have to occur well before the appearance of LUCA (our Last Universal Common Ancestor). However, inferring an RNA only model only by looking at a model of LUCA and the workings modern life is tricky and educated-guess-like at best. Another way to the RNA holy grail is by looking at how was Earth during the early stages of life: its composition, its environment, and its astronomical accidents. An RNA world model that fits Earth’s early state can be theorized and then experimentally proved. This is far more difficult that it sounds because forming a stable strand of RNA spontaneously in an unstable atmosphere and from a restricted set of elements that we think Earth had back then is not easy. There are many complications that rise during the polymerization of ribose in such an environment and many questions of how it can polymerize in the first place.

I certainly believe that there is evidence that points to the way of an RNA world, but there is no model yet of my knowing that can withstand all the critics. One thing that is fascinating about problems like this one, that is, problems that deal with the origin of life, is that, in a sense, we are Universe staring at Universe; a being trying to desperately remember its own moment of Creation. A being trying to remember when it became different to everything else.

No comments

Feb 22

Six out of twelve

Category: Uncategorized

Six out of twelve

Have we dwelled in the stars,

In the shining forever

Of a thousand years far.

Taken by time,

Tittered by faith,

We came to our union

In quick  change of fate.

We first came to liking,

In Love’s caverns we danced.

But sooner than later,

Even Love’s grace we surpassed.

We are now truly unknowing

Of which  place we reside.

But it is of no matter,

If I’m by your side.

Six out of twelve

have we channeled ourselves,

And the deeper we delve

In our meaning

In our warmth

The deeper the love, the higher the sadness, the greater the sea.


« Previous PageNext Page »