<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: mrsharpoblunto</title><link>https://news.ycombinator.com/user?id=mrsharpoblunto</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Wed, 13 May 2026 14:23:05 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=mrsharpoblunto" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by mrsharpoblunto in "Rendering the Sky, Sunsets, and Planets"]]></title><description><![CDATA[
<p>Love a good graphics writeup - I've been working on similar things for my procedural space/planet generator. The cool thing with atmospheric scattering is you can combine it with volumetric cloud rendering and get amazing sunsets & sky scenes<p><a href="https://www.threads.com/@mrsharpoblunto/post/DVS4wfYiG8f?xmt=AQG0FwUaH93ZGbAIL8bgoeqSPe5g0DuFGQipm1S03pPiTQ" rel="nofollow">https://www.threads.com/@mrsharpoblunto/post/DVS4wfYiG8f?xmt...</a>
<a href="https://www.threads.com/@mrsharpoblunto/post/C6Vc-S1O9mX?xmt=AQG00Q4lc3vTJLGQ_Ht9TC9Gd8YFMFv8Yh7yON-J_D8Tqw" rel="nofollow">https://www.threads.com/@mrsharpoblunto/post/C6Vc-S1O9mX?xmt...</a>
<a href="https://www.threads.com/@mrsharpoblunto/post/C6apksDRa8q?xmt=AQG00Q4lc3vTJLGQ_Ht9TC9Gd8YFMFv8Yh7yON-J_D8Tqw" rel="nofollow">https://www.threads.com/@mrsharpoblunto/post/C6apksDRa8q?xmt...</a></p>
]]></description><pubDate>Tue, 12 May 2026 17:54:50 +0000</pubDate><link>https://news.ycombinator.com/item?id=48111770</link><dc:creator>mrsharpoblunto</dc:creator><comments>https://news.ycombinator.com/item?id=48111770</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48111770</guid></item><item><title><![CDATA[New comment by mrsharpoblunto in "Dark Mode Sucks"]]></title><description><![CDATA[
<p>Just let people enjoy things, if you don’t like dark mode, don’t use it.</p>
]]></description><pubDate>Sun, 23 Nov 2025 17:28:59 +0000</pubDate><link>https://news.ycombinator.com/item?id=46025370</link><dc:creator>mrsharpoblunto</dc:creator><comments>https://news.ycombinator.com/item?id=46025370</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46025370</guid></item><item><title><![CDATA[New comment by mrsharpoblunto in "Sphere Rendering: Flat Planets"]]></title><description><![CDATA[
<p>I’ve since done a bunch more on planetary cloud rendering, need to do a proper write up, but it’s a combination of volumetric noise, flow fields & atmospheric scattering.<p><a href="https://x.com/mr_sharpoblunto/status/1653986502106570757" rel="nofollow">https://x.com/mr_sharpoblunto/status/1653986502106570757</a></p>
]]></description><pubDate>Wed, 05 Jun 2024 02:50:59 +0000</pubDate><link>https://news.ycombinator.com/item?id=40580936</link><dc:creator>mrsharpoblunto</dc:creator><comments>https://news.ycombinator.com/item?id=40580936</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40580936</guid></item><item><title><![CDATA[New comment by mrsharpoblunto in "Sphere Rendering: Flat Planets"]]></title><description><![CDATA[
<p>The author dismisses cubemaps pretty quickly, but imo it’s the simplest solution & it’s what I did when rendering dynamic gas giants on my own personal project a number of years back* . Using a cubemap doesn’t result in a 6x increase in memory usage, you’re just splitting the texture size from one large rectangular face into 6 smaller rectangular faces, but the total texture detail is the same. The nice part about a cubemap is you don’t have to worry about pole pinching at all + you can use a 3 or 4 dimensional noise function to easily create a seamless flow field for texture animation/distortion.<p>* <a href="https://www.junkship.net/News/2016/06/09/jupiter-jazz" rel="nofollow">https://www.junkship.net/News/2016/06/09/jupiter-jazz</a></p>
]]></description><pubDate>Tue, 04 Jun 2024 19:18:59 +0000</pubDate><link>https://news.ycombinator.com/item?id=40577993</link><dc:creator>mrsharpoblunto</dc:creator><comments>https://news.ycombinator.com/item?id=40577993</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40577993</guid></item><item><title><![CDATA[New comment by mrsharpoblunto in "Rediscovering a QBasic game I made 25 years ago and getting it running again"]]></title><description><![CDATA[
<p>The story of how I rediscovered the first real project I built after teaching myself to program - an RPG written in QBasic and how I got it playable again 25 years later.</p>
]]></description><pubDate>Mon, 05 Feb 2024 15:59:08 +0000</pubDate><link>https://news.ycombinator.com/item?id=39262531</link><dc:creator>mrsharpoblunto</dc:creator><comments>https://news.ycombinator.com/item?id=39262531</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=39262531</guid></item><item><title><![CDATA[Rediscovering a QBasic game I made 25 years ago and getting it running again]]></title><description><![CDATA[
<p>Article URL: <a href="https://www.sharpoblunto.com/News/2024/02/02/return-of-the-guild-returns">https://www.sharpoblunto.com/News/2024/02/02/return-of-the-guild-returns</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=39262529">https://news.ycombinator.com/item?id=39262529</a></p>
<p>Points: 2</p>
<p># Comments: 1</p>
]]></description><pubDate>Mon, 05 Feb 2024 15:59:08 +0000</pubDate><link>https://www.sharpoblunto.com/News/2024/02/02/return-of-the-guild-returns</link><dc:creator>mrsharpoblunto</dc:creator><comments>https://news.ycombinator.com/item?id=39262529</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=39262529</guid></item><item><title><![CDATA[New comment by mrsharpoblunto in "Real-time dreamy Cloudscapes with Volumetric Raymarching"]]></title><description><![CDATA[
<p>Great job explaning the whole process! I've been building some similar stuff recently for my procedural space-exploration side project (<a href="https://www.threads.net/@mrsharpoblunto/post/CufzeNxt9Ol" rel="nofollow noreferrer">https://www.threads.net/@mrsharpoblunto/post/CufzeNxt9Ol</a>). I was planning to do a dev blog post writing a lot of the details up, but yours covers most of the tricks :)<p>A couple of extra things I ended up doing were:<p>1) Using a lower-res texture to modulate the high-res raymarched density, this gives you control over the overall macro shape of the clouds and allows you to transition between LOD better (i.e. as you move from ground level up to space you can lerp between the raymarched renderer & just rendering the low-res 2D texture without any jarring transition.<p>2) Using some atmospheric simulation to colorize the clouds for sunrise/sunset. To make this performant I had to build some lookup tables for the atmospheric density at given angles of the sun.<p>3) Altering the step size of the raymarch based on density, I took this from the Horizon Zero Dawn developers where they have a coarse raymarch and as soon as they get a dense enough sample they step back and switch to a higher res step until the density hits zero again.</p>
]]></description><pubDate>Tue, 31 Oct 2023 19:30:59 +0000</pubDate><link>https://news.ycombinator.com/item?id=38090218</link><dc:creator>mrsharpoblunto</dc:creator><comments>https://news.ycombinator.com/item?id=38090218</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=38090218</guid></item><item><title><![CDATA[New comment by mrsharpoblunto in "Dethrace: Reverse engineering the 1997 game Carmageddon"]]></title><description><![CDATA[
<p>There’s also OpenC1, which is an almost complete open source remake of Carmageddon. Jeff also has posted a ton of content around the internal workings and file formats etc on his dev blog - <a href="http://1amstudios.com/projects/openc1/" rel="nofollow">http://1amstudios.com/projects/openc1/</a>.</p>
]]></description><pubDate>Sat, 29 Apr 2023 15:32:45 +0000</pubDate><link>https://news.ycombinator.com/item?id=35753888</link><dc:creator>mrsharpoblunto</dc:creator><comments>https://news.ycombinator.com/item?id=35753888</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=35753888</guid></item><item><title><![CDATA[New comment by mrsharpoblunto in "Six months as a full time pancreas"]]></title><description><![CDATA[
<p>We have a new entry for the Dunning-Kruger hall of fame right here.</p>
]]></description><pubDate>Wed, 28 Sep 2022 14:38:54 +0000</pubDate><link>https://news.ycombinator.com/item?id=33008503</link><dc:creator>mrsharpoblunto</dc:creator><comments>https://news.ycombinator.com/item?id=33008503</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=33008503</guid></item><item><title><![CDATA[MemLab – An open source JavaScript memory leak testing framework from Meta]]></title><description><![CDATA[
<p>Article URL: <a href="https://facebookincubator.github.io//memlab/">https://facebookincubator.github.io//memlab/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=32815660">https://news.ycombinator.com/item?id=32815660</a></p>
<p>Points: 6</p>
<p># Comments: 0</p>
]]></description><pubDate>Mon, 12 Sep 2022 19:36:11 +0000</pubDate><link>https://facebookincubator.github.io//memlab/</link><dc:creator>mrsharpoblunto</dc:creator><comments>https://news.ycombinator.com/item?id=32815660</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=32815660</guid></item><item><title><![CDATA[New comment by mrsharpoblunto in "Fuite: a tool for finding memory leaks in web apps"]]></title><description><![CDATA[
<p>Hi bgirard! I support the FB team that works on this - it's on the roadmap to open source hopefully H1 next year :) It's continued to find significant leaks in other parts of our infra too, so hopefully it will be equally helpful to others. Great to see others looking at memory tools now too - I'll definitely be checking Fuite out</p>
]]></description><pubDate>Fri, 17 Dec 2021 20:39:08 +0000</pubDate><link>https://news.ycombinator.com/item?id=29598033</link><dc:creator>mrsharpoblunto</dc:creator><comments>https://news.ycombinator.com/item?id=29598033</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=29598033</guid></item><item><title><![CDATA[New comment by mrsharpoblunto in "Representing SHA-256 Hashes as Avatars"]]></title><description><![CDATA[
<p>Makes me wonder if you could effectively apply Chernoff faces (<a href="https://en.wikipedia.org/wiki/Chernoff_face" rel="nofollow">https://en.wikipedia.org/wiki/Chernoff_face</a>) to make different hashes easier for humans to recognize. TLDR map parts of the hash to modify aspects of a face (position, size, orientation of eyes, ears etc.) and you can take advantage of all the in-built circuitry in the human brain which can identify very small differences in facial appearance.<p>The idea is explored a bit in Peter Watts novel Blindsight - not for hashes, but visualizing high dimensional multivariate data via clouds of tormented faces :)</p>
]]></description><pubDate>Mon, 19 Apr 2021 23:51:07 +0000</pubDate><link>https://news.ycombinator.com/item?id=26869160</link><dc:creator>mrsharpoblunto</dc:creator><comments>https://news.ycombinator.com/item?id=26869160</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=26869160</guid></item><item><title><![CDATA[New comment by mrsharpoblunto in "Down the ergonomic keyboard rabbit hole"]]></title><description><![CDATA[
<p>I used the 4000 for a number of years, but found that it was causing problems in my right shoulder. The reason is the inclusion of a full numpad makes the keyboard so wide that your mouse hand has to sit really far to your right, causing your shoulder to be in a position of constant rotation and eventual strain. I eventually took a hacksaw to it to remove the numpad, which improved things - but it was the main reason I preferred the successor (sculpt) as the numpad is a separate detachable piece. These days I'm a split keyboard ergodox weirdo because it lets me put a trackpad in between the keyboard segments which means my shoulders can stay in a neutral position the whole time</p>
]]></description><pubDate>Sat, 10 Oct 2020 17:28:26 +0000</pubDate><link>https://news.ycombinator.com/item?id=24740419</link><dc:creator>mrsharpoblunto</dc:creator><comments>https://news.ycombinator.com/item?id=24740419</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=24740419</guid></item><item><title><![CDATA[New comment by mrsharpoblunto in "Twitter web app now runs ES6+, reducing polyfill bundle size by 83%"]]></title><description><![CDATA[
<p>Thats why you should also track other metrics when AB testing performance changes. During my time at IG, even small perf improvements almost always corresponded to stat-sig improvements in engagement metrics. 100ms is a pretty significant performance win, definitely not noise - the other thing is that those wins often scale by the quality of device & connection. So a 100ms win for a high end desktop on fiber internet could be multiple seconds for a low end mobile on 3G.</p>
]]></description><pubDate>Thu, 06 Aug 2020 21:50:37 +0000</pubDate><link>https://news.ycombinator.com/item?id=24075844</link><dc:creator>mrsharpoblunto</dc:creator><comments>https://news.ycombinator.com/item?id=24075844</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=24075844</guid></item><item><title><![CDATA[New comment by mrsharpoblunto in "Twitter web app now runs ES6+, reducing polyfill bundle size by 83%"]]></title><description><![CDATA[
<p>Why do you think its in the margin of error? I never mentioned the error bars on the statistic -  We did an extensive AB test and it was a 3% stat-sig improvement</p>
]]></description><pubDate>Thu, 06 Aug 2020 19:44:23 +0000</pubDate><link>https://news.ycombinator.com/item?id=24074679</link><dc:creator>mrsharpoblunto</dc:creator><comments>https://news.ycombinator.com/item?id=24074679</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=24074679</guid></item><item><title><![CDATA[New comment by mrsharpoblunto in "Twitter web app now runs ES6+, reducing polyfill bundle size by 83%"]]></title><description><![CDATA[
<p>I added support for ES2017 bundles for compatible browsers for Instagram.com a couple of years ago - we saw a 5.7% reduction in the size of our core consumer JavaScript bundles when we removed all ES2017 transpiling plugins from our build. In testing we found that the end-to-end load times for the feed page improved by 3% for users who were served the ES2017 bundle compared with those who were not (more info here <a href="https://instagram-engineering.com/making-instagram-com-faster-code-size-and-execution-optimizations-part-4-57668be796a8" rel="nofollow">https://instagram-engineering.com/making-instagram-com-faste...</a>)</p>
]]></description><pubDate>Thu, 06 Aug 2020 18:46:46 +0000</pubDate><link>https://news.ycombinator.com/item?id=24074130</link><dc:creator>mrsharpoblunto</dc:creator><comments>https://news.ycombinator.com/item?id=24074130</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=24074130</guid></item><item><title><![CDATA[New comment by mrsharpoblunto in "Micro-front ends in Webpack 5"]]></title><description><![CDATA[
<p>Can we please stop overcomplicating the terminology around frontend architecture? The whole Isomorphism craze was bad enough - lets not make this stuff more complex than it needs to be and create confusion by over-loading existing terms like containers.<p>Whats being proposed here are dynamically linked shared libraries, they expose some functionality & also consume dependencies (that may be shared). Theres no need to be talking about containers, federation, orchestration etc...</p>
]]></description><pubDate>Thu, 18 Jun 2020 20:53:19 +0000</pubDate><link>https://news.ycombinator.com/item?id=23567899</link><dc:creator>mrsharpoblunto</dc:creator><comments>https://news.ycombinator.com/item?id=23567899</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=23567899</guid></item><item><title><![CDATA[New comment by mrsharpoblunto in "Making Instagram.com faster: Part 3 – cache first"]]></title><description><![CDATA[
<p>Well you're loading the main feed page of instagram, you expect your feed photos to show right? We don't push random junk - its the content that the page needs to render something useful</p>
]]></description><pubDate>Fri, 11 Oct 2019 20:38:18 +0000</pubDate><link>https://news.ycombinator.com/item?id=21228243</link><dc:creator>mrsharpoblunto</dc:creator><comments>https://news.ycombinator.com/item?id=21228243</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=21228243</guid></item><item><title><![CDATA[New comment by mrsharpoblunto in "Making Instagram.com faster: Part 3 – cache first"]]></title><description><![CDATA[
<p>Can't reveal the exact numbers, but yeah - a lot of people use IG on web :) Mobile web was always the big focus for us though - most people assume its just a desktop only web version, but actually the mobile web version is much more fully featured than the desktop version.</p>
]]></description><pubDate>Fri, 11 Oct 2019 17:47:28 +0000</pubDate><link>https://news.ycombinator.com/item?id=21226671</link><dc:creator>mrsharpoblunto</dc:creator><comments>https://news.ycombinator.com/item?id=21226671</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=21226671</guid></item><item><title><![CDATA[New comment by mrsharpoblunto in "Making Instagram.com faster: Part 3 – cache first"]]></title><description><![CDATA[
<p>You're probably talking about the desktop web version I assume. If you check out the mobile web version its actually pretty close features wise, theres direct messaging, stories, creation with webgl filters,etc. The desktop version of these is admittedly lagging behind though - but I'm optimistic that desktop will get some more love in future :)</p>
]]></description><pubDate>Fri, 11 Oct 2019 17:39:13 +0000</pubDate><link>https://news.ycombinator.com/item?id=21226603</link><dc:creator>mrsharpoblunto</dc:creator><comments>https://news.ycombinator.com/item?id=21226603</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=21226603</guid></item></channel></rss>