49 karma · joined August 18, 2023
Building https://ameliorate.app to improve our ability to discuss, model, and understand problems.
Regarding styling edge types: Yes and I think it's a good idea. I think there are some things I haven't tried yet, but I added logic gates https://github.com/amelioro/ameliorate/issues/785 (More Actions Menu > Preferences > Edges > Use semantic arrow shapes) and there's an open ticket for using colors to convey good/bad https://github.com/amelioro/ameliorate/issues/836. Thickness is another thing that potentially could be played with, thicker being higher score? Hadn't gotten to that.
Ameliorate models questions and arguments, but they're more auxiliary (modeled as being _about_ a cause or effect) than in IBIS, where they're pretty central. Questions in Ameliorate are more "unknowns" than "core questions we are trying to answer".
If you see my root-level comment in this post, I mention refining the Ameliorate ontology (ameliorate-v2) which elevates questions to first-class (to address the issue where it's hard to know where to look in the diagram, without questions to identify motivation). You might also be interested in my ontology playground in that comment if you want to see an IBIS > mermaid pipeline.
I might need LLM help to figure out how to explain to a 5 year old haha.
For those interested, I've slowed work on the app in favor of refining the app's ontology in markdown form[1], building an ontology playground[2], and building a prototype[3] to show off features that the updated ontology enables. I had some major changes I wanted to make and making it work in the real app was going to be too much effort.
I'll likely be making a Show HN for one/some of these soon^TM (in the next month or two?) but they're currently still a bit early.
[1] https://github.com/keyserj/reasoning-tools/blob/main/amelior...
[2] https://keyserj.github.io/reasoning-tools/ontology-playgroun...
[3] https://github.com/keyserj/reasoning-tools/tree/main/amelior... (not yet deployed)
I happen to have discovered a fantastic contra dancing community[1] in Chicago that could be great for some who are lonely. You have to chalk up the courage to go (if you aren't used to trying new things, or dancing), but everyone is extremely welcoming, the dancing is easy even for people "with two left feet", and the happiness going around is truly contagious.
I think it's a terrific place to find community. It's a social dance where you'll basically dance with everyone by the end of the evening. There's time before, in the middle (snack intermission), and at the end for striking some conversation. The dancing is every Monday so it's routine. The crowd (100-150 people on average) is diverse in many ways (at least in age, gender, income, interests) so you're bound to find people with commonalities that, using some of the other advice in these comments, you could try to hang out with outside of the dancing.
As far as getting people to feel like they can join, I'm not the expert, but I've had such a great experience that I'm happy to at least bring it up and "spread the good word".
For outside of Chicago: contra dancing is a bit niche, but a surprising amount of large-ish US cities have it. I think it's more popular (relatively) on the East coast. Can't speak for outside of the US.
> To defend truth, one must defend vocabulary
I completely agree with this. The decay of words reduces our ability to communicate accurately, which leads then to a myriad of disagreement, misinformation, disinformation, etc.
I think "semanticide" happens often when there's outrage, and there aren't accurate words that carry enough connotation to reflect the emotion and frustration in the speaker. What's the solution in this case? I don't blame the speakers for resorting to it in haste, but perhaps the issue comes when the word abuse becomes well-meditated, and repeated?
Certainly would be helpful for trying to understand someone else. Not sure if this is totally appropriate, but it does seem like something that a chatbot would be good at combing through to find examples to suggest why one thinks a certain way about a new topic. You could even ask it about your own worldview!
The idea is that you build a diagram that contains all the details about the problem and people's thoughts on it, and it's organized in such a way that it's easy to just keep refining, down to the smallest detail. So you build this concrete, shared understanding, and move it forward and forward, until hopefully y'all can make some best decision to improve the situation.
There's a lot to do. Currently working on UX to allow hiding intermediate nodes and still have indirect edges drawn. Want to add an LLM integration to generate/update diagrams via natural language, which I think will help a lot with usage barriers to using the app.
Happy to get any feedback :) https://ameliorate.app/ https://github.com/amelioro/ameliorate
I'm working on an app[1] for building these structures, centered around problems and solutions, with the addition that each node or edge can have its own structured auxiliary information, e.g. scores for intuitions, argument trees for supporting/critiquing the claims implied by nodes/edges, questions for identifying unknowns. Here's an example[2] of the two diagrams in the article as they'd be in the app. I want it to be easier for our discussions to be constructive, and I think software can reduce the effort required for it.
[1] https://ameliorate.app/ [2] https://ameliorate.app/keyserj/facts-dont-change-minds-artic...
To me, it feels less fuzzy when you assume that all nodes and edges imply their own claims, and that it's just a matter of whether or not those claims are worth arguing. The fuzziness imo is based on the fact that the curator picks which nodes and edges exist, which therefore determines which claims exist and can be agreed or disagreed with, not to mention the overall legibility of the graph itself. But I would argue that a causal graph like this is better at representing reality than something like an argument tree, and that, while it might be fuzzy to determine which nodes should exist, at least there's less opinion involved about where nodes should be placed in relation to each other. Which imo makes the structure easier to refine given time and feedback.
Hmm what's the issue with the GitHub default of merging PRs, where there's a merge commit which individually pulls in the PR's commits? You can revert the merge PR as a whole, or the PR commits individually. E.g. with this[1] merge commit, you can `git revert 0a98f570 -m 1` (the merge commit) or `git revert b30950fc` (an individual commit from the PR).
[1] https://github.com/amelioro/ameliorate/commit/0a98f570f63ffd...
Right now it's basically a diagramming app specifically for the domain of problem-solving. I think an issue with it is that it's too hard for new users, so I've spent the last few weeks UX designing a view (figma prototype[3]) that I think is more intuitive to use (though sacrifices some features).
I'm currently working on code design for this view and am hoping to implement in the next few weeks!
[2] https://github.com/amelioro/ameliorate
[3] https://www.figma.com/proto/psTRolY8LTVOef3fkCJ0B4/Simplifie...
I think an issue with this reasoning is that "protect the weak" and "be just" are things that many people (admittedly not all) from "both sides" _do_ want to do, and that reality is often not so straightforward, involving tradeoffs that cannot be objectively evaluated as "just".
Personally I believe that a lot of disagreements in this realm come down to misunderstanding, in which case it's very sad to have to resort to destruction, when better communication and efforts to work together could create agreement or at least compromise. Admittedly resolving these misunderstandings is really hard, and I think a lot of us don't have the skills or tools to do so in a reasonable amount of time.
The core idea is to ground discussion in a causal diagram that ties together problems & solutions, then each node/edge can have structured details (importance score, arguments, unknowns, relevant facts, etc.) to help clarify & refine the information. It also has some features for working with this information, e.g. comparing perspectives, using a table to evaluate tradeoffs between solutions.
Right now, you basically need to be a power user to get benefit from it, but I've got a lot of ideas for making it smoother, and I'm slowly working through them.
It's critically missing suggestions/approvals[2], and perhaps a simpler interface[3], but I think that, for arguments about problems/solutions, the idea of grounding arguments within a cause/effect diagram is really powerful both for getting on the same page and for making concrete progress towards improving a situation (rather than arguing for argument's sake).
I'd be happy to get your thoughts on it if you have any (I'll be making a HN post about it sometime soon^TM).