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