I've tried several methods of keeping a log of my day-to-day activity when writing code. None of them really worked all that well. Here's what I'd like to have:
- automatic timestamps
- tagging (like we do on stackoverflow). Mainly for project names and technologies used
- Easy to build a weekly report from the results for status meetings
- Easy to search to find solutions to recurring issues (eg a certain error message)
- Accessible. Probably online as a website, but could be a shared file.
- Formatting. I'd like to have the ability to easily build tables and separate out <pre> content such as code snippets and error reports.
- Security. It would be nice if I could share some content of the site with others, but not all. Low priority if I get the other stuff.
I've tried the following solutions with some issues:
- MediaWiki: many very cool features. timestamps hard to deal with. Bizarre datastructure. Bad searching (can't search on words of three letters 开发者_JAVA百科or less)
- Defect tools: I tried mantisbt.org. Good security. Bad for formatting and I didn't like their idea of "projects" when trying to use the system.
- Paper Notebook: very flexible, but hard to do the searching. Not online.
I was considering using emacs to open a remote file to keep it really simple. Has anyone tried it that way? Is there another defect tool that could do what I am thinking? Is there another option that I haven't considered?
Check out org-mode. There are a bunch of tutorials here that really help show the power/ease. Specifically, I found this video useful.
The major benefits (IMO) of org-mode are:
- simplicity, it's just a text file (or set of files)
- flexibility, you can start very simple and grow your usage as you learn more
- expandability, very popular and new capabilities coming all the time
- versatility, you can get different views of your tasks - ordered by time, priority, other...
- readability, you can publish to HTML and other forms easily
Really, it's worth watching one of the videos to get an idea of what is available.
ORG's author, Carsten Dominik, sums it up nicely with this 24 word quote:
Org-mode does outlining, note-taking, hyperlinks, spreadsheets, TODO lists, project planning, GTD, HTML and LaTeX authoring, all with plain text files in Emacs
While it doesn't have all the features you're looking for, you might consider good old Notepad. Notepad has a couple of poorly advertised features that make it convenient for keeping a log file:
- Pressing F5 inserts a timestamp anytime (the format depends on what date/time format you have selected for your locale in Windows).
- If you open a file that begins with the string ".LOG" (without the quotes), notepad will jump to the end and insert a timestamp.
I added an icon to the quick launch bar to open my logfile, and I keep all sorts of useful notes there. The info is just plain ASCII with minimal formatting, but this means its easy to export it to other systems when needed (and it's easy to search).
You might want to look at TiddlyWiki
I use Google documents to keep notes for all of my personal projects as well as a list of project ideas or topics to explore. Its searchable, is copy/pastable for sharing and I could share entire documents if needed, and best of all its available everywhere.
It may be an overkill for an individual, but we (approx. 10 people) needed an activity log and ended up using Trac with great results.
- automatic timestamps
Any operation gets an automatic timestamp.
- tagging (like we do on stackoverflow). Mainly for project names and technologies used
TagsPlugin
- Easy to build a weekly report from the results for status meetings
You can get an overview from Timeline. If you organize your tasks as tickets, you may also define your own reports and custom queries.
- Easy to search to find solutions to recurring issues (eg a certain error message)
Search
- Accessible. Probably online as a website, but could be a shared file.
Trac uses a minimalistic approach to web-based software project management.
- Formatting. I'd like to have the ability to easily build tables and separate out <pre> content such as code snippets and error reports.
Trac allows wiki markup in descriptions.
- Security. It would be nice if I could share some content of the site with others, but not all. Low priority if I get the other stuff.
Trac uses a simple, case sensitive, permission system to control what users can and can't access. Since 0.11, there's a general mechanism in place that allows custom permission policy plugins to grant or deny any action on any kind of Trac resources, even at the level of specific versions of such resources.
Check out Emacs ChangeLogs.
Mark
How about a private twitter account?
If your work flow is very e-mail based then something like posterous might be useful as you can fire off e-mail and categorize by adding tags in the subject of the e-mail. Most apps have e-mail integration so this is a good option for collecting and organizing information "on the run"
Have you ever looked at VersionOne? They have a free "Team" version of the software. It's built around the Agile Software methodology, so to use it to track your engineering log, you'd have to build a backlog of work and then record your work against those backlog items. That all being said, it has a lot of what your looking for. It tracks the rate at which you're burning down your work, which would make for good weekly reports. It would also have the search and accessibility you're looking for. The only thing I don't think it would have would be the formatting. We use the Enterprise Edition, so I'm not as familiar with the free "Team" version, but it might be worth looking into.
If it is about writing code, then use the version control system's commit messages. If you use it correctly you get an exact log with timestamps when tasks have been finished (not when you started a task)
- automatic timestamps [CHECK]
- tagging [CHECK, use commit message]
- Easy to build a weekly report [CHECK, changelog scripts]
- Easy to search [hmmmm]
- Accessible. [CHECK]
- Formatting. [PROBABLY NOT]
- Security. [CHECK, project base]
精彩评论