NHacker Next
  • new
  • past
  • show
  • ask
  • show
  • jobs
  • submit
Minimal Viable Programs (2014) (joearms.github.io)
jodrellblank 3 minutes ago [-]
But which part is the minimal ticketing system?

- a text file (with an undefined character encoding)

- an undefined structure for the header of the file

- a rule that status must be 'open' or 'closed' in every human head

- a revision control system which dates changes

- a filesystem, terminal, multi-user OS, shell (piping, globbing, environment variables), grep, wc

- an out of band way to request and obtain permission to change the owner, possibly a high-trust environment with no arguing "you agreed" "no I didn't"

- a programmer/scripter who can develop the management reports on-demand

smalltorch 4 days ago [-]
Nice, this is still used today? I wish the construction industry had a standardized issue reporting system like this.
Nzen 4 days ago [-]
tl;dr The author [0] describes a simple ticketing system that his very busy coworker, Peter Högfeldt, created in 1986. Basically, it checked in numbered files to their version control (CVS, at the time) that could produce reports with grep. This system's simplicity lead to its longevity, as people could learn it easily and trust that its bugs had been ironed out long ago. This is in contrast to some OS software that tries to be everything to everyone and changes all the time [1].

[0] https://en.wikipedia.org/wiki/Joe_Armstrong_(programmer) Joe Armstrong, of Erlang fame, so his blog posts have been discussed in the past.

[1] https://ntdotdev.wordpress.com/2023/01/01/state-of-the-windo...

I find this a helpful example. When I've heard the unix philosophy in the past, I didn't feel super convinced. Like, sure tar can do one thing, because it is a library (ignore that it can use gzip). But, where do you draw the line with a program like gnucash (financial tracking software) ? The core of the domain will involve keeping a ledger of transactions and converting them to relevant units. But, typing credit card charges in by hand is tedious [2], the kind of tedious that a computer should be good at. I would much rather that the program connect to my bank [3], to get the transactions directly.

[2] https://utcc.utoronto.ca/~cks/space/blog/sysadmin/Inventorie...

[3] https://beanhub.io/blog/2024/06/24/introduction-of-beanhub-c...

cristoperb 35 minutes ago [-]
Though see the Plain Text Accounting[0] movement for something maybe more unixy than Gnucash. I download .csv files from my bank and credit card issuers and import to hledger[1]. hledger has its own rules engine for filtering/transforming imported entries, but you could also preprocess the files using any unix tool before importing if you needed to.

0: https://plaintextaccounting.org/

1: https://hledger.org/

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact
Rendered at 16:20:00 GMT+0000 (Coordinated Universal Time) with Vercel.