Topcoder Learning Plan

Stumbled upon what tools to use for topcoder SRM matches last night. And haven’t got a good solution yet.

IntelliJ IDEA IDE is pretty functional complete, however starts too slow, and need to learn a whole bunch of key maps.

Sublime will be more comfortable at the moment. However will be very lacking in the help of a good debugger.

Plan for now:

  1. Continue use Sublime as main editor.

  2. Search for a good plugin for Topcoder that generates test cases.

  3. Edit code in sublime, and use IDEA as only a debugger.

  4. Use git to manage code.

Share Comments

Finishing all 151 problems of Leetcode online judge

Finally almost finishing the journey of Leetcode. I’ve actually figured out how to appreciate an online judge and ways to use test data well.

All solutions hosted on Github:

Most importantly, the most effective way to enhance coding skills is to code more and more. DO NOT WASTE TIME ON PICKING LANGUAGES. Knowing more language will not take your brains messy, it will only make you a better programmer. Try to figure out the best ways to use EVERY programming language.

The next step? I’m currently reading the compiler ‘dragon book’.

I have come to believe the book will greatly deepen my understanding of the whole coding generation process, although I haven’t find it to be better than reviewing code.

Further, I’ve decided to use Top Coder problems as my next step. They have good problems for all difficulty levels, good test data, and good answers to all their old problems.

Share Comments

Embrace Discomfort to Overcome Learning Plateaus

When you’re learning a new skill, you eventually hit a plateau where it feels like you can’t learn any more or get any further. It’s hard to burst through this plateau. As 99U points out, one of the best ways to deal with those plateaus is to embrace the discomfort and push onward.

The idea here is that when we reach a certain point we become complacent, and we stop pushing ourselves to try new things. This inevitably leads to weaknesses because we’re not learning anymore:

The plateau doesn’t feel like a plateau any longer—something foreign and uncomfortable. Instead that flat line becomes the new normal. This happens more easily than you might expect because of the way our brain adapts to stimulus…

To get things going again, you need exposure to new stimuli, but there’s where the rub is. Trying something new may not only fail to make you better, it might actually make you worse. In fact, you’re likely to get worse before you get better.

The problem is that getting better means putting at risk what you’ve already gained, and that butts up against a powerful human bias of preferring to avoid losses over acquiring gains, called “loss aversion.”

It’s a tough spot to be in, but as 99U points out, when you’re complacent, your decision-making is driven by fear, not a wish for discovery. Subsequently, you’re not learning new skills and trying new things unless you embrace that discomfort of being wrong again.

Share Comments

Difficult Does NOT Mean Bad

[Writing] is like wrestling; you are wrestling with ideas and with the story. There is a lot of energy required. At the same time, it is exciting. So it is both difficult and easy.

What you must accept is that your life is not going to be the same while you are writing. I have said in the kind of exaggerated manner of writers and prophets that writing, for me, is like receiving a term of imprisonment — you know that’s what you’re in for, for whatever time it takes.”

— Chinua Achebe, from The Paris Review

Share Comments

Manage your energy, not your time


“Manage your energy, not your time.” This is the quote that made Tony Schwartz famous. And it’s one that I believe best represents a truly efficient lifestyle in the 21st century. Yet, living “manage your energy, not your time” is incredibly hard, at least for me. It probably took me around a year to fully grasp its meaning. Since then, I’ve turned my life upside down and changed my routine dramatically.

As one example, we use an informal line to help us make better decisions. It goes something like this: “Working more is never the answer.” Whenever we are struggling under more workload, the first thing is to stop what we’re doing and think about a better way to manage our energy, not to add more work hours to our day. Schwartz famously proclaims in his book that most of us are chasing the wrong resource: hours in the day. Instead, we should focus on something entirely different: our energy.

Our energy can be broken down in 4 different elements:

  • Your physical energy—how healthy are you?
  • Your emotional energy—how happy are you?
  • Your mental energy—how well can you focus on something?
  • Your spiritual energy—why are you doing all of this? What is your purpose?

The order of how these energies are written down is not random, by the way. Tony gives them this specific order to guide us through developing our energies in the right way. And in doing so, your physical energy comes first because it’s naturally our base and foundation for any other energy or focus we want to develop.

So for this article, I wanted to break down all elements of physical energy as our most important foundation. Let’s dig in:

Your Physical Energy: How Healthy Are You?

Your physical energy naturally serves as the base, says Schwarz. It’s going to be very tough to build out your other energies without taking care of your body first. What’s most interesting is that up until now, our physical energy is the most discounted element in our day to day lives.

To break it down further, how you arrive at optimal physical energy is through these 4 elements:

Nutrition: Do You Keep a Sustainable Glucose Level in Your Blood Stream?

We’ve talked before about the importance of nutrition when it comes to productivity. After all, nutrition is your fuel. And yet, so many of us gravely neglect what we eat every day. Here is a typical graph of our glucose level, showing the difference between eating more sugar and less. From first sight it’s clear that most of us base too much of our diet on the three big meal times throughout the day and get a similar spiky pattern of ups and downs:

The Four Elements of Physical Energy and How To Master Them

To optimize the graph, I picked out three of the most important parts to get your nutrition back to the level it might have once been:

Reorganize how food is stored in your cupboard.

Researcher Brian Wansink demonstrated in a surprising experiment that “you are three times more likely to eat the first thing you see in your cupboard than the fifth thing you see.” Put the healthy things in reach and the not so healthy ones out of it.

Carbohydrates in the morning, fat and protein in the evening.

This is something bodybuilders have been practicing for a long time and I believe it applies equally for anyone trying to gain more energy. When learning to better manage your energy level, one of the most important things is to respect your catabolic and anabolic cycles. Giving your body carbohydrates (energy) in the morning will give you all the fuel. Moving more towards protein and fat in the evening so your body can refuel overnight is equally important.

Doing nothing else when eating food.

It seems such a fitting experience to watch TV, work, read, or do anything else but solely focusing on eating when we eat. Funnily enough, it almost appears to be a waste of time if we “just eat.” The latest research on multitasking, however, reveals the exact opposite. Solely focusing on eating doesn’t just help you digest your food better, it also makes you a more efficient worker for any other tasks.

Fitness: How Well Do You Transport Oxygen Through Your Body?

The second element of great physical energy is how fit you are. Meaning, how much oxygen your blood stream can transport at any given time. And working on your fitness level doesn’t just come with great health benefits. It can serve as the most important element to change your life into the one you want.

Out of all possible habits and routines, the gym habit is by far the most powerful one, writes Charles Duhigg in The Power of Habit. The reason is simple: Going to the gym creates something called a “cornerstone habit.” That means you can build any other habit you want around this habit. After you have a consistent fitness habit, you’re basically ready to tackle any other challenge much more easily.

In a powerful post from Leo Babauta, he addresses the 15 most common excuses to form a gym habit and how to work against them. Here are my three favorite ones:

“I don’t have the time.” That is by far the number one excuse. And yet, the problem is often the fear of having to start a five-days-a-week bodybuilding workout. “Do 5 minutes a day. You can squeeze 5 minutes of brisk walking into your busy schedule,” says Leo.

“My family isn’t supportive.” This is one of the toughest ones Leo talks about. His insight to overcoming it is to tell your family early on: “One of my favorite tactics is getting my family on board early-before I’ve decided to make a change, when I’m still thinking about it. I send them articles I’m reading, talk to them about things I’ve learned, why this is important to me, etc. Then when I’m ready to make a decision to change, I ask for their help deciding—and then their help implementing.”

“I’m not good at it.” Another key excuse Leo mentions is this one, fortunately: “No one is good at it when they start out. Everyone has to learn, everyone starts somewhere. You get good at it by doing it. Here, especially using the Tiny Habits method can help tremendously. And as the last help with this, exercising also makes us happier.

Sleep: Do You Sleep Enough to Renew Your Body?

We’ve talked in depth about how much sleep you really need to renew your body overnight. And one of the key elements I keep coming back to myself is to focus on both light sleep and deep sleep. Here is an outline from sleep tracking app Zeo on how the average data on sleeping for its users looks like:

What’s most interesting to know if your amount of sleep drops below the above mentioned level is this: the research on sleep shows that it changes our cognitive functions entirely: “Working overtime doesn’t increase your output. It makes you stupid.” The problem with not getting enough sleep is quite simply that we don’t know we aren’t getting enough. And the consequences can cost us dearly. What I’ve personally started to experiment with, together with the whole Buffer team is to start tracking our sleep with the Jawbone UP fuelband.

The Four Elements of Physical Energy and How To Master ThemIt’s been an amazing help to get better sleep, and to know if you’re getting the right kind of sleep. What I tried to optimize over the past few days was the amount of deep sleep I’m getting every night. The reason for this is that deep sleep serves as the most important element in your sleeping phase for renewing your brain cells and body cells. I’ll definitely have to do a more in depth article about my findings here. For now, here is my best sleep pattern yet (pictured at right), where I got over four hours of deep sleep.

Renewal: Renewing Your Energy Levels Within the Day

Tony Schwartz talks about this last part as one of the most overlooked elements of our lives: renewal that we get throughout our day. Yes, that’s right, if you are anything like me, that’s probably the last thing anyone does and yet, it couldn’t be any more important. Fittingly, he mentions that even the fastest racing car couldn’t win the race without at least one or two great pit stops. The same holds true for ourselves. If we don’t have “pit stops” built into our days, there is now chance we can race at a high performance. To better manage your renewal throughout the day, here are a few quick ideas to help you get started:

Take a nap, every day. Being able to nap is the most important part for getting daily renewal in. NYT best selling author Michael Hyatt puts it best in his article about napping recounting his predecessor: “Every day after lunch, I lie down on the sofa in my office, I hold my car keys in my right hand and let my hand hang toward the floor. When the car keys fall out of my hand, I know I’m done.”

Build a reading habit. Almost everyone I know wants to spend more time reading, and yet no one seems to find the time for it. Personally, I’ve recently started to build a daily reading habit of just 30 minutes in, straight after lunch. This is a time where you are likely not going to be very productive, so it’s a great way to catch up and get daily renewal.

Develop a meditation habit. Another fantastic way to get more renewal throughout the day is to develop a meditation habit. Around 6 months ago, I started to first incorporate mediation in my daily routine and I’ve stuck with it ever since. The best way I found to get started was through an amazing app called HeadSpace. It solved the big problem of not knowing how to get started with meditation.

Share Comments

Being Realistic is the Most Commonly Traveled Road to Mediocrity

When talking about goals or dreams of any sort, you’ve probably heard someone say something like “let’s be realistic.” Maybe you’ve even uttered it yourself.

But as this Will Smith quote reminds us, being realistic isn’t doing any favors for your ambitions: Being realistic comes with a sense of security, comfort, and a natural inclination to find the path of least resistance, discouraging risks.

It may be scary, but sometimes you need that special kind of crazy to think that hey, maybe you can actually accomplish what you’ve dreamed of.

Share Comments

Creative Pro Tip: Take Things Away Until You Cry

Designer Frank Chimero wrote down everything he knows about design and delivers it in rapid-fire style. It’s a fascinating no-frills retrospective, and it’s worth every minute of your time. Some of our favorites:

  • If you can’t draw as well as someone, or use the software as well, or if you do not have as much money to buy supplies, or if you do not have access to the tools they have, beat them by being more thoughtful.

  • Take things away until you cry.

  • Change contexts when you’re stuck. Draw wrong-handed and upside down and backwards. Find a good seat outside.

  • If you meet a person who cares about the same obscure things you do, hold on to them for dear life.

  • Start brave and brash: you can always make things more conservative, but it’s hard to make things more radical.

  • Everything is interesting to someone. That thing that you think is bad is probably just not for you.

  • Be suspicious of lists, advice, and lists of advice.

And perhaps the best of them all: Stop trying to be cool: it is stifling.

Share Comments

In Praise of The Long Thought

Original article

When I observe how I consume information, I’ve become increasingly aware of how little actual deep information I’m consuming. Each morning, I launch a series of tab groups (News, Nerds, Apple, Games, Hockey) in my browser, and as I read each of the front pages in these groups, I’m basically reading tweets — the short headlines that describe what occurred. Sometimes I’ll drill down on an article, but again, if I carefully consider my reading of them, my eyes dart from headline to headline without truly consuming and digesting the words.

I am learning something. The article I’m lightly consuming has become bookmarked in my head, and if it comes up in casual conversation later in the day, I can vigorously nod and say, “Yes, yes, I read that”. But I haven’t really. I noted the shortest version of it; I can quote the simplest version of it. I have a facade of the story and the illusion of knowledge.

Share Comments

Phone Interview Tips


Employers use telephone interviews as a way of identifying and recruiting candidates for employment. Phone interviews are often used to screen candidates in order to narrow the pool of applicants who will be invited for in-person interviews. They are also used as a way to minimize the expenses involved in interviewing out-of-town candidates.

While you’re actively job searching, it’s important to be prepared for a phone interview on a moment’s notice. You never know when a recruiter or a networking contact might call and ask if you have a few minutes to talk.

Be Prepared to Interview

Prepare for a phone interview just as you would for a regular interview. Compile a list of your strengths and weaknesses, as well as a list of answers to typical phone interview questions. In addition, plan on being prepared for a phone conversation about your background and skills.

  • Keep your resume in clear view, on the top of your desk, or tape it to the wall near the phone, so it’s at your fingertips when you need to answer questions.
  • Have a short list of your accomplishments available to review.
  • Have a pen and paper handy for note taking.
  • Turn call-waiting off so your call isn’t interrupted.
  • If the time isn’t convenient, ask if you could talk at another time and suggest some alternatives.
  • Clear the room - evict the kids and the pets. Turn off the stereo and the TV. Close the door.
  • Unless you’re sure your cell phone service is going to be perfect, consider using a landline rather than your cell phone to avoid a dropped call or static on the line.

Practice Interviewing

Talking on the phone isn’t as easy as it seems. I’ve always found it’s helpful to practice. Have a friend or family member conduct a mock interview and tape record it so you can see how you sound over the phone. Any cassette recorder will work. You’ll be able to hear your “ums” and “uhs” and “okays” and you can practice reducing them from your conversational speech. Also rehearse answers to those typical questions you’ll be asked.

During the Phone Interview

  • Don’t smoke, chew gum, eat, or drink.
  • Do keep a glass of water handy, in case you need to wet your mouth.
  • Smile. Smiling will project a positive image to the listener and will change the tone of your voice.
  • Speak slowly and enunciate clearly.
  • Use the person’s title (Mr. or Ms. and their last name.) Only use a first name if they ask you to.
  • Don’t interrupt the interviewer.
  • Take your time - it’s perfectly acceptable to take a moment or two to collect your thoughts.
  • Give short answers. Remember your goal is to set up a face-to-face interview. After you thank the interviewer ask if it would be possible to meet in person.

After the Interview

Take notes about what you were asked and how you answered.
Remember to say “thank you.” Follow with a thank you note which reiterates your interest in the job.

Share Comments

Withhold Answers from Yourself to Help You Learn Better

We’ve heard a lot lately about the benefits of experiencing and overcoming failure.

One way to get these benefits is to set things up so that you’re sure to fail—by tackling a difficult problem without any instruction or assistance. Manu Kapur, a researcher at the Learning Sciences Lab at the National Institute of Education of Singapore, has reported (in the Journal of the Learning Sciences) that people who try solving math problems in this way don’t come up with the right answer—but they do generate a lot of ideas about the nature of the problems and about what potential solutions would look like, leading them to perform better on such problems in the future…

you can implement it in your own learning by allowing yourself to struggle with a problem for a while before seeking help or information.

Share Comments