<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: michaelmure</title><link>https://news.ycombinator.com/user?id=michaelmure</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Tue, 11 Aug 2026 15:28:25 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=michaelmure" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by michaelmure in "How I use LLMs to learn complex topics"]]></title><description><![CDATA[
<p>I wish there was a LLM tool to explore a topic recursively, as a tree or a mindmap. You would start with some high level concept (say "cryptography") then dig further and further to more specific topics.<p>I think that would be a way more natural way to explore than being stuck on the classic linear output of a LLM.</p>
]]></description><pubDate>Sun, 09 Aug 2026 21:35:20 +0000</pubDate><link>https://news.ycombinator.com/item?id=49236230</link><dc:creator>michaelmure</dc:creator><comments>https://news.ycombinator.com/item?id=49236230</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49236230</guid></item><item><title><![CDATA[New comment by michaelmure in "Ask HN: What is a good format for a tool to report data to a LLM?"]]></title><description><![CDATA[
<p>That's an interesting take! Not quite easy to do with a CLI tool with dozens of commands though. Maybe it would be some kind of always on server the LLM can operate on ... but then that starts to really look like graphql.</p>
]]></description><pubDate>Wed, 05 Aug 2026 04:33:21 +0000</pubDate><link>https://news.ycombinator.com/item?id=49178591</link><dc:creator>michaelmure</dc:creator><comments>https://news.ycombinator.com/item?id=49178591</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49178591</guid></item><item><title><![CDATA[New comment by michaelmure in "Ask HN: What is a good format for a tool to report data to a LLM?"]]></title><description><![CDATA[
<p>I'm asking this because as I wrote a new CLI tool I picked json as the recommended output format for LLMs. I noticed though that they easily get lost and generally consume a lot of tokens to analyse the output. I'm sure it would work well when the LLM is trained for and already know what to expect, but that doesn't work for a new tool.<p>So, what's the natural language for them?</p>
]]></description><pubDate>Wed, 05 Aug 2026 00:47:13 +0000</pubDate><link>https://news.ycombinator.com/item?id=49177250</link><dc:creator>michaelmure</dc:creator><comments>https://news.ycombinator.com/item?id=49177250</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49177250</guid></item><item><title><![CDATA[Ask HN: What is a good format for a tool to report data to a LLM?]]></title><description><![CDATA[
<p>For CLI tools, humans like visually organized text possibly with colors or TUIs. Machines likes tabs-separated tabular data, or json and similar.<p>What's the equivalent for LLMs for tabular or structured data? What makes them grasp the data easily and efficiently?</p>
<hr>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=49176440">https://news.ycombinator.com/item?id=49176440</a></p>
<p>Points: 5</p>
<p># Comments: 6</p>
]]></description><pubDate>Tue, 04 Aug 2026 22:57:28 +0000</pubDate><link>https://news.ycombinator.com/item?id=49176440</link><dc:creator>michaelmure</dc:creator><comments>https://news.ycombinator.com/item?id=49176440</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49176440</guid></item><item><title><![CDATA[New comment by michaelmure in "Bijou64: A variable-length integer encoding"]]></title><description><![CDATA[
<p>One nice upside of having a single way to encode a value is fuzzing: when you work on an encoder/decoder, you can use a fuzzer and do round-trip comparison until you find crashes or inputs/outputs that don't match (and therefore issues in the code). But with LEB128 for example, the fuzzer quickly learn about those alternatives encoding and there is not much you can do from there.</p>
]]></description><pubDate>Fri, 29 May 2026 16:45:12 +0000</pubDate><link>https://news.ycombinator.com/item?id=48325724</link><dc:creator>michaelmure</dc:creator><comments>https://news.ycombinator.com/item?id=48325724</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48325724</guid></item><item><title><![CDATA[New comment by michaelmure in "Any Open Source projects in need of documentation writer?"]]></title><description><![CDATA[
<p><a href="https://github.com/git-bug/git-bug" rel="nofollow">https://github.com/git-bug/git-bug</a> if that's your thing.</p>
]]></description><pubDate>Thu, 09 Apr 2026 23:16:39 +0000</pubDate><link>https://news.ycombinator.com/item?id=47711540</link><dc:creator>michaelmure</dc:creator><comments>https://news.ycombinator.com/item?id=47711540</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47711540</guid></item><item><title><![CDATA[Show HN: Git-ownership – A tool to visualize code ownership over time from Git]]></title><description><![CDATA[
<p>Article URL: <a href="https://github.com/MichaelMure/git-ownership">https://github.com/MichaelMure/git-ownership</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=47425274">https://news.ycombinator.com/item?id=47425274</a></p>
<p>Points: 4</p>
<p># Comments: 0</p>
]]></description><pubDate>Wed, 18 Mar 2026 13:01:58 +0000</pubDate><link>https://github.com/MichaelMure/git-ownership</link><dc:creator>michaelmure</dc:creator><comments>https://news.ycombinator.com/item?id=47425274</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47425274</guid></item><item><title><![CDATA[New comment by michaelmure in "Rust is just a tool"]]></title><description><![CDATA[
<p>Any recommandation for a quality non-toy rust codebase to study?</p>
]]></description><pubDate>Sat, 28 Feb 2026 08:47:45 +0000</pubDate><link>https://news.ycombinator.com/item?id=47192435</link><dc:creator>michaelmure</dc:creator><comments>https://news.ycombinator.com/item?id=47192435</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47192435</guid></item><item><title><![CDATA[New comment by michaelmure in "Show HN: Git-native-issue – issues stored as commits in refs/issues/"]]></title><description><![CDATA[
<p>> On CRDTs: I assume tools like git-bug adopted CRDTs primarily to avoid merge conflicts, but "last-writer-wins" via timestamps is risky<p>FYI, git-bug doesn't use timestamps to figure out the ordering. It first uses the git DAG topology (it defines ancestors), then Lamport clocks (increment for any changes on any bugs), then order by hash if there is still an ambiguity. Note that the git DAG could also be signed, which would also provide some form of reliance against abuse.<p>I had an interesting discussion recently about how to handle conflict for bug trackers. In my opinion it's a great use-cases for CRDTs (as it avoids data corruption), as long as all user intents are visibly captured in a timeline and easily fixable. It turned out though that there is an interesting middle ground: as the CRDT captures *when* a concurrent editing happen, it's 100% doable to highlight in the UI which event are concurrent and might need attention.</p>
]]></description><pubDate>Tue, 24 Feb 2026 20:07:07 +0000</pubDate><link>https://news.ycombinator.com/item?id=47142157</link><dc:creator>michaelmure</dc:creator><comments>https://news.ycombinator.com/item?id=47142157</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47142157</guid></item><item><title><![CDATA[New comment by michaelmure in "Fossil versus Git"]]></title><description><![CDATA[
<p>Assuming that by "table" you mean another "document type" ... pretty easily. There is a reusable CRDT like datastructure that you can use to define your own thing. You do that by defining the operations that can happen on it and what they do.
You don't have to handle the interaction with git or the conflict resolution.</p>
]]></description><pubDate>Tue, 13 Jan 2026 00:41:15 +0000</pubDate><link>https://news.ycombinator.com/item?id=46596015</link><dc:creator>michaelmure</dc:creator><comments>https://news.ycombinator.com/item?id=46596015</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46596015</guid></item><item><title><![CDATA[New comment by michaelmure in "Fossil versus Git"]]></title><description><![CDATA[
<p>> Stuff like git-bug exists, but then you still need participation from other people.<p>The plan is to 1) finish the webUI and 2) accept external auth (e.g. github OAuth). Once done, anyone can trivially host publicly their own forge and accept public contribution without any buy-in effort. Then, if user wants to go native they just install git-bug locally.</p>
]]></description><pubDate>Mon, 12 Jan 2026 12:39:27 +0000</pubDate><link>https://news.ycombinator.com/item?id=46587628</link><dc:creator>michaelmure</dc:creator><comments>https://news.ycombinator.com/item?id=46587628</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46587628</guid></item><item><title><![CDATA[New comment by michaelmure in "Ask HN: Who wants to be hired? (August 2025)"]]></title><description><![CDATA[
<p>Location: France<p>Remote: Yes (have been 100% remote for 6+ years)<p>Willing to relocate: No<p>Technologies: Go, networking, protocols, identity, cryptography, local-first, CRDTs, devops, AWS, kubernetes, IaC, free software, linux<p>Résumé/CV: see my Github profile for notable and open source work: <a href="https://github.com/MichaelMure">https://github.com/MichaelMure</a><p>Email: on my Github profile<p>I'm a builder, a backend engineer with strong go proficiency, passionate about local-first and how we can build better software for a better world. Happy to talk about opportunities.</p>
]]></description><pubDate>Fri, 01 Aug 2025 20:04:39 +0000</pubDate><link>https://news.ycombinator.com/item?id=44761794</link><dc:creator>michaelmure</dc:creator><comments>https://news.ycombinator.com/item?id=44761794</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44761794</guid></item><item><title><![CDATA[Peter Van Hardenburg – Local First: the secret master plan]]></title><description><![CDATA[
<p>Article URL: <a href="https://www.youtube.com/watch?v=9s8OA08ggbM">https://www.youtube.com/watch?v=9s8OA08ggbM</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=44306634">https://news.ycombinator.com/item?id=44306634</a></p>
<p>Points: 2</p>
<p># Comments: 1</p>
]]></description><pubDate>Wed, 18 Jun 2025 04:21:54 +0000</pubDate><link>https://www.youtube.com/watch?v=9s8OA08ggbM</link><dc:creator>michaelmure</dc:creator><comments>https://news.ycombinator.com/item?id=44306634</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44306634</guid></item><item><title><![CDATA[New comment by michaelmure in "Git Bug: Distributed, Offline-First Bug Tracker Embedded in Git, with Bridges"]]></title><description><![CDATA[
<p>With some motivation you could port git-bug to another VCS without too much problem. You would need to implement those interfaces [1]. The one you care about especially is RepoData, which mainly imply you can store a DAG, have references and push/pull. I believe other VCS (say mercurial) have similar concepts.<p>Or you could just as well plug a generic database there.<p>[1]: <a href="https://github.com/git-bug/git-bug/blob/master/repository/repo.go">https://github.com/git-bug/git-bug/blob/master/repository/re...</a></p>
]]></description><pubDate>Thu, 15 May 2025 08:57:25 +0000</pubDate><link>https://news.ycombinator.com/item?id=43993123</link><dc:creator>michaelmure</dc:creator><comments>https://news.ycombinator.com/item?id=43993123</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43993123</guid></item><item><title><![CDATA[New comment by michaelmure in "Git Bug: Distributed, Offline-First Bug Tracker Embedded in Git, with Bridges"]]></title><description><![CDATA[
<p>Right now, yes, but the idea is to augment the webUI with external auth (e.g. Github OAuth and others) to make it a public portal where anyone can create issues and so on. In that case, the webUI would have access to the git repo, enforce any rules and prevent abuses.<p>With a single binary deployment, you'd just need a bit of config and a DNS, and you could host a forge-ish for your project.<p>We are not there yet but it's really not far.</p>
]]></description><pubDate>Thu, 15 May 2025 06:38:33 +0000</pubDate><link>https://news.ycombinator.com/item?id=43992423</link><dc:creator>michaelmure</dc:creator><comments>https://news.ycombinator.com/item?id=43992423</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43992423</guid></item><item><title><![CDATA[New comment by michaelmure in "Git Bug: Distributed, Offline-First Bug Tracker Embedded in Git, with Bridges"]]></title><description><![CDATA[
<p>So for example, git-bug already has a PR to add support for a project board: <a href="https://github.com/git-bug/git-bug/pull/843">https://github.com/git-bug/git-bug/pull/843</a><p>The same way, one could add support for code review (aka PRs), todo list, custom entities that your workflow need (say, tracking documentation or custom requirement) ... It can also be entirely outside of the development process.</p>
]]></description><pubDate>Thu, 15 May 2025 01:39:37 +0000</pubDate><link>https://news.ycombinator.com/item?id=43991008</link><dc:creator>michaelmure</dc:creator><comments>https://news.ycombinator.com/item?id=43991008</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43991008</guid></item><item><title><![CDATA[New comment by michaelmure in "Git Bug: Distributed, Offline-First Bug Tracker Embedded in Git, with Bridges"]]></title><description><![CDATA[
<p>In theory it could happen but it's unlikely in practice, for multiple reasons:<p>- git-bug use a form of logical clock (not wall clock) that order an action in relation to other actions in the repo. Clock drifting doesn't matter.<p>- pushing to git usually require some access to the repo, and therefore abuse can be dealt with socially (aka you get kicked out)<p>What can happen for example is someone write a comment, shut down the computer and only push the next day, but in that case the comment showing up before yours is the correct merging.</p>
]]></description><pubDate>Wed, 14 May 2025 23:55:21 +0000</pubDate><link>https://news.ycombinator.com/item?id=43990437</link><dc:creator>michaelmure</dc:creator><comments>https://news.ycombinator.com/item?id=43990437</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43990437</guid></item><item><title><![CDATA[New comment by michaelmure in "Git Bug: Distributed, Offline-First Bug Tracker Embedded in Git, with Bridges"]]></title><description><![CDATA[
<p>Yes, this really meant to be some sort of framework for storing entities in git, handle the conflicts, and let you buld easily your own tool (or add more features to git-bug).<p>See also <a href="https://github.com/git-bug/git-bug/blob/master/doc/design/data-model.md">https://github.com/git-bug/git-bug/blob/master/doc/design/da...</a> and 
<a href="https://github.com/git-bug/git-bug/blob/master/entity/dag/example_test.go">https://github.com/git-bug/git-bug/blob/master/entity/dag/ex...</a><p>I'd love to see this used in the wild for other use cases.</p>
]]></description><pubDate>Wed, 14 May 2025 23:48:10 +0000</pubDate><link>https://news.ycombinator.com/item?id=43990385</link><dc:creator>michaelmure</dc:creator><comments>https://news.ycombinator.com/item?id=43990385</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43990385</guid></item><item><title><![CDATA[New comment by michaelmure in "Fuzzing 101"]]></title><description><![CDATA[
<p>Golang does that natively ;-)</p>
]]></description><pubDate>Sun, 06 Oct 2024 10:03:50 +0000</pubDate><link>https://news.ycombinator.com/item?id=41756069</link><dc:creator>michaelmure</dc:creator><comments>https://news.ycombinator.com/item?id=41756069</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41756069</guid></item><item><title><![CDATA[New comment by michaelmure in "Fuzzing 101"]]></title><description><![CDATA[
<p>The interesting thing to me is the stark difference between this and golang's approach.<p>With golang, you can run fuzzing as simply as you run tests, which means that it's trivial to target specific parts of your application or library. It obsoletes so much of those techniques.<p>I'm quite curious of techniques to guide more the fuzzing. It seems like the best you can do is provide a seed corpus and hope for the best.</p>
]]></description><pubDate>Sun, 06 Oct 2024 08:49:41 +0000</pubDate><link>https://news.ycombinator.com/item?id=41755775</link><dc:creator>michaelmure</dc:creator><comments>https://news.ycombinator.com/item?id=41755775</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41755775</guid></item></channel></rss>