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