• About

    Swaroop C H is 27 years of age. He graduated in B.E. (Computer Science) from PESIT, Bangalore, India. He has previously worked at Yahoo! and Adobe.


    Email: swaroop (at) swaroopch.com

    Read more about him

  • Subscription

    If you want to know when new stories and articles appear on this website, you can subscribe to the RSS feed or have them emailed to you.

  • Want me to write about something?

  • I'm a Wannabe Hacker

    The Glider: A Universal Hacker Emblem

Archive for the ‘Thoughts’ Category

Let’s talk about future of webapp development at BCB8

Thursday, February 19th, 2009

I quickly (read as “hastily”) put together this short presentation for a discussion session at the upcoming Barcamp. The question is “With the advent of cloud computing, cloud databases, RIAs, APIs, etc., are web developers and their frameworks evolving and keeping up with the times?”

If you are interested in this discussion, please click the “I Want to Attend” button on this session’s page at the BarCamp Bangalore website.

If there is not sufficient interest, I will drop this session because there seem to be 88 sessions registered already, I have no idea how so many sessions are going to fit into just 2 days.

For more background material on this topic, see my Website Making Howto wiki page.

Refocus on the Basics

Wednesday, January 14th, 2009

Most of what I learned about programming was during my first year at Yahoo!. I wrote so much Perl code and dove into naive attempts at distributed computing, and the like.

I was pretty proud of my code and that I put in hard work, and was vindicated when I went back to meet old friends at Yahoo! and one of the new recruits actually praised my Perl code (because he was now maintaining it). I was taken aback. Why? That was probably the only time in my life I was proud of the code I wrote and someone actually commended on it.

But I’ve stagnated in the past three years and have not been adding to my knowledge even though I’ve been working, meeting deadlines and earning my bread. On the surface, I’m adding skills to my resumé but inside I know I should be learning more.

My theme for the next 8 months is to focus on getting back to the basics, to relearn the fundamentals and get back the joy of programming.

Ever since I’ve been working for myself, I’ve been very happy to take technical decisions and seeing it right through to the code. I get a kick out of it. I need more of that.

I’m hoping to read more books like Ship It! and The Pragmatic Programmer vs. spending time on blogs.

I’m hoping to spend more of those-moments-when-you-need-distractions at Stack Overflow and technical mailing lists vs. reading opinion / “news” sites.

Of course, it’s not just about more information but rather about getting into the flow, getting into the mood.

I will try to be at the bottom of things rather than on top of things, although its hard to let go of the addiction of trying to be “inbox zero.”

In the big picture, there’s no reason to have this goal. I can just keep on going as-is. But my life is so empty without having something to work on. That’s the thing about goals.

Let’s see how far it goes.

Do you find it useful to have a time-bound dominant theme for personal development? Have you thought about what will you learn this year?

Of course, ideas are cheap, execution is everything. So I’m getting back to coding right now.

Why use Creative Commons license?

Friday, December 26th, 2008

Many people have asked me on why I released my Vim book under a Creative Commons license instead of getting it published.

(1) First of all, I did try to talk to publishers, hoping that I would convince them to release the book simultaneously under a free license as well as a printed version (which is true for many technical books these days). All the publishers I spoke to said there is no market for such a book and said no to the idea. But that didn’t deter me, because I really wanted to see such a book out there, so I wrote it anyway.

(2) Technical books readership is on the decline. It seems very few techies buy and read books, they just google it and solve their immediate problems vs. reading a whole book.

If you don’t believe me, see what John Resig, Charles Petzold, Jeff Atwood and Eric Sink have to say on the subject.

(3) I had a concern bigger than not getting it published, it was that nobody would get to know about the book and hence the book would go in vain. Since money was not a motivating factor in this particular case, I was far more interested in seeing lots of readers and widespread usage than to see fewer readers with the published book although the latter would make me more money.

Tim O’Reilly’s words remained stuck in my mind:

“Obscurity is a far greater threat to authors and creative artists than piracy.”

Of course, I did have a printed books option, so I still could have made money just like 37 Signals did with their “Getting Real” book which was free to read online plus available as a paid PDF download. Unfortunately, it seems I lack their marketing pizzazz.

(4) The book was intended to be a contribution back to the open source community. We constantly keep taking and taking – whether it is using Linux, Vim, Firefox, or countless other software, so it felt great to be useful to the community in return.

As Steve Jobs said:

You know, we don’t grow most of the food we eat. We wear clothes other people make. We speak a language that other people developed. We use a mathematics that other people evolved… I mean, we’re constantly taking things. It’s a wonderful, ecstatic feeling to create something that puts it back in the pool of human experience and knowledge.

(5) My experience has been that a lot of people would like to translate such books to their native languages to help more people use the software. So, I’m happy to see volunteers now translating the new Vim book to Chinese, Russian and Swedish languages!

I needed a balanced approach to what I was trying to achieve, and all the above reasons led me to use a Creative Commons license.

It is not obvious how to make money online

Tuesday, December 23rd, 2008

Execution is one aspect of making an idea successful, I would say the other is having a business model.

And the latter is very hard as well. Why? Because it is not obvious how to make money online, especially in India.

The obvious way would be to have freemium models such as Flickr and 37 Signals. IMHO, I believe that this is the only sustainable way.

BUT:

  1. How can you make this successful in a country like India where people are NOT used to paying for things online especially on a subscription basis? For example, how many people do you know are buying things online that does not have a physical aspect to it? i.e. most people buy movie tickets or pay phone bills online, compared to how many non-techie people do you know who are paying for Flickr or for online storage or similar services?
  2. How do you prevent free websites from eating you up? For example, Wufoo did a great job of both execution, including winning awards and having a clear business model. But I am not inclined to using it because Google Forms is free, has no limitations and is a good-enough surveying option. Google doesn’t make money off of this option but they surely have taken away Wufoo’s lunch.
  3. Ideas such as scribd.com, and StockTwits are useful and interesting, but even they don’t know how to make money off of it. Heck, even Google is having a tough time in making money off YouTube.
  4. Ad-based businesses don’t work in Asia, or so is the impression that I get. Is there a single web application site, NOT a content site, for India that is purely making a business out of displaying ads?
  5. I have a feeling that almost all websites that are popular today and that will be popular in the next 2-3 years will have to have a physical component/aspect to it, whether it is payment collection at your doorstep for BharatMatrimony or Zapak running corporate gaming tournaments. This is something that may not be viable for small companies. Perhaps after 2-3 years, things will change.

Bottom line: Without getting funding, and without a clear path to charge for things, how is it possible to make a sustainable web application?

Is this just me or is this the path that every online startup faces?

“My Online Life” in Mint

Sunday, December 14th, 2008

My Online Life, in Mint Lounge

A list of blogs I read has been published in the Mint Lounge newspaper on 13-Dec-2008 Saturday. Read it online on the Mint website or in the epaper section.

Thanks to Sidin for asking me to write this and publishing it in Mint.

Unfortunately, as typical of newspapers, my words were modified to something that is newspaper-y which is really not my style, and the article was printed before I got a chance to review. And no, that short bio was not written by me :)

(more…)

How Fresh Graduates Can Grow

Saturday, December 13th, 2008

As a small experiment, I had put up a skribit sidebar where anybody can suggest what I can write about. Little did I know that it would actually be used seriously. Someone posted the topic “On how fresh graduates can learn independently and grow. Instead of waiting for the Company to help” and today, there are 9 votes on it!

To be honest, I think I am not qualified enough to answer this question. I am certainly no role model. But since 9 people have voted on it, I feel obliged to write something useful. I have jotted down some thoughts on what ideas and habits have helped me, it may not necessarily be useful for everyone. I hope these fresh graduates who voted will pick the best ideas and habits suited for them.

Character and Lifestyle

Instead of focusing on building a career, why not focus on building a character? The career will take care of itself.

  • “Sow an act… reap a habit; Sow a habit… reap a character; Sow a character… reap a destiny.” – George Dana Boardman
  • As Cal Newport would say, “Fix the lifestyle you want. Then work backwards from there.” … Too often, we confuse the medium (lawyer, doctor, engineer, etc.) with the message (what is important to us, what we want to do). So it’s far more important to figure out what you want out of life, then figure out how to achieve that rather than the other way around. And only you can figure this out for yourself.
  • I would recommend reading First Things First by Stephen Covey to help you understand your priorities in life.
  • Most important of all, find your inner peace. Remember that “Satisfaction is within.”

Career Building

Basically, you need to take initiative in what you want to achieve, no one can tell you what you have to do, life is not that simple. I’m glad the original question poser said that he/she wanted to grow “Instead of waiting for the Company to help”, you’ve got that part right already.

I recommend reading:

Get Results

Ultimately, you need to take action and get results. It’s not enough to just plan and hope. As Morpheus would say, “There is a difference between knowing the path and walking the path.”

Read

My personal slogan is “I read. Therefore I do. Therefore I am.” If I compare myself to my school days and today, there has been a major transformation in character and outlook, and I attribute that purely to reading.

A great part of my learning also comes from writing, hence the blog, wiki, books, and twitter. It might seem like a waste of time, but I learn more by communicating. But that’s just me.

If you don’t know where to start, I would suggest The Personal MBA Reading List.

Friends

Make valuable friends. This is the most important tip I can ever give you.

Equally important, make the right kind of friends. Yes, it’s tough to let go of friends who you intuitively know are not the right influence on you, but speaking from experience, it is worth it in the long run.

As a wise man once said, “Tell me who your friends are, and I will tell you who you are.”

Learn Your Trade

For example, if we are talking about a software engineer:

  • Debugging is the most important skill, not coding. I wish I had known this when I was in college.
  • Reading is a great habit that has a side-effect that you will also have the ability to read a lot of code and build up the structure inside your head about how the code works, just like you have to imagine what is written in a book or novel.

I also recommend reading:

If you are looking for more in-depth knowledge, I would recommend taking a look at this Stack Overflow discussion.

Make A Difference

Consider this excerpt from a Business Week article:

One vocal camp even maintains that the repetitive nature of writing software code has corrupted Bangalore’s intellectual spirit. “These 20-year-olds are like coolies, doing the same job over and over,” says CNR Rao, a Bangalorean scientist who has been an adviser to the Indian government for decades. The software industry, he says, has turned the city into a glorified sweatshop. “Where is the innovation?” he asks. “How does this contribute to anything but greed and commerce?”

The joy of programming is the joy of building and creating something. Wouldn’t it be amazing if we can build and create something useful for other people? If yes, why aren’t we doing more of that? After all, there is no dearth of things that we can create.

Closing Statement

Hopefully, I have given some food for thought here.

If this article was useful, please feel free to post suggestions on what I can write about on my skribit page.

Common activities means better friends

Wednesday, October 22nd, 2008

If you want to make new friends, there is no use in just saying hi to people, something of value should be exchanged or there should be a common activity. That’s when they become friends. Real friends.

I’ve added a page on my wiki to list the type of common activities possible in India right from cycling to movie appreciation. Let me know if I can add more variety to the given mix of activities. I’m interested in figuring out what activities do people take up.

A principled life according to Steve Pavlina

Sunday, October 12th, 2008

Ever since college days where I got hooked onto the Internet, I have been an avid reader of self-improvement websites and books. I used to prowl for content, before the advent of lifehacking and productivity websites. I eventually stumbled upon good websites like 43Folders.com, and my friend Pradeep cajoled me to read Steve Pavlina’s blog.

I was so glad he did. I ended up spending hours reading Pavlina’s articles. Reflecting upon the ideas in these articles was very beneficial. When I read that Steve was releasing a new book, I jumped at the chance to get it.

The book was different from most self-improvement books because it didn’t focus on productivity or time management. Steve claimed that he has discovered the essential principles of life!

According to Steve, there are just three core principles – truth, love and power. The secondary principles are:

  • Oneness = Truth + Love
  • Authority = Truth + Power
  • Courage = Love + Power
  • Intelligence = Truth + Love + Power
The Core 7 Principles

I found it incredulous to see someone make such a claim. So I started reading the book with a sense of disbelief.

While I started reading the book, I didn’t appreciate its brevity but the upside was that I got through the book more quickly. The basic concepts were things I understood but concepts like ‘oneness’ was something I couldn’t fathom.

Eventually, a friend called me up and was describing a personal problem, I started to test whether Pavlina’s principles were applicable, and voila, I was amazed to pinpoint to something which I was convinced was the root cause. It was at that moment that I started thinking that Steve might be on to something.

I had a hard time reading through the book, not because it was bad but because for every other page I would stop and reflect upon the concept being described and I would do some journaling to help me clarify my thoughts. In the process, I realized I was applying the ‘Truth’ principle and finally accepting some things that I “delayed thinking about” (read as “avoid”).

Eventually, I started reflecting upon the past ups and downs of life and see if the good things were as a result of cohesion of the three core principles. Well, it did. And at the same time, I could place a lot of my faults into the categories under “Blocks to Love” and “Blocks to Power” sections.

Strangely, I felt like I was reading one of those Linda Goodman books which claim to know every detail of the character of a person just based on the date on which they were born. The logical portion of my brain simply refuses to accept something like that is possible. Similarly, I have a hard time believing that someone can boil down the psychology and well-being of humans to such a simple list of things.

Nevertheless, the true impact of a self-improvement book is only felt months later, so I’m still in the process of applying some of the concepts and thinking to my daily habits. I find myself aligned with the principle of truth, but not with the principles of love and power. I hope some of the 30-day trials (as described in the book) in applying these concepts will pay off.

All in all, I would highly recommend Steve Pavlina’s book “Personal Development for Smart People”. It will make you think and hopefully make you grow as well.

What we do at IONLAB

Tuesday, October 7th, 2008

Note: I no longer work with IonLab since Nov 12 of 2009.

When I meet people and have a conversation, they eventually ask the question “So, what do you guys do?”

I like to say “We make stuff” but that’s hardly understandable. The best example I like to give is the Swinxs (found via Springwise).

The Swinxs games console is designed for active games both inside and outdoors. The Swinxs console can talk, can recognize, encourages and explains games. It even acts as referee. The console is light, compact and due to its sustainable battery, is easy to take with you to the park, playground or the beach.

SWINXS

My favorite part is that the children get RFID-tagged colorful bracelets to wear. The tags serve multiple purposes from identifying each participant to keeping track of their scores. For example, if there’s a running race, the child can just bring their hand close to the game console at the finish line, and it’ll immediately recognize you and tell how much time you took.

And there are a lot more games to play:

The downloadable games are divided into age and category. The games possibilities are endless and vary from traditional hide and seek to educational quizzes and adventurous games. The games can be downloaded FREE from this website. Stories and music can also be downloaded on the Swinxs, as well as games.

The video demo showcases the product really well:

Kids these days are addicted to gadgets like Gameboys, mobile phones, etc. The Swinxs is in the same category but it actually encourages them to be more physically active as well as more social with other kids.

There are many other salient features that appeal to us:

  • It is useful. Especially in terms of providing functionality that is not normally available through any other means.
  • The device connects you with the real world. It’s not a world onto its own.
  • It is fun.

This is the kind of stuff that we dream of, the kind of stuff that we like to work on.

What’s interesting is such products bridge the offline world and the computer/online worlds. After all, shouldn’t technology be helping you to live a better offline life, than making you spend more time with the technology itself?


Note: Cross-posted to our company blog.

Specialization vs Generalization

Saturday, August 9th, 2008

I’ve been pondering about specialization vs. generalization in terms of career skills.

I have this notion that I should be a maven, should be an expert at something. But yet, I mostly do things that are the very opposite of this idea.

Since I don’t tend to be a specialist, I tend to not focus on a particular topic. I want to learn about different things and hence I tend to meet people of varied interests, and consequently end up being excited about a lot of different ideas. For example, one of my good friends is someone who I happened to meet on a bus because my seat was next to his, and we talked non-stop for 5 hours from the moment we said ‘Hello’. I was able to connect with him well because I knew a bit about his profession and we had some common terminology right at the beginning of the conversation. And I really love having such conversations. It’s one of the things that really motivate me and it ends up throwing me in different directions.

Maybe it’s not really a generalization vs. specialization debate, and more of an attitude. Then again, I see that people tend to really pigeonhole themselves, such as “I’m looking for C++ jobs” or “I want only bluetooth jobs”. Why? Because they’ll get experience in a particular technology and employers will give higher pay packages to specialists. This means these people focus only on things related to that one particular area and ignore everything else. Somehow I’ve been unable to do this, even though I want to.

As Tim Ferriss puts it:

Most people avoid certain actions because they view changes as permanent. If you make a change, can you go back to doing it like you did before? You can always reclaim your current state in most cases. If I quit my job in industry x to test my artistic abilities in a different industry, worst case scenario, can I go back to my previous industry? Yes. Recognize that you can test-drive and micro-test things over brief periods of time. You can usually reclaim the workaholism that you currently experience if you so decide to go back to it.”

This kind of sums up what I’ve been doing in the past six months – test-driving things over brief periods of time, trying my hand at different things.

Yesterday, I needed some inspiration, so I ended up listening to one of my favorite podcast talks – Jason Fried on “Lessons learned from building Basecamp” (transcript). A few things that he said made a lot of sense, not only in terms of software, but also in terms of career:

  1. Reduce mass
    • Enable change. Enable speed.
    • Do not worry about what may be needed 8 months down the lane.
    • Make just-in-time decisions, when you have the data.
  2. Every decision is temporary.
    • If it is too costly to change, it’s probably wrong.
  3. Getting Real
    • Design the interface first.
    • This is the same as Cal Newport saying “Fix the lifestyle you want. Then work backwards from there.”
  4. Iterate. Start small. Make your first version half a product, not a half-assed product.
    • Do a 30-day trial of things, such as your decisions of trying something new, etc.
    • But do the basics and do them well. For example, if you want to start a blog, don’t expect 1000 readers overnight, work at writing 5 good articles instead.
  5. There are so many more ideas that could be applied including the concept of publicity amplifiers, transparency and trust, blogging, etc.

It’s funny that a methodology for software can be used for lifehacking.

Of course, it’s not just software programmers who have this debate, even designers and productivity specialists do.

Later, I realized that another way of looking at this is “doing as much as required, no more”. Why is this important? Because results matter more than “expertise”. I had an Aha! moment. Suddenly, I feel less guilty and more positive.