Punch-0.0.2 - i can has time tracking

NAME
punch

SYNOPSIS
punch (in|out|log|clock|status|list|total|delete|dump|parse)
[options]+

DESCRIPTION
i can has time tracking!

punch is a k.i.s.s. tool for tracking the hours spent on various
projects.
it supports logging hours under a project name, adding notes about
work
done during that period, and several very simple reporting tools that
operate over a window of time.

run ‘punch help modename’ for more info.

PARAMETERS
–help, -h

EXAMPLES
. punch in projectname
. punch in projectname ‘an hour ago’
. punch log projectname ‘rewriting your java app in ruby…’
. punch out projectname
. punch total projectname --after 2007-12-03 --before 2007-12-07
. punch total projectname --after ‘yesterday morning’ --before
‘today at noon’

gem install punch

a @ http://codeforpeople.com/

On Mar 29, 11:55 am, ara howard [email protected] wrote:

punch is a k.i.s.s. tool for tracking the hours spent on various

a @http://codeforpeople.com/

we can deny everything, except that we have the possibility of being
better. simply reflect on that.
h.h. the 14th dalai lama

I commend you on updating the gemspec to no longer require a specific
version of attributes (boy was that a headache), but it’s a shame that
it doesn’t include any mention of chronic.

Speaking of chronic, where’s a changelog?

On Mar 29, 2008, at 9:58 PM, Yossef M. wrote:

I commend you on updating the gemspec to no longer require a specific
version of attributes (boy was that a headache), but it’s a shame that
it doesn’t include any mention of chronic.

hrrm - yeah that’s crusty - i’ll fix and release tomorrow.

Speaking of chronic, where’s a changelog?

none on this one - just my own personal script released into the wild.

cheers.

a @ http://codeforpeople.com/

On Mar 29, 11:36 pm, “ara.t.howard” [email protected] wrote:

On Mar 29, 2008, at 9:58 PM, Yossef M. wrote:

Speaking of chronic, where’s a changelog?

none on this one - just my own personal script released into the wild.

Not trying to be a total dick (which is, granted a losing battle for
me), but… seems like when release announcements are made to fairly
mainstream usenet groups that it’s no longer a personal script but
it’s software and people are going to expect the trappings (test
suites, changelogs, etc.) :-/

Thanks for punch nonetheless,
Rick

On Mar 30, 2008, at 8:35 PM, Rick B. wrote:

Not trying to be a total dick (which is, granted a losing battle for
me),

:wink: no worries, i sometimes have the same problem…

but… seems like when release announcements are made to fairly
mainstream usenet groups that it’s no longer a personal script but
it’s software and people are going to expect the trappings (test
suites, changelogs, etc.) :-/

possibly. i’ve found though, through releasing a lot of software,
that people rarely find useful what i think they will and find very
useful things i’d almost call throwaway scripts. my rubyforge script
was one such script which many people found useful. the beautify of
open source is that the people that find it useful can either motivate
me or do the work themselves. in the case of rubyforge ryan davis
grabbed it and dumped a ton of effort into making a better package and
has contributed a ton of features and bug fixes too. and, of course,
most of what people would ask for is already there via the command-
line and rubyforge.org’s svn repo… it remains to be seen if people
find punch useful - if they do you can expect the package to grow -
otherwise not.

in any case i wish more people would release small scripts they’ve
written to perform useful personal tasks. there are not enough ruby
programs in the world and too many libraries and frameworks if you
ask me.

cheers.

ps. this is addressed generally not at you rick.

a @ http://codeforpeople.com/

On Sat, Mar 29, 2008 at 11:55 AM, ara howard [email protected]
wrote:

punch is a k.i.s.s. tool for tracking the hours spent on various
projects.
it supports logging hours under a project name, adding notes about work
done during that period, and several very simple reporting tools that
operate over a window of time.

Nice project Ara! I think this will be real useful. I have yet to find a
time tracking system that I like, but the interface you mentioned looks
like
a winner.

One question/enhancement idea - assuming that we are working on one
project
at a time (otherwise we’re double billing), can we simplify the
interface so
that once we punch in with a project name, that we can log to that
project
without having to specify the project name again.

So basically you’d do something like

punch in projectname
punch log ‘my log entry for that running project’ # last project is
assumed
punch out # you already support this I believe

and maybe punch in would support the last project idea, assuming that
one
will go in and out of a project many times, so if you don’t specify
assume
the last project again

punch in # assumes last project

Seems like maybe your interface could support both ways (explicit or
implicit project name specification) based on the number of args passed
in
or if necessary we could use an option like:

punch in --last # punch in for last project used
punch log --last ‘entry for the same project I last used’

Maybe if we have this default project idea for all commands then it
should
always echo out what project it is going in so you know for sure that
you
had the time going into the right bucket. I think this is true for punch
out
currently, but punch in and punch log don’t currently do this.

It would probably be nice to have an informational method like

punch last # tells you what projectname is the default last project

Finally, I had a little trouble with install on windoze (yeah, I wish I
didn’t have to use it either)

I got the following errror

C:\Documents and Settings\jbarczewski\Desktop>punch help list
c:/ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:27:in
gem_original_require': no such file to load -- chronic (LoadError) from c:/ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:27:inrequire’
from c:/ruby/lib/ruby/gems/1.8/gems/punch-0.0.2/bin/punch:308
from c:/ruby/bin/punch:16

Installing chronic with gem install chronic fixed that

Also then hit another error

c:/ruby/lib/ruby/gems/1.8/gems/punch-0.0.2/bin/punch:313:in
expand_path': couldn't find HOME environment -- expanding~’ (ArgumentError)
from c:/ruby/lib/ruby/gems/1.8/gems/punch-0.0.2/bin/punch:313
from c:/ruby/bin/punch:16

Maybe for windows you could check for USERPROFILE if HOME is not set??

I worked around by setting HOME variable to be the value of USERPROFILE
and
things worked fine.
USERPROFILE = c:\Documents and Settings\jbarczewski

Thanks for all your work and for sharing this with the community!

Jeff

On Mar 30, 2008, at 10:56 PM, ara.t.howard wrote:

it remains to be seen if people find punch useful - if they do you
can expect the package to grow - otherwise not.

in my mailbox this morning:

Hi Ara,

I just came across your punch project. I’ve written a tool in the same
vein but which integrates with basecamp todo lists. What I’d like to
do is take my code and integrate it with punch (which has a number of
advantages I could use). Can I just send you a patch when I’m done?

Regards,

Saimon

so i guess punch will survive into a real project after all :wink:

cheers.

a @ http://codeforpeople.com/

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs