<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: CodeBrad</title><link>https://news.ycombinator.com/user?id=CodeBrad</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Sat, 20 Jun 2026 03:03:10 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=CodeBrad" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by CodeBrad in "Cancellations in async Rust"]]></title><description><![CDATA[
<p>This was one of my favorite talks from RustConf this year! The distinction between cancel safety and cancel correctness is really helpful.<p>Glad to see it converted to a blog post. Talks are great, but blogs are much easier to share and reference.</p>
]]></description><pubDate>Fri, 03 Oct 2025 18:15:52 +0000</pubDate><link>https://news.ycombinator.com/item?id=45465991</link><dc:creator>CodeBrad</dc:creator><comments>https://news.ycombinator.com/item?id=45465991</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45465991</guid></item><item><title><![CDATA[New comment by CodeBrad in "Go’s race detector has a mutex blind spot"]]></title><description><![CDATA[
<p>> which are optimized to be readable to humans and writable by AI<p>How might a language optimized for AI look different than a language optimized for humans?</p>
]]></description><pubDate>Thu, 31 Jul 2025 15:35:38 +0000</pubDate><link>https://news.ycombinator.com/item?id=44746738</link><dc:creator>CodeBrad</dc:creator><comments>https://news.ycombinator.com/item?id=44746738</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44746738</guid></item><item><title><![CDATA[New comment by CodeBrad in "Go’s race detector has a mutex blind spot"]]></title><description><![CDATA[
<p>I may be biased, as I definitely love more than 50% of Rust, but Go also does not protect against logical races, deadlocks, etc.<p>I have heard positive things about the loom crate[1] for detecting races in general, but  I have not used it much myself.<p>But in general I agree, writing correct (and readable) concurrent and/or parallel programs is hard. No language has "solved" the problem completely.<p>[1]: <a href="https://crates.io/crates/loom" rel="nofollow">https://crates.io/crates/loom</a></p>
]]></description><pubDate>Thu, 31 Jul 2025 13:04:36 +0000</pubDate><link>https://news.ycombinator.com/item?id=44745237</link><dc:creator>CodeBrad</dc:creator><comments>https://news.ycombinator.com/item?id=44745237</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44745237</guid></item><item><title><![CDATA[New comment by CodeBrad in "Claude Code weekly rate limits"]]></title><description><![CDATA[
<p>I think Claude Code also already has the option to provide an API key directly for usage based pricing.<p>I'm a fan of having both a subscription and a usage based plan available. The subscription is effectively a built in spending limit. If I regularly hit it and need more value, I can switch to an API key for unlimited usage.<p>The downside is you are potentially paying for something you don't use, but that is the same for all subscription services.</p>
]]></description><pubDate>Mon, 28 Jul 2025 20:07:16 +0000</pubDate><link>https://news.ycombinator.com/item?id=44714966</link><dc:creator>CodeBrad</dc:creator><comments>https://news.ycombinator.com/item?id=44714966</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44714966</guid></item><item><title><![CDATA[Go's race detector has a mutex blind spot]]></title><description><![CDATA[
<p>Article URL: <a href="https://doublefree.dev/go-race-mutex-blindspot/">https://doublefree.dev/go-race-mutex-blindspot/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=44710907">https://news.ycombinator.com/item?id=44710907</a></p>
<p>Points: 2</p>
<p># Comments: 0</p>
]]></description><pubDate>Mon, 28 Jul 2025 13:54:55 +0000</pubDate><link>https://doublefree.dev/go-race-mutex-blindspot/</link><dc:creator>CodeBrad</dc:creator><comments>https://news.ycombinator.com/item?id=44710907</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44710907</guid></item><item><title><![CDATA[Advent of Code on the Nintendo DS]]></title><description><![CDATA[
<p>Article URL: <a href="https://sailor.li/aocnds.html">https://sailor.li/aocnds.html</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=42425156">https://news.ycombinator.com/item?id=42425156</a></p>
<p>Points: 2</p>
<p># Comments: 0</p>
]]></description><pubDate>Sun, 15 Dec 2024 18:49:20 +0000</pubDate><link>https://sailor.li/aocnds.html</link><dc:creator>CodeBrad</dc:creator><comments>https://news.ycombinator.com/item?id=42425156</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42425156</guid></item><item><title><![CDATA[New comment by CodeBrad in "Solving Advent of Code at compile time with Rust macros"]]></title><description><![CDATA[
<p>It is! Although they are being used in a really weird and not normal way here.<p>I found "The Little Book of Rust Macros"[1] to be a really good resource for getting started with Rust's declarative macros.<p>[1]: <a href="https://veykril.github.io/tlborm/" rel="nofollow">https://veykril.github.io/tlborm/</a></p>
]]></description><pubDate>Sun, 15 Dec 2024 15:57:45 +0000</pubDate><link>https://news.ycombinator.com/item?id=42424088</link><dc:creator>CodeBrad</dc:creator><comments>https://news.ycombinator.com/item?id=42424088</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42424088</guid></item><item><title><![CDATA[New comment by CodeBrad in "Solving Advent of Code at compile time with Rust macros"]]></title><description><![CDATA[
<p>Technically, because the bubble sort is implemented at compile time the program is infinitely faster.<p>The answer is produced as a compiler error and so there is zero runtime at all.</p>
]]></description><pubDate>Sun, 15 Dec 2024 14:33:45 +0000</pubDate><link>https://news.ycombinator.com/item?id=42423593</link><dc:creator>CodeBrad</dc:creator><comments>https://news.ycombinator.com/item?id=42423593</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42423593</guid></item><item><title><![CDATA[New comment by CodeBrad in "Solving Advent of Code at compile time with Rust macros"]]></title><description><![CDATA[
<p>Hey! I wrote this. The python being barely legible is my own fault, as the one who wrote it.<p>The whole post is written to be a little ridiculous, but I must not have gotten that across =(<p>I agree with you. In real life, python is absolutely a better choice than trying to write a Rust macro to produce the result as a compiler error.<p>I added a footnote to the end of the referenced paragraph to say that python is great.</p>
]]></description><pubDate>Sun, 15 Dec 2024 14:30:24 +0000</pubDate><link>https://news.ycombinator.com/item?id=42423575</link><dc:creator>CodeBrad</dc:creator><comments>https://news.ycombinator.com/item?id=42423575</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42423575</guid></item><item><title><![CDATA[New comment by CodeBrad in "Apple’s keynote event shot on iPhone and edited on Mac"]]></title><description><![CDATA[
<p>Is it though? How much does all the associated gear, operators, actors, sets, producers cost? In the context of professional video production, a one time savings of $6k seems pretty small.</p>
]]></description><pubDate>Tue, 31 Oct 2023 17:51:33 +0000</pubDate><link>https://news.ycombinator.com/item?id=38088717</link><dc:creator>CodeBrad</dc:creator><comments>https://news.ycombinator.com/item?id=38088717</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=38088717</guid></item><item><title><![CDATA[New comment by CodeBrad in "Common mistakes in salary negotiation"]]></title><description><![CDATA[
<p>You get what you pay for.<p>If there is a one off person who can command a higher salary, its unlikely they alone will make a huge difference to the company anyway.<p>If there are a lot of people who could command a higher salary in that role, the pay is too low.<p>Overall it seems like a pretty good system.
You could argue that the current system favors people who are good at negotiating, and not necessarily more skilled workers.</p>
]]></description><pubDate>Wed, 23 Aug 2023 20:33:33 +0000</pubDate><link>https://news.ycombinator.com/item?id=37241587</link><dc:creator>CodeBrad</dc:creator><comments>https://news.ycombinator.com/item?id=37241587</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=37241587</guid></item><item><title><![CDATA[New comment by CodeBrad in "This is a valid domain name (remove www)"]]></title><description><![CDATA[
<p>"Server Not found" for any of:<p>- <a href="https://ai/" rel="nofollow">https://ai/</a><p>- <a href="https://www.ai/" rel="nofollow">https://www.ai/</a><p>- <a href="http://ai/" rel="nofollow">http://ai/</a><p>- <a href="http://ai" rel="nofollow">http://ai</a>.<p>- <a href="http://ai" rel="nofollow">http://ai</a><p>and <a href="http://.ai/" rel="nofollow">http://.ai/</a> gets redirected to a search engine searchfor ".ai" by firefox.<p>But <a href="http://www.ai/" rel="nofollow">http://www.ai/</a> works for some reason.</p>
]]></description><pubDate>Fri, 10 Jun 2022 03:19:17 +0000</pubDate><link>https://news.ycombinator.com/item?id=31689590</link><dc:creator>CodeBrad</dc:creator><comments>https://news.ycombinator.com/item?id=31689590</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=31689590</guid></item><item><title><![CDATA[New comment by CodeBrad in "I think US college education is nearer to collapsing than it appears"]]></title><description><![CDATA[
<p>Pretty similar to my experience TA'ing at a researched focused school.<p>My first semester teaching a lab I was told "No one is remembered for being a good TA" and encouraged to do the absolute bare minimum to get paid so that I could focus on research.</p>
]]></description><pubDate>Mon, 21 Mar 2022 02:05:28 +0000</pubDate><link>https://news.ycombinator.com/item?id=30749228</link><dc:creator>CodeBrad</dc:creator><comments>https://news.ycombinator.com/item?id=30749228</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=30749228</guid></item><item><title><![CDATA[New comment by CodeBrad in "Show HN: WebCrate – an open-source social bookmarking tool"]]></title><description><![CDATA[
<p>I know not directly related to WebCrate, but it looks like the signup for DetaSpace is broken, so I am unable to try WebCrate.<p>When I try to sign up for DetaSpace, I get the following message:<p>> Exceeded daily email limit for the operation or the account. If a higher limit is required, please configure your user pool to use your own Amazon SES configuration for sending email.</p>
]]></description><pubDate>Wed, 25 Aug 2021 21:01:03 +0000</pubDate><link>https://news.ycombinator.com/item?id=28306941</link><dc:creator>CodeBrad</dc:creator><comments>https://news.ycombinator.com/item?id=28306941</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=28306941</guid></item><item><title><![CDATA[New comment by CodeBrad in "Sonatype Lift – a unified code analysis platform"]]></title><description><![CDATA[
<p>> We also focus very closely on ensuring our tools have low false positive rates and so we tend to have less noisy output.<p>What kind of things does lift do to ensure lower false positives?</p>
]]></description><pubDate>Fri, 25 Jun 2021 21:29:08 +0000</pubDate><link>https://news.ycombinator.com/item?id=27636505</link><dc:creator>CodeBrad</dc:creator><comments>https://news.ycombinator.com/item?id=27636505</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=27636505</guid></item><item><title><![CDATA[New comment by CodeBrad in "Sonatype Lift – a unified code analysis platform"]]></title><description><![CDATA[
<p>> Lift uses machine learning to measure which bugs developers fix most, eliminating likely false positives, and continuously delivering higher quality results that improve over time.<p>Is this a pre-trained thing or something that is done custom per repository?</p>
]]></description><pubDate>Fri, 25 Jun 2021 21:28:04 +0000</pubDate><link>https://news.ycombinator.com/item?id=27636491</link><dc:creator>CodeBrad</dc:creator><comments>https://news.ycombinator.com/item?id=27636491</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=27636491</guid></item><item><title><![CDATA[New comment by CodeBrad in "Eliminating Data Races in Firefox"]]></title><description><![CDATA[
<p>I agree, good code coverage can probably get most of the way there. But there are some problems with relying on coverage.<p>Coverage can be misleading. Maybe there is some function being executed in parallel:<p><pre><code>  int global;
  void foo() {
    int local;
    
    if (complex_condition)
      bar(&local);
    else
      bar(&global);
  }
</code></pre>
And assume maybe somewhere way down the call chain the data passed to bar is modified. The bar function and all of the functions called in bar can have 100% test coverage, but if the else branch is not covered, the race will be missed.<p>So without true 100% test coverage, it is possible races are being missed by dynamic tools, and true 100% test coverage is probably not possible or feasible in large complex projects.</p>
]]></description><pubDate>Tue, 06 Apr 2021 17:19:23 +0000</pubDate><link>https://news.ycombinator.com/item?id=26714652</link><dc:creator>CodeBrad</dc:creator><comments>https://news.ycombinator.com/item?id=26714652</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=26714652</guid></item><item><title><![CDATA[New comment by CodeBrad in "Eliminating Data Races in Firefox"]]></title><description><![CDATA[
<p>In my opinion, the main limitation of TSan is that it cannot find all possible races. (An impossible task so I think TSan is a pretty great tool to get to the point that this is the main limitation)<p>As a dynamic tool, if a race is observed during execution by TSan, the race is very likely to be real. But it is impossible to "observe" execution for every part of a large code base, and so real races are likely still hiding in some edge case that TSan did not execute.<p>Static Analysis tools are interesting in that they have the opposite problem. Static tools can detect races across the entire code base, but without runtime information it is difficult to know if the races are real. This leads to more real races being detected, but also comes with more false positives.<p>There is a lot of interesting working being done on data race detection and how we can bring these two sides closer together to find more real races, without overwhelming developers with false positives.</p>
]]></description><pubDate>Tue, 06 Apr 2021 16:56:08 +0000</pubDate><link>https://news.ycombinator.com/item?id=26714296</link><dc:creator>CodeBrad</dc:creator><comments>https://news.ycombinator.com/item?id=26714296</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=26714296</guid></item><item><title><![CDATA[Why Every Company Should Care About Concurrency Bugs]]></title><description><![CDATA[
<p>Article URL: <a href="https://coderrect.com/why-every-company-should-care-about-concurrency-bugs/">https://coderrect.com/why-every-company-should-care-about-concurrency-bugs/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=25989169">https://news.ycombinator.com/item?id=25989169</a></p>
<p>Points: 1</p>
<p># Comments: 0</p>
]]></description><pubDate>Mon, 01 Feb 2021 14:56:50 +0000</pubDate><link>https://coderrect.com/why-every-company-should-care-about-concurrency-bugs/</link><dc:creator>CodeBrad</dc:creator><comments>https://news.ycombinator.com/item?id=25989169</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=25989169</guid></item><item><title><![CDATA[New Concurrency APIs in C++ 17]]></title><description><![CDATA[
<p>Article URL: <a href="https://coderrect.com/new-concurrency-apis-in-c-17/">https://coderrect.com/new-concurrency-apis-in-c-17/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=25957168">https://news.ycombinator.com/item?id=25957168</a></p>
<p>Points: 1</p>
<p># Comments: 0</p>
]]></description><pubDate>Fri, 29 Jan 2021 13:49:07 +0000</pubDate><link>https://coderrect.com/new-concurrency-apis-in-c-17/</link><dc:creator>CodeBrad</dc:creator><comments>https://news.ycombinator.com/item?id=25957168</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=25957168</guid></item></channel></rss>