You're working on one problem, when another problem arises... or perhaps an interruption occurs... now you need to push the new problem on top of your mental stack, and the old problem moves down deeper into your soul. You start to solve the new problem, but remain ready to come back and solve the previous problem.
What do you do?
pushpop is a mental stack manager.
It lets you see the top of your mental stack.
When you've completed a task, click
pop. (it makes a nice popping sound) and that task is gone.
The next item rises back to the top of the stack.
But wait... you are interrupted in your quest to complete the item on top of the stack.
What do you do? You enter the new item into the textbox, and
push it. Now that item is on top.
There's one more feature...
Peek lets you inspect the entire mental stack. You can drag items around to reorder them. You can search for items (and can move the item you find to the top of the stack).
Finished peeking? Click
peeking... to hide the stack away.
OK, OK, nerdy note... in proper 'stack' parlance, 'peek' is the operation that lets you see the item on top of the stack without popping it. Looking at the entire stack is called 'snooping' (well that's the slang term we used at university when i was kid...) But I'm using Peek here because I like the aliteration. The CLI would call it 'snoop' however.
While peeking, you can also view previously completed items, if you click
As you can see from the balsamiq mockups above, this is just in the idea phase. It's based on Next Action
There could be a command-line interface.
pushpop --peek # shows you what's on top pushpop --push "debug the sql" # puts a new item on top of your mental stack pushpop --pop # returns the top most item, but also removes it from the stack (and archives it?) pushpop --snoop # shows all items currently in the stack, from top to bottom. pushpop --history # shows all completed (i.e. previously popped items) including datetime of completion. pushpop --help # provides help with pushpop and life in general
I've created a repo for the project, but written no actual code as yet.
Implementation is left as exercise for the reader. I suggest electron. Send me a pull request when you're done.
If the stack was stored in the cloud then you could also have iOS/android version for managing your mental stack while on the move.
I didn't mention Yak Shaving. Why didn't I mention yak shaving? Here's a yak in need of a shave:
Yak image from wikimedia commons