<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: lscharen</title><link>https://news.ycombinator.com/user?id=lscharen</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Sun, 03 May 2026 03:08:35 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=lscharen" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by lscharen in "Faster Than Dijkstra?"]]></title><description><![CDATA[
<p>An aside, but I recently learned -- if one is willing to use a very modest amount of memory -- summing floating-point numbers with no loss of precision is effectively a solved problem with the XSUM algorithm.<p><a href="https://glizen.com/radfordneal/ftp/xsum.pdf" rel="nofollow">https://glizen.com/radfordneal/ftp/xsum.pdf</a></p>
]]></description><pubDate>Fri, 13 Feb 2026 20:09:18 +0000</pubDate><link>https://news.ycombinator.com/item?id=47007170</link><dc:creator>lscharen</dc:creator><comments>https://news.ycombinator.com/item?id=47007170</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47007170</guid></item><item><title><![CDATA[New comment by lscharen in "A masochist's guide to web development"]]></title><description><![CDATA[
<p>> Notice I have changed the extension from .js to .mjs. Don’t worry, either extension can be used. <i>And you are going to run into issues with either choice</i><p>As someone that has used module systems from dojo to CommonsJS to AMD to ESM with webpack and esbuild and rollup and a few others thrown in ... this statement hits hard.</p>
]]></description><pubDate>Fri, 06 Jun 2025 16:24:27 +0000</pubDate><link>https://news.ycombinator.com/item?id=44202447</link><dc:creator>lscharen</dc:creator><comments>https://news.ycombinator.com/item?id=44202447</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44202447</guid></item><item><title><![CDATA[New comment by lscharen in "Emulator Debugging: Area 5150's Lake Effect"]]></title><description><![CDATA[
<p>I can see the point of trying to make a distinction, but it <i>is</i> muddy.<p>An emulator can operate on many different levels of trying to match the behavior of the underlying hardware.  CPU emulators can emulate at the opcode level (easier) or try to increase accuracy by emulating the CPU pipeline cycle by cycle (harder).<p>In this particular case, the distinction between an "emulator" and a "hardware emulator" seem apt because the article discusses that the required fixes needed to start tracking the state of individual pins of the hardware chips.  This, to me, represents that the emulation needed to "go down another level" and model the physical hardware to a certain degree to gain the needed accuracy.<p>Having a way to mark that difference is useful.</p>
]]></description><pubDate>Mon, 19 May 2025 18:14:34 +0000</pubDate><link>https://news.ycombinator.com/item?id=44032904</link><dc:creator>lscharen</dc:creator><comments>https://news.ycombinator.com/item?id=44032904</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44032904</guid></item><item><title><![CDATA[New comment by lscharen in "The principles of database design, or, the Truth is out there"]]></title><description><![CDATA[
<p><p><pre><code>  The states decided to add one digit to these numbers to further subdivide
  them. They did it differently, of course, and some didn't subdivide at all.
  Some of them have typos with "O" in place of "0" in a few places. Some
  states dropped the leading zeroes, and then added a suffix digit, which is fun.
</code></pre>
Any identifier that is comprised of digits but is not a number will have a hilariously large amount of mistakes and alterations like you describe.<p>In my own work I see this <i>all the time</i> with FIPS codes and parcel identifiers -- mostly because someone has round-tripped their data through Excel which will autocast the identifiers to numeric types.<p>Federal GEOIDs are particularly tough because the number of digits defines the GEOID type and there are valid types for 10, 11 and 12-digit numbers, so dropping a leading zero wreaks havoc on any automated processing.<p>There's a lot of ways to create the garbage in GIGO.</p>
]]></description><pubDate>Mon, 19 May 2025 16:15:23 +0000</pubDate><link>https://news.ycombinator.com/item?id=44031396</link><dc:creator>lscharen</dc:creator><comments>https://news.ycombinator.com/item?id=44031396</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44031396</guid></item><item><title><![CDATA[New comment by lscharen in "Dirty tricks 6502 programmers use (2019)"]]></title><description><![CDATA[
<p>There are 8 screen hole bytes in the bottom 8 text rows (64 bytes total) and 8 expansions slots, so the screen hole byte at offset "N" was often used to store up to 8 bytes of data[1] (one byte in each of the rows' screen hole area) by the expansion card's firmware in Slot "N".  Overwriting those bytes could result in system crashes and hardware hangs.<p>[1] <a href="https://retrocomputing.stackexchange.com/a/2541/3653" rel="nofollow">https://retrocomputing.stackexchange.com/a/2541/3653</a></p>
]]></description><pubDate>Wed, 16 Apr 2025 19:13:16 +0000</pubDate><link>https://news.ycombinator.com/item?id=43709228</link><dc:creator>lscharen</dc:creator><comments>https://news.ycombinator.com/item?id=43709228</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43709228</guid></item><item><title><![CDATA[New comment by lscharen in "Ask HN: What's the best implementation of Conway's Game of Life?"]]></title><description><![CDATA[
<p>I thought that SmoothLife was fascinating when I found it.<p>At the time I was doing a lot of simulation work, so methods for bridging discrete and continuous domains were interesting.<p><a href="https://github.com/duckythescientist/SmoothLife">https://github.com/duckythescientist/SmoothLife</a></p>
]]></description><pubDate>Thu, 13 Feb 2025 12:29:14 +0000</pubDate><link>https://news.ycombinator.com/item?id=43035223</link><dc:creator>lscharen</dc:creator><comments>https://news.ycombinator.com/item?id=43035223</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43035223</guid></item><item><title><![CDATA[New comment by lscharen in "Vitest vs. Jest"]]></title><description><![CDATA[
<p>I just recently did a website conversion that used vite and took a look at both vitest and playwright.<p>Ended up going with playwright for the “batteries included” browser support and because we use .Net Core for the backend.<p>dotnet doesn’t always get the best support from pure JS/TS projects, so it seemed like a reasonable hedge.</p>
]]></description><pubDate>Tue, 26 Nov 2024 13:36:28 +0000</pubDate><link>https://news.ycombinator.com/item?id=42245590</link><dc:creator>lscharen</dc:creator><comments>https://news.ycombinator.com/item?id=42245590</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42245590</guid></item><item><title><![CDATA[New comment by lscharen in "Phased Array Microphone (2023)"]]></title><description><![CDATA[
<p>Reminds me of Intellectual Venture's Optical Fence developed to track and kill mosquitoes with short laser pulses.<p>As a side-effect of the precision needed to spatially locate the mosquitoes, they could detect different wing beat frequencies that allowed target discrimination by sex and species.</p>
]]></description><pubDate>Fri, 22 Nov 2024 20:01:20 +0000</pubDate><link>https://news.ycombinator.com/item?id=42216926</link><dc:creator>lscharen</dc:creator><comments>https://news.ycombinator.com/item?id=42216926</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42216926</guid></item><item><title><![CDATA[New comment by lscharen in "Do not taunt happy fun branch predictor (2023)"]]></title><description><![CDATA[
<p>I was not aware of this (2015) work -- very nice!<p>A couple of pull-quotes from the paper to summarize:<p><i>Much work has been done on trying to improve the accuracy of summation. Some methods aim to somewhat improve accuracy at little computational cost, but do not guarantee that the result is the correctly rounded exact sum.</i><p><i>Many methods have been developed that instead compute the exact sum of a set of floating-point values, and then correctly round this exact sum to the closest floating-point value. This obviously would be preferable to any non-exact method, if the exact computation could be done sufficiently quickly</i><p><i>Exact summation methods fall into two classes — those implemented using standard floating point arithmetic operations available in hardware on most current processors, such as the methods of Zhu and Hayes (2010), and those that instead perform the summation with integer arithmetic, using a “superaccumulator”.</i><p><i>I present two new methods for exactly summing a set of floating-point numbers, and then correctly rounding to the nearest floating-point number. ...  One method uses a “small” superaccumulator with sixty-seven 64-bit chunks, each with 32-bit overlap with the next chunk, allowing carry propagation to be done infrequently. The small superaccumulator is used alone when summing a small number of terms. For big summations, a “large” superaccumulator is used as well. It consists of 4096 64-bit chunks, one for every possible combination of exponent bits and sign bit, plus counts of when each chunk needs to be transferred to the small superaccumulator.</i><p><i>On modern 64-bit processors, exactly summing a large array using this combination of large and small superaccumulators takes less than twice the time of simple, inexact, ordered summation, with a serial implementation </i></p>
]]></description><pubDate>Wed, 03 Jul 2024 17:53:46 +0000</pubDate><link>https://news.ycombinator.com/item?id=40868382</link><dc:creator>lscharen</dc:creator><comments>https://news.ycombinator.com/item?id=40868382</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40868382</guid></item><item><title><![CDATA[New comment by lscharen in "Do not taunt happy fun branch predictor (2023)"]]></title><description><![CDATA[
<p>Surprisingly there are different algorithms for doing something as simple as summing up a list of numbers.<p>The naïve way of adding numbers one-by-one in a loop is an obvious way, but there are more sophisticated methods that give better bounds of the total accumulated error; Kahan summation[1] being one of the better-known ones.<p>Like most things, it can get complicated depending on the specific context.  For streaming data, adding numbers one at a time may be the only option.  But what if one could use a fixed-size buffer of N numbers?  When a new number arrives what should be done? Take a partial sum of some subset of the N numbers in the buffer and add that to a cumulative total? If a subset if chosen, how? Are there provable (improved) error bounds for the subset selection method?<p>Fun stuff.<p>[1] <a href="https://en.wikipedia.org/wiki/Kahan_summation_algorithm" rel="nofollow">https://en.wikipedia.org/wiki/Kahan_summation_algorithm</a></p>
]]></description><pubDate>Wed, 03 Jul 2024 16:21:13 +0000</pubDate><link>https://news.ycombinator.com/item?id=40867464</link><dc:creator>lscharen</dc:creator><comments>https://news.ycombinator.com/item?id=40867464</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40867464</guid></item><item><title><![CDATA[New comment by lscharen in "America's Booziest and Driest Counties"]]></title><description><![CDATA[
<p>Agreed, the differences aren't as stark as the map seems.  Almost all of the states fall between 15% and 25% percent of the population.<p>Wisconsin stands out at 25.29% of the population labeled as excessive drinkers due to the large amount of dark red, but South Dakota is at 22.43% -- less than 3% difference, but that state is mostly orange.<p>For a county example, Hardin, TX is 19.13% and Rusk, WI is 20.82%.  A difference of just under 1.7%, but the Wisconsin county is bright red and the Texas county is orange.</p>
]]></description><pubDate>Thu, 02 May 2024 12:50:10 +0000</pubDate><link>https://news.ycombinator.com/item?id=40235583</link><dc:creator>lscharen</dc:creator><comments>https://news.ycombinator.com/item?id=40235583</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40235583</guid></item><item><title><![CDATA[New comment by lscharen in "Someone built an LLM-powered Slay the Spire bot"]]></title><description><![CDATA[
<p>This is giving strong "Using TDD to build a Sudoku solver" vibes[1].<p>Let's use some hot tools to solve a problem.  Sorta solve a problem. Well, AI doesn't actually know abstract strategy, so maybe it'll work later with a different AI. But it autogenerated some basic logic that only had a few bugs!<p>[1] <a href="https://ravimohan.blogspot.com/2007/04/learning-from-sudoku-solvers.html" rel="nofollow">https://ravimohan.blogspot.com/2007/04/learning-from-sudoku-...</a></p>
]]></description><pubDate>Thu, 25 Apr 2024 15:03:04 +0000</pubDate><link>https://news.ycombinator.com/item?id=40158427</link><dc:creator>lscharen</dc:creator><comments>https://news.ycombinator.com/item?id=40158427</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40158427</guid></item><item><title><![CDATA[New comment by lscharen in "iPhone 15 and iPhone 15 Plus"]]></title><description><![CDATA[
<p>> Also, I think some iPhone models have emergency satellite communications already, no?<p>Yes, Emergency SOS. This was the feature that allowed a family to be located and rescued recently during the Hawaii fires.<p><a href="https://www.macworld.com/article/2027967/iphone-14-emergency-sos-via-satellite-hawaii-maui-wildfires.html" rel="nofollow noreferrer">https://www.macworld.com/article/2027967/iphone-14-emergency...</a></p>
]]></description><pubDate>Wed, 13 Sep 2023 11:22:25 +0000</pubDate><link>https://news.ycombinator.com/item?id=37495250</link><dc:creator>lscharen</dc:creator><comments>https://news.ycombinator.com/item?id=37495250</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=37495250</guid></item><item><title><![CDATA[New comment by lscharen in "Trying to find some life on the Usenet (2020)"]]></title><description><![CDATA[
<p>This guy just (like a few weeks ago) started to put together a decentralized newsgroup toolset based on the NNTP protocol.<p><a href="https://dialup.cafe/@vga256/110609250159276517" rel="nofollow noreferrer">https://dialup.cafe/@vga256/110609250159276517</a></p>
]]></description><pubDate>Tue, 25 Jul 2023 12:48:07 +0000</pubDate><link>https://news.ycombinator.com/item?id=36861441</link><dc:creator>lscharen</dc:creator><comments>https://news.ycombinator.com/item?id=36861441</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=36861441</guid></item><item><title><![CDATA[New comment by lscharen in "Attention Is Off By One"]]></title><description><![CDATA[
<p>This is similar the the (old) trick of adding a Uniform distribution component to a Mixture of Gaussians model.  It doesn't really change the math wrt parameter optimization and probability evaluation, but provides a place to capture "background" or "unimportant" data points and improve the model robustness to outliers.<p>The motivation follows from the same problem the author points out in the original softmax formulation that it always "forces a choice" when it may be more useful to put a "Not Applicable" option into the model itself.<p><a href="https://link.springer.com/article/10.1007/s10260-021-00578-2" rel="nofollow noreferrer">https://link.springer.com/article/10.1007/s10260-021-00578-2</a></p>
]]></description><pubDate>Mon, 24 Jul 2023 20:56:53 +0000</pubDate><link>https://news.ycombinator.com/item?id=36854087</link><dc:creator>lscharen</dc:creator><comments>https://news.ycombinator.com/item?id=36854087</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=36854087</guid></item><item><title><![CDATA[New comment by lscharen in "SVB shows that there are few libertarians in a financial foxhole"]]></title><description><![CDATA[
<p>If SVB were <i>originating</i> mortgages then, yes, that should have helped because then, like every other originator, they would have immediately sold the mortgage into the secondary market where it would be turned into a Mortgage-Backed Security and SVB would have cash on-hand and unloaded the long-duration risk.<p>Instead, they were the ones <i>buying</i> the MBSs and <i>taking on</i> the long-duration risk.</p>
]]></description><pubDate>Mon, 13 Mar 2023 21:30:46 +0000</pubDate><link>https://news.ycombinator.com/item?id=35143074</link><dc:creator>lscharen</dc:creator><comments>https://news.ycombinator.com/item?id=35143074</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=35143074</guid></item><item><title><![CDATA[New comment by lscharen in "HTML with Superpowers: An Introduction to Web Components"]]></title><description><![CDATA[
<p>Esri’s Calcite Component library is another.<p><a href="https://github.com/Esri/calcite-components">https://github.com/Esri/calcite-components</a></p>
]]></description><pubDate>Wed, 11 Jan 2023 01:52:11 +0000</pubDate><link>https://news.ycombinator.com/item?id=34334092</link><dc:creator>lscharen</dc:creator><comments>https://news.ycombinator.com/item?id=34334092</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=34334092</guid></item><item><title><![CDATA[New comment by lscharen in "Ask HN: Concepts that clicked only years after you first encountered them?"]]></title><description><![CDATA[
<p>That’s a great point. Seeing lots of mocks and assertions that certain functions are called is often much ado about nothing since no actual code functionality is exercised. I do sometimes see the return value functionality of mocks used as a stub, just because the dev hasn’t internalized the distinction and can “make it work” with a mocking library.<p>One of the only legit use cases for mocks that I have personally come across is validating things like a sequence of API calls to an external service, or queries to a database where there is a check that certain efficiencies are guaranteed, e.g. verify that an N+1 select problem doesn’t creep in, or knowing that a app-level caching layer will prevent redundant API calls.</p>
]]></description><pubDate>Sun, 01 Jan 2023 15:41:09 +0000</pubDate><link>https://news.ycombinator.com/item?id=34207156</link><dc:creator>lscharen</dc:creator><comments>https://news.ycombinator.com/item?id=34207156</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=34207156</guid></item><item><title><![CDATA[New comment by lscharen in "SBF Written Testimony Notes 12/12/2022"]]></title><description><![CDATA[
<p>I think even more so than “If I can put things eloquently enough, perhaps they'll understand why I did what I did.", it can be motivated as “I don’t think I’m a bad person and I didn’t intend to cause harm; if people are still mad at me, it must be because they don’t understand and I should explain harder.”</p>
]]></description><pubDate>Wed, 14 Dec 2022 20:29:37 +0000</pubDate><link>https://news.ycombinator.com/item?id=33990013</link><dc:creator>lscharen</dc:creator><comments>https://news.ycombinator.com/item?id=33990013</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=33990013</guid></item><item><title><![CDATA[New comment by lscharen in "What if you delete the “Program Files” folder in Windows? [video]"]]></title><description><![CDATA[
<p>I mean, who didn’t?</p>
]]></description><pubDate>Tue, 13 Dec 2022 01:18:43 +0000</pubDate><link>https://news.ycombinator.com/item?id=33963278</link><dc:creator>lscharen</dc:creator><comments>https://news.ycombinator.com/item?id=33963278</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=33963278</guid></item></channel></rss>