3 ms·
What I made is not like explainshell.com at all. It is a GUI for writing command pipelines. Updates to the prompt are parsed into an AST and used to update the
by williamcotton 2y ago
What I made is not like explainshell.com at all. It is a GUI for writing command pipelines. Updates to the prompt are parsed into an AST and used to update the GUI. Updates in the GUI are used to build an AST to update the prompt.
I wrote it so I didn't have to keep writing things like this into the line editor:
pg -d test_database -c 'SELECT * from test_table;' | tsvtocsv | ggplot 'ggplot(df, aes(as.Date(date), value)) +
geom_col(fill = "red") +
labs(x = "date") +
theme_minimal()' | pngtohtml
Instead, I could just type in the app:
pg | tsvtocsv | ggplot | pngtohtml
And then fill in the blanks with an instance of the Monaco code editor, looking like:
https://github.com/williamcotton/guish/assets/13163/a5214e93-154b-4c5f-b727-e1d9c0e67c2a https://github.com/williamcotton/guish/assets/13163/a5214e93...
It's a small program but it's not a trivial task to get the UX working in a productive manner. I took plenty of the same wrong turns that I would have if I was writing it by hand but was able to iterate much more quickly.
It's more exploratory in nature, seeing how text input and GUI input can complement each other in a novel manner. Sure, I could do this by embedding a SQL query in an R script or something but there's just something that rubs me the wrong way about embedding one language in another instead of having them work side by side.
It's not "just explaining how simple bash commands work".
So thank you for calling me a shitty parent and devaluing my work. You seem awesome.
- muglug 2y agoI’m sure you’re a great parent, but you’re not a convincing advocate for the time-saving power of LLMs. Either way I was wrong — this project does look like a cool idea, and I’m sorry for dismissing it entirely.
- williamcotton 2y agoApology accepted. And I'm sorry for getting heated!