Your time matters. 1 hour of efficiency gain per day saves you 1 month per year. I’ll prove it to you: 1 hour per day x 5 days per week x 52 weeks = 260 hours saved per year 260 hours / 8 hours per day = 32.5 work days per year. That’s 1 month you could be closer to promotion, relaxing, or doing whatever the heck you want.
I am a fan of productivity tips! Thanks for the awesome post.
I heavily use aliases a lot and tiago's second brain+notion!
I will definitely revisit my 7 year old setup with your suggestions.
Instead of tododist I actually wrote a custom ios/macos "shortcut" that can write into my notion DB. I was lazy to manage two systems but still wanted the convenience of todoist.
It does not work if notion is down (happened twice last month :( )
Another geeky recommendation - get a customizable keyboard :) I use Dygma raise. It takes productivity to the next level. Though I get in trouble with my colleagues for overselling this keyboard at work :P
When it comes to terminal aliases, I was always declining and continue to decline it. I feel that I need to learn new stuff which will take my resources. Instead, I rather you history, autocompletion and autosuggestion. I believe it works better and more intuitive. And with terminal like Warp, it’s even more easier.
Plus, I think committing within IDE is more productive.
I'm with you on the value of the autocompletion and history. I really only alias the git commands since they are so common every day. And also that we should weigh the cost of adding new abstractions and learning them vs using what we're familiar with
I used to use Notion for everything, but there were a few things that got me to try Todoist.
- More focused, so I can purely use it for checking off things and not get distracted by other parts of my Notion.
- Performance. Notion is hefty and takes awhile to open up, especially on mobile. It's easy to add something to todoist no matter what platform you're using
- Many integrations. Todoist has a lot of integrations that make adding things for later super easy.
Great article, I got a couple of TODOs for myself like the terminal autocomplete.
My 2 cents recommendation: A keyboard mapper like Karabiner and a spotlight substitute like Alfred (I use this) or Raycast
There are many uses of it, I have done a bunch of internal demos in my company but I find that most people don't dedicate the initial investment for the long-term gains.
Some uses I find in these apps:
- Faster typing: I remap the arrow keys, delete, enter, and F keys (they are further away from the center of the keyboard) to have them closer to the actual letters. I have to move my hands pretty little once I'm on the keyboard. Nobody uses Caps lock, I remap that to my "Superkey"
- Toggle between apps (E.g. Superkey + A is my browser, Superkey + X is my code calendar)
- Quick web searches: Navigate regular websites with ease: Code repository, web search, wikis, other particular web portals
- Clipboard history and snippets: Whatever string you need to remember, stored as a snippet. And easily searchable via clipboard history (e.g. every ID I should remember, like for A/B test experiments or AWS account IDs)
- Particular workflows (go to a particular browser tab, open a vs-code diff of the last 2 elements in the clipboard, emoji search, connecting a Bluetooth device...)
I hope it gives inspiration to anyone to try them!
Ooo these seem like huge wins. I'd be super curious to learn more.
What if you did an article similar to this one going more in-depth on these? I'd love to give it a shout-out and share and also learn more myself from it.
Also, thanks for the kudos :D. The terminal autocomplete is by far the biggest win of all the things I use. Glad you like that one
I'll definitively write about my "productivity stack" in a couple of posts, I'll mention this one :)
Besides tools I'm also into methodologies. I want to look deeper into PARA method for everyday work. For pure knowledge management I'm into Zettelkasten and I'll write about it for sure.
Absolutely. I wanted to explore that more in this post too, but kept hitting the "email length limit" so figured that was a sign to cut it off and save for another article. Definitely will be cool to see our approaches on that methodologies aspect
Nice article, I will definitely check out CleanShot, it seems like a tool I wanted for so long. I used to send screenshots to my wife in WhatsApp so I can use their drawing tool to circle or underline some stuff and then download it and then post it where I need it :D
I tried to use aliases for commands in the past, but I was just forgetting about them after some time and using standard commands. I guess you have to use a command quite often to make it worthwhile to create alias for it.
One way to find commands you use often is:
$ history | awk '{print $2}' | sort | uniq -c | sort -nr | head -20
987 ls
496 cd
410 vi
278 sudo
253 yay
110 git
103 python
...
Maybe you could do a grep on a list of some commands, like for your git aliases it will be:
and all your other ones, so you will see how often you do actually use it.
Then we could also 'run' a comment with a date in terminal - `# 10.10.2023` - and week later, when we count commands after this date command, we can roughly tell how much commands we use per day.
2. It's also so funny because my top 20 commands are all commands that I've already aliased xD but its still nice to know that I aliased the right ones.
Gonna save that command as an alias for the future though
I work with kubernetes and one great productivity hack for me is to the observability tool k9s (kubernetes related) with a shell multiplexer. I often need to look at different resources in a cluster. Therefore, I created a short script to start a shell with 4 k9s panes. In each pane I can look at different resources.
For taking screenshots on Ubuntu, I can highly recommend flameshot.
We are all trying to become more efficient with everything that we do...and sometimes we don't realize how much time is 'wasted' on some menial tasks. I've been trying to learn programming a bit, and trying to become more comfortable with linux commands...this article was helpful for me to become a bit more efficient in my novice stage.
Really appreciate this comment, Stevie. I wrote this from the perspective of helping myself at an earlier stage of my programming career, so I'm really glad you found it useful
Absolutely...especially because I'm an intermittent noob in the world of programming. I take breaks in my self education, and often rely too much on copying and pasting from github and the like
About the "Navigating between locations": i do that all the time, but differently (and more conveniently, i think): i use the navigation back/forward buttons on my mouse. of course, you need a mouse with those buttons to do that :)
Hey Emmanuel, I appreciate it. I'm unfortunately not ready to share it more publicly. It's definitely on my list though. Thanks for expressing interest 🙏
You could be slow at all the things you suggest and still be a 10x engineer. Prioritization of effort to what matters, good, thoughtful design and writing testable code (and testing it well… not too much, not too little) are VASTLY more important than typing faster certain commands in a terminal.
I’m not saying not to do it, plenty of devs love geeking out on this stuff. It just doesn’t matter beyond being comfortable for those who like it.
Just PLEASE don’t call tips like this productivity gains. It’s only at the margin.
Agreed, you can still be a 10x engineer without any of these. It's just about helping save additional time for those that find it valuable. For some, it's more helpful than others.
I would say this does help with productivity though. Anything that saves you time helps you be more productive
I am a fan of productivity tips! Thanks for the awesome post.
I heavily use aliases a lot and tiago's second brain+notion!
I will definitely revisit my 7 year old setup with your suggestions.
Instead of tododist I actually wrote a custom ios/macos "shortcut" that can write into my notion DB. I was lazy to manage two systems but still wanted the convenience of todoist.
It does not work if notion is down (happened twice last month :( )
Another geeky recommendation - get a customizable keyboard :) I use Dygma raise. It takes productivity to the next level. Though I get in trouble with my colleagues for overselling this keyboard at work :P
Lastly, thank you for the mention :)
Nice article.
I substitute Obsidian for Notion and the "Memos" plugin of Obsidian for todo.
I hardly ever use git command line tools because IDEA's git gui seems sufficient.
When it comes to terminal aliases, I was always declining and continue to decline it. I feel that I need to learn new stuff which will take my resources. Instead, I rather you history, autocompletion and autosuggestion. I believe it works better and more intuitive. And with terminal like Warp, it’s even more easier.
Plus, I think committing within IDE is more productive.
I'm with you on the value of the autocompletion and history. I really only alias the git commands since they are so common every day. And also that we should weigh the cost of adding new abstractions and learning them vs using what we're familiar with
I'm curious why you need to use Todoist and not just create a Todo list in Notion?
That's a good question.
I used to use Notion for everything, but there were a few things that got me to try Todoist.
- More focused, so I can purely use it for checking off things and not get distracted by other parts of my Notion.
- Performance. Notion is hefty and takes awhile to open up, especially on mobile. It's easy to add something to todoist no matter what platform you're using
- Many integrations. Todoist has a lot of integrations that make adding things for later super easy.
Great article, Jordan!
I want to +1 on brain dumping things into Notion. It removed so much stress and overwhelm from my life and helped me get more done overall.
Also WOW on Rectangle, how did I not know about it??? THANKS!
And lastly, 🙏🏻🙏🏻 for the shoutout!
Thanks, Irina. Really appreciate that and love the callouts you made. So glad you like the find on Rectangle :D
Great article, I got a couple of TODOs for myself like the terminal autocomplete.
My 2 cents recommendation: A keyboard mapper like Karabiner and a spotlight substitute like Alfred (I use this) or Raycast
There are many uses of it, I have done a bunch of internal demos in my company but I find that most people don't dedicate the initial investment for the long-term gains.
Some uses I find in these apps:
- Faster typing: I remap the arrow keys, delete, enter, and F keys (they are further away from the center of the keyboard) to have them closer to the actual letters. I have to move my hands pretty little once I'm on the keyboard. Nobody uses Caps lock, I remap that to my "Superkey"
- Toggle between apps (E.g. Superkey + A is my browser, Superkey + X is my code calendar)
- Quick web searches: Navigate regular websites with ease: Code repository, web search, wikis, other particular web portals
- Clipboard history and snippets: Whatever string you need to remember, stored as a snippet. And easily searchable via clipboard history (e.g. every ID I should remember, like for A/B test experiments or AWS account IDs)
- Particular workflows (go to a particular browser tab, open a vs-code diff of the last 2 elements in the clipboard, emoji search, connecting a Bluetooth device...)
I hope it gives inspiration to anyone to try them!
Ooo these seem like huge wins. I'd be super curious to learn more.
What if you did an article similar to this one going more in-depth on these? I'd love to give it a shout-out and share and also learn more myself from it.
Also, thanks for the kudos :D. The terminal autocomplete is by far the biggest win of all the things I use. Glad you like that one
I'll definitively write about my "productivity stack" in a couple of posts, I'll mention this one :)
Besides tools I'm also into methodologies. I want to look deeper into PARA method for everyday work. For pure knowledge management I'm into Zettelkasten and I'll write about it for sure.
Absolutely. I wanted to explore that more in this post too, but kept hitting the "email length limit" so figured that was a sign to cut it off and save for another article. Definitely will be cool to see our approaches on that methodologies aspect
Nice article, I will definitely check out CleanShot, it seems like a tool I wanted for so long. I used to send screenshots to my wife in WhatsApp so I can use their drawing tool to circle or underline some stuff and then download it and then post it where I need it :D
One suggestion for a Google Chrome extension that I don't use but I've seen people use and they blaze while browsing is Vimium (https://chrome.google.com/webstore/detail/vimium/dbepggeogbaibhgnhhndojpepiihcmeb). It makes browsing using only keyboard really neat, easy and fast.
Excellent tips!
Thank you, Drago!
Really good article, thank you.
I tried to use aliases for commands in the past, but I was just forgetting about them after some time and using standard commands. I guess you have to use a command quite often to make it worthwhile to create alias for it.
One way to find commands you use often is:
$ history | awk '{print $2}' | sort | uniq -c | sort -nr | head -20
987 ls
496 cd
410 vi
278 sudo
253 yay
110 git
103 python
...
Maybe you could do a grep on a list of some commands, like for your git aliases it will be:
history | awk '{print $2}' | grep -e '$ga' -e '$gv' -e '$gd' | wc -l
and all your other ones, so you will see how often you do actually use it.
Then we could also 'run' a comment with a date in terminal - `# 10.10.2023` - and week later, when we count commands after this date command, we can roughly tell how much commands we use per day.
Ah, it should be '^ga' not '$ga' in grep pattern.
1. That is awesome.
2. It's also so funny because my top 20 commands are all commands that I've already aliased xD but its still nice to know that I aliased the right ones.
Gonna save that command as an alias for the future though
Nice article!
You can find the zsh plugins with install instructions here https://github.com/zsh-users/zsh-syntax-highlighting and here https://github.com/zsh-users/zsh-autosuggestions
Also, flameshot is a nice and free screenshot tool: https://flameshot.org/
Niice! Thank you for sharing these, Mirco!
I work with kubernetes and one great productivity hack for me is to the observability tool k9s (kubernetes related) with a shell multiplexer. I often need to look at different resources in a cluster. Therefore, I created a short script to start a shell with 4 k9s panes. In each pane I can look at different resources.
For taking screenshots on Ubuntu, I can highly recommend flameshot.
Yes! I've heard about the shell multiplexers, have not given it a try though. It will probably be the next area for me to dive more into
We are all trying to become more efficient with everything that we do...and sometimes we don't realize how much time is 'wasted' on some menial tasks. I've been trying to learn programming a bit, and trying to become more comfortable with linux commands...this article was helpful for me to become a bit more efficient in my novice stage.
Thanks!
Really appreciate this comment, Stevie. I wrote this from the perspective of helping myself at an earlier stage of my programming career, so I'm really glad you found it useful
Absolutely...especially because I'm an intermittent noob in the world of programming. I take breaks in my self education, and often rely too much on copying and pasting from github and the like
About the "Navigating between locations": i do that all the time, but differently (and more conveniently, i think): i use the navigation back/forward buttons on my mouse. of course, you need a mouse with those buttons to do that :)
Ahh yes. I love that idea. I do have a mouse with keybinds but honestly need to use it more. Generally I'm just using the keyboard. Thanks, Andrea
If you use Raycast, you get window management for free :)
Whoa, did not know about that tool. Added to my list to check out in more depth.
Any good videos or resources you've found for an average software engineer's workflow for it?
Great tip, Jodan.
Now, I want to read the frontend notes. Would that be possible? Thanks. :)
Hey Emmanuel, I appreciate it. I'm unfortunately not ready to share it more publicly. It's definitely on my list though. Thanks for expressing interest 🙏
Gratz!
You could be slow at all the things you suggest and still be a 10x engineer. Prioritization of effort to what matters, good, thoughtful design and writing testable code (and testing it well… not too much, not too little) are VASTLY more important than typing faster certain commands in a terminal.
I’m not saying not to do it, plenty of devs love geeking out on this stuff. It just doesn’t matter beyond being comfortable for those who like it.
Just PLEASE don’t call tips like this productivity gains. It’s only at the margin.
I get you, Mathieu.
Agreed, you can still be a 10x engineer without any of these. It's just about helping save additional time for those that find it valuable. For some, it's more helpful than others.
I would say this does help with productivity though. Anything that saves you time helps you be more productive