<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: smcameron</title><link>https://news.ycombinator.com/user?id=smcameron</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Tue, 01 Sep 2026 15:56:40 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=smcameron" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by smcameron in "Show HN: Rex, a parallel functional language for scientific workflows"]]></title><description><![CDATA[
<p>Presumably, not to be confused with Rexx[1].  Namespace collisions ... or perhaps "wrecks".<p>1. <a href="https://en.wikipedia.org/wiki/Rexx" rel="nofollow">https://en.wikipedia.org/wiki/Rexx</a>.</p>
]]></description><pubDate>Sat, 22 Aug 2026 02:03:18 +0000</pubDate><link>https://news.ycombinator.com/item?id=49395889</link><dc:creator>smcameron</dc:creator><comments>https://news.ycombinator.com/item?id=49395889</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49395889</guid></item><item><title><![CDATA[New comment by smcameron in "Buy Your Friends Batteries"]]></title><description><![CDATA[
<p>Must be nice.  I live in Virginia, outside Richmond.  For the past 8 years, the power company has failed to provide me with even 3 nines of power availability (that means at least 9 hours of outage every year for the past 8 years. Just had a 17 hour outage as of last night, lost everything in my fridge. Again.)</p>
]]></description><pubDate>Mon, 17 Aug 2026 18:53:11 +0000</pubDate><link>https://news.ycombinator.com/item?id=49335849</link><dc:creator>smcameron</dc:creator><comments>https://news.ycombinator.com/item?id=49335849</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49335849</guid></item><item><title><![CDATA[New comment by smcameron in "Incident with Github.com"]]></title><description><![CDATA[
<p>Thanks for pointing me to that! Definitely some cool ideas in there.  Almost seems like some of those ideas could be incorporated into git itself.</p>
]]></description><pubDate>Mon, 17 Aug 2026 15:38:10 +0000</pubDate><link>https://news.ycombinator.com/item?id=49332778</link><dc:creator>smcameron</dc:creator><comments>https://news.ycombinator.com/item?id=49332778</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49332778</guid></item><item><title><![CDATA[New comment by smcameron in "Incident with Github.com [resolved]"]]></title><description><![CDATA[
<p>I wonder if you could replace the whole github issues feature with just a directory within each git repo named "Issues/".  Within that, have another couple directories, "open/", and "closed/".  Within "open", have a directory per issue, e.g. "such-and-such-does-not-work/".  Within each issue directory, have "issue.txt", or "issue.md", which takes the place of the page for each issue on github.  You could store other things in the issue directory which "issue.md" could reference, e.g. screen shots, logs, whatever.  When an issue is closed, it gets git mv'ed to "closed/".  You want to see a list of open issues sorted by time? Just "ls -ltr Issues/open".  Want to see open issues related to the frakfrobber?  "grep -i frakfrobber Issues/open/*".  Add a comment to an issue?  "vim Issues/open/my-issue/issue.md; git add !$; git commit -m 'Updated my-issue';" It would move the entire issues subsystem back under control of bare "git" and make it portable.  Undoubtedly, I am not the first to think of such a thing.</p>
]]></description><pubDate>Mon, 17 Aug 2026 14:58:57 +0000</pubDate><link>https://news.ycombinator.com/item?id=49332135</link><dc:creator>smcameron</dc:creator><comments>https://news.ycombinator.com/item?id=49332135</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49332135</guid></item><item><title><![CDATA[New comment by smcameron in "50k Boat Names"]]></title><description><![CDATA[
<p>I built a model sailboat[1] one time, and if it were for myself and not a gift, I would have named it "Sea Hacker".<p>[1] It was "Schooner Irene" from here: <a href="http://www.bearospaceindustries.com/boats2.html" rel="nofollow">http://www.bearospaceindustries.com/boats2.html</a></p>
]]></description><pubDate>Mon, 10 Aug 2026 20:46:48 +0000</pubDate><link>https://news.ycombinator.com/item?id=49249476</link><dc:creator>smcameron</dc:creator><comments>https://news.ycombinator.com/item?id=49249476</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49249476</guid></item><item><title><![CDATA[New comment by smcameron in "No one can afford to make Myst games anymore"]]></title><description><![CDATA[
<p>I recently was sent patches for my open source space game[1] that added cascaded shadow mapping[1] and gravitational lensing[3] for black holes, both things that I've wanted for years, but found too difficult to tackle.  The patches were made with Claude Opus doing pretty much all the work, guided by a human.  The quality of the patches was, in my estimation, pretty damn good.  It didn't do weird things, it used the infrastructure already present, it looked like what I wish I could have written.  It was clearly not plagiarized in bulk, in as much as it was so well integrated with my existing code, though I imagine all CSM code/shaders and gravitational lensing shaders tend to look pretty similar, or at least do similar things.  It was eye-opening to find out that Claude was capable of doing such a thing.<p>Neither of these changes affect the game play, they are both purely aesthetic in their effects, without introducing anything which might be called "art" in a traditional sense, unless you count crudely modeling the behavior of light in shaders and C code as "art", but at that point the distinction between code and art vanishes.  I had previously had a "no-ai" policy in my codebase, just as a kind of over-reaction, and kind of, "if I ban it, then I don't have to think about it" response.  But these patches... after studying them, there's just no way I wasn't accepting them.<p>[1] <a href="https://github.com/smcameron/space-nerds-in-space" rel="nofollow">https://github.com/smcameron/space-nerds-in-space</a> [2] <a href="https://en.wikipedia.org/wiki/Shadow_mapping" rel="nofollow">https://en.wikipedia.org/wiki/Shadow_mapping</a> [3] <a href="https://en.wikipedia.org/wiki/Gravitational_lens" rel="nofollow">https://en.wikipedia.org/wiki/Gravitational_lens</a></p>
]]></description><pubDate>Sat, 08 Aug 2026 18:17:41 +0000</pubDate><link>https://news.ycombinator.com/item?id=49224365</link><dc:creator>smcameron</dc:creator><comments>https://news.ycombinator.com/item?id=49224365</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49224365</guid></item><item><title><![CDATA[New comment by smcameron in "The git history command"]]></title><description><![CDATA[
<p>No, you don't commit trash to a public branch, EVER, if you can help it.  Your commits are as perfect as you can make them, and that does not mean <i>squashed</i> in a trash compactor.  That means one logical idea per commit, compiles and works as perfectly as you can make it.  Use stgit, and this is <i>easy</i>.  You <i>do not</i> break git bisect.  No need to squash your trash in a trash compactor.  Your standards are <i>lower</i> than mine, not higher.</p>
]]></description><pubDate>Sun, 19 Jul 2026 05:01:04 +0000</pubDate><link>https://news.ycombinator.com/item?id=48965127</link><dc:creator>smcameron</dc:creator><comments>https://news.ycombinator.com/item?id=48965127</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48965127</guid></item><item><title><![CDATA[New comment by smcameron in "Speech Recognition and TTS in less than 500kb"]]></title><description><![CDATA[
<p>For TTS I wonder how this compares to nanotts[1] with the en-GB voice, which is sort of unreasonably good.<p>[1] <a href="https://github.com/gmn/nanotts" rel="nofollow">https://github.com/gmn/nanotts</a></p>
]]></description><pubDate>Sat, 18 Jul 2026 22:43:26 +0000</pubDate><link>https://news.ycombinator.com/item?id=48963191</link><dc:creator>smcameron</dc:creator><comments>https://news.ycombinator.com/item?id=48963191</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48963191</guid></item><item><title><![CDATA[New comment by smcameron in "Stenchill: 3D Printable Solder Paste Stencil Generator"]]></title><description><![CDATA[
<p>At my local hackerspace, people sometimes laser cut solder stencils out of transparencies -- the plastic sheets you use with overhead projecters.  The trick is to put a piece of paper under the transparency when laser cutting, otherwise they tend to melt too much and deform, but somehow the piece of paper prevents this, maybe the laser needs something non-transparent to interact with to get the heat in quickly and move on quickly. Anyway they worked pretty well, but obviously not as durable as steel, so after some number of uses they start to wear out. (Can't remember how many really, but probably something like 20?  more than just 3 or 4 I think. Probably also depends on the density of holes, a big swiss cheesed area will fail sooner.)  If the circuit's not too big you can cut several stencils out of one transparency all in one go.</p>
]]></description><pubDate>Sat, 18 Jul 2026 15:49:46 +0000</pubDate><link>https://news.ycombinator.com/item?id=48959187</link><dc:creator>smcameron</dc:creator><comments>https://news.ycombinator.com/item?id=48959187</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48959187</guid></item><item><title><![CDATA[New comment by smcameron in "The git history command"]]></title><description><![CDATA[
<p>That breaks git bisect.</p>
]]></description><pubDate>Tue, 14 Jul 2026 13:07:31 +0000</pubDate><link>https://news.ycombinator.com/item?id=48906264</link><dc:creator>smcameron</dc:creator><comments>https://news.ycombinator.com/item?id=48906264</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48906264</guid></item><item><title><![CDATA[New comment by smcameron in "The git history command"]]></title><description><![CDATA[
<p>Disagree.  You need small, git bisectable commits.  Use stgit to do it and it's nearly effortless.</p>
]]></description><pubDate>Tue, 14 Jul 2026 04:52:47 +0000</pubDate><link>https://news.ycombinator.com/item?id=48902428</link><dc:creator>smcameron</dc:creator><comments>https://news.ycombinator.com/item?id=48902428</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48902428</guid></item><item><title><![CDATA[New comment by smcameron in "The Git history command deserves more attention"]]></title><description><![CDATA[
<p>> Working with lots of changes in parallel on git can be painful. You end up juggling branches and commits, and running scary rebase -i commands that can leave your tree in a half-broken state if you so much as sneeze.<p>I mean, just use stgit[1] to maintain a stack of patches instead of parallel branches, it's <i>so</i> much better.  You can <i>easily</i> wrangle <i>thousands</i> of patches (aka commits) with stgit.<p>A lot of people, on first encountering stgit, read a bit about it, think "why do I need this?  I can do the same thing with just plain ol' git.".  Yeah, you can.  But not at scale.  Not practically.  Not with thousands of commits.  And it makes the case when you just have a few tens of commits absolutely trivial.  Try it for awhile and you'll find it indispensible.<p>[1] <a href="https://stacked-git.github.io/" rel="nofollow">https://stacked-git.github.io/</a></p>
]]></description><pubDate>Tue, 14 Jul 2026 04:47:51 +0000</pubDate><link>https://news.ycombinator.com/item?id=48902403</link><dc:creator>smcameron</dc:creator><comments>https://news.ycombinator.com/item?id=48902403</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48902403</guid></item><item><title><![CDATA[New comment by smcameron in "GhostLock, a stack-UAF that has existed in all Linux distributions for 15 years"]]></title><description><![CDATA[
<p>I've heard of use after free, but I've only heard UAF to mean Ukraine Armed Forces.</p>
]]></description><pubDate>Mon, 13 Jul 2026 05:15:17 +0000</pubDate><link>https://news.ycombinator.com/item?id=48888194</link><dc:creator>smcameron</dc:creator><comments>https://news.ycombinator.com/item?id=48888194</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48888194</guid></item><item><title><![CDATA[New comment by smcameron in "The primary purpose of code review is to find code that will be hard to maintain"]]></title><description><![CDATA[
<p>He's a mathematician, so what he means by "in general", is "in every possible case", or "without exception", so what I think he means is, "not all bugs will be found by code review." I agree it probably could have been made more clear.</p>
]]></description><pubDate>Thu, 02 Jul 2026 14:25:58 +0000</pubDate><link>https://news.ycombinator.com/item?id=48762120</link><dc:creator>smcameron</dc:creator><comments>https://news.ycombinator.com/item?id=48762120</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48762120</guid></item><item><title><![CDATA[New comment by smcameron in "Getting Creative with Perlin Noise Fields"]]></title><description><![CDATA[
<p>Curl Noise[1] is also cool.  I've used it to create some gas giant planets for video games [2] though I used opensimplex noise [3] rather than perlin as the base noise, but either will work.<p>[1] <a href="https://www.cs.ubc.ca/~rbridson/docs/bridson-siggraph2007-curlnoise.pdf" rel="nofollow">https://www.cs.ubc.ca/~rbridson/docs/bridson-siggraph2007-cu...</a>
[2] <a href="https://github.com/smcameron/gaseous-giganticus" rel="nofollow">https://github.com/smcameron/gaseous-giganticus</a>
[3] <a href="https://en.wikipedia.org/wiki/OpenSimplex_noise" rel="nofollow">https://en.wikipedia.org/wiki/OpenSimplex_noise</a></p>
]]></description><pubDate>Tue, 16 Jun 2026 18:35:18 +0000</pubDate><link>https://news.ycombinator.com/item?id=48559906</link><dc:creator>smcameron</dc:creator><comments>https://news.ycombinator.com/item?id=48559906</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48559906</guid></item><item><title><![CDATA[New comment by smcameron in "The Forgotten Art of the LAN Party (2023)"]]></title><description><![CDATA[
<p>My own efforts in this area amount to creating the game, Space Nerds in Space[1], which is a LAN game in which everyone gathers in a room with their computers, and each computer acts as one of the stations on the bridge of a starship: navigation, weapons, science, comms, engineering, damage control, etc.  Multi-bridge is supported as well, so if you can overcome the insurmountable task of gathering enough people together, you can indulge in that luxury. This is in the same genre as such games as Artemis: spaceship bridge simulator and Empty Epsilon, but with the additional hurdle that it's linux only.  Good luck mustering enough spacenerds.  If there are missing features, well, it's open source, so it's got that going for it, which is nice.<p>[1] <a href="https://smcameron.github.io/space-nerds-in-space" rel="nofollow">https://smcameron.github.io/space-nerds-in-space</a></p>
]]></description><pubDate>Wed, 27 May 2026 05:22:05 +0000</pubDate><link>https://news.ycombinator.com/item?id=48290009</link><dc:creator>smcameron</dc:creator><comments>https://news.ycombinator.com/item?id=48290009</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48290009</guid></item><item><title><![CDATA[New comment by smcameron in "Curly braces: An evolution of Unix and C"]]></title><description><![CDATA[
<p>> I don’t know what C++ thinks it’s doing anymore.<p>C++, when increment becomes excrement, decrement back to C.</p>
]]></description><pubDate>Mon, 25 May 2026 04:51:22 +0000</pubDate><link>https://news.ycombinator.com/item?id=48263493</link><dc:creator>smcameron</dc:creator><comments>https://news.ycombinator.com/item?id=48263493</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48263493</guid></item><item><title><![CDATA[New comment by smcameron in "Lost Images from the 1945 Trinity Nuclear Test Restored"]]></title><description><![CDATA[
<p>Funny enough Adam Savage just posted a youtube video about building a replica of the demon core and the box to hold it. <a href="https://www.youtube.com/watch?v=V1Y4UR8xqxA" rel="nofollow">https://www.youtube.com/watch?v=V1Y4UR8xqxA</a></p>
]]></description><pubDate>Thu, 21 May 2026 19:23:43 +0000</pubDate><link>https://news.ycombinator.com/item?id=48227743</link><dc:creator>smcameron</dc:creator><comments>https://news.ycombinator.com/item?id=48227743</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48227743</guid></item><item><title><![CDATA[New comment by smcameron in "F-35 is built for the wrong war"]]></title><description><![CDATA[
<p>Ukraine, in operation spiderweb, has already launched drones from containers deep within Russia to damage "... one third of Russia's strategic cruise missile carriers, estimated to be worth $US7 billion ..."<p><a href="https://en.wikipedia.org/wiki/Operation_Spiderweb" rel="nofollow">https://en.wikipedia.org/wiki/Operation_Spiderweb</a></p>
]]></description><pubDate>Mon, 20 Apr 2026 21:19:00 +0000</pubDate><link>https://news.ycombinator.com/item?id=47840947</link><dc:creator>smcameron</dc:creator><comments>https://news.ycombinator.com/item?id=47840947</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47840947</guid></item><item><title><![CDATA[New comment by smcameron in "One item purchased, ten emails"]]></title><description><![CDATA[
<p>Not to mention the endless stream of marketing emails you'll get forever after.</p>
]]></description><pubDate>Wed, 08 Apr 2026 22:27:08 +0000</pubDate><link>https://news.ycombinator.com/item?id=47697084</link><dc:creator>smcameron</dc:creator><comments>https://news.ycombinator.com/item?id=47697084</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47697084</guid></item></channel></rss>