Skip to content

nramirez/KataWarrior

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Kata Warrior

This is a chrome extension to avoid distractions.

I'm a big fan of Codewars. It helps me improve my programming knowledge, and stay sharp on things I already know and don't want to forget. On the other hand, I also get easily distracted by social media, and news sites such as reddit.

Kata Warrior helps avoiding these automatic fb/twitter/reddit interactions by forcing the user to complete a kata to have access to a period of free time.

A big part of my inspirations came from Strict workflow, an awesome extension that uses the pomodoro technique.

Getting started with the warrior way

  • Check out how to load the extension in the official documentation. site
  • Click on options button of the extension or on the button of the app in the right top of the browser.
  • Write your Codewars username.
  • Write the break time that you deserve after completing a kata, for me is 15 minutes (5 minutes of fb/twitter/instagram and 1 or 2 chess games.
  • Add to the list of distractions the sites that make you waste your time the most.

Why Katas?

The Clean Coder, Rober C Martin says:

In martial arts, a kata is a precise set of choreographed movements that simulates one side of a combat. The goal, which is asymptotically approached, is perfection. The artist strives to teach his body to make each movement perfectly and to assemble those movements into fluid enactment. Well-executed kata are beautiful to watch.

Beautiful though they are, the purpose of learning a kata is not to perform it on stage. The purpose is to train your mind and body how to react in a particular combat situation. The goal is to make the perfected movements automatic and instinctive so that they are there when you need them.

A programming kata is a precise set of choreographed keystrokes and mouse movements that simulates the solving of some programming problem. You aren’t actually solving the problem because you already know the solution. Rather, you are practicing the movements and decisions involved in solving the problem.

The asymptote of perfection is once again the goal. You repeat the exercise over and over again to train your brain and fingers how to move and react. As you practice you may discover subtle improvements and efficiencies either in your motions or in the solution itself.

Practicing a suite of katas is a good way to learn hot keys and navigation idioms. It is also a good way to learn disciplines such as TDD and CI. But most importantly, it is a good way to drive common problem/solution pairs into your subconscious, so that you simply know how to solve them when facing them in real programming.

Work Ethic

The Clean Coder, Rober C Martin says:

Professional programmers practice on their own time. It is not your employer’s job to help you keep your skills sharp for you. It is not your employer’s job to help you keep your resume tuned. Patients do not pay doctors to practice sutures. Football fans do not (usually) pay to see players run through tires. Concert-goers do not pay to hear musicians play scales. And employers of programmers don’t have to pay you for your practice time.

Happy Coding!!

Note: This won't stop you from wasting your time, but It will remind you that a real warrior first gets the job done and then takes the rest that he deserves.

About

This is a chrome extension to avoid distractions.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published