Text Files -- What are they good for?
secretGeek .:dot Nuts about dot Net:.
home .: about .: sign up .: sitemap .: secretGeek RSS

Text Files -- What are they good for?

At TimeSnapper we use a text file for managing our todo items. Plain Old Text (P.O.T) -- are we potty?

Someone I know and respect tells me I'm crazy -- that we should use a bug tracking application, or a wiki, or, basically, anything at all would be an improvement.

Are they right? Am I crazy? No and Yes, respectively?

Our todo file is checked into the source repository (we use sourcegear vault), and included in the main TimeSnapper solution. Multiple people can work on the todo file at once, and can merge their changes together if needed.

The downside to using a text file: you can't include images. But you can include url's that point to images, and notes referring to other files as needed.

It's a semi-structured text file, in the sense that we have conventions we use for keeping it tidy, succinct and relevant. We archive portions off, once they're completed. We separate it with headings, we nest information with indenting.

So what's wrong with using a text file?

The complaint this dude made was that it's "not gonna scale".

Well, maybe it won't scale to a point where we have fifty developers working on TimeSnapper.

But we can safely wait to cross that bridge when we come to it. Text files hardly lock us in. The data is easy to export. ;-)

What do you say? Can a globally distributed two person ISV track their tasks more efficiently in some other way?





'John Walker' on Thu, 17 May 2007 04:34:08 GMT, sez:

I'm all for the KISS principle. Text files are awesome things if used correctly. I remember reading something regarding MS Live Spaces where some of their data was being stored statically in text files...and that it was done specifically for scaling reasons. If I find the reference I'll post it - may have been Dare Obasanjo from MS.

I agree...you can cross that bridge when it comes to it.



'Suraj Barkale' on Thu, 17 May 2007 06:20:02 GMT, sez:

As long as you can parse the data when you need it (and I am not talking about *outsourcing* the parsing :)



'Rik Hemsley' on Thu, 17 May 2007 06:48:11 GMT, sez:

I always used to use a text file for my TODO stuff - but then I started using OneNote, because it lets me organise stuff slightly better without getting in my way.

I would be absolutely happy to use a text file for a shared TODO list, though - as long as the other people working on it were as fastidious as me.



'James Gregory' on Thu, 17 May 2007 07:12:54 GMT, sez:

I'm a big fan of text files, and as John said, KISS. I use them for simple application configs as well, saves on the XML parsing.

Text files for TODOs is a very good idea. Bits of paper get lost, websites are a distraction and software requires interaction on your part.



'Peter' on Thu, 17 May 2007 09:12:40 GMT, sez:

You're trading off the burden on the writer against the burden on the reader. When there are just two guys reading the file, POT makes sense.

Having said that, using a wiki format might have some benefits. It's hardly any extra effort, and the wiki-viewer lets you see images and browse links more easily ... but maybe that adds other complications.



'moops' on Thu, 17 May 2007 10:21:40 GMT, sez:

text files? real developers dont need an IDE like notepad.exe to get things organised. My team and I just scratch todo items onto the side of the cave wall with a bit of burnt stick



'David Mohundro' on Thu, 17 May 2007 10:25:29 GMT, sez:

I like it. I mean, what do you need to set it up?

Hmmm... notepad - check. That was easy!

We actually have been using a shared OneNote notebook on our team and it has worked out well. I don't know how well it would work if the team isn't all on the same LAN, though.



'dave solomon' on Thu, 17 May 2007 11:18:35 GMT, sez:

Why not split the difference and dump your stuff into TiddlyWiki? It's a standalone HTML file that, through EVIL MAGIC, presents itself as a Wiki. I used to use a POT file for my ToDo list, but having dates and times and tags is easier.
TiddlyWiki double-rules because you don't need to futz with a server install and the database config and yadda yadda; all you need is an interweb browser (and not even a connection to The Internets because it's a local HTML file).



'Jason Moore' on Thu, 17 May 2007 12:25:32 GMT, sez:

Unless you make some specific tool for managing your text file, then you lack the ability to do reports and it can be difficult to come up with an easy to follow schedule. Like you said, you only have two people and that may not be a big deal.

I definitely can understand not wanting to waste time setting up a tool and learning how to use it. I'm part of a small team of developers (3) and we tried using bugzilla for a while, but it ended up being a pain in the arse and nobody used it. Since then we switched to a program called Gemini (http://www.countersoft.com/) and tracking todo items has been a breeze. It's all web-based so you don't need anything except a browser to deal with it.



'Haacked' on Thu, 17 May 2007 14:31:28 GMT, sez:

I like the wiki approach myself. Presenting images is important for discussions. That whole 1000 words things.



'John Radke' on Thu, 17 May 2007 16:34:39 GMT, sez:

I thought you were ca-razy until I read that there's only two developers. Then it's much less crazy. Worrying that it's not gonna scale is just premature optimization.

But I would still go with a wiki because it'd be simpler. Currently you have to make your change & commit it, then later when you look at it you have to make sure to get the latest version from source. Or you have to do that lame checkin/checkout procedure. Either way, it's less work to use a wiki, with all of the benefits.



'Matthew Martin' on Thu, 17 May 2007 21:25:08 GMT, sez:

I think the key here is that you are using source controled todo lists, which through diff reports creates some important feedback on each check in--what has been finish and what new needs to be done. This is an entirely different work flow than exchanging a todo list by email or keeping it on a shared drive. That said, the cost of starting to use a real bug tracker, like flyspray keeps falling.



'Paul Kohler' on Fri, 18 May 2007 01:09:53 GMT, sez:

I am a huge fan of the simplicity of text files. Why complicate things with XML (which is still a text file whose 'format' can be broken.)
There are enough other things in the coding world that make life difficult - stick with text!



'Harold' on Fri, 18 May 2007 03:08:41 GMT, sez:

Right on brother. I've been using a text file as my personal wiki for many years. It's the first thing I open in the morning, write a mini to-do list for the day, then keep notes, urls, whatever all day long.



'Charley Farley' on Fri, 18 May 2007 13:37:42 GMT, sez:

Can anyone who uses a text file for their "personal wiki" or "todo" list post an example if they have any tips to share on making the most of a plain-text format?

The main post states "It's a semi-structured text file, in the sense that we have conventions we use for keeping it tidy." What form do these "conventions" take?

I'm just trying to rekindle the flame to start using a text file again for this. I've done it before but always end up giving up because, once it gets busy, it ends up being quite difficult to scan through to see "what's next."

Thanks.



'Ben' on Fri, 18 May 2007 14:45:23 GMT, sez:

Text files are exactly what I use at home on my personal projects.

At work, we used to use Word documents when it was just me coding, and my manager managing. It turned out, that it didn't scale at all, once we added one more developer, and a few other people got involved and needed to be kept in the loop. A bug tracking system was setup, and it's worked wonders.

At home, with just me, that would be way too much overhead. txt works great.



'Harold' on Fri, 18 May 2007 22:20:23 GMT, sez:

Charley,

My format is records with %% separators and a simple date at the top. I use keywords like TODO, HOWTO, or INFO. Every morning I start a new entry and write a quick TODO list for the day (typically copying up stuff I didn't do yesterday!).

Fri May 18 2007

TODO:
- make a million $
- quit job

%%



'Charley Farley' on Sat, 19 May 2007 07:44:14 GMT, sez:

Harold,

Thank you so much, this is just the sort of level of detail I was hoping for.

Do you leave all the previous days' entries in the file? Do you delete todo lines you've completed or simply change the - to a +?

Your approach seems to be a mix of a "todo" and a "done" list?

I keep a Word document at work, a simple macro inserts today's date and I keep a bulleted list of things I've done (so I can recall them to the boss when he asks what I've been up to!) It also doubles as a cut/paste notepad for snippets of code. Each year I rename Diary.doc to Diary_yyyy.doc - I have them going back to 2004. They are indexed by Google Desktop so old entries are easy to find.

However, for portability and lightweightedness(!), I'm looking to a plain text file for my todo list (not my done list).

At one point, following GTD I had a nextactions.txt, projects.txt and somedaymaybe.txt but I found it impractical jumping between them. However, whilst I agree that "next actions," tangible items you can actually do (purchase 5L of white emulsion from DIY store) work MUCH better than fuzzy todos (decorate house) keeping future next actions for the same project is important so you don't forget (e.g. put dustsheet over computer) and if they all go in the same file, I find it difficult to see the wood for the trees?

Does anyone have a good solution that works for them?

Charley



'lb' on Sat, 19 May 2007 07:54:31 GMT, sez:

for my personal list of todo items -- here's the basic plan.

Each day when i start:

i write today's date at the top of the file.

Then i copy the list from yesterday, and paste it in under today's date.

Any tasks that were done I remove from this copy. I then add new tasks, and delete any tasks that i've decided aren't really needed.

Each task has a '[_]' at the start of it (a poor man's check box) -- and if the task is 'done' then i change it to '[x]' -- and it will be deleted the following day.

i use indenting to indicate a hierarchy of tasks.

Throughout the day, new tasks are added, and other tasks are completed.

i keep a close eye out for tasks that are 'undoable' -- and try to break them into smaller tasks or work out what questions need to be asked (of whom) in order to make them into real tasks.

For timesnapper we have a different technique -- as it is not a 'day to day' list -- but an ongoing list.

We archive completed tasks, after each release, to the bottom of the file, with the release that they were included in.

We list current tasks under the form/class they belong to.

We list the email address of who requested a task -- so we can tell them when it's done.

Before the '[_]' (poor mans checkbox) for a task, we prefix a note like '??' meaning -- needs clarification, or 'do' meaning -- urgent, or 'lb' meaning lb will do it, or 'no' meaning, 'not to be done' etc.

At the top of the file is the upcoming version and all the features/bugs to be fixed in it. Then there's the version after that and what we project for it, and so on for several versions. Tasks get clearer when they're nearer to the top.

There's also headings for Marketing, Other Products, Website Ideas, and many more things.

Many angles to work on... and so little time.
lb



'Richard' on Sat, 19 May 2007 13:42:15 GMT, sez:

I'm using BaseCamp with a client, and it rocks:

http://www.basecamphq.com/

Free for one project, and pricing is reasonable after that.



'Harold' on Sat, 19 May 2007 20:15:05 GMT, sez:

Charley,

That's exactly what I do (like lb) - I mark done items with a + and the next day only copy up the "not done" items. Sometimes I leave a complete copy of the list behind, or sometimes I'll abandon an old list if it turns out I'm really not going to do it after all.

I used to keep this kind of "work log" in real notebooks, but these days I'd be crazy to write down a url.

The "work log" technique is



'Scott' on Tue, 22 May 2007 14:56:26 GMT, sez:

For a team with your size and discipline, a text file is fine. Keeping it in version control is very smart. I work in an organization that uses Excel files for bug tracking (and doesn't version control them). Frustrating doesn't even begin to describe the situation.



'Brian Dewey's TODO Tracking Powershell scripts' on Sun, 29 Jul 2007 23:58:06 GMT, sez:

(putting a link here to brian's scripts so i can find them again)




name


website (optional)


enter the word:
 

comment (HTML not allowed)


All viewpoints welcome. But the right to delete any post for any reason is reserved. Don't make me do it. Comments may be republished, emailed to your loved ones or printed and used as toilet paper. Who reads this legal bit anyhow?

TimeSnapper is a life analysis system that stores and plays-back your computer use. It makes timesheet recording a breeze, helps you recover lost work and shows you how to sharpen your act.

TimeSnapper won last year's Developer Competition at Larkware.com, and is used by over 10,000 people.

Articles

4 Types of Person (a guide to stupidity) 4 Types of Person (a guide to stupidity)
baby steps in microsoft robotics studio... baby steps in microsoft robotics studio...
Hang in there, little buddy Hang in there, little buddy
Worst. Bug. Ever. Worst. Bug. Ever.
IT Industry Revolutionised By Labour Saving Device IT Industry Revolutionised By Labour Saving Device
An Open, Federated Award Ceremony An Open, Federated Award Ceremony
3 differences between 'Small Business' and 'Enterprise' 3 differences between 'Small Business' and 'Enterprise'
How important is the problem of whether or not P=NP? How important is the problem of whether or not P=NP?
TimeSnapper hits the local press... and more on Iceland TimeSnapper hits the local press... and more on Iceland
MVC Zen Garden MVC Zen Garden
Is Corporate IT a form of emotional abuse? Is Corporate IT a form of emotional abuse?
Java Powered Internet? WTF? Java Powered Internet? WTF?
Life is Upstream Life is Upstream
TimeSnapper 3.3, and News From Iceland TimeSnapper 3.3, and News From Iceland
Growing Up Geek (A Hanselmeme) Growing Up Geek (A Hanselmeme)
Is that all you've got!? Is that all you've got!?
TimeSnapper 3.2: What are you afraid of? TimeSnapper 3.2: What are you afraid of?
Babbage and Boole! Babbage and Boole!
Downloadable Slide-decks: Downloadable Slide-decks: "Build your own Tiny Software Company"/"F# eye for the C# guy"
Simple Trouble Shooting Application Now Fixes Everything Simple Trouble Shooting Application Now Fixes Everything
a simple checklist for trouble-shooting regular problems a simple checklist for trouble-shooting regular problems
secretGeek at Tech-Ed: secretGeek at Tech-Ed: "How to build your own Tiny Software Company"
Bambrick versus Hanselman: Bring it! Bambrick versus Hanselman: Bring it!

Archives .: secretGeek :: Complete Archives
TimeSnapper -- Automated Screenshot Journal TimeSnapper.com    
Version 3.3: true productivity boost

Next Action NextAction
Managing the top of your mind

World's Simplest Code Generator (html edition) World's Simplest Code Generator
25 steps for building a Micro-ISV 25 steps for building a Micro-ISV
3 minute guides -- babysteps in new technologies: powershell, JSON, watir, F# 3 Minute Guide Series
Top 10 SecretGeek articles Top 10 SecretGeek articles
ShinyPower (help with Powershell) ShinyPower
Now at CodePlex

Gradient Maker -- a tool for making background images that blend from one colour to another. Forget photoshop, this is the bomb. Gradient Maker


[powered by Google] 


How to be depressed How to be depressed
You are not inadequate.



Recommended Reading

The Best Software Writing I
The Business Of Software (Eric Sink)

Recommended blogs

Jeff Atwood
Reginald Braithwaite
Joseph Cooney
Phil Haack
Scott Hanselman
Julia Lerman
Joel Pobar
Eric Sink
Joel Spolsky
Des Traynor

Aggregated Links

programming.reddit.com
dzone
dot net kicks

Human Link Machines

interesting finds
a continuous learner's weblog
arjan's world
n links today
new and notable
morning coffee
learning .net
weekly link post
(my del.icio.us account)

LinkedIn profile
 
home .: about .: sign up .: sitemap .: secretGeek RSS .: © Leon Bambrick 2006 .: privacy

home .: about .: sign up .: sitemap .: RSS .: © Leon Bambrick 2006 .: privacy