<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: musicmatze</title><link>https://news.ycombinator.com/user?id=musicmatze</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Fri, 01 May 2026 22:06:02 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=musicmatze" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by musicmatze in "A beginner's guide to Sourcehut (2025)"]]></title><description><![CDATA[
<p>You did not explain why the patch based process is "inferior", neither did you explain why you'd have to "work around" the process!</p>
]]></description><pubDate>Fri, 01 May 2026 12:01:45 +0000</pubDate><link>https://news.ycombinator.com/item?id=47973781</link><dc:creator>musicmatze</dc:creator><comments>https://news.ycombinator.com/item?id=47973781</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47973781</guid></item><item><title><![CDATA[New comment by musicmatze in "A beginner's guide to Sourcehut (2025)"]]></title><description><![CDATA[
<p>One very crucial point that no forge (IIRC) supports that the article missed (or I accidentially skipped it) is that email supports tree-style discussion! That is a HUGE benefit IMHO, especially for patchsets, but also for "issue" discussion!</p>
]]></description><pubDate>Fri, 01 May 2026 11:50:50 +0000</pubDate><link>https://news.ycombinator.com/item?id=47973690</link><dc:creator>musicmatze</dc:creator><comments>https://news.ycombinator.com/item?id=47973690</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47973690</guid></item><item><title><![CDATA[New comment by musicmatze in "Niri 26.04: Scrollable-tiling Wayland compositor"]]></title><description><![CDATA[
<p>I switched from KDE with almost what you mentioned: Workspace 1 had a fullscreen terminal with zellij, Workspace 2 had a browser, workspace 3 had two chat apps open and that was it. Bindings to switch between those.
I switched to niri because it was different and more lightweight than a full plasma setup at first, but now adapted my workflow a bit.
Most of the time, the individual windows I have are screen-sized still, similarly organized: 1 has development, 2 has browser(s) and occasionally my email reader, 3 has my chat apps.
I open new terminal windows more frequently for just firing a few commands or starting some long-running thing that I need to look at from time to time. With KDE, I had these windows in the background, now I have them side-by-side on "1". "Alt-Tab"ing between them in retrospective feels clunky now compared to Super-hjkl'ing through the windows... YMMV of course, but I think my workflow got "lighter" because of that, no more "windows over eachother" but rather "next to eachother" ... gives a feeling of lightness to me.</p>
]]></description><pubDate>Sat, 25 Apr 2026 17:55:59 +0000</pubDate><link>https://news.ycombinator.com/item?id=47903235</link><dc:creator>musicmatze</dc:creator><comments>https://news.ycombinator.com/item?id=47903235</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47903235</guid></item><item><title><![CDATA[New comment by musicmatze in "Commenting and approving pull requests"]]></title><description><![CDATA[
<p>I see where the author is coming from, but still this feels like a reinvention of commit trailers ("Acked-by", "Reviewed-by",...) especially for these non-blocking and "only appraising" comments.
Commit trailers even have the benefit that they are recorded in the comment, making them discoverable and even allowing statistics, while "human language" comments are not that easy to do statistics on (modulo AI I guess, but that's another topic).</p>
]]></description><pubDate>Sat, 25 Apr 2026 17:50:36 +0000</pubDate><link>https://news.ycombinator.com/item?id=47903201</link><dc:creator>musicmatze</dc:creator><comments>https://news.ycombinator.com/item?id=47903201</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47903201</guid></item><item><title><![CDATA[New comment by musicmatze in "Niri 26.04: Scrollable-tiling Wayland compositor"]]></title><description><![CDATA[
<p>Exactly as you do.
The thing that's different at first is that workspaces are organized vertically rather than horizontally, but I for one adapted to that really quick (coming from KDE).</p>
]]></description><pubDate>Sat, 25 Apr 2026 17:44:00 +0000</pubDate><link>https://news.ycombinator.com/item?id=47903151</link><dc:creator>musicmatze</dc:creator><comments>https://news.ycombinator.com/item?id=47903151</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47903151</guid></item><item><title><![CDATA[New comment by musicmatze in "Show HN: Effective Git"]]></title><description><![CDATA[
<p>Unfortunately, muscle memory cannot be changed that easily. And thanks to the git maintainers, the checkout command still exists, because apparently they know that.</p>
]]></description><pubDate>Wed, 04 Mar 2026 20:50:04 +0000</pubDate><link>https://news.ycombinator.com/item?id=47253590</link><dc:creator>musicmatze</dc:creator><comments>https://news.ycombinator.com/item?id=47253590</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47253590</guid></item><item><title><![CDATA[New comment by musicmatze in "Git's Magic Files"]]></title><description><![CDATA[
<p>gitlint (linked in the article, <a href="https://jorisroovers.com/gitlint/" rel="nofollow">https://jorisroovers.com/gitlint/</a>) is a really cool project that we use extensively (and in CI) to ensure we do not accidentally merge "!fixup"/"!squash" commits into master.</p>
]]></description><pubDate>Mon, 23 Feb 2026 06:54:15 +0000</pubDate><link>https://news.ycombinator.com/item?id=47118947</link><dc:creator>musicmatze</dc:creator><comments>https://news.ycombinator.com/item?id=47118947</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47118947</guid></item><item><title><![CDATA[New comment by musicmatze in "Iroh: A New Implementation of IPFS"]]></title><description><![CDATA[
<p>It is nice to see another IPFS implementation coming up, especially in Rust - but will there be any good client libraries in Rust any time soon? Does your project involve implementing client libraries?</p>
]]></description><pubDate>Mon, 31 Oct 2022 06:47:57 +0000</pubDate><link>https://news.ycombinator.com/item?id=33402719</link><dc:creator>musicmatze</dc:creator><comments>https://news.ycombinator.com/item?id=33402719</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=33402719</guid></item><item><title><![CDATA[New comment by musicmatze in "Neovim 0.8 Released"]]></title><description><![CDATA[
<p>> If you use Neovim, can you share why you chose it over VS Code, or one of the new terminal-based editors [...]<p>I am using vim/neovim for almost 15 years now. I was introduced to vim within _days_ after I started programming. I have a workflow where I open and close my editor several times per minute (although I'm now slowly moving away from this workflow) - startup speed matters a lot for this, of course. I never bothered to learn another editor or IDE because of the speed I get with (neo)vim. Moving my hands away from the homerow for interacting with IDE features just feels like driving a Porsche in a 10mph zone. I have muscle memory in my hands for over 10 years now!<p>I switched from vim to neovim at around neovim 0.5 mostly for ideological reasons, but I stayed for lua based plugins and a IMO better community. I rewrote my complete neovim configuration (which I took over from vim of course) about a month ago to be pure Lua and to be more streamlined... I don't consider this work or hoop-jumping at all, but optimizing my editing environment to safe time when actually editing source code (or emails fwiw).<p>On a side-note, I also use vim-ish bindings for everything else, for me DE/WM, Email client (which uses neovim to write emails actually), etc etc. I just don't see a point in un-learning all this.</p>
]]></description><pubDate>Sat, 01 Oct 2022 09:45:18 +0000</pubDate><link>https://news.ycombinator.com/item?id=33045318</link><dc:creator>musicmatze</dc:creator><comments>https://news.ycombinator.com/item?id=33045318</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=33045318</guid></item><item><title><![CDATA[Show HN: Roc is a language for making delightful software]]></title><description><![CDATA[
<p>The roc-lang repository was made public, so I figured I'd share it here.</p>
<hr>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=32448746">https://news.ycombinator.com/item?id=32448746</a></p>
<p>Points: 10</p>
<p># Comments: 0</p>
]]></description><pubDate>Sat, 13 Aug 2022 11:13:29 +0000</pubDate><link>https://github.com/roc-lang/roc</link><dc:creator>musicmatze</dc:creator><comments>https://news.ycombinator.com/item?id=32448746</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=32448746</guid></item><item><title><![CDATA[New comment by musicmatze in "What comes after Git"]]></title><description><![CDATA[
<p>> Am I the only one who thinks that Git's UX is fine, and maybe even rather enjoyable?<p>Same here. Have been using git for over 10 years now though, so this might be an "experts view" kind of thing.</p>
]]></description><pubDate>Tue, 05 Jul 2022 11:07:54 +0000</pubDate><link>https://news.ycombinator.com/item?id=31986754</link><dc:creator>musicmatze</dc:creator><comments>https://news.ycombinator.com/item?id=31986754</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=31986754</guid></item><item><title><![CDATA[New comment by musicmatze in "What a better Rust would look like"]]></title><description><![CDATA[
<p>After reading this article I think the author just wanted to trigger everyone or that this is all some strange form of sarcasm/irony. No need to give it a second thought I guess...</p>
]]></description><pubDate>Sun, 01 May 2022 08:33:05 +0000</pubDate><link>https://news.ycombinator.com/item?id=31223203</link><dc:creator>musicmatze</dc:creator><comments>https://news.ycombinator.com/item?id=31223203</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=31223203</guid></item><item><title><![CDATA[New comment by musicmatze in "Why LSP?"]]></title><description><![CDATA[
<p>>  Doesn't anyone else find it annoying and distracting to have your IDE or editor constantly throwing "suggestions" at you?<p>I see where this is coming from. That's why I do not let neovim hit me with completions all the time, but only when I request them. Most of the time, I can work with the (neo)vim builtins, like "complete word" or "complete line" and do not even use the language-server provided semantic autocompletion. But when I need to, it is only two keystrokes away.</p>
]]></description><pubDate>Mon, 25 Apr 2022 17:28:46 +0000</pubDate><link>https://news.ycombinator.com/item?id=31158054</link><dc:creator>musicmatze</dc:creator><comments>https://news.ycombinator.com/item?id=31158054</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=31158054</guid></item><item><title><![CDATA[New comment by musicmatze in "Ask HN: What is your Git commit/push flow?"]]></title><description><![CDATA[
<p>It really struck me to read how many people have a "I don't give a f..."-style workflow with git, especially in the hackernews audience which I always considered to be more on a technical side.<p>With "I don't give a f..."-style I mean basically the idea that just committing away with some "wip"-style messages and then squash them all together before merging, or squash-merging them. This _kills_ all traceability and all future options to find out what was happening and _why_ (the whole reason git exists)!<p>In constrast, my workflow:<p>- Branch off of master<p>- Develop things, commit cleanly (which sometimes means 10s of lines of commit message for less than 10 lines of change!)<p>- Before everything goes into review, I revisit each commit. If there has to be formatting done, I create fixups for the individual commits and `--autosquash` them into the PR commits. Sometimes I even do something like `git rebase master -x "cargo fmt && git commit --amend --no-edit -a"` to automatically format each patch in the PR before submitting (or if I just missed to do it).<p>- Submit PR<p>- For each review comment, I create a fixup commit. As soon as I addressed all of the comments, I push the commits to the PR<p>- Repeat the step above until everyone is satisfied<p>- `git rebase master -i --autosquash` or, if master changed, sometimes even `git rebase $(git merge-base master HEAD) -i --autosquash`<p>- Wait for the PR to be merged<p>When a PR is ready, it could be one patch only, but also easily be 50 patches. Depends on the scope and size of the project and the PR of course.<p>This is my workflow for contribtions, both private and professional ones, but also for my private repositories (whereas "review" here is my own but also simply CI).<p>When working on projects on github in my free time, I even stopped submitting patches (after discussion of course) if projects use squash-merge, because if I put much thought and careful crafting into my commits and they just squash them anyways, I feel that they don't actually care and so there's no point in contributing for me.<p>(Edit: Formatting)</p>
]]></description><pubDate>Fri, 18 Mar 2022 07:13:31 +0000</pubDate><link>https://news.ycombinator.com/item?id=30719400</link><dc:creator>musicmatze</dc:creator><comments>https://news.ycombinator.com/item?id=30719400</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=30719400</guid></item><item><title><![CDATA[New comment by musicmatze in "Ask HN: What is your Git commit/push flow?"]]></title><description><![CDATA[
<p>> - No merge commits. Only rebase onto latest main. Which means force-pushing PR branches and, thus, rewriting history (other devs working on same branch need to be aware that history has changed).<p>How does that even scale? I would imagine that in a team of 10, you would be rebasing 90% of your day and only 10% doing actual work?</p>
]]></description><pubDate>Fri, 18 Mar 2022 07:02:52 +0000</pubDate><link>https://news.ycombinator.com/item?id=30719353</link><dc:creator>musicmatze</dc:creator><comments>https://news.ycombinator.com/item?id=30719353</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=30719353</guid></item><item><title><![CDATA[New comment by musicmatze in "Ask HN: What is your Git commit/push flow?"]]></title><description><![CDATA[
<p>IMO this feature destroys the history the developer of the PR should have crafted carefully in the first place. With a squash merge you basically say "I don't give a f..." and remove all traceability from the PR, giving future developers potentially a big headache if they have to figure out why something was done.
That's why I think squash merge should _never_ be used and is one of the very big anti-features of github. Commit history has to be crafted like code, by the developer who wrote that code and in a way that other developers can see the steps that were taken to craft that code. Squashing PR commits just removes all of that, resulting in a SVN-style repo with "checkin 2020-01-01" like commits. Yes, there might be more in the commit message, but its value is lost because it is not for a small, possibly atomic change.</p>
]]></description><pubDate>Fri, 18 Mar 2022 06:59:38 +0000</pubDate><link>https://news.ycombinator.com/item?id=30719343</link><dc:creator>musicmatze</dc:creator><comments>https://news.ycombinator.com/item?id=30719343</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=30719343</guid></item><item><title><![CDATA[Himalaya]]></title><description><![CDATA[
<p>Article URL: <a href="https://github.com/soywod/himalaya">https://github.com/soywod/himalaya</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=30439569">https://news.ycombinator.com/item?id=30439569</a></p>
<p>Points: 2</p>
<p># Comments: 0</p>
]]></description><pubDate>Wed, 23 Feb 2022 10:07:09 +0000</pubDate><link>https://github.com/soywod/himalaya</link><dc:creator>musicmatze</dc:creator><comments>https://news.ycombinator.com/item?id=30439569</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=30439569</guid></item><item><title><![CDATA[New comment by musicmatze in "A Better Git Flow"]]></title><description><![CDATA[
<p>I feel that these "workflow suggestions" are all nice and dandy, but have nothing  to do with the real world. The real world looks like this: Create a new branch, make changes, commit, make a PR, commit some more (all without proper commit messages of course), make more fixup commits, and when it gets merged it gets all squashed into one big commit, rebased on master and ff-merged.<p>This is what the project I was just hired to work on looks like. Result is a linear history, with multi-thousand-line changes in a commit with message "Implement fixes" and a list of "fix bug", "fix more", "format", "change implementation" in the long-form commit message.<p>People out there do not even know how to work properly with git, I think it is way too much for them when we start telling them how to "workflow" with git. It is sad, but that's what I see.</p>
]]></description><pubDate>Thu, 20 Jan 2022 11:57:59 +0000</pubDate><link>https://news.ycombinator.com/item?id=30007783</link><dc:creator>musicmatze</dc:creator><comments>https://news.ycombinator.com/item?id=30007783</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=30007783</guid></item><item><title><![CDATA[New comment by musicmatze in "Poll: Why are people leaving their jobs?"]]></title><description><![CDATA[
<p>I changed jobs on 1.1.2022. The first trigger when I started looking for another job was solely because of compensation. When I learned what I _could_ make and my boss (two levels above me actually) just ignored my requests for half a year, I started looking. Soon I realized that I could also shift the focus of my work towards something I enjoy even more doing, so that became a reason as well. Now, after being two weeks on the new job, I noted that maybe the company culture is also a factor, but it did not drive my decision process at all.</p>
]]></description><pubDate>Sat, 15 Jan 2022 10:24:20 +0000</pubDate><link>https://news.ycombinator.com/item?id=29945295</link><dc:creator>musicmatze</dc:creator><comments>https://news.ycombinator.com/item?id=29945295</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=29945295</guid></item><item><title><![CDATA[New comment by musicmatze in "Using Git commit message templates to write better commit messages"]]></title><description><![CDATA[
<p>> I've always seen conventional commits as an anti-pattern as it seems to discourage developers from writing small, atomic commits.<p>Me too, actually I hate conventional commits with a pattern, because I have never seen a "conventional commit message" that actually does a good job. I've recently even written a short article on that subject (<a href="https://news.ycombinator.com/item?id=29924976" rel="nofollow">https://news.ycombinator.com/item?id=29924976</a>) because it is so annoying to me that people think writing a "conventional commit message" alone results in better quality (hint: it does not).</p>
]]></description><pubDate>Thu, 13 Jan 2022 18:57:12 +0000</pubDate><link>https://news.ycombinator.com/item?id=29925021</link><dc:creator>musicmatze</dc:creator><comments>https://news.ycombinator.com/item?id=29925021</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=29925021</guid></item></channel></rss>