<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: joshfee</title><link>https://news.ycombinator.com/user?id=joshfee</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Sun, 21 Jun 2026 00:45:41 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=joshfee" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by joshfee in "Adafruit receives demand letter from Fenwick legal counsel on behalf of Flux.ai"]]></title><description><![CDATA[
<p>For those interested in leveraging AI to build circuit boards, check out <a href="https://tscircuit.com/" rel="nofollow">https://tscircuit.com/</a><p>I have no affiliation to the project, just someone that's done some hobby PCB design in the past and a couple weeks ago was exploring what's available in age of AI. Flux looked expensive and unimpressive. While it definitely burned through some tokens, I was able to get a seemingly functional PCB meeting my design requirements and was able to iterate on it using my existing Claude code subscription. I did use Gemini for some of the initial design research and parts selection since I find its search a bit better, but was overall impressed. I think with some tuning of the Claude skills to have it do a bit less guess-and-check it could be a nice workflow. Definitely better than the either really dated or really expensive PCB design tools in the market.</p>
]]></description><pubDate>Wed, 03 Jun 2026 00:39:45 +0000</pubDate><link>https://news.ycombinator.com/item?id=48378186</link><dc:creator>joshfee</dc:creator><comments>https://news.ycombinator.com/item?id=48378186</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48378186</guid></item><item><title><![CDATA[New comment by joshfee in "The Waymo World Model"]]></title><description><![CDATA[
<p>Isn't that true for any scenario previously unencountered, whether it is a digital simulation or a human? We can't optimize for the best possible outcome in reality (since we can't predict the future), but we can optimize for making the best decisions given our knowledge of the world (even if it is imperfect).<p>In other words it is a gradient from "my current prediction" to "best prediction given my imperfect knowledge" to "best prediction with perfect knowledge", and you can improve the outcome by shrinking the gap between 1&2 or shrinking the gap between 2&3 (or both)</p>
]]></description><pubDate>Fri, 06 Feb 2026 22:11:57 +0000</pubDate><link>https://news.ycombinator.com/item?id=46918840</link><dc:creator>joshfee</dc:creator><comments>https://news.ycombinator.com/item?id=46918840</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46918840</guid></item><item><title><![CDATA[New comment by joshfee in "The Waymo World Model"]]></title><description><![CDATA[
<p>It is great being able to generate a much larger universe of possibilities than what they can gather from real world data collection, but I'd be curious to learn how they check that the generated data is a superset of the possibility-space seen in the real world (e.g. confirm that their models closely match what is seen in the real world too)</p>
]]></description><pubDate>Fri, 06 Feb 2026 22:05:19 +0000</pubDate><link>https://news.ycombinator.com/item?id=46918778</link><dc:creator>joshfee</dc:creator><comments>https://news.ycombinator.com/item?id=46918778</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46918778</guid></item><item><title><![CDATA[New comment by joshfee in "Framework Laptop 12 press reviews are live and Framework Laptop 13 in-stock"]]></title><description><![CDATA[
<p>It is actually one of the few cases where I don't actually really care about independent upgradability. In my experience I find that I pretty much always upgrade my CPU and my RAM in tandem. New CPU architectures sometimes force it (e.g. need DDR5 instead of DDR4), and as long as you don't severely undersize your initial RAM choice I find that I run out of CPU headroom before I run out of RAM headroom.<p>So if there's performance gains to be had by co-locating RAM with the CPU in a single package, it makes sense to me to do so</p>
]]></description><pubDate>Wed, 25 Jun 2025 16:06:26 +0000</pubDate><link>https://news.ycombinator.com/item?id=44378843</link><dc:creator>joshfee</dc:creator><comments>https://news.ycombinator.com/item?id=44378843</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44378843</guid></item><item><title><![CDATA[New comment by joshfee in "US safety regulators contact Tesla over erratic robotaxis"]]></title><description><![CDATA[
<p>But you are also only a camera without LIDAR or RADAR, and you apparently navigated that situation successfully...</p>
]]></description><pubDate>Tue, 24 Jun 2025 17:09:17 +0000</pubDate><link>https://news.ycombinator.com/item?id=44368399</link><dc:creator>joshfee</dc:creator><comments>https://news.ycombinator.com/item?id=44368399</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44368399</guid></item><item><title><![CDATA[New comment by joshfee in "Zod 4"]]></title><description><![CDATA[
<p>You can use a string union to discriminate when it makes sense, but that's not the only way to discriminate and in this case you'd instead use the presence of the items themselves (essentially duck-typing with strong type guarantees)<p>Typescript playground: <a href="https://www.typescriptlang.org/play/?#code/C4TwDgpgBACg9gZ2FAvFA3lAthBCCGA5hAFxRIBOAlgHaFQC+AUC6JFAOpXAAW8SCVBiZRRUMImAIy-YAG0AugBoRYiUgDCcAK41gZGtqwAjCBSbMmbaF14wecYIiHpVosA6fTywanUUWrODQALL4IKYAPAAqAHxC0VAAPhiW1lAAqghmLlBUACZklLT0DFAAZFBhERCRtnySCPGV1VH19o6IsSxMAGa6AMbAVHA0UPlwAMpwOLwl9VlmABTa2RRkixQAlMJieb1QSwDk6lJHeWOrZjuue3sA9PdQA-hj+AMDuIKngsbayDRHOJPIg3HcrhQAHQ-SG9OAUACi7x4S1OqHiA1GCDgABsIJCcXBCKjJFstiw7mJHlAIAA3CBjXg6Qg8KAAd2goxxIGePAgAwA1hB8lA4RQoAADH4SpRQXjQdJs-CCGj4CgUOAckXY9nQF5vD5fKD4HE4qBwA7yqAUCA4-DAYXiDWQCjDXByuBwMF7TE0bF4glElZraGSLS6YDksGWPZUA7HDydBDnWhQCE3b1Up7642GvDApNQP4AoE-TOiCHQkEIWHwpEDFGJpzo55Y3H4wnEptwMnRiliOOHE6NFOXNYVSonaujtNrDOU0TUnPvT75n7Gmgi7sIcuzsyhgS1xHIklIFu+-0doOnXsLvdQ7dH+uNkHntsBzuokG3sTMBhAA" rel="nofollow">https://www.typescriptlang.org/play/?#code/C4TwDgpgBACg9gZ2F...</a></p>
]]></description><pubDate>Mon, 19 May 2025 16:58:54 +0000</pubDate><link>https://news.ycombinator.com/item?id=44031894</link><dc:creator>joshfee</dc:creator><comments>https://news.ycombinator.com/item?id=44031894</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44031894</guid></item><item><title><![CDATA[New comment by joshfee in "Two Years of Rust"]]></title><description><![CDATA[
<p>How you define "external stuff" matters though. As soon as your function is calling another function, your test can be argued to be an "integration test", as you're now implicitly also testing the logic of the other function.<p>Alternatively you mock _everything_ and then your "unit test" ends up just being a tautological test asserting that "the code I wrote executes in the way I wrote it". (Not to mention that every time you mock something you are also implicitly asserting what the expected behavior of that thing is).<p>The only truly reliable tests are E2E tests, but they are too expensive to cover all possible permutations as there are just too many.<p>This is the catch 22 with testing, and we're always forced to make pragmatic choices about where to draw our boundaries to maximize the value (i.e. actual bugs caught) of them.</p>
]]></description><pubDate>Tue, 15 Apr 2025 15:37:01 +0000</pubDate><link>https://news.ycombinator.com/item?id=43694349</link><dc:creator>joshfee</dc:creator><comments>https://news.ycombinator.com/item?id=43694349</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43694349</guid></item><item><title><![CDATA[New comment by joshfee in "'Minecraft Movie' Leaks Online: Full Unfinished Version Shared"]]></title><description><![CDATA[
<p>The problem with enforcing "freedom of speech" on private parties is that it essentially the same as infringing the speech of that private party.<p>The only issue I have is when companies can play both sides and in one breath claim they're neutral for the purpose of section 230 protection, and then in the next breath take part in censorship because it's better for business.<p>Pick a lane, either lane, but you shouldn't get it both ways</p>
]]></description><pubDate>Sun, 06 Apr 2025 21:27:30 +0000</pubDate><link>https://news.ycombinator.com/item?id=43605099</link><dc:creator>joshfee</dc:creator><comments>https://news.ycombinator.com/item?id=43605099</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43605099</guid></item><item><title><![CDATA[New comment by joshfee in "TikTok goes dark in the US"]]></title><description><![CDATA[
<p>Forget about reading articles even... the supreme court decision itself is not long, is written in understandable language, and breaks down point by point the things that they had to consider, why they had to consider them, and the outcome of that consideration.</p>
]]></description><pubDate>Sun, 19 Jan 2025 18:05:21 +0000</pubDate><link>https://news.ycombinator.com/item?id=42759600</link><dc:creator>joshfee</dc:creator><comments>https://news.ycombinator.com/item?id=42759600</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42759600</guid></item><item><title><![CDATA[New comment by joshfee in "Supreme Court upholds TikTok ban, but Trump might offer lifeline"]]></title><description><![CDATA[
<p>I think the easiest answer to follow for "why is this not prevented by free speech protection" is "the fact that petitioners “cannot avoid or mitigate” the effects of the Act by altering their speech." (page 10 of this ruling, but is a reference to <a href="https://en.wikipedia.org/wiki/Turner_Broadcasting_System,_Inc._v._FCC" rel="nofollow">https://en.wikipedia.org/wiki/Turner_Broadcasting_System,_In...</a>)</p>
]]></description><pubDate>Fri, 17 Jan 2025 18:26:42 +0000</pubDate><link>https://news.ycombinator.com/item?id=42741618</link><dc:creator>joshfee</dc:creator><comments>https://news.ycombinator.com/item?id=42741618</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42741618</guid></item><item><title><![CDATA[New comment by joshfee in "Supreme Court rules to uphold TikTok ban, setting stage for shutdown"]]></title><description><![CDATA[
<p>The case law around editorial control is at odds with most platforms' section 230 protection, which makes the fact that TikTok argued that its algorithm _is_ speech pretty different from how most platforms have argued to date (in order to preserve their section 230 protections)</p>
]]></description><pubDate>Fri, 17 Jan 2025 18:14:48 +0000</pubDate><link>https://news.ycombinator.com/item?id=42741457</link><dc:creator>joshfee</dc:creator><comments>https://news.ycombinator.com/item?id=42741457</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42741457</guid></item><item><title><![CDATA[New comment by joshfee in "Great things about Rust that aren't just performance"]]></title><description><![CDATA[
<p>The whole premise of this article is non-performance reasons to love rust</p>
]]></description><pubDate>Mon, 13 Jan 2025 01:07:57 +0000</pubDate><link>https://news.ycombinator.com/item?id=42678877</link><dc:creator>joshfee</dc:creator><comments>https://news.ycombinator.com/item?id=42678877</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42678877</guid></item><item><title><![CDATA[New comment by joshfee in "Great things about Rust that aren't just performance"]]></title><description><![CDATA[
<p>Returning control to the caller only really needs to be explicit if you're doing it in an arbitrary spot in the middle of the function because if you're at the end there's nothing to do _other than_ return control. For instance in other languages you don't need to explicitly say "go to the next iteration" at the end of a for loop, and if you want to do it before the end of the loop body you can `continue`. If "flow control should always be explicit", then should we be writing `continue` at the end of our loop blocks?<p>I think the other part of it is that it is just part of a cohesive language design where everything is an expression, including things like if's, matches, etc that would be control flow statements in other languages.. It would be a little weird to say that functions are the only thing that have different semantics.</p>
]]></description><pubDate>Mon, 13 Jan 2025 00:56:40 +0000</pubDate><link>https://news.ycombinator.com/item?id=42678799</link><dc:creator>joshfee</dc:creator><comments>https://news.ycombinator.com/item?id=42678799</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42678799</guid></item><item><title><![CDATA[New comment by joshfee in "Canada euthanasia now accounts for nearly one in 20 deaths"]]></title><description><![CDATA[
<p>I think the idea is that there are many factors that might motivate somebody's decision that their life is not worth living any longer. Each individual will have a different threshold for that, but if there are institutions that can alleviate the reasons for the people on the fringe, then there will be net fewer people that choose death when they otherwise may have.<p>Someone with advanced dementia may be too far from that threshold to change the decision for them, but that doesn't mean that better institutions wouldn't move the needle.</p>
]]></description><pubDate>Thu, 12 Dec 2024 21:03:00 +0000</pubDate><link>https://news.ycombinator.com/item?id=42403299</link><dc:creator>joshfee</dc:creator><comments>https://news.ycombinator.com/item?id=42403299</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42403299</guid></item><item><title><![CDATA[New comment by joshfee in "Moments in Chromecast's history"]]></title><description><![CDATA[
<p>Like others are saying, this just looks like a rebrand. Hopefully this competes in performance with the 2019 Nvidia Shield TV Pro which is to date still the only streamer that performs well enough for high quality audio and video, but is starting to age (and no longer works with things like google home audio groups). If anyone knows of a comparable plex streamer let me know :)</p>
]]></description><pubDate>Tue, 06 Aug 2024 14:47:49 +0000</pubDate><link>https://news.ycombinator.com/item?id=41171346</link><dc:creator>joshfee</dc:creator><comments>https://news.ycombinator.com/item?id=41171346</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41171346</guid></item><item><title><![CDATA[New comment by joshfee in "Cold brew coffee in 3 minutes using acoustic cavitation"]]></title><description><![CDATA[
<p>The mistake here is thinking that cost and price are related beyond determining what the final margin is.<p>The consumer decides the price that is acceptable for the good - the cost of that good being higher or lower just changes the viability of the product and the bottom line from selling it. So it makes tons of sense that given two similar products that consumers will pay a similar price for that companies would prefer to sell the one that costs them less.</p>
]]></description><pubDate>Wed, 08 May 2024 15:41:03 +0000</pubDate><link>https://news.ycombinator.com/item?id=40299365</link><dc:creator>joshfee</dc:creator><comments>https://news.ycombinator.com/item?id=40299365</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40299365</guid></item><item><title><![CDATA[New comment by joshfee in "I Lost Faith in Kagi"]]></title><description><![CDATA[
<p>After a recent mention on HN I gave Kagi a try and subscribed for a few months. But after using it I'm really not sure why it get so much for the core "search", I found it so underwhelming that I would instinctively use the !g bang to just go right to Google.<p>It turns out that even though I can't stand the number of ads, Google is still much better at getting me an answer quickly (usually with the quick answer modules).<p>I was also surprised at the number of times Kagi came up with 0 search results, and while one of the draws for me was to have higher quality results instead of quantity, I still found a _ton_ of results for AI generated crappy top-10-list sites trying to sell me something.<p>Love the idea, and will probably check back in from time to time, but so far the execution just isn't there for me.</p>
]]></description><pubDate>Fri, 12 Apr 2024 19:21:53 +0000</pubDate><link>https://news.ycombinator.com/item?id=40016677</link><dc:creator>joshfee</dc:creator><comments>https://news.ycombinator.com/item?id=40016677</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40016677</guid></item><item><title><![CDATA[New comment by joshfee in "Google Podcasts is gone – and so is my faith in Google"]]></title><description><![CDATA[
<p>Really depends on "how many people". Also if its roughly the same group of people they're making angry over and over, and they don't see an impact to the bottom line, then I'd say the answer is "pretty small", at least relative to Google's size (at which its all about volume)</p>
]]></description><pubDate>Tue, 02 Apr 2024 17:04:28 +0000</pubDate><link>https://news.ycombinator.com/item?id=39908122</link><dc:creator>joshfee</dc:creator><comments>https://news.ycombinator.com/item?id=39908122</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=39908122</guid></item><item><title><![CDATA[New comment by joshfee in "Google Podcasts is gone – and so is my faith in Google"]]></title><description><![CDATA[
<p>Google is basically split into "build things that make users happy" teams and "build things that make Google money" teams, so I think that on an individual product level you may be correct, but in aggregate at the high level Google believes there is a ton of value in revenue-less products.<p>Now for Podcasts (or any given product) there's always going to be some calculus of "is it enough value to justify the cost", and clearly Google believes the answer here is no.</p>
]]></description><pubDate>Tue, 02 Apr 2024 17:01:34 +0000</pubDate><link>https://news.ycombinator.com/item?id=39908078</link><dc:creator>joshfee</dc:creator><comments>https://news.ycombinator.com/item?id=39908078</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=39908078</guid></item><item><title><![CDATA[New comment by joshfee in "Yuzu emulator developers settle Nintendo lawsuit, pay $2.4M in damages"]]></title><description><![CDATA[
<p>As fast as the terrible wifi on the switch will let you</p>
]]></description><pubDate>Tue, 05 Mar 2024 00:53:52 +0000</pubDate><link>https://news.ycombinator.com/item?id=39598136</link><dc:creator>joshfee</dc:creator><comments>https://news.ycombinator.com/item?id=39598136</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=39598136</guid></item></channel></rss>