I've solved procrastination

That’s right, after 3.5 years of inactivity this blog lives again.

Such a long delay…but overcoming procrastination is Hard. To that end, some tricks that have helped me:

Do the smallest possible task

Start small and change 1 line of code. Wash 1 dish. Think about 1 thing. Almost always this snowballs into other tasks.


Obviously, right? But getting there is only half the trouble. Getting into flow is tricky and distractions are the mindkiller. F5'ing hackernews won’t get anything finished.

Visualize completing the task

Aaah the sweetest feeling. Completing something, no matter how small, is a morale boost. Small increments lead to big changes.

Several habits of a highly successful Roumen

Self improvement and productivity are aspects of my life I put a lot of thought into, but unfortunately not much effort. Habits are the investments and tools that should allow me to reach a multitude of personal goals and become a stronger, smarter, more patient and compassionate human being.

Creating a habit is a recipe in three parts: Knowledge, Skill, Desire. 1) I know that I need to really listen to people. 2) I must learn how to properly listen to people. 3) I must really want to listen. That’s the framework. 

Going forward, here are the habits I’m committing to. Some are daily, some are monthly. Some are ongoing. 


  • Floss.

  • 60 push-ups.

  • 8am start.

  • Daily schedule. Bullet-journal is crutch. Additionally, set monthly/ weekly/daily goals. Take more notes and jot down thoughts and ideas.

  • Memory exercises. Still need to do some research on this one and I keep forgetting (hah!)

  • Meditation & mindfulness.


  • Gym x 3 (Gonna try this in the morning for a change)

  • Write 750 words.


  • Read 1 non-fiction book.

  • Read 1 technical book.

All The Time

  • Listen. Really listen and pay attention to the exclusion of all else. The most important conversation is the one you’re currently having. Understand what the other person is communicating and what they want. Understand their motivation, and why they’re telling you this. Remember what they say. 

  • Be Patient. Impatience comes in constant waves. Be like a rock beneath; infinitely calm, infinitely patient. 

  • Be less selfish. Consider others; consider what they’re thinking, how they’re feeling, what they’re going through or have been through. Consider what they want and how you’re helping or hurting. Realize that your actions and inactions matter, though it may not seem so at the time. 

  • Think before speaking. Do not respond automatically. Consider the implications.

  • Meta-think. Think about your thoughts. Reflect on how you’re feeling and why. 

A good question to ask yourself during any activity is: will this help me in the future in any way? Will I gain some benefit down the line? ‘Yes’ indicates a healthy habit.

Git workflow

There are several pretty popular Git workflows floating around. Chances are you’re probably using something similar for your projects or at work. Here they are, just in case.

A simple git branching model

# everything is happy and up-to-date in master
git checkout master
git pull origin master

# let's branch to make changes
git checkout -b my-new-feature

# go ahead, make changes now.
$EDITOR file

# commit your (incremental, atomic) changes
git add -p
git commit -m "my changes"

# keep abreast of other changes, to your feature branch or master.
# rebasing keeps our code working, merging easy, and history clean.
git fetch origin
git rebase origin/my-new-feature
git rebase origin/master

# optional: push your branch for discussion (pull-request)
#           you might do this many times as you develop.
git push origin my-new-feature

# optional: feel free to rebase within your feature branch at will.
#           ok to rebase after pushing if your team can handle it!
git rebase -i origin/master

# merge when done developing.
# --no-ff preserves feature history and easy full-feature reverts
# merge commits should not include changes; rebasing reconciles issues
# github takes care of this in a Pull-Request merge
git checkout master
git pull origin master
git merge --no-ff my-new-feature

# optional: tag important things, such as releases
git tag 1.0.0-RC1

The Atlassian Git Tutorial is also a great repository of knowledge. Check out their workflows.

Side effects in life

There’s a side-effect to absolutely everything you and I do. Exercise, for example, allows you to not only grow stronger and fitter but also gain knowledge about your body. You’ll learn your limits; both physical endurance and mental resilience.

If you practice meditation, you’ll know that it takes a bit of time to empty your mind. During that period of transition chances are other thoughts creep in to fill the void. For me, this is both annoying and beneficial. Annoying because it’s hindering my true purpose: a clear mind. Beneficial because it gives these thoughts free reign, effectively freeing them from whatever activity you were occupied with before your failed (or successful) attempt at meditation. Lateral thinking is usually accidental.

There’s a bunch of ancillary benefits to exercise I’m learning about as I grow fitter/happier/more productive. You learn about your body’s limitations, and how to push them.

AngularJs resources

I’m currently knee-deep in Angular and having a blast, primarily due to the large amount of quality guides, tutorials and learning resources floating around. For each weird thing I envision folding into my toy app, I’m pleased to find a well-documented library exists. I wanted a way to have multiple views/nested routes on the same page and after struggling with the built-in router, behold! A library appears. Good stuff, here’s more:

AngularJS on Rails

Integrating Rails and AngularJS

Angular best practices

Bootstrapping an AngularJs app in Rails

Egghead.io - short tutorial videos covering each of Angular’s features

angular-ui - a stateful router

<< 5 of 6 >>
© 2021 Roumen Pavlov. All rights reserved.