HACKER Q&A
📣 pozol

What’s a productivity tip you can share?


I’m kind of obsessed with productivity/automation and just making frequent tasks easier and easier to manage. I’m a python ML dev, and I’m always looking for new ways to speed up my day to day tasks, from tmux and vim, to new python packages, to new IDEs and scripts. What productivity tips have you learned that could help someone out?


  👤 atoav Accepted Answer ✓
I tried a ton of task managment solutions. The one I ended up with is the one I used in the beginning.

A empty piece of A4 paper landscape in front of the keyboard. Write all the things you need done in the next n hours onto it.

Tick the boxes for things you did, cross out things you decided not to do.

This is extremely low tech, but the very obvious advantage is that the piece of paper is always in front of you, independent of which window, desktop, monitor or whatever you focus. Paper is always open, you can archive it, you can sketch things, put down notes etc.


👤 Jensson
> I’m always looking for new ways to speed up my day to day tasks, from tmux and vim, to new python packages, to new IDEs and scripts

You would be more productive if you stuck with one set of tools instead of constantly learning new ones. Exploration for better tools is good, but to be productive you have to master one set of tools at some point, there is no tool so good that it makes up for your lack of mastery.

Learning tools is busywork, it feels like you are making progress. But the time spent learning tools is time not spent learning how to tackle hard problems, learning tools is much easier so it is enticing but you just have to push through and stick with the hard things.


👤 easylearnai
I have started collecting useful snippets of code in Notion, organized by library/language/category so that I could search and find them the next time I need them; this has proven to make me productive so that I don't have to Google the same thing and going through the links every time.

Also, Copilot has been immensely useful in boosting productivity, especially when working with the libraries that I am extremely familiar with; sometimes too much of code is just 'grunt' work.


👤 ozzythecat
Find times where you completely tune out of email, slack, or whatever communication software you use. For emergencies, set up a mechanism where you can still be reached.

Don’t worry about immediately responding to every ping.

Reduce the number of items on your plate or delegate them to others.

Don’t always immediately jump to helping someone when they ask for help. Figure out the balance between “is this person actually blocked or are they not applying themselves on this problem?”

My main point is this — there are too many distractions. If you are eager to help everyone else and take on every little thing people throw your way, you’ll never get your work done. The constant context switching will slowly chip away at your soul, in my case leaving me with feelings of disdain towards certain colleagues. And that also isn’t fair to them.

It’s up to you how to manage and set expectations, but prioritize your well being first and then many things will fit nicely in place


👤 wruza
When doing a non-trivial task that you’ll probably do again, but not daily, write down all the commands/steps you execute into your OBTF (that’s another tip for you to have one). This way helps with things that you can’t practically automate into scripts but it’s easy to reproduce by copying a section of OBTF into an untitled.txt, renaming some names and pasting it into a terminal line/block-wise.

Edit: another, related one: use snippets (files or folders) for temporary/sandbox projects. I found it useful to strip down a business logic off a working project and use that as a project template. If you want to test how a feature or a design approach feels before making it a branch or a module, you can just spin up a separate project, spread the mud there, distill, and then use it almost as is in your work project. Of course you can do that on a branch, but sometimes it feels better not to, because in-project testing may damage your development dbs, use irrelevant (or costly) services, etc, i.e. leak some logic to sandbox which ought to be destructive from the beginning.


👤 coder4life
Write a TODO list before you go to sleep each day

👤 Flankk
Brush your teeth in the shower.

👤 t-3
When I need to be productive, I have a script that blocks all social media and news sites with /etc/hosts. It helps preventing distraction in those times when my fingers move faster than my brain and start typing yco when the browser opens instead of whatever I should be looking for.

atoav's comment about using paper also strikes me as being helpful. I often find writing longhand to be more mentally stimulating than typing, and the lack of light shining in my face seems to improve my attention span. Might just be fooling myself, but it seems to work.


👤 newusertoday
start using emacs as your editor. Initially use it to manage tasks using org mode, discover that you can also create tables in that file, discover that you can actually set formulas and update the table automatically in that file, congratulate yourself you have spreadsheet in your task file, discover that you can write shell script in your file, discover that you can execute it and get results in the same file, discover that you can write arbitrary code(python/ruby etc.) in the same file and execute it now you don't need to quit this file and all your key bindings work with all your tools, discover that you can run emacs in client server mode now use this mode to access your file without worrying about about your client machine discover that you can actually create new functionality using elisp....automate yourself...now there is nothing more for you to automate... now worry what to do next...may be ask on hn thread.

👤 shanghaikid
Paper, pen, that's it.