[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Forums >

comp.lang.ruby

[ANN] punch-0.0.2 - i can has time tracking

ara.t.howard

3/29/2008 4:56:00 PM


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://codeforp...
--
we can deny everything, except that we have the possibility of being
better. simply reflect on that.
h.h. the 14th dalai lama




6 Answers

Yossef Mendelssohn

3/30/2008 3:58:00 AM

0

On Mar 29, 11:55 am, ara howard <ara.t.how...@gmail.com> wrote:
> 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://codeforp...
> --
> 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?

--
-yossef

ara.t.howard

3/30/2008 4:36:00 AM

0


On Mar 29, 2008, at 9:58 PM, Yossef Mendelssohn 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://codeforp...
--
we can deny everything, except that we have the possibility of being
better. simply reflect on that.
h.h. the 14th dalai lama




Rick Bradley

3/31/2008 2:31:00 AM

0

On Mar 29, 11:36 pm, "ara.t.howard" <ara.t.how...@gmail.com> wrote:
> On Mar 29, 2008, at 9:58 PM, Yossef Mendelssohn 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

ara.t.howard

3/31/2008 4:57:00 AM

0


On Mar 30, 2008, at 8:35 PM, Rick Bradley wrote:
> Not trying to be a *total* dick (which is, granted a losing battle for
> me),

;-) 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://codeforp...
--
we can deny everything, except that we have the possibility of being
better. simply reflect on that.
h.h. the 14th dalai lama




ara.t.howard

3/31/2008 3:44:00 PM

0


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 ;-)

cheers.


a @ http://codeforp...
--
we can deny everything, except that we have the possibility of being
better. simply reflect on that.
h.h. the 14th dalai lama




Jeff Barczewski

4/2/2008 2:41:00 PM

0

[Note: parts of this message were removed to make it a legal post.]

On Sat, Mar 29, 2008 at 11:55 AM, ara howard <ara.t.howard@gmail.com> 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:in
`require'
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

--
Jeff Barczewski, MasterView core team
Inspired Horizons Ruby on Rails Training and Consultancy
http://inspiredhor...