2016 Work Habits Checklist


With 2016 wrapping up, I have my traditional end-of-year review planned for next week. In that post, I’ll go over all of the articles from this year. This week, I’m reviewing a more specific topic.

If you have been following along for the last couple of years, you know that I write a lot about competitive programming, but that I also explore topics related to productivity and learning techniques.

Mastering a subject requires learning some domain-specific topics. For competitive programming, these topics include language advice and editorials on specific programming puzzles. But that knowledge isn’t very useful if you just read about it. You also need a plan to use it.

When you’re learning a technical subject like an algorithm, you can’t just read about it once and remember it. You have to try it out, often many times. If you don’t keep using it, it’s easy to forget it, which often means you have to re-learn it later. Similarly, learning about a productivity or learning technique doesn’t help much unless you try it out repeatedly in real working or learning situations. And if you stop using it, it may take some time to get back into it later.

With that in mind, I have collected a set of reminders that I find useful when working on difficult projects. I’m planning to keep this list handy in 2017 as a checklist to make sure I don’t forget to use these techniques for my programming and learning projects.

Here’s the checklist:

  • Work on important problems, or on problems that will lead to important problems.
  • Use time goals to make sure you’re showing up.
  • Schedule blocks of time so you don’t have to decide when to work.
  • Track focused time to make sure you’re using your work time efficiently.

« Continue »

Do We Need a Stack Exchange Site for Competitive Programmers?


This week, another attempt is underway to create a competitive programming site on the Stack Exchange network.

It’s been tried before. In early 2013, a similar proposal was put forward. But a year later, the proposal still hadn’t met the minimum activity requirements defined by Area 51, the part of Stack Exchange where new sites are proposed and discussed. In keeping with Area 51 policy against keeping old proposals around, the 2013 proposal was deleted. It lives on as a snapshot at the Internet Archive, and as a Codeforces blog post.

Will things turn out differently this time around? It’s not clear that popular demand for a Competitive Programming Stack Exchange (CP.SE) site has increased in the last few years. And if a new site is going to make it past the Definition phase on Area 51, there will need to be demand. Stack Exchange rules require that a potential new community demonstrate that it can sustain question and answer activity. That’s to prevent underused sites from hanging around the network but not providing any value.

So we’ll see what happens as people start following the CP.SE proposal. In the meantime, it’s worth considering what other sites are out there to fulfill the need for competitive programming Q&A, and whether we need another option. That’s the topic for today.

« Continue »