HNHacker News
TopNewBestAskShowJobs

keyserj

49 karma · joined August 18, 2023

Software developer, book reader, board gamer, cookie eater, contra dancer.

Building https://ameliorate.app to improve our ability to discuss, model, and understand problems.

submissionscomments
keyserj··on Ameliorate
This app has you break down information into a cause & effect map, where each node has an implied claim "this node is important" and each edge has an implied claim "the source node <edge name verb, e.g. causes> the target node>. These implied claims each get their own argument map.
keyserj··on Ameliorate
Thanks for the feedback. I had intended problems to be seen first to convey motivation, so they're at the top, but I wanted the arrows to point in the direction of causation, so solutions point upward. I agree it's not great, and knowing where to look is a common problem. My latest plan has been to have a more-linear view be primary and the diagram view be secondary (split panes on desktop) in attempts to provide more context for the diagram. Also better diagram views so that it's easier to keep only 5-15 nodes showing at a time, then direction wouldn't matter quite as much.
keyserj··on Ameliorate
Thanks for the thoughts. I've dreamt of a version where a conversation could be recorded and a map could be generated live to provide both a visual and a structure to further guide the conversation. As for the essay version, one major issue with the app has been that it's just hard to know where you're supposed to look, and I think an essay version would probably help with that. I think LLMs can do a decent job here.
keyserj··on Ameliorate
Thanks for sharing, I hadn't heard of that. It saddens me a little when I hear about all the structured argument sites that died. I'm always interested in trying to learn from them, like what worked and what didn't work. I can't seem to find many details about this one.
keyserj··on Ameliorate
Appreciate the feedback. I had played around with defaulting scores/justification showing vs not showing mainly because in a big diagram it can add clutter, hadn't been solid on that though.

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.

keyserj··on Ameliorate
Yeah. Here are some I could share https://ameliorate.app/keyserj/highlight-nodes-thread https://ameliorate.app/keyserj/edge-labels-overlap https://ameliorate.app/keyserj/voting-systems https://ameliorate.app/keyserj/use-cases. The group discussions can be found right now at https://ameliorate.app/keyserj by searching "discourse"
keyserj··on Ameliorate
It's not exactly IBIS, but inspired for sure. IBIS I think is better for modeling a live discussion, it's almost an append-only structure (to model back-and-forth), whereas Ameliorate's structure (the core is concepts with cause & effect relations) is intended to have new information integrated without duplication (which can be more annoying to do live because it can involve modification rather than appending).

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.

keyserj··on Ameliorate
If you have a problem that's hard to think through or agree on with someone else, this app can help you make a (cause & effect) diagram to understand it better. Use numbers (scores) to show others how important you think something is (nodes) or how much you think something causes another thing (edges). You can add reasons (supports/critiques) to justify your numbers, and tradeoffs (criteria) to compare options for dealing with the problem. The app can show where you disagree with people or what people think are most important (generated views).

I might need LLM help to figure out how to explain to a 5 year old haha.

keyserj··on Ameliorate
Thanks for the feedback, I agree. I hadn't gotten around to adding an Explore page. There haven't actually been many users so it'd be mostly my topics and topics from some small group discussions I've hosted, but would be good to have more for people to see.
keyserj··on Ameliorate
Cool to see this posted :) I'm the creator.

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)

keyserj··on Ask HN: How can we solve the loneliness epidemic?
I think there's a lot of good advice in these comments already, at least for individuals to think about for themselves.

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.

[1] https://www.chicagobarndance.org/

keyserj··on [dead]
I feel the author loses points (persuasiveness? respect? integrity? I can't think of the word) by not acknowledging what they think accurately happened. What's the word alternative to genocide in this case? "War" with large sprinkles of civilian casualties?

> 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?

keyserj··on Ask HN: What are you working on? (September 2025)
Cool, that makes sense. Thanks for the explanation
keyserj··on Ask HN: What are you working on? (September 2025)
Neat idea. Would you say that biggest difference from something like Kysely is the focus on extracting common calculated SELECT targets into methods that can easily be accessed when querying? Or perhaps it's more thorough with providing TS versions of all the SQL syntax available? The list of reference fields/methods in your docs is certainly massive.
keyserj··on Ask HN: What are you working on? (September 2025)
That's a cool idea. Seems like there would be a ton of things contained in an individual's worldview, that it'd be hard to build all of it up. Perhaps when you encounter something that makes you think of some core philosophy, you note it and the philosophy, and eventually there would be a loose picture that forms amongst all the relations.

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!

keyserj··on Ask HN: What are you working on? (September 2025)
Working on a webapp for critically think with others about a problem.

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

keyserj··on Facts don't change minds, structure does
I'm a big fan of modeling causal structures like this - I think having a diagram is a really good way of getting on the same page and making conversations more constructively focused on points that each party can follow and precisely provide counterpoints for. I appreciate reading an article about this! I feel like our society would benefit a lot from investing more in this kind of information management, but it's not particularly flashy.

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...

keyserj··on Facts don't change minds, structure does
I think the structure inherently enables each node to be a claim (like "this thing exists"), but that there's value in making a node even if that node's claim is not particularly disagreeable, because the edges to that node might be disagreeable, or to provide more detail about how one node relates to another (e.g. through some intermediate node). In this case, maybe the main value in modeling "Efficiency" is to convey how innovation might lead to profit.

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.

keyserj··on Jujutsu for busy devs
> I want all teams to squash merge their feature into master after tests pass. One commit at the end, and one commit to remove in case of an issue affecting customers related to the release.

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...

keyserj··on At Least 13 People Died by Suicide Amid U.K. Post Office Scandal, Report Says
I agree that wealth is not the same as class, but just as a counter anecdote, my dad is a (small business) plumber and I never felt like we were treated less than any other middle class family. If anything, it seemed like people were often really grateful and giving random gifts like food from gardens or tickets to local events.
keyserj··on Ask HN: What Are You Working On? (June 2025)
I'm building an app[1] (repo[2]) that helps you visualize perspectives and details about complex problems so that it's easier to figure what to do about them.

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!

[1] https://ameliorate.app/

[2] https://github.com/amelioro/ameliorate

[3] https://www.figma.com/proto/psTRolY8LTVOef3fkCJ0B4/Simplifie...

keyserj··on GOP omnibus bill would sell off USPS's EVs
> Destruction is a terrible yet inevitable end that should only be induced to protect the weak and ameliorate suffering, so be just and resolute when you seek it.

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.

keyserj··on Ask HN: What are you working on? (May 2025)
A webapp to improve how we discuss, model, and understand problems https://ameliorate.app/ (repo: https://github.com/amelioro/ameliorate).

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.

keyserj··on When ChatGPT broke the field of NLP: An oral history
If I'm reading correctly, they used $1000 running a Llama model, not DistilBERT.
keyserj··on Show HN: TypeLeap: LLM Powered Reactive Intent UI/UX
Cool idea. FYI the GitHub link at the bottom leads to "page not found". Maybe the repo is not public?
keyserj··on Show HN: FlakeUI
That's awesome to hear :). I also appreciate knowing that I'm not the only one thinking about it.
keyserj··on Revolt: Open-Source Alternative to Discord
I've landed at AnswerOverflow from Google before. It's a bot you can add to your server so that your server's threads get indexed. I haven't added it to a server myself but it seems decent enough. See https://github.com/AnswerOverflow/AnswerOverflow
keyserj··on Show HN: FlakeUI
I think if we could improve our ability to easily & precisely communicate arguments, that would be huge for humanity's ability to deal with problems. I'm building a tool[1] that I'm hoping can help with this, maybe be a successor (in some ways) to something like Kialo.

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).

[1] https://ameliorate.app/

[2] https://github.com/amelioro/ameliorate/issues/11

[3] https://github.com/amelioro/ameliorate/discussions/541

keyserj··on Project 2025 Observer
Slightly annoying: on mobile, the navbar displays partially in front of the content "Overall Progress". I tried scrolling up to see the content better and since that's top of the page, it triggers a page refresh.
keyserj··on Show HN: Stagehand – an open source browser automation framework powered by AI
Playwright does have some docs on scraping, which makes it seem like they do want to support that as a use case https://playwright.dev/docs/docker#crawling-and-scraping. I'm unfamiliar with that though and wouldn't be able to speak to addressing issues with scraping
Page 1 of 2Next →