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