notes cleanup

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

278
NOTES
View File

@ -1,5 +1,15 @@
hledger project notes 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. "...simplicity of design was the most essential, guiding principle.
Clarity of concepts, economy of features, efficiency and reliability of Clarity of concepts, economy of features, efficiency and reliability of
implementations were its consequences." --Niklaus Wirth 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 skull. He therefore approaches his task with full humility, and avoids
clever tricks like the plague." --Edsger Dijkstra 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 * to do
** errors ** packaging, installability
*** account name eliding and layout varies between commands and from ledger *** easier installation
*** vty: hledger ui dies showing non-ascii chars in commodity symbol **** on all platforms
*** vty: hledger ui shows junk in gnome terminal ***** binary build/publish process
** testing ***** reduce dependencies
*** test for robust ledger file parsing ***** split packages ?
**** test all ledger file format features **** on linux
**** clarify hledgerisms in file format - that hledger can read but ledger can't ***** keep up with debian/ubuntu haskell packagers
**** run ledger 3 baseline tests **** on mac
*** --compare (xml?) output with ledger's ? ***** easy data entry, then
*** build with -Wall and anything else useful ***** easy installer
*** build with multiple ghc versions ***** easy startup
*** cabal test **** on windows
*** release tests ***** easy data entry, then
**** cabal install with: ***** easy installer
***** ghc 6.8 ***** easy startup
***** ghc 6.10.x ** documentation, marketing
***** windows *** add missing
***** linux **** hledger/ledger feature matrix
***** macos **** regular-user home page
***** no flags *** reduce
***** happs flag *** better screenshots/images
***** vty flag
** docs/marketing/packaging
*** streamline - less is more
*** automate *** automate
**** keep blurbs in sync **** keep blurbs in sync
***** README file ***** README file
@ -52,13 +52,74 @@ We aim to make reliable, maintainable, usable software, sustainably.
***** gmane description ***** gmane description
***** darcsweb description ***** darcsweb description
**** keep Options.hs and README option list in sync **** keep Options.hs and README option list in sync
**** discover commands for --help **** discovering commands for --help
**** accouncements **** announcements
*** document smart dates, period expressions, display expressions *** 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 *** develop funding process
**** license change ? **** license change ?
**** donate button, see chimoo guy **** donate button, see chimoo guy
**** funding document 2009/01 **** funding document 2009/01
***** text
======= =======
funding funding
======= =======
@ -251,77 +312,64 @@ competitors/fellow niche inhabitants
* ... * ...
***** responses ***** responses
***** albino ****** albino
have you considered talking to business who hate their financial sw and going from there have you considered talking to business who hate their financial sw and going from there
***** gwern ****** gwern
most haskellers have never heard of hledger, sounds arrogant or hubristic to talk of charging for it most haskellers have never heard of hledger, sounds arrogant or hubristic to talk of charging for it
**** qooxledger **** home edition
*** better screenshots ** testing
*** screencasts *** documentation
*** developer docs **** site up, current
**** style guide **** demo up, current
***** see above **** haddock
**** unsafe things which may fail at runtime **** doctests
***** incomplete pattern matching *** unit
***** error **** hunit
***** printf **** quickcheck
*** cabal haddock **** easier unit test development
*** liveness *** functional
**** show feeds on site ? **** ledger file parsing tests
***** commits (darcsweb) ***** test all ledger file format features
**** weekly repo activity summary on list ***** clarify hledgerisms in file format - that hledger can read but ledger can't
**** available feeds **** ledger 3 baseline tests
*** make installation easier **** auto-compare xml output with ledger's ?
**** on all platforms **** allow multiple tests in .test ?
***** set up binary publishing *** performance
***** reduce dependencies **** speed, benchmark tests
***** split packages ? **** memory usage
**** on linux *** build & packaging
***** debian **** use -Wall and anything else useful
***** ubuntu **** build with multiple ghc versions
**** on mac **** cabal test
***** ports **** hackage upload
***** binary **** cabal install with:
**** on windows ***** ghc 6.8
***** binary ***** ghc 6.10.x
**** cabal packages after installing ghc 6.10.3, HP, hledger 0.5.1 ***** windows
/usr/local/lib/ghc-6.10.3/./package.conf: ***** linux
Cabal-1.6.0.3, GLUT-2.1.1.2, HTTP-4000.0.6, HUnit-1.2.0.3, ***** macos
OpenGL-2.2.1.1, QuickCheck-1.2.0.0, array-0.2.0.0, base-3.0.3.1, ***** no flags
base-4.1.0.0, bytestring-0.9.1.4, cgi-3001.1.7.1, ***** happs flag
containers-0.2.0.1, directory-1.0.0.3, (dph-base-0.3), ***** vty flag
(dph-par-0.3), (dph-prim-interface-0.3), (dph-prim-par-0.3), *** field
(dph-prim-seq-0.3), (dph-seq-0.3), editline-0.2.1.0, **** talkback, auto bug reports
extensible-exceptions-0.1.1.0, fgl-5.4.2.2, filepath-1.1.0.2, **** usability
(ghc-6.10.3), ghc-prim-0.1.0.0, haddock-2.4.2, **** download & usage stats
haskell-platform-2009.2.0.1, haskell-src-1.0.1.3, ** errors
haskell98-1.0.1.0, hpc-0.5.0.3, html-1.0.1.2, integer-0.1.0.1, *** allow comment lines immediately after postings
mtl-1.1.0.2, network-2.2.1, network-2.2.1.1, old-locale-1.0.0.1, *** accept all real-world ledger files
old-time-1.0.0.2, packedstring-0.1.0.1, parallel-1.1.0.1, *** account name eliding and layout varies between commands
parsec-2.1.0.1, pretty-1.0.1.0, process-1.0.1.1, random-1.0.0.1, *** vty issues 3, 4
regex-base-0.72.0.2, regex-compat-0.71.0.1, regex-posix-0.72.0.3, **** support upcoming vty development
rts-1.0, stm-2.1.1.2, syb-0.1.0.1, template-haskell-2.3.0.1, *** happstack ipv6 issue 6
time-1.1.2.4, time-1.1.3, unix-2.3.2.0, xhtml-3000.2.0.1, ** refactoring, code cleanup
zlib-0.5.0.0 *** switch to hack, support other backends
/home/simon/.ghc/i386-linux-6.10.3/package.conf: *** pair programming
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
*** seek more modularity *** seek more modularity
*** try export lists *** try export lists
*** graph and reduce dependencies *** graph and reduce dependencies
*** pair programming *** clarify levels of abstraction
*** levels of abstraction
**** balance sheet view - data model, view layout **** balance sheet view - data model, view layout
**** hledger web framework - define routes, handlers/views/actions/controllers/presenters, skins/styles.. **** hledger web framework - define routes, handlers/views/actions/controllers/presenters, skins/styles..
**** happstack - ? happstack api.. **** 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.. **** ghc - ghc 6.8, 6.10..
**** haskell 98 **** haskell 98
**** unix/windows/mac platform **** unix/windows/mac platform
** features/wishlist *** inspiration
*** actual & effective txn & posting dates 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 *** 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 *** nice reports with charts
*** data entry! *** more automated bank data conversion
*** ofx download
*** easy timelog format
*** watching a changing ledger *** watching a changing ledger
*** wide format
*** more date syntax ? last nov, next friday, optional this, week of *** more date syntax ? last nov, next friday, optional this, week of
*** more period syntax ? every N days, biweekly *** more period syntax ? every N days, biweekly
*** allow comment lines immediately after or within an entry
*** accept multiple -f files *** accept multiple -f files
*** more reliable tidy layout from print *** more reliable tidy layout from print
*** parse more file formats - gnucash, qif, ofx, csv.. *** parse more file formats - gnucash, qif, ofx, csv..
*** i18n *** i18n
*** speed *** speed
**** optimisation *** clear interfaces/surfaces/plugin architecture
**** speed regression tests
*** plugins
* misc * misc
** things I want to know ** things I want to know
*** time *** time
@ -412,3 +464,7 @@ nmatrace a = trace (show as) a where (Mixed as) = normaliseMixedAmount a
** financial software ** financial software
*** http://weberp.org *** http://weberp.org
**** http://www.weberp.org/weberp/doc/Manual/ManualContents.php **** 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