<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: codys</title><link>https://news.ycombinator.com/user?id=codys</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Sat, 30 May 2026 13:13:05 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=codys" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by codys in "Build Adafruit projects right from Firefox"]]></title><description><![CDATA[
<p>I hope this signals a departure from us being stuck without web usb in firefox too. It's a shame that I've been stuck using chrome for it.<p>And maybe we'll get web bluetooth too.</p>
]]></description><pubDate>Mon, 25 May 2026 01:31:53 +0000</pubDate><link>https://news.ycombinator.com/item?id=48262667</link><dc:creator>codys</dc:creator><comments>https://news.ycombinator.com/item?id=48262667</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48262667</guid></item><item><title><![CDATA[New comment by codys in "Project Gutenberg – keeps getting better"]]></title><description><![CDATA[
<p>I think their site is just slow, potentially because more people than they are used to are trying to view it.<p>I was unable to load it initially (got an error from firefox) and had to re-attempt. Still slow if one forces a reload (shift-r, etc, to not use local cache).</p>
]]></description><pubDate>Fri, 15 May 2026 20:10:13 +0000</pubDate><link>https://news.ycombinator.com/item?id=48153219</link><dc:creator>codys</dc:creator><comments>https://news.ycombinator.com/item?id=48153219</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48153219</guid></item><item><title><![CDATA[New comment by codys in "BYOMesh – New LoRa mesh radio offers 100x the bandwidth"]]></title><description><![CDATA[
<p>The idea with either requiring very wide band or frequency hopping on the 900Mhz band is to make it so that usages of the 900Mhz band 1. are tolerant to some loss (ie: by temporary collision) and 2. don't collide continuously (by using wide band or frequency hopping).<p>It's a mechanism to try to make the 900Mhz band more useful to uncoordinated users.</p>
]]></description><pubDate>Mon, 04 May 2026 03:08:41 +0000</pubDate><link>https://news.ycombinator.com/item?id=48004199</link><dc:creator>codys</dc:creator><comments>https://news.ycombinator.com/item?id=48004199</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48004199</guid></item><item><title><![CDATA[New comment by codys in "Filing the corners off my MacBooks"]]></title><description><![CDATA[
<p>The Apple way for hardware is more to design the thing so it breaks under normal use very quickly, and then refuse to replace it under warranty.</p>
]]></description><pubDate>Sat, 11 Apr 2026 17:29:09 +0000</pubDate><link>https://news.ycombinator.com/item?id=47732361</link><dc:creator>codys</dc:creator><comments>https://news.ycombinator.com/item?id=47732361</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47732361</guid></item><item><title><![CDATA[New comment by codys in "I found a vulnerability. they found a lawyer"]]></title><description><![CDATA[
<p>It's not a leading colon: It is a colon separator between the username and password, and the command used has the username as an empty string.</p>
]]></description><pubDate>Sat, 21 Feb 2026 03:54:35 +0000</pubDate><link>https://news.ycombinator.com/item?id=47097323</link><dc:creator>codys</dc:creator><comments>https://news.ycombinator.com/item?id=47097323</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47097323</guid></item><item><title><![CDATA[New comment by codys in "South Korean ex president Yoon Suk Yeol jailed for life for leading insurrection"]]></title><description><![CDATA[
<p>> Also, the "obvious reason" that American politics sent zero ex-presidents to prison is that Biden chickened out. So, there's that.<p>Don't forget Ford deciding to protect his political allies (by pardoning Nixon). And George HW Bush doing similar (preventing Iran-Contra scandal investigation by pardoning participants who could have fingered Bush or Reagan)</p>
]]></description><pubDate>Thu, 19 Feb 2026 20:46:14 +0000</pubDate><link>https://news.ycombinator.com/item?id=47079039</link><dc:creator>codys</dc:creator><comments>https://news.ycombinator.com/item?id=47079039</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47079039</guid></item><item><title><![CDATA[New comment by codys in "Google Public CA is down"]]></title><description><![CDATA[
<p>I'm not sure I follow. This outage seems like it occurred for less than 1 day. The post you link to is about having certificates expire after 45 days. What's the connection you see?</p>
]]></description><pubDate>Wed, 18 Feb 2026 05:59:54 +0000</pubDate><link>https://news.ycombinator.com/item?id=47057704</link><dc:creator>codys</dc:creator><comments>https://news.ycombinator.com/item?id=47057704</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47057704</guid></item><item><title><![CDATA[New comment by codys in "Testing Postgres race conditions with synchronization barriers"]]></title><description><![CDATA[
<p>Seems you could use a single SQL statement for that particular formulation. Something like this, using CTEs is possible, but alternately one can reformat them as subqueries. (note: not sure how the select of orders is intended to be used, so the  below doesn't use it, but it does obtain it as an expression to be used)<p><pre><code>    WITH
     o AS (
      SELECT FROM orders
      WHERE orders.id = $1
     ),
     os AS (
      SELECT FROM orderStatuses
      WHERE orderStatuses.orderId = $1
      ORDER BY DESC orderStatuses.createdAt
      LIMIT 1
     )
     INSERT INTO orderStatuses ...
     WHERE EXISTS (SELECT 1 FROM os WHERE os.code != $2)
     RETURNING ...something including the status differ check...
</code></pre>
Does something like this work with postgres's default behavior?</p>
]]></description><pubDate>Mon, 16 Feb 2026 22:01:05 +0000</pubDate><link>https://news.ycombinator.com/item?id=47040917</link><dc:creator>codys</dc:creator><comments>https://news.ycombinator.com/item?id=47040917</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47040917</guid></item><item><title><![CDATA[New comment by codys in "WolfSSL sucks too, so now what?"]]></title><description><![CDATA[
<p>Garbage collection is not required for memory safety.<p>Languages that have garbage collection are not all memory safe.</p>
]]></description><pubDate>Sat, 14 Feb 2026 22:41:01 +0000</pubDate><link>https://news.ycombinator.com/item?id=47019143</link><dc:creator>codys</dc:creator><comments>https://news.ycombinator.com/item?id=47019143</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47019143</guid></item><item><title><![CDATA[New comment by codys in "Officials Claim Drone Incursion Led to Shutdown of El Paso Airport"]]></title><description><![CDATA[
<p>It seems like the messenger might endorse the message though, and is attempting to be coy.<p>Folks should be careful of people using the "messenger" title to attempt to obtain the appearance of impartiality.</p>
]]></description><pubDate>Wed, 11 Feb 2026 16:05:00 +0000</pubDate><link>https://news.ycombinator.com/item?id=46976630</link><dc:creator>codys</dc:creator><comments>https://news.ycombinator.com/item?id=46976630</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46976630</guid></item><item><title><![CDATA[New comment by codys in "6-Day and IP Address Certificates Are Generally Available"]]></title><description><![CDATA[
<p>> So no one that actually has to renew these certificates.<p>I believe google, who maintain chrome and are on the CAB, are an entity well known for hosting various websites (iirc, it's their primary source of income), and those websites do use https</p>
]]></description><pubDate>Sat, 17 Jan 2026 00:15:25 +0000</pubDate><link>https://news.ycombinator.com/item?id=46653961</link><dc:creator>codys</dc:creator><comments>https://news.ycombinator.com/item?id=46653961</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46653961</guid></item><item><title><![CDATA[New comment by codys in "OpenBSD-current now runs as guest under Apple Hypervisor"]]></title><description><![CDATA[
<p>OpenBSD does start X. And subsequently OpenBSD apparently hangs (or did so previously) when OpenBSD was running under Qemu.<p>The subject in the parent comment changed to OpenBSD when they mentioned it, and it appears you may have overlooked the subject change.</p>
]]></description><pubDate>Sat, 17 Jan 2026 00:05:40 +0000</pubDate><link>https://news.ycombinator.com/item?id=46653865</link><dc:creator>codys</dc:creator><comments>https://news.ycombinator.com/item?id=46653865</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46653865</guid></item><item><title><![CDATA[New comment by codys in "Anthropic Explicitly Blocking OpenCode"]]></title><description><![CDATA[
<p>Possibly a better comparison (though a bit dated now) would be AT&T (or whatever telephone monopoly one had/has in their locality) charging an additional fee to use a telephone that isn't sold/rented to them by AT&T.</p>
]]></description><pubDate>Thu, 15 Jan 2026 01:23:35 +0000</pubDate><link>https://news.ycombinator.com/item?id=46626666</link><dc:creator>codys</dc:creator><comments>https://news.ycombinator.com/item?id=46626666</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46626666</guid></item><item><title><![CDATA[New comment by codys in "Show HN: BusterMQ, Thread-per-core NATS server in Zig with io_uring"]]></title><description><![CDATA[
<p>> I am assuming the message durability guarantees lean towards YOLO rather than ACID?<p>"Core" nats doesn't have durability. Nats jetstream is the api built on top of nats that in the main nats-server impl provides durability. Jepsen tested Nats Jetstream.<p>Also from your link:<p>> Regular NATS streams offer only best-effort delivery, but a subsystem, called JetStream, guarantees messages are delivered at least once.<p>The project linked here does not implement the nats jetstream api, just normal nats.<p>So yes, it seems its same (documented, understood) "yolo" as normal nats.</p>
]]></description><pubDate>Thu, 01 Jan 2026 15:25:33 +0000</pubDate><link>https://news.ycombinator.com/item?id=46454806</link><dc:creator>codys</dc:creator><comments>https://news.ycombinator.com/item?id=46454806</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46454806</guid></item><item><title><![CDATA[New comment by codys in "Static Allocation with Zig"]]></title><description><![CDATA[
<p>It seems it's just a part of a doc on style in tigerbeatle, in a similar way to the various "Google Style Guide" for code. These rarely have something new, but document what a particular project or organization does with respect to code style.</p>
]]></description><pubDate>Mon, 29 Dec 2025 16:55:21 +0000</pubDate><link>https://news.ycombinator.com/item?id=46422558</link><dc:creator>codys</dc:creator><comments>https://news.ycombinator.com/item?id=46422558</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46422558</guid></item><item><title><![CDATA[New comment by codys in "Memory Safety"]]></title><description><![CDATA[
<p>You've linked to a bug that was unintentional and was fixed.<p>Go allowing torn writes for their slices and interfaces (their fat pointer types) is intentional behavior in the go implementation and has no sign of being fixed.<p>Some one getting unsafe code unintentionally wrong is not an indication that any language lacks memory safety.</p>
]]></description><pubDate>Fri, 26 Dec 2025 15:44:32 +0000</pubDate><link>https://news.ycombinator.com/item?id=46393170</link><dc:creator>codys</dc:creator><comments>https://news.ycombinator.com/item?id=46393170</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46393170</guid></item><item><title><![CDATA[New comment by codys in "Memory Safety"]]></title><description><![CDATA[
<p>Here's an example where a bug could exist in go due torn writes in a real program.<p>I found this by searching for places where folks reload there config at runtime, as they are generally a place where people forget to synchronize correctly in go.<p>1. A viper.OnConfigChange callback is set up to call readConfig(): <a href="https://github.com/OdyseeTeam/chainquery/blob/48c092515dea5cd1856e7c84ce8611ee9b66e210/config/config.go#L89" rel="nofollow">https://github.com/OdyseeTeam/chainquery/blob/48c092515dea5c...</a><p>2. Inside readConfig(), we assign to a slice `twillio.RecipientList` (<a href="https://github.com/OdyseeTeam/chainquery/blob/48c092515dea5cd1856e7c84ce8611ee9b66e210/config/config.go#L137" rel="nofollow">https://github.com/OdyseeTeam/chainquery/blob/48c092515dea5c...</a><p>3. Note that in Go, slices are objects composed of 3 words (<a href="https://go.dev/blog/slices-intro#slice-internals" rel="nofollow">https://go.dev/blog/slices-intro#slice-internals</a>) And there isn't syncronization built-in over updating them. As a result, if something reads the slice while it's being updated we will mix together a data pointer & length & capacity that correspond to different real slice objects. If the length we read is from a slice that has real length 10, but the data pointer we read is from a slice with real length 1, when iterating we'll read memory out of bounds.<p>4. in the context of this particular program, we may send SMSs to recipients who were never in the configured list if a config change occurs at the right time. Or a segfault. Entirely unclear if reading the memory will result in reasonable behavior.<p>Note: I'm not familiar with this repo otherwise. This is from a quick search.</p>
]]></description><pubDate>Fri, 26 Dec 2025 06:51:07 +0000</pubDate><link>https://news.ycombinator.com/item?id=46389799</link><dc:creator>codys</dc:creator><comments>https://news.ycombinator.com/item?id=46389799</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46389799</guid></item><item><title><![CDATA[New comment by codys in "Memory Safety"]]></title><description><![CDATA[
<p>In that case, I can just refer back to my original comment: <a href="https://news.ycombinator.com/item?id=46388948">https://news.ycombinator.com/item?id=46388948</a><p>And then note that memorysafety.org says this (in case folks haven't read it):<p>> Memory safety is a property of some programming languages that prevents programmers from introducing certain types of bugs related to how memory is used.<p>They then provide an examine of out-of-bounds read/write. Which is the exact example I noted in my linked comment.<p>(Note: memorysafety.org does not provide a concrete definition of memory safety, but we get enough from what it says in this case)<p>The site does not require the known existence of an exploit in popular software (and does not require that _any_ exploit be possible, a bug is sufficient), merely that the language fails to block "certain types of bugs".</p>
]]></description><pubDate>Fri, 26 Dec 2025 05:20:56 +0000</pubDate><link>https://news.ycombinator.com/item?id=46389421</link><dc:creator>codys</dc:creator><comments>https://news.ycombinator.com/item?id=46389421</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46389421</guid></item><item><title><![CDATA[New comment by codys in "Memory Safety"]]></title><description><![CDATA[
<p>"at the moment" implies that Go would need to change for that statement to change, but instead we're waiting on a programer to make a mistake (A mistake that memory safe languages prevent).<p>Which does get us to why defining the properties of a language based on what people have written in that language _so far_ is weird. It's not really a property of the language that no one has screwed up yet. It's perhaps an indication that it might be less likely that folks will screw up, which is where the "probabilistic" comes in. It assumes that given the lack of a counter example (a screw up) so far, and given the time that Go has existed, it _appears_ that it's low-likelyhood to screw up go programs in that particular way.<p>Agreed that the word is non-targeted in one way, but it's better than the alternate (implying go would have to change to become memory unsafe), if one wants to talk about how-memory-safe-is-go.</p>
]]></description><pubDate>Fri, 26 Dec 2025 05:12:10 +0000</pubDate><link>https://news.ycombinator.com/item?id=46389382</link><dc:creator>codys</dc:creator><comments>https://news.ycombinator.com/item?id=46389382</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46389382</guid></item><item><title><![CDATA[New comment by codys in "Memory Safety"]]></title><description><![CDATA[
<p>Interesting interpretation of that phrase. I think saying "probabilistically memory safe" would be more accurate (and more clearly communicate that idea), because we're betting on when a known case of memory unsafety in the language will show up in some piece of software.</p>
]]></description><pubDate>Fri, 26 Dec 2025 04:09:54 +0000</pubDate><link>https://news.ycombinator.com/item?id=46389157</link><dc:creator>codys</dc:creator><comments>https://news.ycombinator.com/item?id=46389157</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46389157</guid></item></channel></rss>