all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Emanuel Berg <embe8573@student.uu.se>
To: help-gnu-emacs@gnu.org
Subject: Re: Looking for a project management system
Date: Sun, 17 Aug 2014 04:57:24 +0200	[thread overview]
Message-ID: <8738cvu8kr.fsf@debian.uxu> (raw)
In-Reply-To: mailman.7129.1408132202.1147.help-gnu-emacs@gnu.org

I depends what you mean by project management system.

To me, that begins with having the files organized
logically, and with short, clear names that are easy
and fast to type, all in directories to show purpose
and encapsulate. This I do in the shell (tmux/zsh) but
and sometimes Dired, as mentioned.

Then, to switch between buffers fast I have a system
where I add each and every file. It is actually very
fast to setup, one file at a time. Then the files are
brought up by hitting a key sequence, that mirrors the
filesystem and/or the purpose of the file. So, for
example, I have `C-j g m' -- `C-j' (brings up the
buffer-switching system), `g' (for Gnus), and `m' (for
mail) -- to reach gnus/mail.el.

With editing keystrokes, I always said they should be
close, short, and they don't have to be mnemonic
because they enter your muscle memory instantly and
bypasses all that anyway, almost instantly.

However, for buffer-switching, the keystrokes should
still be close (i.e., doesn't require your hands to
move from typing position) - but it isn't that
important. They don't have to be short either, as long
as they make sense so you can remember them there isn't
that much time to win as you won't switch between
buffers constantly (I hope!). So it is a bit of a
different animal. They should be mnemonic to impose the
project structure but foremost so you can remember them
all. It all makes up a tree: again to exemplify, I have
one tree for Emacs, one for zsh functions, and so on. I
didn't have this for my last project, so there isn't
such an example present, but there will be, next time.
I'll just show the code and perhaps someone will like
it:

http://user.it.uu.se/~embe8573/conf/emacs-init/navigate-fs-keys.el

The buffer meny and such features aren't good because
they make you browse, iterate, search. I want
everything to be 100% in the flow, no searching, no
browsing long lists, everything should follow
naturally. And I don't mind memorizing keystrokes to
this end - actually I don't have to, almost, as it is
so intuitive. If I were to strike a key and get to a
buffer I didn't intend to bring up, I would change that
so that would actually get the intended buffer, next
time.

I also have this to manage TODO and NEWS files:

http://user.it.uu.se/~embe8573/conf/emacs-init/todo-did.el

The TODO list is very useful. Every time I think of
something I just do `M-x todo RET' and write a couple
of words to describe it. Then I go back to what I was
doing as I probably have so much of that in my head it
would be a waste to do the "TODO thing" at this point.
Next time I feel like relaxing, while being
active/productive nonetheless, I just check the TODO
file (which I have `C-j t') and start picking down
items.

I also did something similar with a NEWS file, in that
same Elisp file. If you have a bunch of programmers
working for you it is very good to keep track of what
they do. But I don't have that, so the benefit for me
was just mentally, to know there is progress every day.
For a project the size of a master project at the
university, or a game (e.g., Heroes of Might and Magic)
it might make sense, for anything smaller than that I
don't think it is called for.

If you know of other aspects of managing a project
(other than structure, getting to the different files
back and forth, TODO, and NEWS) feel free to ask, I
might have something on that as well.

There are of course many aspects of Emacs that are
close, but not quite, on topic here. For example the
.mailrc file to keep track of everyone who works on the
project. Or Gnus for quick access to Usenet so you can
ask on comp.lang.c when you get segmentation fault. And
all such things. It is not really managing a project
but they make working on a project ten times as
productive and one hundred times as pleasant.

Good luck!

-- 
underground experts united


  parent reply	other threads:[~2014-08-17  2:57 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <mailman.116668.1408127614.1146.help-gnu-emacs@gnu.org>
2014-08-15 19:06 ` Looking for a project management system Buchs, Kevin J.
2014-08-15 19:21   ` Subhan Michael Tindall
2014-08-15 19:49     ` Buchs, Kevin J.
     [not found]     ` <mailman.7129.1408132202.1147.help-gnu-emacs@gnu.org>
2014-08-17  2:57       ` Emanuel Berg [this message]
2014-08-15 18:23 Subhan Michael Tindall
2014-08-15 19:07 ` Drew Adams

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=8738cvu8kr.fsf@debian.uxu \
    --to=embe8573@student.uu.se \
    --cc=help-gnu-emacs@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.