Collect your tasks
Dump your tasks in your to-do list the moment you get them. It's important not to lose any.
It's equally important to not jump directly into execution mode. It helps to spend some time thinking about the task to tackle it effectively.
All tasks in one place
Avoid using multiple to-do lists. You should be able look at all your tasks in a single place.
Something like Trello is the perfect tool for the job. Create a list named Unallocated to collect your tasks before you review them.
We get tasks from a variety of places. You should be able to route all your tasks to your to-do list in an effortless manner.
Email
Check your email only once every two hours. Context switching can really hurt your productivity.
Run through every email and follow this simple framework -
- If you need to act on this email and it can't wait; reply right away and archive it
- If you need to act, but it can wait -
- Send to your tasks board using Trello's email to board feature
- Tag it as Do and archive it
- If you don't need to act, but need to keep an eye on it; tag it as Follow and archive it
- If you don't need to act, and don't need to keep an eye on it; simply archive it
Everything else
Use the home screen widget of the Trello mobile app to quickly add any task
Review your tasks
Look at your tasks atleast once every day and think about each one which needs your attention.
Try to answer these questions -
- Why is this required?
- Should I be the one doing this?
- When am I supposed to finish this by?
- What would happen if this doesn't get done?
Classify your tasks
I'd recommend using the Eisenhower matrix to classify your tasks.
Create these 4 lists in your Trello board -
- Do right away – Urgent and important
- Plan – Important, not urgent
- Delegate – Urgent, not important
- Delete – Neither urgent nor important
Miscellaneous tips
- Block your time in your calendar to do the ones in the Plan list
- Add due dates to every task
- Add names of people you have delegated tasks to
- Use labels to add tags to your tasks
- Use the Card ageing power up to identify tasks which haven't had any updates for a while
- Use the Calendar view to know exactly when your tasks are due”
Make unconscious conscious.
- List your daily behaviors. Categorize as positive, negative or neutral.
- Find underlying motives behind behaviors.
System is better than goals.
- Show up without fail. Lost days hurt you more than successful days help you.
- Temptation bundling. Combine “what u need to do” with “what u want to do”
- Stack habits. After [this habit] i will [new habit]
- State your intention to act clearly. I will [behavior] at [time] in [this location]
1% increment every day.
- Small changes will roll up to a major behavior change over time. Have patience.
Prime your environment.
- Environment works better than motivation.
- Make things visible. Out of sight is out of mind.
- Make bad habits invisible or unattractive. eg. Put your phone in a different room
- Make separate zones. One space, one use.
- Find groups of like minded people.
- Reduce friction. Mediocre gym close by is better than a great gym 20 minutes away.
- Automate or prime the environment to aid a habit. eg. Have a night routine to set everything up which you might need to start on an activity on the next morning.
Make it easy, satisfying, attractive and pleasurable to do positive things
- Dopamine spikes due to the anticipation of something, not when we actually get it. Craving causes us to act.
- Find a 2 min activity. Gradually increase.
- Have small wins.
- Measure progress in a visual tracker.
Here's the recipe to generate your favorite 2FA token without taking your hands off your keyboard.
Step 1
Store your login credentials and 2FA secret in a password manager like Bitwarden.
https://bitwarden.com/help/password-manager-overview/
Step 2
Install Bitwarden CLI.
https://bitwarden.com/help/cli/
Step 3
Login using bw login
command and then export your Bitwarden Session Key BW_SESSION
to an in-memory environment variable.
Step 4
Fetch the id
of the record for which you want the 2FA token.
bw get item <credential name>
Step 5
Add the below lines to your .bashrc
or .zshrc
.
alias cp2fatoken="bw get totp <id from step 4> | pbcopy"
Step 6
Use cp2fatoken
Use this to track scheduled job failures. It helps to reduce alert fatigue by alerting only when a job fails.
https://deadmanssnitch.com/
EditorConfig helps maintain consistent coding styles for multiple developers working on the same project across various editors and IDEs.
The EditorConfig project consists of a file format for defining coding styles and a collection of text editor plugins that enable editors to read the file format and adhere to defined styles.
EditorConfig files are easily readable and they work nicely with version control systems.
https://editorconfig.org/
https://cloud.google.com/architecture/devops/devops-tech-trunk-based-development
Trunk-based development is a required practice for continuous integration.
Continuous integration (CI) is the combination of practicing trunk-based development and maintaining a suite of fast automated tests that run after each commit to trunk to make sure the system is always working.
Analysis shows that teams achieve higher levels of software delivery and operational performance (delivery speed, stability, and availability) if they follow these practices -
- Have three or fewer active branches in the application's code repository.
- Merge branches to trunk at least once a day.
- Don't have code freezes and don't have integration phases.
More reading -
Multiplexing is the ability to send more than one signal over a single line or connection. In OpenSSH, multiplexing can re-use an existing outgoing TCP connection for multiple concurrent SSH sessions to a remote SSH server, avoiding the overhead of creating a new TCP connection and reauthenticating each time.
Add this to the top of your ~/.ssh/config file
Host *
ControlPath ~/.ssh/control-%h-%p-%r
ControlMaster auto
Reading material -
https://www.simplified.guide/ssh/share-connection-with-multiplexing
https://en.wikibooks.org/wiki/OpenSSH/Cookbook/Multiplexing
https://blog.scottlowe.org/2015/12/11/using-ssh-multiplexing/
PS: You only need to authenticate using 2FA for the first session. All subsequent connections re-use the TCP connection established in the first session.