notes cleanup
This commit is contained in:
		
							parent
							
								
									d5f8c90dd4
								
							
						
					
					
						commit
						6b7f458d02
					
				
							
								
								
									
										278
									
								
								NOTES
									
									
									
									
									
								
							
							
						
						
									
										278
									
								
								NOTES
									
									
									
									
									
								
							@ -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
 | 
			
		||||
****** albino
 | 
			
		||||
       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
 | 
			
		||||
 | 
			
		||||
**** 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
 | 
			
		||||
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user