<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: sigil</title><link>https://news.ycombinator.com/user?id=sigil</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Sun, 26 Apr 2026 10:19:08 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=sigil" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by sigil in "GPT-5.5"]]></title><description><![CDATA[
<p>"Every augmentation is also an amputation." – McLuhan<p><a href="https://driverlesscrocodile.com/technology/neal-stephenson-on-augmentation-as-amputation/" rel="nofollow">https://driverlesscrocodile.com/technology/neal-stephenson-o...</a></p>
]]></description><pubDate>Fri, 24 Apr 2026 00:53:20 +0000</pubDate><link>https://news.ycombinator.com/item?id=47884206</link><dc:creator>sigil</dc:creator><comments>https://news.ycombinator.com/item?id=47884206</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47884206</guid></item><item><title><![CDATA[New comment by sigil in "Self hosting my media library with Jellyfin and Wireguard on Hetzner"]]></title><description><![CDATA[
<p>There's a reason Spotify might force shuffle play on the free tier. It isn't <i>solely</i> to annoy you into upgrading. Royalties are 2x - 5x higher for interactive vs non-interactive streaming plays.</p>
]]></description><pubDate>Tue, 06 Jan 2026 20:56:23 +0000</pubDate><link>https://news.ycombinator.com/item?id=46518595</link><dc:creator>sigil</dc:creator><comments>https://news.ycombinator.com/item?id=46518595</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46518595</guid></item><item><title><![CDATA[New comment by sigil in "Norway wealth fund to vote for human rights report at Microsoft, against Nadella"]]></title><description><![CDATA[
<p>Are human rights concerns running cover for more straightforward financial interests here? Norway and Saudi Arabia are both petrostates with large sovereign wealth funds.</p>
]]></description><pubDate>Sun, 30 Nov 2025 19:42:26 +0000</pubDate><link>https://news.ycombinator.com/item?id=46099710</link><dc:creator>sigil</dc:creator><comments>https://news.ycombinator.com/item?id=46099710</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46099710</guid></item><item><title><![CDATA[New comment by sigil in "Font-size-adjust Is Useful"]]></title><description><![CDATA[
<p>> I believe the bounding box has to fit all the possible ascenders and descenders etc., so the em-height is proportioned within the box to whatever the highest and lowest marks in the typeface are.<p>I wish it were this simple.<p>The em square != the bounding box of all glyphs. The em square is defined by the font's ascent & descent vertical metrics, which are set by the font designer.<p>There are reasons why you might want glyphs to escape the em square. Perhaps you're typesetting English text without accent marks above capitals, and using the bounding box's vertical maximum would introduce too much line space. Or perhaps you're using a decorative font which is designed to escape the em square, and potentially even overlap the em squares of lines above and below, like this: <a href="https://alangrow.com/images/blog/script-font-escaping-em-square.png" rel="nofollow">https://alangrow.com/images/blog/script-font-escaping-em-squ...</a><p>To make matters worse, and mostly for legacy reasons, there are THREE different sets of ascent & descent metrics in a font file. Which is used depends on your OS and the software rendering the font. But the Webfont Strategy described here is a nice one, because you can use the bounding box (winAscent & winDescent) if you really need to, say because any glyph might be used and you want to avoid em square escape: <a href="https://glyphsapp.com/learn/vertical-metrics" rel="nofollow">https://glyphsapp.com/learn/vertical-metrics</a></p>
]]></description><pubDate>Sat, 26 Jul 2025 21:54:12 +0000</pubDate><link>https://news.ycombinator.com/item?id=44697213</link><dc:creator>sigil</dc:creator><comments>https://news.ycombinator.com/item?id=44697213</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44697213</guid></item><item><title><![CDATA[Mental Models and Potemkin Understanding in LLMs]]></title><description><![CDATA[
<p>Article URL: <a href="https://alangrow.com/blog/mental-models-and-potemkin-understanding-in-llms">https://alangrow.com/blog/mental-models-and-potemkin-understanding-in-llms</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=44424732">https://news.ycombinator.com/item?id=44424732</a></p>
<p>Points: 1</p>
<p># Comments: 0</p>
]]></description><pubDate>Mon, 30 Jun 2025 15:50:57 +0000</pubDate><link>https://alangrow.com/blog/mental-models-and-potemkin-understanding-in-llms</link><dc:creator>sigil</dc:creator><comments>https://news.ycombinator.com/item?id=44424732</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44424732</guid></item><item><title><![CDATA[New comment by sigil in ".localhost Domains"]]></title><description><![CDATA[
<p>nginx validates hostnames per the spec, and to your question specifically it rejects requests that would put a slash in $host: <a href="https://github.com/nginx/nginx/blob/b6e7eb0f5792d7a52d2675ee3906e502d63c48e3/src/http/ngx_http_request.c#L2221">https://github.com/nginx/nginx/blob/b6e7eb0f5792d7a52d2675ee...</a></p>
]]></description><pubDate>Thu, 10 Apr 2025 20:34:22 +0000</pubDate><link>https://news.ycombinator.com/item?id=43647790</link><dc:creator>sigil</dc:creator><comments>https://news.ycombinator.com/item?id=43647790</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43647790</guid></item><item><title><![CDATA[New comment by sigil in ".localhost Domains"]]></title><description><![CDATA[
<p>This nginx local dev config snippet is one-and-done:<p><pre><code>  # Proxy to a backend server based on the hostname.
  if (-d vhosts/$host) {
    proxy_pass http://unix:vhosts/$host/server.sock;
    break;
  }
</code></pre>
Your local dev servers must listen on a unix domain socket, and you must drop a symlink to them at eg /var/lib/nginx/vhosts/inclouds.localhost/server.sock.<p>Not a single command, and you still have to add hostname resolution. But you don't have to programmatically edit config files or restart the proxy to stand up a new dev server!</p>
]]></description><pubDate>Thu, 10 Apr 2025 16:41:10 +0000</pubDate><link>https://news.ycombinator.com/item?id=43645675</link><dc:creator>sigil</dc:creator><comments>https://news.ycombinator.com/item?id=43645675</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43645675</guid></item><item><title><![CDATA[New comment by sigil in "Geometric line-art of Wacław Szpakowski (2017)"]]></title><description><![CDATA[
<p>These are neat. I'm reminded of Claude Mellan's face of Christ from 1649. This also uses a single continuous line, but he was carving the line by hand into steel!<p><a href="https://www.gallery.ca/magazine/your-collection/a-familiar-face-unveiling-claude-mellan" rel="nofollow">https://www.gallery.ca/magazine/your-collection/a-familiar-f...</a></p>
]]></description><pubDate>Sat, 30 Nov 2024 18:26:20 +0000</pubDate><link>https://news.ycombinator.com/item?id=42283143</link><dc:creator>sigil</dc:creator><comments>https://news.ycombinator.com/item?id=42283143</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42283143</guid></item><item><title><![CDATA[New comment by sigil in "James Gleick's Chaos: The Software"]]></title><description><![CDATA[
<p>Gleick's "Chaos" got me sent to the principal's office in high school. I went crazy for fractals. Unfortunately all I had at home was an IBM PC XT. Mandelbrot set renderings were agonizingly slow and the CGA palette was too limiting.<p>Around this time my co-conspirator and I realized the library had 386s that almost no one was using for catalog search. They became our fractal render farm. We'd exit the catalog program, insert a floppy with our latest renderer, kick off a deep zoom, and turn off the monitors to avoid suspicion until we could check back next period. The results were thrilling. What a difference the access to compute made.<p>You all know the story -- eventually the librarian found us out and reported us for "hacking."</p>
]]></description><pubDate>Sun, 17 Nov 2024 05:02:18 +0000</pubDate><link>https://news.ycombinator.com/item?id=42162096</link><dc:creator>sigil</dc:creator><comments>https://news.ycombinator.com/item?id=42162096</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42162096</guid></item><item><title><![CDATA[Quantum Algorithm Solves Travelling Salesperson Problem with 1-Qubit]]></title><description><![CDATA[
<p>Article URL: <a href="https://www.discovermagazine.com/technology/quantum-algorithm-solves-travelling-salesperson-problem-with-1-qubit">https://www.discovermagazine.com/technology/quantum-algorithm-solves-travelling-salesperson-problem-with-1-qubit</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=41113268">https://news.ycombinator.com/item?id=41113268</a></p>
<p>Points: 3</p>
<p># Comments: 1</p>
]]></description><pubDate>Tue, 30 Jul 2024 19:33:40 +0000</pubDate><link>https://www.discovermagazine.com/technology/quantum-algorithm-solves-travelling-salesperson-problem-with-1-qubit</link><dc:creator>sigil</dc:creator><comments>https://news.ycombinator.com/item?id=41113268</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41113268</guid></item><item><title><![CDATA[New comment by sigil in "Convolutions, Fast Fourier Transform and polynomials (2022)"]]></title><description><![CDATA[
<p>Thank you!</p>
]]></description><pubDate>Mon, 01 Jul 2024 06:01:06 +0000</pubDate><link>https://news.ycombinator.com/item?id=40842967</link><dc:creator>sigil</dc:creator><comments>https://news.ycombinator.com/item?id=40842967</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40842967</guid></item><item><title><![CDATA[New comment by sigil in "Convolutions, Fast Fourier Transform and polynomials (2022)"]]></title><description><![CDATA[
<p>Who was the first person to propose FFTs for faster polynomial multiplication?<p>Got curious about this recently. I’m not great at citation tracing, but did make it back to this 1995 paper by David Eppstein [0] where he uses it to efficiently solve Subset Sum after an incremental update. Surely Knuth’s TAOCP had it even earlier?<p>The fact that FFT polynomial multiplication also lets you solve Exact Subset Sum with Repetition in sub-exponential time came as a real shock to me. [1] Crucially, this algo is O(N log N) where N = the maximum element, not N = the set size, so it isn’t a P ≠ NP counterexample or anything.<p>[0] <a href="https://escholarship.org/content/qt6sd695gn/qt6sd695gn.pdf" rel="nofollow">https://escholarship.org/content/qt6sd695gn/qt6sd695gn.pdf</a><p>[1] <a href="https://x.com/festivitymn/status/1788362552998580473?s=46&t=fdgdiEzkLwQ2qvItoWggvg" rel="nofollow">https://x.com/festivitymn/status/1788362552998580473?s=46&t=...</a></p>
]]></description><pubDate>Mon, 01 Jul 2024 00:37:20 +0000</pubDate><link>https://news.ycombinator.com/item?id=40841600</link><dc:creator>sigil</dc:creator><comments>https://news.ycombinator.com/item?id=40841600</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40841600</guid></item><item><title><![CDATA[New comment by sigil in "Tmux is worse-is-better"]]></title><description><![CDATA[
<p>> Sure, but how often do you need to touch that config?<p>More often than I’d like! tmux config has broken backwards compatibility on me multiple times over the years.<p>This is fine for most software — you upgrade your config once and you’re done. However, the nature of tmux is that I use it on many servers, some old and some new, some with tmux 1.x and some with 2.x. Getting a ~/.tmux.conf from my dotfiles repo that works across both has been papercutty.<p>Love tmux though & can’t imagine tty life without it — I run it locally as well as on remote machines.</p>
]]></description><pubDate>Sat, 25 May 2024 18:55:22 +0000</pubDate><link>https://news.ycombinator.com/item?id=40477071</link><dc:creator>sigil</dc:creator><comments>https://news.ycombinator.com/item?id=40477071</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40477071</guid></item><item><title><![CDATA[New comment by sigil in "Timekeeping Before Clocks"]]></title><description><![CDATA[
<p>> And on a related note, Lewis Mumford, a philosopher and writer, wrote quite a bit about how clocks were (in his view) the necessary invention for capitalism to flourish.<p>Szabo also takes this up in his excellent essay "A Measure of Sacrifice":<p><i>Fair broadcast and verification of time was thus of fundamental importance to the most common contractual relationship in the new European cities. In agricultural societies, including medieval Europe, serfdom and slavery had provided most of the labor. Most workers in a modern economy earn wages based on a time rate.   Along with or following the rise of the  time-rate institution – including the contracts themselves, the laws and regulations governing the contracts, and the technology to fairly measure the principal quantity – came the growth of related economic institutions, such as the joint stock company. These institutions enabled a boom in productivity and the spectacular rise of Europe from its darkest ages to the modern era. We will now chart the rise of the clocks and the institutions they supported.</i><p><a href="https://www.fon.hum.uva.nl/rob/Courses/InformationInSpeech/CDROM/Literature/LOTwinterschool2006/szabo.best.vwh.net/synch.html" rel="nofollow">https://www.fon.hum.uva.nl/rob/Courses/InformationInSpeech/C...</a></p>
]]></description><pubDate>Tue, 14 May 2024 15:20:42 +0000</pubDate><link>https://news.ycombinator.com/item?id=40356120</link><dc:creator>sigil</dc:creator><comments>https://news.ycombinator.com/item?id=40356120</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40356120</guid></item><item><title><![CDATA[New comment by sigil in "The derivative of a number (2014)"]]></title><description><![CDATA[
<p>HTML can be described by a context-free grammar [0], but not by a regular grammar [1]. If a language can be described by a regular grammar, you can parse it with a regular expression -- that's where the "regular" in RegExp comes from!<p>Derivatives of RegExps don't automatically unlock parsing of context-free grammars, afaik. For that you need recursion. They do however unlock some very elegant parser designs.<p>[0] <a href="https://en.wikipedia.org/wiki/Context-free_grammar" rel="nofollow">https://en.wikipedia.org/wiki/Context-free_grammar</a><p>[1] <a href="https://en.wikipedia.org/wiki/Regular_grammar" rel="nofollow">https://en.wikipedia.org/wiki/Regular_grammar</a></p>
]]></description><pubDate>Sun, 12 May 2024 22:59:02 +0000</pubDate><link>https://news.ycombinator.com/item?id=40338214</link><dc:creator>sigil</dc:creator><comments>https://news.ycombinator.com/item?id=40338214</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40338214</guid></item><item><title><![CDATA[New comment by sigil in "The derivative of a number (2014)"]]></title><description><![CDATA[
<p>This idea was used to great effect in Matt Might’s “Parsing with Derivatives” paper [0]! And it featured prominently in the Compilers class he taught at the University of Utah.<p>[0] <a href="https://matt.might.net/papers/might2011derivatives.pdf" rel="nofollow">https://matt.might.net/papers/might2011derivatives.pdf</a></p>
]]></description><pubDate>Sat, 11 May 2024 22:39:59 +0000</pubDate><link>https://news.ycombinator.com/item?id=40331083</link><dc:creator>sigil</dc:creator><comments>https://news.ycombinator.com/item?id=40331083</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40331083</guid></item><item><title><![CDATA[New comment by sigil in "Run0, a systemd based alternative to sudo, announced"]]></title><description><![CDATA[
<p>Lol okay man. Maybe if you're running FreeBSD 4.2 or HP-UX or some BSD derivative from the 90s. All unix systems from about 2000 on will honor unix domain socket permissions.</p>
]]></description><pubDate>Sat, 04 May 2024 17:51:09 +0000</pubDate><link>https://news.ycombinator.com/item?id=40259190</link><dc:creator>sigil</dc:creator><comments>https://news.ycombinator.com/item?id=40259190</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40259190</guid></item><item><title><![CDATA[New comment by sigil in "Ask HN: How to handle user file uploads?"]]></title><description><![CDATA[
<p>Like you, we use pre-signed S3 upload urls. From there we use Transloadit [0] to crop and sanitize and convert and generate thumbnails. Transloadit is basically ImageMagick-as-a-Service. Running ImageMagick yourself on a huge variety of untrusted user input would be terrifying.<p>[0] <a href="https://transloadit.com/" rel="nofollow">https://transloadit.com/</a></p>
]]></description><pubDate>Sat, 04 May 2024 17:43:35 +0000</pubDate><link>https://news.ycombinator.com/item?id=40259136</link><dc:creator>sigil</dc:creator><comments>https://news.ycombinator.com/item?id=40259136</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40259136</guid></item><item><title><![CDATA[New comment by sigil in "Run0, a systemd based alternative to sudo, announced"]]></title><description><![CDATA[
<p>You do realize D-Bus also uses SO_PEERCRED right? And transitively polkit, systemd, and everything in that ecosystem.<p><a href="https://gitlab.freedesktop.org/dbus/dbus/-/blob/master/dbus/dbus-sysdeps-unix.c?ref_type=heads#L2209" rel="nofollow">https://gitlab.freedesktop.org/dbus/dbus/-/blob/master/dbus/...</a><p>> Meaning you have to be incredibly careful what you do when creating the socket and you cannot really pass any sockets off to other processes if you want to try to do security that way because they will still inherit the wrong credentials.<p>I see nothing new here beyond "handle privileged resources with care." Don't overshare. Got an open pipe to `sh` running as root? Maybe you oughtta set O_CLOEXEC on that fd before you exec and overshare with a child. Got a socket that's been peer authed? The same.<p>This is pretty basic unix stuff. If you stick to the basics and avoid the siren call of complexity, the security properties remain relatively easy to reason about. Most privileged resources are fds. Mind your fds.<p>I'm not a huge fan of sending file descriptors over sockets – maybe we agree on that part.</p>
]]></description><pubDate>Fri, 03 May 2024 17:40:45 +0000</pubDate><link>https://news.ycombinator.com/item?id=40250235</link><dc:creator>sigil</dc:creator><comments>https://news.ycombinator.com/item?id=40250235</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40250235</guid></item><item><title><![CDATA[New comment by sigil in "Run0, a systemd based alternative to sudo, announced"]]></title><description><![CDATA[
<p>What do you mean by "great ideas and great implementation / bad execution and bad interface." Is this a plumbing vs porcelain distinction?</p>
]]></description><pubDate>Thu, 02 May 2024 17:30:22 +0000</pubDate><link>https://news.ycombinator.com/item?id=40238914</link><dc:creator>sigil</dc:creator><comments>https://news.ycombinator.com/item?id=40238914</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40238914</guid></item></channel></rss>