<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: suresk</title><link>https://news.ycombinator.com/user?id=suresk</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Wed, 11 Nov 2026 09:33:21 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=suresk" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by suresk in "Nvidia announces native GPU programming in Rust"]]></title><description><![CDATA[
<p>Learning is about so much more than accessing information, though. It is about building mental models, resolving ambiguity, exploring things that the source doesn't explain very well, and so much more.<p>Questions like "What do these lines of code do?" or "How does this fit into the big picture?" or "Wait, this doesn't make sense?" are rarely answered by the source.<p>This is a bit fresher in my mind in the math domain, but I don't think it is any different in any number of other domains, including coding. I've been working through a math textbook, gotten confused about how the author gets from step 2 to step 3, taken a picture of the text, and had AI explain it to me - it almost always gives me a much better understanding of what is going on and helps make things so much clearer. There is a level of interactivity that can't exist in a book or other "source" of information.<p>I think there is a bit of tension when it comes to learning and sometimes the struggle itself is informative, but there is a reason people hire tutors and go to classes taught by teachers vs just reading a textbook, and cutting yourself off from a tool because you've seen it be wrong about something seems like a silly mistake.</p>
]]></description><pubDate>Thu, 17 Sep 2026 16:28:44 +0000</pubDate><link>https://news.ycombinator.com/item?id=49743150</link><dc:creator>suresk</dc:creator><comments>https://news.ycombinator.com/item?id=49743150</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49743150</guid></item><item><title><![CDATA[New comment by suresk in "Nvidia announces native GPU programming in Rust"]]></title><description><![CDATA[
<p>> Please don't.<p>I will.<p>Can these be wrong? Certainly. So can humans. Many of your examples are of humans being wrong. That doesn't make LLMs - or humans - useless. The fact that they are not infallible is not a reason to avoid using them and I'm not going to throw out a tool that has been incredibly valuable to me because someone on the internet got some bad CORS advice.</p>
]]></description><pubDate>Thu, 17 Sep 2026 08:07:07 +0000</pubDate><link>https://news.ycombinator.com/item?id=49737810</link><dc:creator>suresk</dc:creator><comments>https://news.ycombinator.com/item?id=49737810</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49737810</guid></item><item><title><![CDATA[New comment by suresk in "Reverse-engineered Jev-like model"]]></title><description><![CDATA[
<p>I've seen a lot of LLM uses that are really just zero/few-shot classifiers with a lot of extra steps, so it is interesting to see more models that are taking advantage of all the intelligence encoded in the latent spaces of these models with really efficient output. It feels like this is an under-explored area of LLMs right now and I'm excited to see what comes out of it.</p>
]]></description><pubDate>Thu, 17 Sep 2026 04:59:04 +0000</pubDate><link>https://news.ycombinator.com/item?id=49736585</link><dc:creator>suresk</dc:creator><comments>https://news.ycombinator.com/item?id=49736585</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49736585</guid></item><item><title><![CDATA[New comment by suresk in "Nvidia announces native GPU programming in Rust"]]></title><description><![CDATA[
<p>I've found sorta the opposite - in any area, it can just do everything for you, or it can be an incredible teacher. I've been re-learning a lot of higher-level math and it has been an knowledgeable, infinitely patient, always-available tutor. Of course, I could just have it do just about any math I want for me, but that's not the point.<p>Kinda the same with language/technology stuff - it can be a great tutor and it can scaffold other parts of a project for you. It can give you feedback and let you focus on the interesting parts.<p>I guess the motivation itself may be hard because of the fear of it taking over much of our jobs, but having this kind of help/feedback is pretty cool for the sake of learning things just because they are interesting!</p>
]]></description><pubDate>Thu, 17 Sep 2026 03:15:00 +0000</pubDate><link>https://news.ycombinator.com/item?id=49735998</link><dc:creator>suresk</dc:creator><comments>https://news.ycombinator.com/item?id=49735998</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49735998</guid></item><item><title><![CDATA[New comment by suresk in "Report: Tim Cook could step down as Apple CEO 'as soon as next year'"]]></title><description><![CDATA[
<p>The opposite problem can happen- the CEO uses the product all the time and becomes blind to problems. “It has always worked that way”, or “who would want to do that!?”” are much more common than pure apathy.</p>
]]></description><pubDate>Sun, 16 Nov 2025 07:37:59 +0000</pubDate><link>https://news.ycombinator.com/item?id=45943418</link><dc:creator>suresk</dc:creator><comments>https://news.ycombinator.com/item?id=45943418</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45943418</guid></item><item><title><![CDATA[New comment by suresk in "Electric bill may be paying for big data centers' energy use"]]></title><description><![CDATA[
<p>They also get massive subsidies and tax breaks for building these data centers. They require the negotiations be done in secret and often fight to keep the agreements secret to make it so people don’t flip out when they see how bad they are.</p>
]]></description><pubDate>Sun, 07 Sep 2025 22:00:03 +0000</pubDate><link>https://news.ycombinator.com/item?id=45162573</link><dc:creator>suresk</dc:creator><comments>https://news.ycombinator.com/item?id=45162573</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45162573</guid></item><item><title><![CDATA[New comment by suresk in "Sorting algorithms with CUDA"]]></title><description><![CDATA[
<p>Kind of a fun toy problem to play around with. I noticed you had thread coarsening as an option to play around with - there is often some gain to be had here. I think this is also a fun thing to play around with Nsight on - things that are impacting your performance aren't always obvious and it is a pretty good profiler - might be worth playing around with. (I wrote about a fun thing I found with thread coarsening and automatic loop unrolling with Nsight here: <a href="https://www.spenceruresk.com/loop-unrolling-gone-bad-e81f66f03ed1" rel="nofollow">https://www.spenceruresk.com/loop-unrolling-gone-bad-e81f66f...</a>)<p>You may also want to look at other sorting algorithms - common CPU sorting algorithms are hard to maximize GPU hardware with - a network sort like bitonic sorting involves more work (and you have to pad to a power of 2) but often runs much faster on parallel hardware.<p>I had a fairly naive implementation that would sort 10M in around 10ms on an H100. I'm sure with more work they can get quite a bit faster, but they need to be fairly big to make up for the kernel launch overhead.</p>
]]></description><pubDate>Wed, 12 Mar 2025 00:51:14 +0000</pubDate><link>https://news.ycombinator.com/item?id=43338830</link><dc:creator>suresk</dc:creator><comments>https://news.ycombinator.com/item?id=43338830</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43338830</guid></item><item><title><![CDATA[New comment by suresk in "Show HN: We built a Plug-in Home Battery for the 99.7% of us without Powerwalls"]]></title><description><![CDATA[
<p>> I'm surprised you're not touting the "save on your power bill" benefits.<p>At ~$600/kWh for capacity, the ROI isn't great. I have a pretty big differential on my rates because I have an EV, and even then I'd need over a decade to make the $1,000 back assuming I fully discharged it every day.</p>
]]></description><pubDate>Wed, 12 Mar 2025 00:10:22 +0000</pubDate><link>https://news.ycombinator.com/item?id=43338559</link><dc:creator>suresk</dc:creator><comments>https://news.ycombinator.com/item?id=43338559</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43338559</guid></item><item><title><![CDATA[New comment by suresk in "Introduction to CUDA programming for Python developers"]]></title><description><![CDATA[
<p>Are you sure they ditched CUDA? I keep hearing this, but it seems odd because that would be a ton of extra work to entirely ditch it vs selectively employing some ptx in CUDA kernels which is fairly straightforward.<p>Their paper [1] only mentions using PTX in a few areas to optimize data transfer operations so they don't blow up the L2 cache. This makes intuitive sense to me, since the main limitation of the H800 vs H100 is reduced nvlink bandwidth, which would necessitate doing stuff like this that may not be a common thing for others who have access to H100s.<p>1. <a href="https://arxiv.org/abs/2412.19437" rel="nofollow">https://arxiv.org/abs/2412.19437</a></p>
]]></description><pubDate>Fri, 21 Feb 2025 06:24:21 +0000</pubDate><link>https://news.ycombinator.com/item?id=43124583</link><dc:creator>suresk</dc:creator><comments>https://news.ycombinator.com/item?id=43124583</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43124583</guid></item><item><title><![CDATA[New comment by suresk in "Introduction to CUDA programming for Python developers"]]></title><description><![CDATA[
<p>I've only done the CUDA side (and not professionally), so I've always wondered how much those skills transfer either way myself. I imagine some of the specific techniques employed are fairly different, but a lot of it is just your mental model for programming, which can be a bit of a shift if you're not used to it.<p>I'd think things like optimizing for occupancy/memory throughput, ensuring coalesced memory accesses, tuning block sizes, using fast math alternatives, writing parallel algorithms, working with profiling tools like nsight, and things like that are fairly transferable?</p>
]]></description><pubDate>Fri, 21 Feb 2025 05:45:25 +0000</pubDate><link>https://news.ycombinator.com/item?id=43124382</link><dc:creator>suresk</dc:creator><comments>https://news.ycombinator.com/item?id=43124382</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43124382</guid></item><item><title><![CDATA[New comment by suresk in "Railroad Tycoon II"]]></title><description><![CDATA[
<p>So many fond memories of this game - it was a really fun blend of railroad sim and economic sim that I haven't really found since. I'll never forget the "ding ding ding" sound that goes off when a train pulls into a station and earns you a bit of cash!</p>
]]></description><pubDate>Mon, 13 Jan 2025 19:59:47 +0000</pubDate><link>https://news.ycombinator.com/item?id=42688221</link><dc:creator>suresk</dc:creator><comments>https://news.ycombinator.com/item?id=42688221</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42688221</guid></item><item><title><![CDATA[New comment by suresk in "Zen5's AVX512 Teardown and More"]]></title><description><![CDATA[
<p>I was having trouble finding an E Core die shot, but that helps put it into perspective a bit anyway. Thanks!</p>
]]></description><pubDate>Wed, 07 Aug 2024 21:08:21 +0000</pubDate><link>https://news.ycombinator.com/item?id=41185539</link><dc:creator>suresk</dc:creator><comments>https://news.ycombinator.com/item?id=41185539</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41185539</guid></item><item><title><![CDATA[New comment by suresk in "Zen5's AVX512 Teardown and More"]]></title><description><![CDATA[
<p>My non-expert brain immediately jumped to double-pumping + maybe working with their thread director to have tasks using a lot of AVX512 instructions prefer P cores more. It feels like such an obvious solution to a really dumb problem that I assumed there was something simple I was missing.<p>The register file size makes sense, I didn't think they were that much of the die on those processors but I guess they had to be pretty aggressive to meet power goals?</p>
]]></description><pubDate>Wed, 07 Aug 2024 20:34:18 +0000</pubDate><link>https://news.ycombinator.com/item?id=41185166</link><dc:creator>suresk</dc:creator><comments>https://news.ycombinator.com/item?id=41185166</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41185166</guid></item><item><title><![CDATA[New comment by suresk in "Run CUDA, unmodified, on AMD GPUs"]]></title><description><![CDATA[
<p>Having dabbled in CUDA, but not worked on it professionally, it feels like a lot of the complexity isn't really in CUDA/C++, but in the algorithms you have to come up with to really take advantage of the hardware.<p>Optimizing something for SIMD execution isn't often straightforward and it isn't something a lot of developers encounter outside a few small areas. There are also a lot of hardware architecture considerations you have to work with (memory transfer speed is a big one) to even come close to saturating the compute units.</p>
]]></description><pubDate>Tue, 16 Jul 2024 21:56:30 +0000</pubDate><link>https://news.ycombinator.com/item?id=40980694</link><dc:creator>suresk</dc:creator><comments>https://news.ycombinator.com/item?id=40980694</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40980694</guid></item><item><title><![CDATA[New comment by suresk in "Show HN: A web debugger an ex-Cloudflare team has been working on for 4 years"]]></title><description><![CDATA[
<p>This would have been so useful this past week while we debugged something that ended up being a weird combo of Comcast/Cloudflare/http3 - only some people could reliably reproduce it and it was a lot to coach them through all the steps.<p>Being able to redact a few values would be really important for us (I just wrote Python scripts to clean the har files up), but I’m going to play around with it this weekend.</p>
]]></description><pubDate>Sat, 11 May 2024 02:51:44 +0000</pubDate><link>https://news.ycombinator.com/item?id=40325672</link><dc:creator>suresk</dc:creator><comments>https://news.ycombinator.com/item?id=40325672</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40325672</guid></item><item><title><![CDATA[New comment by suresk in "Show HN: A web debugger an ex-Cloudflare team has been working on for 4 years"]]></title><description><![CDATA[
<p>Kind of funny, I was just looking at adding similar functionality to an internal Chrome plugin I built because we struggle to get enough useful info in bug reports (being able to look at the HAR, in particular, is useful, but difficult to get users to do correctly).<p>Two questions -<p>1) Any way to customize which headers/cookies get scrubbed?<p>2) Is there a way to get something like the lower-level export you can get by going to chrome://net-export/?</p>
]]></description><pubDate>Fri, 10 May 2024 22:10:23 +0000</pubDate><link>https://news.ycombinator.com/item?id=40324256</link><dc:creator>suresk</dc:creator><comments>https://news.ycombinator.com/item?id=40324256</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40324256</guid></item><item><title><![CDATA[New comment by suresk in "RAG is more than just embedding search"]]></title><description><![CDATA[
<p>GAR - Generation-Augmented Retrieval?<p>I've actually had some success with getting ChatGPT to create Redshift queries based on user text and then I can run them and render results, which has some interesting use-cases.<p>Max calls out the biggest problem with using something like ChatGPT in a search flow - it is way too slow. I've talked to a lot of people wondering if we can just shove a catalog at ChatGPT and have it magically do a really good job of search, and token limits + latency are two pretty hard stops there (plus I think it would be generally a worse experience in many cases).<p>What I'm trying to look at now is how LLMs can be used to make documents better suited for search by pulling out useful metadata, summarizing related content, etc. Things that can be done at index time instead of search time, so the latency requirements are less of an issue.</p>
]]></description><pubDate>Thu, 21 Sep 2023 23:59:34 +0000</pubDate><link>https://news.ycombinator.com/item?id=37606103</link><dc:creator>suresk</dc:creator><comments>https://news.ycombinator.com/item?id=37606103</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=37606103</guid></item><item><title><![CDATA[New comment by suresk in "Jacobin: A more than minimal JVM written in Go"]]></title><description><![CDATA[
<p>Sorry, I used the wrong terminology. They are called “spans” in Go’s GC. There are different sizes of spans that allocations end up in, which helps avoid fragmentation.</p>
]]></description><pubDate>Fri, 25 Aug 2023 01:25:16 +0000</pubDate><link>https://news.ycombinator.com/item?id=37256730</link><dc:creator>suresk</dc:creator><comments>https://news.ycombinator.com/item?id=37256730</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=37256730</guid></item><item><title><![CDATA[New comment by suresk in "Jacobin: A more than minimal JVM written in Go"]]></title><description><![CDATA[
<p>Yeah, I think any bytecode interpreter ends up with a giant switch in the critical path at some point :)<p>Around the time that change was made to Go, Andrew and I were looking at this and wondering how big of a performance hit it was and if there were a better way to structure that. I had a hunch that the compiler should be smart enough to not compile that as a switch/giant if block, and a quick trip to a disassembler showed it using binary search. This commit: <a href="https://github.com/golang/go/commit/1ba96d8c0909eca59e28c048150c3834982f79fb">https://github.com/golang/go/commit/1ba96d8c0909eca59e28c048...</a> added the jump table and has some nice analysis on where it makes sense to do binary search vs jump tables.<p>As far as I can tell, with certain restrictions (that are fine in this case), it is pretty reliable at optimizing giant if/else blocks and switches.</p>
]]></description><pubDate>Thu, 24 Aug 2023 22:47:49 +0000</pubDate><link>https://news.ycombinator.com/item?id=37255550</link><dc:creator>suresk</dc:creator><comments>https://news.ycombinator.com/item?id=37255550</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=37255550</guid></item><item><title><![CDATA[New comment by suresk in "Jacobin: A more than minimal JVM written in Go"]]></title><description><![CDATA[
<p>Can you elaborate more on this?<p>> E.g. Haskell has an awesome concurrent GC that’d work like crap for Java, because it assumes tons of really short-lived, really small garbage and almost no mutation. The other way around is also bound to be problematic—I don’t know how the Scala people do it<p>I don't know a ton about Haskell's GC, but at surface level it seems very similar to several of the JVM GC implementations - a generational GC with a concept of a nursery. Java GC is very heavily designed around the weak generational hypothesis (ie, most objects don't live long) and very much optimizes for short-lived object lifecycles, so most GC implementations have at least a few nursery-type areas before anything gets to the main heap where GC is incredibly cheap, plus some stuff ends up getting allocated on the stack in some cases.<p>The only big difference is that in Haskell there are probably some optimizations you can do if most of your structures are immutable since nothing in an older generation can refer to something in the nursery. But it isn't super clear to me that alone makes a big enough difference?</p>
]]></description><pubDate>Thu, 24 Aug 2023 22:37:17 +0000</pubDate><link>https://news.ycombinator.com/item?id=37255459</link><dc:creator>suresk</dc:creator><comments>https://news.ycombinator.com/item?id=37255459</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=37255459</guid></item></channel></rss>