• 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 ‘Getting Things Done’ Category

Mindmaps

Tuesday, March 31st, 2009

Ever since I read about how Arif Vakil uses a “My World Mindmap” to organize his life, I started using mind maps. It is such an utterly simple concept but yet I still find it fascinating.

If you don’t know what a mind map is, think of it as writing a single topic idea on a piece of paper, then drawing out a tree with new ideas as branches. You can draw as many branches and sub-branches as you like. That’s it.

There are two purposes for which I use mind maps:

1. Brainstorming

Nothing gets my brain thinking and crazily jotting down thoughts like a mind map can. This happens because it is not a linear format and encourages branching out in different directions. At the same time, you can group related ideas together which means you don’t have to detail each idea, the phrases should have quite obvious meanings from the branching hierarchy.

2. Attention Economy

“Pay attention to what has your attention” is another gem that I learned from Arif.

I have forced myself to spend an hour every week and update a mind map that lists my actions in the past week. If my intentions on how I would like to spend my ideal week does not match my actual actions, then, the problem becomes quite obvious. Otherwise, it will be yet another case of “What? A week is already over. Time just flies…” and then months and years fly by (and it has) and you’ll wonder what you’ve been doing all along.

To break this chain, I started being conscious of what I’m doing. At first, I was shocked at the drastic gap between inspiration and execution. But by constant review of this attention mindmap, I’m getting better at todo lists.

XMind

The best mind mapping software that I’ve come across is XMind. It also happens to be open source and cross-platform.

It has a very nice simple and fluid interface, intuitive keyboard shortcuts, nice handy marker icons and most importantly, feels like a coherent software.

Install XMind and try this:

  • Click on the “Central Topic” rectangle. Press F2. Type “Life” and press enter key.
  • Press the Tab key. Press F2. Type “Career” and press enter key.
  • Press the Enter key. Press F2. Type “Finances” and press enter key.
  • Press Shift+Enter keys. Press F2. Type “Family” and press enter key.

That’s it, you’ve now created a mind map and got a feel of the keyboard shortcuts.

But there is more.

  • Click on the ‘Finances’ rectangle.
  • Right click → Markers → Smiley → Boring
  • Click on the ‘Career’ rectangle.
  • Press F3. Add tags like ‘monthly review, skill’.
  • Press F4. Add your notes.
  • Press the Tab key and add subtopics like ‘The Big Goal’.

Sample of My World mind map

Continue filling out this mind map and you would have created your “World mind map”.



P.S. I’ve been thinking about writing more about productivity and lifehacks, so if this post was useful for you and would like to read about more such topics, please let me know.

Barcamp Bangalore 8

Monday, March 9th, 2009

I had a great time at BCB8. Even though I had ranted previously on the tech focus this time, the planners made it clear that all topics are welcome and Barcampers kept the same familiar atmosphere going.

To be honest, I don’t go to Barcamp for the sessions per se, it is mainly for the people and this is one of the most relaxed ways to catch up with friends and make new ones. I met a lot of people and had very good conversations.

Discussion on Mobile apps for India Django intro by Lakshman

My own session on webdev frameworks and their relation to newer technologies such as cloud databases had a rocky start because there were lot of first-time Barcampers and were expecting a talk-style session. Luckily, I was saved by 3-4 guys in the audience who got it and we had a lively discussion. The takeaway is that, yes, there are interesting possibilities when we natively integrate our webdev frameworks and cloud databases (via modifying the ORMs) and cloud computing facilities. A few people were interested in my suggestion to carry the conversation forward in some sort of mailing list. So please join the “evolving-webdev” mailing list if you are interested in exploring these technologies.

My session on webdev & changing tech

The other interesting session I attended was on philosophies of yoga by Shashikant Joshi. As expected, he gave a very different take on yoga than what we normally hear. He started off by explaining the meaning of the word ‘yog’ as “state of mind” and what our ancient scriptures say on how to attain bliss and remove sorrow. It was hard for me to not be reminded of GTD philosophy, especially the “mind like water” concept. I felt guilty that there is so much already written by our ancestors that we ignore and wait for people to rediscover it and preach it.

I missed Shree Kumar’s calligraphy session because it was at the same time. Oh well.

Besides that, there was a whole lot of hallway conversations.

Gopal was teaching people how to solve a Rubik’s cube. He has it nailed down to a few algorithms, I can’t even fathom how he had the patience to derive those algorithms. We timed him solving it. The first time he took 1 min 57 seconds to solve it. The second time he took 1 min 36 seconds. Phew.

Gopal explaining his steps to others Rubik's cube solved by Gopal

Then in another freewheeling conversation, we were talking about Zeno’s paradox and all sorts of stuff like that.

All in all, two non-stop days of fun reiterated why Barcamp remains one of my favorite events.

Thanks to all the planners (@ashwin, @daaku, @dkris, @fagunbhavsar, @hnprashanth, @viralsachde and others) who made it happen, and to Yahoo! for sponsoring the venue.

You can read more about what happened via the #bcb8 tag.

Announcing my free book on Vim

Tuesday, November 25th, 2008

Today is the first day of foss.in/2008, and on this occasion, I’m happy to announce the first public release of my Creative-Commons licensed book on the Vim 7 editor.

This book is meant for both beginners and advanced users.

For beginners, it walks you through the first steps to learning about modes, discusses about typing skills to be effective and moves on to the editing basics.

This book will definitely appeal more to people who are Vim users already because it helps add a huge number of tricks to their arsenal, whether it is more efficient editing, personal information management, coding your own plugins or making Vim a programmers’ editor.

I hope that fellow Vimmers will find these notes useful. Even though it is in a book format, the writing style is more like a tutorial and is informal, which should be familiar to readers of my Python book.

Both books are under the Creative Commons Attribution-ShareAlike 3.0 license, so you’re free to download it, email it, share it and improve it. In fact, the book is on a wiki, so you can just click on ‘Edit’ in the left sidebar of any chapter to improve the book in a matter of seconds. When in doubt, please use the ‘Discussion’ link to add your suggestions and comments.

For those who prefer reading books they can hold in their hand, please consider purchasing a printed copy of the book. This will also help support the continued development of the book.

For those PHP gurus familiar with GeSHi syntax highlighting, I would greatly appreciate any help in improving my vim syntax highlighting source, especially in handling Vim-style comments, etc. Please mail me if you can help.

This book has been in the works for several years, so I’m glad to see it finally in good enough shape for releasing it. Although I haven’t done as many rewrites as I would have been satisfied with, I decided it was better to <insert cliché of “Release Early, Release Often.”>

I dedicate this release to foss.in and GTD principles.

How to handle information overload

Tuesday, May 13th, 2008

Philipp Lenssen recently had a good post on tips on information overload by various people. It got me thinking about the various tips and tricks I’ve imbibed in the recent past and which work reasonably well for me. So I tried to collate them into one place:

Email

  • Always bring the inbox down to zero regularly. ‘Regularly’ is defined by you.
  • Never allow anything to be in your inbox > 2-3 days
    • If you’re not going to reply in that time frame, you never will. So simply archive it or reply with a one-liner saying you can’t look into it now.
  • If you don’t have anything to add, don’t reply.
  • Make sure you are clear on what is the action you are expecting from the recipient.
  • Reply in bullet points. Because everybody skims.
  • Once you’re done with the email (replying, taking action or reading), archive it.
  • If it is not actionable, archive it. Don’t let it remain in your inbox.
  • Use keyboard shortcuts.
  • Mailing lists go into folders. I simulate them in Gmail using “Apply label, Skip Inbox” in the filters. The reason is that mails not directly addressed to me are not urgent, so I can process them whenever I have the inclination. Whatever is in my inbox is what deserves immediate attention.
  • Minimize the number of times you need to check email. The minimum that is required for you to stop worrying about it. The beauty of email is that you can reply at your pace. Make use of that feature. If you end up constantly checking email, you’re better off resorting to phone calls or instant messenger.
  • [new tip] Before you send the next email, go through the checklist.

Feeds

  • Use your feed reader once in a few days. The world won’t stop without you.
  • Use a desktop feed reader because it is faster to use.
  • Have a ‘Try Before You Buy’ folder where you add feeds. If it doesn’t turn out to be useful, delete it.
  • Have a number in mind, say 100 feeds. If you add a new feed, delete an old feed that is no longer interesting.
  • If you end up doing a ‘Mark all as read’ on a feed 2-3 times in a row, delete it.
  • Separate them into categories and/or priorities.
  • Most importantly, read interesting things. Do not aim for reading 500+ blog posts a day. Optimize, don’t maximize.
  • Remember that the goal is to derive some value out of this reading and that value is usually knowledge. If it is not helping you towards that goal, delete it. Don’t think twice, just delete it.
  • While working, if you feel the need to distract yourself once in a while or read something interesting, don’t use your feed reader but use good filters like TechMeme or programming.reddit or a good link-blogger on your subjects of interest. Have a separate dedicated time for reading feeds.
  • Take notes. Over time, you’ll judge if a feed is useful or not depending on whether you’re taking (any) notes or not.

Inlets

  • Cut down on the types of inlets – Email, Feeds, Twitter, IRC, Messenger, Phone, etc. (this one is particularly hard for me)
  • Spend at least 50% of your time at the computer with all these inlets shut down.

Focus

  • Personally I find productivity inversely proportional to information overload. The days when I’m productive and “in the zone” turns out to be the days when I’m less affected by information overload. The vice-versa is true as well. So if you focus on the right things, the information overload problem will get solved by itself.
  • Maintain focus by having a todo list. Have a big todo list and then pick random tasks from that list depending on your energy levels and get things done.
  • Never indulge in tasks outside of your todo list. If you’re not in the mood for any of them, don’t indulge in wilfing. Go out instead – whether for a walk, or call up a friend or even read a paper book. If you’re not being productive, just get out of the chair.
  • Don’t use fancy software for writing lists. Use a good plain text editor (like Vim).
  • Use GTD.
  • Use an auto-pilot schedule (I’m still learning this).


P.S. Many of these ideas have been borrowed from elsewhere. It’s been a long time since I imbibed all these, so I don’t remember all the sources from which I gleaned them.

It’s all in the mind

Wednesday, February 21st, 2007

(Warning : I just started typing this post because the title popped into my head, so what follows might seem like a lot of rambling.)

No matter how much we talk about talent, opportunities, and other things we can blame on, making things happen basically boils down to one thing – it’s all in the mind. And of course, you need to put in some effort too, but that again is derived from your mindset.

For example, I have a few problems that I chronically face:

  1. If I have an idea or come across something interesting or even start on a new project at work, I tend to have a lot of enthusiasm at first but soon forget it later in the drudgery of everyday life, and especially so when it comes to personal projects.

  2. I tend to get worked up on deadlines and schedules without actually paying attention to the work.

  3. I am constantly worried about not following up on things and not being organized.

About six months ago, I started following the ‘Getting Things Done’ (GTD) philosophy and it has helped me improve a lot w.r.t. these problems. This helped me concentrate on actions and not only on problems. As and when you keep showing up and doing things, you’ll see the progress yourself and you’ll be a happier person. That reminds me of this LifeHack article: “All you need is the willingness to take the next most obvious step – then repeat the process again and again, regardless of how you feel. Try it.Happiness comes from seeing the results of your efforts. You don’t need it before you start.

The gist of GTD is to concentrate only on the next physical action and let other things take care of itself. This helped me deal with the second problem.

When it comes to problem 3, I’m way more organized now, to the point, where I think my actual talent (or the lack of it) and the willingness to put in effort are the barriers. I hope Knuth’s philosophy of being at the bottom of things will help me here.

These three problems are similar in the sense that they tend towards one point – it’s all in the mind. To alleviate it, I applied the GTD approach.

Similarly, if you’re worried about what kind of raise you’re going to get this year, etc., then stop worrying. There is no use of worrying over things that you can’t control. You can’t control the traffic on the road, so if you need to reach a place on time, just leave early and the rest will take care of itself.

If you’ve been sweating it out for the past couple of hours trying to fix a bug and you’re not making any headway, then it is important to switch to a different problem and then come back later. You’ll come back with a fresh perspective, fresh energy and fresh ideas on what to look out for and may be the things you’ve overlooked previously might be the actual problem. This is also important because it helps you to always keep moving forward, one way or another, and you don’t get stuck in one project and don’t move in other projects (and by project, I mean the GTD meaning of ‘project’).

There has been many a time when I’ve gotten frustrated and feel like just banging my head on the keyboard. This is where I take a step back, relax and say to myself ‘CUT to the G’ (yes, that’s a phrase I coined for myself):

  1. Concentrate
  2. Understand
  3. Think
  4. Get Things Done

Each of these steps is important in its own way, but I personally underestimate the value of the second step. Knowing what you’re exactly doing is a critical nature of a programmer especially because only you would know how the system exactly works and nobody else would look at it, everyone else is just a end user.

Step 4 is eventually what gets you moving, but Steps 2 and 3 are equally important. As Abraham Lincoln once said “If I had eight hours to chop down a tree, I’d spend six hours sharpening my axe.” And to get to this stage, you need to do Step 1 which boils down to one thing – It’s all in the mind. That’s why it’s so hard.




Footnotes

  1. Related reading: ‘Leadership – Some Random Thoughts’ by Lawrence Rabiner.

  2. That doesn’t mean to say that you/I can achieve anything and everything, it’s just that you need to get over the mindblocks to do even the simple things that you are capable of achieving.

The Search

Thursday, June 1st, 2006

The Search book cover

I just finished reading ‘The Search’ by John Battelle. What an amazing story to read. Learning about Bill Gross and his IdeaLab alone was worth reading the book, and he still keeps ideating, like Snap.com. Heck, even Picasa came from IdeaLab.

There are many tidbits from the book that were interesting, such as about Louis Monier:

It was Louis Monier who took AltaVista from concept to executable code … “I’ve always been interested in big, nasty problems,” Monier told me. Search provided one of the nastiest. Not only do the numbers scale to the near infinite, there was a very real need for good search in 1994. “Search engines at the time were just terrible,” Monier recalls. “Yahoo was a great catalog, but it had no search. So I set about to work on the crawl.”

About Stanford:

Stanford’s 6,200-acre patch of rolling California woodlands is the most productive incubator of technology companies the world has ever seen. Nestled between the silicon factories of Intel and Apple on one end and Sand Hill Road’s venture capitalists on the other, Stanford is a place where students have already dreamed of starting their own companies or going to work for a pre-IPO start-up. And Stanford’s computer science department, where Yang and Filo hung their hats, is perhaps the most prodigious start-up incubator of them all.

About Yahoo:

Another reason Yahoo succeeded was its sense of fun – a characteristic that would come to define not only Yahoo, but nearly every Internet company seeking the fickle approval of the Web public. Yahoo pioneered some of the Web’s earliest social mores – including, for example, links to competitors’ sites in case a searcher could not find what he or she was looking for, and listing “what’s hot” prominently on its home page, thereby driving extraordinary amounts of traffic to otherwise obscure sites.

Thanks to practices like these, the company captured the public’s imagination early and often, garnering a slew of adoring press notices familiar to anyone watching Google’s rise to prominence over the past few years.

About how a mathematical curiosity led to PageRank:

Page didn’t land on the idea of Web-based search at the outset; far from it. Despite the fact that Stanford alumni were getting rich starting Internet companies, Page found the Web interesting primarily for its mathematical characteristics. Each computer was a node, and each link on a Web page was a connection between nodes – a classic graph structure. “Computer scientists love graphs,” Page tells me, referring to the mathematical definition of the term. The World Wide Web, Page theorized, may have been the largest graph ever created, and it was growing at a breakneck pace. One could reasonably argue that many useful insights lurked in its vertices, awaiting discovery by inquiring graduate students. Winograd agreed, and Page set about pondering the link structure of the Web.

About Google’s geeky sense of humor and control:

On April 29, 2004, Google filed what certainly had to be the most unusual S1 – the formal public offering document – in recent memory. At filing, Google declared it would sell $2,718,281,828 worth of its shares – a seemingly random number, which was, in fact, the mathematical equivalent of e, a concept not unlike pi that has unique characteristics and is well known to serious math geeks. By manipulating the actual offering to provide this knowing wink to nerd humor, Google was in effect declaring: the geeks are in control.

Perhaps, the most interesting part of the book for me was the last chapter – ‘Perfect Search’. Battelle profiles what could be the future of Search.

When it comes to search, as with the Internet itself, the most interesting stuff is yet to come. As every engineer in the search field loves to tell you, search is at best 5 percent solved – we’re not even into the double digits of its potential. And search itself is changing at such a rapid pace – in the past year important innovations have rolled out once a week, if not faster – that attempts to predict the near future are almost certainly doomed.

I’ve been working on the Yahoo! Buzz Index for the past 2 years, and many a time I’ve been asked (by friends and colleagues) why I haven’t changed teams yet. But I often ponder to myself – change to what? Being a rabidly information-hungry internet user (well, I’ve calmed down off late), I always found search engines remarkable and Buzz does a lot of analysis on search, it’s quite fascinating, and the sheer volume of data is equally interesting. I’ve had my share of ups and downs (and some very steep downs), but it has been interesting.

We do a lot more than what Google Trends does, however Buzz has a more practical business model in which the interesting insights are kept for the paid customers and the interesting stories are written for the public.

(more…)