site: faq: history: yet another cleanup/cheer-up
This commit is contained in:
		
							parent
							
								
									aa1fc3f2f2
								
							
						
					
					
						commit
						8370d2ec63
					
				
							
								
								
									
										55
									
								
								site/faq.md
									
									
									
									
									
								
							
							
						
						
									
										55
									
								
								site/faq.md
									
									
									
									
									
								
							| @ -6,23 +6,28 @@ | ||||
| 
 | ||||
| ### History | ||||
| 
 | ||||
| I discovered John Wiegley's [Ledger](http://ledger-cli.org) in 2006, and was a happy user at first. | ||||
| Then came a long period of stagnation in that project, | ||||
| with missing and misleading documentation, irksome bugs, and a confusing release situation. | ||||
| I discovered John Wiegley's [Ledger](http://ledger-cli.org) in 2006, | ||||
| and was very happy to find this efficient command-line reporting tool with a transparent data format. | ||||
| 
 | ||||
| I urgently needed a reliable accounting tool that I enjoyed using. I also wanted to lower the barriers to entry for newcomers. | ||||
| For a while I worked within the Ledger project, reporting bugs and setting up a new domain and website. | ||||
| But, I didn't want to spend time learning C++. And I did want to spend time learning Haskell. | ||||
| I felt Ledger could be implemented well and perhaps more efficiently in that language, | ||||
| which has some compelling advantages. | ||||
| Initially, I used it to generate time reports for my job. | ||||
| Before long I wanted that to work a little differently - splitting the transaction at day boundaries, reporting in hours, etc. | ||||
| John had got busy elsewhere and the Ledger project now entered a fairly long period of stagnation, with persistent bugs, documentation problems, and a confusing release situation. | ||||
| I did what I could to help build momentum in the Ledger project, reporting bugs, supporting newcomers, and contributing a new domain and website. | ||||
| But, I didn't want to spend time learning C++. I was learning Haskell, which I did want to spend time in. | ||||
| I felt Ledger could be implemented well and, in the long run, more efficiently in that language, | ||||
| which has some compelling advantages such as lower maintenance costs. | ||||
| <!-- ([eg](http://neilmitchell.blogspot.com/2016/02/selling-haskell-in-pub.html)). --> | ||||
| <!-- (It encourages the coding style known as pure functional programming, --> | ||||
| <!-- allowing more bug-free, concise and maintainable software. It provides --> | ||||
| <!-- a more abstracted, portable platform making installation easier. It is --> | ||||
| <!-- attractive for contributors to work on.) --> | ||||
| 
 | ||||
| I couldn't expect John to start over - at that time he was not the Haskell | ||||
| fan he is now - so in 2007 I began experimenting myself, built a | ||||
| toy parser, and kept tinkering. I wanted | ||||
| I urgently needed a reliable accounting tool that I enjoyed using. | ||||
| I also wanted to see what I could do to reduce roadbumps and confusion for newcomers. | ||||
| I couldn't expect John to start over - at that time he was not the Haskell fan he is now. | ||||
| So in 2007 I began experimenting. | ||||
| I built a toy parser in a few different languages, and it was easiest in Haskell. | ||||
| I kept tinkering. Goals included: | ||||
| (a) to get better at Haskell by building something useful to me, | ||||
| (b) to learn how well Haskell could work for real-world applications, | ||||
| and as increasingly time passed, | ||||
| @ -30,16 +35,24 @@ and as increasingly time passed, | ||||
| features, absence of user-visible bugs, and high-quality documentation and web presence. | ||||
| Also to experiment with new user interfaces, APIs, etc. | ||||
| 
 | ||||
| Later the Ledger project revived and attracted more contributors. The | ||||
| two projects collaborate freely and ideas have travelled in both | ||||
| directions.  Having two independent somewhat-compatible | ||||
| implementations has been quite helpful for testing and | ||||
| troubleshooting, exploring the design space, and growing the "*ledger" | ||||
| community.  I also give back to Ledger by providing infrastructure | ||||
| like [ledger-cli.org](http://ledger-cli.org), | ||||
| [LedgerTips](http://twitter.com/LedgerTips), IRC support on #ledger | ||||
| etc. In 2014 I added a [#hledger](irc://irc.freenode.net/#hledger) channel | ||||
| to allow more hledger-specific discussion. | ||||
| Before too long I had a tool that was useful to me. With Ledger still installed, | ||||
| and by maintaining high compatibility, I now had two tools  with different strengths, | ||||
| each providing a comparison for the other in case of confusion or suspected bugs, | ||||
| which was itself quite valuable. | ||||
| 
 | ||||
| Later the Ledger project revived and attracted more contributors. I have | ||||
| remained active in that community, sharing discoveries and design discussions, | ||||
| and happily we have seen many ideas travelling in both directions. | ||||
| 
 | ||||
| I think having independent but compatible implementations has been | ||||
| quite helpful for troubleshooting, exploring the design space, and | ||||
| growing the "Ledger-likes" community. | ||||
| My other projects in that direction include | ||||
| the [ledger-cli.org](http://ledger-cli.org) site, | ||||
| [LedgerTips](http://twitter.com/LedgerTips), | ||||
| IRC support on #ledger, | ||||
| and now [plaintextaccounting.org](http://plaintextaccounting.org). | ||||
| In 2014 I added a [#hledger](irc://irc.freenode.net/#hledger) channel to allow more hledger-specific discussion. | ||||
| 
 | ||||
| ### Future ? | ||||
| 
 | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user