• About

    Swaroop C H is 27 years of age. He currently works at Infibeam, an ecommerce company focused on India. He has previously worked at Yahoo!, Adobe and his own startup.


    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:

  • Explore

  • Want me to write about something?

  • I'm a Wannabe Hacker

    The Glider: A Universal Hacker Emblem

Archive for the ‘Tech’ Category

PESIT Offer to Startups: Mentor Students, Get Office Space

Monday, May 24th, 2010

My alma mater, PESIT (in Bangalore), has an interesting proposition for startups – mentor students and get office space in return.

The background is that they are working to improve the quality of education in the IS / CS departments. One of the ideas they identified was to work with in-industry programmers who can answer questions from students on the innumerable topics out there, from a practical point of view. Of course, GIYF would be your first response, but students who are just starting out need face time and guidance to make them comfortable, even if the answer is going to be “Check this URL.” Some of the kinds of questions you can expect are:

  • How can I use the vi editor to edit my file?
  • What is CouchDB?
  • How can I compile my program better than typing javac myProgram.java?
  • How can I use the Facebook OpenGraph API?

The only way for PESIT to make this happen is to get motivated in-industry programmers to spare some of their time to mentor students. And what better way is there than offer office space to startups who can work out of the PESIT campus and mentor students face-to-face right there!

Startups can also get access to clusters of hundreds of machines in the computer labs and even get interested students to work as interns with you!

If this sounds like an opportunity for your startup and an opportunity for you to improve the quality of CS education, then go ahead and write to Mr. Harihara Vinayakaram (visiting lecturer at PESIT) at nextgenerationbangalore [at] gmail.com with “Startup Student Mentor” in the subject line.

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.


An experiment to be Google-Free

Sunday, March 21st, 2010

100% Google Free!A series of incidents and thoughts led me to try an experiment – to be “100% Google Free”. This turned out to be a lot harder than I thought, and ended up admiring Google a lot, and at the same time, worried and curious about what they do with all that data they have.

First things first, since I no longer use Google’s Feedburner, please kindly update your RSS readers to use http://www.swaroopch.com/feed/ instead of the earlier Feedburner link. For those 140+ people who are subscribed via email, I have migrated to MailChimp (emails were also being sent by Feedburner earlier), so emails will continue to be delivered to you from this post onwards. You can subscribe or unsubscribe for email delivery on this page.

Back to the main topic… there were a few reasons that led me to this experiment:

Phew. I think those were enough reasons to move away from Google, at least for a while.

And, boy, it has been tough. Let’s face it, it’s hard for companies to beat Google when Google makes slick products and gives it away for free.

Here is what my transition looks like:

  1. Search – The funny thing is I used Google Search only in 2004-2005, started using Yahoo! Search since 2006, and have moved to Bing exclusively since the past 6 months. (free)
  2. Analytics – Moved to Mint ($30) + Piwik (open source)
  3. Reader – Moved to Tiny Tiny RSS (open source)
  4. Feedburner – Moved to the default WordPress feed link + MailChimp for emails (freemium)
  5. Google Apps – Moved to Zoho for Business ($5 per month)
  6. Docs – Moved to Zoho Docs which turned out to be way more powerful (free)
  7. GTalk – Stopped using IM, it was a distraction anyway. (zero)
  8. Contacts – Exported from Google, stored only on iPhone (free)
  9. Calendar – Zoho Calendar (free)
  10. Google Groups – subscribe to RSS feeds of the group (free)
  11. Maps – Since the map application on iPhone uses Google Maps, no alternative
  12. Google Alerts – no alternative
  13. Google Adsense – This is still a todo item, haven’t looked into it yet. I have heard about Komli, Chitika, etc. but yet to investigate.
  14. Phone – My next phone is probably going to be an Android phone, looks like there is no alternative (I’m tired of having to use Windows just for iTunes, only because I have an iPhone)

As I’m sure you have deciphered, this took some installation of server-side software and some money to make this transition. These were the best alternatives that I came across that suited me.

So far I’ve been very happy about this experiment, because I got to discover and try out new tools and realized that there is so much more cool functionality available out there that I would have never discovered otherwise!

And at the same time, I admire Google even more now (from a startupper’s perspective) because they discovered a business model because of which they are able to give away so much functionality for free, and hence brought more people online.

Update: Thanks to Helen (in the comments below), got to know that Leo Babauta (Zen Habits) wrote about the exact same topic just 2 days ago. Good to know that I’m not alone in my concern!

How to get funding from Government of India

Friday, March 12th, 2010

I will be speaking in a panel at the HeadStart Conference, Hyderabad today regarding what is the funding that was granted by the Govt. of India to my ex-startup, and how you can apply.

Headstart Panel

I converted the content I had prepared into for-web-only slides for your perusal:

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.

Fun can change behavior

Saturday, December 26th, 2009

Once in a while I come across something really inspiring, and this time it was The fun theory – a “thought that something as simple as fun is the easiest way to change people’s behavior for the better.”

Getting people to use the staircase than the escalator


Getting people to throw into the garbage bin


Getting people to iron their clothes

Road Roller Iron

“Ironing clothes can be a boring task and getting the creases removed from your clothes perfectly is next to impossible. Now all you need to do is place your shirt on a customized iron board with sensors. You need to define the task. What is to be ironed? Shirt, trouser etc. The board defines your play area with lights depending on your selection. Creases are highlighted. Place the mini road roller iron on the shirt, sit back and let the fun begin. With a remote control you need to guide the road roller around the highlighted creases. If you move out of your play area, you lose points. If you get all the creases sorted in quick time you gain points.”


Getting children to clean their rooms


So what?

I hope to keep this inspiration in mind whenever I’m building products for others to use.

P.S. Go vote for the best entries before January 15, 2010!

The 5-year limit to being a coder in India?

Wednesday, December 9th, 2009

Let me start with a story I had heard about long ago when I was at Adobe.

There was this guy who had come in for interviews for a technical role. He passed all the tech interviews with flying colors, the team liked his personality and felt he would fit in well, and the manager was all smiles. In the last HR-style round with the group head, he was informed that the team works on products that are completely owned by the Bangalore-based group and that there won’t be any travel to USA. The guy was taken aback. He told the group head “Sir, please let me go to USA for just one day. If I have a USA stamp in my passport, I will get one crore dowry.”

Needless to say, the guy was not offered a job.

I’m sure you can draw your own lessons and observations from this incident, because it will come into context below, about a discussion we’ve been having on Twitter. It all started with @debabrata who read my previous blog post on the magic of foss.in and asked:

why this ’5 years limit’ applies to Indian software pro ? In other countries people are happy being programmer after 20 years .

I asked the tweeps for their opinions, and it got very interesting.

@cruisemaniac said: society defined age to get married and settle down = ~27 = 22+5 failing which u’re an outcast! and: also, post that age, ur risk apetite goes down due to family and other commitments…

to which:

@HJ91 said: True. Very true. Outcast is the right word, and its sad. Outcast. Insulting, hurting and pathetic.

Wow, this feeling runs deep.

so I asked:

You mean risk appetite or time commitment? … how does risk appetite relate to interest in coding?

And the replies came pouring in:

@mixdev: One of the reasons why brilliant people end up being (just) tell-me-whatto-do-n-leave-me-alone software engineers

@cruisemaniac: I’d say both… U cant risk a new tech and venture 4 fear of financial security… U want tat cozy safe zone and pay packet.

@cruisemaniac: time is a big costly commodity 4 us… we indians cant afford to spend it at our will with spouses and children at home…

@mallipeddi: It’s very hard to keep getting bigger paychecks yr after yr if you’re a 30 yr old coder. You’re expected to become a mgr/MBA

@abhinav: I believe the reason is our society. We tie success to degrees, and later, more ppl you manage more successful you are.

@abhinav: Where in western societies your idea fails, here it is you who have failed! Our society doesnt appreciate risk takers

@abhinav: Yes, more money, higher status, easy life. And most importantly, more dowry!

@mixdev: Because our goals are set by the society & achieving them also in their control. You get bored faster.

@debabrata: I guess to the great extent our society dictates us what we want to be unlike the west

I found it surprising that the situation why people cannot remain coders in India is almost the same as why people want to become entrepreneurs! It’s like this: The passion for coding will remain only when you’re doing cool and interesting stuff. But big companies (at least in India) want only stability which implies boring tedious jobs with standard languages and libraries. There is no room for experimentation. So the coder will have to move to a smaller company or a startup if he/she wants to continue to like coding (I’m ignoring the case of research laboratories for obvious reasons of numbers).

But moving to a smaller company or startup is, by definition, not encouraged. As @abhinav mentioned, there is societal pressure for more money, higher status, fancier cars and bigger houses. There is nothing wrong with wanting this, but don’t force it on other people! Alas, it is hard to reason regarding this. I remember having a long argument with an uncle of mine, he was, hmm, “strongly” suggesting that I buy a car and I reasoned out why it makes no sense (after all, most peers of mine use the car only for weekend drives, not for everyday commute) but it fell on deaf ears.

So I’m conflicted here: Are there not enough people who are actually interested in coding, or is it that the interested people are being peer-pressurized into “moving up” into managerial roles and hence lose touch with coding? Or are we completely off the mark here?


Update 1: As suggested by Peter, read this entry tited “Stuck in Code” by Ravi Mohan for his tale on this topic.

Update 2: A related article in NYTimes recently titled “In India, Anxiety Over the Slow Pace of Innovation”


The magic of foss.in

Wednesday, December 9th, 2009

Why do I keep going back to foss.in? Because I’m the kind of person who needs extrinsic motivation. That’s why having a good circle of friends with a positive attitude is so important to me. And that’s why the foss.in community is so important to me. Because one must always strive to be in an environment where you are “the dumbest guy in the room”, i.e., be surrounded by really really smart people, so that you are forced to work on raising your own level. That’s how I feel when I’m in the midst of fantastic people such as bluesmoon, t3rmin4t0r, Srinivas Raghavan, and so many others. They are perfectionists who deep-dive into anything they are passionate about, and are invariably good at whatever they focus on.

The Good

Attending foss.in/2009 felt great for me because I took comfort in the fact that there are still people out there who are passionate about code and passionate about software. That is becoming rarer and rarer off late. I think it’s the “5 year limit” that I have observed in batchmates, most of them don’t want to code any more, and have moved on to so many other fields. While that is okay, the problem is that it has become a fashion to dis IT and software field.

Another factor was that everything is in the cloud and everything is a website these days, so does open source as a process matter anymore? First of all, the applications are not open source and even if we have the code (rare situation), you and I can’t fix the application/website unless you host it yourself.

But the foss.in community made me remember the joy of coding and joy of hacking.

Kudos to Team Foss.in for making the only community event and only IT event that is worth attending. It was fantastic to see how the concept of workouts had just taken off. And everyone’s been saying that all the keynotes have been fantastic.

In case you are wondering, I’m not the only one who was so enthralled by the event, for example:

fossdotin_janakiramm

fossdotin_ramblinggeek

See Lakshman’s writeup on the same. And so on.

Bottom line? Shut up and hack!

The Bad

Will miss the direction of Atul Chitnis.

What was missing

What I felt was missing is a discussion on the state of the art of software in each field, not just specific PoTDs. And I think this is more of a community perspective rather than the organizers’ perspective — organizers just provide the platform, community provides the content, as Atul keeps reminding us.

For example, consider my pet topic, the state of NoSQL databases – what’s good, what’s not, is it strange or expected that so many of them have come up in the last 1-2 years and all of them are open source (or at least the ones that we hear of). Taking it a step further, how it affects other fields of software. I’ve attempted to ask this before in a session at barcamp on whether webapp frameworks will adapt to NoSQL.

Similarly, what is the future of compilers, will LLVM + clang replace GCC (as @artagnon was speculating)? Will WebKit and V8 take over the world and leave Mozilla + Tracemonkey behind? Why are there so few projects using AGPL? What does it take to get full database dumps out of Wikipedia ? Will open source phones never take off? How does Eucalyptus help have an alternative with EC2? How does appscale help have an alternative to GAE? And so on.

In toto, I think there are three parts to this and I believe only the third part of which is done well already by the community and organizers: (1) what are the different fields and layers of software, (2) what is the state of the art of open source software in those fields, (3) getting people started and involved. I feel that only when we think on these lines, we will achieve Atul’s stated vision of “open source being the mainstream, proprietary software being the special case”*.

Thoughts?



* No flamewars please. I believe that the world will be better off by having all the infrastructure as open source software and having only the business logic / trade secrets as the proprietary part. At each stage of evolution of software, the stack grows higher, and the infrastructure/open source stack can grow higher along with it. For example, Robot Open Source and the Hadoop umbrella.

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