<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: vnuge</title><link>https://news.ycombinator.com/user?id=vnuge</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Thu, 23 Apr 2026 15:35:24 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=vnuge" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by vnuge in "Nostr"]]></title><description><![CDATA[
<p>I guess it's worth also saying, there is no algorithm selection. Nip04 is dead for DMs. It doesn't need to be backward compatible. A user can't know which client another user is on, nor what their capabilities are, nostr is not smart in that way. Most, if not all, operations on nostr are completely stateless.<p>When a user decides to send a DM to another user, the client must choose the standard for encryption, and message wrapping. Then hope the other user is using a client that implements the same standard, in order to decrypt the message.<p>Again, remember, DMs don't have a session. Every message derives a new symmetric key. The only metadata that makes a "chat" session is the timestamp, and the public keys of the users.</p>
]]></description><pubDate>Sun, 21 Sep 2025 01:40:08 +0000</pubDate><link>https://news.ycombinator.com/item?id=45319280</link><dc:creator>vnuge</dc:creator><comments>https://news.ycombinator.com/item?id=45319280</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45319280</guid></item><item><title><![CDATA[New comment by vnuge in "Nostr"]]></title><description><![CDATA[
<p>Kind of. They are standards for encryption, not the direct message itself. You'd be speaking about nip17. Which i've been mis-speaking as nip19.<p><a href="https://github.com/nostr-protocol/nips/blob/master/17.md" rel="nofollow">https://github.com/nostr-protocol/nips/blob/master/17.md</a><p>Notice that nip44 IS the standard. again, nip04 is deprecated, and should be treated by clients as such.</p>
]]></description><pubDate>Sun, 21 Sep 2025 01:11:27 +0000</pubDate><link>https://news.ycombinator.com/item?id=45319137</link><dc:creator>vnuge</dc:creator><comments>https://news.ycombinator.com/item?id=45319137</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45319137</guid></item><item><title><![CDATA[New comment by vnuge in "Nostr"]]></title><description><![CDATA[
<p>We are obviously speaking from different understandings. I would say neither. I would need you to define your terms differently maybe.<p>In all cases the client application chooses the algorithm used when the user writes a DM. What do you mean by breadcrumb in the message. Message in what context? Message sent to the signer?<p>Edit: Maybe I should say the client developer? Is that the answer you're looking for? The developer _could_ give the user the option of choosing which to use, but clients generally are hard-coded to use one or the other.</p>
]]></description><pubDate>Sun, 21 Sep 2025 01:08:14 +0000</pubDate><link>https://news.ycombinator.com/item?id=45319120</link><dc:creator>vnuge</dc:creator><comments>https://news.ycombinator.com/item?id=45319120</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45319120</guid></item><item><title><![CDATA[New comment by vnuge in "Nostr"]]></title><description><![CDATA[
<p>Regardless of the signer interface the procedure call remains the same. The client application determines what method it wants to use, then the plaintext is passed to the signer (web extension, nip46 remote signing, android etc) with the nip44.encrypt or nip04.encrypt procedure calls.<p>The user is then requested to confirm the encryption operation. So a "downgrade" could happen in two ways. The client selects nip04 without the user's instructions, and the signer does not properly guard or notify the user that the message to be encrypted is using nip04. Still not really an attack I don't think, since no "sessions" exist in DMs there shouldn't be any way a remote user gets to cause a client to change algorithms.<p>To answer directly, the client app chooses, makes a remote procedure call with the desired algorithm, user confirms, message is encrypted, returned, signed (another rpc round-trip), then written to relays.<p>The signer application is ALWAYS authoritative, if it chooses to.</p>
]]></description><pubDate>Sat, 20 Sep 2025 21:38:24 +0000</pubDate><link>https://news.ycombinator.com/item?id=45317804</link><dc:creator>vnuge</dc:creator><comments>https://news.ycombinator.com/item?id=45317804</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45317804</guid></item><item><title><![CDATA[New comment by vnuge in "Nostr"]]></title><description><![CDATA[
<p>Hard to say how relevant that is. DMs are simply a collection of events sitting on a relay. It's not really a mutual tunnel, most clients implement nip44 via nip19 (giftwrap DMs) so your ni04 message wouldn't likely make it to them. It's not considered backward compatible such that you could send a user a DM, then cause their client to downgrade to the DM scheme that uses nip04.<p>It's also worth noting, the user _must_ be made aware of the encryption method that was used, their "signer" application, which is also responsible for encryption and decryption, would require their permission to do an operation in either direction. Users may often choose to grant a trusted client application the permission to decrypt all nip04 or nip44 messages alike, automatically, or generally manually with a popup. That's up the signer application how granular the permissions get.<p>To be clear this is a client implementation detail, im not a client developer, so I can't say in practice how many have handled the UX on this, but know that the signer, and the user had the final say on which algorithm was granted permission.<p>Clients and signers alike could choose to block obsolete encryption methods if they choose.</p>
]]></description><pubDate>Sat, 20 Sep 2025 04:05:28 +0000</pubDate><link>https://news.ycombinator.com/item?id=45310272</link><dc:creator>vnuge</dc:creator><comments>https://news.ycombinator.com/item?id=45310272</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45310272</guid></item><item><title><![CDATA[New comment by vnuge in "Nostr"]]></title><description><![CDATA[
<p>nip01 defines the use of secp256k1. Again, the same as bitcoin.</p>
]]></description><pubDate>Sat, 20 Sep 2025 00:00:56 +0000</pubDate><link>https://news.ycombinator.com/item?id=45308277</link><dc:creator>vnuge</dc:creator><comments>https://news.ycombinator.com/item?id=45308277</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45308277</guid></item><item><title><![CDATA[New comment by vnuge in "Nostr"]]></title><description><![CDATA[
<p>nostr cryptographic developer here (author of libnoscrypt C library)<p>Nip04 has been deprecated, and to be clear, in practice the nip04 payload is in a signed nip01 event wrapper.<p>nip44 replaced nip04, which has been reviewed/audited. Does use authenticated encryption in the message payload with forward secrecy, again in practice wrapped in a nip01 event, singed by the author, usually by the same cryptographic software used to encrypt the message.<p>nip44 is becoming more widely used for direct messages and other "private" metadata stored on relays. It's chacha20 + hkdf.</p>
]]></description><pubDate>Fri, 19 Sep 2025 21:25:26 +0000</pubDate><link>https://news.ycombinator.com/item?id=45306826</link><dc:creator>vnuge</dc:creator><comments>https://news.ycombinator.com/item?id=45306826</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45306826</guid></item><item><title><![CDATA[New comment by vnuge in "Nostr"]]></title><description><![CDATA[
<p>Since relays don't own user generated content, there is no need to "federate" client's generally rely on user-selected relay sets. The user chooses where they want to read/write events to/from.<p>That said, many of the "larger" relays do store events from other relays (federation if you prefer). Primal does, TheForrest does, nostr.land and so on. Nostr.land specifically has a purpose of aggregating notes from many other public relays, with spam filtering. It's a paid relay built for that purpose. Don't want that, use someone else.<p>Most users get to see 99% of notes from the current relay federation now, but it's also impossible to check those metrics.<p>Certain clients and signers store notes privately so if a relay ever decides to censor your notes you just publish to a different relay if they don't have your notes already.<p>Chances are if you use ANY of the popular paid relay providers, your going to get warnings on 3/4 write events that the other relays _already_ have the note published to the first. It's usually that quick...<p>Finally, relays "federate" by acting as clients themselves. Most relay software available already offers this as an option, may use it as a local cache for when on mobile and network/wifi is slow. Their local relay slowly pulls notes from other relays (or outbox) and caches those notes for when they load their client up. It's cache and the client dev didn't even have to write that functionality, it was transparent.<p>Finally, other's mentioned outbox, which has it's own set of issues as well, but it doesn't matter because a client developer can choose to give the user the option if they want. Going from federated, to peer-to-peer which was the intention.</p>
]]></description><pubDate>Fri, 19 Sep 2025 21:10:01 +0000</pubDate><link>https://news.ycombinator.com/item?id=45306645</link><dc:creator>vnuge</dc:creator><comments>https://news.ycombinator.com/item?id=45306645</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45306645</guid></item><item><title><![CDATA[New comment by vnuge in "Ask HN: What are you working on? (March 2025)"]]></title><description><![CDATA[
<p>All kinds of personal FOSS projects I have mostly yet to release.<p>[1] noscrypt - portable C cryptography library for nostr  
[2] vnlib - C# + C libraries for server applications, eventual high performance alternative to ASP.NET. It's really just a collection of libraries that are optimized for long running server applications.  
[3] vncache - vnlib cache extensions and cluster cache server over web-sockets  
[4] cmnext - self-hosted, vnlib based, json-file CMS + podcast 2.0 server  
[5] simple-bookmark - kind of deprecated, vnlib based, self hosted bookmark server<p>My software homepage (most up-to-date)  
<a href="https://www.vaughnnugent.com/resources/software/modules" rel="nofollow">https://www.vaughnnugent.com/resources/software/modules</a><p>I know most of yall will probably want GitHub links so here  
[1] <a href="https://github.com/VnUgE/noscrypt" rel="nofollow">https://github.com/VnUgE/noscrypt</a>  
[2] <a href="https://github.com/VnUgE/vnlib.core" rel="nofollow">https://github.com/VnUgE/vnlib.core</a>  
[3] <a href="https://github.com/VnUgE/VNLib.Data.Caching" rel="nofollow">https://github.com/VnUgE/VNLib.Data.Caching</a>  
[4] <a href="https://github.com/VnUgE/cmnext" rel="nofollow">https://github.com/VnUgE/cmnext</a> 
[5] <a href="https://github.com/VnUgE/simple-bookmark" rel="nofollow">https://github.com/VnUgE/simple-bookmark</a></p>
]]></description><pubDate>Sun, 30 Mar 2025 22:26:03 +0000</pubDate><link>https://news.ycombinator.com/item?id=43528330</link><dc:creator>vnuge</dc:creator><comments>https://news.ycombinator.com/item?id=43528330</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43528330</guid></item><item><title><![CDATA[New comment by vnuge in "I'm closing up shop on my Mastodon for the foreseeable future"]]></title><description><![CDATA[
<p>This is a huge step I took a few years ago as well. My mobile phone is still a smart phone but It can only do dumb phone things + email which I keep quiet and check on a schedule. No notifications really of any kind. No real social media and I never receive notifications from any of them I have to schedule time to check on them. It has become quite freeing although I definitely miss the "euphoria" of that world if it makes sense, which is a sign of addiction I didn't realize till I opted out.</p>
]]></description><pubDate>Thu, 02 May 2024 13:55:43 +0000</pubDate><link>https://news.ycombinator.com/item?id=40236371</link><dc:creator>vnuge</dc:creator><comments>https://news.ycombinator.com/item?id=40236371</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40236371</guid></item><item><title><![CDATA[New comment by vnuge in "Did we lose our way in making efficient software?"]]></title><description><![CDATA[
<p>To your last point, I like to think of modern professional software development as a trade, it's not much of a science anymore imo. For me it's outside looking in.</p>
]]></description><pubDate>Mon, 29 Apr 2024 00:32:42 +0000</pubDate><link>https://news.ycombinator.com/item?id=40193225</link><dc:creator>vnuge</dc:creator><comments>https://news.ycombinator.com/item?id=40193225</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40193225</guid></item><item><title><![CDATA[New comment by vnuge in "Did we lose our way in making efficient software?"]]></title><description><![CDATA[
<p>Why not? I can still mitm DOH now? I try to use DOH for everything I have. I did recently switch to self hosted recursive resolution.</p>
]]></description><pubDate>Mon, 29 Apr 2024 00:03:37 +0000</pubDate><link>https://news.ycombinator.com/item?id=40193108</link><dc:creator>vnuge</dc:creator><comments>https://news.ycombinator.com/item?id=40193108</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40193108</guid></item><item><title><![CDATA[New comment by vnuge in "Did we lose our way in making efficient software?"]]></title><description><![CDATA[
<p>> Practically everything is built around the assumption that software will be distributed as source code<p>Yup, and I vendor a good number dependencies and distribute source for this reason. That and because distributing libs via package managers kinda stinks too, it's a lot of work. Id rather my users just download a tarball from my website and build everything local.</p>
]]></description><pubDate>Sun, 28 Apr 2024 22:59:45 +0000</pubDate><link>https://news.ycombinator.com/item?id=40192765</link><dc:creator>vnuge</dc:creator><comments>https://news.ycombinator.com/item?id=40192765</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40192765</guid></item><item><title><![CDATA[New comment by vnuge in "Did we lose our way in making efficient software?"]]></title><description><![CDATA[
<p>I think I would prefer 2005 web again. I'd probably be able to see more of the internet. I use heavy DNS filtering, no javascript on untrusted sites, no cookies, no fonts, VPN and so on. With cloudflare blocking me I basically can't see the majority of websites.</p>
]]></description><pubDate>Sun, 28 Apr 2024 18:20:55 +0000</pubDate><link>https://news.ycombinator.com/item?id=40190582</link><dc:creator>vnuge</dc:creator><comments>https://news.ycombinator.com/item?id=40190582</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40190582</guid></item><item><title><![CDATA[New comment by vnuge in "Did we lose our way in making efficient software?"]]></title><description><![CDATA[
<p>I hope to keep seeing posts like these. I believe software "bloat" is a serious issue that should be handled, however if you look at SWE job listings it's not even remotely a concern for employers IMO. Your encouraged to understand complex and heavy frameworks and performance/optimization is not even a consideration.</p>
]]></description><pubDate>Sun, 28 Apr 2024 18:18:35 +0000</pubDate><link>https://news.ycombinator.com/item?id=40190561</link><dc:creator>vnuge</dc:creator><comments>https://news.ycombinator.com/item?id=40190561</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40190561</guid></item><item><title><![CDATA[New comment by vnuge in "Did we lose our way in making efficient software?"]]></title><description><![CDATA[
<p>>  It was the path of least resistance, so we took it.<p>Well said. I believe many of the "hard" issues in software were not "solved" but worked around. IMO containers are a perfect example. Polyglot application distribution was not solved, it was bypassed with container engines. There are tools to work AROUND this issue, I ship build scrips that install compilers and tools on user's machines if they want but that can't be tested well, so containers it is. Redbean and Cosmopolitan libc are the closest I have seen to "solving" this issue<p>It's also a matter of competition, if I want users to deploy my apps easily and reliably, container it is. Then boom there goes 100mb+ of disk space plus the container engine.</p>
]]></description><pubDate>Sun, 28 Apr 2024 18:11:11 +0000</pubDate><link>https://news.ycombinator.com/item?id=40190502</link><dc:creator>vnuge</dc:creator><comments>https://news.ycombinator.com/item?id=40190502</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40190502</guid></item><item><title><![CDATA[New comment by vnuge in "Ask HN: How many of you are consciously downsizing your devices/going retro?"]]></title><description><![CDATA[
<p>Yeah, I don't want it. I spend the past 7 years in automotive engineering (firmware/controls systems stuff) I much prefer older stuff. Every time I hop in a newer car and it jerks the wheel from me or slams the brakes because a smudge is on the camera or a reflection. My truck weighs nearly 8klbs and is over 20ft long, I carry enough insurance to assume myself and the vehicle I hit will all be dead, god forbid it ever happens. Again my experience in automotive I have learned that newer is not "built to last" in a business sense and parts manufacturers (and remans) obsolete parts for newer vehicles faster as well (or at least the supply chain dries up MUCH quicker), we have seen vehicles scrapped for easy reasons because the repair job cost more than the vehicle was worth IMO due to complexity or availability.<p>I could continue to blow hot air in your direction for hours. Needless to say I'm hoping to get out of automotive and keep my old vehicles on the road for as long as the government allows.</p>
]]></description><pubDate>Tue, 09 Jan 2024 22:50:15 +0000</pubDate><link>https://news.ycombinator.com/item?id=38933434</link><dc:creator>vnuge</dc:creator><comments>https://news.ycombinator.com/item?id=38933434</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=38933434</guid></item><item><title><![CDATA[New comment by vnuge in "Ask HN: How many of you are consciously downsizing your devices/going retro?"]]></title><description><![CDATA[
<p>I have my personal opinions with the pandemic, but I would have to agree as an opportunity to embrace more positive social behaviors. Surely didn't stick in my woods either. Plenty of things changed, but I would agree. The other part is that at this point were going on 4 years since and I would say my social habits in my age group just changed anyway, so IDK to be honest.</p>
]]></description><pubDate>Tue, 09 Jan 2024 21:18:09 +0000</pubDate><link>https://news.ycombinator.com/item?id=38932234</link><dc:creator>vnuge</dc:creator><comments>https://news.ycombinator.com/item?id=38932234</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=38932234</guid></item><item><title><![CDATA[New comment by vnuge in "Ask HN: How many of you are consciously downsizing your devices/going retro?"]]></title><description><![CDATA[
<p>What point would you like me to hit? Surveillance even if it's passive and I have nothing to hide is probably the biggest reason for most of my habits. Money and trust. The other reason is probably mental health, reducing stimulus helps me dramatically with anxiety. I typically walk around with headphones in silence. I can still hear everything, it's just quieter. If you do it long enough you'll know what I mean.<p>And ttt11199907 covered the consumerism part</p>
]]></description><pubDate>Tue, 09 Jan 2024 21:13:48 +0000</pubDate><link>https://news.ycombinator.com/item?id=38932183</link><dc:creator>vnuge</dc:creator><comments>https://news.ycombinator.com/item?id=38932183</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=38932183</guid></item><item><title><![CDATA[New comment by vnuge in "Ask HN: How many of you are consciously downsizing your devices/going retro?"]]></title><description><![CDATA[
<p>I recently have to reconsider this definition and set boundaries with my friends. Finding the ability to have a fun experience together that wasn't centered around paying for access to the experience, such as access to a place or event, or in drugs/alcohol. We were all kinda taught we have to "buy" something in order to have fun. Beer, food, vacation, concert tickets, so on. I'm not saying I don't do that any more but when I'm with my friends I'm there for a reason and I want it to be them, not the thing we paid for, it comes secondary.</p>
]]></description><pubDate>Mon, 08 Jan 2024 16:41:57 +0000</pubDate><link>https://news.ycombinator.com/item?id=38914583</link><dc:creator>vnuge</dc:creator><comments>https://news.ycombinator.com/item?id=38914583</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=38914583</guid></item></channel></rss>