• About

    Swaroop C H is 29 years of age. He is a coder and startupper. He has previously worked at Yahoo!, Adobe, his own startup and Infibeam.


    Read more about him


    Email: swaroop (at) swaroopch.com

  • Subscription

    If you want to know when new stories and articles appear on this website, you can receive them via:

  • I'm a Wannabe Hacker

    The Glider: A Universal Hacker Emblem

Archive for the ‘Side Projects’ Category

isbn.net.in open-sourced

Friday, December 31st, 2010

I have been getting many emails regarding isbn.net.in since I put it out 9 months ago. For example:

Hi Swaroop, I am following your blog for last year. I have visited and used ur isbn.net.in service. It is a good idea.

To easy of mobile phone buyers, I wanna create a application like isbn.net.in for the mobile phone availability and comparison.

Can i do this as a Final year project? Is it take that much work? To create that what should I know!

I have knowledge in Open source softwares, LAMP and basic python (From A Byte of Python).

and this:

Hi Swaroop,

Love your site isbn.net.in!

I am planning to start an online bookstore to sell used books. I need help to acquire book info like title, author etc. based on ISBN. Will you be able to help? Do you have an API that I can use? I see that you use Amazon. I was not sure if Amazon would have the details for books published in India. Please let me know your thoughts. Appreciate your help.

I actually wrote isbn.net.in as a means of learning Ruby, so I had written some hacked-up code using Sinatra. As it was my first Ruby project, the code was very amateurish and was not something I wanted to share.

Since so many people have been asking how it works, I decided it would be easier to just open source it. I took this opportunity to rewrite it using Rails 3 and try out Heroku as well. So, voila, Rails 3, Heroku and using MongoDB for tracking background jobs (to do the screen scraping) means a brand new isbn.net.in that is now live.

And the source code is now at https://github.com/swaroopch/isbnnetin (Note that this software requires Memcached and MongoDB to run).

The code is under an Apache license, so use it as you please.

Now that the source code is out there, there are some contributions that can make the site better:

  • Detection of ‘out of stock’ / delivery time
  • Detection of extra shipping charges / other hidden charges
  • Mobile version
  • Any improvements to the web design at all (I suck at UI design)

I would love any help on the above. If you’re interested, please fork away and when you’re ready, send me a pull request on GitHub :-)

Still Spreading

I am surprised to still see the response to isbn.net.in, mainly because I do zero marketing, and yet I still get 1-2 emails per day about it. That is amazing considering that the site has been there for nearly nine months and I didn’t do much other than write a blog post about it. I don’t tweet it or facebook it and all that jazz. I guess it’s a case of “Build it and they will come”?

For example, it was featured in startup articles, it was even mentioned in interviews of new online ecommerce stores that are coming up.

My favorite part is that people are using it as a bookmark URL (which was a use case that I had in mind), see @xrivatsan, @PurpleFoodie and @Shalin10

And I get emails and tweets when the site used to go down for even a few hours!

Oh, and thanks for all the feedback:

Shashank ND says:

“isbn.net.in saves a ton of time when trying to buy books online. Indian e commerce needs more of them. Thank you @swaroopch.”"isbn.net.in saves a ton of time when trying to buy books online. Indian e commerce needs more of them. Thank you @swaroopch.”

Swaroop Hegde says:

“Been searching for Kochan’s Objective-C book for a day now but hitting out of stock everywhere. And oh, Kudos to @SwaroopCH’s isbn.net.in”

Nandan Dubey says:

“http://isbn.net.in/ best site to compare price of the books visit it once before buying any online books”

Vinay says:

isbn.net.in is one simple and great site which is give you the best prices online. Great service for book lovers

The greatest flattery, though, is when it has inspired many other book price comparison websites.

For example, take the story behind mySmartPrice:

I chanced upon a book price search engine by Swaroop through a post on Flipkart. I will always remain thankful for that since I have gained a lot of insight by going through his blog. If you intend to ever start your startup then do subscribe to his blog.

A lot of users of Swaroop’s project liked the product. However many of them were asking for a way to start with the title of the book instead of the isbn number. I guess Swaroop has not made the changes since it was not his idea to start with and he might be busy with his new job at Infibeam. Coincidentally I am on the exit mode from my job to get into the startup phase.

One of the biggest inspirations for working on this project has been my own desire to prove to myself that I continue to be a geek even 5 years after I stopped coding to go to IIM Bangalore. There are many improvements that are required even now and I will talk about them in future posts. However I am already proud of the product that I have.

I will close this post by wishing myself and MySmartPrice luck and by thanking Tapas for introducing me to the wonderful blog of Swaroop and Swaroop for providing me such a nice homework to bring out the coder in me

There have been other sites such as MyDiscountBay that also seem to have taken inspiration from isbn.net.in. Update: confirmed via twitter.

And we seem to be spawning many more.

The irony is that I myself was inspired by isbn.nu. We all stand on the shoulders of giants :-)

Oh, and isbn.net.in is certainly just a side project, definitely not meant as a competition to these startups.

The single biggest crib that I hear is that one needs to know the ISBN number to use isbn.net.in – it seems that most people forget that I have a bookmarklet which solves that problem, sigh. I really don’t see the need to make a completely new search engine when all these ecommerce sites are already putting in effort to make a great search engine. But I guess people want everything online and don’t want to even use a browser feature, such is the Net effect! (If you do have an idea in mind how to solve this, as I mentioned before, fork away ;-) )

This was my list of updates about isbn.net.in. Feedback welcome!

Update: Someone has written a Flipkart to isbn.net.in link greasemonkey script. Nice to see people building on top of isbn.net.in! On the same note, if you ever want to get the prices from isbn.net.in, just append .json to the URLs, example http://isbn.net.in/0142000280.json for the JSON data of the prices.

About Deep Procrastination

Wednesday, May 5th, 2010

Cal Newport, one of my favorite bloggers ever, wrote about the upside of deep procrastination last week. I had a few thoughts on the subject.

So what is deep procrastination? You know you’re in it when “No matter how dire the stakes, starting work becomes an insurmountable prospect.”

I remember this starkly happen to me when I transitioned from 2nd PUC to B.E.

I had the fortune of studying in a school which exposed us to computers very early. I remember playing a lot with Logo and fascinated that you can draw circles and rectangles on a screen. I knew back then that I wanted to study computers.

So in PUC, I had chosen to study computer science (PCMCs) and not choose biology at all, compared to most of my peers who wanted to “keep their options open”. No sirree, computers was for me.

I couldn’t wait to get to “B.E. in Computer Science” so that all I would do was learn about computers.

Uh oh.

I found myself studying about “strength of materials”, about the different materials used in construction of a building, about the calculation of the weight that a pillar has to support, blah blah. WTF.

I was disgusted. I was very demotivated. I was in deep procrastination. I had stopped studying. And I didn’t care.

I have usually stood in the top 2-3 ranks of my class throughout my school and pre-university days (well, geeky was the word used to describe me…). In engineering days, I was given a rap for having attendance shortage.

But something happened. I soon started to enjoy it.

I explored a lot in those days – from lots of trekking (which meant travelling outside the city with friends! Whoa!) to reading tons about technology.

Because I studied well in PUC and got a good rank in CET (463, out of lakhs of people), my grandpa surprised me with a gift of 5000 rupees (don’t remember the exact amount). I had never seen so much money in my life (back then).

I blew it all up by sitting in a cybercafe. I used to download web pages, put it in floppy disks, come back home and read them on the home computer. I fondly remember reading about a lot of open source projects and a lot of Tim O’Reilly’s essays.

Those were amazing days. And legend has it, that it all began with a few good seniors who taught us Linux and open source, and I eventually ended up writing a book (stop yawning alright!).

Fast forward by 5 years… As a good friend likes to say: “There are only two times you innovate in your life – 1. when you’re in college 2. when you retire.” True enough, I don’t think I have ever read deep tech stuff since then. Nowadays, reading the LLVM Blog makes my brain hurt. Sigh.

The point of my story is this: Since I stopped focusing on studies in college, I let my curiosity guide me. All that curiosity has led me places and I’m forever grateful for that.

My Advice: The key to get out of deep procrastination is to have a constant balancing act between hard focus and curiosity. Leaning towards either for an extended period of time can be completely demotivating.

I believe that working on projects that will have long-lasting impact and simultaneously priming your curiosity, and engaging with the unlimited number of topics to explore out there, will keep you on an even keel and a good frame of mind. Maybe even a happy frame of mind.


isbn.net.in updates

Sunday, April 18th, 2010

A while back, I released a side-project called http://isbn.net.in – a simple tool for comparing book prices in India. I received lots of feedback, suggestions and praise. I have updated it with fixes for the bugs reported and implemented most of the suggestions.

It was interesting to see people writing blog posts and linking to the corresponding book page on isbn.net.in as a “canonical page” about the book. I hadn’t thought of that.

Feedback

Lots of bug reports, suggestions and praise came via email, such as from Onkar:

“Nice idea with simple implementation. I am sure this will make my father happy. Thanks for your work. :-)

And as expected, Twitterers were most vocal about it:

@saurabh says: isbn.net.in is awesome #recommended #ftw #awesomeness

@kranium256 says: isbn.net.in is actually quite bloody awesome!

@kr0y says: For all those who love to order books online, this site can really help you get a good deal http://isbn.net.in/

@abhinittiwari says: Awesome book price comparision engine! http://isbn.net.in/

@vineetmundhra says: A wonderful tool for comparing book prices in India http://isbn.net.in

@l0nwlf says: http://isbn.net.in -> a pretty neat site to compare prices of book

@yarooruvann says: http://isbn.net.in/ very good tool to compare book prices in India

@jasdeep says: isbn.net.in is awesome, thank you @swaroopch

@tan1337 says: Awesome!

And some of the blog comments were heartening to note as well, especially this one:

Chandan V says: I was searching for a book from past 1 week and was unable to find it. Thanks to you, finally I was able get my book at flipkart. It was like, I thought I’ll not get that book any where in Bangalore and I open my google reader to see your link. Bingo, I have placed an order and eagerly looking forward for the delivery. Thanks a ton. You do not know how much it meant for me to have that book.

Note that last sentence. That is the stuff that creators love! :)

Search by title

The biggest feedback was: “Getting ISBN numbers is a little difficult for everyone. Consider taking a book title as your input and searching prices based on that directly.”

I understand the motivation behind this. But unfortunately, this was what I was exactly trying to avoid! I do not want to build a search engine! That is a non-trivial task, as I’m sure you can imagine.

My idea was to piggyback on top of people who are already doing that well. For example, Flipkart and Infibeam are supposed to have the most titles for the Indian market. So my idea was this: Why not use those search engines which are being constantly updated and tweaked by those companies to search for the books, and then use the bookmarklet + isbn.net.in to compare the actual prices. I actually don’t want you to use isbn.net.in as the starting point.

If you still want to search by book title, then head on over to the new Google Product Search for India. The reasons why you would use isbn.net.in over Google Product Search, is that isbn.net.in is comprehensive, accurate, has latest prices (as much as possible), and helps you decide whether to buy the book using the full description and Amazon rating.

Fixes and Updates

Regarding the fixes and updates based on your suggestions, here is the list:

  1. Fixed error on multiple pages such as http://isbn.net.in/8190453025 (via @sudhiru) and http://isbn.net.in/0074637762 (via email from Abhinav Sood)
  2. Fixing fetching of prices from a1books, thanks to bug report from Amit Sharma
  3. Added link to Google Product Search for India, because of many queries to allow search by title.
  4. Added CoralHub.com to the list of online book stores that is searched.
  5. Linked to iglooo.in and bookase.com in the about page under the list of similar projects.
  6. Added a “generic grep” to make the bookmarklet try a little harder for sites that is not known in its default list – IIRC, this was a suggestion by @talonx
  7. Bookmarklet now works with Amazon pages, but for this, you will need to take the bookmarklet again from http://isbn.net.in frontpage
  8. Added Kindle prices.

Favorite New Feature

My favorite new feature is Kindle ebook prices because, sometimes, buying the Kindle edition is cheaper than getting the paper book. That’s what I did with Seth Godin’s new book.

Further suggestions and feedback are welcome.


isbn.net.in – One Place to find the best online price for a book in India

Thursday, March 11th, 2010

I had an itch – I wished there was a simple way of deciding whether to buy a book and where to buy a book. So I created http://isbn.net.in

isbn.net.in

The initial idea I had was to make a bookmarklet that will do everything – it will figure out the unique book number (the ISBN) from the current book page (whether a publisher’s site or any ecommerce site), and then search on all the potential Indian online book stores. I then realized that you can’t fetch from other domains because of the same-domain policy of AJAX (I could’ve used YQL or something like that, but I felt it was a slippery slope).

So I had to create a web backend that will do the searching on behalf of the bookmarklet and changed the idea to simply show a jQueryUI dialog showing the sorted list of prices.

Then I chanced upon http://isbn.nu and immediately said to myself: “I want that with Indian prices”. Since I was half-way there already, it took a few additional steps of buying a good domain name and configuring to use the simple URL format they used.

There was one major problem with the bookmarklet – on sites which already have jQuery, it used to conflict, and although jQuery itself can live with multiple versions side-by-side, I could never figure out if jQueryUI was loaded properly or not. I tried various things but had to give up in vain.

Finally, I decided the pop-up overlay thing was not important, and the bookmarklet can just simply take you to the correct isbn.net.in page directly.

So the “where” part of the question was answered.

I still had to answer the “whether” part of the question – that’s when a friend told me about Amazon ECS using which I was able to get the very useful Amazon ratings. Then I was able to get the image of the cover of the book and other details.

Then I came across bookseer.com which makes great book recommendations, so I included an automatic link to that on the book page.

So, after much ado, I present http://isbn.net.in to you. All the instructions are on the homepage.

If you have any feedback, please read the disclaimers on the homepage and the About page, and then send me feedback.

Implementation was a lot of fun – I used Ruby, Sinatra, HAML, Mechanize, amazon-ecs, jQuery, Blueprint CSS. It was the first time I had really used any of these.

Disclaimer: I created isbn.net.in because I needed a tool like this. This has nothing to do whatsoever with my employer. It is just a personal side-project.

Updates on Praise, Feedback and New Feature: See isbn.net.in updates article.

Coding Problems for Homework

Tuesday, November 24th, 2009

“Coding Homework” is a small website that I have built to list small problems that one can work on, to learn how to use a new programming language. For example, small problems requiring to read from a file, or to use regular expressions, how to find duplicate files in a folder, and so on.

Note that the problems listed on the site is not for testing your algorithm skills, there are many sites for that already.

This list was inspired by repeated requests and suggestions from readers of A Byte of Python for homework problems at the end of each chapter to exercise the skills they have just learned. So I thought why not make it applicable to any language and multiple programming skill levels. And it’s a good topic that can be collaboratively worked on with the programming community, à la Stack Overflow.

All the content will be licensed under Creative Commons Attribution-Share Alike 2.5 India License so that anybody can reuse this content, especially in classroom situations.

Screenshot of "Coding Problems for Homework" website

I also had my own specific goals when implementing this side project:

  1. Solve the lack of “homework problems” for people to exercise their programming skills, especially in the context of learning a new programming language.
    • I am not trying to replace existing lists but rather focus on making the reader active (providing exercise problems) than letting him/her be passive (reading code listings).
  2. Learn how to do website layouts, specifically how to use YUI Grids CSS.
  3. Learn how to pick colors for website design; ColorCombos turned out to be useful.
  4. Learn to use Google App Engine.

It has been a fun side-project, spending a few hours here and there. It is very far from polished, but the basic functionality works. There is still more to do — adding a search functionality, conforming to standard UI design patterns, caching for the rendered HTML (from Markdown), optimizing the housekeeping code, and so on.

This site itself is a good example on the kind of problems that beginners can work on, but they would not know what kind of problems they can solve and what level of expertise (beginner / intermediate / advanced) would be needed. That is where this list of problems can help.

I request you to spend 5 minutes of your creativity to add a few problems so that beginners and intermediate level folks will have interesting problems to test their learning of a new programming language. Thanks!

It might be helpful to you as well when you’re going to play around with functional languages (Haskell, Erlang, etc.), funky new languages (Ioke), or new languages by big companies (Go).

Link: http://codinghomework.appspot.com