<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>Wed, 24 Jun 2026 01:08:40 +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 "Did my old job only exist because of fraud?"]]></title><description><![CDATA[
<p>> If you ask permission for spending, it's a very onerous and frustrating process. If you just deploy stuff and get billed for it, it's much easier!<p>This point is underappreciated as it appears in many forms and can really help reconcile things that seems obviously wasteful (they may <i>actually</i> be wasteful, but sometimes financial structure makes this hard to determine in an honest capacity).<p>Capital costs and operational costs are a similar dichotomy.  When I was in graduate school, the university was breaking ground on new buildings at the same time that staff layoffs were underway.  On its face this seems grossly unreasonable, but staff salaries were paid from one funding bucket and capital improvements (new buildings) were funded by a completely independent state-level allocation process and those buildings that were breaking ground had essentially been locked in 5 to 10 years prior.</p>
]]></description><pubDate>Mon, 22 Jun 2026 11:50:04 +0000</pubDate><link>https://news.ycombinator.com/item?id=48628910</link><dc:creator>lscharen</dc:creator><comments>https://news.ycombinator.com/item?id=48628910</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48628910</guid></item><item><title><![CDATA[New comment by lscharen in "Ask HN: What are tools you have made for yourself since the advent of AI?"]]></title><description><![CDATA[
<p>I’ve used Claude to help write development utilities to support my retro computing interests.<p>The most complete tool being this unit testing support library for Apple IIgs assembly language development.<p><a href="https://www.npmjs.com/package/iigs-unit" rel="nofollow">https://www.npmjs.com/package/iigs-unit</a></p>
]]></description><pubDate>Tue, 09 Jun 2026 10:54:38 +0000</pubDate><link>https://news.ycombinator.com/item?id=48459352</link><dc:creator>lscharen</dc:creator><comments>https://news.ycombinator.com/item?id=48459352</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48459352</guid></item><item><title><![CDATA[New comment by lscharen in "Replacing a 3 GB SQLite db with a 10 MB FST (finite state transducer) binary"]]></title><description><![CDATA[
<p>An interesting property of DAWGs is that the compact/compressed variation (CDAWG) can be built in linear time.<p><a href="https://moodle2.units.it/pluginfile.php/718375/mod_resource/content/0/CDAWGS.pdf" rel="nofollow">https://moodle2.units.it/pluginfile.php/718375/mod_resource/...</a></p>
]]></description><pubDate>Sun, 10 May 2026 16:32:44 +0000</pubDate><link>https://news.ycombinator.com/item?id=48085341</link><dc:creator>lscharen</dc:creator><comments>https://news.ycombinator.com/item?id=48085341</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48085341</guid></item><item><title><![CDATA[New comment by lscharen in "Replacing a 3 GB SQLite db with a 10 MB FST (finite state transducer) binary"]]></title><description><![CDATA[
<p>I was halfway through the article and began thinking that his described data structure sounded <i>very</i> familiar to something I used about 20 years ago.<p>Sure enough, the first paragraph on the Wikipedia entry for DAFSA is:<p><i>DAFSA is the rediscovery of a data structure called Directed Acyclic Word Graph (DAWG)</i></p>
]]></description><pubDate>Sun, 10 May 2026 11:59:17 +0000</pubDate><link>https://news.ycombinator.com/item?id=48083244</link><dc:creator>lscharen</dc:creator><comments>https://news.ycombinator.com/item?id=48083244</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48083244</guid></item><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></channel></rss>