<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Hacker News: joshka</title><link>https://news.ycombinator.com/user?id=joshka</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Tue, 14 Apr 2026 20:20:37 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=joshka" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by joshka in "jj – the CLI for Jujutsu"]]></title><description><![CDATA[
<p>> Does JJ really prefer for me to think backwards? It wants me to start with the new and describe command, but with git I first make the changes and name the changeset at the end of the workflow.<p>A good way to think of it is that jj new is an empty git staging area. There's still a `jj commit` command that allows you to desc then jj new.<p>> I also often end up with in a dirty repo state with multiple changes belonging to separate features or abstractions. I usually just pick the changes I want to group into a commit and clean up the state.<p>jj split allows you do to this pretty well.<p>> Since it's git compatible, it feels like it must work to add files and keep files uncommitted, but just by reading this tutorial I'm unsure.<p>In jj you always have a commit - it's just sometimes empty, sometimes full, has a stable changeid regardless. jj treats the commit as a calculated value based on the contents of your folder etc, rather than the unit of change.</p>
]]></description><pubDate>Tue, 14 Apr 2026 13:04:59 +0000</pubDate><link>https://news.ycombinator.com/item?id=47765157</link><dc:creator>joshka</dc:creator><comments>https://news.ycombinator.com/item?id=47765157</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47765157</guid></item><item><title><![CDATA[New comment by joshka in "What is jj and why should I care?"]]></title><description><![CDATA[
<p>The cli and a few concepts have evolved with time past the model's knowledge cutoff dates, so you have to steer things a bit with skills and telling it to use --help a bit more regularly.<p>I find it reasonably good with lots of tweaking over time. (With any agent - ask it to do a retrospective on the tool use and find ways to avoid pain points when you hit problems and add that to your skill/local agents.md).<p>I expect git has a lot more historical information about how to fix random problems with source control errors. JJ is better at the actual tasks, but the models don't have as much in their training data.</p>
]]></description><pubDate>Tue, 14 Apr 2026 12:54:14 +0000</pubDate><link>https://news.ycombinator.com/item?id=47765040</link><dc:creator>joshka</dc:creator><comments>https://news.ycombinator.com/item?id=47765040</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47765040</guid></item><item><title><![CDATA[New comment by joshka in "What is jj and why should I care?"]]></title><description><![CDATA[
<p>The last reviewed sha is generally available on the PR page (not the changes page) when you force push. There should be a changes since review link somewhere near the push.<p>When reviewing, you can also mark individual files as reviewed (useful in larger reviews where you're incrementally reviewing files). If you do this, only files that are changed will be expanded when you come back to the review.</p>
]]></description><pubDate>Tue, 14 Apr 2026 12:48:54 +0000</pubDate><link>https://news.ycombinator.com/item?id=47764985</link><dc:creator>joshka</dc:creator><comments>https://news.ycombinator.com/item?id=47764985</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47764985</guid></item><item><title><![CDATA[New comment by joshka in "What is jj and why should I care?"]]></title><description><![CDATA[
<p>I use jj fairly regularly and I'm trying to understand what your approach means, but having difficulty following what you want to acheive here. Seems like you're using ambiguous language that isn't aligned - wdym by marks?</p>
]]></description><pubDate>Tue, 14 Apr 2026 12:44:50 +0000</pubDate><link>https://news.ycombinator.com/item?id=47764945</link><dc:creator>joshka</dc:creator><comments>https://news.ycombinator.com/item?id=47764945</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47764945</guid></item><item><title><![CDATA[New comment by joshka in "Building a CLI for All of Cloudflare"]]></title><description><![CDATA[
<p>yeah - absolutely. I use codex all the time with jj and encourage it to check the help for details about how to run commands as the commands / args / flags have evolved post training-cutoff date.</p>
]]></description><pubDate>Tue, 14 Apr 2026 01:35:55 +0000</pubDate><link>https://news.ycombinator.com/item?id=47760212</link><dc:creator>joshka</dc:creator><comments>https://news.ycombinator.com/item?id=47760212</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47760212</guid></item><item><title><![CDATA[New comment by joshka in "Building a CLI for All of Cloudflare"]]></title><description><![CDATA[
<p>Any rust cli built with clap or go cli built with cobra supports short and long help and surface these with `-h` and `--help` (I think cobra surfaces this in the help command rather than in the --help, which is probably a reasonable alternative way to frame this)</p>
]]></description><pubDate>Mon, 13 Apr 2026 23:54:32 +0000</pubDate><link>https://news.ycombinator.com/item?id=47759499</link><dc:creator>joshka</dc:creator><comments>https://news.ycombinator.com/item?id=47759499</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47759499</guid></item><item><title><![CDATA[New comment by joshka in "Building a CLI for all of Cloudflare"]]></title><description><![CDATA[
<p>My perspective on the rationale for splitting short/long help is that optimizing for the reader's time is a reasonable thing to do. Often I just need a refresher of what options are available. But sometimes I need a deeper understanding of what each option controls and how. (Yes I understand that this should be in man pages). There needs to be a reasonable way to control the verbosity of the help output from the command line however.<p>I agree with your point that most flags should generally treat short versions as exact aliases to long flags, but I just think that a convention that treats -h and --help as concise vs long is 100% reasonable. The distinction is often breadth vs depth.</p>
]]></description><pubDate>Mon, 13 Apr 2026 23:47:11 +0000</pubDate><link>https://news.ycombinator.com/item?id=47759449</link><dc:creator>joshka</dc:creator><comments>https://news.ycombinator.com/item?id=47759449</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47759449</guid></item><item><title><![CDATA[New comment by joshka in "Building a CLI for all of Cloudflare"]]></title><description><![CDATA[
<p>> Tell us your hopes and dreams for a Cloudflare-wide CLI<p>Initial impression:<p>-h and --help should follow the short / long standard of providing more / less info. The approach currently used is -h and --help show command lists and point at a --help-full flag. The --help-full output seems to give what I'd expect on -h. This needs to be much better - it should give enough information that a user / coding agen doesn't have to read websites / docs to understand how the feature works.<p>Completions are broken by default compared to the actual list of commands - i.e. dns didn't show up in the list.<p>When I ran cf start -h it prompted to install completions (this was odd because completions were already installed / detected). But either way, -h should never do anything interactive<p>Some parts of the cli seem very different to the others (e.g. cf domains -h is very different to cf dns -h). Color / lack of color, options, etc.</p>
]]></description><pubDate>Mon, 13 Apr 2026 20:25:12 +0000</pubDate><link>https://news.ycombinator.com/item?id=47757371</link><dc:creator>joshka</dc:creator><comments>https://news.ycombinator.com/item?id=47757371</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47757371</guid></item><item><title><![CDATA[New comment by joshka in "In Production"]]></title><description><![CDATA[
<p>Title is mangled: "Absurd In Production"</p>
]]></description><pubDate>Sun, 12 Apr 2026 03:14:06 +0000</pubDate><link>https://news.ycombinator.com/item?id=47735844</link><dc:creator>joshka</dc:creator><comments>https://news.ycombinator.com/item?id=47735844</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47735844</guid></item><item><title><![CDATA[New comment by joshka in "Every Law a Commit – US Law in GitHub"]]></title><description><![CDATA[
<p>>If the bill passes and the President signs it, the PR merges. If it dies in committee, the PR closes<p>This stores a lot of interesting things outside of the repository of knowledge and then throws it away. This seems unfortunate.</p>
]]></description><pubDate>Fri, 03 Apr 2026 05:06:03 +0000</pubDate><link>https://news.ycombinator.com/item?id=47623357</link><dc:creator>joshka</dc:creator><comments>https://news.ycombinator.com/item?id=47623357</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47623357</guid></item><item><title><![CDATA[New comment by joshka in "The next generations of Bubble Tea, Lip Gloss, and Bubbles are available now"]]></title><description><![CDATA[
<p>Go libraries for making terminal UIs<p>- <a href="https://github.com/charmbracelet/bubbletea" rel="nofollow">https://github.com/charmbracelet/bubbletea</a><p>- <a href="https://github.com/charmbracelet/bubbles" rel="nofollow">https://github.com/charmbracelet/bubbles</a><p>- <a href="https://github.com/charmbracelet/lipgloss" rel="nofollow">https://github.com/charmbracelet/lipgloss</a></p>
]]></description><pubDate>Fri, 06 Mar 2026 00:24:56 +0000</pubDate><link>https://news.ycombinator.com/item?id=47269135</link><dc:creator>joshka</dc:creator><comments>https://news.ycombinator.com/item?id=47269135</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47269135</guid></item><item><title><![CDATA[New comment by joshka in "Markdown CLI viewer with VI keybindings"]]></title><description><![CDATA[
<p>Hey if there's significant overlap, what about coming and collab-ing on <a href="https://github.com/joshka/tui-markdown" rel="nofollow">https://github.com/joshka/tui-markdown</a>? (crate + cli, rust / ratatui / crossterm based)</p>
]]></description><pubDate>Wed, 11 Feb 2026 04:12:40 +0000</pubDate><link>https://news.ycombinator.com/item?id=46970739</link><dc:creator>joshka</dc:creator><comments>https://news.ycombinator.com/item?id=46970739</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46970739</guid></item><item><title><![CDATA[New comment by joshka in "Show HN: Clawe – open-source Trello for agent teams"]]></title><description><![CDATA[
<p>Naming the service for this named clawed would be a great irony :D</p>
]]></description><pubDate>Wed, 11 Feb 2026 04:06:22 +0000</pubDate><link>https://news.ycombinator.com/item?id=46970698</link><dc:creator>joshka</dc:creator><comments>https://news.ycombinator.com/item?id=46970698</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46970698</guid></item><item><title><![CDATA[New comment by joshka in "How to choose colors for your CLI applications (2023)"]]></title><description><![CDATA[
<p>iterm2colorschemes is a source for various other tools as it ports out to<p>"Terminal, Konsole, PuTTY, Xresources, XRDB, Remmina, Termite, XFCE, Tilda, FreeBSD VT, Terminator, Kitty, MobaXterm, LXTerminal, Microsoft's Windows Terminal, Visual Studio, Alacritty, Ghostty, and many more."<p>You may have used data from it without knowing about it.</p>
]]></description><pubDate>Sat, 31 Jan 2026 02:54:35 +0000</pubDate><link>https://news.ycombinator.com/item?id=46832906</link><dc:creator>joshka</dc:creator><comments>https://news.ycombinator.com/item?id=46832906</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46832906</guid></item><item><title><![CDATA[New comment by joshka in "How to choose colors for your CLI applications (2023)"]]></title><description><![CDATA[
<p>I made the "Aardvark Blue" a while back[1] to solve some of the problems that most color schemes have. The goal of this theme is that:<p>- colors are fairly natural<p>- background and black are distinct<p>- grays are naturally ordered avoiding full black<p>- light and dark colors are distinct from each other<p>- all colors look good on background, black, dark gray, gray, white<p>We use this for all the screenshots on <a href="https://ratatui.rs" rel="nofollow">https://ratatui.rs</a> and <a href="https://github.com/ratatui/ratatui" rel="nofollow">https://github.com/ratatui/ratatui</a><p>It's available from the usual places <a href="https://iterm2colorschemes.com/" rel="nofollow">https://iterm2colorschemes.com/</a>, <a href="https://windowsterminalthemes.dev/?theme=Aardvark%20Blue" rel="nofollow">https://windowsterminalthemes.dev/?theme=Aardvark%20Blue</a>, built in to ghostty, extension for vscode etc.<p>[1]: <a href="https://github.com/mbadolato/iTerm2-Color-Schemes/pull/417" rel="nofollow">https://github.com/mbadolato/iTerm2-Color-Schemes/pull/417</a></p>
]]></description><pubDate>Thu, 29 Jan 2026 21:43:59 +0000</pubDate><link>https://news.ycombinator.com/item?id=46817078</link><dc:creator>joshka</dc:creator><comments>https://news.ycombinator.com/item?id=46817078</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46817078</guid></item><item><title><![CDATA[New comment by joshka in "Mousefood – Build embedded terminal UIs for microcontrollers"]]></title><description><![CDATA[
<p>Ratatui dev here. We love both Bubbletea and Textual (though I'm personally not a huge fan of either Go or Python). They're inspirations for us to make good looking stuff.</p>
]]></description><pubDate>Thu, 29 Jan 2026 03:48:46 +0000</pubDate><link>https://news.ycombinator.com/item?id=46805598</link><dc:creator>joshka</dc:creator><comments>https://news.ycombinator.com/item?id=46805598</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46805598</guid></item><item><title><![CDATA[New comment by joshka in "Show HN: macOS native DAW with Git branching model"]]></title><description><![CDATA[
<p>If you haven't already seen it, see if you can find some screenshots of the UX for what Splice.com looked like before it pivoted to just being a sample / instrument selling site. It was kind of a git + dropbox type interface for actual DAW projects (Ableton and Fruity were supported IIRC). This was really cool and something that someone should bring back.</p>
]]></description><pubDate>Fri, 23 Jan 2026 20:11:52 +0000</pubDate><link>https://news.ycombinator.com/item?id=46737249</link><dc:creator>joshka</dc:creator><comments>https://news.ycombinator.com/item?id=46737249</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46737249</guid></item><item><title><![CDATA[New comment by joshka in "Radicle 1.6.0 – Amaryllis"]]></title><description><![CDATA[
<p>pro-tip: link your website root from somewhere near the top of your blog. I think the only direct link is that little purple monster at the bottom of the screen.</p>
]]></description><pubDate>Tue, 20 Jan 2026 06:42:54 +0000</pubDate><link>https://news.ycombinator.com/item?id=46688665</link><dc:creator>joshka</dc:creator><comments>https://news.ycombinator.com/item?id=46688665</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46688665</guid></item><item><title><![CDATA[New comment by joshka in "I hate GitHub Actions with passion"]]></title><description><![CDATA[
<p>Slap your problem in an agentic loop, this becomes the following single step:<p>1. Here's your goal "...", fix it, jj squash and git push, run gh pr checks --watch --fail-fast pr-link</p>
]]></description><pubDate>Wed, 14 Jan 2026 19:12:29 +0000</pubDate><link>https://news.ycombinator.com/item?id=46621121</link><dc:creator>joshka</dc:creator><comments>https://news.ycombinator.com/item?id=46621121</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46621121</guid></item><item><title><![CDATA[New comment by joshka in "Show HN: Terminal UI for AWS"]]></title><description><![CDATA[
<p><a href="https://ratatui.rs/examples/apps/demo/" rel="nofollow">https://ratatui.rs/examples/apps/demo/</a> is pretty much the oldest untouched remnant of code from tui-rs days (pre-ratatui fork in Feb 2023).<p>Ratatui itself has a lot of much nicer AI generated code in it since then ;)<p>We've also done a bunch of things to help drive down some of the boilerplate (not all of it mind you - as it's a library, not a framework like other TUI libs)</p>
]]></description><pubDate>Sun, 04 Jan 2026 23:12:39 +0000</pubDate><link>https://news.ycombinator.com/item?id=46493389</link><dc:creator>joshka</dc:creator><comments>https://news.ycombinator.com/item?id=46493389</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46493389</guid></item></channel></rss>