<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: endiangroup</title><link>https://news.ycombinator.com/user?id=endiangroup</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Sat, 02 May 2026 10:33:03 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=endiangroup" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by endiangroup in "Radicle: The Sovereign Forge"]]></title><description><![CDATA[
<p>AD: Those are fair points, feel free to jump on our [zulip](<a href="https://radicle.zulipchat.com/#recent" rel="nofollow">https://radicle.zulipchat.com/#recent</a>) and start a discussion there!</p>
]]></description><pubDate>Sat, 24 Jan 2026 18:01:16 +0000</pubDate><link>https://news.ycombinator.com/item?id=46745871</link><dc:creator>endiangroup</dc:creator><comments>https://news.ycombinator.com/item?id=46745871</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46745871</guid></item><item><title><![CDATA[New comment by endiangroup in "Radicle: The Sovereign Forge"]]></title><description><![CDATA[
<p>AD: Thanks for engaging in a constructive way!<p>I agree trust is a hard problem when your coming from a problem<>solution framing. Trust is pretty abundant in our day-to-day lives if not a slightly backgrounded, for example; I trust my keyboard to type until the batteries run out or wear & tear gets the better of it, I trust my partner to hold care for me in mind when making decisions for me, I trust my dog to come back to me when I call for him... etc. In all those cases I've engaged on a epistemic and phenomenological journey mutually validating (at least) my experiences, my expectations and my actions. Because I remember my dog coming back to me in my previous experiences I trust and as such expect him to do so in the future. Because my keyboard continues to reflect my intent in writing this, I trust it is operating correctly. Because my partner has shown care for me a prior, I trust she will continue to do so.<p>I agree with your representations of centralised, TOFU and PKI.<p>> It sounds like Radicle is going with a mixture of (1) and (2), which is interesting and worth proving out. But my experience is that "someone's SSH key" is much less of a stable identity than we'd all like it to be, and schemes that involve delegating trust via unstable identities eventually run into architectural limitations that end users solve by just subverting the scheme itself (i.e. falling back to TOFU).<p>You're right 'someones ssh key' is unstable (not to detract from my my point but in the real world trust can be fickle and unstable too), however we can increase our certainty and are intending to. I'm interested in bring HSM's into Radicle, that swaps something you have on your computer to something you have on a physical device, but there are also further advancements like have been seen in the world of Keri where you can delegate identity to a log (KEL) which act as Autonomic Identifiers, these are self-sovereign, self-certifying sources of truth, we can have a set of keys and rules that govern the usage of them such that only 1 is valid at a time and if it is lost or compromised we can rotate safely and continue doing so.<p>> This is a good example both of how (1) social trust isn't easy to encode in cryptographic claims, and (2) how the transitivity of trust breaks down.<p>Agreed on 1.! I'd rather keep people good at what people do (continuously making and sharing trust judgements by engaging in the world) but enabling them to reflect that easily in their digital life. As for 2. I think it goes both ways depending on the context, it can breakdown but it can also compound amongst a plethora of other variations.<p>> In the real world, I trust my barber to cut my hair and my dentist to look at my teeth. But I only trust them for their apposite roles, and my trust in my barber doesn't necessarily mean anything to my friend who doesn't like my haircut.<p>I disagree, when talking conceptually of the role of barbers and trusting them at cutting my hair I agree, however when I go out into the real world and interact with my barber I trust them with more than just that! In fact I'd imagine many barbers would be offended at the idea they are ONLY trusted to cut hair in the barber shop. Try have that conversation with your barber next time you are there - if they aren't hurt by the idea of being reduced to a single role you might of found yourself a robot!<p>As for your trust in your barber meaning nothing to your friend who doesn't like your hair cut, I'd imagine your trust would of changed given the bad hair cut, but we could split this many ways, your friend might not like your hair cut but you like it - thats not much to do with the barber, your friend might not like your hair cut and you don't like your hair cut, not really a conducive situation for a recommendation, you might not like your hair cut and your friend might love it, now how loyal is your friend? Any attempt to enumerate out all of the variations is feeble, but hopefully the point comes through that theres a lot more going on than we can reduce.</p>
]]></description><pubDate>Sat, 24 Jan 2026 17:56:57 +0000</pubDate><link>https://news.ycombinator.com/item?id=46745834</link><dc:creator>endiangroup</dc:creator><comments>https://news.ycombinator.com/item?id=46745834</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46745834</guid></item><item><title><![CDATA[New comment by endiangroup in "Radicle: The Sovereign Forge"]]></title><description><![CDATA[
<p>AD: I have to clock off now, but I'll get back to this, I appreciate the well thought out response!</p>
]]></description><pubDate>Fri, 23 Jan 2026 15:51:31 +0000</pubDate><link>https://news.ycombinator.com/item?id=46733924</link><dc:creator>endiangroup</dc:creator><comments>https://news.ycombinator.com/item?id=46733924</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46733924</guid></item><item><title><![CDATA[New comment by endiangroup in "Radicle: The Sovereign Forge"]]></title><description><![CDATA[
<p>AD: Feel free to take a stab at an alternative, we're an open source project and we accept and welcome discussions but patches more so! What would read better in your opinion?</p>
]]></description><pubDate>Fri, 23 Jan 2026 15:46:40 +0000</pubDate><link>https://news.ycombinator.com/item?id=46733870</link><dc:creator>endiangroup</dc:creator><comments>https://news.ycombinator.com/item?id=46733870</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46733870</guid></item><item><title><![CDATA[New comment by endiangroup in "Radicle: The Sovereign Forge"]]></title><description><![CDATA[
<p>AD: I'll take a stab, but I am a new joiner!<p>Each repository is governed by an identity document which is signed by a set of delegates, each delegate currently corresponds 1:1 to someones ssh-key. We are working to adjust this mechanism so you can have group identities, but its a hard problem and we're not the only ones working on it (note theres light at the end of this tunnel at this point).<p>Seeing as you studied philosophy I'd argue what then do you mean by a solution? Aren't all solutions transmutations of prior 'things'? In the complex domain we have a word for it, exaptation - the radicle repurposing of something in a new context.<p>That aside, how do you know which people to trust when you meet them? And how do you signal trust in those you've met? In Radicle holding stable cryptographic identities doesn't resolve the zero-to-some trust problem but it does resolve the some-to-more trust problem, I can continue trusting once I recognise and know an identity.<p>So to answer "how is that trust distributed to parties in the network" - by stable cryptographic identities.<p>To answer "how do I know which stable repository identities to trust" - by socialising, like you know how to trust people you meet in the world because you were introduced to them by someone else you trust.</p>
]]></description><pubDate>Fri, 23 Jan 2026 15:31:19 +0000</pubDate><link>https://news.ycombinator.com/item?id=46733675</link><dc:creator>endiangroup</dc:creator><comments>https://news.ycombinator.com/item?id=46733675</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46733675</guid></item><item><title><![CDATA[New comment by endiangroup in "Radicle: The Sovereign Forge"]]></title><description><![CDATA[
<p>AD: We're looking ad introducing 'forgetting' as a feature, there may be a mutually beneficial way of signalling to permissive seeds when content is no longer relevant or stale or actively been flagged for removal.</p>
]]></description><pubDate>Fri, 23 Jan 2026 15:05:54 +0000</pubDate><link>https://news.ycombinator.com/item?id=46733345</link><dc:creator>endiangroup</dc:creator><comments>https://news.ycombinator.com/item?id=46733345</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46733345</guid></item><item><title><![CDATA[New comment by endiangroup in "Radicle: The Sovereign Forge"]]></title><description><![CDATA[
<p>AD: We're actively working on that issue right now, making the defaults safer. We're also discussing internally how to enable revocation of content at the network level. It won't be perfect, but neither is GitHub or the likes.</p>
]]></description><pubDate>Fri, 23 Jan 2026 15:04:17 +0000</pubDate><link>https://news.ycombinator.com/item?id=46733324</link><dc:creator>endiangroup</dc:creator><comments>https://news.ycombinator.com/item?id=46733324</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46733324</guid></item><item><title><![CDATA[New comment by endiangroup in "Radicle: The Sovereign Forge"]]></title><description><![CDATA[
<p>AD: Whats holding you back from using it as your primary?</p>
]]></description><pubDate>Fri, 23 Jan 2026 15:02:39 +0000</pubDate><link>https://news.ycombinator.com/item?id=46733297</link><dc:creator>endiangroup</dc:creator><comments>https://news.ycombinator.com/item?id=46733297</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46733297</guid></item><item><title><![CDATA[New comment by endiangroup in "Radicle: The Sovereign Forge"]]></title><description><![CDATA[
<p>AD: Thank you for your contribution! I also run a permissive seed node, vote by participation!</p>
]]></description><pubDate>Fri, 23 Jan 2026 15:02:12 +0000</pubDate><link>https://news.ycombinator.com/item?id=46733287</link><dc:creator>endiangroup</dc:creator><comments>https://news.ycombinator.com/item?id=46733287</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46733287</guid></item><item><title><![CDATA[New comment by endiangroup in "Radicle: The Sovereign Forge"]]></title><description><![CDATA[
<p>AD: The prefix is my initials :) - my only HN account is a shared one with a co-op organisation I work through. I use AD to distinguish who's commenting... however my co-workers have yet to use this account ha!</p>
]]></description><pubDate>Fri, 23 Jan 2026 14:54:31 +0000</pubDate><link>https://news.ycombinator.com/item?id=46733194</link><dc:creator>endiangroup</dc:creator><comments>https://news.ycombinator.com/item?id=46733194</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46733194</guid></item><item><title><![CDATA[New comment by endiangroup in "Radicle: The Sovereign Forge"]]></title><description><![CDATA[
<p>AD: Pull requests are `patches` in radicle, when you clone a repository you create a git namespace for yourself from which you can edit to your hearts desire, you can then open patches to other repos via this mechanism.</p>
]]></description><pubDate>Fri, 23 Jan 2026 14:48:27 +0000</pubDate><link>https://news.ycombinator.com/item?id=46733121</link><dc:creator>endiangroup</dc:creator><comments>https://news.ycombinator.com/item?id=46733121</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46733121</guid></item><item><title><![CDATA[New comment by endiangroup in "Radicle: The Sovereign Forge"]]></title><description><![CDATA[
<p>AD: You have control over what you seed, if you are a permissive node you accept all content on the network, but by default your local node will only seed what you instruct it too.</p>
]]></description><pubDate>Fri, 23 Jan 2026 14:46:17 +0000</pubDate><link>https://news.ycombinator.com/item?id=46733098</link><dc:creator>endiangroup</dc:creator><comments>https://news.ycombinator.com/item?id=46733098</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46733098</guid></item><item><title><![CDATA[New comment by endiangroup in "Radicle: The Sovereign Forge"]]></title><description><![CDATA[
<p>AD: Newly joined protocol dev here, feel free to ask questions!</p>
]]></description><pubDate>Fri, 23 Jan 2026 14:36:59 +0000</pubDate><link>https://news.ycombinator.com/item?id=46732989</link><dc:creator>endiangroup</dc:creator><comments>https://news.ycombinator.com/item?id=46732989</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46732989</guid></item><item><title><![CDATA[New comment by endiangroup in "The curious case of shell commands, or how "this bug is required by POSIX" (2021)"]]></title><description><![CDATA[
<p>AD: Huh! I just wrote a utility cmd [1] this weekend to deal with restricting ssh keys to executing only commands that match a rule set via `ForceCommand` in `sshd_config` or `Command=""` in `authorized_keys`. I'm curious to see how susceptible it is to the aforementioned issues, it does delegate to `<shell> -c '<cmd>'` under the hood [2], but there are checks to ensure only a single command option argument `--` is passed (to mitigate metacharacter expansions) [3].<p>Note this tool is only intended to be another layer in security.<p>[1] <a href="https://github.com/endiangroup/cmdjail">https://github.com/endiangroup/cmdjail</a>
[2] <a href="https://github.com/endiangroup/cmdjail/blob/main/main.go#L304">https://github.com/endiangroup/cmdjail/blob/main/main.go#L30...</a>
[3] <a href="https://github.com/endiangroup/cmdjail/blob/main/config.go#L218">https://github.com/endiangroup/cmdjail/blob/main/config.go#L...</a></p>
]]></description><pubDate>Tue, 10 Jun 2025 16:18:00 +0000</pubDate><link>https://news.ycombinator.com/item?id=44238581</link><dc:creator>endiangroup</dc:creator><comments>https://news.ycombinator.com/item?id=44238581</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44238581</guid></item><item><title><![CDATA[New comment by endiangroup in "Sigstore: Making sure your software is what it claims to be"]]></title><description><![CDATA[
<p>[AD] Oh wow! I've not found someone working on the same issue, I wrote a short paper on a method to identify remotely running software [1]. I'd love to get your opinion!<p>[1] - <a href="https://news.ycombinator.com/item?id=42795419">https://news.ycombinator.com/item?id=42795419</a></p>
]]></description><pubDate>Wed, 22 Jan 2025 17:46:49 +0000</pubDate><link>https://news.ycombinator.com/item?id=42795454</link><dc:creator>endiangroup</dc:creator><comments>https://news.ycombinator.com/item?id=42795454</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42795454</guid></item><item><title><![CDATA[New comment by endiangroup in "Sigstore: Making sure your software is what it claims to be"]]></title><description><![CDATA[
<p>[AD] I've wrote a short paper on this; Remote Software Identification -- Zero Trust Remote Software Verification [1] after reading a blog post by GUIX - and I've provide PoC code in Go [2]. It utilises a hash chain log server side, of inputs and outputs, every response from server embeds the related hash chain entry, client side can request and replay the log and verify the response hash adds up to the hash they calculated.<p>[1] - <a href="https://gist.github.com/adrianduke/ab40044ccee16804a9d0b2b777cdeca9" rel="nofollow">https://gist.github.com/adrianduke/ab40044ccee16804a9d0b2b77...</a>
[2] - <a href="https://gist.github.com/adrianduke/676ee1ffb88f4489b31aebf5e95d8488" rel="nofollow">https://gist.github.com/adrianduke/676ee1ffb88f4489b31aebf5e...</a></p>
]]></description><pubDate>Wed, 22 Jan 2025 17:44:00 +0000</pubDate><link>https://news.ycombinator.com/item?id=42795419</link><dc:creator>endiangroup</dc:creator><comments>https://news.ycombinator.com/item?id=42795419</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42795419</guid></item><item><title><![CDATA[New comment by endiangroup in "We must seek a widely-applicable science of systems"]]></title><description><![CDATA[
<p>To be clear I didn't say "don't model" - models can have value but all models are wrong because the map is not the territory. That's a first order problem, any representation of something is not the thing itself and bears no requirement to continuously and accurately represent it.<p>Another first order problem is you must chose from all the data that is perceivable what is pertinent to model because you can't perceive and model it all (at least not in complex systems) - that 'is perceivable' and 'choosing what is pertinent' act as filters that rarely are questioned. How do you know that 'what is pertinent' hasn't changed if your only way to reason about the system is through the model itself? How do you know you aren't perceiving something more relevant? Designing models to be sensitive to what we mean and not what we've stated is a very hard problem. The state space of reality is far bigger than we can sense and store.<p>A second order problem lies in human propensity for low energy states, when given a model or a metric we'll champion it as the truth or the way because it is easier than facing the complexity - but complex systems are crafty they adapt continuously. For example, your boss wants 100% test coverage and a dashboard has been created to report it to them... Fine, we'll test the getters and setters, we'll modify the dashboard code to ignore certain files, we'll write pointless tests that just exercise code but make no assertions... etc. They likely won't check provided the dashboard keeps reporting what they want to see.<p>Another second order problem is in complex adaptive systems the act of measurement changes the behaviour of the system itself. We know this intuitively, pull out a camera and start recording some strangers who were going about their business.<p>As for "what should we do instead" - complexity is all about context dependence... so it depends? If you are in a complex adaptive system, get involved! You can't know it all - so have fun with it.</p>
]]></description><pubDate>Wed, 26 Jun 2024 11:42:19 +0000</pubDate><link>https://news.ycombinator.com/item?id=40798822</link><dc:creator>endiangroup</dc:creator><comments>https://news.ycombinator.com/item?id=40798822</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40798822</guid></item><item><title><![CDATA[New comment by endiangroup in "We must seek a widely-applicable science of systems"]]></title><description><![CDATA[
<p>Having studied complexity from a computational perspective (via Santa Fe Institute and 1st wave Cybernetics) and a natural sciences one (via Dave Snowden and Alicia Juarrero) my preference is to stay away from modelling complex systems particularly complex adaptive ones. There is value in modelling, but heed the advice that all models are wrong. If you want to understand why, take a look at Steven Wolfram's Computational Irreducibility and Dave Snowden's Cynefin framework.<p>As for your interest in self-assembly and emergence I would highly recommend Alicia Juarrero's Dynamics in Action and Context Changes Everything - they are both tapping biological sciences to update and better inform our views of the world in deeply meaningful ways. The former changes our notion of cause-and-effect as the driving force in complex systems, stepping away from the Newtonian billiard ball frame. The latter expands on it talking about how constraints underpin the actions and dynamics in complex systems.<p>I'd agree that I'd love to see some convergence eventually in the complexity sciences world - but it is a new science relatively speaking - the divergence is a positive property in my opinion!<p>Keep up the energy, keep writing and keep researching! I enjoyed your post, it reminded me of the excitement I have for the field as a whole and the thirst I had for very similar questions! I wouldn't of guessed you were a 16yr old had you not stated it. Be prepared to have fundamental views changed and get comfortable with uncertainty!</p>
]]></description><pubDate>Tue, 25 Jun 2024 14:26:55 +0000</pubDate><link>https://news.ycombinator.com/item?id=40789078</link><dc:creator>endiangroup</dc:creator><comments>https://news.ycombinator.com/item?id=40789078</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40789078</guid></item><item><title><![CDATA[New comment by endiangroup in "Temperature-sensing stirbar with RFID"]]></title><description><![CDATA[
<p>AD: Yes, what a wonderful application of tech. I very much enjoy seeing these hardware <> software open source projects. Congratulations on developing a finished project.</p>
]]></description><pubDate>Sat, 13 Jan 2024 12:15:04 +0000</pubDate><link>https://news.ycombinator.com/item?id=38979286</link><dc:creator>endiangroup</dc:creator><comments>https://news.ycombinator.com/item?id=38979286</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=38979286</guid></item><item><title><![CDATA[New comment by endiangroup in "Optimizing engineering communication for better developer experience"]]></title><description><![CDATA[
<p>AD: I have to disagree with the assumption there are only 3 communication forms (work, async, sync) - it's not hard to fathom a counter example such as Pairing where-in synchronous communication is necessary for the pair's flow state to emerge but they are "working as communication". Likewise there is an assumption here that meetings don't create flow states or that they don't contribute to "work as communication". Not all engineering is writing code and there should be some amount of back-pressure for writing the right code not just writing any code.<p>However I do agree with a general mentality of do > say which I believe this article is trying to allude to.</p>
]]></description><pubDate>Sun, 10 Dec 2023 15:56:44 +0000</pubDate><link>https://news.ycombinator.com/item?id=38592386</link><dc:creator>endiangroup</dc:creator><comments>https://news.ycombinator.com/item?id=38592386</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=38592386</guid></item></channel></rss>