From 12cc69b3cfcef87e131507fe916dc33aa6f6d33f Mon Sep 17 00:00:00 2001 From: Simon Michael Date: Fri, 30 Apr 2021 12:27:49 -1000 Subject: [PATCH 1/3] HaskellerZ 2021-04-29 meetup slides --- Makefile | 22 +++ README.org | 50 ++++++ haskellerz.md | 356 ++++++++++++++++++++++++++++++++++++ haskellerz.revealjs.html | 380 +++++++++++++++++++++++++++++++++++++++ haskellerz.slidy.html | 353 ++++++++++++++++++++++++++++++++++++ 5 files changed, 1161 insertions(+) create mode 100644 Makefile create mode 100644 README.org create mode 100644 haskellerz.md create mode 100644 haskellerz.revealjs.html create mode 100644 haskellerz.slidy.html diff --git a/Makefile b/Makefile new file mode 100644 index 000000000..6d154e4c0 --- /dev/null +++ b/Makefile @@ -0,0 +1,22 @@ +SLUG=haskellerz + +TYPES=\ + slidy \ + revealjs \ +# dzslides \ +# s5 \ +# slideous \ + +default: build open watch + +open: + open *.html + +build: + for T in $(TYPES); do pandoc --slide-level=2 -s -t $$T $(SLUG).md -o $(SLUG).$$T.html; done + +watch: + ls *.md | entr bash -c 'make -s build && date' + +clean: + rm -f $(SLUG).*.html diff --git a/README.org b/README.org new file mode 100644 index 000000000..5b8f63302 --- /dev/null +++ b/README.org @@ -0,0 +1,50 @@ +* Haskellerz talk 2021-04-29 + +** blurb +Inside hledger: an architectural tour and how-to + +hledger is a suite of CLI, TUI and WUI tools, file formats, and +documentation for doing accounting with plain text. It is something +that's not yet common: an end-user application written in Haskell, +that aims to be easy to install, robust and pleasing to use, on all +major platforms, including by non-techies. + +I have been building and growing hledger and the hledger project for +about 15 years. In this talk I will, after a quick intro to plain text +accounting and hledger, give a tour of hledger's architecture, +codebase, significant evolutions, and some design principles. Then +I'll give some practical tips on how to: add your own custom hledger +commands; use hledger from your own app; troubleshoot hledger +behaviour; investigate bugs; and create effective pull requests. This +will hopefully go smoothly, and the Q&A we can go deeper on whatever +you like. + +Simon: https://joyful.com +hledger: https://hledger.org +Plain Text Accounting: https://plaintextaccounting.org + +** preliminary outline +*** Inside hledger: an architectural tour and how-to +**** quick intro to accounting, plain text accounting, hledger +10m +**** project goals +**** a look at the essential functionality in its earliest/simplest form +**** a fast run through the evolution since then +**** a tour of the codebase and project today (2021Q2) +**** design principles +25m + +**** how to script hledger +**** how to integrate hledger in your app +***** run cli, capture csv/json +***** run hledger-web, use http-json api +***** link with hledger-lib and/or other hledger packages, call public functions +**** how to investigate a hledger bug +***** basic troubleshooting - docs, comparison, minimisation, reproduction, support +***** code debugging +**** how to submit a pull request +25m + +**** Q & A +30m + diff --git a/haskellerz.md b/haskellerz.md new file mode 100644 index 000000000..0b00b589e --- /dev/null +++ b/haskellerz.md @@ -0,0 +1,356 @@ +% Inside hledger: an architectural tour and how-to +% Simon Michael +% April 29, 2021 + +# Introductions + +`0:00 (10m)` + +## Who am I ? + +Simon Michael\ +Independent software consultant and developer.\ + + + +Started in the home computer era (Ireland, 80s). ZX-80, Pet, VIC, C64, Amiga, PC, Mac, VAX/VMS, unix.. + +FOSS fan, contributor, project leader. Two big projects: + +- **Zwiki**, 1996-2006, wiki engine, Python/Zope + +- **hledger**, 2006-present, accounting tool, Haskell + +## Overview of talk + +- A quick intro to plain text accounting and hledger. (10m) + +- A tour of hledger's +architecture, +codebase, +evolutions, +and design principles. (25m) + +- How to script and develop hledger: +custom commands, +calling from other apps, +troubleshooting, +bug investigation, +effective pull requests. (25m) + +- Q&A to go deeper on whatever you like. (30m) + + +## What's Plain Text Accounting ? + +A name I proposed (and a website I built) to help unify and grow the +communities around +Ledger, hledger, Beancount and similar accounting +tools. + + + +## The PTA ecosystem + +The "big three" apps: + + * **Ledger** - John Wiegley's pioneering command line accounting app, + inspiration for all the rest.\ + C++, 2003-present + + * **hledger** - Simon Michael's rewrite/remix.\ + Haskell, 2007-present + + * **Beancount** - Martin Blais' variant.\ + Python, 2008-present + +Many more apps and add-on tools - + + +## What's hledger ? + +A suite of +tools, +file formats, +and documentation +for doing "plain text accounting". + + + +## A successful FOSS project + +15 years, 134 contributors, 80-100 chatters, some number of happy +users, useful to me every week. + +Reasonably successful. + +Not fulfilling my original goal of being financially +self-sustaining and minimally time-consuming ! + +## An end-user Haskell application + +hledger is something that's not yet common: + +An end user application (ie: not a programming tool), +written in Haskell, that aims to be + +- easy to install, +- dependable, +- and pleasing to use, +- on all major platforms, +- by non-techies as well as power users. + +## Tools + + * hledger + * hledger-ui + * hledger-web + * hledger-iadd + * hledger-interest + * etc. + +## File formats + + * journal + * csv + * timeclock + * timedot + +## Documentation + + * introductory + * reference + * cookbook + * developer + + +# Architecture + +`0:10 (25m)` + +## hledger project goals + +I was a Ledger user and new Haskeller. I started hledger with many goals: + +- acquire a more robust, usable, evolving incarnation of Ledger +- develop a consistent, effective accounting habit +- get better at Haskell +- find out if Haskell was good for end-user apps and maintainer productivity +- grow a useful, long-lasting, financially sustainable FOSS accounting project + +## A fast run through the evolution + +- First commit +- First types +- First report +- Balance report +- Multi-column balance report +- Stateful parser +- Web interface +- Curses interface +- Package split +- Speed, features +- General currency conversion +- Valuation +- Always documentation + +## A tour of the codebase and project today (2021Q2) + + +## Design principles + + +# How to.. + +`0:35 (25m)` + +## Script hledger + + +## Integrate hledger in your app + + +### Run cli, capture csv/json + + +### Run hledger-web, use http-json api + + +### Link with hledger-lib and/or other hledger packages, call public functions + + +## Investigate a hledger bug + + +### Basic troubleshooting - docs, comparison, minimisation, reproduction, support + + +### Code debugging + + +## How to submit a pull request + + +# Q & A + +`1:00 (30m)` + +# End + +`1:30` + +``` +$ git shortlog -s +Aerex +Aiken Cairncross +Alejandro García Montoro +Aleksandar Dimitrov +Alex Chen +Alvaro Fernando García +Amarandus +Amitai Burstein +Andreas Pauley +Andrew Jones +Andriy Mykhaylyk +Arnout Engelen +Ben Boeckel +Ben Creasy +Boyd Kelly +Brian Scott +Brian Wignall +Bryan Richter +Caleb Maclennan +Carel Fellinger +Carl Richard Theodor Schneider +Carlos Lopez-Camey +Christian G. Warden +Christoph Nicolai +Clint Adams +Colin Woodbury +Damien Cassou +David Reaver +David Zhang +Dmitry Astapov +Dominik Süß +Doug Goldstein +Eli Flanagan +Elijah Caine +Eric Kow +Eric Mertens +Everett Hildenbrandt +Evilham +Felix Van der Jeugt +Felix Yan +Fun Ilrys (Nissar Chababy) +Gabriel Ebner +Gaith Hallak +Gergely Risko +Hans-Peter Deifel +Henning Thielemann +Imuli +Jacek Generowicz +Jacob Weisz +Jakob Schöttl +Jakub Zárybnický +Jan Zerebecki +Jeff Richards +Jesse Rosenthal +Joachim Breitner +Joe Horsnell +Johann Klähn +Johannes Gerer +John Wiegley +Joseph Weston +Joshua Chia +Joshua Kehn +Judah Jacobson +Julien Moutinho +Justin Le +Kyle Marek-Spartz +Luca Molteni +Léo Gaspard +M Parker +Malte Brandy +Mark Hansen +Marko Kocić +Martin Michlmayr +Mateus Furquim +Matthias Kauer +Max Bolingbroke +Michael Kainer +Michael Sanders +Michael Snoyman +Michael Walker +Mick Dekkers +Mitchell Rosen +Moritz Kiefer +Mykola Orliuk +Nadrieril +Nicholas Niro +Nick Ingolia +Nicolas Wavrant +Nikhil Jha +Nissar Chababy +Nolan Darilek +Oliver Braun +Omari Norman +Pavan Rikhi +Pavlo Kerestey +Peter Simons +Pia Mancini +Rick Lupton +Roman Cheplyaka +Rui Chen +Ryan Desfosses +Sam Doshi +Sam Jeeves +Samuel May +Sergei Trofimovich +Sergey Astanin +Shubham Lagwankar +Simon Hengel +Simon Michael +SpicyCat +Stefano Rodighiero +Stephen Morgan +Steven R. Baker +TANIGUCHI Kohei +Thomas R. Koll +Tim Docker +Timofey ZAKREVSKIY +Trygve Laugstøl +Vladimir Sorokin +Vladimir Zhelezov +Wad +Xinruo Sun +afarrow +agander +aragaer +awjchen +azure-pipelines[bot] +flip111 +gwern +jeevcat +jungle-boogie +legrostdg +trevorriles +zieone +``` + + + diff --git a/haskellerz.revealjs.html b/haskellerz.revealjs.html new file mode 100644 index 000000000..db9c930e8 --- /dev/null +++ b/haskellerz.revealjs.html @@ -0,0 +1,380 @@ + + + + + + + + Inside hledger: an architectural tour and how-to + + + + + + + + + +
+
+ +
+

Inside hledger: an architectural tour and how-to

+

Simon Michael

+

April 29, 2021

+
+ +
+
+

Introductions

+

0:00 (10m)

+
+
+

Who am I ?

+

Simon Michael
+Independent software consultant and developer.
+ https://joyful.com

+

Started in the home computer era (Ireland, 80s). ZX-80, Pet, VIC, C64, Amiga, PC, Mac, VAX/VMS, unix..

+

FOSS fan, contributor, project leader. Two big projects:

+
    +
  • Zwiki, 1996-2006, wiki engine, Python/Zope

  • +
  • hledger, 2006-present, accounting tool, Haskell

  • +
+
+
+

Overview of talk

+
    +
  • A quick intro to plain text accounting and hledger. (10m)

  • +
  • A tour of hledger’s architecture, codebase, evolutions, and design principles. (25m)

  • +
  • How to script and develop hledger: custom commands, calling from other apps, troubleshooting, bug investigation, effective pull requests. (25m)

  • +
  • Q&A to go deeper on whatever you like. (30m)

  • +
+
+
+

What’s Plain Text Accounting ?

+

A name I proposed (and a website I built) to help unify and grow the communities around Ledger, hledger, Beancount and similar accounting tools.

+

https://plaintextaccounting.org

+
+
+

The PTA ecosystem

+

The “big three” apps:

+
    +
  • Ledger - John Wiegley’s pioneering command line accounting app, inspiration for all the rest.
    +C++, 2003-present

  • +
  • hledger - Simon Michael’s rewrite/remix.
    +Haskell, 2007-present

  • +
  • Beancount - Martin Blais’ variant.
    +Python, 2008-present

  • +
+

Many more apps and add-on tools - https://plaintextaccounting.org/#software

+
+
+

What’s hledger ?

+

A suite of tools, file formats, and documentation for doing “plain text accounting”.

+

https://hledger.org

+
+
+

A successful FOSS project

+

15 years, 134 contributors, 80-100 chatters, some number of happy users, useful to me every week.

+

Reasonably successful.

+

Not fulfilling my original goal of being financially self-sustaining and minimally time-consuming !

+
+
+

An end-user Haskell application

+

hledger is something that’s not yet common:

+

An end user application (ie: not a programming tool), written in Haskell, that aims to be

+
    +
  • easy to install,
  • +
  • dependable,
  • +
  • and pleasing to use,
  • +
  • on all major platforms,
  • +
  • by non-techies as well as power users.
  • +
+
+
+

Tools

+
    +
  • hledger
  • +
  • hledger-ui
  • +
  • hledger-web
  • +
  • hledger-iadd
  • +
  • hledger-interest
  • +
  • etc.
  • +
+
+
+

File formats

+
    +
  • journal
  • +
  • csv
  • +
  • timeclock
  • +
  • timedot
  • +
+
+
+

Documentation

+
    +
  • introductory
  • +
  • reference
  • +
  • cookbook
  • +
  • developer
  • +
+
+
+
+

Architecture

+

0:10 (25m)

+
+
+

hledger project goals

+

I was a Ledger user and new Haskeller. I started hledger with many goals:

+
    +
  • acquire a more robust, usable, evolving incarnation of Ledger
  • +
  • develop a consistent, effective accounting habit
  • +
  • get better at Haskell
  • +
  • find out if Haskell was good for end-user apps and maintainer productivity
  • +
  • grow a useful, long-lasting, financially sustainable FOSS accounting project
  • +
+
+
+

A fast run through the evolution

+
    +
  • First commit
  • +
  • First types
  • +
  • First report
  • +
  • Balance report
  • +
  • Multi-column balance report
  • +
  • Stateful parser
  • +
  • Web interface
  • +
  • Curses interface
  • +
  • Package split
  • +
  • Speed, features
  • +
  • General currency conversion
  • +
  • Valuation
  • +
  • Always documentation
  • +
+
+
+

A tour of the codebase and project today (2021Q2)

+
+
+

Design principles

+
+
+
+

How to..

+

0:35 (25m)

+
+
+

Script hledger

+
+
+

Integrate hledger in your app

+

Run cli, capture csv/json

+

Run hledger-web, use http-json api

+ +
+
+

Investigate a hledger bug

+

Basic troubleshooting - docs, comparison, minimisation, reproduction, support

+

Code debugging

+
+
+

How to submit a pull request

+
+
+

Q & A

+

1:00 (30m)

+
+ +
+

End

+

1:30

+
$ git shortlog -s
+Aerex
+Aiken Cairncross
+Alejandro García Montoro
+Aleksandar Dimitrov
+Alex Chen
+Alvaro Fernando García
+Amarandus
+Amitai Burstein
+Andreas Pauley
+Andrew Jones
+Andriy Mykhaylyk
+Arnout Engelen
+Ben Boeckel
+Ben Creasy
+Boyd Kelly
+Brian Scott
+Brian Wignall
+Bryan Richter
+Caleb Maclennan
+Carel Fellinger
+Carl Richard Theodor Schneider
+Carlos Lopez-Camey
+Christian G. Warden
+Christoph Nicolai
+Clint Adams
+Colin Woodbury
+Damien Cassou
+David Reaver
+David Zhang
+Dmitry Astapov
+Dominik Süß
+Doug Goldstein
+Eli Flanagan
+Elijah Caine
+Eric Kow
+Eric Mertens
+Everett Hildenbrandt
+Evilham
+Felix Van der Jeugt
+Felix Yan
+Fun Ilrys (Nissar Chababy)
+Gabriel Ebner
+Gaith Hallak
+Gergely Risko
+Hans-Peter Deifel
+Henning Thielemann
+Imuli
+Jacek Generowicz
+Jacob Weisz
+Jakob Schöttl
+Jakub Zárybnický
+Jan Zerebecki
+Jeff Richards
+Jesse Rosenthal
+Joachim Breitner
+Joe Horsnell
+Johann Klähn
+Johannes Gerer
+John Wiegley
+Joseph Weston
+Joshua Chia
+Joshua Kehn
+Judah Jacobson
+Julien Moutinho
+Justin Le
+Kyle Marek-Spartz
+Luca Molteni
+Léo Gaspard
+M Parker
+Malte Brandy
+Mark Hansen
+Marko Kocić
+Martin Michlmayr
+Mateus Furquim
+Matthias Kauer
+Max Bolingbroke
+Michael Kainer
+Michael Sanders
+Michael Snoyman
+Michael Walker
+Mick Dekkers
+Mitchell Rosen
+Moritz Kiefer
+Mykola Orliuk
+Nadrieril
+Nicholas Niro
+Nick Ingolia
+Nicolas Wavrant
+Nikhil Jha
+Nissar Chababy
+Nolan Darilek
+Oliver Braun
+Omari Norman
+Pavan Rikhi
+Pavlo Kerestey
+Peter Simons
+Pia Mancini
+Rick Lupton
+Roman Cheplyaka
+Rui Chen
+Ryan Desfosses
+Sam Doshi
+Sam Jeeves
+Samuel May
+Sergei Trofimovich
+Sergey Astanin
+Shubham Lagwankar
+Simon Hengel
+Simon Michael
+SpicyCat
+Stefano Rodighiero
+Stephen Morgan
+Steven R. Baker
+TANIGUCHI Kohei
+Thomas R. Koll
+Tim Docker
+Timofey ZAKREVSKIY
+Trygve Laugstøl
+Vladimir Sorokin
+Vladimir Zhelezov
+Wad
+Xinruo Sun
+afarrow
+agander
+aragaer
+awjchen
+azure-pipelines[bot]
+flip111
+gwern
+jeevcat
+jungle-boogie
+legrostdg
+trevorriles
+zieone
+ +
+
+
+ + + + // reveal.js plugins + + + + + + + diff --git a/haskellerz.slidy.html b/haskellerz.slidy.html new file mode 100644 index 000000000..650fbe83d --- /dev/null +++ b/haskellerz.slidy.html @@ -0,0 +1,353 @@ + + + + + + + + + + Inside hledger: an architectural tour and how-to + + + + + +
+

Inside hledger: an architectural tour and how-to

+

+Simon Michael +

+

April 29, 2021

+
+
+

Introductions

+

0:00 (10m)

+
+
+

Who am I ?

+

Simon Michael
+Independent software consultant and developer.
+ https://joyful.com

+

Started in the home computer era (Ireland, 80s). ZX-80, Pet, VIC, C64, Amiga, PC, Mac, VAX/VMS, unix..

+

FOSS fan, contributor, project leader. Two big projects:

+
    +
  • Zwiki, 1996-2006, wiki engine, Python/Zope

  • +
  • hledger, 2006-present, accounting tool, Haskell

  • +
+
+
+

Overview of talk

+
    +
  • A quick intro to plain text accounting and hledger. (10m)

  • +
  • A tour of hledger’s architecture, codebase, evolutions, and design principles. (25m)

  • +
  • How to script and develop hledger: custom commands, calling from other apps, troubleshooting, bug investigation, effective pull requests. (25m)

  • +
  • Q&A to go deeper on whatever you like. (30m)

  • +
+
+
+

What’s Plain Text Accounting ?

+

A name I proposed (and a website I built) to help unify and grow the communities around Ledger, hledger, Beancount and similar accounting tools.

+

https://plaintextaccounting.org

+
+
+

The PTA ecosystem

+

The “big three” apps:

+
    +
  • Ledger - John Wiegley’s pioneering command line accounting app, inspiration for all the rest.
    +C++, 2003-present

  • +
  • hledger - Simon Michael’s rewrite/remix.
    +Haskell, 2007-present

  • +
  • Beancount - Martin Blais’ variant.
    +Python, 2008-present

  • +
+

Many more apps and add-on tools - https://plaintextaccounting.org/#software

+
+
+

What’s hledger ?

+

A suite of tools, file formats, and documentation for doing “plain text accounting”.

+

https://hledger.org

+
+
+

A successful FOSS project

+

15 years, 134 contributors, 80-100 chatters, some number of happy users, useful to me every week.

+

Reasonably successful.

+

Not fulfilling my original goal of being financially self-sustaining and minimally time-consuming !

+
+
+

An end-user Haskell application

+

hledger is something that’s not yet common:

+

An end user application (ie: not a programming tool), written in Haskell, that aims to be

+
    +
  • easy to install,
  • +
  • dependable,
  • +
  • and pleasing to use,
  • +
  • on all major platforms,
  • +
  • by non-techies as well as power users.
  • +
+
+
+

Tools

+
    +
  • hledger
  • +
  • hledger-ui
  • +
  • hledger-web
  • +
  • hledger-iadd
  • +
  • hledger-interest
  • +
  • etc.
  • +
+
+
+

File formats

+
    +
  • journal
  • +
  • csv
  • +
  • timeclock
  • +
  • timedot
  • +
+
+
+

Documentation

+
    +
  • introductory
  • +
  • reference
  • +
  • cookbook
  • +
  • developer
  • +
+
+ +
+

Architecture

+

0:10 (25m)

+
+
+

hledger project goals

+

I was a Ledger user and new Haskeller. I started hledger with many goals:

+
    +
  • acquire a more robust, usable, evolving incarnation of Ledger
  • +
  • develop a consistent, effective accounting habit
  • +
  • get better at Haskell
  • +
  • find out if Haskell was good for end-user apps and maintainer productivity
  • +
  • grow a useful, long-lasting, financially sustainable FOSS accounting project
  • +
+
+
+

A fast run through the evolution

+
    +
  • First commit
  • +
  • First types
  • +
  • First report
  • +
  • Balance report
  • +
  • Multi-column balance report
  • +
  • Stateful parser
  • +
  • Web interface
  • +
  • Curses interface
  • +
  • Package split
  • +
  • Speed, features
  • +
  • General currency conversion
  • +
  • Valuation
  • +
  • Always documentation
  • +
+
+
+

A tour of the codebase and project today (2021Q2)

+
+
+

Design principles

+
+ +
+

How to..

+

0:35 (25m)

+
+
+

Script hledger

+
+
+

Integrate hledger in your app

+

Run cli, capture csv/json

+

Run hledger-web, use http-json api

+ +
+
+

Investigate a hledger bug

+

Basic troubleshooting - docs, comparison, minimisation, reproduction, support

+

Code debugging

+
+
+

How to submit a pull request

+
+ +
+

Q & A

+

1:00 (30m)

+
+ +
+

End

+

1:30

+
$ git shortlog -s
+Aerex
+Aiken Cairncross
+Alejandro García Montoro
+Aleksandar Dimitrov
+Alex Chen
+Alvaro Fernando García
+Amarandus
+Amitai Burstein
+Andreas Pauley
+Andrew Jones
+Andriy Mykhaylyk
+Arnout Engelen
+Ben Boeckel
+Ben Creasy
+Boyd Kelly
+Brian Scott
+Brian Wignall
+Bryan Richter
+Caleb Maclennan
+Carel Fellinger
+Carl Richard Theodor Schneider
+Carlos Lopez-Camey
+Christian G. Warden
+Christoph Nicolai
+Clint Adams
+Colin Woodbury
+Damien Cassou
+David Reaver
+David Zhang
+Dmitry Astapov
+Dominik Süß
+Doug Goldstein
+Eli Flanagan
+Elijah Caine
+Eric Kow
+Eric Mertens
+Everett Hildenbrandt
+Evilham
+Felix Van der Jeugt
+Felix Yan
+Fun Ilrys (Nissar Chababy)
+Gabriel Ebner
+Gaith Hallak
+Gergely Risko
+Hans-Peter Deifel
+Henning Thielemann
+Imuli
+Jacek Generowicz
+Jacob Weisz
+Jakob Schöttl
+Jakub Zárybnický
+Jan Zerebecki
+Jeff Richards
+Jesse Rosenthal
+Joachim Breitner
+Joe Horsnell
+Johann Klähn
+Johannes Gerer
+John Wiegley
+Joseph Weston
+Joshua Chia
+Joshua Kehn
+Judah Jacobson
+Julien Moutinho
+Justin Le
+Kyle Marek-Spartz
+Luca Molteni
+Léo Gaspard
+M Parker
+Malte Brandy
+Mark Hansen
+Marko Kocić
+Martin Michlmayr
+Mateus Furquim
+Matthias Kauer
+Max Bolingbroke
+Michael Kainer
+Michael Sanders
+Michael Snoyman
+Michael Walker
+Mick Dekkers
+Mitchell Rosen
+Moritz Kiefer
+Mykola Orliuk
+Nadrieril
+Nicholas Niro
+Nick Ingolia
+Nicolas Wavrant
+Nikhil Jha
+Nissar Chababy
+Nolan Darilek
+Oliver Braun
+Omari Norman
+Pavan Rikhi
+Pavlo Kerestey
+Peter Simons
+Pia Mancini
+Rick Lupton
+Roman Cheplyaka
+Rui Chen
+Ryan Desfosses
+Sam Doshi
+Sam Jeeves
+Samuel May
+Sergei Trofimovich
+Sergey Astanin
+Shubham Lagwankar
+Simon Hengel
+Simon Michael
+SpicyCat
+Stefano Rodighiero
+Stephen Morgan
+Steven R. Baker
+TANIGUCHI Kohei
+Thomas R. Koll
+Tim Docker
+Timofey ZAKREVSKIY
+Trygve Laugstøl
+Vladimir Sorokin
+Vladimir Zhelezov
+Wad
+Xinruo Sun
+afarrow
+agander
+aragaer
+awjchen
+azure-pipelines[bot]
+flip111
+gwern
+jeevcat
+jungle-boogie
+legrostdg
+trevorriles
+zieone
+ +
+ + From 28f0e43aa5cabd0ee1f539635b7c75f26058eb5d Mon Sep 17 00:00:00 2001 From: Simon Michael Date: Fri, 30 Apr 2021 12:53:29 -1000 Subject: [PATCH 2/3] post-talk tweaks --- haskellerz.md | 55 ++++++++++++++++++++++++--------------------------- 1 file changed, 26 insertions(+), 29 deletions(-) diff --git a/haskellerz.md b/haskellerz.md index 0b00b589e..177088947 100644 --- a/haskellerz.md +++ b/haskellerz.md @@ -77,15 +77,15 @@ for doing "plain text accounting". -## A successful FOSS project +## hledger project goals -15 years, 134 contributors, 80-100 chatters, some number of happy -users, useful to me every week. +I was a Ledger user and new Haskeller. I started hledger with many goals: -Reasonably successful. - -Not fulfilling my original goal of being financially -self-sustaining and minimally time-consuming ! +- acquire a more robust, usable, evolving incarnation of Ledger +- develop a consistent, effective accounting habit +- get better at Haskell +- find out if Haskell was good for end-user apps and maintainer productivity +- grow a useful, long-lasting, financially sustainable FOSS accounting project ## An end-user Haskell application @@ -100,6 +100,16 @@ written in Haskell, that aims to be - on all major platforms, - by non-techies as well as power users. +## A successful FOSS project + +15 years, 134 contributors, 80-100 chatters, some number of happy +users, useful to me every week. + +Reasonably successful. + +Not fulfilling my original goal of being financially +self-sustaining and minimally time-consuming ! + ## Tools * hledger @@ -128,16 +138,6 @@ written in Haskell, that aims to be `0:10 (25m)` -## hledger project goals - -I was a Ledger user and new Haskeller. I started hledger with many goals: - -- acquire a more robust, usable, evolving incarnation of Ledger -- develop a consistent, effective accounting habit -- get better at Haskell -- find out if Haskell was good for end-user apps and maintainer productivity -- grow a useful, long-lasting, financially sustainable FOSS accounting project - ## A fast run through the evolution - First commit @@ -167,29 +167,26 @@ I was a Ledger user and new Haskeller. I started hledger with many goals: ## Script hledger + + * + ## Integrate hledger in your app + * Run cli, capture csv/json -### Run cli, capture csv/json - - -### Run hledger-web, use http-json api - - -### Link with hledger-lib and/or other hledger packages, call public functions + * Run hledger-web, use http-json api + * Link with hledger-lib and/or other hledger packages, call public functions ## Investigate a hledger bug + * Basic troubleshooting - docs, comparison, minimisation, reproduction, support -### Basic troubleshooting - docs, comparison, minimisation, reproduction, support - - -### Code debugging - + * Code debugging ## How to submit a pull request + * # Q & A From 79beb34b900b5d35b065e145d6200d227de16945 Mon Sep 17 00:00:00 2001 From: Simon Michael Date: Fri, 30 Apr 2021 12:53:36 -1000 Subject: [PATCH 3/3] render --- haskellerz.revealjs.html | 52 ++++++++++++++++++++++++---------------- haskellerz.slidy.html | 52 ++++++++++++++++++++++++---------------- 2 files changed, 62 insertions(+), 42 deletions(-) diff --git a/haskellerz.revealjs.html b/haskellerz.revealjs.html index db9c930e8..37672e22b 100644 --- a/haskellerz.revealjs.html +++ b/haskellerz.revealjs.html @@ -81,11 +81,16 @@ Python, 2008-present

A suite of tools, file formats, and documentation for doing “plain text accounting”.

https://hledger.org

-
-

A successful FOSS project

-

15 years, 134 contributors, 80-100 chatters, some number of happy users, useful to me every week.

-

Reasonably successful.

-

Not fulfilling my original goal of being financially self-sustaining and minimally time-consuming !

+
+

hledger project goals

+

I was a Ledger user and new Haskeller. I started hledger with many goals:

+
    +
  • acquire a more robust, usable, evolving incarnation of Ledger
  • +
  • develop a consistent, effective accounting habit
  • +
  • get better at Haskell
  • +
  • find out if Haskell was good for end-user apps and maintainer productivity
  • +
  • grow a useful, long-lasting, financially sustainable FOSS accounting project
  • +

An end-user Haskell application

@@ -99,6 +104,12 @@ Python, 2008-present

  • by non-techies as well as power users.
  • +
    +

    A successful FOSS project

    +

    15 years, 134 contributors, 80-100 chatters, some number of happy users, useful to me every week.

    +

    Reasonably successful.

    +

    Not fulfilling my original goal of being financially self-sustaining and minimally time-consuming !

    +

    Tools

      @@ -133,17 +144,6 @@ Python, 2008-present

      Architecture

      0:10 (25m)

    -
    -

    hledger project goals

    -

    I was a Ledger user and new Haskeller. I started hledger with many goals:

    -
      -
    • acquire a more robust, usable, evolving incarnation of Ledger
    • -
    • develop a consistent, effective accounting habit
    • -
    • get better at Haskell
    • -
    • find out if Haskell was good for end-user apps and maintainer productivity
    • -
    • grow a useful, long-lasting, financially sustainable FOSS accounting project
    • -
    -

    A fast run through the evolution

      @@ -175,20 +175,30 @@ Python, 2008-present

    Script hledger

    +

    Integrate hledger in your app

    -

    Run cli, capture csv/json

    -

    Run hledger-web, use http-json api

    - +
      +
    • Run cli, capture csv/json

    • +
    • Run hledger-web, use http-json api

    • +
    • Link with hledger-lib and/or other hledger packages, call public functions

    • +

    Investigate a hledger bug

    -

    Basic troubleshooting - docs, comparison, minimisation, reproduction, support

    -

    Code debugging

    +
      +
    • Basic troubleshooting - docs, comparison, minimisation, reproduction, support

    • +
    • Code debugging

    • +

    How to submit a pull request

    +

    Q & A

    diff --git a/haskellerz.slidy.html b/haskellerz.slidy.html index 650fbe83d..3cfa9b8af 100644 --- a/haskellerz.slidy.html +++ b/haskellerz.slidy.html @@ -79,11 +79,16 @@ Python, 2008-present

    A suite of tools, file formats, and documentation for doing “plain text accounting”.

    https://hledger.org

    -
    -

    A successful FOSS project

    -

    15 years, 134 contributors, 80-100 chatters, some number of happy users, useful to me every week.

    -

    Reasonably successful.

    -

    Not fulfilling my original goal of being financially self-sustaining and minimally time-consuming !

    +
    +

    hledger project goals

    +

    I was a Ledger user and new Haskeller. I started hledger with many goals:

    +
      +
    • acquire a more robust, usable, evolving incarnation of Ledger
    • +
    • develop a consistent, effective accounting habit
    • +
    • get better at Haskell
    • +
    • find out if Haskell was good for end-user apps and maintainer productivity
    • +
    • grow a useful, long-lasting, financially sustainable FOSS accounting project
    • +

    An end-user Haskell application

    @@ -97,6 +102,12 @@ Python, 2008-present

  • by non-techies as well as power users.
  • +
    +

    A successful FOSS project

    +

    15 years, 134 contributors, 80-100 chatters, some number of happy users, useful to me every week.

    +

    Reasonably successful.

    +

    Not fulfilling my original goal of being financially self-sustaining and minimally time-consuming !

    +

    Tools

      @@ -131,17 +142,6 @@ Python, 2008-present

      Architecture

      0:10 (25m)

    -
    -

    hledger project goals

    -

    I was a Ledger user and new Haskeller. I started hledger with many goals:

    -
      -
    • acquire a more robust, usable, evolving incarnation of Ledger
    • -
    • develop a consistent, effective accounting habit
    • -
    • get better at Haskell
    • -
    • find out if Haskell was good for end-user apps and maintainer productivity
    • -
    • grow a useful, long-lasting, financially sustainable FOSS accounting project
    • -
    -

    A fast run through the evolution

      @@ -173,20 +173,30 @@ Python, 2008-present

    Integrate hledger in your app

    -

    Run cli, capture csv/json

    -

    Run hledger-web, use http-json api

    - +
      +
    • Run cli, capture csv/json

    • +
    • Run hledger-web, use http-json api

    • +
    • Link with hledger-lib and/or other hledger packages, call public functions

    • +

    Investigate a hledger bug

    -

    Basic troubleshooting - docs, comparison, minimisation, reproduction, support

    -

    Code debugging

    +
      +
    • Basic troubleshooting - docs, comparison, minimisation, reproduction, support

    • +
    • Code debugging

    • +

    How to submit a pull request

    +