4 comments

  • jFriedensreich0 minutes ago
    probably worth pointing out today is joes death anniversary.
  • jodrellblank2 hours ago
    But which part is the minimal ticketing system?<p>- a text file (with an undefined character encoding)<p>- an undefined structure for the header of the file<p>- a rule that status must be &#x27;open&#x27; or &#x27;closed&#x27; in every human head<p>- a revision control system which dates changes<p>- a filesystem, terminal, multi-user OS, shell (piping, globbing, environment variables), grep, wc<p>- an out of band way to request and obtain permission to change the owner, possibly a high-trust environment with no arguing &quot;you agreed&quot; &quot;no I didn&#x27;t&quot;<p>- a programmer&#x2F;scripter who can develop the management reports on-demand
    • skydhash25 minutes ago
      It&#x27;s minimally viable, which means it does what people needs now without costing too much in resources. I&#x27;m not Joe (I wasn&#x27;t even born at that time), but<p>&gt; a text file (with an undefined character encoding)<p>Most team kinda have the same system to work from, so character encodings doesn&#x27;t matter much (and people who deviates from the norm know how to handle such things).<p>&gt; an undefined structure for the header of the file<p>That&#x27;s pretty much YAGNI. By the time you get to this point, you could probably switch to a DBMS and import the old data.<p>&gt; a rule that status must be &#x27;open&#x27; or &#x27;closed&#x27; in every human head<p>A lot of rules, even today, are encoded in human head. In the ticketing systems at $WORK, each team has a different set of fields with different semantics for the status field. And there&#x27;s a global repo. You can easily enforce that new addition don&#x27;t have any other value.<p>&gt; a revision control system which dates changes<p>No need to wonder how to enforce proper date control. And less code<p>&gt; a filesystem, terminal, multi-user OS, shell (piping, globbing, environment variables), grep, wc<p>Comes with UNIX,<p>&gt; an out of band way to request and obtain permission to change the owner, possibly a high-trust environment with no arguing &quot;you agreed&quot; &quot;no I didn&#x27;t&quot;<p>The owner of the ticket? Why can&#x27;t it be a new update to the file? It&#x27;s version controlled. And the import to the global repo (which I think is the source of truth) can be monitored and constraints enforced.<p>&gt; a programmer&#x2F;scripter who can develop the management reports on-demand<p>It was 1986. If you have a computer on site, you also have a programmer available.<p>---<p>So you got a working solution without investing too much resources solving subproblems, some of which are not even important.
  • smalltorch4 days ago
    Nice, this is still used today? I wish the construction industry had a standardized issue reporting system like this.
  • Nzen4 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&#x27;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].<p>[0] <a href="https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Joe_Armstrong_(programmer)" rel="nofollow">https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Joe_Armstrong_(programmer)</a> Joe Armstrong, of Erlang fame, so his blog posts have been discussed in the past.<p>[1] <a href="https:&#x2F;&#x2F;ntdotdev.wordpress.com&#x2F;2023&#x2F;01&#x2F;01&#x2F;state-of-the-windows-how-many-layers-of-ui-inconsistencies-are-in-windows-11&#x2F;comment-page-1&#x2F;" rel="nofollow">https:&#x2F;&#x2F;ntdotdev.wordpress.com&#x2F;2023&#x2F;01&#x2F;01&#x2F;state-of-the-windo...</a><p>I find this a helpful example. When I&#x27;ve heard the unix philosophy in the past, I didn&#x27;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.<p>[2] <a href="https:&#x2F;&#x2F;utcc.utoronto.ca&#x2F;~cks&#x2F;space&#x2F;blog&#x2F;sysadmin&#x2F;InventoriesAreNontrivial" rel="nofollow">https:&#x2F;&#x2F;utcc.utoronto.ca&#x2F;~cks&#x2F;space&#x2F;blog&#x2F;sysadmin&#x2F;Inventorie...</a><p>[3] <a href="https:&#x2F;&#x2F;beanhub.io&#x2F;blog&#x2F;2024&#x2F;06&#x2F;24&#x2F;introduction-of-beanhub-connect&#x2F;" rel="nofollow">https:&#x2F;&#x2F;beanhub.io&#x2F;blog&#x2F;2024&#x2F;06&#x2F;24&#x2F;introduction-of-beanhub-c...</a>
    • cristoperb2 hours 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&#x2F;transforming imported entries, but you could also preprocess the files using any unix tool before importing if you needed to.<p>0: <a href="https:&#x2F;&#x2F;plaintextaccounting.org&#x2F;" rel="nofollow">https:&#x2F;&#x2F;plaintextaccounting.org&#x2F;</a><p>1: <a href="https:&#x2F;&#x2F;hledger.org&#x2F;" rel="nofollow">https:&#x2F;&#x2F;hledger.org&#x2F;</a>