September 24th, 2007

h4x0rs: listen up!

One of the most fun hacks we did was Debt-o-Matic — it was not necessarily complex or anything of that sort. But it came out of a genuine need for something like that. A few days later some University came out with something similar, with funding and that kind of stuff. Nothing much came off our hack (interesting things happened internally, but I'll save that for some other day), but it was a nice experience. Looking back, it was fun!

We most definitely have one of the best set of open APIs out there. Hack Day India is your chance to hack, discuss, munch, sip, dine and cry alongside other like-minded (or maybe not) hackers. And of course, we'll have the usual Yahoo! suspects around — to help you, cheer you (maybe not), hack with you, etc.

It's going to be a lot of fun, so register now!

When: 5 October - 6 October 2007

Where: Taj Residency, Bangalore

Register Now!

Posted at 06:40 pm | Link | 0 comments | Leave a comment

December 1st, 2006

ménage à text?

Some of you’ll have probably heard of it already, but in case you haven’t, well, I can finally talk about what I’ve been upto: mixd! It’s been a lot of fun working on it, and actually using it. You know, it’s a lot of work keeping things simple. And to see it Just Work is sw33t!

To steal from the about page:

Mixd is about going out. Coordinate last-minute meetups, share pictures and videos from your phone, and remember last night on a website we create for you, automatically.

It’s really simple to use, so I’ll leave it to you to explore. Oh yeah, say hi to Mixalina if you meet her. :-)

If you have feedback, do let us know! We’re listening.

Note: If you’re not in the US, get there! :-)

Posted at 01:20 am | Link | 9 comments | Leave a comment

October 1st, 2006

Ruby wrapper for Yahoo! Browser-Based Authentication

As you probably know we launched Browser-Based Authentication. What this means is that users can grant third-party web-based applications access to their Yahoo! data. (Actually, this could be used for non web-based apps too.) For a more detailed explanation, go here.

Anyway, I’ll explain how this works using the Ruby interface I just wrote and (sorta) tested:

  • Registering your web application: First off, you need to register your web application. After registration you’ll get your appid and shared secret.
  • Logging-in users:

    obj = YBBAuth.new(appid, secret)
    obj.get_auth_url('')

    Once you get the auth URL, direct the user there. Now the user is informed that your amazing web application is asking for permissions (read, write or both) and whether he wishes to grant permission, etc. Once the user grants permission, Yahoo! will redirect the user to your application (you would’ve submitted the URL when registering for an appid).
  • Getting user credentials: When Yahoo! redirects the user, it adds a token parameter to the URL. You need to extract this token in order to get user credentials:

    obj.get_access_credentials(token)

  • Making an authenticated request: Now you can make authenticated GET/POST requests:

    obj.ws_auth_get_request('http://photos.yahooapis.com/V3.0/listAlbums')

    The above snippet makes use of the Yahoo! Photos API.

» The Ruby wrapper

The interface isn’t complete or well-tested (I have a flight to catch in a few hours so I need to leave in a bit). I’ll work on it in a day or two.

Posted at 10:15 pm | Link | 25 comments | Leave a comment

September 22nd, 2006

YDN Ruby

Alright, long time. Long story for some other day. I have been posting stuff to Flickr, though.

Just wanted to let you guys know that we just went live with the Ruby Developer Center on the Yahoo! Developer Network. If you’ve hacked something in Ruby that makes use of Yahoo!’s web services, let me know. Of course, let me know if you have any feedback.

Official post on the YDN blog.

Tags: , , ,
Posted at 12:53 am | Link | 12 comments | Leave a comment

July 29th, 2006

OSCON Wrapup

OSCON was a lot of fun. My talk went pretty well. I think. Here’s the presentation, if you’re interested.

A lot of the sessions and tutorials were nice—I mostly attended a bunch of Perl talks. Among the keynotes, the best, in my opinion, was Kathy Sierra’s.

Oh, this picture that I took won a runner-up prize at the Third Annual OSCON Photo Contest. So I got a HP Photosmart R717. Just like that.

Also, during the OSCON week, we released an update of our Search Web Services SDK. Here’s the announcement. It now includes the Lua and Ruby bindings that I had worked on earlier.

I’ll write more about the stuff that happened during that week if/when I get time.

» Pictures from OSCON 2006

Posted at 03:15 pm | Link | 7 comments | Leave a comment

May 30th, 2006

UpcomingFS

I like to use the terminal when I can. Presenting UpcomingFS—access upcoming.org event information:

[ppillai@renegade ]$ ./upcomingfs.rb /tmp/fuse/ &
[1] 10700
[ppillai@renegade ]$ cd /tmp/fuse
[ppillai@renegade fuse]$ ls -1 texas
66002 - Nine Inch Nails
74539 - Suds on Sixth
77608 - Exposure Dallas - See and be seen.
77609 - Exposure Dallas - See and Be Seen.
[ppillai@renegade fuse]$ 

You can also view events in a city within a state (it doesn’t seem to work very well, though):

[ppillai@renegade fuse]$ ls -l massachusetts/boston | grep BarCamp
71709 - BarCamp Boston
[ppillai@renegade fuse]$ 

To view an event's details:

[ppillai@renegade fuse]$ ls -1 massachusetts/boston | grep Band
79932 - Live Band Karaoke - Beatles Night!
[ppillai@renegade fuse]$ cat 79932

Live Band Karaoke - Beatles Night!
==================================
                 
The Milky Way is hosting a special Beatles theme at the first and best Live Band karaoke night in Boston.

Sing the Beatles backed by a live band!

Prizes for best song and best costume.
No cover, as always.
22:00:00 to 01:00:00, 2006-05-30 to 
[ppillai@renegade fuse]$ 

To unmount the filesystem:

[ppillai@renegade fuse]$ cd..
[ppillai@renegade tmp]$ fusermount -u /tmp/fuse/
[ppillai@renegade tmp]$ 

Get the code here. You’ll need fuse and the ruby bindings. (I just got a Linux box; it’s got to be of some use other than writing Java.)

Posted at 06:13 pm | Link | 11 comments | Leave a comment

May 26th, 2006

Escapa!


Escapa!
Originally uploaded by Premshree Pillai.
I hacked this game a bit: put it behind our internal auth, threw in a DB to store high scores, etc. People are going crazy! There's also a picture of Philip explaining how to score high or something to Surat.

There's also a nice video, but I'll probably not post it. :-)

There'll be more pictures soon. Check here later.
Posted at 02:37 am | Link | 6 comments | Leave a comment

April 22nd, 2006

Hack Day

It’s been about three days or so that a few of us haven’t slept well. Mostly hacking away and playing pool—the usual. Hack Day began at 00:01 and lasted until 16:00. The number of folks hacking away in the night was less than what we had hoped for. So for us it was a day like any other. The nice part, though, was the number of folks who participated. Unlike those of us who hack regularly, some people need incentives. Economics.

The Next Best Thing I was working on didn’t cut it. Another one of my hacks made it to the list of finalists, though.

Rest of the evening was spent at Geoffrey’s followed by dinner at one of the restaurants there, with Chad Dickerson [pics]. I was supposed to fly to Bombay yesterday night; rescheduled it for today morning (if it weren’t for Her, I would’ve missed my flight). So yeah, in Bombay (extremely hot here, btw) now. I think I’m going to Daman tomorrow. Time to catch up on lost sleep now.

Btw, sleeping in a sleeping bag is orgasmic! Yeah!

PS: pictures taken using my new Canon Powershot SD600.

PPS: OSCON schedule is out. My talk abstract here.

Posted at 01:13 pm | Link | 4 comments | Leave a comment

February 14th, 2006

Yahoo! User Interface Library

Yahoo! just released the Yahoo! User Interface Library, under a BSD license. From the website:

The Yahoo! User Interface Library is a set of utilities and controls, written in JavaScript, for building richly interactive web applications using techniques such as DOM scripting, HTML and AJAX. The UI Library Utilities facilitate the implementation of rich client-side features by enhancing and normalizing the developer's interface to important elements of the browser infrastructure (such as events, in-page HTTP requests and the DOM). The Yahoo UI Library Controls produce visual, interactive user interface elements on the page with just a few lines of code and an included CSS file. All the components in the Yahoo! User Interface Library have been released as open source under a BSD license and are free for all uses.

A lot of us at Yahoo! have been using them to build cool “toys” (see here for an example). These libraries are amazingly simple to use. Now they are available for all of y’all to use. Do cool stuff!

Basically, the core utilities include the following:

Animation: Create "cinematic effects" on your pages by animating the position, size, opacity or other characteristics of page elements. These effects can be used to reinforce the user's understanding of changes happening on the page.

Connection Manager: This utility library helps manage XMLHttpRequest (commonly referred to as AJAX) transactions in a cross-browser fashion, including integrated support for form posts, error handling and callbacks.

DOM: The DOM Utility is an umbrella object comprising a variety of convenience methods for common DOM-scripting tasks, including element positioning and CSS style management.

Drag and Drop: Create draggable objects that can be picked up and dropped elsewhere on the page. You write code for the "interesting moments" that are triggered at each stage of the interaction (such as when a dragged object crosses over a target); the utility handles all the housekeeping and keeps things working smoothly in all supported browsers.

Event: This sophisticated manager class gives you easy and safe access to browser events (such as clicks and key presses). The Event package also includes the Custom Event object, a mechanism for publishing and subscribing to interesting moments in your own application flow.

In addition to the above core utilities, there’s also a few commonly used controls:

Calendar: The Calendar Control is a graphical, dynamic control used for date selection.

Slider: This control provides a generic slider element that enables the user to choose within a finite range of values on one or two axes.

TreeView: The TreeView control produces a content tree whose nodes can be expanded and contracted by user interaction (and by script, where necessary). The nodes can contain links or custom properties and can be loaded dynamically. The display of the node elements can be customized with CSS to create a folder view, to-do task list, and so on.

There’s also a Design Patterns Library that the UED geeks at Yahoo! have worked on.

There’s an accompanying blog to all this stuff too.

Posted at 08:07 am | Link | 8 comments | Leave a comment

February 10th, 2006

Web Services for (almost) Everything

I came across this interesting article that talks about how Google Talk does authentication:

[...]

As has been discussed all over the internet, besides PLAIN auth, Google Talk also has it's proprietary mechanism, commonly known as X-GOOGLE-TOKEN:

<auth xmlns="urn:ietf:params:xml:ns:xmpp-sasl"mechanism="X-GOOGLE-TOKEN">
AHRva2VubWVjaGFu ..snip snip.. JS2RSVzE1aXlvZEMtZmpTUWhYTGE0Zw==></auth>

Allow me to take a side path here for a moment. I personnally wondered about this one for quite a while, until recently a friend of mine invited me to test a new web 2.0 service. Sorry, I can't tell you which, it being in private beta and all, but they did one very cool thing: You could sign in to the service using your Google Mail account. Did they struck a deal? No, the solution was much simpler: they used XMPP Authentication. XMPP aka Jabber is the underlying protocol to Google Talk. It's completely open and well documented and has some neat features which unfortunately didn't make it into Google Talk itself yet.

This is basically the foundation of a Single Sign-On (SSO) solution by Google! Hmm, why does that sound familiar? What other IM service offered Single Sign-on with an IM login?

That's right, Microsoft's Passport. Hold on, Google Talk/XMPP isn't just a SSO service, it's one that _EVERYONE_ can easily implement on their site, without the need for licensing fees and all! All your clients need is a free Gmail account.

[...]

The article goes on to explain how you could go about generating a token to authenticate against Google. Nice. Nice not because you could do that. Nice because Google doesn’t have an explicitly mentioned auth API, and you could still use it for SSO.

Those who know about the way Flickr does authentication for its web services would realize that you could actually use that mechanism to implement SSO in your own application. It’s really simple: you ask the user’s Flickr user name, authenticate the application by asking the user to grant it rights, check for validity of tokens when you need to. That’s about it!

Most of the web services we have today provide us some data (most of the Yahoo! web services, for example). These web services are typically for consumption by third-party applications. Other web services (Flickr, for example) provide interfaces to push data into their servers. Still others ask you to provide some data and the web service offers you with something functional (Yahoo! Maps, for example).

If you were to categorize these web services, they’d probably fall under one of the following categories: 1) data (pull/push), 2) functional. Now, a web service that would let third-party applications be able to do SSO would probably be categorized under infrastructure. Ditto with del.icio.us [ref]—a tagging platform.

Of course, if an auth mechanism is actually intended to be used for SSO by third-party applications, there’ll probably be more that the web service would have to offer—ability to define profile objects, user registration, etc.

It’s interesting to imagine a world where we have all (or, rather, many) of these—data, infrastructure, some functionality—available. You need to actually concentrate on what you really want to do with your application, rather than bothering about fundamental needs.

Posted at 06:37 am | Link | 5 comments | Leave a comment

November 27th, 2005

Phun

You see, it’s not that we are over-worked (what crap is that anyway?) or anything, but we just lurve hanging around here.

Oh yeah, the chap you see there is [info]sabiokap. Interestingly, he has an *actual* apartment — he pays rent and all that crap! Yeah! But he finds it extremely difficult to not be here. See? It’s so much fun here!

PS: Pandora rocks! (Thanks, [info]louiswu!)

Posted at 03:27 am | Link | 6 comments | Leave a comment

November 25th, 2005

My first widget!

Now that I’ve got a Mac, I could play around with Konfabulator.

The screenshot that you see is my first attempt at creating a widget. It shows the latest ten public photos from your Flickr contacts (navigation using the prev/next buttons). (You need to set your Flickr login email the first time you run it.) Clicking on the photo title takes you to its Flickr page. Something like this probably already exists, but I wrote it so I could play around.

It’s amazingly simple to create a widget. Hopefully I’ll hack something more useful some day.

I’ve tested this only on Mac OS X Tiger, but it should work on Windows too. Download: FlickrFriends.widget »

Posted at 02:49 am | Link | 2 comments | Leave a comment

November 14th, 2005

Blogs; XMLHttpRequest; Stuff

  • Yahoo! Taiwan Blogs has been launched! Hong Kong Blogs was launched some days back — these were what I had been working on. Check out some of the cool doodles that one colleague, Lulu, created. Here’s my blog. :-)

  • Jason Lewitt has an article on ways to get get around cross-domain XMLHttpRequest. One of them is the pass-through proxy that I had discussed sometime.

  • Man, it’s been a weird week: I haven’t gone home (Bangalore home, that is) since I got back from Bombay; I can no longer sleep in the night; and it’s been hectic in some sense. So I’m off home in a while to eat good food and maybe catch up on some reading.

    Oh man, Freakonomics is awesome. Everyone should read it! I’m going to read The Rainmaker next. How I wish I didn’t read all the Salinger books.

Posted at 04:53 pm | Link | 38 comments | Leave a comment

November 1st, 2005

Yahoo! Hacks, and other (unrelated) things

Yahoo Hacks

Yahoo! Hacks was released some days back. I got a copy while I was in Sunnyvale (thanks, Paul!). And there’s one that arrived in Bombay too. Sweet.

(In case you don’t know, and didn’t read Paul’s entry: I contributed two hacks to the book — one on Ruby, and another one on REBOL.)

Go, get yours!

Other things

Hong Kong is sweet. Too bad I couldn’t meet Cecily. After having lunch with some of the Yahoo! HK folks, I headed to the airport. I reached there at about 15:30 or so; my flight was at 16:00. I thought I’d reach easily and all, but gate 70 was like at one end! Anyway, I reached the gate at 16:10 — that’s ten whole minutes past the departure time. Interestingly, there was some problem starting the engine or something, so I made it! :-) Haha.

After I reached Bangalore, I wait at the baggage claim for an hour or so with no sign of my baggage. A few more minutes and there’s no more baggage from that flight (TG 325 from Bangkok). Yay, you couldn’t screw me up better, suckers! I was hoping to fly to Bombay tomorrow (err... that’d be today now), but thanks to all this baggage crap, that won’t happen.

The other day, my dad was telling me something about a domestic airline called “Go Airways” or something like that. Heard of it? Got a URL?

Posted at 04:59 am | Link | 11 comments | Leave a comment

October 6th, 2005

Blogging is teh suck, I say

So Silicon Valley is a huge village full of technology companies. Nothing much to do after office hours. Should hang around in San Francisco this weekend.

And my Powerbook is fun. :-)

Posted at 08:39 pm | Link | 16 comments | Leave a comment

September 23rd, 2005

Rita Mapping

Clicky.

I got data from here in order to generate this XML file. They have a neat Google map too.

Update: Apart from being on the featured application list, McManus posted it to Lifehacker, which means my shared server is being hit a lot — so it is possible that you’ll get a timeout at times.

Update: Jeffrey demoed this at the Web 2.0 Conference.

Update: Mash-ups: Business Models and Trends.

Posted at 04:57 pm | Link | 4 comments | Leave a comment

August 22nd, 2005

Flickr’s Yahoo! is now showing even more

You can now sign-in to Flickr using your Yahoo! ID!

Tags: ,
Posted at 01:29 am | Link | 9 comments | Leave a comment

August 11th, 2005

Charles’ Desk

And you thought this was crazy?! This is Charles’ desk. It’s crazy! You have to see the larger version of the image. Apparently, a lot of magazines have carried pictures of his cube. Most of the things he has there are bought from Yahoo! Auctions. Couple more pictures: here and here.

In other stuff, while going for dinner yesterday, I rode around Taipei in a scooter — that’s the best way to travel: no bumps means awesome fun!

Posted at 03:11 pm | Link | 8 comments | Leave a comment

August 8th, 2005

Taipei – Day Two

The Taiwan office is like a toy shop or something! All cubes are loaded with stuff. I mean look at that! It’s nice!

No cafeteria here, so we have to go out to lunch. We went to a traditional place today. I don’t remember the names of any of the things we had.

Weird and interesting thing: most, if not all, developer boxes run Windows, not FreeBSD. Right.

After work, we headed to Taipei 101, the world’s tallest building. Part of the building has shops and restaurants, while most of it is office space. Had dinner there at Hwa Young. Food was good, as in really good, and unlike the stuff I have been having here otherwise. Heh, Abhinav, my colleague, was really happy to have some “normal” food. The only normal food we’ve been having is the breakfast at the hotel. The hotel also serves some traditional stuff; maybe I’ll try it tomorrow.

Oh yeah, it’s extremely humid here. Like Bombay.

Posted at 11:52 pm | Link | 11 comments | Leave a comment

August 4th, 2005

GeoURL Yahoo! Mapping @ OSCON

McManus has probably demoed GeoURL Yahoo! Mapping at OSCON. I can’t be terribly sure, but we know that he intended to :-).

After a long day of black widowing, a crate of beer’s probably what’s needed.

Tags: ,
Posted at 09:09 pm | Link | 0 comments | Leave a comment