Friday Sep 29, 2006

the 2.0 syndrome (PoC 2.0)

K. I admit, the 2.0 syndrome has hit me too. I have been watching all these 2.0 applications sprout up, and am taken up by it. I have seen numerous applications branded 2.0, and have seen social bookmarking sites like digg, netscape (my very own,, wikipedia, community driven sites, blogs across multitudes of platforms, blog aggregators like planet identity, etc.

I wondered if all these social 2.0 sites really made any money. I then thought of starting an experiment…. just to see what community involvement really meant. Is is just a bunch of folks who want to be heard, or folks who really involve themselves in the technology that they preach. But being in the identity space, I wanted to come up with a cocktail recipe that had a flavor of wiki’s, aggregation, tags, community commenting, the ability to modify anything, the ability to post anything. So I though of putting up a RSS feed aggregator which enabled folks to not only submit their feeds, but also vote on them, archive them, publish them, comment on individual posts, tag the articles etc… I used pat’s planetidentity’s opml feed for a starting point, and here’s what I came up with. The IDENTITY BlogReGator

Here’s the thought behind it. planetidentity started off as an aggregator for IDENTITY related blogs. But not every blog owner/blogger blogs about identity all the time, there’s numerous posts about cats, dogs, bicycles, airplanes, war, terrorism, saussage and eggs, and even sex. So basically what we end up with is just another aggregator. I wondered on how an aggregator could be setup to filter out the non subject matter related posts. Filtering on tags was one way, filtering on categories was another, but not everybody uses tags and categorizes their posts. I wanted to setup a community driven aggregator, where the community itself would decide on which posts from the aggregated feeds are relevant to the subject matter, the community would tag the posts, publish them, archive them and also edit them and comment on them. Basically this aggregator follows the OPEN DOORS policy where the community would drive the content and it’s visibility without the hassle submitting forms… no login, no authentication… (no infocard, well, if I am to accept any infocard presented, why should I accept any crediential at all, I’m gonna let everybody in) the community itself administers the site.

here’s what you can do… check out the site, play around with the several features that I have embedded into it (I’m in the process of embedding more as time goes by), submit your own feeds if you’d like, publish other posts if you find them relevant, delete posts if you think they are stupid, comment on others posts, edit other comments, and posts… basically let yourself loose and do anything you’d like…

All I want out of this is to see how much this community that cares so much about identity, web2.0 and community driven sites really involve themselves. This is PoC 2.0.

I’m gonna let the results themselves speak for itself. No involvement means nobody really gives a damn. It’s all hogwash… small talk… If the involvement increases, well, I wonder what the point really is ? thats something I would invesi=tigate and learn from later. and if folks simply launch a war by modifying the content of each others feeds/posts, then we are at war a 2.0 war, and if someone deletes everthing from my site, that someone really hates me… show me some love folks, check out the site and let me know what you think of it?

here’s the URL to my PoC 2.0 again : IDENTITYGANG.COM -> make this your planetidentity. Pat can have his planet (just a joke pat, no offense. i’ve been told that you have a great sense of humor.)

Saturday Mar 25, 2006

Google's Online Word Processor

There had been a few rumors floating around about google distributing an online word processor and that they probably would use openoffice. Well, I was also pretty excited to hear the rumors. But unfortunately, as all rumors end up, this rumor has also ended up in the bin. This article in eWeek on "Rumors of Sun-Google Hosted Desktop Suite Quashed" dampened my hopes. Sometimes I wonder why I was hoping for it. I had nothing to gain from it personally, but however I guess it's the whole employer/employee relationship that creates such a strong bond over a period of time, that we assume that anything good for the company is good for us.

Well, besides my personal dampened hopes, the news is that google just aquired writely, which is an online word processor as "THEY" call it. But is it really ?? According to this FAQ on writley, it's just a plain simple online HTML editor. Well, I see it as a rich form editor and not a word processor. Rich FORm Editors are in abundance on the web. One of myy favorites is Rich Editor

It's interesting to see what google has planned for a non beta writley version release.. MSFT has Office Live. This MSFT-GOOG war is gonna be an interesting one to watch...

Tuesday Mar 21, 2006

Google's Single Sign On Product Live ??

Nike and Google have just launched a website called JOGA. This site uses Google Accounts for authentication. Is this the beginning of Google Single Sign On ??

According to a Business Week report the two companies had been planning the site for the past eight months with Nike supplying the content and Google managing the technical side of things.

Joga is a community for soccer players dedicated to keeping the game beautiful.

Joga is a place to meet other soccer players, share your own soccer experiences and enjoy photos and videos from around the world.

Currently it looks like JOGA is an invitation only site, I have no clue why one would need an invitation when google accounts are used as the credentials to authenticate to the site...

Friday Mar 17, 2006


Back to normal programming. No more infocard stuff here.

With a typical Access Manager deployment atop a webserver or appserver, there are many instances where apart from the Access Manager services deployed, one may deploy other applications on the same server instance and may need to "protect" them. The right way of going about it is to deploy a policy agent on the same server instance. I noticed that in some cases folks choose not to deploy an agent but "embed" code in every page of their webapp to check for the validity of the SSOToken issues by AM and enable access to thise pages that they need "protected".

Well, if all one needs is to protect a few URI's that reside on the same server instance as AM, one could also use a Servlet Filter to do the same without having to embed code in every page of their application to check for it. This is a simple SSO only method and not a replacement for a policy agent.

Here's what one needs to do to enable this.
Declare the [filter] element in your web application deployment descriptor. For Sun's Webserver it would be the default-web.xml file.

Map the filter to a servlet by defining a <filter-mapping> element in the deployment descriptor. This element maps a filter name to a servlet by name or by URL pattern.
Add the URL's you would like to "protect" to the url-pattern tag element.

Now compile the attached code, build a jar file and add it to your servers classpath.

for some reason I just cannot post code on this blog. No matter what I try, the code gets converted over to HTML. I did follow Pat's advise, but that didnt help. So I'm uploading the file and providing you a link to download it instead of posting code as inline text

Restart your webserver.

  • Try accessing the "protected" URL without authentication.
  • Try accessing the "protected" URL with authentication.
You'd see the difference...

NOTE: This is NOT a replacement for a Policy Agent. This is just an FYI/example of how one could achieve SSO only using a Filter.

Tuesday Mar 07, 2006

Mount (ISO files) Without Burning Them Onto a CD

I've always wanted to have the ability to extract a few files from an iso file for development. The approach I used to take to obtain the files was to download the .iso image of the distribution, and then use my CD Burner to burn a CD using the .iso image and then extract the file from that image.

Well, a friend of mine just pointed me to this excellently cool utility. and hey !! It's Microsoft's own utility (though unsupported) and it's FREE !! and has a extremely small footprint (60kb).

Here's the download link: WinXP Virtual CD Control Panel.

Here's the readme:

Readme for Virtual CD-ROM Control Panel v2.0.1.1


System Requirements
- Windows XP Home or Windows XP Professional

Installation instructions

  1. Copy VCdRom.sys to your %systemroot%\\system32\\drivers folder.
  2. Execute VCdControlTool.exe
  3. Click "Driver control"
  4. If the "Install Driver" button is available, click it. Navigate to the %systemroot%\\system32\\drivers folder, select VCdRom.sys, and click Open.
  5. Click "Start"
  6. Click OK
  7. Click "Add Drive" to add a drive to the drive list. Ensure that the drive added is not a local drive. If it is, continue to click "Add Drive" until an unused drive letter is available.
  8. Select an unused drive letter from the drive list and click "Mount".
  9. Navigate to the image file, select it, and click "OK". UNC naming conventions should not be used, however mapped network drives should be OK.

You may now use the drive letter as if it were a local CD-ROM device. When you are finished you may unmount, stop, and remove the driver from memory using the driver control.

I never thought I'd be publicly saying this. But here goes anyway: Thanks Microsoft. (It wouldnt hurt to be honest and thank someone, would it ?)

Monday Aug 22, 2005

DReaM - DRM/everywhere available

According to this report, we recently announced the "Open Media Commons" initiative, aimed at creating an open-source, royalty-free digital-rights management standard. According to our COO, Jonathan Schwartz, the growing number of rival DRM standards that are incompatible with one another could stifle innovation and economic growth.

"It's an interesting idea," Gartner G2 analyst Mike McGuire said of Sun's effort. "But you've got a whole bunch of audiences that have to be satisfied with this."
Microsoft is pushing its Windows Media DRM, Sony has its own version, and Apple has its FairPlay DRM, which it has so far declined to license, which works with its iTunes and iPod products. In addition, cell-phone makers are already starting to sell phones that work as digital music players, and a consortium of carriers and handset makers known as the Open Media Alliance is developing its own DRM standard, OMA, for phones. There is also Coral, a group formed by more than 30 tech and media companies, including the four major record label companies to create DRM interoperability standards.
To lay the foundation for the Open Media Common initiative, Sun will immediately share its internal Sun Labs program Project DReaM, what it calls "DRM/everywhere available."
Aint that what "Driving Innovation" is all about? ;-)

Wednesday Jul 20, 2005

Open Source Google

Google recently launched their "developer" website called Google Code. As part of the launch they have contributed 4 development libraries to the open sorce community. I also noticed that now has a new face., supposedly the philanthropic arm of google, is busy staffing personnel, and defining goals, priorities, and principles. The open source libraries found on site focus on compiling and debugging code and include tools for the C++ and Python languages. Google has made them available through the BSD open-source license, which means developers can use the code for commercial and non-commercial applications, said Chris DiBona, Google's open-source program manager. Goggle currently hosts these open source libraries on, and is making their works available through the BSD open source license.
While the four initial contributions only reach a targeted set of developers, DiBona said they are only the beginning of source code releases coming from Google. DiBona joined Google almost a year ago to oversee its open-source efforts. He coordinates with Google engineers, many of whom are anxious to open code from the tools they are creating during their infamous "20-percent time," he said. Google engineers devote 20 percent of their time, or an average of one day per week, working on projects of their own interest. The four Google Code releases include a library called CoreDumper, which developers can compile to create core dumps of the running program, and a Python library called Goopy Functional for bringing functional programming aspects to Python, Google announced. Also provided are a project called Sparse Hashtable, containing hash-map implementations being used at Google, and PerfTools, a set of tools for creating robust applications, especially when developing multithreaded applications in C++ with templates, according to Google.
A complete list of Google's currently released open source projects are as listed below: AdWords API Java Client Library The Java client library for the AdWords API makes it easier to write Java clients to programmatically access AdWords accounts. The client library is provided in a single jar file that contains all the Axis jars and pre-compiled stub classes needed to write Java clients. AjaXSLT AJAXSLT is an implementation of XSLT in JavaScript, intended for use in fat web pages, which are nowadays referred to as AJAX applications. Because XSLT uses XPath, it is also an implementation of XPath that can be used independently of XSLT. CoreDumper The coredumper library can be compiled into applications to create core dumps of the running program, without termination. It supports both single- and multi-threaded core dumps, even if the kernel doesn't natively support multi-threaded core files. Google mMAIM mMAIM's purpose is to make it easy to monitor and analyze MySQL servers and to easily integrate itself into any environment. It can show Master/Slave sync stats, some efficiency stats, can return statistics from most of the "show" command, and more! Sparse Hashtable This project contains several hash-map implementations in use at Google, similar in API to SGI's hash_map class, but with different performance characteristics, including an implementation that optimizes for space and one that optimizes for speed. Sitemap Generator Sitemap Generator is a simple script that can be configured to automatically create Sitemaps and submit them to Google. Sitemap Generator can create these Sitemaps from a URL list, access logs, or a directory path hosting static files corresponding to URLs. You can read more about Sitemap Generator here. Google has also created a page listing the creativity that third parties have brought to the Sitemaps space. Kongulo Kongulo is a web spider for GDS, written in ,a href="" target="_blank">Python. Offered as an example of how to write a GDS plugin in the fabulous Python programming language. Goopy/Functional Goopy Functional is a python library that brings functional programming aspects to python. Perftools These tools are for use by developers so that they can create more robust applications. Especially of use to those developing multi-threaded applications in C++ with templates. Includes TCMalloc, heap-checker, heap-profiler and cpu-profiler.

Tuesday Jul 19, 2005

Tag Cloud for Identity & Access Management

after and furl being extremely good resources for online bookmark management, tags are taking the blogosphere by storm. I just discovered TagCloud early last week. TagCloud is an automated Folksonomy tool. Essentially, TagCloud searches any number of RSS feeds you specify, extracts keywords from the content and lists them according to prevalence within the RSS feeds. Clicking on the tag's link will display a list of all the article abstracts associated with that keyword. I have setup a LDAP and Identity/Access Management Tag Cloud, You can readup on just about any content on the web, blog or otherwise by simply looking up tags rather than blog post titles. Here's my Tag Cloud for Identity And Access Management: <script language="JavaScript" type="text/javascript" src=""></script> Click here to See ALL my Identity & Access Management Tags.

Saturday Jul 16, 2005

Zero Knowledge Password Protocol

When I was working on a project a long time ago, I had implemented a zero knowledge Login module for the Sun Java Systems Access Manager (formerly known as identity server). Here I find myself again trying to advocate the use of zero knowledge password authentication techniques for web aplications and am having to explain and provide information to all those folks who are not aware of this authentication method. Well, I thought that it would be good to post a small blog on the same subject with links to all those resources online which can give you a pretty good idea of what zero knowledge password protocol (ZKPP) is all about.
In short: a zero-knowledge proof is an interactive method for one party to prove to another that a (usually mathematical) statement is true, without revealing anything other than the veracity of the statement. A zero-knowledge proof must satisfy three properties:
  • Completeness: if the statement is true, the honest verifier (that is, one following the protocol properly) will be convinced of this fact by an honest prover.
  • Soundness: if the statement is false, no cheating prover can convince the honest verifier that it is true, except with some small probability.
  • Zero knowledgeness: if the statement is true, no cheating verifier learns anything other than this fact. This is formalized by showing that every cheating verifier has some simulator that, given only the statement to be proven (and no access to the prover), can produce a transcript that "looks like" an interaction between the honest prover and the cheating verifier.
The first two of these are properties of more general interactive proof systems. The third is what makes the proof zero knowledge.
Phoenix Systems has a product called SPEKE (simple password-authenticated exponential key exchange) which uses this technology. For those who would like to obtain an off the shelf product that emabled zero knowledge password protocol authentication SPEKE is a good start. Wikipedia has a very good explanation on ZKPP. This paper on Secure Login Protocols is another good resource for learning more about ZKPP. Hannu A. Aronsson from the Helsinki University of Technology also has a very nice paper on Zero Knowledge Protocols and Small Systems. Thomas Wu from Stanford University has a paper on The Secure Remote Password Protocol which gives a very nice background of the framework and the logistics behind implementing a ZKPP authentication structure. RSA Security has a nice writeup by example on how the ZKPP system works. For those seeking ore information on ZKPP, Google the term and you'd find volumes of information on the subject.
& Hey !! The ZKPP Authentication Module atop the Sun Java Systems Access Manager, would make your network more than just comply with the term "SECURE"

Thursday Jun 23, 2005

A Handier Toolkit for Coders, and it's NOT google

I was directed to today. It's an excellent toolkit for coders to search for open source code. This opensource code optimized search engine boasts of currently spawning 205,234,850 lines of code. Well, for those opensource developers out there, this tool is way more handier than google. There was a time where I'd just google my way to glory searching for code snippets that I could use as guidelines and examples of developing a component. But what would enrage me most was the results that popped up were nowhere close to what I intended to find. But now with koders, I can be rest assured that the results are more specific. I'd recommend this tool to anybody, anyday !!. Developers of opensource projects on,,, or any collaboration or independent platform could submit their site and CVS trees to be included in these koders currently have plugins for eclipse, visual studio.NET 2003 & mozilla firefox. I would be contributing a koders plugin for netbeans soon.
you could search for open source code using this search box :
<script type="text/javascript"></script> <script type="text/javascript" src="" /> </script>
From this day on koders would stay my google for code. koders also enables you to search for code snippets in any particular programming language. Cool aye !!!

Thursday Jun 16, 2005

Fedora Directory Server would KILL openLDAP

Redhat had announced recently that their "aquired" AOL Netscape Directory server would be released as an opensource product. There have been debates on whether RedHat would make this move especially after they spent 20.5 Million Dollars in this aquisition last september. Well, If you have been fololowing the developments at RedHat, you'd notice that the Fedora Directory Server Community have been abuzz with developers scrambling around to better the product and build plugins etc. They have also begun to publicly make available sourcecode for migrating from openLDAP to Fedora Directory Server.. Every startup in the silicon valley had a tendency to use OpenLDAP or OEM the Sun Directory Server. Would this move by RedHat prompt a startup:wide move to Fedora Directory Server ?. Well, I dont think so. The startups have invested a lot of effort, time and energy arpound either embedding OpenLDAP or OEM the Sun Directory Server. Making architecture change in a startup company is not a simple move as their product turnaround times are dicatated by their venture capitalists and the release announcements that they have already made. In addition the folks who have OEM'd the Sun Directory Server have this huge group of support engineers on standby to help enable deployment. If startups had to make a move from Sun Directory to Fedora Directory, they would have to SACRIFICE the backend support, their currently embedded features and a whole lot more. But those who have been using OpenLDAP might most probably consider a move to Fedora Directory Server. One organization I am thinking of is infoblox. They might use Fedora Directory as an embedded product for ldapONE, their LDAP Appliance. but will they make this move? or would they consider OEMing the Sun Directory? Guess time will tell.
UPDATE: I Just noticed the infoblox is not advertising their ldapONE as a product offering now, I assume that have simply pulled out of the idea of shrinkwrapping openldap into an appliance. Guess they have decided to stick to their DNS offerings as Cricket Liu is their trump card.

Thursday Jun 09, 2005

I Pimped my Blog - YOU GOTTO SEE THIS !!

After watching the popular TV show "I Pimped My Ride" on mtv I thought that a befitting title to this blog post was "I Pimped My Blog", Well, after a couple of rounds of beer on a friday night, home alone, brooding over the fact that I'm alone, and being jealous of all those party goers, I thought to myself... Lemme do something neat here.!! something thats new, exciting, interesting.. and I said HEY !! Let me pimp my blog !!! And so I did. I bet that you have heard of folks who have pimped their powerbooks, their barbeque grills, their browsers, their coffeemakers, their laptops, their sandwichestheir mini coopers & their religion too. Have you noticed it yet ? Well, I hope you have, I have tested it on Intenet Explorer, Mozilla, FireFox and Netscape. Now if you are using any other browser and dont see the spectacular effects on this blog, I feel sorry for you, go get yourselves a better browser !! And fo those who do have a pretty spiffy browser, do you see it ? Well, Tell me what you think ? I am dying to hear your comments on this? And if by any chance you have not seen it, ask me what it is all about, and I shall spill the beans.. (here's a tip. look at the top right hand corner of this page)
The ShockWave Looking Glass effects are not created by me, They are from CMP Integrated Marketing Solutions, the Javascript Effects are from Macromedia.
BTW: I may re-pimp my blog someday; and for archiving purposes, here's a screenshot of what it looks like today:
So much for making you guess !! but anyways Do you like it? Well, If you do there's another thing (thats cooler) you gotto check out, It's Called "Project Looking Glass". If you thought that this was cool, Project Looking Glass is gonna knock your socks off !!! Here are a few Screenshots of Project Looking Glass and a video.

Wednesday Jun 08, 2005

my Java Desktop : Smashingly Impressive !

[My Java Desktop]

Here's a Screenshot of My Java Desktop. It's so neat and spiffy that I am extremely happy that I have it running on my laptop. When I first installed the Java Desktop on my laptop. everybody around me told me that I was making a brave move. "Think about the graphic applications that you use rohan, how could you generate graphics using JDS, whats gonna happen to Adobe Photoshop? what about dual boot system with Windows XP also running on it, so you are not rendered laptop-less"; well; i tell you, warnings flew left right and center. I didnt hesitate a bit before installing JDS on "my" laptop. & hey !! no dual-boot. I went all the way. Kind of like what my swimming instructor did to me when I was little : he told me to go all the way, just like what my "then" fiance (now 'wife") told me when we spoke about going steady: she said "go all the way rohan, I promise you that you will not regret it". I have never gotten to regret anything so far... so I took the plunge. Java Desktop. All the way. And hey !! I use GIMP for graphics, it's way cool, easy and though I would not say that it outbeats Adobe Photoshop, it's good enough., I use Evolution for my corporate email, thunderbird for persomal email, firefox for my internet browser, mozilla for intranet, and Staroffice. Who says that one would have issues with word documents, I can not only read word documents in StarOffice, I can also create them !!, not to forget presentation, spreadsheets, drawings, charts, workflow, diagrams the works !!. am i so happy I took the plunge ! you bet I am. So IF you are thinking about using it, I say GO FOR IT : ALL THE WAY; and in case you need help as you go along there's always jdshelp, and the community Here is another screenshot:

[Sun Java Desktop Screenshots]
BTW : The images here are all made with GIMP. And speaking about my "then" fiance, now "wife", asking me to go all the way, look what I'm got now, "roti:kapda:makaan". (for the non desi's it meant food:clothing:home) Aint that the bare necessities ?.

Monday Jun 06, 2005

Redhat's Three Pronged Strategy

Red Hat is attempting to gain more support in the open source community by spinning off its Fedora open source project into a separate group called the Fedora Foundation. As part of the deal, the development and ownership will fall under the new group, while Red Hat will still support it financially. Source : betanews
The foundation is expected to be set up by mid-August and will operate as a nonprofit 501 (c) (3) organization, said Mark Webbink, deputy general counsel at Red Hat. "It will be governed by an independent board that we don't control," he said. Source : inforworld
Computer Business Review reported that Red Hat has announced plans to hand over control of its Fedora community led Linux development project to the new Fedora Foundation as part of a new three pronged intellectual property strategy." As part of the transition, the Fedora open source project will transfer development work and copyright ownership of contributed code to the foundation. Now: This is in addition to the recent announcement by Red Hat to release the recently procured Netscape Directory Server from AOL as part of it's Fedora offering. I guess it's RedHat's hard spun effort to lure the Open Source community back. Well, Talking about opensource I bet you all know about, Brazil, OpenOffice, OpenSolaris, JINI, JXTA, Grid Engine, JRMS, NetBeans. . Now. That's a true Open Source Community !!! For a Complete list of Open Source Projects that Sun is involved in; CLICK HERE. This whole topic reminds me of Ian Murdoc's post on "Red Hat Enterprise linux Is Proprietary" from almost a year ago. I bet that though the Fedora Directory Server has been opensourced, Red Hat WILL NOT, release the admin console bits as part of the offering. Well; for starters, thats the MOST desirable component organizations would like to obtain for managing the directory server. If it was just the backend LDAP server, there's always openLDAP. Speaking of LDAP servers, What i'd really like to see if a benchmark report on the following: Fedora Directory Server, openLDAP, Microsoft's Active Directory and Sun's Java Enterprise Systems Directory Server. (I just cant wait to see that). With Open Source Software being the wave of the current / NEXT generation, I would like to close with a line from Microsoft's CEO Steve Ballmer
"There has never been a more interesting time to be in the information technology industry than right now. I guarantee that the impact of the IT industry will be (greater) in the next 10 years than over the last 10."
With all this said, the LINE to really remember & remember for a long long time is Jonathan Schwartz's :
Sun "Believes In IP" But Not In "IP Colonialism,"
Hey Folks; do bookmark this post and read it 10 years from now. I bet you'd be surprised.

Wednesday Jun 01, 2005

Rite Of Tongue

it's true that we all make mistakes (I'm referring to typos)..typing. Some of us use all 10 fingers, some two and some just 1; However the probability of typing errors is pretty high no matter how good we are at the keyboard. When we type something into a document, and make errors, we could ensure the quality of the "text" be excellent as we'd use a spell checker, thesaurus etc. Whichever editor (Microsoft Office, OpenOffice, StarOffice) we use; there always is some kind of a feature whereby we could check the spellings etc. The same goes for creation of web pages and blogs too; However when we comment on other's blogs and are provided with nothing more than a comment box. How many of us type in stuff and validate the "syntax" of each word or run it by spellcheck / thesaurus or the likes... Some mistakes can turn into blunders. Mis-Spelt words can give a whole new meaning to a statement. There's a spellcheck feature addon for internet explorer called iespell, and NOW there's Rite of Tongue, a addon for Mozilla's FireFox that would validate the spelling for all content within a text box and actually prompt you to correct them; thus ensuring that you say what you mean. ;-)
Right-click on a typed word inside a web form on any webpage to get a suggested spelling for that word. Then select the word from the popup menu to change it. The words are obtained in real-time over the Internet using Yahoo!'s Spelling Suggestion service.
Rite Of Tongue is an extremely cool addon. Just a right-click on the word and the menu will display the correct spelling if known. Just mouse down to select and replace the word being checked. This addon comes extremely handy for those late night owls, beer and pajama junkies, and the starbucks addicts.

Rohan Pinto


« June 2016
My Bookmarks
Currently Surfing