Profile cover photo
Profile photo
Vinay Kola
1,244 followers -
Software Engineer at Snapchat
Software Engineer at Snapchat

1,244 followers
About
Vinay's posts

Post has attachment

Post has attachment
Google's AutoAwesome is pretty awesome! 
Animated Photo
Animated Photo
2 Photos - View album

Post has shared content
I was asked on Twitter why Python uses 0-based indexing, with a link to a new (fascinating) post on the subject (http://exple.tive.org/blarg/2013/10/22/citation-needed/). I recall thinking about it a lot; ABC, one of Python's predecessors, used 1-based indexing, while C, the other big influence, used 0-based. My first few programming languages (Algol, Fortran, Pascal) used 1-based or variable-based. I think that one of the issues that helped me decide was slice notation.

Let's first look at use cases. Probably the most common use cases for slicing are "get the first n items" and "get the next n items starting at i" (the first is a special case of that for i == the first index). It would be nice if both of these could be expressed as without awkward +1 or -1 compensations.

Using 0-based indexing, half-open intervals, and suitable defaults (as Python ended up having), they are beautiful: a[:n] and a[i:i+n]; the former is long for a[0:n].

Using 1-based indexing, if you want a[:n] to mean the first n elements, you either have to use closed intervals or you can use a slice notation that uses start and length as the slice parameters. Using half-open intervals just isn't very elegant when combined with 1-based indexing. Using closed intervals, you'd have to write a[i:i+n-1] for the n items starting at i. So perhaps using the slice length would be more elegant with 1-based indexing? Then you could write a[i:n]. And this is in fact what ABC did -- it used a different notation so you could write a@i|n.(See http://homepages.cwi.nl/~steven/abc/qr.html#EXPRESSIONS.)

But how does the index:length convention work out for other use cases? TBH this is where my memory gets fuzzy, but I think I was swayed by the elegance of half-open intervals. Especially the invariant that when two slices are adjacent, the first slice's end index is the second slice's start index is just too beautiful to ignore. For example, suppose you split a string into three parts at indices i and j -- the parts would be a[:i], a[i:j], and a[j:].

So that's why Python uses 0-based indexing.

Post has attachment
One of the many awesome posters in my room. 
Photo

Post has attachment

Post has attachment
Just discovered a bug in Google Talk/ Hangouts. +Gmail, are you listening?

My friend, Karthikeyan, tried to send an IM to me, but it ended up going to a totally different person. As you can see in the first pic, he messaged me saying
"fgfsa
there's something wrong with my gtalk
dont mind"

But the Hangouts history shows that those IMs went to Aman Haji instead. Surprisingly they don't show up in his GTalk window. His reply saying "Haha Ok" shows that the message has indeed shown up on his side.

The second pic is just more proof of the same bug. This time GTalk sends the message to a totally different person.
The IM "mastered R" ends up going to Vijay Bhaskar instead of me.

This problem exists whomever he tries to contact, not only me. Also, he is using the old version of Google Talk. He hasn't upgraded to Google Hangouts yet.

This is a serious privacy breach on GMail's end and could have serious repercussions. My guess is that the recent updates to Hangouts could have caused some unknown bug. 
Photo
Photo
2013-09-25
2 Photos - View album

Post has shared content
This + the teaser trailer for Arkham Origins make me wanna play Arkham City on the PS3 right now! #ArkhamOrigin #PS3  

Post has attachment

Post has shared content
Whoa. This could be the new "Princess Leia in the Golden Bikini".
"Game of Thrones: Daenerys" Mother of Dragons

Mostly a test to see if +Google+ has still messed up photo sharing.. 

(sauce=http://shilesque.deviantart.com/)
Photo

Post has attachment
The Verge's exclusive on Hangouts, which personally could be the one announcement from yesterday that I will use the most. #googleio  
Wait while more posts are being loaded