Software Developer and Writer @oracle-devrel, mad coder, blogger, podcaster, cat lover. I mean, I like dogs… but they're not cats.
Also follow me on Mastodon!
License: MIT License
Software Developer and Writer @oracle-devrel, mad coder, blogger, podcaster, cat lover. I mean, I like dogs… but they're not cats.
Also follow me on Mastodon!
It would be great if all entries that were marked done could be moved to the archive section. This would mirror the TaskPaper app's behavior of "Archive Done Tasks". Thanks!
-bash: command substitution: line 1: syntax error near unexpected token `&'
-bash: command substitution: line 1: `⨱'
Changed the time format in .doingrc from the default
templates:
default:
date_format: '%Y-%m-%d %H:%M'
to the more German style
date_format: '%d.%m.%Y %H:%M'
This change results in an empty list returned by doing show command.
Reverting back to the original date format and adding a new entry results in a proper output of the doing show command.
It seems the search cannot handle changes in date format.
Thx
Sven
The first line of the default 'doing today' has no spacing even though %_I is specified. Subsequent lines have the expected spacing.
It would be useful to have a switch to specify a different doing_file
on the command line.
As far as a I can tell, the doing_file is human readable, but if I am working on different projects and all the notes are in the same file, I'm not going to be able to really read the file. This is why I think a flag to change the doing_file
on the fly would be appropriate.
Opening an issue as I'm currently getting the following problem, no matter what parameters I give to Doing. I'll update with a fix if I find one.
/Users/ian/.rbenv/versions/2.0.0-p247/lib/ruby/gems/2.0.0/gems/doing-0.2.4/lib/doing/wwid.rb:103:in `block in initialize': undefined method `[]' for nil:NilClass (NoMethodError)
from /Users/ian/.rbenv/versions/2.0.0-p247/lib/ruby/gems/2.0.0/gems/doing-0.2.4/lib/doing/wwid.rb:92:in `each'
from /Users/ian/.rbenv/versions/2.0.0-p247/lib/ruby/gems/2.0.0/gems/doing-0.2.4/lib/doing/wwid.rb:92:in `initialize'
from /Users/ian/.rbenv/versions/2.0.0-p247/lib/ruby/gems/2.0.0/gems/doing-0.2.4/bin/doing:14:in `new'
from /Users/ian/.rbenv/versions/2.0.0-p247/lib/ruby/gems/2.0.0/gems/doing-0.2.4/bin/doing:14:in `<top (required)>'
from /Users/ian/.rbenv/versions/2.0.0-p247/bin/doing:23:in `load'
from /Users/ian/.rbenv/versions/2.0.0-p247/bin/doing:23:in `<main>'
Hello,
Tried doing and its cool! But having problems when I have entered å ä ö. Then I'm getting the following error. and its broken :(
C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/doing-0.1.7/lib/doing/wwid.rb:85:in `spl
it': invalid byte sequence in UTF-8 (ArgumentError)
from C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/doing-0.1.7/lib/doing/wwid.
rb:85:in `initialize'
from C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/doing-0.1.7/bin/doing:9:in
`new'
from C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/doing-0.1.7/bin/doing:9:in
`<top (required)>'
from C:/Ruby200-x64/bin/doing:23:in `load'
from C:/Ruby200-x64/bin/doing:23:in `<main>'
Typing doing open
returns "Couldn't get a file descriptor referring to the console". I was also getting the error mentioned in #8 and had installed it using the --no-document flag.
ruby 2.0.0p247 (2013-06-27 revision 41674) [x86_64-linux]
I'd love some way (and maybe I'm just missing it in the current build) to move tasks between sections. This would work kind of like a custom 'archive' action. Basically, I want to move things into another section before they get moved into an archive.
It would be great to add the duration of a task (how long it took to get this done) with absolute measures like 2 hours or 20 minutes.
This would allow to interrupt working on a task and have the effort recorded by this time record.
Could be implemented with a special tag like @time(180).
On the commandline with a --d parameter:
doing now --d 2h my task
doing --b yesterday --d 30m my task from yesterday
Should allow to understand 2h, 30m etc. and should be translated into a normalized value (minutes) in the @time(time_in_minutes) tag for csv/excel processing.
Any other formatting for the duration which can be processed easily is also welcome. A format of the representation in the reports could be:
bash > doing show
2014-04-03 12:56 | 180 | Hallo welt
2014-04-03 12:57 | 30 | Abc I did this
I recommend you provide a user friendly man page.
I'm getting this error right after installing the gem.
✈ gem install doing
Fetching: gli-2.7.0.gem (100%)
Successfully installed gli-2.7.0
Fetching: doing-0.1.6.gem (100%)
Successfully installed doing-0.1.6
ERROR: While executing gem ... (OptionParser::MissingArgument)
missing argument: -i
Env:
It would be great if there was a way to query the “doing” file to get a timesheet with a summary of task durations for a given time range.
Combine this with the ability to filter by tags (#17) for project status reports.
I'd love to be able to type doing append <msg>
or something along those lines in order to append a line to the notes associated with the current entry rather than opening it in the editor. It seems more in line with the "on the fly" nature of doing. I apologize if there's already a simple way to do this that I've overlooked.
If you add an entry that contains quotes:
± doing later entries with quotes like: steve's drop into quote>
quote> '
it drops you into the quote prompt and then drops the quote from the entry:
± doing show later
2014-03-19 13:03 | Boot scotts vmware box
2014-03-19 13:06 | Entries with quotes like: steves drop into quote>
Is this the expected behavior?
I've pushed 0.2.5pre to the gem server and the 0.2.5pre branch. If you have time to test, please do (gem install doing --pre
).
If I don't hear about any major bugs over the weekend, I'll push it live early next week. Thanks.
Brief release notes:
--output html
)--output csv
doing mark
)doing archive @done
)As a contractor maintaining multiple projects for multiple clients it would be quite helpful if doing
resolved its config file hierarchically in the typical unix way, allowing the ability to set the doing_file
, current_section
, etc. for a particular directory & its children.
I'm quite willing to work on this; let me know if you have any preference for how it is done or if you know of a gem/library that already does the hierarchical merging of config files.
As part of doing this it would also make sense to add a default_tags
section too, and possibly an archive_section
so that different clients' entries can get archived to different sections (for me it is vital to use only one global doing file).
Hi, So I have doing later set up and it moves the stuff to doing later.
Is there a command to set something that was in 'later' to being done? since 'doing done ...' puts it in the 'currently' section but with a strikethrough
I can't execute any commands that add any entries to my doing file since upgrading to 1.08.
> GLI_DEBUG=true doing done -b "11.15am" -t "35m" Doing something
error: undefined method `each' for nil:NilClass
/Library/Ruby/Gems/2.0.0/gems/doing-1.0.8pre/lib/doing/wwid.rb:1256:in `autotag': undefined method `each' for nil:NilClass (NoMethodError)
from /Library/Ruby/Gems/2.0.0/gems/doing-1.0.8pre/lib/doing/wwid.rb:351:in `add_item'
from /Library/Ruby/Gems/2.0.0/gems/doing-1.0.8pre/bin/doing:355:in `block (2 levels) in <top (required)>'
from /Library/Ruby/Gems/2.0.0/gems/gli-2.9.0/lib/gli/command_support.rb:121:in `call'
from /Library/Ruby/Gems/2.0.0/gems/gli-2.9.0/lib/gli/command_support.rb:121:in `execute'
from /Library/Ruby/Gems/2.0.0/gems/gli-2.9.0/lib/gli/app_support.rb:284:in `block in call_command'
from /Library/Ruby/Gems/2.0.0/gems/gli-2.9.0/lib/gli/app_support.rb:297:in `call'
from /Library/Ruby/Gems/2.0.0/gems/gli-2.9.0/lib/gli/app_support.rb:297:in `call_command'
from /Library/Ruby/Gems/2.0.0/gems/gli-2.9.0/lib/gli/app_support.rb:79:in `run'
from /Library/Ruby/Gems/2.0.0/gems/doing-1.0.8pre/bin/doing:1058:in `<top (required)>'
from /usr/bin/doing:23:in `load'
from /usr/bin/doing:23:in `<main>'
Seems to be related to the auto tag functionality, because when I add the following to my ~/.doingrc file, things work again:
autotag:
whitelist: []
synonyms: []
doing now test
error: undefined method `[]' for nil:NilClass
ruby --version
ruby 2.1.3p242 (2014-09-19 revision 47630) [x86_64-darwin14.0]
gem --version
2.2.2
rake --version
rake, version 10.1.0
doing --version
doing v1.0.8pre (happens on the older version too)
doing -f ~/test.md now testing
error: undefined method `[]' for nil:NilClass
Hi Brett,
Just thought you might want to know the config parameter doesn't do anything.
doing config
sh: : command not found
any info on how to log doing entries to day one?
Hey,
I am using Linux Mint 16 Petra
. I didn't had gem command so I installed rubygems
:
~/ ❯❯❯ sudo apt-get install rubygems
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following extra packages will be installed:
libruby1.8 ruby1.8
Suggested packages:
ruby1.8-examples ri1.8 ruby-switch
Recommended packages:
ruby1.8-dev build-essential
The following NEW packages will be installed:
libruby1.8 ruby1.8 rubygems
............
After that I installed doing
like this:
~ ❯❯❯ sudo gem install doing
Fetching: gli-2.7.0.gem (100%)
Fetching: doing-0.1.6.gem (100%)
Successfully installed gli-2.7.0
Successfully installed doing-0.1.6
2 gems installed
I added an item:
~ ❯❯❯ doing now stuff
And when I wanted to see it:
~ ❯❯❯ doing recent 2
error: undefined method `to_time' for #<Date: 4913467/2,0,2299161>
doing later Read 'Hänsel & Gretel'
outputs:
error: "\xC3" from ASCII-8BIT to UTF-8
After that the doing file is empty!
If nothing is tagged, but some tasks are done, --totals should still show a summary.
The current implementation only shows totals if (any) task is tagged.
When calling doing later
(for the first time, or after making a doing later <something>
call) the following error is thrown:
$ doing later
/Library/Ruby/Gems/2.0.0/gems/doing-0.1.7/lib/doing/wwid.rb:144:in `system': no implicit conversion of nil into String (TypeError)
from /Library/Ruby/Gems/2.0.0/gems/doing-0.1.7/lib/doing/wwid.rb:144:in `block in fork_editor'
from /Library/Ruby/Gems/2.0.0/gems/doing-0.1.7/lib/doing/wwid.rb:144:in `fork'
from /Library/Ruby/Gems/2.0.0/gems/doing-0.1.7/lib/doing/wwid.rb:144:in `fork_editor'
from /Library/Ruby/Gems/2.0.0/gems/doing-0.1.7/bin/doing:82:in `block (2 levels) in <top (required)>'
from /Library/Ruby/Gems/2.0.0/gems/gli-2.9.0/lib/gli/command_support.rb:121:in `call'
from /Library/Ruby/Gems/2.0.0/gems/gli-2.9.0/lib/gli/command_support.rb:121:in `execute'
from /Library/Ruby/Gems/2.0.0/gems/gli-2.9.0/lib/gli/app_support.rb:284:in `block in call_command'
from /Library/Ruby/Gems/2.0.0/gems/gli-2.9.0/lib/gli/app_support.rb:297:in `call'
from /Library/Ruby/Gems/2.0.0/gems/gli-2.9.0/lib/gli/app_support.rb:297:in `call_command'
from /Library/Ruby/Gems/2.0.0/gems/gli-2.9.0/lib/gli/app_support.rb:79:in `run'
from /Library/Ruby/Gems/2.0.0/gems/doing-0.1.7/bin/doing:350:in `<top (required)>'
from /usr/bin/doing:23:in `load'
from /usr/bin/doing:23:in `<main>'
error: undefined method `strip' for nil:NilClass`
Using Ruby 2.0.0.p247.
I'm receiving a error: stack level too deep
error when I try to run the following commands:
doing show tag
doing view sample
This is my .doingrc
doing_file: ~/.what_was_i_doing.md
current_section: Currently
templates:
default:
date_format: '%Y-%m-%d %H:%M'
template: '%date | %title%note'
wrap_width: 0
today:
date_format: '%_I:%M%P'
template: '%date: %title%note'
wrap_width: 0
last:
date_format: '%-I:%M%P on %a'
template: '%title (at %date)%odnote'
wrap_width: 88
recent:
date_format: '%_I:%M%P'
template: '%shortdate: %title'
wrap_width: 88
views:
sample:
date_format: '%_I:%M%P'
template: '%date | %title%note'
wrap_width: 0
section: section_name
count: 5
later:
section: Later
count: 5
wrap_width: 60
date_format: '%F %_I:%M%P'
template: '%date | %title%note'
old:
section: Old
count: 5
wrap_width: 0
date_format: '%F %_I:%M%P'
template: '%date | %title%note'
:include_notes: true
editor_app:
Hi,
I recently started to use doing and im trying to build up my workflow. One thing that o realized is that 'doing archive' doesn't add '@project(project_name)" tag to the entry. I was wondering if there is an option for it or it has to be implemented.
Cheers,
Amir
I realize this isn't really the right place, but I'm not sure where to put this to share with others. @ttscoff's idea about using Day One for reminders and for an easy way to enter "doing" items got me excited. I hacked together the below script.
#!/usr/bin/ruby
# Requirements:
# - rb-dayone and doing gems installed for the system Ruby.
# (Mine (OSX 10.10) are in /Library/Ruby/Gems/2.0.0/gems/)
#
# How to run:
# $./dayone-to-doing.rb 0A8BE4BB9F7E40B5A6F3F621797FC6F5.doentry
# The parameter passed to the script is the doentry file that was just created.
# The script will:
# 1) Parse the doentry
# 2) Check if it has the 'wwid' tag
# 3) If so, add it to your doing file in the default section
#
# So the overall flow for me is:
# 1) Set Day One to prompt me hourly from the menu bar
# 2) Setup this Ruby script to run when a new file is added to my Day One journal entries folder.
# Mine is at ~/Dropbox/Apps/Day One/Journal.dayone/entries. You can use either Hazel or
# Finder's built-in Folder Actions functionality to trigger the script with the doentry file as the first argument.
# 2) When Day One prompt appears, write what I've done over the past hour, end it with #wwid, and hit command+enter
# 3) Nothing! Anything journal entry you write in Day One with the wwid tag will show up in your doing file!
require 'rb-dayone'
require 'doing'
doentry = ARGV[0]
abort('doentry file not provided as first argument') unless doentry
entry = DayOne::EntryImporter.from_file(doentry).to_entry
if entry.tags.include? 'wwid'
doing = WWID.new
doing.init_doing_file
tagged_entry = entry.entry_text.gsub('#','@')
doing.add_item(tagged_entry, nil, {:back => entry.created_at.localtime})
doing.write(doing.doing_file)
else
abort('No #wwid tag')
end
Also here: https://gist.github.com/crcastle/fc7189aa9e8acd3538fc
Version 0.2.0 needs testers. I haven't updated the docs yet, but here are the new features. doing help
is up to date, and doing help command
will show all available flags and switches for any given command.
doing done
without argument tags last entry done
-a
archives themdoing finish
or doing finish X
marks last X entries done
-a
archives themdoing tag tag1 [tag2]
tags last entry or -c X
entries
doing tag -r tag1 [tag2]
removes said tag(s)tags
and tags_bool
doing show
updates
-b
sets boolean (AND, OR, NONE) or (ALL, ANY, NONE) (default OR/ANY)-c X
to limit results-s
to set sort order (asc or desc)-a
to set age (newest or oldest)doing view
commandInstall the pre-release version for testing with gem install doing --pre
.
If you have the setup for it, you can clone the testing branch and run bundle install
and rake package
from within the doing folder. A gem will be built in pkg/doing.0.2.2.pre.gem
that you can install with gem install pkg/doing.0.2.2.pre.gem
.
doing open -a TaskPaper
)doing open -b com.sublimetext.3
)now
, later
and done
commands
doing now
)doing views
shows all available custom viewsdoing view
without a view name will let you choose a view from a menudoing archive
fixed so that -k X
works to keep X number of entries in the sectionI'm not sure if this is a brew related issue but after installing the gem I had to do the following to make sure that doing was in my path.
ln -s /usr/local/Cellar/td-agent/1.1.17/bin/doing /usr/local/bin/doing
I didn't notice this in the install instructions and I guess it could be a little confusing for some people after installation if they couldn't immediately use the tool.
Would be nice if the CLI supported a means to filter the list of entries by tags like jrnl. See http://maebert.github.io/jrnl/usage.html#using-tags.
TaskPaper-style @project
tags can be used to filter the file in TaskPaper, but it might be useful if the doing
CLI could do the same, without having to open the file in TaskPaper.
Experiencing another crashing bug:
➜ ~ doing archive 5
error: stack level too deep
➜ ~ doing archive 1
error: stack level too deep
➜ ~
I'll post back if I find a fix
As of 024ed67 read_config
appears to be broken on Windows. The resulting behavior is that doing
simply hangs and never returns.
The problem is that read_config
assumes the root folder will be '/', but on Windows, this will include the drive name (i.e. 'C:/').
When running doing archive
the system archives all but the oldest 5 items in Currently to Archive. This does not consider the done status of the tasks, so I might see incomplete tasks get archived.
I'd think it would make sense to only move @done tasks to Archive.
Thoughts?
I don't think %-I is a thing? Or am I misunderstanding?
Would you consider adding a -e
flag to doing which could be used with any of the commands that create new entries?
It would open up your $EDITOR
, and after successful termination, place any saved data into the doing_file
as an entry.
I'm thinking it would be similar to how commits can be edited in most version control systems.
If you don't get to it, I may submit a patch at some point, but would need to brush up on my ruby beforehand, and would prefer to know that you're open to the idea before I started.
I'm enjoying using this to keep track of what I am and have done at work. What I will do after I finish a task is manually add (in Taskpaper) is add a note in italics about what I did for log keeping or if I need to refer to it later. As an example:
- 2014-04-07 12:51 | Print the newest versions of document for boss @done(2014-04-07)
_Chapter two with the most recent graphic table that he wanted._
Is there a way to prevent my manual entry from being indented? Is there something you can point me to in the code that I can change/fork manually? Thanks in advance Brett.
If a format contains the %interval format specifier, that should imply -t (showing time intervals). I would expect explicitly using --no-times to override that and not show an interval.
Hi,
I've encountered an error in doing. When I try to run
doing now "Überarbeite Doku: Doppel-Backslash am Ende des Namespace"
It raises an error:
error: "\xC3" from ASCII-8BIT to UTF-8
I'm using Yosemite 10.10.1 and the latest version of doing.
I would love to be able to mark @done(date)
the entry that is retrieved with doing last
. So basically marking what you are working on as done. doing last done
perhaps.
Additional ideas are the ability to immediately archive it and being able to specify a number of items to mark done (i.e. doing last done -3
to mark last three entries complete).
Thanks!
Currently doing done ARG
makes a new entry with @done
, without care of stored entries. But I hope that it appends a @done
to the entry when ARG
matches that.
Or, since iterating over all can be overhead when wwid list is too long, an interface like doing choose
for undone tasks would make it more attractive.
doing v0.2.4
ruby 2.0.0p247 (2013-06-27 revision 41674) [universal.x86_64-darwin13]
doing done ignores the --back option when "entry" argument is missing. This option adds the @done tag to the last entry. I expect end time with @done tag to be offset by time specified in the --back option, but current time is used with @done tag.
See title...
scolli208@HQSML-1081034 ~ » doing now -e
error: undefined method `strip' for nil:NilClass
scolli208@HQSML-1081034 ~ » echo $EDITOR 1 ↵
mvim -f --nomru -c "au VimLeave * !open -a iTerm"
Would be nice to be able to just run doing open
to open the file in the default app that opens .md
. Would be nice to run doing open -a Marked
to open it in a specific app (like Marked).
I'd like to label this as an "enhancement" not a true "issue", but I don't see the option to do so. Feel free to disregard or delete this.
class String
def cap_first
self.sub(/^\w/) do |m|
m.upcase
end
end
end
Wouldn't the built-in capitalize method do the same thing?
Hello,
I wanted to create an package for archlinux, but I realised there's a bunch of pre versions. I'm not familiar with ruby numbering, but I would imagine pre versions are beta.
So, why is 1.0.7 still a pre version when 1.0.8pre is already out?
Are there plans for a new stable version or should I just package the latest pre version?
Cheers
Cool tool! Tried to view the md file in Marked and the formatting was terrible for that purpose.
Sure I could do some regex on that file myself.but that won't give me a live preview in Marked. Which would be way cooler than my editor (which my wife like to refer to as "visually underwhelming". ;-)
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.