# Dev productivity tips & tools

## **Tips**

The following tips would improve the speed and consistency in work. Decreases the lazyness around working productively.

### **Keyboard shortcuts**

1. Selects the whole thing - `Shift` + `fn` + `->`
2. More control over the selection - `Shift` + `->`
3. Word by word movement - `Ctrl` + `->`

### **Intellij specific**

Search the codebase - Press `Shift` 2 times

### **Windows-specific**

Snippet - `Win` + `Shift` + `S` Powershell options - `Win` + `X` Organize windows - `Win` + `->` or `<-`

### **Emoji**

Bring brilliance to the discussion.

| Emoji | GitHub Markdown |
| ----- | --------------- |
| 🎉    | `:tada:`        |
| 👍    | `:+1:`          |
| 😂    | `:joy:`         |
| 😃    | `:smiley:`      |
| 💚    | `:green_heart:` |

Note: complete [emoji list](https://gist.github.com/rxaviers/7360908).

### **Unicode symbols**

Unicode arrows (→ ⇒ ⇄ ↻) reference [link](http://xahlee.info/comp/unicode_arrows.html)

### **Thank you**

Thank often both the robots and humans. Thank at the beginning, during and at the end of any code review process.

In a `Pull Request (PR)` there are about `10` *Thank you*'s!

### **Shall we ask questions or give a request or suggestion?**

Even though we are sure about something, let us give some room for discussion by asking a question.

### **Email etiquette**

See <https://www.grammarly.com/blog/how-to-end-an-email/>

## **Privacy**

### **Mail address**

Make sure to have a different email addresss for Open Source discussion with a pseudony, such for example, **corepointer** or **j143**. So that email address can be `j143 [at] protonmail.com`.

### **Full name**

Full name of a person is to be kept private.

1. If you are using Gmail, navigate to <https://mail.google.com/mail/u/0/#settings/accounts>.
2. In the `edit info` section, you might want to remove your second name! :)

See <https://en.wikipedia.org/wiki/Principle_of_least_privilege>.

## **Tools**

### **Grammar correction tool**

Always check for typos in emails, comments or discussions.

Some tools: [Grammarly](https://www.grammarly.com/)

The chat language ("u" instead of "you") to be avoided, write down full sentences.

### **Pomodoro technique**

Manage time and stay undistracted!

> How it works?
>
> 1. Choose a task you'd like to get done
> 2. Set the timer for 25 minutes
> 3. Work on the task until the time completes
> 4. Note it as one *pomodoro*
> 5. Take a short break

see <https://francescocirillo.com/pages/pomodoro-technique>

A chrome extension at <https://github.com/schmich/marinara>

### **Git documentation**

One stop shopping for all that is git.

see <https://git-scm.com/book/en/v2/Getting-Started-Installing-Git>

### **Vocabulary**

The words that we frequently use in development conversations

For example:

1. How to understand a problem, better?

Aritcle link: <https://www.theschooloflife.com/thebookoflife/the-task-of-turning-vague-thoughts-into-more-precise-ones/>

1. Many things just don't work the first time, and we do need to repeat them *again* and *again*.

Article link: <https://www.theschooloflife.com/thebookoflife/on-resilience>

## **External links**

1. A Human Guide to Developer Productivity. link: <https://snipcart.com/blog/guide-developer-productivity-tools>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://i.janardhanpulivarthi.com/season-1/dev-productivity-tips-and-tools.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
