Quora : Writing better

http://qr.ae/hJEvt

Back in college, Sanket and I would hang out in bars and try to talk to women but I was horrible at it. Nobody would talk to me for more than thirty seconds and every woman would laugh at all his jokes for what seemed like hours. Even decades later I think they are still laughing at his jokes. One time he turned to me, “the girls are getting bored when you talk. Your stories go on too long. From now on, you need to leave out every other sentence when you tell a story.”  We were both undergrads in Computer Science. I haven’t seen him since but that’s the most important writing (and communicating) advice I ever got.

33 other tips to be a better writer.
–          Write whatever you want. Then take out the first paragraph and last paragraph. Here’s the funny thing about this rule. It’s sort of like knowing the future. You still can’t change it. In other words, even if you know this rule and write the article, the article will still be better if you take out the first paragraph and the last paragraph.
–         Take a huge bowel movement every day. And you won’t see that on any other list on how to be a better writer. If your body doesn’t flow then your brain won’t flow. Eat more fruit if you have to.
–          Bleed in the first line. We’re all human. A computer can win Jeopardy but still not write a novel. You want people to relate to you, then you have to be human. Penelope Trunk started a post a few weeks ago: “I smashed a lamp over my head. There was blood everywhere. And glass. And I took a picture.” That’s real bleeding. My wife recently put up a post where the first line was so painful she had to take it down. Too many people were crying.
–          Don’t ask for permission. In other words, never say “in my opinion” (or worse “IMHO”). We know it’s your opinion. You’re writing it.
–          Write a lot. I spent the entire 90s writing bad fiction. 5 bad novels. Dozens of bad stories. But I learned to handle massive rejection. And how to put two words together. In my head, I won the pulitzer prize. But in my hand, over 100 rejection letters.
–          Read a lot. You can’t write without first reading. A lot. When I was writing five bad novels in a row I would read all day long whenever I wasn’t writing (I had a job as a programmer, which I would do for about five minutes a day because my programs all worked and I just had to “maintain” them). I read everything I could get my hands on.
–         Read before you write. Before I write every day I spend 30-60 minutes reading high quality short stories poetry, or essays.  Books by Denis Johnson, Miranda July, David Foster Wallace, Ariel Leve, William Vollmann, Raymond Carver, etc. All of the writers are in the top 1/1000 of 1% of writers. It has to be at that level or else it won’t lift up your writing at all.
–          Coffee. I go through three cups at least before I even begin to write. No coffee, no creativity.

–          Break the laws of physics. There’s no time in text. Nothing has to go in order. Don’t make it nonsense. But don’t be beholden to the laws of physics. Advice I Want to Tell My Daughters is an example.
–          Be Honest. Tell people the stuff they all think but nobody ever says. Some people will be angry you let out the secret. But most people will be grateful. Else you aren’t delivering value. Be the little boy in the Emperor Wears No Clothes. If you can’t do this, don’t write.
–          Don’t Hurt Anyone. This goes against the above rule. But I never like to hurt people. And I don’t respect people who get pageviews by breaking this rule. Don’t be a bad guy.  Was Buddha a Bad Father? addresses this.

–          Don’t be afraid of what people think. For each single person you worry about, deduct 1% in quality from your writing. Everyone has deductions. I have to deduct about 10% right off the top. Maybe there’s 10 people I’m worried about. Some of them are evil people. Some of them are people I just don’t want to offend. So my writing is only about 90% of what it could be. But I think most people write at about 20% of what it could be. Believe it or not, clients, customers, friends, family, will love you more if you are honest with them.  So we all have our boundaries. But try this:for the next ten things you write, tell people something that nobody knows about you.
–          Be opinionated. Most people I know have strong opinions about at least one or two things. Write about those. Nobody cares about all the things you don’t have strong opinions on. Barry Ritholz told me the other day he doesn’t start writing until he’s angry about something. That’s one approach. Barry and I have had some great writing fights because sometimes we’ve been angry at each other.
–          Have a shocking title. I blew it the other day. I wanted to title this piece: “How I torture women” but I settled for “I’m guilty of torture”. I wimped out. But I have some other fun ones. Like “is it bad I wanted my first kid to be aborted”(which the famous Howard Lindzon cautioned me against). Don’t forget that you are competing against a trillion other pieces of content out there. So you need a title to draw people in. Else you lose.
–          Steal. I don’t quite mean it literally. But if you know a topic gets pageviews (and you aren’t hurting anyone) than steal it, no matter who’s written about it or how many times you’ve written about it before. “How I Screwed Yasser Arafat out of$2mm” was able to nicely piggyback off of how amazingly popular Yasser Arafat is.
–          Make people cry. If you’ve ever been in love, you know how to cry.  Bring readers to that moment when they were a child, and all of life was in front of them, except for that one bittersweet moment when everything began to change. If only that one moment could’ve lasted forever. Please let me go back in time right now to that moment. But now it’s gone.
–         Relate to people. The past decade has totally sucked. For everyone. The country has been in post-traumatic stress syndrome since 9/11 and 2008 only made it worse. I’ve gone broke a few times during the decade, had a divorce, lost friendships, and have only survived (barely) by being persistent and knowing I had two kids to take care of, and loneliness to fight. Nobody’s perfect. We’re all trying. Show people how you are trying and struggling. Nobody expects you to be a superhero.
–         Time heals all wounds. Everyone has experiences they don’t want to write about. But with enough time, its ok. My New Year’s Resolution of 1995 is pretty embarrassing. But whatever. Its 16 years ago.. The longer back you go, the less you have to worry about what people think.
–          Risk. Notice that almost all of these rules are about where the boundaries are. Most people play it too safe. When you are really risking something and the reader senses that (and they WILL sense it), then you know you are in good territory. If you aren’t risking something, then I’m moving on. I know I’m on the right track if after I post something someone tweets, “OMFG”.
–          Be funny. You can be all of the above and be funny at the same time. When I went to India I was brutalized by my first few yoga classes (actually every yoga class). And I was intimidated by everyone around me. They were like yoga superheroes and I felt like a fraud around them. So I cried, and hopefully people laughed.   It was also a case where I didn’t have to dig into my past but I had an experience that was happening to me right then. How do you be funny? First rule of funny: ugly people are funny. I’m naturally ugly so its easy. Make yourself as ugly as possible. Nobody wants to read that you are beautiful and doing great in life.

–          The last line needs to go BOOM! . Your article is meaningless unless the last line KILLS. Read the book of short stories “Jesus’ Son” by Denis Johnson. It’s the only way to learn how to do a last line. The last line should take you all the way back to the first line and then “BOOM!”
–          Use a lot of periods. Forget commas and semicolons. A period makes people pause. Your sentences should be strong enough that you want people to pause and think about it.  This will also make your sentences shorter. Short sentences are good.
–          Write every day. This is a must. Writing is spiritual practice. You are diving inside of yourself and cleaning out the toxins. If you don’t do it every day, you lose the ability. If you do it every day, then slowly you find out where all the toxins are. And the cleaning can begin.
–          Write with the same voice you talk in. You’ve spent your whole life learning how to communicate with that voice. Why change it when you communicate with text?
–         Deliver value with every sentence. Even on a tweet or Facebook status update. Deliver poetry and value with ever word. Else, be quiet. (And, of course,follow me on twitter for more examples)
–          Take what everyone thinks and explore the opposite. Don’t disagree just to disagree. But explore. Turn the world upside down. Guess what? There are people living in China. Plenty of times you’ll find value where nobody else did.
–         Have lots of ideas. I discuss this in “How to be the Luckiest Man Alive” in the Daily Practice section. Your idea muscle atrophies within days if you don’t exercise it. Then what do you do? You need to exercise it every day until it hurts. Else no ideas.
–          Sleep eight hours a day. Go to sleep before 9pm at least 4 days a week. And stretch while taking deep breaths before you write. We supposedly use only 5% of our brain. You need to use 6% at least to write better than everyone else. So make sure your brain is getting as much healthy oxygen as possible. Too many people waste valuable writing or resting time by chattering until all hours of the night.

–          Don’t write if you’re upset at someone. Then the person you are upset at becomes your audience. You want to love and flirt with your audience so they can love you back.
–          Use “said” instead of any other word. Don’t use “he suggested” or “he bellowed”. Just “he said.” We’ll figure it out if he suggested something.
–          Paint. Or draw. Keep exercising other creative muscles.
–          Let it sleep. Whatever you are working on, sleep on it. Then wake up, stretch, coffee, read, and look again. Rewrite. Take out every other sentence.
–        Then take out every other sentence again. Or something like that.

Sanket didn’t want to go to grad school after we graduated. He had another plan. Lets go to Thailand, he said. And become monks in a Buddhist monastery for a year. We can date Thai women whenever we aren’t begging for food, he said. It will be great and we’ll get life experience.

It sounded good to me.

But then he got accepted to the University of Wisconsin and got a PhD. Now he lives in India and works for Oracle. And as for me, I don’t know what the hell happened to me.

8 Ruby | Rails Projects:

1) Michael Hartl Tutorial RoRT

2)  Jumpstart Labs – EventManager

3) Proess Artist

4) ContactManager –  Jumpstart

5) MicroBlogger – Jumpstart Labs 

6) Idebox – Sinatra (ruby)

Advanced rails – 2 Day..

7) Blogger 2

8) Full Blogger – Jumpstart Labs

 

Competitive Programming: What was Anudeep Nekkanti’s Competitive Programming strategy to become 35th in Global ranking, in just 6-7 months?

By :Anudeep Nekkanti

What I did ?

Result ?

  • Became very good with C++ and STL
  • Got introduced to most Competitive programming KEYWORDS (like DP, maxflow, sets, hashing, etc)
  • Learned Standard Problems and Algorithms
  • Intending code
  • Fast typing 😛

How ?
Before starting programming, I searched about how and where to start, many said “Learn an Algorithm, implement it, solve  problems related to it”. I did notdo it that way, If you know what algorithm to use you generally think in that direction and leave about correctness.  I did them problem by problem, easy to hard, I spent 1 – 4 hours on a problem.
I get the idea, I code it, Get it Accepted. (I used to test a lot, I always wanted to get AC on first go)

I do not get the idea, I save that problem and try it after a month again. If I still do not get them, then search for hints. If it clearly needed some algorithm which I never used then I first smile (? I could not only because I did not knew the algorithm 😛 ) and then start reading about that algorithm. TopCoder had tutorials of almost all common algorithms. This is where I did a BIG MISTAKE. I never cared about correctness or run-time analysis proof, I always learned how to solve the problem using that algorithm, I hardly learned about how the algorithm works. I feel bad about it now, but that is how I solved those problems then. I solved max-flow, convex hull, etc., problems using described algorithms but I did not UNDERSTAND those algorithms then.

Mistake: Once I started taking part in contests, I completely stopped practice.

35th in Global Ranking

  • CodeChef long contests are comparatively easy ( Which is good, You can learn a lot), you get a lot of time to think about a problem, search for resources. You only need KEYWORDS to search for similar problems.
  • I gave a lot of time for each contest. I used to solve 4 easy problems in 2-3 days, then take 5-6 days for other 3 problems.
  • CodeChef rating system is not good. It is highly Volatile.

If I am to start programming now, I would do it this way

  1. Solve 200 most solved problems on SPOJ, Problem by problem. In 2 months.
    (This will teach all standard problems, algorithms and implementation skills)
  2. Solve problems from CodeChef and CodeForces for 2 months.
    (This will teach variations, we can read others solutions and learn better ways. Skip easy problems)
  3. Solve problems from TopCoder for 2 months.
    (This will teach  Dynamic Programming. Div 1 500p)
  4. Check past ACM ICPC Regional’s Problems
    (Great quality problems)

If I am to learn a new Algorithm now, I would do it this way

  1. Read it from at least 3-4 different sources.
  2. Understand correctness proof and run-time analysis.
    (This is very very important, you will know it only when you  deal with non standard  and hard problems)
  3. Question yourself on every step for correctness. Try to tweak the implementation.
  4. Check other implementations.

Final Note
Thought I became good in solving problems and had good rank. I later(Feb 13) realized that I learned it the wrong way. I then started learning again. I learned all the algorithms again this time gave importance to the algorithm itself, correctness proof and mathematical analysis. It is worth the time.

Lucy and the Flowers – Problem from December long contest, Try to solve it with suffix arrays. You can only if you understand suffix arrays and LCP completely.

I was able to solve a not-so-obvious medium level Max-Flow problem at ACM KGP Onsite only because I completely understood how the algorithm works. It was at 4 hour 25 minutes I got 5th problem accepted, then I read this problem and got it accepted 4 minutes before end. Learning the algorithm helped. Do

I’m in trouble

Well.. This post is something I am writing after a long time…

I can’t say that I’ve been busy, that the productivity of my activities has been minimal. But what can I do? My curriculum in college is shitty and does not has any of the practical implication that I thought would be necessary. How do ensure that I am reaching or even moving towards my goal of being a cryptanalyst. Even after being in a shitty course it demands good amount of time commitment. As a result of which I am unable to focus on my projects.

Now, something happened today. My Uncle called and he said that he could talk to some acquaintance who in turn could get me an internship. He said that I just need to mail him my resume` and the list of projects that I’ve completed and …. WOW.. That was some great news. But there was just one hiccup.

I have no significant projects under my belt. 😦

Even I have an opportunity in hand, I cannot “en-cash” it.

 

Will complete this journal later… i.e. If time permits.

Motivation #2

Life is too short and too final to not do what you dream about doing. It will be hard, you will question yourself, you will wonder if the sacrifice is all worth it. You will wonder if you are too old for this, too out of date, too out of touch, too everything to make it. I know because I have wondered this often about many of the life-changing decisions I have made, and as a mid-30s college graduate looking at his friends who graduated years before me who now have careers and family and everything else, I often think I missed something. Still, I know that I didn’t do it for them, or for anyone else. I did it for me and for my prospects, and for what was important to me. I stuck to it, through it all, the late nights, the stress freakouts, the quiet moments of extreme self loathing and self doubt. I did it. No one can take it away from me, and I am better for it. If CS is what you want to do, if you think you have a shot at a better life for pursuing it, you owe it to yourself and to all those people who love and rely on you to see it through. I say GO FOR IT. You don’t want to be on your death bed and have the regret of not trying.

Working Effectively and Efficiently

We highly recommend you do the following:

  • Open your browser fresh or hide any windows you already have open.
    • Bring up one window with two tabs
    • One for this content
    • One for interacting with your app.
  • Open your text editor and do not ever close it. We’re not quitters.
  • Hide all extra applications. Turn off twitter, IM, and all other distractions.

By minimizing the number of things you interact with, you reduce the amount of time spent switching between them and the context lost as you work through the lessons. Having 50 tabs open in your web browser gets confusing and wastes time.

7 skills to be super smart

Source :http://www.superscholar.org/features/7-skills-become-super-smart/

 

People aren’t born smart. They become smart. And to become smart you need a well-defined set of skills. Here are some tips and resources for acquiring those skills.

Memory

If you can’t remember what you’re trying to learn, you’re not really learning. The secret to remembering is this: memory comes naturally once you understand what you’re trying to learn and organize it effectively in your mind. A valuable resource for getting the “filing cabinets” of your mind in good working order is Brian Walsh’s Unleashing Your Brilliance: Tools & Techniques to Achieve Personal, Professional & Academic Success .

If you want to amaze your friends with remembering faces, names, and numbers, look to the grand-daddy of memory training, Harry Lorayne. His How to Develop a Super-Power Memory is a classic. The problem with Harry Lorayne type memory courses (popularized more recently by Kevin Trudeau), is that they focus on mental tricks and gimmicks to memorize trivial stuff that really doesn’t make for a deep understanding of important subjects. In ancient times, without the help of teleprompters or PowerPoint presentations, speakers did need to memorize a lot of material verbatim and used various memory tricks to do so. But this has become less important in our day. Still, it’s worth knowing about these tricks to memory. For a thoughtful book on memory and forgetting by an academic psychologist, see Kenneth Higbee’s Your Memory: How It Works and How to Improve It.

Reading

Good scholars need to be good readers. But who is a good reader? Often when we think of “good readers,” we think of speed—good readers, so we’re told, can fly through material. But that’s not necessarily the case. Woodrow Wilson, president of Princeton University and noted historian before becoming U.S. president, was dyslexic, so it took him forever to read through material. There’s an old Saturday Night Live routine (season 3, episode 5, November 12, 1977) that parodies speed reading courses. Back in the 1970s, Evelyn Wood’s speed reading course was all the rage (it’s still being taught; and books on speed reading with “Evelyn Wood” in the title remain widely available). Here’s the SNL parody:

Evelyn Woodski Slow Reading Course

Announcer … Dan Aykroyd
Man … Garrett Morris
Woman … Jane Curtin
Surgeon … Bill Murray
… Ray Charles

Announcer V/O: [The following words rapidly appear on a blue screen as they are read by the fast-talking announcer:] This is the way you were taught to read, averaging hundreds or thousands of words per minute. [The words disappear and the following words gradually appear as they are read by the same announcer, very slowly:] This is … the way … you could … be reading … with the … EVELYN WOODSKI … slow … reading … course.

[Dissolve to a pipe-smoking man at a desk.]

Man: Sure, I was skeptical. I think everybody is. But, believe me, I can now read ten, maybe twelve times slower than before.

[Cut to a woman in an easy chair as she reads a book, running her index finger slowly along the text. Suddenly, she bursts out laughing.]

Woman: [serious, to the camera] I used to be a heavy speed reader and I never laughed when I read Mark Twain. But, now that I take my time, I find him very funny. Did you know that reading all the words in a story can help you understand the humor?

[Cut to a surgeon in full surgical garb, including mask and rubber gloves.]

Surgeon: I’m a brain surgeon and, uh, I used to just fly through these technical medical journals, you know? And I found I was makin’ a lot of mistakes in the operating room. And now, with the Evelyn Woodski slow reading course, I catch more o’ the important procedural stuff, you know? And I find I’m a better surgeon for it.

[Dissolve back to the blue screen.]

Announcer V/O: Yes, Evelyn Woodski can help you enjoy reading again. [suddenly loud, rapid] Whyreadlikethis?! [Text appears quickly on screen: “Why should you have to read like this?” – then disappears; the following words gradually appear as they are read by the same announcer, very slowly:] When … you … can … read … like this?

[Dissolve to Ray Charles, seated in easy chair, reading a book in Braille.]

Ray Charles: And there’s … Evelyn … Woodski’s … slow … reading …. course … for Braille. I used to … get … blisters … on my … fingers. [laughter and applause] Now … I just … sit … back and enjoy.

[Dissolve to graphic of a shelf of books with superimposed text reading: EVELYN WOODSKI SLOW READING COURSE 555-2972]

Announcer V/O: Evelyn Woodski slow reading course! Call 555-2972! Call now on this toll free number for your first … free … lesson.

SOURCE: SNL Transcripts

Psychologists have found that many people who take speed reading courses increase their reading speed for a short time but then fall right back to the plodding pace where they started. Part of increasing reading speed is simply breaking through one’s comfort zone and forcing yourself to move through material at a more rapid pace. Perhaps the biggest part of speed reading is knowing what NOT to read. Passing over material that is repetitious or that’s not central to your purpose in reading will help you to get through material quickly (many books could be condensed to a single chapter). Lots of speed reading is, as Stanford statistician Persi Diaconis says, “browsing.” Browsing can be an incredibly useful tool, in which you scan material that you don’t have time to read in depth but get the gist.

Some people just seem to have a gift for reading quickly, being able to grasp entire sentences or even paragraphs at one time, instantly extracting their meaning. Howard Berg falls in this category. He is regarded as the world’s fastest reader. He claims to be able to read tens of thousands of words per minute and offers a widely advertised reading course. Another popular course in this vein is the SpeedLearning program. It’s certainly worth trying them and seeing if they help you. True speed readers, who are approaching a thousand words a minute read without subvocalizing (i.e., without sounding out the words in one’s mind). If you can read without subvocalizing, you are on your way to greater reading speed.

But the bottom line in reading is always comprehension. If you’re flying past thousands of words a minute and don’t understand those words, you’re getting nowhere. For this reason, our favorite work here at Super Scholar on the subject of reading is not one that stresses speed but rather one that stresses comprehension: How to Read a Book by Mortimer Adler and Charles Van Doren. With patience and effort, carefully studying and applying the advice in this classic reference work will turn you into a great reader, regardless of your reading speed in wpm (= words per minute).

By the way, if you read just 30 pages a day, you’ll get through the entire 54 volumes of the Great Books of the Western World, edited by Mortimer Adler and John Maynard Hutchins, in under three years. Slow and steady will allow you to read an enormous amount of material. Just cutting out an hour of television a day and devoting it instead to sustained reading can turn you into a scholar.

Writing

Writing is an essential part of scholarship. Some great scholars have been terrible writers—the strength of their ideas carried them to the top even though their writing style was abysmal. But these are the exceptions. Clarity and precision of expression can only help you as a scholar. Every writer needs to have read Strunk and White’s The Elements of Style. To this Super Scholar would add two very practical books on writing: William Zinsser’s On Writing Well and William Stott’s Write to the Point. Finally, every writer, professional or not, would profit enormously from having a copy of The Chicago Manual of Style. The latter is an incomparable reference work on all aspects of going from thought to word to printed page.

Writing isn’t just about filling up a pages with text. It’s also about persuasion. Scholars are not just in the business of thinking up great ideas. They also have to sell them. Indeed, you are selling yourself and your ideas when you apply to college, graduate school, your first teaching position, and especially when you’re trying to get tenure. For this reason critical thinking and rhetorical skills are indispensable to the scholar’s craft. A great book on rhetoric is Edward Corbett’sClassical Rhetoric for the Modern Student. Besides dealing with the basics of rhetoric, it is filled with very helpful advice for the budding writer. Especially useful is Corbett’s suggestion that if you really want to improve your writing, take some great writer and copy a one or several paragraphs by him/her that particularly strike you and do it over and over again BY HAND. Don’t just type them out but write them out in cursive. That way the writer’s style seeps into your very being.

Another useful book on formulating persuasive arguments in your writing is Nancey Murphy’sReasoning and Rhetoric in Religion. Don’t let the title fool you. Although the book draws many of its examples from philosophy and religion, the lessons on argumentation that it lays out are universal in scope. Also useful here would be a good book on critical thinking of the sort taught in a first or second year college philosophy course. Gary Jason’s Critical Thinking: Developing an Effective Worldview is quite good but overpriced.

Speaking

Among the worst fears that people have is public speaking. Yet as a scholar, you will be called on to discuss your ideas. Public speaking is therefore part of the scholarly life. Here are some books we at Super Scholar have found valuable in this regard. Dale Carnegie’s How to Develop Self-Confidence And Influence People By Public Speaking is a classic. If you want actual practice in public speaking, Toastmasters Internationaloperates thousands of clubs to give members experience in the art of listening and speaking.

Plenty of books and courses exist on speaking and on organizing presentations. A useful general purpose book is Richard Zeoli’s The 7 Principles of Public Speaking: Proven Methods of PR Professional. Though aimed more at a business setting, it is still useful in general. Get to the Point: How to Say What You Mean and Get What You Want by Andrew D. Gilman and Karen E. Berg contains useful advice about the relative merits of going with and without PowerPoint (projected images can distract the audience from the speaker).

Many scholars end up becoming full-time teachers. For the art of teaching we recommend Ken Bain’s What the Best College Teachers Do and Howard Hendricks’ Teaching to Change Lives: Seven Proven Ways to Make Your Teaching Come Alive. The most effective means we know of dealing with speaking phobia is Emotional Freedom Technique (abbreviated EFT). For EFT as it applies to phobias and blockages, see the relevant chapters in Ron Ball’s Freedom at Your Fingertips: Get Rapid Physical and Emotional Relief with the Breakthrough System of Tapping.

Numeracy

Scholars need facility with numbers. Some scholars such as mathematicians, physicists, and engineers tend to score high on the math portions of standardized tests and have fewer problems dealing with numbers. Other scholars, often on the humanities side, prefer to have as little to do with numbers as possible. But numbers are a part of life, so we better learn to live with them. Numbers are often abused. Joseph Stalin once remarked that paper doesn’t care what’s written on it. Likewise, numbers don’t care what you do with them. Consequently, they are easily abused. John Paulos’ Innumeracy: Mathematical Illiteracy and Its Consequences, Darrell Huff’s How to Lie with Statistics, and Peter Olofsson’s Probabilities: The Numbers That Rule our Lives are very useful in keeping numbers from being used to deceive us [links].

It’s also useful to hone your arithmetic skills. Often when confronted with the supposed outcome of a calculation, it’s good to do what engineers call a “sanity check”—are the numbers even in the right ball park? If, for instance, you compute a probability of 5.7, you know you went radically wrong somewhere because probabilities are always numbers between zero and one. There are lots of useful resources for developing your basic arithmetic skills. One of our favorites is The Trachtenberg Speed System of Basic Mathematics by Jakow Trachtenberg. Trachtenberg, a Ukrainian engineer, developed methods for high-speed arithmetical calculations while in a Nazi concentration camp (he did this as a way of keeping his sanity). Numerous spin-offs have been published since. One that’s useful for younger students is the Brainetics.

Empathy

Empathy is about connecting with people. It is about understanding and tracking other people’s emotions. Aristotle stressed the desire of people to know. But people are not just about knowing. They are also about feeling. We are not just cognitive animals but also social animals, and feelings drive most of our social interactions. That’s why many scholars are regarded as nerds or geeks—they are seen as reducing everything to knowledge, to pure intellectualism, forgetting about the feeling element in people. The classic study on empathy was by the towering British economist Adam Smith. Before his great work on economics, The Wealth of Nations, he wrote The Theory of Moral Sentiments. Both books bear careful study to this day.

Smith’s ideas about empathy and moral sentiments have been updated. Today these tend to be identified with “people skills” or “emotional intelligence.” Daniel Goleman’s Emotional Intelligence: Why It Can Matter More than IQ has become a modern classic in this regard. Some scholars think they can bank entirely on mental horsepower, running circles intellectually around their peers. But scholarship is itself a social enterprise. Princeton University mathematicians, for instance, hold an afternoon tea where faculty and graduate students meet informally. Some of the best work in mathematics at Princeton (and Princeton has for decades now had the strongest mathematics faculty in the world) gets done at these social gatherings.

People’s emotional lives tend not to follow strict logical principles. People are not just rational utility optimizers. Instead, they are full of twists and quirks. Two good books for understanding these quirks come from the behavioral economics literature: Dan Ariely’s Predictably Irrational: The Hidden Forces That Shape Our Decisions and Richard Thaler and Cass Sunstein’s Nudge: Improving Decisions about Health, Wealth, and Happiness. Human interactions also have a dark side, as when the culture of rational discourse breaks down, so that instead of resolving our differences with civility and reason, we engage in power plays. Michel Foucault wrote much on this. Perhaps the best popular book on the power plays that infect human relations is Robert Greene’s The 48 Laws of Power. Useful here also is Robert Ringer’s classic Winning through Intimidation, subsequently retitled To Be or Not to Be Intimidated? That Is the Question. This book, despite appearances to the contrary, is not about how to intimidate others but rather about how to prevent others from intimidating you, thereby keeping people from illegitimately exerting power against you. Ringer’s “leap frog principle” epitomizes his approach.

Scholars who pride themselves on being geeks or nerds are not doing themselves any favors. To be the best scholar you can be means being able to work with others. It means putting less of a premium on being a freak and more of a premium on getting along. Empathy is the key.

Time Management

The word “scholar” comes from the Greek word for leisure. Being a scholar means having the leisure time to engage in intellectual pursuits rather than in other forms of labor. It follows that, as a scholar, time is your most valuable asset. How you make use of your time is therefore critical to your productivity as a scholar. In America we tend to waste an inordinate amount of time. The television is on in most homes 6 hours a day. We look for unproductive ways to fill the day.

The best book for remorselessly cutting out the time-wasters from your life is the out-of-print How to Use Your Time to Get Things Done by Edwin Feldman, first published in 1968. Many books have followed in its train, many going under the heading of “time-management.” A popular more recent book here is Time Management from the Inside Out: The Foolproof System for Taking Control of Your Schedule—and Your Life by Julie Morgenstern. Time-management is about productivity. The most popular book on productivity in the last two decades is Steven Covey’s The 7 Habits of Highly Effective People. Though addressed to businessmen and women, it offers much sound advice on how scholars need to use their time.

At Super Scholar, we boil time management down to two principles: (1) Do the hard thing first. (2) Make it a habit to fill up the small empty moments with something productive. The hard things tend to be the most important things, so doing them first gets our priorities straight. Slothful as humans tend to be, we prefer to do the easy thing first. Let the easy thing be the reward for first doing the hard thing. As for filling empty moments, have a book to read or a note pad to scribble on when you’re waiting at a bus stop or in an office. Turn off the television and radio. If driving, listen to an audio book relevant to your work. Amazon Kindle’s text-to-speech feature is quite good, even capturing certain cadences in reading [link].

Time-management is ultimately about avoiding distractions.

The best way to master Algorithms

Go to

timus.ru
Timus Online Judge, and work down in order. If you get bored, skip down a ways. If you can’t solve the problem, look at the per-problem forum. If that doesn’t help, ask someone (like StackOverflow, or a friend, or Quora, or…)

Once you’ve done 50-100 of those, you can write some code and maybe know a few basic algorithms. Go to Codeforces and do their weekly-ish contests. Do TopCoder contests too. When you don’t get problems, figure them out afterwards.

Once you get into Div 1 on Codeforces/TopCoder, you have some skills:
1) You are an algorithms/data structures “expert”. You probably know as much as most undergraduates at top CS schools and enough to get a job at Google or similar
2) You can actually write code, which is apparently a surprisingly rare skill.

You are still missing a bunch of programming knowledge:
1) What are threads? How do I solve concurrency problems?
2) How does memory management actually work? How do function calls actually work? How does thread scheduling actually work?
3) How do computers talk to each other? How does the Internet actually work?
4) How do I make things appear on the screen that people can interact with?

I don’t know of as-simple ways to learn those things. Some suggestions:
– Write an OS to learn #1 and #2. (I think there are online courses. Maybe)
– Write a game to learn #4
– Write a multiplayer game to learn #3

 

 

Source :http://www.quora.com/Algorithms/What-are-good-ways-to-master-algorithms-and-data-structure-to-be-a-programming-expert

Note: Do check the comment section when working on that.. Contains important info.

How to be a better programmer?

Another article focusing on “How to be a better programmer?”

  • Do not expect you will be given much instruction about how to program in a CS school. Other than some basics, your professors will likely focus on concepts and leave implementation to be a self directed activity. If this bothers you, you are may not be cut out for CS.
  • Focus on taking the classes where you will learn the most. Never ever take classes based on how easy it is to get a grade in them. It is much more important to learn a lot than to worry about grades. The ideal scenario here is to take a class where you push yourself to learn, and still get great grades. It is very doable. Don’t take short cuts in learning. ( e.g. See: Learning to Program: Whichis more beneficial to learn as a first programming language, Java or C++? Why?).
  • Always try to build a unified view of computer science various different classes that you take. Your Theory of Computation class can teach you something valuable for your Compilers class. Your algorithms class is related to your graphics class. Your graphics class is related to your linear algebra class. As and when there is an overlap of knowledge in different classes, use that overlap to your advantage to continually reinforce your learning. Pre conditions and post conditions you learn about in correctness proofs of programs map directly to asserts. Keep on collecting pieces of the puzzle and keep putting them together.
  • Do not sacrifice theoretical learning for implementation centric learning, and vice versa. They are both duals of each other, and not at odds with each other. If you sacrifice theory, it will deprive you of a much needed analytical framework to rigorously scrutinize the complexity of algorithms. If you sacrifice implementation, you might as well be a math major specializing in discrete math. Likewise, do not sacrifice depth for breadth or vice versa.
  • Don’t fret about ignoring your non CS classes, particularly if you want to work in the industry. I didn’t pay attention to many of them, and had B’s bogging down my GPA but whatever.
  • Your algorithms, OS and compiler classes will likely be your most important classes. Don’t just stop at what your teacher tells you, be a sponge and absorb anything and everything you can learn about those topics. They will stand you in good stead for a long, long time. ( See: Computer Programmers: What skills do self-taught programmers commonly lack? )
  • Choose your collaborators and study partners well. They can really inculcate the right mindset for learning in you.
  • It helps to develop good relationships with your professors, on multiple fronts. It generally feels good to look back and reflect on how you didn’t think of people that you learnt from with a sense of hostility. This is very important if you want to apply to graduate school, want to do research with a professor or have them help you publicize jobs for your company when you are later working in industry.
  • Not generic to CS, though it goes without saying that you should establish good friendships. Your college friendships will last a long time, and will be a social network as well as a professional network for a lifetime.
  • Try to get your programming projects done well in advance of deadlines, ideally have them ready for submission a week in advance so that you are always debugging and programming with a relaxed mindset. Make backups of your work out of paranoia.
  • Participate in programming competitions if you can. You have nothing to lose, and pushing yourself to learn will be helpful. ( See: Does ACM-ICPC or IOI success correlate with industry success? )
  • Your first job or other pursuit after school will be very formative. Be sure to invest appropriately in ensuring you choose well. Naively picking the job that simply maximizes your paycheck may well be a sub optimal decision.
  • Spend time going the extra mile to learn about your OS ( Linux: What are some time-saving tips that every Linux user should know? ), your debugger ( eg: How can one become as efficient at using GDB as in using a visual debugger? ) and your editor ( e.g. Vim: What are some favorite Vim commands? ). They can be very useful for improving your productivity and what you learn you get to keep.
  • At the end of the day, you should realize that a large part of your education is teaching you how to learn to learn rather than specific coursework.
  • Its tempting at times to write programs that satisfy your project requirement, and could get past TA grading, but won’t meet the cut for a real program. e.g. its easy to leak memory in your assignments and get full credit for it, though try to push yourself to do a good job here and try to be a perfectionist in whatever code you do control.
  • Make good use of opportunities to listen to lectures and talks that aren’t a part of official coursework. In the case of particularly prolific speakers, one good talk can influence your thinking for a lifetime. Some Dijkstra lectures I attended still echo in my head.