<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: geocar</title><link>https://news.ycombinator.com/user?id=geocar</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Tue, 02 Jun 2026 17:19:38 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=geocar" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by geocar in "Anyone seen a CC- serial prefix on legacy networking hardware?"]]></title><description><![CDATA[
<p>That is a good point. If I ping the router 2m away from me in the airbnb (on Ethernet) I am staying in I'm getting 0.8msec. If it is really 0.4msec over some kind of consumer wireless, it is physically inside the phone.<p>I think more likely got something wrong with the units; System.Net.Networkinformation.ping reports in whole seconds (so this is ~400ms) for example. Maybe it is some weird tool or typo.</p>
]]></description><pubDate>Tue, 02 Jun 2026 10:00:39 +0000</pubDate><link>https://news.ycombinator.com/item?id=48368119</link><dc:creator>geocar</dc:creator><comments>https://news.ycombinator.com/item?id=48368119</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48368119</guid></item><item><title><![CDATA[New comment by geocar in "Strace-ui, Bonsai_term, and the TUI renaissance"]]></title><description><![CDATA[
<p>Yes such-a-thing-is-possible: The DEC VT330 (for example) allowed font upload, had multiple font sizes, and even mouse support.<p>There once was a program called <a href="https://en.wikipedia.org/wiki/ManaGeR" rel="nofollow">https://en.wikipedia.org/wiki/ManaGeR</a> which appears at first blush to be some kind of X11-competitor, except it was using the VT330's regular terminal capabilities to do those fancy pixel-patterns and fonts, and so there's just some weird VT escape sequences you've never heard of in there.<p>You can also use SIXELs if you want even more control, and you can readily see such things in action because qemu can (in 2026) send its graphical VGA display into a sixel terminal, but in the 1980s such a thing would <i>not</i> have been performant (probably something like 3 frames per minute) because the VT330 was <i>slow</i>, and such a thing would not be <i>popular</i> you would "lose the text" at some layer which would be as inconvenient as using any other graphical application.</p>
]]></description><pubDate>Tue, 02 Jun 2026 09:39:16 +0000</pubDate><link>https://news.ycombinator.com/item?id=48367949</link><dc:creator>geocar</dc:creator><comments>https://news.ycombinator.com/item?id=48367949</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48367949</guid></item><item><title><![CDATA[New comment by geocar in "Strace-ui, Bonsai_term, and the TUI renaissance"]]></title><description><![CDATA[
<p>> as such they are composable in the sense that they can be used in a way the author(s) didn't think of.  It's been a while since I've done any of that personally,<p>I do this all the time.<p>One of my favourite applications is a tool called "autoexpect" and I use it every time I try a new program.<p>What it does is this: I run a program in it's virtual terminal, and it writes a TCL script that does what I did, and puts little regex tests in for the output of that program for me. I can then edit that program (or not: sometimes the first output is fine).<p>Once upon a time I used to use a program called DESQview: It had a "learn" feature that allowed you to record and playback even DOS programs, so it was very easy to pick up autoexpect.<p>DESQview/X was their X11 server, and it also had the "learn" feature, but unless the application could be driven entirely by the keyboard, it didn't work; most similar applications I've seen over the decades since need such care for reliable "scripts".<p>Yes sometimes you also have the possibility of using the GUI accessibility framework to "script" the app. This is barely ok if it works, but most GUIs that I want to script were designed so that would not work at all, and it is coding that requires me work with the app instead of asking a domain expert for a recording.<p>autoexpect on the other hand is just text, easy to read and modify, and easy to send by email. It is hard to make a terminal application hostile to autoexpect without a great deal of work that (in the text based environment) can usually be undone just by using tmux and mosh on loopback.<p>> What I don't understand is why that must happen inside a terminal window where (for instance) all text must have the same font and size.<p>Modern (as in, since the 1980s) terminals are very capable of multiple fonts and font-sizes. I usually use a non-proportional font for coding myself.</p>
]]></description><pubDate>Tue, 02 Jun 2026 08:23:43 +0000</pubDate><link>https://news.ycombinator.com/item?id=48367453</link><dc:creator>geocar</dc:creator><comments>https://news.ycombinator.com/item?id=48367453</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48367453</guid></item><item><title><![CDATA[New comment by geocar in "Anyone seen a CC- serial prefix on legacy networking hardware?"]]></title><description><![CDATA[
<p>Yes. And you can see it in action by using a "public looking glass" service and typing in an IP address to see which ASN (autonomous system number) announce it and who <i>they</i> peer with. Your mobile operator might even be operating one.<p>For example, go to <a href="https://lg.he.net" rel="nofollow">https://lg.he.net</a> choose BGP Summary IPv4 and plug in a well-known anycast address like 8.8.8.8 (operated by Google) or 1.1.1.1 (operated by cloudflare) and try a few different routers in different parts of the world, and you will see lots of different neighbors claim to be directly connected to these addresses -- something that should be very strange if you thought (for example) that an IP address had a geographic location at a particular point-in-time.<p>You can also try this for some of the addresses in this range and see that some of the addresses are like this.</p>
]]></description><pubDate>Tue, 02 Jun 2026 07:34:51 +0000</pubDate><link>https://news.ycombinator.com/item?id=48367156</link><dc:creator>geocar</dc:creator><comments>https://news.ycombinator.com/item?id=48367156</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48367156</guid></item><item><title><![CDATA[New comment by geocar in "Anyone seen a CC- serial prefix on legacy networking hardware?"]]></title><description><![CDATA[
<p>Can you see if the media is carrying 802.1Q traffic tagged 986?</p>
]]></description><pubDate>Tue, 02 Jun 2026 05:14:29 +0000</pubDate><link>https://news.ycombinator.com/item?id=48366343</link><dc:creator>geocar</dc:creator><comments>https://news.ycombinator.com/item?id=48366343</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48366343</guid></item><item><title><![CDATA[New comment by geocar in "Anyone seen a CC- serial prefix on legacy networking hardware?"]]></title><description><![CDATA[
<p>Yes: This is how Anycast works.<p>The same IP block is announced from multiple geographic locations, and so IP traffic will be routed to the nearest.</p>
]]></description><pubDate>Tue, 02 Jun 2026 05:14:05 +0000</pubDate><link>https://news.ycombinator.com/item?id=48366340</link><dc:creator>geocar</dc:creator><comments>https://news.ycombinator.com/item?id=48366340</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48366340</guid></item><item><title><![CDATA[New comment by geocar in "Fooling around with encrypted reasoning blobs"]]></title><description><![CDATA[
<p>N.B. This is <i>exactly</i> how seaside, vba, and even arc[1] do server-side state <i>generally</i>: by encrypting the blob-representing-state and sending to the client to be sent back on future requests (where it will be decrypted and rehydrated).<p>It's an old trick that everyone designing protocols should know, since there are <i>lots</i> of applications beyond AI companies.<p>[1]: As in, pg's lisp: <a href="https://arclanguage.github.io/ref/srv.html#:~:text=The%20previous%20section" rel="nofollow">https://arclanguage.github.io/ref/srv.html#:~:text=The%20pre...</a></p>
]]></description><pubDate>Tue, 02 Jun 2026 04:42:56 +0000</pubDate><link>https://news.ycombinator.com/item?id=48366158</link><dc:creator>geocar</dc:creator><comments>https://news.ycombinator.com/item?id=48366158</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48366158</guid></item><item><title><![CDATA[New comment by geocar in "DuckDuckGo search saw 28% more visits after Google said people love AI mode"]]></title><description><![CDATA[
<p>> Search ad pricing is inelastic and auction based (supply goes down price goes up).<p>False. Advertisers have budgets and ROI targets. If Google cannot compete people will get their clicks elsewhere.<p>> A jump in traffic to DuckDuckGo does not mean Google is experiencing a decline in search volume. Number of queries per session has increased since launching AI Overviews.<p>But it does produce lower ROI for advertisers (in this case: CTR goes down because my ad is being shown to more people). Once user is on my landing page, my conversion rate is fine month on month (±1%), but my CTR on google got sharply worse by 5% since, and if it goes much further I'll stop completely on Google.<p>I doubt I am alone: Maybe others will jump ship sooner and the price will recover (demand goes down) but in either event Google is less net revenue, and given how aggressive their sales pushes have been I think it could be that big</p>
]]></description><pubDate>Thu, 28 May 2026 08:29:53 +0000</pubDate><link>https://news.ycombinator.com/item?id=48306237</link><dc:creator>geocar</dc:creator><comments>https://news.ycombinator.com/item?id=48306237</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48306237</guid></item><item><title><![CDATA[New comment by geocar in "FBI arrests CIA official with $40M in gold bars in his home"]]></title><description><![CDATA[
<p>Sure it is, but that's not a way to <i>store</i> value (what economists specifically call store of value if you want to read more about it), which is a little different:<p>If you <i>buy</i> a €100k rolex, you <i>probably</i> can't be sure you can <i>sell</i> it for more than €100k anywhere at <i>anytime in the future</i>.<p>You probably can't even find a bank that would take that €100k rolex you just bought as collateral for €500k on a 30y mortgage.<p>That's why a €1m watch collection is never going to be worth €1m unless we're talking raw materials.</p>
]]></description><pubDate>Thu, 28 May 2026 08:18:58 +0000</pubDate><link>https://news.ycombinator.com/item?id=48306160</link><dc:creator>geocar</dc:creator><comments>https://news.ycombinator.com/item?id=48306160</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48306160</guid></item><item><title><![CDATA[New comment by geocar in "Google employee charged with $1M Polymarket insider trading bet on search term"]]></title><description><![CDATA[
<p>> if the odds haven't properly converged what information does watching the prices get you before-the-fact?<p>How do you know we are "before-the fact"? Because these numbers are bananas?<p>Somebody just tanked their job, their life, for a million bucks.<p>Anybody who took that bet, might've individually spent only a few bucks to see that.<p>Everyone else (the people watching) learned the price of entertainment is a few bucks, and ruining someone's life is a million bucks.<p>Was that a surprise to you? If not, then the (market) prices may be said to have converged (close to) reality.<p>But maybe it is, and you think people would ruin their lives for less, or would pay more for human misery. In any event, the distance between whatever you <i>think</i> that probability is, and the return earned on these odds <i>is</i> information, that we all can enjoy (as benefit) before-the-fact.</p>
]]></description><pubDate>Thu, 28 May 2026 05:45:47 +0000</pubDate><link>https://news.ycombinator.com/item?id=48305051</link><dc:creator>geocar</dc:creator><comments>https://news.ycombinator.com/item?id=48305051</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48305051</guid></item><item><title><![CDATA[New comment by geocar in "FBI Arrests CIA Official with $40M in Gold Bars in His Home"]]></title><description><![CDATA[
<p>> What's the appeal of collecting high priced watches?<p>You can carry them on your person through airports and other places reasonably unmolested in a way carrying a bunch of cash isn't so easy.<p>> Is it kind of like art collections, where its a decent store of value<p>Art doesn't store value: It trades whatever number the parties exchanging it want it to have, so those parties can manipulate their total annual revenues, which might be confused with value if you cannot think of why else someone would want to tell other people they made more or less money in a year, but is not valuable to anyone else.</p>
]]></description><pubDate>Thu, 28 May 2026 05:19:43 +0000</pubDate><link>https://news.ycombinator.com/item?id=48304881</link><dc:creator>geocar</dc:creator><comments>https://news.ycombinator.com/item?id=48304881</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48304881</guid></item><item><title><![CDATA[New comment by geocar in "C array types are weird"]]></title><description><![CDATA[
<p>Dereferencing <i>does</i> have a postfix notation, so you <i>can</i> try it (sort of):<p><pre><code>    #define $ [0]
</code></pre>
then you can say ptr $[0] or ptr[0]$ and see if it's really better...</p>
]]></description><pubDate>Wed, 27 May 2026 12:55:38 +0000</pubDate><link>https://news.ycombinator.com/item?id=48293559</link><dc:creator>geocar</dc:creator><comments>https://news.ycombinator.com/item?id=48293559</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48293559</guid></item><item><title><![CDATA[New comment by geocar in "Bugs Rust won't catch"]]></title><description><![CDATA[
<p>Specifically? I'm thinking of qmail.<p>qmail was at one point the second most widely deployed email server, handling the <i>majority</i> of online mail. It wasn't a research project; it's not obscure. Yahoo used to use it.<p>And what I mean by track record: After more than a decade after the last published version, a theoretical attack was found requiring special setup uncommon for a sysadmin, and impossible ten years prior.<p>When anyone thinks about how to build reliable secure software, I think they should be thinking of qmail because it really has no public source-available equal, except maybe djbdns.<p>seL4 on the other hand makes some specious claims about some ten year old version of itself, and so few people have even heard about it you thought it important to remind it is "technically" C -- qmail isn't like that at all: There is no prover, no test suite, and almost no metaprogramming of any kind. It's just C.</p>
]]></description><pubDate>Wed, 29 Apr 2026 15:51:39 +0000</pubDate><link>https://news.ycombinator.com/item?id=47950116</link><dc:creator>geocar</dc:creator><comments>https://news.ycombinator.com/item?id=47950116</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47950116</guid></item><item><title><![CDATA[New comment by geocar in "Bugs Rust won't catch"]]></title><description><![CDATA[
<p>great. still enjoying the algarve working on my secret projects in the sun.<p>you able to find a reason to come visit? or am i going to have to come to blighty so we can hang out?</p>
]]></description><pubDate>Wed, 29 Apr 2026 13:53:46 +0000</pubDate><link>https://news.ycombinator.com/item?id=47948505</link><dc:creator>geocar</dc:creator><comments>https://news.ycombinator.com/item?id=47948505</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47948505</guid></item><item><title><![CDATA[New comment by geocar in "Bugs Rust won't catch"]]></title><description><![CDATA[
<p>100% it's the safer option.<p>The software with the best security track record of all time is written in C.</p>
]]></description><pubDate>Wed, 29 Apr 2026 12:30:13 +0000</pubDate><link>https://news.ycombinator.com/item?id=47947418</link><dc:creator>geocar</dc:creator><comments>https://news.ycombinator.com/item?id=47947418</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47947418</guid></item><item><title><![CDATA[New comment by geocar in "Bugs Rust won't catch"]]></title><description><![CDATA[
<p>kill -SIGWINCH -1 will redraw all your windows.</p>
]]></description><pubDate>Wed, 29 Apr 2026 12:28:46 +0000</pubDate><link>https://news.ycombinator.com/item?id=47947403</link><dc:creator>geocar</dc:creator><comments>https://news.ycombinator.com/item?id=47947403</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47947403</guid></item><item><title><![CDATA[New comment by geocar in "Bugs Rust won't catch"]]></title><description><![CDATA[
<p>> So does this mean that neither did the original utils have any test harness, the process of rewriting them didn't start by creating one either?<p>Yes.<p>> Sure there are many edge cases, but surely the OS and FS can just be abstracted away and you can verify that "rm .//" actually ends up doing what is expected (Such as not deleting the current directory)?<p>I think people have been trying that since before I was born and haven't yet been successful, so I am much less sure than you are.<p>For example: How do you decide how many `/` characters to try?<p>For a better one: Can you imagine if "rm" could simply decide to refuse to delete files containing "important" as first 9 bytes? How would you think of a test for something like that without knowing the letters in that order? What if the magic word wasn't in a dictionary?<p>> This doesn't seem like sloppy coding, nor a critique of the language, it's just the same old "Oh, this is systems programming, we don't do tests"?<p>I've never heard anyone say that except as a straw man.<p>I've heard people say tests don't do what people think they do.</p>
]]></description><pubDate>Wed, 29 Apr 2026 12:22:40 +0000</pubDate><link>https://news.ycombinator.com/item?id=47947350</link><dc:creator>geocar</dc:creator><comments>https://news.ycombinator.com/item?id=47947350</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47947350</guid></item><item><title><![CDATA[New comment by geocar in "Bugs Rust won't catch"]]></title><description><![CDATA[
<p>If the attacker can control newroot/etc/passwd they _still_ get getpwnam to return whatever userid they want. The solution is to not lookup --userspec=username:group inside the chrooted-space, but from outside.<p>Also, hi how's things? :)</p>
]]></description><pubDate>Wed, 29 Apr 2026 12:06:00 +0000</pubDate><link>https://news.ycombinator.com/item?id=47947180</link><dc:creator>geocar</dc:creator><comments>https://news.ycombinator.com/item?id=47947180</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47947180</guid></item><item><title><![CDATA[New comment by geocar in "Bugs Rust won't catch"]]></title><description><![CDATA[
<p>> Did you mean CLONE_NEWUSER? [~] it's an entirely different syscall that does something vaguely similar<p>Yes. And I agree, but it also enables chroot(2) to work without being root, which was the syscall we are talking about, and which I still maintain is not as important as reading.<p>> arguably, it's the root that should be prohibited from calling chroot(2).<p>> IMHO there are a bit too many root-restricted operations that should not have been<p>It's a popular opinion. It's also cheap. So what?<p>> so we're stuck with setuid-enabled "confused deputies"<p>chroot(8) is not setuid-enabled. This has nothing to do with anything.<p>> That's the problem: the choice is implicit. If the author moved setuid/setgid calls way up in the call order, the implicit choice would've also been the safe one but it was literally impossible.<p>False. The setuid/setgid calls are in the right place. The lookup of the database mapping usernames to userids is in the wrong place.<p>If the rust programmer just read what they wrote they would see this.<p>If <i>you</i> just read what they wrote you would see this.</p>
]]></description><pubDate>Wed, 29 Apr 2026 12:02:42 +0000</pubDate><link>https://news.ycombinator.com/item?id=47947148</link><dc:creator>geocar</dc:creator><comments>https://news.ycombinator.com/item?id=47947148</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47947148</guid></item><item><title><![CDATA[New comment by geocar in "Bugs Rust won't catch"]]></title><description><![CDATA[
<p>> And "control a directory" is weasel words;<p>I did not choose the term to confuse you, that's from the definition document linked to the CVE:<p><a href="https://cwe.mitre.org/data/definitions/426.html" rel="nofollow">https://cwe.mitre.org/data/definitions/426.html</a><p>The CVE itself uses the language "If the NEWROOT is writable by an attacker" which could refer to a shared library (as indicated in the report), or even a passwd file as would have been true since the origin of chroot()<p>> root technically controls everything in one sense of the word.<p>But not the sense we're talking about.<p>> Because you can't call chroot(2) unless you're root<p>Well you can[1], but this is /usr/sbin/chroot aka chroot(8) when used with a non-numeric --userspec, and the point is to drop root to a user that root controls with setuid(2). <i>Something</i> needs to map user names to the numeric userids that setuid(2) uses, and that <i>something</i> is typically the NSS database.<p>Now: <i>Which</i> database should be used to map a username to a userid?<p>- The one from before the chroot(2)?<p>- Or the one that <i>you're chroot(2)ing into<p>If you're the author of the code in-question, you chose the latter, and that is totally obvious to anyone who can read because that's the order the code appears in, but it's also obvious that only the </i>first one* is under control of root, and so only the first one could be correct.<p>[1]: if you're curious: unshare(CLONE_USERNS|CLONE_FS) can be used. this is part of how rootless containers work.</p>
]]></description><pubDate>Wed, 29 Apr 2026 10:22:49 +0000</pubDate><link>https://news.ycombinator.com/item?id=47946344</link><dc:creator>geocar</dc:creator><comments>https://news.ycombinator.com/item?id=47946344</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47946344</guid></item></channel></rss>