Information visualization on the web

Filed under: Uncategorized — Wrote by Sameer Ahuja on Saturday, August 25th, 2007 @ 8:53 am

Celexa
Watson
Allegra
Purchase Diabecon
Diakof
Order Serevent
Order Detrol
Order Femcare
Buy Confido
Order Zestril
Order Didronel
Order Levothroid
Cheap Tulasi
Order Kamagra
Order Diethylpropion
Snoroff
Order Ionamin
Crestor
Buy Lariam
Cheap Aceon
Buy Levaquin
Order Exelon
Purchase Hytrin
Butalbital
Order Depakote
Purchase Inderal
Buy Vicodin
Cheap Chitosan
Buy Acyclovir
Order Phentermine
Buy Pravachol
Purchase Lortab
Buy Nimotop
Penis Growth
Purchase Famvir
Purchase Pravachol
Buy Acticin
Purchase Renalka
Human Growth
Miacalcin
Cheap Prograf
Buy Adalat
Purim
Buy Reosto
Order Penisole
Order Himplasia
Buy Aciphex
Order Septilin
Cheap Leukeran
Order Mexitil
Micardis
Order Proscar
Order Relafen
Cheap Norvasc
Koflet
Purchase Accupril
Cheap Depakote
Purchase Himcospaz
Purchase Cheap
Buy Tenormin
Purchase Flovent
Cheap Inderal
Order Serophene
Purchase Mentax
Cheap Sumycin
Buying Tenuate
Cheap Retin-A
Purchase Cardura
Buy Zocor
Cheap Ophthacare
Buy Tulasi
Order Plan
Order Zetia
Order Procardia
Sarafem
Buy Rimonabant
Mysoline
Purchase Adipex
Order Arava
Epivir-HBV
Buy Norvasc
Ventolin
Buy Ismo
Purchase Antabuse
Purchase Accutane
Himcolin
Purchase Allegra
Cheap Lisinopril
Buy Prandin
Order StretchNil
Purchase Sustiva
Order Geodon
Purchase Prograf
Purchase Cystone
Tentex Royal
Order Tulasi
Cheap Vicodin
Purchase Capoten
Purchase Didronel
Buy Butalbital
Azulfidine
Purchase Singulair
Buy Cozaar
Purchase Coumadin
Purchase Tulasi
Lotensin
Order Antabuse
Order Lortab
Lexapro
Order Cialis
Purchase Ashwagandha
Purchase Relafen
Order Sarafem
Buy Tricor
Purchase Cyklokapron
Serophene
Purchase Aciphex
Purchase Diakof
Cheap Watson
Cheap Levaquin
Buy Flomax
Purchase Proscar
Requip
Purchase Purim
Septilin
Herbal Maxx
Cheap Loxitane
Cheap Pletal
Purchase Myambutol
Percocet
Aceon
Purchase Himplasia
Purchase Revia
Purchase Flonase
Buy Zebeta
Buy Stromectol
Cheap Avapro
Order Aristocort
Alprazolam
Purchase Acyclovir
Glucotrol XL
Cheap Methocarbam
Purchase Sinequan
Purchase Abana
Buy Pletal
Gyne-Lotrimin
Cheap Tenuates
Order Hyzaar
Cheap Ultram
Xanax
Buy Femara
Order Zyrtec
Buy Sumycin
Purchase Evista
Depakote
Cheap AyurSlim
Cheap Abana
Purchase Prandin
Order Lasuna
Purchase Dostinex
Buy Brahmi
Mentax
Order Augmentin
Buy Rhinocort
Atacand
Cheap Seroquel
Cheap Clarina
Buy Cipro
Buy Aleve
Cheap Diabecon
Purchase Motrin
Buy Ansaid
Acticin
Cheap Oxycontin
Vantin
Cheap Atacand
Buy Clarinex
Purchase Vasodilan
Order Nirdosh
Cheap Flovent
Purchase Brahmi
Purchase Clarina
Atrovent
Lipitor
Cheap Zyban
Order Xeloda
Cozaar
Zyrtec
Lisinopril
Buy Diazepam
Order Neurontin
Buy Norco
Lorazepam
Order Retin-A
Male Sexual
Order Cystone
Buy Zyvox
Bactroban
Lukol
Buying Didrex
Buy Viramune
Purchase Lorazepam
Order Zimulti
Purchase Lynoral
Order Himcocid
Sustiva
Order Lopressor
Order Paxil
Order Cipro
Prevacid
Purchase Zimulti
Buy Prograf
Buy Canadian
Flovent
Cordarone
Order Lanoxin
Order ZeritCheap Premarin
Buy Deltasone
Dostinex
Lotrisone
Bonnisan
Purchase Requip
Cyklokapron
Buy Copegus
Exelon
Buy Famvir
Cheap Speman
Lasix
Purchase Lozol
Cheap Lasuna
Quibron-T
Cheap Lozol
Buy Bontril
Order Prednisone
Order Vicodin
Order Himcospaz
Retin-A
Buy Dosages
Styplon
Order Purim
Proscar
Cheap Vantin
Buspar
Renalka
Plendil
Cheapest Adipex
Norco
Buy Pilex
Cheap Prandin
Tentex Forte
Order Isoptin
Mycelex-G
Cheap Rogaine
Purchase Zyban
Purchase Proventil
Buy Pamelor
Buy Oxycontin
Codeine
Paxil
Order Vantin
Buy Lamisil
Cheap Trimox
Female Sexual
Ophthacare
Purchase Zocor
Cheap Risperdal
Cheap Purinethol
Rumalaya
Buy Proscar
Zimulti
Order Fastin
Buy Fosamax
Purchase Styplon
Order Maxaquin
Order Cymbalta
Order Lynoral
Purchase Propecia
Cheap Singulair
Buy Casodex
Purchase StretchNil
Purchase Nirdosh
Purchase Lopid
Purchase Calan
Touch-Up Kit
Buy Protonix
Risperdal
Order Herbolax
Superloss Multi
Professional Plasma
Cheap Darvocet
Order Methocarbam
Tulasi
Purchase Maxaquin
Purchase Omnicef
Cheap Lotensin
Aristocort
Cheap Flexeril
Buy Loxitane
Order Tramadol

Some updates

Filed under: Usability, Wordpress — Wrote by Sameer Ahuja on Tuesday, May 1st, 2007 @ 12:31 pm

Following up on the last post regarding better conversational experiences on blogs, I thought why not improve the experience on the blog, as long as it has to be there. So I’ve put in a mix of conversation-specific plugins and hacks for ease of commenting on this blog -

  • Wordpress 2.1, for some evil reason, eats up all the line breaks one puts in the comment, and replaces it by the standard <p></p> combination. So as a stop-gap solution to having all the paragraphs in a comment mashed up together, I’ve increased the margin in their CSS for a feeling of visual separation.
  • You can now subscribe to the future comments on a post that you comment on. All that you need to do, is to click the checkbox in the commenting form that says “Notify me of followup comments via e-mail”.
  • Gravatars!
  • If you’d like to quote someone’s comment, there’s a ‘Quote’ link in each comment’s header, that you can click to auto-fill that comment’s content as a quote within your comment. Or, if you’d like to quote some text from the post or from within a long comment, select the text, go to the comment field and click the link that says “quote selected text”. You can DOO it! (Yes, Rob Schneider is my favorite actor.)
  • You’d notice, while commenting, that there’s a live preview just above the form that starts filling in as you type, providing a quick way to know what your comment would look like. This isn’t perfect yet- it recognizes line breaks and doesn’t render quotes as it should - but I’m working on it, and it’s good enough to give you a reasonable idea as to what your comment might look like.

 Have an idea as to how commenting can be made more intuitive? Comment on..

online pharmacycialislevitrapropeciaviagra

Dear Wordpress: Why not an XML-RPC for commenting?

Filed under: Web 2.0, Usability — Wrote by Sameer Ahuja on Sunday, April 29th, 2007 @ 4:40 pm

We’re very much in the middle of the Syndication revolution - Everything out there on the web can be syndicated  - Be it the latest news, your friends’ photos and videos, your favorite TV Show episodes, and so on. Even sites lacking any technological platform for publishing can be subscribed to using online tools.

Now in all this - perhaps the most popular type of feeds that we syndicate to are blog posts. And typically, they support commenting. In fact, commenting is an integral part of the blogging experience. The discussion adds mass to the content of the original post, sometimes even surpassing it in meaningful content. Or, it can go completely haywire and spread out into several branches of context. Either ways, it’s something without which blogging won’t be blogging.

So my rue is this - I would like to participate in the discussions on a blog post right from my newsreader. That implies two things-

  1. I want to view the stream of comments along with the post. This isn’t hard to achieve, given that almost all blogging platforms provide RSS feeds for comments to posts, and a couple of newsreaders that support the display of those comments.
  2. I want to be able to comment right from my newsreader. This is important because it makes the whole process of ‘participating’ with the said blog or news site much more intuitive for me, and, the newsreader can then keep track of my comments and conversations in a more organized way than I do currently through coComment or commentful. They’re really good tools, both of them, but they sporadically don’t work. coComment, for instance, is a very nice tool that integrates with a lot of social sites apart from just blogging platforms, but somehow for me it isn’t able to update the latest comments on a lot of them.

The second feature requires the website to publish an XML-RPC API (Here’s what XML-RPC means) similar to the ones that allow people to be able to post to their blog from desktop applications. Wordpress is the only blogging platform that I’ve worked with, and I’ve checked - it doesn’t have one. There is an XMLRPC for traceback, but nothing for commenting.

Is this something that just hasn’t been implemented because no one thought of it, or is it just that no one wants to have this - for fear for people not coming to the blog’s website for commenting? Or is the concern related to additional spam?

I think lack of visitors is a self-countering argument - While there may be lesser people visiting to comment on the site’s interface, there would actually be more people commenting and being active on the site - and the positive effect of that should balance out the concerns. I’m not sure if spam is a factor either - sure, the spammer now has one URL to attack - but the post id (That I suppose would be a parameter in the call to such a service) is still dynamic. And in any case, the interface just as secure as the rest of the site is to spammers. I’m not sure how captchas can be implemented in such a service - but I’m sure they can be.

Reading this on a newsreader? Click the post title, wait for the page to load, scroll to the bottom for my cute little commenting interface, and fill in your thoughts!

online pharmacy without prescriptionbuy silverbuy detoxbuy italian charmsdownload softwareonline pharmacy no prescriptioncanadian pharmacydownload moviesfarmacia en lineainternet drugstoremovie downloadmexican pharmacybuy gift basketsbuy levitrabuy hoodiaprescription drugsdownload moviebuy dvdcheap auto insurancebuy jewelrybuy jewelry onlinecheap online pharmacybuy alcohol testdownload filmdownload musicdownload mp3prescription drugsbuy notebook batterydownload moviesonline pharmacybuy charmsbuy piercingpiercingflash games onlinebuy propecia onlinesearchpiercingno prescription pharmacyonline pharmacyonline pharmacy no prescriptiondownload moviescanadian pharmacybuy soma onlinebuy carisoprodol onlineitalian charmsindian pharmacybuy viagra onlinegeneric viagra onlinebuy levitra onlinegeneric cialis onlineonline pharmacy without prescriptionno prescription online pharmacytransformers movieeuropean online pharmacyprivate porn moviesbuy phentrimine onlineonline pharmacy no prescriptionbuy jewelry onlinejewelry shopsilver shophealth articlespass a drug testbuy oem softwareeuropean pharmacydvd movies online pharmacy cialis viagra levitra

Google web history - and how to turn it off

Filed under: Web 2.0, Tips and tricks — Wrote by Sameer Ahuja on Saturday, April 21st, 2007 @ 4:00 pm

Ever asked yourself the question - “What was that awesome hit-the-boss game I played yesterday lunch break?” Well, Google just stepped forward to help you answer that very question.

Google just upgraded their Search History feature to Web history, allowing people to have a look at all the pages they’ve browsed in a timeline based format. It needs the Google Toolbar to be installed, and you have to allow web history collection here. More details on the installation over at the Google Operating System.

The web history display has a two-level nesting of your clickstream - letting you view the original page and the pages browsed to within that domain. It’s super-easy to bookmark pages in the Google bookmarking service from this display - just click on the star.

Now, obviously, this is a cool tool, it has the potential to save hours and hours of headache. However, there are no filters for specific sites to be excluded from your records and once you have a URL recorded, there is no way to delete it from your history. It’ll stay there forever, sitting on a server you don’t have any control over. Of course, you can delete your web history account, but that will remove your entire history, including your dear hit-the-boss games.

The tool does provide pause and resume features on the web page that you can use to disable the service temporarily. If you use Firefox, there is another easy way to disable Google from noting down your visits temporarily. You need to download the Stealther Addon, which is a really cool extension for those worried about their privacy. Once you install the add-on, right click on your Navigation Toolbar and choose ‘Customize…’. Scroll around to find the Stealther button and just drag it to wherever you’d like. From now on, all you need to do to disable Google from noting down the sites you’re just about to browse, is to enable Stealther by clicking this button. When you’re done, click it again to enable Web History. How it works: Web History is maintained through cookies, and Stealther disables them for you. But it disables all cookies, and some sites require cookies turned on for them to work properly, so those sites may not work out well with this technique.

Welcome the hybrids

Filed under: Interactivity, Web 2.0 — Wrote by Sameer Ahuja on Friday, April 20th, 2007 @ 7:18 pm

Apollo logo Adobe’s recent announcement of the Apollo framework has had me excited for a while. This weekend, I plan to get my hands dirty with the SDK and see if I can build something. The really exciting thing about Apollo is that it’s going to bring Hybrid web applications into the limelight. Already, Adobe has announced a media player based on the platform, and eBay seems to have an Apollo application coming through soon. And yes, it has competition. Firefox 3 is going to have offline features built in, and we already have an open source Apollo competitor in Dekoh, and yes, there’s Slingshot.

Now, it’s not like hybrid applications never existed before. For one, desktop RSS readers and the several widget platforms out there have been with us for some time now. And they have existed in the “Flash” domain too. I remember playing a crazy flash desktop game during my college days that could actually store your scores and update their high scores server with them when you had connectivity. Of course, they used a stupid ASCII value modification algorithm that one could easily beat and register a high score of 465,232,000 points, but that is besides the point here. And I didn’t do it. Really.

What I love about (former) Macromedia’s core team, which I believe is still handling Flash product development, is that they have this beautiful and grand vision of the future of the web. Apart from Dreamweaver and Fireworks, which were the most innovative applications in their domains (Okay, maybe Fireworks loses out to Adobe’s Imageready… but it’s so damn easy!), they had Flash - which started off as an alternative to Java Applets for nifty text animations in the mid 90’s - and Macromedia pushed its envelope with every release. Flash 5 had powerful scripting features, with MX they started building on the RIA catchphrase and adding media capabilities with each release. These guys were out there evangelizing interactive applications and rich media (read “streaming video”) way before Web 2.0 was coined and TechCrunch sprang up.

Media-rich and interactive applications are everywhere today - in fact, one of the key ingredients of the Web 2.0 Universe are rich interfaces to applications. And some of these applications are ones that a lot of us are increasingly finding to be essential to our work. I, for example, can’t seem to get anything done without my Gmail, Google Notebook, Google calendar, and rememberthemilk task list. And the prospect of having all these available to me offline gets me, for the lack of a better expression, drooling. I’m waiting for the guys at scrybe to give me an account to have a look at their offline-ready application, and yes, I hope Google jumps on the bandwagon. How about integrating offline features within GWT?

The obvious question is - which Technology platform is going to take the honors away for such hybrid applications? Is Apollo going to wallop this domain as Flash did with streaming video? Or are websites going to have have offline features built right into their code, with some help from the next-gen browsers? I am not sure of the answers, but we’re sure to have some exciting times ahead.

Bring on the power cuts, Bangalore Electricity Supply Limited, we have hybrid power!

CakePHP and AJAX: First pitstop

Filed under: CakePHP, AJAX — Wrote by Sameer Ahuja on Wednesday, April 11th, 2007 @ 3:35 am

I started out with the Cake framework for PHP some time back, and it’s been a mixed ride so far. Cake is a very powerful, but still somewhat incipient framework built on the MVC pattern of Ruby on Rails. Among it’s several cool features is inbuilt support for AJAX based applications.

A good starter tutorial in that direction lies here. And another one, a Flickr Gallery.

However, if you belong to the population of web developers who are not psychic or lucky, you would probably have something like this staring your face when you try the above tutorials -

Fatal error: Call to a member function on a non-object in C:\cake\app\views\layouts\default.thtml on line 8

That’s because both the tutorials do not explicitly mention that you need to declare the AJAX helper in the controller file if you are going to use AJAX features. The best way to do that is to copy the app_controller.php file from your cake/ directory, put it in your app/ directory and add the following piece of code to it:

var $helpers = array('Html', 'Ajax', 'Javascript');

This declares the Helpers in the parent class of all the controllers, so that you don’t need to re-declare them later. If you do that, though, make sure to have all the helpers declared again.

Hello world!

Filed under: Uncategorized — Wrote by Sameer Ahuja on Tuesday, April 10th, 2007 @ 1:29 pm

If you came here looking for the icedlabs blog, well, the sad news is that it is dead. The reason behind that is obvious and rather bland - too much generalization killed the cat. So what’s this one about? My thoughts and observations on what is happening in Technology, and my learnings from what I do day in and day out.

My personal blog is still here, and older technology posts are here.