Live data from Hacker News

Show HN: Firm, a text-based work management system

github.com

11–20 of 62 posts

Re: Show HN: Firm, a text-based work management system

#13

I love the idea. More power to text-based tools, more power to the CLI. But ... why invent a new file format? Why not just make in JSON, so it is easier to integrate in other toolchains (e.g. having a python script add customers based on external APIs without having to write your own output generator)?

I’ve tried JSON, YAML, and TOML for storing data. Last time, I ended up with an 8,000-line JSON file. And I had to write an editor for it, because text-based editing caused more syntax errors than I expected (what a surprise :).

But each of formats seemed nice at first.

So I understand that sometimes it’s easier to invent a new format. But compatibility with other formats can definitely be a problem lately.

My question is: how does the proposed system handle multiple editors working on the same text file?

Re: Show HN: Firm, a text-based work management system

#14

Getting people to use the terminal to do things instead of the bloatware produced by Google/Microsoft tools is almost impossible... I live in the terminal, but most people in my company, including developers rather stay away from it

To state the obvious (sorry):

(1) Command lines lack the discoverability element of GUIs (and TUIs), where the available choices are typically laid out in front of you. Just look at the command "firm -c list contact" in the screenshot in the linked readme - no doubt it's sensible, but you wouldn't just type it in out of nowhere. You could argue that good docs fix this, but they'll never be a substitute. (Silly analogy: imagine if your toaster had buttons just labelled "1", "2", "3" and you had to refer to the manual for which meant toast, defrost, extra browning.)

(2) Command lines lack the visual persistence of the data you're operating on (like a list of files in a directory, or project/people data like in this program). If you rename a file and you then re-run ls and now everything appears in a slightly different place on the screen (because the previous listing had shifted up when you ran "mv") it's visually jarring in a way that just operating directly on the data isn't. Not-silly analogy: it's like how no-one today would dream of operating on a text file using a pure line editor like ed. (Even command-based editors like vim persist the file data in the main visual area.)

Command lines are much better than GUIs/TUIs for some applications, for example when called from a script, or where you might need to compose a complex command and then tweak and re-run it (in fairness, that might apply to OP's project). But I think techies sometimes get a bit carried away. GUIs are sometimes a legitimately better choice.

Re: Show HN: Firm, a text-based work management system

#15
The text-based software that would eat work management is one that embraces the incumbents rather than avoid them.

I want a bidirectional SaaS YAML/JSON adapter. So that I can push and pull our CRM (and other SaaS utilities like project management) into a common (schematized) YAML format.

The YAML then can be analyzed and modified using LLMs and/or stored in git.

And then use the bidirectional sync to reconcile conflicts and push.

So I can do work processes on the console, and still collaborate with people who want the native web UI.

Re: Show HN: Firm, a text-based work management system

#16
post #4

Looks ambitious but previous attempts at “Ops as Code” haven’t been promising.

Healthy skepticism. I think firm differs from ops as code in the sense that it focuses on the structural aspects and representing the people-ops side in a way that machines can interact with too. To be clear, I'm trialing this out in my own small business. Whether it's ergonomic enough to add value and whether it's scalable, I don't know yet. So far, so good, though.

It's good to experiment, and your boldness should be commended.

Re: Show HN: Firm, a text-based work management system

#18
post #15

The text-based software that would eat work management is one that embraces the incumbents rather than avoid them. I want a bidirectional SaaS YAML/JSON adapter. So that I can push and pull our CRM (and other SaaS utilities like project management) into a common (schematized) YAML format. The YAML then can be analyzed and modified using LLMs and/or stored in git. And then use the bidirectional sync to reconcile confl…

Agreed, this is on my mind as well.

Thinking of Terraform, you have data blocks that can grab data from an external source. Still trying to grok what would be a convenient way of doing something like this - whether that gets generated to DSL, or if data pulled in dynamically as you build the org graph...

Having your plain-text workspace as a unified structural source where you pull in data from external systems would be potentially powerful.

Re: Show HN: Firm, a text-based work management system

#19

Spent ages building my own work management system only to realise I was just taking the scenic route to eMacs.

I was thinking the same thing: why is everyone reinventing emacs?

gnu and emacs already have a long history of cli and text friendly solutions that LLM dev agents can easily use and are trained on.

Or for structured data, just use a database. Dev agents can work with SQL just fine.

Re: Show HN: Firm, a text-based work management system

#20
Looking at the points you made and examples, I would cobble a similar tool with Django, writing only CLI commands with no HTTP endpoints. And most LLMs are already fluent in Django.

- Schemas and relationships live in models.py, actual data is persisted in Sqlite - I can dump to JSON or XML with Django utils for LLMs - Query engine can simplify reuse Django syntax, like `Firm.objects.get(owner_name__like="john", date__gt=2015)`, fetch related names, aggregate subqueries - Format as tables

Post reply on HN