notes cleanup

This commit is contained in:
Simon Michael 2009-07-10 17:24:51 +00:00
parent d5f8c90dd4
commit 6b7f458d02

282
NOTES
View File

@ -1,5 +1,15 @@
hledger project notes
* principles
** We aim to make reliable, maintainable, usable, useful software, sustainably.
** "bugs" are errors, as in the programmers messed up
** packaging before docs before tests before fixes before refactoring before features
** automate
** measure
** test continuously, test everything
** less is more
** pair programming
** 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
@ -8,40 +18,30 @@ implementations were its consequences." --Niklaus Wirth
skull. He therefore approaches his task with full humility, and avoids
clever tricks like the plague." --Edsger Dijkstra
We aim to make reliable, maintainable, usable software, sustainably.
- pair programming
- test-driven development
- fixes, docs, packaging, testing before features
- "bugs" are "errors", as in "the programmer messed up"
- test continuously and thoroughly (code, docs, speed, memory, release tests)
- less is more
* to do
** errors
*** account name eliding and layout varies between commands and from ledger
*** vty: hledger ui dies showing non-ascii chars in commodity symbol
*** vty: hledger ui shows junk in gnome terminal
** testing
*** test for robust ledger file parsing
**** test all ledger file format features
**** clarify hledgerisms in file format - that hledger can read but ledger can't
**** run ledger 3 baseline tests
*** --compare (xml?) output with ledger's ?
*** build with -Wall and anything else useful
*** build with multiple ghc versions
*** cabal test
*** release tests
**** cabal install with:
***** ghc 6.8
***** ghc 6.10.x
***** windows
***** linux
***** macos
***** no flags
***** happs flag
***** vty flag
** docs/marketing/packaging
*** streamline - less is more
** packaging, installability
*** easier installation
**** on all platforms
***** binary build/publish process
***** reduce dependencies
***** split packages ?
**** on linux
***** keep up with debian/ubuntu haskell packagers
**** on mac
***** easy data entry, then
***** easy installer
***** easy startup
**** on windows
***** easy data entry, then
***** easy installer
***** easy startup
** documentation, marketing
*** add missing
**** hledger/ledger feature matrix
**** regular-user home page
*** reduce
*** better screenshots/images
*** automate
**** keep blurbs in sync
***** README file
@ -52,13 +52,74 @@ We aim to make reliable, maintainable, usable software, sustainably.
***** gmane description
***** darcsweb description
**** keep Options.hs and README option list in sync
**** discover commands for --help
**** accouncements
*** document smart dates, period expressions, display expressions
**** discovering commands for --help
**** announcements
*** liveness
**** show feeds on site ?
***** commits (darcsweb)
**** weekly repo activity summary on list
**** available feeds
*** screencasts
**** intro
***** intro to hledger
****** place in the world
****** basic installation
****** quick demo
****** where to go from here
***** installing hledger on windows
***** installing hledger on mac
***** installing hledger on unix
***** accessing hledger's support forums
****** website
****** mail list
****** irc channel
***** reporting a hledger bug
**** using
***** income/expense tracking
***** time tracking
***** downloading bank data
***** reconciling with bank statement
***** see time reports by day/week/month/project
***** get accurate numbers for client billing and tax returns
***** find unpaid invoices
**** developing
***** intro to hledger development
***** testing hleder
***** documenting hledger
***** a hledger coding example
***** a tour of hledger's code
**** ledger cooperation
*** developer docs
**** internal api docs
**** external api docs
**** DEVGUIDE
***** How to do anything that needs doing in the hledger project.
****** website & documentation
******* overview of hledger docs
******* how the site is built
******* convenience urls
list.hledger.org - mail list
bugs.hledger.org - issue tracker
bugs.hledger.org/1 - go to specific issue
bugs.hledger.org/new - create a new issue
hledger.org/{list,bugs}/* also works
****** issue tracking
****** testing
****** coding
****** funding process
***** reference
****** unsafe things which may fail at runtime
******* incomplete pattern matching
******* error
******* printf
**** project notes
*** presenting/live demos
*** develop funding process
**** license change ?
**** donate button, see chimoo guy
**** funding document 2009/01
***** text
=======
funding
=======
@ -251,77 +312,64 @@ competitors/fellow niche inhabitants
* ...
***** responses
***** albino
have you considered talking to business who hate their financial sw and going from there
***** gwern
most haskellers have never heard of hledger, sounds arrogant or hubristic to talk of charging for it
****** albino
have you considered talking to business who hate their financial sw and going from there
****** gwern
most haskellers have never heard of hledger, sounds arrogant or hubristic to talk of charging for it
**** qooxledger
*** better screenshots
*** screencasts
*** developer docs
**** style guide
***** see above
**** unsafe things which may fail at runtime
***** incomplete pattern matching
***** error
***** printf
*** cabal haddock
*** liveness
**** show feeds on site ?
***** commits (darcsweb)
**** weekly repo activity summary on list
**** available feeds
*** make installation easier
**** on all platforms
***** set up binary publishing
***** reduce dependencies
***** split packages ?
**** on linux
***** debian
***** ubuntu
**** on mac
***** ports
***** binary
**** on windows
***** binary
**** cabal packages after installing ghc 6.10.3, HP, hledger 0.5.1
/usr/local/lib/ghc-6.10.3/./package.conf:
Cabal-1.6.0.3, GLUT-2.1.1.2, HTTP-4000.0.6, HUnit-1.2.0.3,
OpenGL-2.2.1.1, QuickCheck-1.2.0.0, array-0.2.0.0, base-3.0.3.1,
base-4.1.0.0, bytestring-0.9.1.4, cgi-3001.1.7.1,
containers-0.2.0.1, directory-1.0.0.3, (dph-base-0.3),
(dph-par-0.3), (dph-prim-interface-0.3), (dph-prim-par-0.3),
(dph-prim-seq-0.3), (dph-seq-0.3), editline-0.2.1.0,
extensible-exceptions-0.1.1.0, fgl-5.4.2.2, filepath-1.1.0.2,
(ghc-6.10.3), ghc-prim-0.1.0.0, haddock-2.4.2,
haskell-platform-2009.2.0.1, haskell-src-1.0.1.3,
haskell98-1.0.1.0, hpc-0.5.0.3, html-1.0.1.2, integer-0.1.0.1,
mtl-1.1.0.2, network-2.2.1, network-2.2.1.1, old-locale-1.0.0.1,
old-time-1.0.0.2, packedstring-0.1.0.1, parallel-1.1.0.1,
parsec-2.1.0.1, pretty-1.0.1.0, process-1.0.1.1, random-1.0.0.1,
regex-base-0.72.0.2, regex-compat-0.71.0.1, regex-posix-0.72.0.3,
rts-1.0, stm-2.1.1.2, syb-0.1.0.1, template-haskell-2.3.0.1,
time-1.1.2.4, time-1.1.3, unix-2.3.2.0, xhtml-3000.2.0.1,
zlib-0.5.0.0
/home/simon/.ghc/i386-linux-6.10.3/package.conf:
csv-0.1.1, hledger-0.5.1, mtlparse-0.0.1, regex-base-0.93.1,
regex-compat-0.71.0.1, regex-pcre-0.94.1, regex-posix-0.72.0.3,
regexpr-0.5.1, split-0.1.1, testpack-1.0.2, utf8-string-0.3.4
**** packages after hledger -fhapps -fvty
*** issues with pandoc's rst support
**** treats HOME's h2s as h1
**** quotes only first line of a :: literal block
**** doesn't support http://docutils.sourceforge.net/docs/ref/rst/restructuredtext.html#indirect-hyperlink-targets
** code cleanup
*** resources
http://community.haskell.org/~ndm/downloads/paper-hoogle_overview-19_nov_2008.pdf -> Design Guidelines
**** home edition
** testing
*** documentation
**** site up, current
**** demo up, current
**** haddock
**** doctests
*** unit
**** hunit
**** quickcheck
**** easier unit test development
*** functional
**** ledger file parsing tests
***** test all ledger file format features
***** clarify hledgerisms in file format - that hledger can read but ledger can't
**** ledger 3 baseline tests
**** auto-compare xml output with ledger's ?
**** allow multiple tests in .test ?
*** performance
**** speed, benchmark tests
**** memory usage
*** build & packaging
**** use -Wall and anything else useful
**** build with multiple ghc versions
**** cabal test
**** hackage upload
**** cabal install with:
***** ghc 6.8
***** ghc 6.10.x
***** windows
***** linux
***** macos
***** no flags
***** happs flag
***** vty flag
*** field
**** talkback, auto bug reports
**** usability
**** download & usage stats
** errors
*** allow comment lines immediately after postings
*** accept all real-world ledger files
*** account name eliding and layout varies between commands
*** vty issues 3, 4
**** support upcoming vty development
*** happstack ipv6 issue 6
** refactoring, code cleanup
*** switch to hack, support other backends
*** pair programming
*** seek more modularity
*** try export lists
*** graph and reduce dependencies
*** pair programming
*** levels of abstraction
*** clarify levels of abstraction
**** balance sheet view - data model, view layout
**** hledger web framework - define routes, handlers/views/actions/controllers/presenters, skins/styles..
**** happstack - ? happstack api..
@ -333,27 +381,31 @@ http://community.haskell.org/~ndm/downloads/paper-hoogle_overview-19_nov_2008.pd
**** ghc - ghc 6.8, 6.10..
**** haskell 98
**** unix/windows/mac platform
** features/wishlist
*** actual & effective txn & posting dates
*** inspiration
http://community.haskell.org/~ndm/downloads/paper-hoogle_overview-19_nov_2008.pdf -> Design Guidelines
** features
*** easy data entry
*** assume current year as default
*** wide/customisable/consistent layout
*** simple --flat balance report format
*** better web ui/gui support
*** effective dates for postings
*** ledger-compatible xml output ?
*** allow no command or unordered command with pattern args
*** --flat timelog balance report option for clients
*** alternative easy timelog format
*** better web gui
*** nice reports with charts
*** data entry!
*** more automated bank data conversion
*** ofx download
*** easy timelog format
*** watching a changing ledger
*** wide format
*** more date syntax ? last nov, next friday, optional this, week of
*** more period syntax ? every N days, biweekly
*** allow comment lines immediately after or within an entry
*** accept multiple -f files
*** more reliable tidy layout from print
*** parse more file formats - gnucash, qif, ofx, csv..
*** i18n
*** speed
**** optimisation
**** speed regression tests
*** plugins
*** clear interfaces/surfaces/plugin architecture
* misc
** things I want to know
*** time
@ -412,3 +464,7 @@ nmatrace a = trace (show as) a where (Mixed as) = normaliseMixedAmount a
** financial software
*** http://weberp.org
**** http://www.weberp.org/weberp/doc/Manual/ManualContents.php
** issues with pandoc's rst support
*** treats HOME's h2s as h1
*** quotes only first line of a :: literal block
*** doesn't support http://docutils.sourceforge.net/docs/ref/rst/restructuredtext.html#indirect-hyperlink-targets