<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: corysama</title><link>https://news.ycombinator.com/user?id=corysama</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Wed, 12 Aug 2026 03:52:56 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=corysama" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by corysama in "Rust SIMD on the GPU"]]></title><description><![CDATA[
<p>On a CPU, hyperthreads are mostly replicated register banks. This allows the CPU to hold the context for 2 threads simultaneously. And, lets parts of a CPU make progress on one thread while the other thread is stalled.  CPUs also has a kinda large microcode register bank that helps work around dependencies in asm instructions that reuse named registers.<p>On the GPU however, the hyperthreads are just a round-robin execution queue to take advantage of instruction pipelining. The register bank of a single GPU core is huge and can be flexibly divided across a variable number of thread contexts when a kernel is launched. Many thread contexts can be held in registers simultaneously in a single GPU core. That makes stalling on memory latency much less of a problem. The hardware can focus on delivering raw bandwidth with high latency and get great overall performance. This throughput-instead-of-latency trade-off extends to many other aspects of GPU design.</p>
]]></description><pubDate>Tue, 11 Aug 2026 14:07:13 +0000</pubDate><link>https://news.ycombinator.com/item?id=49258652</link><dc:creator>corysama</dc:creator><comments>https://news.ycombinator.com/item?id=49258652</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49258652</guid></item><item><title><![CDATA[New comment by corysama in "Rust SIMD on the GPU"]]></title><description><![CDATA[
<p>When you dig through the CUDA developer docs instead of the promotional materials, you can develop a view of Nvidia GPUs as having 8-128 processing cores, each with 4 hyperthreads, running 32-lane SIMD for almost everything. Where a lane is 32 bits wide.<p>The promotional material likes to label the individual lanes as “cores” because it sounds more impressive. And, it’s <i>not entirely incorrect.</i><p>Even the dev docs use the marketing terminology. The description I gave above needs a bit of piecing together.</p>
]]></description><pubDate>Tue, 11 Aug 2026 01:08:26 +0000</pubDate><link>https://news.ycombinator.com/item?id=49252055</link><dc:creator>corysama</dc:creator><comments>https://news.ycombinator.com/item?id=49252055</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49252055</guid></item><item><title><![CDATA[New comment by corysama in "A zero-dependency, ultra-lightweight database time machine for SQLite"]]></title><description><![CDATA[
<p>I can imagine abusing this to implement undo-redo for a game editor. Take snapshots. Record actions. Implement undo as: role back to a snapshot and re-run actions from the snapshot to the desired state.</p>
]]></description><pubDate>Mon, 10 Aug 2026 02:39:47 +0000</pubDate><link>https://news.ycombinator.com/item?id=49238647</link><dc:creator>corysama</dc:creator><comments>https://news.ycombinator.com/item?id=49238647</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49238647</guid></item><item><title><![CDATA[New comment by corysama in "Introduction to Data-Oriented Design [pdf]"]]></title><description><![CDATA[
<p>That would be <a href="https://martinfowler.com/articles/mechanical-sympathy-principles.html" rel="nofollow">https://martinfowler.com/articles/mechanical-sympathy-princi...</a></p>
]]></description><pubDate>Sun, 26 Jul 2026 22:54:51 +0000</pubDate><link>https://news.ycombinator.com/item?id=49063230</link><dc:creator>corysama</dc:creator><comments>https://news.ycombinator.com/item?id=49063230</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49063230</guid></item><item><title><![CDATA[New comment by corysama in "Learn OpenGL, extensive tutorial resource for learning Modern OpenGL"]]></title><description><![CDATA[
<p>Yep. It's my thesis that early GL APIs feel beginner-friendly because they are so hand-holdy, one-step-at-a-time. But, they end up more complicated when you get serious and they instill bad practices.<p>Instead, the "modern" APIs allow you to leverage your pre-existing knowledge of "allocate arrays of structs and start indexing them." That's not trivial. But, it is already familiar. And, it ends up a lot better in the end compared to "Invoke  whole lot of functions to manipulate a hidden state machine."<p>You can find a little info on Modern OpenGL at <a href="https://github.com/fendevel/Guide-to-Modern-OpenGL-Functions" rel="nofollow">https://github.com/fendevel/Guide-to-Modern-OpenGL-Functions</a>, <a href="https://juandiegomontoya.github.io/modern_opengl.html" rel="nofollow">https://juandiegomontoya.github.io/modern_opengl.html</a>, <a href="https://ktstephano.github.io/" rel="nofollow">https://ktstephano.github.io/</a>, <a href="https://patrick-is.cool/posts/2025/on-vaos/" rel="nofollow">https://patrick-is.cool/posts/2025/on-vaos/</a></p>
]]></description><pubDate>Thu, 23 Jul 2026 17:37:51 +0000</pubDate><link>https://news.ycombinator.com/item?id=49025336</link><dc:creator>corysama</dc:creator><comments>https://news.ycombinator.com/item?id=49025336</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49025336</guid></item><item><title><![CDATA[New comment by corysama in "Learn OpenGL, extensive tutorial resource for learning Modern OpenGL"]]></title><description><![CDATA[
<p>I still think that OpenGL is a better place to start learning 3D because there is so much less bookkeeping to do regarding memory and concurrency vs. Vulkan. I'm working on a "Post-Modern OpenGL" tutorial that exclusively teaches the most "modern" (merely a decade old) APIs and practices of GL 4.6. But, writing is slow going...<p>If you are going to use Vulkan, check out <a href="https://howtovulkan.com/" rel="nofollow">https://howtovulkan.com/</a> Vulkan started with a lot of compromises to make mobile hardware happy at the expense of making everything overly complicated on desktop. Over the past decade, desktop devs have managed to get a lot of features added to make Vulkan on desktop more sane. <i>How To Vulkan</i> covers that newer approach. This recent video "It's Not About the API" <a href="https://www.youtube.com/watch?v=7bSzp-QildA" rel="nofollow">https://www.youtube.com/watch?v=7bSzp-QildA</a> shows how simple it can be if you let it.<p>And, if you are on a Mac, folks who use Metal like it a lot. Don't worry about lock-in. Once you learn the basics, knowledge is easily transferable to DX12 and Vulkan.  You should plan to write 3 or 4 renderers to throw away anyway :P</p>
]]></description><pubDate>Thu, 23 Jul 2026 16:56:10 +0000</pubDate><link>https://news.ycombinator.com/item?id=49024729</link><dc:creator>corysama</dc:creator><comments>https://news.ycombinator.com/item?id=49024729</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49024729</guid></item><item><title><![CDATA[New comment by corysama in "Everyone should know SIMD"]]></title><description><![CDATA[
<p>Writing a Gameboy emulator is a great cure for that ;)</p>
]]></description><pubDate>Thu, 23 Jul 2026 15:29:39 +0000</pubDate><link>https://news.ycombinator.com/item?id=49023178</link><dc:creator>corysama</dc:creator><comments>https://news.ycombinator.com/item?id=49023178</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49023178</guid></item><item><title><![CDATA[New comment by corysama in "Making"]]></title><description><![CDATA[
<p>For the joy of building, I'd say LLMs are still great for questions, rapid-prototyping and code reviews. And, beyond that: Who cares what others do? Build what brings you joy.<p>As @petecordell put it: "Telling a programmer there's already a library to do X is like telling a songwriter there's already a song about love."</p>
]]></description><pubDate>Thu, 23 Jul 2026 15:28:16 +0000</pubDate><link>https://news.ycombinator.com/item?id=49023163</link><dc:creator>corysama</dc:creator><comments>https://news.ycombinator.com/item?id=49023163</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49023163</guid></item><item><title><![CDATA[New comment by corysama in "Making"]]></title><description><![CDATA[
<p>I'm the opposite. Between work and family, I don't get a lot of time to hole up in a cave with an IDE for fun. Prior to LLMs, it was a struggle to get much of anything done. So, I rarely tried. But, now I can get ideas fleshed out and even get code down in the small breaks I get to myself. Now I'm making progress where I wasn't before.<p>Sometimes I'm not interested in the inner workings of a technology, I just want a one-off tool. Ex: No interest in web tech. But, vibe-coded a tool to scrape and cross-reference a couple of online reports. Now I have the info I need for other projects.<p>Sometimes I know exactly what I want and it's quicker to hand-hold the AI through making it for me. Ex: Put together yet another SIMD math lib recently. SIMD intrisics are an obnoxious API. But, a non-SIMD implementation is easy to verify and many SIMD implementations are easy to validate vs. the non-SIMD reference. It's just a huge amount of obtuse code.<p>Sometimes I don't know exactly what I want and it's great to have a always-online partner to bounce questions off of, do rapid-prototyping for me, do code reviews for me. AIs aren't perfect. But, being instant, patient and often right makes them a huge improvement over online forums.</p>
]]></description><pubDate>Wed, 22 Jul 2026 17:25:54 +0000</pubDate><link>https://news.ycombinator.com/item?id=49010262</link><dc:creator>corysama</dc:creator><comments>https://news.ycombinator.com/item?id=49010262</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49010262</guid></item><item><title><![CDATA[New comment by corysama in "Hyprland 0.55 announced the switch to Lua for its config files"]]></title><description><![CDATA[
<p>Lua was specifically designed to be a configuration language <a href="https://www.lua.org/history.html" rel="nofollow">https://www.lua.org/history.html</a><p>Lots of people start out with a non-programmable config format. But, as their situation becomes more complicated, they end up shoehorning in programmable-ish features until they realize they are running straight into <a href="https://en.wikipedia.org/wiki/Greenspun%27s_tenth_rule" rel="nofollow">https://en.wikipedia.org/wiki/Greenspun%27s_tenth_rule</a> and decide to do it properly.</p>
]]></description><pubDate>Mon, 20 Jul 2026 19:31:20 +0000</pubDate><link>https://news.ycombinator.com/item?id=48983747</link><dc:creator>corysama</dc:creator><comments>https://news.ycombinator.com/item?id=48983747</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48983747</guid></item><item><title><![CDATA[New comment by corysama in "Corners Don't Look Like That: Regarding Screenspace Ambient Occlusion (2012)"]]></title><description><![CDATA[
<p>Classic SSAO is very similar to performing an "unsharp mask" based on the depth buffer. This has been proposed "a simple and efficient method to enhance the perceptual quality of images that contain depth information" in the paper "Image Enhancement by Unsharp Masking the Depth Buffer" which came out a year after SSAO was published by Crytek.<p><a href="https://www.uni-konstanz.de/mmsp/pubsys/publishedFiles/LuCoDe06.pdf" rel="nofollow">https://www.uni-konstanz.de/mmsp/pubsys/publishedFiles/LuCoD...</a></p>
]]></description><pubDate>Mon, 20 Jul 2026 16:11:21 +0000</pubDate><link>https://news.ycombinator.com/item?id=48980838</link><dc:creator>corysama</dc:creator><comments>https://news.ycombinator.com/item?id=48980838</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48980838</guid></item><item><title><![CDATA[New comment by corysama in "Show HN: Clx – Compile Lua to Native Executables Through C++20"]]></title><description><![CDATA[
<p>Anyone know if there’s still a community around <a href="https://github.com/snabbco/snabb" rel="nofollow">https://github.com/snabbco/snabb</a> ? This seems like something they would appreciate.<p>Besides that, first use case that comes to mind is that gamedev likes Lua but iOS does not like LuaJit in JIT mode.</p>
]]></description><pubDate>Fri, 17 Jul 2026 02:29:24 +0000</pubDate><link>https://news.ycombinator.com/item?id=48942758</link><dc:creator>corysama</dc:creator><comments>https://news.ycombinator.com/item?id=48942758</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48942758</guid></item><item><title><![CDATA[New comment by corysama in "Sleep regularity is a stronger predictor of mortality risk than sleep duration (2023)"]]></title><description><![CDATA[
<p>This is a very important paragraph from quern's article<p>> There are few to no side-effects to melatonin use in adults (there is uncertainty about the risks & benefits in children & adolescents28), and it is not addictive or habit-forming like caffeine is. The usual dose for a night is 0.5-3 mg and I take 1.5mg [29]; my dose is highly likely to be too high. High doses may well be responsible for why some people try melatonin and report that it does nothing or hurts them, since in one study, the best dose for old people was 10x smaller (0.1mg or 0.3mg) and for one blind person, 0.5mg [30 31  32] .  Zhdanova et al 1996  found 0.3mg & 1.0mg to affect sleep onset similarly. A study of delayed-release melatonin found with their high dose of 4mg (but not 0.4mg) elevated melatonin levels 10 hours after bedtime ( Gooneratne et al 2011) - potentially interfering with waking time.<p>It is difficult to find doses as small as 1mg sublingual (dissolve under the tongue) in my area. Everyone is trying to sell you 5-30mg chewables. And, I expect everyone is buying them under the assumption that more is better. But, here it explicitly is not.<p>The way melatonin works well for me is to wait until I'm already settled into bed and should be asleep, but I'm not. Do a couple body scans to relax for real. Try to think about something mindless. Then if I'm still awake, pop 1mg under my tongue. I'll usually wake in the morning with half of it drooled on my pillow :P</p>
]]></description><pubDate>Wed, 15 Jul 2026 15:31:35 +0000</pubDate><link>https://news.ycombinator.com/item?id=48922388</link><dc:creator>corysama</dc:creator><comments>https://news.ycombinator.com/item?id=48922388</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48922388</guid></item><item><title><![CDATA[New comment by corysama in "Jurassic Park computers in excruciating detail"]]></title><description><![CDATA[
<p>I’m not a scholar of the fall of SGI. But, I’m sure it has been documented in detail.<p>AFAICT, SGI was a textbook Innovator’s Dilemma case with an expensive enterprise product that’s hard to give up in the face of cheap, low-margin competition.</p>
]]></description><pubDate>Wed, 15 Jul 2026 05:28:29 +0000</pubDate><link>https://news.ycombinator.com/item?id=48916612</link><dc:creator>corysama</dc:creator><comments>https://news.ycombinator.com/item?id=48916612</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48916612</guid></item><item><title><![CDATA[New comment by corysama in "Train sim created by just one person is being called the best ever made"]]></title><description><![CDATA[
<p>His Behind the Scenes video for LOVE is one of my favorite developer vids ever.<p><a href="https://m.youtube.com/watch?v=f90R2taD1WQ" rel="nofollow">https://m.youtube.com/watch?v=f90R2taD1WQ</a></p>
]]></description><pubDate>Fri, 10 Jul 2026 01:33:36 +0000</pubDate><link>https://news.ycombinator.com/item?id=48854707</link><dc:creator>corysama</dc:creator><comments>https://news.ycombinator.com/item?id=48854707</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48854707</guid></item><item><title><![CDATA[New comment by corysama in "Microsoft fire idTech team at Id software"]]></title><description><![CDATA[
<p>Back in the late-90s/early 2000s boom it was not a secret that enterprise corps pushed universities to teach Java because they wanted easily-replaceable widget engineers engineering easily-replaceable widgets.<p>On the opposite side, startups building on difficult languages like Haskell, Elixir, Erlang have a built-in bias towards hiring a team that can get a lot more done with a lot less people. Great for startups. Terrible for enterprise.</p>
]]></description><pubDate>Tue, 07 Jul 2026 17:26:09 +0000</pubDate><link>https://news.ycombinator.com/item?id=48820878</link><dc:creator>corysama</dc:creator><comments>https://news.ycombinator.com/item?id=48820878</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48820878</guid></item><item><title><![CDATA[New comment by corysama in "What to learn to be a graphics programmer"]]></title><description><![CDATA[
<p>I recommend <a href="https://gamemath.com/book/" rel="nofollow">https://gamemath.com/book/</a> as a good starting point.</p>
]]></description><pubDate>Thu, 02 Jul 2026 01:29:18 +0000</pubDate><link>https://news.ycombinator.com/item?id=48755317</link><dc:creator>corysama</dc:creator><comments>https://news.ycombinator.com/item?id=48755317</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48755317</guid></item><item><title><![CDATA[New comment by corysama in "What to learn to be a graphics programmer"]]></title><description><![CDATA[
<p>Old 3D engine guy here. I highly encourage folks to make a 3D engine for fun and learning. Shipping a game with it would be a cherry on top. Come join us in r/graphicsprograming, r/gameenginedevs and the graphics programming discord.</p>
]]></description><pubDate>Wed, 01 Jul 2026 21:06:37 +0000</pubDate><link>https://news.ycombinator.com/item?id=48753121</link><dc:creator>corysama</dc:creator><comments>https://news.ycombinator.com/item?id=48753121</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48753121</guid></item><item><title><![CDATA[New comment by corysama in "Printing Gaussian Splats"]]></title><description><![CDATA[
<p>But, if you made a mesh you wouldn’t be able to represent fuzzy objects. That’s one of the major advantages of both splats and this printing technique.</p>
]]></description><pubDate>Wed, 24 Jun 2026 15:01:37 +0000</pubDate><link>https://news.ycombinator.com/item?id=48661038</link><dc:creator>corysama</dc:creator><comments>https://news.ycombinator.com/item?id=48661038</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48661038</guid></item><item><title><![CDATA[New comment by corysama in "Printing Gaussian Splats"]]></title><description><![CDATA[
<p>The original paper that kicked off the movement a few years ago used Gaussian blobs because gaussians are differentiable and the tech to analyze a scene requires the tech used for rendering to be differentiable.<p><a href="https://learnopencv.com/3d-gaussian-splatting/" rel="nofollow">https://learnopencv.com/3d-gaussian-splatting/</a></p>
]]></description><pubDate>Wed, 24 Jun 2026 14:59:15 +0000</pubDate><link>https://news.ycombinator.com/item?id=48660993</link><dc:creator>corysama</dc:creator><comments>https://news.ycombinator.com/item?id=48660993</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48660993</guid></item></channel></rss>