
Ask HN: What are your greatest productivity hacks? - roryisok
In the last few months I started using a clipboard manager (Ditto) and I&#x27;ll never go back. My &#x27;clipboard anxiety&#x27; (did I leave something in the clipboard? can I copy this? better open notepad and Ctrl+V just to be sure...) is gone, and I can copy stuff with reckless abandon.<p>This got me wondering, what are some of the other productivity hacks like this that I&#x27;m missing out on? I already use AutoHotKey and rave about it to anyone who will listen, but there must be other ways to improve my workflow.<p>What productivity hacks have changed your life?
======
chatmasta
\- When you shut down for the day, leave your work in an unfinished (even
uncompileable) state. This makes it easy to start the next morning, and is a
good way to warm up to get back into context of the project.

\- If you start the day with a clean slate, write three things you'd like to
do today. Pick the one that will take the longest and do that first. This is
Mark Twain's "eat a frog before breakfast" advice and I think it helps a lot.

\- Install SelfControl.app and start it for 8 hours immediately when you sit
down to work. No matter how in control I think I am, I'm always amazed at how
my reflexes take me to some distracting website before I even realize what I'm
doing. SelfControl stops this habit by blocking distracting websites and
making me aware of them. (Pro tip: don't write an unblocking script)

~~~
kazinator
You can also do a "git commit -a" and leave it at the editor. Next day, you
can warm up by describing all the changes in the detailed commit message. (The
time stamp on the commit will be the time when you invoked it, not when it
completes.)

------
mettamage
These are simple ones that you probably all know. I'm just writing them down
for reference.

__General__

1) Flux for sleep (sleep being the 'hack')

2) Social pressure: find a community that you want to belong to and that gives
you the social pressure towards goals you want to achive

__For programming (when learning a new language)__

For me, the focus is on getting as unstuck as possible. I've noticed that
interactive tools help a lot with this because they show you how things 'under
the hood' work.

1) Get a text editor or IDE that teaches you how to code -- only if you're
new(ish) at a language. Things like Intellisense, a debugger and jumping to
function definitions allow you to learn a lot more about code. For me, with
Java this is Eclipse (Netbeans and IntelliJ work as well). For front-end it is
Chrome developer tools (Firefox works too). For iOS this is Xcode. For node.js
this was Visual Studio Code. I'm curious if there are suggestions from other
people.

2) Knowing how to search on Google well. I can't really explain this yet, and
it's something that's learned with the first programming language. So I'm
going to ask this question on HN to see if there are people who can explain it
:)

Edit, see:
[https://news.ycombinator.com/item?id=13183302](https://news.ycombinator.com/item?id=13183302)

3) Finding a shell to play with.

~~~
roryisok
I tried flux, but I just find it irritating when the screen turns yellow. It
probably doesn't help that my office has a daylight bulb

~~~
mettamage
I agree that it's irritating. However, I do feel the difference when I use
flux or when I don't at 03:00 in the night (student life :D). It's mainly
during very late hours that I'm noticing a difference and am willing to put up
with the yellow screen, probably from 23:00 and onwards.

------
throwaway26960
Changing my schedule so that my 7 hours of free time is before work rather
than after work. Previously I was burnt out from work and when I got home I
would do nothing but browse the internet. Also turning off the cell phone
during my free time and only using a computer for productive purposes rather
than website consumption. In the past couple of months on this schedule, I
have read 13 books, practiced 150 Mandarin characters 200 times each, learned
how to play guitar from sheet music in the first and second position, learned
the major scales/chords on piano, practiced drawing every day, painted 4
paintings, journaled every day, and am taking an improv class.

~~~
roryisok
I wish I could do this, but I have kids. They rule my schedule

~~~
bbcbasic
That's ok they'll wake you up 7 hours before work.

------
tylerFowler
Since college I've been using Moleskin notebooks (though lately Baron Fig
notebooks) to manage my tasks/time one week at a time, moving over tasks every
week that I didn't get done the previous week and evaluating whether I still
need to have it at the top of my mind for each unfinished task. I find that it
works extremely well for keeping relevant tasks in my head and only taking on
larger projects one week at a time.

The system I use is loosely based off of the Bullet Journal method (link
below), highly recommend checking it out if you haven't heard of it.

[http://bulletjournal.com/](http://bulletjournal.com/)

~~~
ahstilde
I believe a physical notebook is much better for me than an e-notebook

~~~
tylerFowler
Totally agree, I think pen and paper makes me think more about what I'm
writing. I still use digital note taking (recently ditched Evernote for Notion
– which is wonderful), but only as a sort of "overflow". In my original post I
mentioned I don't move everything over each week if it's not relevant at the
moment, that usually means I add it to a digital document with some longer
term tasks or ideas.

~~~
justanton
What's this Notion? Couldn't find it online

~~~
amagasaki
[https://www.notion.so/](https://www.notion.so/)

I just googled "notion notes" and it was the first link. Looks quite
interesting!

~~~
justanton
thank you!

------
cliffcrosland
Strangely enough, Stoicism. I try to recognize what I can control and what I
can't, and I try not to let things I can't control scare me into inaction.

~~~
Jtsummers
That's not actually that strange. The detachment aspect of Stoicism (related
to what you reference) is excellent for reducing anxiety overall. Reduced
anxiety (or, perhaps more accurately, _prioritized_ anxiety) means that it can
be applied to and about things that actually matter (or matter to you).

Stressing about other drivers that you can't control? You're emotionally
exhausted before you get to work. Stressing (within reason, perhaps better
stated as "mentally focused on") about how to do X in project Y? Perfectly
reasonable, that's a task you need to get done and that stress/focus keeps you
on the ball (overdone can still leave you mentally/emotionally drained, or
hyperfocused can leave you unable to think clearly about the task because you
need to step back and view the whole picture).

------
Rainymood
>What productivity hacks have changed your life?

Learning Vim.

The learning curve was steep and for the first year (!!) I felt SO awkward in
Vim. However, I pushed on and eventually it became second nature. I started
reading up on how to do stuff differently, I watched a lot of youtube videos.
Then I started implementing these things more and more into my daily routine.
Now all these things are ingrained so much I get annoyed if there is a text
box without my Vim binding because sometimes I just mash kjkjkjkjkj which I
rebound to <Esc>.

Learning Vim is worth it.

For those who are still in doubt, you are going to be editing text (code
probably) for so much more hours. If you are going to repeat something or do
it often you should invest in your productivity. You could think of your non-
trained productivity as a straight line in the (time, productivity) plane and
your invested productivity as some exponential curve. It takes (a lot of) time
to get to the same level, but afterwards your productivity just skyrockets. I
am very happy I made the Vim investment.

------
akulbe
Shut off social media. Kill the noise. (FB, Twitter, Snapchat, HN,
$SOCIAL_MEDIA_NETWORK)

Deep focus.

"Deep Work" by Cal Newport. Read it.

~~~
odonnellryan
This, in my own way. I've found that I'm happiest with my work when I spend
the day, even if it isn't that long, actually working straight through.

Take breaks, but don't be distracted.

It's super-damn-hard to get back into this, for me, after neglecting these
habits for a few weeks: when I have downtime.

------
tiagobraw
I just tell myself "Stop being a f __*ing loser and do what needs to be done!
". It works.

~~~
nstart
Not sure why the parent was down voted. Various things work for different
people and I follow something similar. I keep a mantra of sorts going on in my
head throughout the day where I tell myself to not be weak and give in to
procrastination (I'm on a lunch break right now). This actually does push me
harder during the hours which I've set aside for productive time. That way I
feel zero guilt when indulging in HN and YouTube after my work hours.

------
apolymatth
My biggest problem is typically dealing with distractions. I get easily
distracted by either responding to an instant message or just stumbling along
something interesting while searching for solutions to programming problems,
or when doing research when writing articles/blog posts.

What helps the most for me is just closing out all other applications, chats,
and browser tabs and not reopening anything else until I'm finished with work.

It's easy for many to get in the zone, but staying there can be hard.

------
DrNuke
Once a week I do a really hard stint (6-8-10 hours) to come atop of all the
little and big things I was leaving behind.

------
sharmi
I am a solo founder/developer and these are not hacks but rather realizations
dawned on me, leading to much better or rather consistent productivity and
decreased anxiety.

I am working Solo, but I get to bounce ideas off my spouse who also works in
IT though it is sporadic at best. I am proactively trying to do this more, as
it helps to air my ideas and it is much easier to recognize rabbit holes.

* Maintaining a list of things to do. If the first thing you do when you sit down to work is wonder what is it that you have to tackle next, thats a recipe for loss of productivity. If you have a list of tasks ( as granular as possible), ordered by priority if possible, you can hit the ground running. I use ZimNotes with the filed stored on DropBox. Zim autosaves. So no fear of loosing

* Try to have more realistic expectations of what you can accomplish. Try to estimate how long each task will take for you to do and then double that estimate. Knowing how long each task is gonna take will cut down on anxiety. This will clear your mind and give room for your mind to concentrate on the task at hand.

* If you are a solo founder starting out, product validation is much more important than QA. Once you have customers though, it is important to avoid any disruption in services.

* Release often even if only you are the only one who will see. Make incremental updates. Always start with something very small but working and keep adding features. Immediate visual feedback of seeing your changes at work will do wonders for your morale.

* If you are doing multiple projects, some preliminary documentation should be in place so you can context switch easily from one project to another

* Though all these help me a lot, I have just started following most of them and it needs lots of discipline. I need to be mindful of what I am doing. Whenever I slip, I just try to get back up and start again.

All that said, if I am exploring a new feature or tech, it often lacks
structure due to it's lack of clarity and the time estimate for it is widely
off the mark. Yet to find a way on how to tackle this. For now, the only
option is to set some hard deadline. If there is no light by the deadline,
that line of exploration has to be dropped. Maybe the unpredictability just
has to be embraced and accepted.

I also need to find a way to handle situations where I run something and it
needs a minute or two to finish. I end up wandering to HN or News or Youtube
and lose track of time. Maybe another list of micro tasks that can be
accomplished in 2 mins :)

Another idea is to use spacemacs. I have been a vim user for a long time. The
idea of using emacs for browsing , task tracking and coding sounds appealing
as probably there is lesser chance of distraction. Can someone comment on
whether it is a good idea or another wild goose chase?

------
iLemming
Vim. learn Vim motions and then switch to Spacemacs. You will "own" the code.

------
ng-user
Pomodoro Timer

------
whyandhow
For building something valuable, follow Deep Work. For being workholic
employee, follow Getting Things Done

------
Jtsummers
Learning emacs to the point that the chords are second nature and require no
(or very little) thought to produce (aka, fluency).

Using org-mode (other tools work as well, but particularly useful if you're
fluent in emacs).

Full-screen apps, or two apps side-by-side. Specifically terminal, or terminal
+ reference (text, websites, man pages, PDFs). This helps to force focus on
the specific task at hand.

My use-cases for org-mode: General project planning/management (personal,
mostly); literate programming; notes while reading texts; notes while learning
a subject.

Want to learn a new codebase but find reading dozens or hundreds of C and H
files to be difficult to track? Slurp them into a massive org file that can
spit them all back out using C-v-t (tangle). Then keep breaking the code down
into smaller chunks adding notes, moving related sections in separate files
closer to each other, etc.

Want to read a book and take notes on it? Half the screen is the PDf, half the
screen is emacs. Create a headline per chapter, as you read, take notes. Write
out definitions, use <<anchor>> content to create anchors for links like
[anchor]. Write out your notes, capture things that you want to follow-up on,
page numbers, etc. Each chapter and section gets marked as TODO (or
customized) or DONE so you can chart your progress through the text.

Want to understand an RFC and maybe implement it? Put it into an org file,
start structuring it, add in source blocks (or, if the RFC has source, turn
them into source blocks as well).

===

And then there's GTD. Grok it. Understand that it's not a dogma but a toolkit.
The tools exist to free you from the mental burden of tracking activities you
need to do by capturing them, prioritizing them, dismissing them as needed,
and scheduling them. If you aren't thinking about what's coming up, you can
think about what's present.

===

EDIT:

Automate all the things. I write scripts to do a lot of my computer-based
tasks. The purpose is to reduce error-rate (if there's an error, the script or
the input was wrong, fixing the script fixes the former, adding a check to the
input prevents the latter from recurring). It also gets things out of my head.
I can literally forget how to do X, Y, and Z (frequent, maybe critical, but
unnecessary for me to remember with any precision tasks). This is also useful
for migrating a project from largely hand-rolled toward continuous
integration/deployment (especially in my office where we don't quite have the
infrastructure in place to do that properly or consistently). An example:

We get deliverables from contractors. My script takes that and pairs it with
our own software, updating the libraries we link to with the ones they
provided. Runs the build script. Constructs our deliverable. Pushes the output
to a particular spot. Different parts of that are different scripts with one
script to run them all. With a proper CI/CD platform, you could take each of
these and put them in as stages triggered off things like git commits.

So now I've got these scripts, we have the git server and build server, I can
restructure it all in a way that will run on that. Now I'm out of the loop.
Whoever retrieves the contractor's deliverable and pushes it will also trigger
the full rebuild of our system. No specific human is critical.

That's a specific work improvement, but the same can be done for many personal
computer-based tasks as well. Like how GTD gets your future plans out of your
head and into your calendar or whatever, automation gets your processes out of
your head so you can focus on the product and inputs of the process and not
the process itself.

~~~
KingMob
I agree with much of this, but after my own experience of GTD and watching
some friends try it, I think it's poorly suited for intellectual work. Even
though it talks about the 10,000 ft/20,000 ft/etc view, I think it just pays
lip service to higher-level planning. What I noticed were lots of people
chasing microscopic tasks and checking off to-do lists instead of taking care
of the big things that make a difference. But maybe it's just me.

Another poster mentioned Cal Newport's "deep work", which seems a more natural
fit for coding to me.

I'm not saying GTD can't work for you, YMMV, but I think it's a better fit for
more traditional office work.

~~~
Jtsummers
I can see that. GTD works for me, but I also don't try to use it to drill down
deep into every project. I have used it to, say, map out learning a language
using specific resources a couple times.

Like, with Rust, I put in that I wanted to go through _The Rust Book_. I
created a project with the book's title and a link to it in an org file. I
created subheadings and turned them into TODOs for each chapter. Since I use
org for literate programming, I included every example in this file along with
my own exploration and toying with the language.

But an actual programming project won't be done that way. At most, from a GTD
perspective, I note that I want to create a CLI TOTP implementation in Rust
(as an exercise project). I'll capture it at a high level so I don't create
too many projects (an unfortunate habit) and not finish it. So in my GTD list
of projects I'll see that I'm working on "CLI TOTP in Rust", but no more
details.

The details for _that_ go into a literate programming org-mode file that
drills into the details of what needs to be done. Somewhat GTD-style, but the
tasks here never make it into my overall GTD action queue or schedule.

Basically, my system is an amalgam of what works for me at different levels.
Dogma is rarely useful, in my experience. Flexibility and appropriation of
tools from everyone else. Experiment, recognize failed experiments, latch onto
personal successes, and explain what worked or didn't for me to others to help
them do the same.

------
bbcbasic
Ask early if I get stuck. Also ask myselfmy and my boss if something is really
needed, maybe we can get away without doing it

