Showing posts with label Personal. Show all posts
Showing posts with label Personal. Show all posts

Saturday, October 12, 2013

Notes on entrepreneurship (Part 2)

In the first class, we divided ourselves into random groups, each with four people (mostly from different background). The idea was to pitch an startup idea within 10 minutes based on the means of our group members. This exercise was repeated again with different set of people. One thing I noticed after this exercise was even though it seems like nice idea to start with your means and build a startup based on that, people usually revert back to the idea that they are absolutely passionate about, irrespective of their means [8].

As an assignment that week, we were supposed to take $5 and in span of two hours make as much money as we can. My group decided to go with "Grocery delivery service for professors" and each of us were supposed to ask professors in our department to help with that. I got to speak to only few professors in Computer Science department (as it was Friday) and only Swarat was on-board with the idea. My team-mates were unable to get any professors from their respective department, so they decided to go with another idea: "Personalized cards and their delivery". We made $10 in tips with the first idea and ~$13 with the second idea. The lesson from this exercise was sales is hard, but probably the important part of a startup [9].

In the next class, each of us gave an elevator pitch of their idea for a startup. Let me put my idea with respect to previous post:
1. Means:
- What do I know ? Background in software development, research experience in building large-scale systems and knowledge of embedded systems.
- What do I have ? Very low capital ... student salary :(
- Whom do I know ? Software professionals in India and US (from my bachelors, masters and job experience), Marketing/Advertising professionals in India (my father's advertising firm and my MBA friends), Trustworthy partner in India (my best friend and brother Rohan), Research scientists (my advisor, my colleagues at Rice university [3], my collaborators, contacts from internships and also from my experience as President of Rice Computer Science Graduate Student Association). Other than couple of exceptions, until now I have been lucky enough to be surrounded by really nice people, which is why I believe this to be my strongest means [4].

2. Ideation:
In the previous blogpost, I vented my frustration over sexual assaults cases in India as well as provided high-level suggestions (which I must admit I had no control over). So, I decided to use my means to develop something that might help improve the situation (in whatever little way possible).
Unlike US, the commonly-accepted safety net in India is not government/police, but the social structure (i.e. your friends and family). Many of the personal safety solutions like pepper spray, taser or guns require state licenses in many countries and are even prohibited in few countries like Canada, China, Bangladesh, Singapore, Belgium, Denmark, Finland, Greece, Hungary, etc. Not to mention they are expensive and can often escalate the situation.  This is why many people follow a self-imposed curfew, that is either not leave home after dark or have someone accompany you.
With advent of smartphones, an obvious solution seems to be "have a personal safety app". Most of these apps have cool features such as sending GPS location to your friends and family but have a major flaw that make them non-functional: they require you to take out your phone, open the app and press an SOS button in it. Clearly, this is not what an average person would do in times of danger. Here are some of the feedback/comments on such apps [1]:
- I think a "dangerous environment" is the last place I would want an expensive item like an iPhone prominently displayed.
- ... app (might not be) readily available to access, on screen #8 somewhere on the 2nd or third row ...
- Pulling out your iPhone in the face of an attacker? That's one sure way to escalate the situation. And he now knows you have a nice phone too.
Reality check: Not only I am passionate about this problem, there does not exists a solution that works satisfactorily (i.e. "pain points") ... to me, they are just cosmetic app, the ones you buy for keepsake but does not serve any purpose to the society.

Before discussing next point, let me take a small detour and tell you what metric I use to determine the success of this startup [2]: At the end of the course (or may be few months past that), I am able to make an app that works seamlessly in real-life situation and which I can recommend to my loved ones without any hesitancy.

3. Opportunity evaluation:
Like many computer programmers, I have an habit of developing software that do exactly what I want but not what my audience would need. To ensure that it doesn't happen, I sent out an survey asking people what they would like in during times of emergency. The demographics of participants were as follows:
- 53% males and 47% females
- 82% of participants were between 20-30 years old and 14% between 30-40 years old.
- 59% from US, 16% from India and 8% from China
- 24% had Bachelors degree, 47% had Masters degree, 27% were PhD students.
- 32% earned between $10K-50K, 28% earned between $50K-100K, 16% earned above $100K and 20% were not currently earning.

Here is the summary of responses:

The above figures shows that majority of people (46%) wanted an external device like bluetooth-clicker that victim can press when he/she is in danger. This was a good indicator that I should go ahead and spend some time building such an app.

The next step was to understand what features a user would want/need in times of emergency:

Since some of these features require backend services (for sending emails/SMS, managing account/app) which need capital (I am not rich enough to maintain this kind of service on my own), I asked how much people are willing to pay for this kind of service. It was clear that most people preferred buy-once kind of a model:


Now, the checklist of opportunity evaluation:
a. Unique value proposition of my idea: "Affordable" and "hassle-free" way to connect to your friends, family and authorities in times of emergency ... with just a click of button.
b. Is it defensible: Nope, anyone with strong programming experience can replicate the features of my app. In fact, in long run, that is exactly what I want ... lot of good apps and competition that eventually help reduce the number of sexual assaults and make the world little safer place.
c. Is it profitable/sustainable: I really don't know :( ... It could be a product like dropbox, which people never thought they would want ... but once they got it, they can't imagine their life without it ... or it could be a total flop. The only way to be completely sure is by implementing it :)
d. Clearly defined customer: Young women traveling abroad or working late, senior citizens and frequent travelers.
e. Is it feasible and scalable: Yes, I used my experience in building large-scale cost-effective systems to build the backend. Also, my experience in C/C++ programming, knowledge of design patterns and user-friendly Apple documentation helped me: (a) learn the basics of Objective C in less than a week and (b) build the version 1.0 of the iOS app in less than a month.

Finally, I must reiterate the core principle of opportunity evaluation for a startup: It is not possible to know a priori whether an idea will turn out to be good business or not. So, I decided to stick to "affordable loss" principle and develop the app with as low cost as I could. Few of the hacks I used to ensure "affordable loss" are as follows:
- Moving most of the computing to clients rather than server (so as not to buy overly expensive servers).
- Using pay-as-you-use services wherever I felt absolutely necessary (for example: Amazon web-services).
- Using GIMP to develop my own logo (which I had to learn btw :P) rather than hiring a designer [6].
- Using wordpress for the startup website rather than spending days perfecting the CSS to make it mobile-compatible or hiring a web-developer.
- Focusing on minimum viable product (using Texas Instrument's SensorTag) rather than prematurely buying tons of bluetooth clicker from China [12].
- Using in-app purchases rather than setting up credit-card system in my website to provide features which other services charge me (for example: SMS/Email) [10].
- Not running after patents early on in the venture [5].
- Buying readily-made icons set rather than designing them yourselves [7].
- Choosing a hosting plan that has no hidden fees and that supports your choice of backend services.
- Using gmail as support email (rather than one provided by hosting services) and adding feedback button in app as well as contact form on the website (with some kind of captcha [13]). One tip I have for new developers is try to minimize the number of clicks/typing in app for sending feedbacks, for example: pre-fill "to-" address as well as "subject line".
- Utilizing the membership benefits of Apple/Google development program, i.e. off-loading testing [11], advertising/cross-promotion, expert feedback, reliable delivery of your software and version management.

References / footnotes:
[1] http://reviews.cnet.com/8301-19512_7-57452393-233/iwitness-app-claims-to-be-ultimate-deterrent-to-crime/
[2] Rather than use metrics like expected profit/revenue after first year or public offering or something on similar lines.
[3] I already have got 4 other PhD students from Rice university on-board to develop Android/Windows version of the app. This is in lines with another principle of Effectual Entrepreneurship: Form partnerships.
[4] The intent of this statement is not flattery, just an observation. Here is why I think so: though I never deliberately tried to enforce it, my circle of influence consists of three types of people: those who are genuinely nice, those who are smarter than me, and non-self-destructive people. Of course, the categories are not mutually exclusive and in fact people who are smarter are usually genuinely nice (probably because they only focus on self-upliftment, not on pulling others down). Here is a layman example most people can relate to: even in course with relative grading, a smart person knows that he/she is a student of global class and is not be threatened by his/her class-mates' progress ... which is probably why you will rarely find such a student shying away from group discussion (so as to gain advantage) or deliberately spreading false information to sabotage other's grades. May be things might not be such black-and-white in other fields, which is one of the reason why I absolutely love research and development.
[5] A patent attorney who attended our class thought one of the feature of our app is patentable, which might be true. But there are 2 problems with going that way: (a) the real cost of patent is not in getting it, but in defending it, (b) It will limit the features that other programmers who are smarter than me can introduce in their personal safety app (which goes against my success criteria for this particular problem). To be completely honest, there are ways around low-capital issue for those startups who really want to get a patent: (1) file provisional patent yourself under $200 (just read about how to define the scope of your patent and also about court dates), (2) ask your parent organization or angel investor to file a patent for you in exchange for royalties or stake in the startup (for example: Rice university's OTT office), (3) contact a patent troll to defend you patent.
[6] For people with little more budget, there are websites like http://99designs.com/ and https://www.elance.com/ that allows you to hire a free-lance designers/developers. A similar website for building mock prototypes of your products to show to investor is http://www.protomold.com/.
[7] There is always a tradeoff between time and money, you just have to figure out what is your exchange rate for time ;) ... for example: if someone is providing you service that will save you 1 hour, how much are you willing to pay for that service.
[8] Whether building your startup "based on your existing means" is better than "based on your passion and then expanding your means as you go" or vice versa, I really don't know. There are obvious advantages for both and also obvious disadvantages when pushing the respective principle to extreme.
[9] Even though you might think an idea is pretty good (and will benefit the customer), people are not willing to pay as much as you think ... probably because it's either suspicion that you are trying to dupe them or incorrect valuation of the product/market from your end or something else.
[10] Though it might seem simple to just plug-in existing credit-card library and setup a php page with mysql backend, things get a little complicated when you start thinking about transactional semantics and the fact that people can buy new devices or deleting the app and similar situations.
[11] In traditional company, a developer would be evaluated based on stupid metrics, such as bugs assigned, solved, etc. Though on paper they seem apt, they can have harmful side-effects for startup such as spending too much time perfecting a feature without any customer validation/feedback. So, instead of spending significant resources on testing, submit your app to Apple as and when you add new feature and indirectly ask them to test it :) ... Other way, for cheap testing is by using crowd-sourcing websites such as Amazon's mechanical turk (which I will ignore for this post).
[12] Since the SensorTag took a while to be delivered to my home address (thanks to my apt complex rejecting the package), I decided to use an accessory that I already owned for version 1.0 (i.e. headphones) and introduce bluetooth feature in the next version.
[13] There are lot of wordpress plugins that allow you to add captcha in your website in just few minutes.

Saturday, January 29, 2011

Life's wonderful and unexpected moments (in no particular order)

1. Life changing speech from Dad or anyone you respect.
2. Laughing so hard your face hurts.
3. Helping someone when they need you the most.
4. Falling in love.
5. Hearing your favorite song on radio while driving and singing it unmelodiously.
6. Lying in bed listening to the rain outside, sometimes even waking up to see it with hot cup of coffee.
7. Mom's hot tea, birda, chicken, ... well almost anything she makes.
8. A good conversation.
9. Watching sunset/sunrise on the beach.
10. Laughing at yourself.
11. Laughing for absolutely no reason at all.
12. Laughing at an inside joke.
13. Being sincerely happy for someone.
14. Midnight phone calls that last for hours.
15. Having someone tell you that you're handsome/sexy/intelligent.
16. Accidentally overhearing someone say something nice about you.
17. Waking up and realizing you still have a few hours left to sleep.
18. Your first kiss.
19. Making new friends or spending time with old ones.
20. Playing with a new puppy.
21. Acting like teens once in a while.
22. Having someone play with your hair.
23. Having a wonderful dream.
24. Road trips with friends.
25. Nice swedish massage.
26. Watching a really good movie cuddled up on a couch.
27. Going to a really good concert.
28. Going to a (football/cricket) game and shouting/dancing/cheering the whole time.
29. Getting butterflies in your stomach every time you see that one person.
30. Making eye contact with a cute stranger.
31. Winning a really competitive game.
32. Running into an old friend and realizing that some things (good or bad) never change.
33. A long distance phone call.
34. Taking a drive on a pretty road.
35. Feeling that you get just before you think you are going to get into trouble and especially the one after you escaped it narrowly.
36. Playing "pretend games" with kids.
37. Visiting a temple/church/mosque or any place of worship.
38. Hugging the person you love.
39. Getting a creative idea which keeps you awake all night.
40. Boating/Kayaking/Canoeing
41. Camping/Trekking in nature park/beach.
42. Having sex.
43. Laying on grass and watching sky through leaves.
44. Laying on beach and trying to count the stars.
45. Watersports: Para-sailing, snorkelling, jet-skiing, scuba-diving.
46. Swimming in the sea or lake (especially if you are not a good swimmer).
47. Browsing through books in library or bookstores especially the fields other than your research/work.
48. Reading a thought-provoking quote/paragraph.
49. Learning and appreciating a new word.
50. Learning a new language.
51. Trying something for the first time.
52. Going through the pain barrier in the gym.
53. A hot shower.
54. Trying new food/restaurants.
55. Travelling to new places.
56. Getting drunk or handling a drunk friend.
57. Donating your blood/time/food/money/organ.
58. Pursue any one topic till you attain excellence in it.
59. Doing something against rationality and totally from the guts, especially people around don't believe in you.
60. Teach a child something new.
61. Forgiving someone.
62. Buying something you always wanted for several years.
63. Dancing senselessly in a party/marriage/procession.
64. Realizing you are being loved and respected by few very important people in your life.
65. Jogging outdoors while listening to your favorite music in a nice weather.
66. Playing with colors during Holi.
67. Be a part of human pyramid during Dahi-Handi.
68. Burning fire-crackers during Diwali.
69. Sitting/Standing by the door in the train.
70. Riding a horse.
71. Learning to play a musical instruments.
72. Being thanked for a nice gesture.
73. Being heartbroken.
74. Running through sprinklers or walking in the rain.
75. Playing with the snow.
76. Feeling of calm in solitude or while meditating.
77. Blood-rush to the brain while doing yoga.
78. Dressing funny for a costume party.
79. Feeling of levitation while jumping or catching a frishbee.
80. Take-off and landing of an airplane.
81. Sitting in the cockpit of Boeing 777.
82. Buying your first car/house.
83. Sailing on a yatch.
84. Being married to an amazing person.
85. Attending a major sporting event: the World Cup (Cricket/Soccer), Super Bowl, the Olympics, the U.S. Open.
86. Throwing a huge party and inviting every one of your friends.
87. Going to Disneyland/Seaworld and other them parks.
88. Skydiving/Bungee jumping.
89. Having your portrait/caricature painted.
90. Watching the launch of the space shuttle.
91. Spending a whole day eating junk food without feeling guilty.
92. Performing in front of large crowd.
93. Telling someone the story of your life, sparing no details.
94. Rollerblading/Skating/Ice-skating/Paintball/shooting-range/go-karting
95. Fishing in the sea.
96. Being someone's mentor.
97. Shower in a waterfall.
98. Painting the walls of your own house.
99. Being proud of someone else's achievement.
100. Getting a lapdance from the cutest girl you have seen.
101. Having an uncontrollable giggling fit at the worst possible moment.

Thursday, July 22, 2010

The Last Lecture

Carnegie Mellon Professor Randy Pausch (Oct. 23, 1960 - July 25, 2008) gave his last lecture at the university Sept. 18, 2007, before a packed McConomy Auditorium. In his moving presentation, "Really Achieving Your Childhood Dreams," Pausch talked about his lessons learned and gave advice to students on how to achieve their own career and personal goals.

If you haven't seen the video, I highly recommend it: http://www.youtube.com/watch?v=ji5_MqicxSo

These are some of the points that I found enlightening:
- We don't beat the reaper by living longer, but by living well, and living fully — for the reaper will come for all of us. The question is: what do we do between the time we're born and the time he shows up.
- It is not the things we do in life that we regret on our death bed. It is the things we do not. Find your passion and follow it.
- The brick walls are there for a reason. The brick walls are not there to keep us out; the brick walls are there to give us a chance to show how badly we want something.
- Experience is what you get when you didn't get what you wanted.
- When you see yourself doing something badly and nobody's bothering to tell you anymore, that's a very bad place to be. Your critics are the ones telling you they still love you and care.
- When you are pissed off at somebody, and you're angry at them, you just haven't given them enough time. Just give them a little more time — and they'll almost always impress you.
- Never lose the child-like wonder. It's just too important. It's what drives us.
- Don't complain; just work harder.
- Show gratitude.
- It's not about how to achieve your dreams. It's about how to lead your life. If you lead your life the right way, the karma will take care of itself. The dreams will come to you.
- If I could only give three words of advice, they would be, "tell the truth." If I got three more words, I'd add: "All the time."
- Do not tell people how to live their lives. Just tell them stories. And they will figure out how those stories apply to them.

May GOD rest his soul and bless his family.

Sunday, July 05, 2009

Why are Indians targetted ?

I am writing this article in response to the article of same name in "Times Life" (a section in the news paper Times of India) dated July 5th 2009. Most of the ideas are borrowed from this article.

Let us first enumerate what could be the major reasons why Indians are targeted:
  1. Racism and jealousy
  2. Cultural and Behavioral habits (the "Herd" mentality)
I would like to ignore the first reason and want to focus on the second reason only. Here are the points that support my assumption:
  1. Serenity Prayer
  2. My experience in Gainesville, Florida suggests that most people are comfortable with working in a multi-cultural society. Some people may not like some sect of people, but it is usually due to personal preference rather than racism (It is important to note there is a difference. Just because I am from different race or ethinicity doesnot mean the other person has to like me. It is only when the other person starts humiliating you, it is racism).
  3. Whenever there is a inter-relationship problem, it is better to start identifying the problem in yourself first and try to improve it rather than finding problems in others and blaming them for the situation.
Statistically speaking, I have seen most Indians hanging out with only Indians. There are several reasons for that:
  1. We do not want to put extra effort to understand the cultural diversity and to come up with a harmony of both Indian cultural system and the host cultural system. For example, most jokes we share with our "Indian" friends might not be funny when we share it with people from different race.
  2. Fear of rejection/intrusion: We do not take up the initiative to talk to a "non-Indian" colleague and bond with him/her. By bonding, I mean come up with a level of comfortableness, where both you and him/her can enjoy daily discussions (say sports, politics, family, etc ..). Usually, people take this initiative only when both parties have to spend a lot of time with each other as colleagues.
  3. And many more ...
The bottom line is this ... Assume non-racist environment and ignore few "racist" wise-a**. It is very important to understand and respect the host culture. Put effort to find out common trivia regarding politics, sports, etc which might be a topic of daily discussions among peers. Participate in some (host-cultural) social events, such as going to a bar, bbq, etc. Always respect the host law. And be a good guest (i.e. make the host comfortable around you) !!!

This article does not in any way suggest changing your value system. I am proud to be an Indian, and I will never change by values (eg. respecting elders, praying, helping others, etc ..). But it doesnot mean only the Indian value system is the best and all others are inferior. I think I could learn a lot from US and it is necessary to put effort to learn the host culture.

Thursday, June 18, 2009

Swine Flu

CDC has announced H1N1 flu as pandemic disease and my parents (back in India) were worried. Here are the few facts(as of June 12, 2009) that might ease their concern:
1. Respiratory mask are advised only to people with high risk of influenza (See table 1 at http://www.cdc.gov/h1n1flu/masks.htm)
Most of young college graduates do not fall into this category (unless you are studying health care or related fields). See http://www.cdc.gov/h1n1flu/masks.htm#footnote3

2. Number of confirmed or probable cases: 17,855
Number of Deaths: 44

Well, if you are an Indian, I guess you are pretty much immune to it (See Statistics of Malaria for India)
number of deaths | 9352 deaths per year
cause of death probability | 1 in 1110 ~~ 0.090%
rate of death | 1 death per 100000 persons per year
DAILY | 843 738 life years lost per year
DAILY rate | 80 life years per 100000 persons per year
For US, Statistics for Malaria are:
number of deaths | 3 deaths per year
cause of death probability | 1 in 768898 ~~ 0.00013%
rate of death | 0.0011 deaths per 100000 persons per year
DALY | 57 life years lost per year
Well, you can see statistically if you were not paranoid about fever or malaria or cold/cough in India (or US), you need not be worried about Swine flu either.

However, here are prescribed precautions by CDC for Swine flu:
  • Cover your nose and mouth with a tissue when you cough or sneeze. Throw the tissue in the trash after you use it.
  • Wash your hands often with soap and water, especially after you cough or sneeze. Alcohol-based hand cleaners are also effective.
  • Avoid touching your eyes, nose or mouth. Germs spread this way.
  • Try to avoid close contact with sick people.
  • If you are sick with a flu-like illness, stay home for 7 days after your symptoms begin or until you have been symptom-free for 24 hours, whichever is longer. This is to keep from infecting others and spreading the virus further.
  • Follow public health advice regarding school closures, avoiding crowds and other social distancing measures.
Reference: Statistics are gathered from Wolfram Alpha and CDC

Sunday, April 26, 2009

My bookmarks, research papers, books

I use xmarks to synchronize my bookmarks since I have both Windows and Ubuntu machines: http://share.xmarks.com/folder/bookmarks/W6kXue0nMH

I am experimenting with Zotero: https://www.zotero.org/niketanpansare/21978/items

If you have missed by previous post:
I am using citeseer for managing the papers I read: http://www.citeulike.org/user/niketan

Here is a list of books I would like to read: http://spreadsheets.google.com/pub?key=pRiihxKnNDBmNK4-OrOY0ZA

Monday, April 13, 2009

Time Management tips by Randy Pausch

1. Create a list of 100 things you want to do in life.

2. Ask yourself each time you are doing a thing --> why am I doing this ? Use the list for reference.

3. Also make sure you focus on critical few, rather than trivial many.

4. If you can dream it, you can do it.

5. Plan each day, each week, each semester. You can change your plan but you need to have one to change it.

6. TODO List - Break things down into little steps. Do the ugliest thing first.

7. Covey's four quadrant TODO:

 

Due Soon

Not Due Soon

Imp

1

2

Not Imp

3

4

 

8. Clean up the desk. Focus on one thing at a time.

9. Touch one piece of paper at a time. Your inbox is not your TODO list.

10. Recommended - Atleast 2 screens, Speaker phone, Desk space to work, Desk near window

11. Write - Thank you notes. Because it is rare. Gratitude is extremely helpful. (One Minute manager: Killer Whale Eg.)

12. Post-IT Notes

13. Say NO graciously. I will do it if you don't find anyone else.

14. Find your creative time and defend it ruthlessly. Spend it alone.

15. Find your dead time and schedule meetings, phone call during that time.

16. Buy a earphone piece for Iphone.

17. Keep a box for the person, then when the box is full, interrupt the person and tell him/her the things you have for them.

18. Voicemail: "... I encourage you to send me a mail @ ..".

19. Time journal. Update it every 1/2 hours. Monitor yourself after 3 days and 2 weeks.

20. Make a fake class - Take a book and go to library.

21. Doing things at last moment or Thinking Work expands to fill time, hence do it at end ---> Stress + Expensive (Work Hard). Better Approach: Make a fake deadline.

22. Treat the people well. (Do dirty work yourself).

23. If you want someone to get things done: Give them a specific thing to do, a specific date/time and specific reward or penalty.

24. Send a mail after a conversation so that there is no confusion.

25. Ask people to find out their agenda before meeting. One person is assigned who writes down decision made in the meeting and mail it to everyone.

26. Do not delete the email. Save them for later reference.

27. If a person has not responded in 48 hours, its OK to nag them.

28. When you are on vacation, keep a vacation responder. Note: Its not a vacation, if you read email.

29. Kill the television. Average person watches the TV for 28 hours a week.

30. Exchange money for time. Get other people to do trivial work for you. Eg: mowing the lawn, ...

31. You always have time for eating, sleeping and exercise. Never take time out of those.

32. Never break a promise; Call and renegotiate the deadline if you think you cannot finish it by deadline.

33. Feedbacks Loops: Ask in confidence.

34. Get a PDA if you don't have it and use it wisely.

 

I donot have brain to spare for things computers can do for me - todo list, calendars

 

Recommended Books:

1. One minute manager

2. 7 habits of highly successful people.

Tuesday, March 17, 2009

Creating flash cards using Latex

Installation (in Ubuntu):
1. Install Kile
2. apt-get latex texlive and texlive-latex-extra packages
3. Modify the /usr/share/texmf-texlive/tex/latex/flashcards/flashcards.cls to new flashcards.cls
4. Print them in pdf format for reading

My future Pet project:
1. Create a java viewer (since I use both linux and windows) for latex or use some open source java library that renders latex (I didnot find a good C# library that does it either).
2. Use the flashcard package.
3. Use supermemo algorithm or Leitner system to enhance learning experience.

References:
Guide to using flashcard document class: Alexander Budge's document
Installation:
Collections of good flash cards: http://www.physics.utah.edu/~jasonu/flash-cards/

Friday, March 06, 2009

How to access the machine in CISE labs @ UF

Here is CISE's official webpage for accessing CISE public machines: http://www.cise.ufl.edu/help/access/index.shtml

Here is quick summary:
To access linux or solaris cise machines, you can 
SSH using "Putty" on thunder.cise.ufl.edu (or sand, rain, bay, shine, storm, ...)
or SCP using "WinSCP"

To access Windows machine, you can remote desktop (or rdesktop) to new-mercury.cise.ufl.edu

If you have an office in CISE labs, you can access you machine using following steps:
Note: You will need a CISE account and password to the local machine. :)

You can replace 10.227.170.147 using your IP address.
 
To be done once: install vnc server and openssh in you session and vnc client on you home machine

Start vnc server on the machine (in CISE Lab)
1. Locally using command: vnc4server :n (where n is some number say eg. :2)
or on remote machine - these are steps 
1. open putty
2. ssh to rain
3. ssh to 10.227.170.147 from rain
4. vnc4server :n (where n is some number say eg. :2)

1. open putty
2. Go to Connections > SSH > Tunnels
Source port: 5901
Destination: 10.227.170.147:5901
3. Connect to rain.cise.ufl.edu n leave the session as it is
4. Open VNC client and connect to 127.0.0.1:1
5. Enter password in the small dialog box
6. gnome-session (if you get a terminal, you can skip this step by configuring the vnc server settings)

Sunday, September 14, 2008

GatorMemo version 3.0 is ready !!!

After I decided to do PhD, I always wanted to improve my study process (especially my notes management system). After several discussions with my internship manager Raman Iyer, my friends Raja Nadar and Kishore Malani, I decided to go ahead with GatorMemo. It is build on principles of SuperMemo (spaced learning) and Mindmaps.

It started out as Windows Form application which resulted in version 2.0. I feel the user interface is too complicated for normal user, so decided to build it again from scratch using WPF instead of WinForms. Functionally, there is no difference between these two versions (except WPF doesnt have facility to play audio/video files. I might add them as soon as I get time to work on it).

Suggestions:
1. Read a book, research paper, or go through lectures/podcast/videos, etc ...
2. Then, create a mindmap after completing understanding the topic. I usually refer to 3 or more books and then organize my thoughts into mindmap. I strongly suggest to put huge amount of efforts to create a good mindmap.
3. Now, create card for each node. Front side of card can be a question about the node or simply node name and Back side can be the answer or description about the topic that the node represents.
4. I recommend adding mnemonics and bibliography to mindmap and cards. Mnemonic will help you recollect the subject matter and Bibliography will be extremely useful if you are planning to write a research paper.
5. Periodically, revise the card by using the Autolearn under Action tab (This software uses SuperMemo algorithm developed by Piotr Woznaik).
6. I also suggest using Lateral Thinking especially if you are planning to write a research papers.

Here is link to setup version 3.0: (I encourage you to to use this version)
http://niketan2.googlepages.com/GatorMemoSetup.msi

You can import following file (see Action tab):
http://niketan2.googlepages.com/OSMindMap.zip to see how s/w works :)

It is still in Beta phase, so expect bugs / exceptions :) ... (Infact I am so busy with my studies/assignments, that I did not time to any kind of corner case testing). Please mail me if you find bugs and help me improve the software.

If you are interested in improving the software, go ahead and download the code and modify it.

Friday, June 20, 2008

Invictus by William Ernest Henley

Out of the night that covers me,
Black as the Pit from pole to pole,
I thank whatever gods may be
For my unconquerable soul.

In the fell clutch of Circumstance
I have not winced nor cried aloud.
Under the bludgeonings of Chance
My head is bloody, but unbowed.

Beyond this place of wrath and tears
Looms but the Horror of the shade,
And yet the menace of the years
Finds, and shall find me, unafraid.

It matters not how strait the gate,
How charged with punishments the scroll,
I am the master of my fate:
I am the captain of my soul.

Thursday, June 19, 2008

Random Quotes

If

If you can keep your head when all about you
Are losing theirs and blaming it on you;
If you can trust yourself when all men doubt you,
But make allowance for their doubting too;
If you can wait and not be tired by waiting,
Or, being lied about, don't deal in lies,
Or, being hated, don't give way to hating,
And yet don't look too good, nor talk too wise;

If you can dream - and not make dreams your master;
If you can think - and not make thoughts your aim;
If you can meet with triumph and disaster
And treat those two imposters just the same;
If you can bear to hear the truth you've spoken
Twisted by knaves to make a trap for fools,
Or watch the things you gave your life to broken,
And stoop and build 'em up with wornout tools;

If you can make one heap of all your winnings
And risk it on one turn of pitch-and-toss,
And lose, and start again at your beginnings
And never breath a word about your loss;
If you can force your heart and nerve and sinew
To serve your turn long after they are gone,
And so hold on when there is nothing in you
Except the Will which says to them: "Hold on";

If you can talk with crowds and keep your virtue,
Or walk with kings - nor lose the common touch;
If neither foes nor loving friends can hurt you;
If all men count with you, but none too much;
If you can fill the unforgiving minute
With sixty seconds' worth of distance run -
Yours is the Earth and everything that's in it,
And - which is more - you'll be a Man my son
- Rudyard Kipling


Nothing in the world can take the place of persistence.
Talent will not; nothing is more common than unsuccessful men with talent.
Genius will not; unrewarded genius is almost a proverb.
8Education will not; the world is full of educated derelicts.
Persistence and determination alone are omnipotent.
The slogan "Press On!" has solved and always will solve the problems of the human race
- Calvin Coolidge


When I do good, I feel good. When I do bad, I feel bad. That's my religion.
- Abraham Lincoln


All that I have seen teaches me to trust the Creator for all I have not seen.
- Ralph Waldo Emerson


Our deepest fear is not that we are inadequate. Our deepest fear is that we are powerful beyond measure.
- Marianne Williamson

Monday, August 13, 2007

First Week @ Gainesville

I landed in US on 6th August, 2007 at JFK New York Airport. Since I had next flight to Atlanta in about half an hour, I had to actually run with my checking bag. Fortunately, I caught my flight on time. I had to wait for few hours at Atlanta.

Atlanta to Gainesville was exciting experience. Only plane going to Gainesville had big rotator, and some of the passengers had to go and sit in the front of the plane to maintain the balance of the plane. After flying in Boeing 777 from India to Atlanta and then asked to catch this plane, I was really annoyed, and probably a bit scared (plane oscillated in air :-) )

People in Gainesville are really very nice and polite. If you ask for direction and if the person doesn't know, he/she actually apologizes !!!

Another strange thing I noticed is the way people drive around here. Distance between cars is huge (I can actually park my car in that :) ). Also pedestrian are allowed to pass before at the turn.

Florida is quite hot. But still i love it !!!

Friday, March 30, 2007

Planning for Sabbatical

I am currently working for MAQSoftware and will be taking a sabbatical from next month for concentrated (hopefully J) study before my M.S. in Computer Science. Before leaving my company, I wanted to do have a concrete plan about what I am going to do for next couple of months. People around me were skeptical about this step as I was doing great at my job (I recently got a big raise and was placed on good project). So I decided to jot down the purpose and plan for the sabbatical.

Duration: 3 months

Purpose:

1. To improve my vocabulary.

2. To prepare myself for research.

3. To improve my programming skills.

4. To improve my health.

5. To enjoy life …

Plan:

Purpose number

My plan

1

1. Listen to audio of wordlist whenever I take rest (daily).

2. Give test – Big Book (daily).

3. Read my mind map book of words (weekly).

2

1. Read computer science topics and research papers and prepare mind maps.

2. Brainstorm the mind maps, use lateral thinking (ask questions – Why, How. Don’t neglect seemingly illogical conclusions).

3. Document every crazy ideas and reserve some time every month to think about them.

4. Watch technical videos and create mind maps.

5. Maintain a bibliography and document every reference (use notations) in your mind map.

3

1. Create a mind map (one for each programming language you know) that encapsulates every language constructs.

2. Maintain an online programming cookbook (best practices, code snippets, coding styles, design patterns, components, etc).

3. Also, create mind maps for standard library for each language and try to correlate them.

4

1. Yoga, Meditation (daily – 1 hour (morning)).

2. Exercise (daily – 1 hour (evening)).

5

1. Movie or hangout with friends (weekly).

2. One Trip (Goa – 10-15 days).

3. Spend more time with family.

Some important points:

1. “Preparing for research”?


2. What to do when I am bored?

· Watch technical videos.

· Go for a walk.

· Listen to music.

· Have a constructive discussion with someone (Use yahoo or telephone if the person stays far away).

· Go for a movie.

3. Work hard and follow strict discipline. I may not be the smartest or the most hard-working person, but I know one thing about myself – “I don’t give up regardless of what other people say”. I will keep on trying until I succeed. I will be defined by my work and not by my resume. It doesn’t matter if I am in the best college or if I am in the worst college.

4. We all have what Einstein had during his time - access to all patents (www.google.com/patents), 24 hours a day and a human brain. In fact, we have much more information available and also better tools to organize it than what he had. So, ideally if we all organize our information more efficiently and think more clearly and more constructively, we can better even Einstein.