notes
This commit is contained in:
parent
56094c1b16
commit
2097c1fce1
313
NOTES
313
NOTES
@ -1,39 +1,143 @@
|
|||||||
hledger project notes
|
hledger project notes
|
||||||
=====================
|
|
||||||
|
|
||||||
* inspiration
|
* backlog
|
||||||
"...simplicity of design was the most essential, guiding principle.
|
** cleanup
|
||||||
Clarity of concepts, economy of features, efficiency and reliability of
|
*** resolve unrecorded stuff
|
||||||
implementations were its consequences." --Niklaus Wirth
|
*** review/clean up version handling
|
||||||
|
*** makefile cleanups
|
||||||
|
*** sync repos
|
||||||
|
*** fix commit hook docs building
|
||||||
|
** release 0.17
|
||||||
|
*** ghc 7.2 warnings
|
||||||
|
*** deprecate vty, chart
|
||||||
|
*** update release notes
|
||||||
|
*** review bugs/patches
|
||||||
|
** errors
|
||||||
|
*** 53 add form completing fields break on second add
|
||||||
|
**** debug
|
||||||
|
***** try with braces
|
||||||
|
****** reinstall virtual env
|
||||||
|
**** commit
|
||||||
|
*** enter doesn't work in add form completing fields
|
||||||
|
**** research this dhtmlxcombo issue
|
||||||
|
*** fix version strings on server
|
||||||
|
**** demo
|
||||||
|
**** dev demo
|
||||||
|
**** cli
|
||||||
|
*** 49 convert should report rules file parse errors better
|
||||||
|
*** 33 edit form always displays in non-javascript browsers, like elinks
|
||||||
|
*** add: default amount adds one decimal place when journal contains no decimals
|
||||||
|
*** add: learn decimal point/thousands separator from the journal and/or add session ?
|
||||||
|
Eg: comma is already used as thousands separator in the journal, but add
|
||||||
|
interprets it as decimal point giving a wrong default for amount 2 (though
|
||||||
|
the correct journal transaction is written in this case)
|
||||||
|
|
||||||
"The competent programmer is fully aware of the limited size of his own
|
$ hledger -f t add
|
||||||
skull. He therefore approaches his task with full humility, and avoids
|
Adding transactions to journal file "t".
|
||||||
clever tricks like the plague." --Edsger Dijkstra
|
To complete a transaction, enter . (period) at an account prompt.
|
||||||
|
To stop adding transactions, enter . at a date prompt, or control-d/control-c.
|
||||||
|
date, or . to end [2011/09/30]:
|
||||||
|
description []: z
|
||||||
|
account 1: a
|
||||||
|
amount 1: 1,000
|
||||||
|
account 2: b
|
||||||
|
amount 2 [-1,0]:
|
||||||
|
account 3, or . to record: .
|
||||||
|
date, or . to end [2011/09/30]: .
|
||||||
|
$ cat t
|
||||||
|
; journal created 2011-09-30 by hledger
|
||||||
|
|
||||||
"I was hesitating to cross the street in Edinburgh one day, and these two
|
2011/09/30
|
||||||
little old Scottish ladies cried out to me 'LIVE DANGEROUSLY, SON! LIVE
|
a $1,000,000.00
|
||||||
DANGEROUSLY'" --kowey
|
b
|
||||||
|
|
||||||
ALL THAT'S NEEDED IS THE DESIRE TO BE HEARD. THE WILL TO LEARN. AND THE
|
2011/09/30 x
|
||||||
ABILITY TO SEE. --Scott McCloud, Understanding Comics
|
a $1,2
|
||||||
|
b
|
||||||
|
|
||||||
* principles
|
2011/09/30 y
|
||||||
** we aim to make reliable, maintainable, usable, useful software, sustainably.
|
a $1.2
|
||||||
** docs before packaging before tests before fixes before refactoring before features
|
b
|
||||||
** "bugs" are errors, as in the programmers messed up
|
|
||||||
** automate
|
|
||||||
** measure
|
|
||||||
** test continuously, test everything
|
|
||||||
** less is more
|
|
||||||
** code review/pair programming
|
|
||||||
|
|
||||||
* todo
|
2011/09/30 z
|
||||||
** shortlist for next release
|
a 1,000
|
||||||
*** fixes
|
b
|
||||||
*** docs
|
|
||||||
*** polish
|
*** parsing: decimal point/thousands separator confusion ?
|
||||||
|
<<<
|
||||||
|
2011/09/30
|
||||||
|
a $1,000,000.00
|
||||||
|
b
|
||||||
|
|
||||||
|
2011/09/30 x
|
||||||
|
a $1,2
|
||||||
|
b
|
||||||
|
|
||||||
|
2011/09/30 y
|
||||||
|
a $1.2
|
||||||
|
b
|
||||||
|
>>> hledger -f t print
|
||||||
|
2011/09/30
|
||||||
|
a $1,000,000.00
|
||||||
|
b $-1,000,000.00
|
||||||
|
|
||||||
|
2011/09/30 x
|
||||||
|
a $1.20
|
||||||
|
b $-1.20
|
||||||
|
|
||||||
|
2011/09/30 y
|
||||||
|
a $1.20
|
||||||
|
b $-1.20
|
||||||
|
|
||||||
|
*** parsing: recursive file includes cause a hang
|
||||||
|
echo "!include rec" > rec
|
||||||
|
hledger -f rec print
|
||||||
|
*** parsing: "could not balance" error does not show line number
|
||||||
|
*** parsing: extra noise with eg bad date parse errors
|
||||||
|
$ cat t.journal
|
||||||
|
200/1/99 x
|
||||||
|
a 1
|
||||||
|
b
|
||||||
|
$ ./hledger.hs -f t.journal print
|
||||||
|
hledger.hs: could not parse journal data in t.journal
|
||||||
|
"t.journal" (line 1, column 9):
|
||||||
|
unexpected " " <- undesired
|
||||||
|
expecting digit <- noise
|
||||||
|
bad year number: 200
|
||||||
|
|
||||||
|
*** parsing: confusing error when journal lacks a final newline
|
||||||
|
$ cat - >t.j
|
||||||
|
2010/1/2
|
||||||
|
a 1
|
||||||
|
b<ctrl-d>
|
||||||
|
$ hledger -f t.j bal
|
||||||
|
hledger: could not parse journal data in t.j
|
||||||
|
"t.j" (line 3, column 3):
|
||||||
|
unexpected "b"
|
||||||
|
expecting comment or new-line
|
||||||
|
|
||||||
|
*** tools: avoid haskell compiles and compile errors while setting up makefile vars
|
||||||
|
joyful$ make help
|
||||||
|
GHCi runtime linker: fatal error: I found a duplicate definition for symbol
|
||||||
|
__hscore_S_IFDIR
|
||||||
|
whilst processing object file
|
||||||
|
/usr/local/lib/ghc-7.0.2/directory-1.1.0.0/HSdirectory-1.1.0.0.o
|
||||||
|
This could be caused by:
|
||||||
|
* Loading two different object files which export the same symbol
|
||||||
|
* Specifying the same object file twice on the GHCi command line
|
||||||
|
* An incorrect `package.conf' entry, causing some object to be
|
||||||
|
loaded twice.
|
||||||
|
GHCi cannot safely continue in this situation. Exiting now. Sorry.
|
||||||
|
|
||||||
|
make: *** No rule to make target `help'. Stop.
|
||||||
|
|
||||||
|
*** 25 hledger in windows console does not print non-ascii characters
|
||||||
|
*** excessive precision in default balancing amount
|
||||||
|
**** shelltest tests/add.test -- -t10
|
||||||
|
**** find original justification or drop
|
||||||
** documentation, marketing
|
** documentation, marketing
|
||||||
*** developer notes & log
|
*** developer notes & log
|
||||||
|
**** clean up backlog
|
||||||
*** intro brainstorming
|
*** intro brainstorming
|
||||||
|
|
||||||
hledger is a robust command-line accounting tool with a simple plain text data format.
|
hledger is a robust command-line accounting tool with a simple plain text data format.
|
||||||
@ -65,8 +169,6 @@ hledger helps you track and understand your finances, making calculations based
|
|||||||
Features: reads transactions in journal, timelog, or CSV format; handles multi-currency/multi-commodity transactions; prints the chart of accounts, account balances, or transactions you're interested in, quickly; scriptable.
|
Features: reads transactions in journal, timelog, or CSV format; handles multi-currency/multi-commodity transactions; prints the chart of accounts, account balances, or transactions you're interested in, quickly; scriptable.
|
||||||
|
|
||||||
*** website
|
*** website
|
||||||
**** add tables of contents
|
|
||||||
**** integrate binaries, demo, pastebin
|
|
||||||
*** faq
|
*** faq
|
||||||
**** life cycle of top-level accounts
|
**** life cycle of top-level accounts
|
||||||
For personal ledgers, when you're born, all accounts are at zero (one hopes) and as you live:
|
For personal ledgers, when you're born, all accounts are at zero (one hopes) and as you live:
|
||||||
@ -457,8 +559,8 @@ projects or developers (ledger and two others of my choice.)
|
|||||||
This project will go forward if
|
This project will go forward if
|
||||||
|
|
||||||
[1] http://demo.hledger.org:5001
|
[1] http://demo.hledger.org:5001
|
||||||
|
|
||||||
** packaging, installability
|
** packaging, installability
|
||||||
|
*** port to http-conduit
|
||||||
*** linux
|
*** linux
|
||||||
***** debian/ubuntu packaging
|
***** debian/ubuntu packaging
|
||||||
*** mac
|
*** mac
|
||||||
@ -545,115 +647,6 @@ using be more place holders?
|
|||||||
**** talkback, auto bug reports
|
**** talkback, auto bug reports
|
||||||
**** usability
|
**** usability
|
||||||
**** download & usage stats
|
**** download & usage stats
|
||||||
** errors
|
|
||||||
*** 49 convert should report rules file parse errors better
|
|
||||||
*** 33 edit form always displays in non-javascript browsers, like elinks
|
|
||||||
*** add: default amount adds one decimal place when journal contains no decimals
|
|
||||||
*** add: learn decimal point/thousands separator from the journal and/or add session ?
|
|
||||||
Eg: comma is already used as thousands separator in the journal, but add
|
|
||||||
interprets it as decimal point giving a wrong default for amount 2 (though
|
|
||||||
the correct journal transaction is written in this case)
|
|
||||||
|
|
||||||
$ hledger -f t add
|
|
||||||
Adding transactions to journal file "t".
|
|
||||||
To complete a transaction, enter . (period) at an account prompt.
|
|
||||||
To stop adding transactions, enter . at a date prompt, or control-d/control-c.
|
|
||||||
date, or . to end [2011/09/30]:
|
|
||||||
description []: z
|
|
||||||
account 1: a
|
|
||||||
amount 1: 1,000
|
|
||||||
account 2: b
|
|
||||||
amount 2 [-1,0]:
|
|
||||||
account 3, or . to record: .
|
|
||||||
date, or . to end [2011/09/30]: .
|
|
||||||
$ cat t
|
|
||||||
; journal created 2011-09-30 by hledger
|
|
||||||
|
|
||||||
2011/09/30
|
|
||||||
a $1,000,000.00
|
|
||||||
b
|
|
||||||
|
|
||||||
2011/09/30 x
|
|
||||||
a $1,2
|
|
||||||
b
|
|
||||||
|
|
||||||
2011/09/30 y
|
|
||||||
a $1.2
|
|
||||||
b
|
|
||||||
|
|
||||||
2011/09/30 z
|
|
||||||
a 1,000
|
|
||||||
b
|
|
||||||
|
|
||||||
*** parsing: decimal point/thousands separator confusion ?
|
|
||||||
<<<
|
|
||||||
2011/09/30
|
|
||||||
a $1,000,000.00
|
|
||||||
b
|
|
||||||
|
|
||||||
2011/09/30 x
|
|
||||||
a $1,2
|
|
||||||
b
|
|
||||||
|
|
||||||
2011/09/30 y
|
|
||||||
a $1.2
|
|
||||||
b
|
|
||||||
>>> hledger -f t print
|
|
||||||
2011/09/30
|
|
||||||
a $1,000,000.00
|
|
||||||
b $-1,000,000.00
|
|
||||||
|
|
||||||
2011/09/30 x
|
|
||||||
a $1.20
|
|
||||||
b $-1.20
|
|
||||||
|
|
||||||
2011/09/30 y
|
|
||||||
a $1.20
|
|
||||||
b $-1.20
|
|
||||||
|
|
||||||
*** parsing: recursive file includes cause a hang
|
|
||||||
echo "!include rec" > rec
|
|
||||||
hledger -f rec print
|
|
||||||
*** parsing: "could not balance" error does not show line number
|
|
||||||
*** parsing: extra noise with eg bad date parse errors
|
|
||||||
$ cat t.journal
|
|
||||||
200/1/99 x
|
|
||||||
a 1
|
|
||||||
b
|
|
||||||
$ ./hledger.hs -f t.journal print
|
|
||||||
hledger.hs: could not parse journal data in t.journal
|
|
||||||
"t.journal" (line 1, column 9):
|
|
||||||
unexpected " " <- undesired
|
|
||||||
expecting digit <- noise
|
|
||||||
bad year number: 200
|
|
||||||
|
|
||||||
*** parsing: confusing error when journal lacks a final newline
|
|
||||||
$ cat - >t.j
|
|
||||||
2010/1/2
|
|
||||||
a 1
|
|
||||||
b<ctrl-d>
|
|
||||||
$ hledger -f t.j bal
|
|
||||||
hledger: could not parse journal data in t.j
|
|
||||||
"t.j" (line 3, column 3):
|
|
||||||
unexpected "b"
|
|
||||||
expecting comment or new-line
|
|
||||||
|
|
||||||
*** tools: avoid haskell compiles and compile errors while setting up makefile vars
|
|
||||||
joyful$ make help
|
|
||||||
GHCi runtime linker: fatal error: I found a duplicate definition for symbol
|
|
||||||
__hscore_S_IFDIR
|
|
||||||
whilst processing object file
|
|
||||||
/usr/local/lib/ghc-7.0.2/directory-1.1.0.0/HSdirectory-1.1.0.0.o
|
|
||||||
This could be caused by:
|
|
||||||
* Loading two different object files which export the same symbol
|
|
||||||
* Specifying the same object file twice on the GHCi command line
|
|
||||||
* An incorrect `package.conf' entry, causing some object to be
|
|
||||||
loaded twice.
|
|
||||||
GHCi cannot safely continue in this situation. Exiting now. Sorry.
|
|
||||||
|
|
||||||
make: *** No rule to make target `help'. Stop.
|
|
||||||
|
|
||||||
*** 25 hledger in windows console does not print non-ascii characters
|
|
||||||
** refactoring, cleanup
|
** refactoring, cleanup
|
||||||
*** use matchers for command line too
|
*** use matchers for command line too
|
||||||
**** design cli, backwards compatibility strategy
|
**** design cli, backwards compatibility strategy
|
||||||
@ -1792,6 +1785,20 @@ http://ajaxcssblog.com/jquery/url-read-request-variables/
|
|||||||
*** inspiration
|
*** inspiration
|
||||||
http://community.haskell.org/~ndm/downloads/paper-hoogle_overview-19_nov_2008.pdf -> Design Guidelines
|
http://community.haskell.org/~ndm/downloads/paper-hoogle_overview-19_nov_2008.pdf -> Design Guidelines
|
||||||
** features/wishlist
|
** features/wishlist
|
||||||
|
*** ghc 7.4 compatibility
|
||||||
|
**** yesod
|
||||||
|
***** yesod 0.10 support
|
||||||
|
**** cabal-file-th
|
||||||
|
**** email-validate
|
||||||
|
*** Clint's ofx support
|
||||||
|
*** more powerful storage layer
|
||||||
|
*** support -V ?
|
||||||
|
*** in-place editing
|
||||||
|
**** http://stackoverflow.com/questions/640971/setfocus-to-textbox-from-javascript-after-just-creating-the-textbox-with-javascr
|
||||||
|
*** measure bug open times
|
||||||
|
http://code.google.com/p/support/wiki/IssueTrackerAPI
|
||||||
|
http://code.google.com/p/support/wiki/IssueTrackerAPIReference
|
||||||
|
*** wai-handler-webkit, wai-handler-launch
|
||||||
*** add: don't offer record txn option in account N prompt if it's not balanced yet
|
*** add: don't offer record txn option in account N prompt if it's not balanced yet
|
||||||
*** add: would be nice to create the journal file only if a txn is actually recorded
|
*** add: would be nice to create the journal file only if a txn is actually recorded
|
||||||
*** web: lose io-storage
|
*** web: lose io-storage
|
||||||
@ -2076,7 +2083,34 @@ types need converting, etc.
|
|||||||
plugins may run more slowly
|
plugins may run more slowly
|
||||||
plugins can be discovered/loaded by module path or by loading files directly
|
plugins can be discovered/loaded by module path or by loading files directly
|
||||||
|
|
||||||
|
|
||||||
* misc
|
* misc
|
||||||
|
** inspiration
|
||||||
|
"...simplicity of design was the most essential, guiding principle.
|
||||||
|
Clarity of concepts, economy of features, efficiency and reliability of
|
||||||
|
implementations were its consequences." --Niklaus Wirth
|
||||||
|
|
||||||
|
"The competent programmer is fully aware of the limited size of his own
|
||||||
|
skull. He therefore approaches his task with full humility, and avoids
|
||||||
|
clever tricks like the plague." --Edsger Dijkstra
|
||||||
|
|
||||||
|
"I was hesitating to cross the street in Edinburgh one day, and these two
|
||||||
|
little old Scottish ladies cried out to me 'LIVE DANGEROUSLY, SON! LIVE
|
||||||
|
DANGEROUSLY'" --kowey
|
||||||
|
|
||||||
|
ALL THAT'S NEEDED IS THE DESIRE TO BE HEARD. THE WILL TO LEARN. AND THE
|
||||||
|
ABILITY TO SEE. --Scott McCloud, Understanding Comics
|
||||||
|
|
||||||
|
** principles
|
||||||
|
*** we aim to make reliable, maintainable, usable, useful software, sustainably.
|
||||||
|
*** docs before packaging before tests before fixes before refactoring before features
|
||||||
|
*** "bugs" are errors, as in the programmers messed up
|
||||||
|
*** automate
|
||||||
|
*** measure
|
||||||
|
*** test continuously, test everything
|
||||||
|
*** less is more
|
||||||
|
*** code review/pair programming
|
||||||
|
|
||||||
** things I want to know
|
** things I want to know
|
||||||
*** time
|
*** time
|
||||||
where have I been spending my time in recent weeks ?
|
where have I been spending my time in recent weeks ?
|
||||||
@ -2327,7 +2361,6 @@ itself reembursed by FFIS).
|
|||||||
We do not bother with any local tasks like income tax, vat or
|
We do not bother with any local tasks like income tax, vat or
|
||||||
statistical filing, invoicing and the like.
|
statistical filing, invoicing and the like.
|
||||||
|
|
||||||
|
|
||||||
** hamlet feedback
|
** hamlet feedback
|
||||||
*** thread data through nested templates with Reader monad
|
*** thread data through nested templates with Reader monad
|
||||||
*** HDString constructor for HamletData ?
|
*** HDString constructor for HamletData ?
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user