mirror of
https://github.com/simonmichael/hledger.git
synced 2024-11-09 10:17:34 +03:00
110 lines
4.7 KiB
Plaintext
110 lines
4.7 KiB
Plaintext
hledger project notes & ideas
|
|
|
|
"...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
|
|
|
|
* to do
|
|
** TODO bugs/cleanup
|
|
*** no total in filtered balance report
|
|
*** register pat doesn't filter transactions
|
|
*** two acct patterns broken
|
|
*** better encapsulation/layering
|
|
**** above/below cacheLedger ?
|
|
** ledger features
|
|
*** handle arbitrary precision accurately
|
|
*** handle non-convertible currencies
|
|
*** handle time logs
|
|
**** fix timelog parser
|
|
**** handle time amounts
|
|
switch to Data.Time.*
|
|
fix errors
|
|
- read seconds to pico
|
|
try System.Time ?
|
|
*** - account/description patterns
|
|
*** -p period expressions
|
|
*** !include
|
|
*** -j and -J graph data output
|
|
*** more speed
|
|
*** full per-currency precision & thousands separator handling
|
|
*** ledger 3-style elision
|
|
*** -d display expressions
|
|
*** read gnucash files
|
|
*** other ledger 3 features
|
|
*** single space before currency can parse as an auto transaction
|
|
** new features
|
|
*** alternate timelog format
|
|
*** infer clock-out
|
|
*** graph automation
|
|
*** entry and smart data entry
|
|
*** incorporate timeclock features
|
|
*** better layout
|
|
** testing
|
|
*** better use of quickcheck/smallcheck
|
|
http://blog.codersbase.com/2006/09/01/simple-unit-testing-in-haskell/
|
|
*** ledger compatibility tests
|
|
** documentation
|
|
*** literate manual
|
|
*** better use of haddock
|
|
*** differences/issues
|
|
**** ledger does not support -f- (without space)
|
|
**** ledger shows description comments as part of description, we do the same
|
|
**** ledger does not sort register by date
|
|
**** ledger can show wrong output due to thousands separators
|
|
**** ledger balance with an account pattern shows a redundant total
|
|
**** hledger does not choose symbol separation, thousands separators, and precision based on first entry of each currency
|
|
(currently: chooses precision for all currencies based on first entry)
|
|
**** hledger does not parse automated/periodic entries except at start of file
|
|
* things I want to know
|
|
** time
|
|
where have I been spending my time in recent weeks ?
|
|
where have I spent my time today ?
|
|
what is my status wrt spending plan for this week/month/year ?
|
|
what is my current status wrt time spending goals ?
|
|
** money
|
|
where have I been spending my money ?
|
|
what is my status wrt spending plan for this week/month/year ?
|
|
what is my current status wrt spending/savings goals ?
|
|
what are all my current balances ?
|
|
what does my balance history look like ?
|
|
what does my balance future look like ?
|
|
are there any cashflow, tax, budgetary problems looming ?
|
|
|
|
** charts
|
|
[1:27pm] <sm> I have decided I am not getting enough visible day-to-day value out of my ledger, I need more of that to stay motivated
|
|
[1:27pm] <Nafai> What do you think will help in that?
|
|
[1:27pm] <sm> I think some simple self-updating charts, or even good reports in a visible place
|
|
[1:28pm] <sm> something I don't have to spend an hour fiddling with to get answers
|
|
[1:38pm] <sm> Nafai: identifying/designing some useful reports/charts seems to be blocking me
|
|
[1:39pm] <sm> there are probably some standard ones I should use
|
|
[1:40pm] <sm> a graph of daily net worth is probably one of the simplest
|
|
[1:58pm] <sm> what else.. a chart of weekly expenses in key categories
|
|
[1:58pm] <sm> ditto, monthly
|
|
[1:58pm] <sm> a chart of monthly income
|
|
[1:59pm] <sm> those three should help me be more clear about cashflow status
|
|
[2:00pm] <sm> also I'd like something that shows me how much I am on top of financial tracking - how current my numbers are, when last reconciled etc - at a glance
|
|
[2:01pm] <sm> another simple one: current balances in all accounts
|
|
[2:01pm] <sm> those would be a great start
|
|
[2:04pm] <sm> daily net worth, weekly expense, monthly expense, monthly income, confidence/currentness report, and balance report
|
|
[2:05pm] <sm> let's see, which of those 6 would give most payoff right now
|
|
[2:05pm] <sm> probably 5
|
|
[2:06pm] <sm> how could I measure that ?
|
|
[2:06pm] <sm> number of days since last ledger entry..
|
|
[2:06pm] <sm> number of ledger entries in last 30 days (compared to average)
|
|
[2:07pm] <sm> number of days since last cleared checking entry (indicating an online reconcile)
|
|
[2:08pm] <sm> those would be a good start. How do I make those visual
|
|
[2:09pm] <sm> well I guess the first step is a script to print them
|
|
|
|
* misc
|
|
** compare other languages! a parser generator and decent speed is required
|
|
*** python: http://cheeseshop.python.org/pypi/ZestyParser, pysec, pyparsing
|
|
*** squeak: LanguageGame, T-Gen, SmaCC
|
|
*** lisp: ?
|
|
*** ruby: too slow (?)
|
|
|
|
** data representation
|
|
*** http://www.python.org/dev/peps/pep-0327/
|
|
*** http://www.n-heptane.com/nhlab/repos/Decimal/
|
|
*** http://www.n-heptane.com/nhlab/repos/Decimal/Money.hs
|
|
*** http://www2.hursley.ibm.com/decimal/
|