Archive for the ‘Life’ Category
Twitter Updates for 2008-10-07
- I just formally volunteered to be MacPorts release manager. Waiting for responses. #
Powered by Twitter Tools.
Web 2.0 is not streamable
This week our connection at home is shaped. This means that, instead of the shinny 1Mbp/s that we usually have, now we have to suffer to see pages with a bandwidth of just 64Kbp/s. But there is one thing that such limited bandwidth made me realize: The next web isn’t streamable.
To get to that conclusion, I hadn’t have to go far: Just opening Google Reader shown that it’s impossible to live with a very limited bandwidth. Right now, I should have something like 1000 unread news in 1 hundred subscriptions, which means Reader have to download a large description file with all that information. Thing is, right now, it doesn’t do anything: It shows the default Google application header, the logo and that’s it. But, knowing how things usually works in this Web 2.0 universe, I know that there is something going on:
Interactive sites, like Google Reader and GMail use AJAX. AJAX relies on XML, which is a structured plain text data (the same can be said for JSON.) XML allows the data to be in any other inside their structure. As an example, imagine a book information list: Inside the “Book” item, you can have a “Title”, which can be in the very beginning or the very end, but the result would be the same. So, any application that uses XML need to first receive the information, then convert it to some internal representation and then it can be used. Google Reader wasn’t “doing nothing”: It was receiving the list of feeds and the initial 100-something feed items which, due the small bandwidth, was taking very long. And, because it needed the whole thing, nothing was being displayed.
Which is a problem I see with many XML/JSON results: You can’t stream them in a way that you can start using the information before having it all. For example, in Mitter, we can’t display tweets before we received the whole message. If XML and JSON weren’t so loosely defined and we had a way to assure that after the element “User” we would have an element “Message”, then we could start displaying tweets before we had all of them (not that the format changes all the time, but since we can’t ensure that ordering, we must be ready for the data appearing in a different order — or with some other data between the ones we need.)
In a way, that’s a complete reverse of roles for AJAX. In the very beginning, AJAX was used to prevent large downloads: If you had a page where it would be useful to display all options to the user to help him/her to find data, you’d have to fill the page with that data (imagine, for example, a page with all your Del.icio.us tags, plus all the possible suggestions for all the other users.) The use of AJAX meant the site could filter results, so you’d have a smaller page, with would do small requests to the webserver, returning small amounts of data. In overall, it meant that the user experience would be faster. Now, we have so much information packed in XML/JSON formats that the user experience is not as responsive as it should.
Twitter Updates for 2008-10-01
- Time to read that Cocoa book, so I have some ideas of why the iPhone client is using so much memory. #
Powered by Twitter Tools.
Twitter Updates for 2008-09-28
- Don’t you love when someone says something stupid and gets bashed in his own blog? http://ping.fm/bRjwK #
Powered by Twitter Tools.
Twitter Updates for 2008-09-27
- “What did the short zombie say?” “KIIIIDNEEEEYYS!” #
Powered by Twitter Tools.
Twitter Updates for 2008-09-26
- I think Firefox is leaking memory again. Time to remove all add-ins and do some testing. #
- After my “developer’s block”, now I have “writer’s block” (want to blog something but I can’t put the words together.) #
Powered by Twitter Tools.
Twitter Updates for 2008-09-25
- Now I wish I had the Last.fm track list of what I heard in the 80s. #
Powered by Twitter Tools.
Twitter Updates for 2008-09-24
- Sync seems to work, except that contacts in the sim card didn’t appear in the address book… #
- … but "Move contacts from SIM to Phone" fixes the problem. #
Powered by Twitter Tools.
The reverse ideas
On the post about Final Fantasy, I realized that most of the series follow the same basic premise. And yesterday, after watching the next season of “Heroes”, I realized that most TV series also follow the same idea. That’s when I came with the reverse ideas for those things:
Reverse Final Fantasy: The forces of Light and Darkness most be in balance, or the universe will explode. Unfortunately, the Light is getting over and so the Warriors of Darkness must be summoned to save the planet. To do that, they must pillage villages, destroy families, corrupt kings and such. Honestly, I think it’s cool because you’ll end doing wrong things for the right reason.
Reverse TV series: This occurred to me when I saw “Continue in the next episode” in the end of the first episode of “Heroes.” Almost every TV series starts showing the personalities of the main characters, then add some action, add some cliff-hangers, try to connect every main character in a way and (in the really well written series) it ends closing all the open plots and shows a happy ending. What I’m thinking here is a series which the first episode is the happy ending. Everyone is fine, the universe is saved, the villains are in jail… and it ends with “Continues in the previous episode.” So the whole thing is a lot of retcons over and over again, trying to explain how character X became the villain, how Y found his/her super-powers, how the city was destroyed…
Twitter Updates for 2008-09-23
- Parsing JSON in C must be like seeing God peeing: It’s probably awesome, but ewww at the same time. #
- Getting mild headaches just thinking about coding. Call it “developer’s block.” #
Powered by Twitter Tools.
