views:

1151

answers:

10

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 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?

+23  A: 

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

Trey Jackson
That seems pretty nice. It's even searchable using grep.
Thomas Owens
This does even more than I expected. At first, I thought it was just a beefy ToDo List Manager, but it is also great at creating outlines. It works quite well as a "notebook".
User1
+6  A: 

You might want to look at TiddlyWiki

Jason Punyon
I also use TiddlyWiki as an electronic notebook at work and I really like it. It wins on the formatting, searching and tagging requirements of the OP. It is also a single HTML file, so you can carry it around on a memory stick.I keep my copy on a shared folder for my colleagues.
iWerner
+2  A: 

Hi

Check out Emacs ChangeLogs.

Mark

High Performance Mark
+2  A: 

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.

Brian Ensink
+1  A: 

How about a private twitter account?

Shashikant Kore
That really ties you to one service, however. Besides, I don't think Twitter keeps every tweet forever.
Thomas Owens
Oh, they keep them, they just don't let you access them. (Which, I guess, amounts to the same thing from a practical point of view.)
Chris Charabaruk
True. If I can't see it, it doesn't exist.
Thomas Owens
There are services to back up your tweet, if you are worried about losing tweets.
Shashikant Kore
A: 

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.

Mutmansky
+11  A: 

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:

  1. Pressing F5 inserts a timestamp anytime (the format depends on what date/time format you have selected for your locale in Windows).
  2. 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).

Stephen C. Steel
Well that is my new thing learned for today!
Aidan
+1  A: 

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"

Paul
A: 

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]
Janco
I appreciate your out-of-the-box thinking. Too bad that most version control systems don't do a lot with searching through comments.
User1
I generate a changelog and open it with notepad and search using F3. So it is possible but probably not optimal for your usage...
Janco
+2  A: 

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.

antispam