<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: thwd</title><link>https://news.ycombinator.com/user?id=thwd</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Tue, 25 Aug 2026 04:17:44 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=thwd" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by thwd in "DuckDuckGo donates $25k to the Perl and Raku Foundation"]]></title><description><![CDATA[
<p>It's a write-only language.</p>
]]></description><pubDate>Tue, 03 Dec 2024 16:18:24 +0000</pubDate><link>https://news.ycombinator.com/item?id=42307805</link><dc:creator>thwd</dc:creator><comments>https://news.ycombinator.com/item?id=42307805</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42307805</guid></item><item><title><![CDATA[New comment by thwd in "Ask HN: What is the best code base you ever worked on?"]]></title><description><![CDATA[
<p>Agreed. Once long (10+ years) ago, google3 may have been peak codebase. Nowadays, not so much.<p>Edit: I guess it also depends at what level of abstraction you work. High: can be easy breezy. Low: oh boy.</p>
]]></description><pubDate>Sat, 29 Jun 2024 10:33:54 +0000</pubDate><link>https://news.ycombinator.com/item?id=40829222</link><dc:creator>thwd</dc:creator><comments>https://news.ycombinator.com/item?id=40829222</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40829222</guid></item><item><title><![CDATA[New comment by thwd in "Testing the memory safe Rust implementation of Sudo/Su"]]></title><description><![CDATA[
<p>Well, I can't speak for you, of course. I also haven't seen that code you reviewed. And I won't try to evangelize you. I'd say, in a nutshell, that Go is readable and reviewable because its grammar consists of the C-style basis that most every imperative language has, and not much more. It's the lack of features that makes it very 'WYSIWYG'.</p>
]]></description><pubDate>Wed, 28 Jun 2023 16:26:24 +0000</pubDate><link>https://news.ycombinator.com/item?id=36508772</link><dc:creator>thwd</dc:creator><comments>https://news.ycombinator.com/item?id=36508772</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=36508772</guid></item><item><title><![CDATA[New comment by thwd in "Testing the memory safe Rust implementation of Sudo/Su"]]></title><description><![CDATA[
<p>Huh? Go has its tradeoffs, some people don't like it and that's fine. But nobody can deny that it is <i>by far</i> one of the most 'readable and reviewable' (the argument in question) mainstream languages.</p>
]]></description><pubDate>Wed, 28 Jun 2023 15:30:11 +0000</pubDate><link>https://news.ycombinator.com/item?id=36507915</link><dc:creator>thwd</dc:creator><comments>https://news.ycombinator.com/item?id=36507915</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=36507915</guid></item><item><title><![CDATA[New comment by thwd in "PRQL: a simple, powerful, pipelined SQL replacement"]]></title><description><![CDATA[
<p>Merging as a one-keyword feature for all flavors of SQL is almost impossible.<p>It gets hairy when you have columns with composite types. E.g. depending on database, records can be JSON objects, protobufs, structs, or other composite types, like tuples.<p>It is possible to define semantics to merge each of these, but they vary and the merge operation becomes verbose to allow to handle each weirdness of each of these underlying types.<p>Merging is also sensitive to NULL vs 0 vs a DEFAULT, plus in some databases, NULL is still allowed even when a column is marked NOT NULL.<p>You'd almost need a sub-language for the merging operation, specifying how to handle each corner case.</p>
]]></description><pubDate>Fri, 30 Dec 2022 09:32:53 +0000</pubDate><link>https://news.ycombinator.com/item?id=34183468</link><dc:creator>thwd</dc:creator><comments>https://news.ycombinator.com/item?id=34183468</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=34183468</guid></item><item><title><![CDATA[New comment by thwd in "PRQL: a simple, powerful, pipelined SQL replacement"]]></title><description><![CDATA[
<p>Some databases like ArangoDB (<a href="https://www.arangodb.com/" rel="nofollow">https://www.arangodb.com/</a>) allow you to use Javascript instead of SQL.<p>However, using a type-unsafe (read weak typing), turing-complete language introduces the usual problems we know and love, such as infinite loops, runtime type errors, exceptions, and the like.<p>Personally, I'm looking forward to a WASM runtime for databases -- so we can run webassembly on the database. This COULD be carefully designed to be statically checked and, possibly, make it really hard to write runaway loops.</p>
]]></description><pubDate>Fri, 30 Dec 2022 09:22:08 +0000</pubDate><link>https://news.ycombinator.com/item?id=34183395</link><dc:creator>thwd</dc:creator><comments>https://news.ycombinator.com/item?id=34183395</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=34183395</guid></item><item><title><![CDATA[New comment by thwd in "I stopped working on black hole information loss"]]></title><description><![CDATA[
<p>Gravity is infinite at the singularity (the middle of the black hole). Everything gravitates towards that point. Our best understanding is that no information can exist here.<p>Black holes "evaporate" over time -- by emitting Hawking radiation. This is probably where the information goes, in my layman understanding.</p>
]]></description><pubDate>Sat, 23 Apr 2022 14:31:34 +0000</pubDate><link>https://news.ycombinator.com/item?id=31134589</link><dc:creator>thwd</dc:creator><comments>https://news.ycombinator.com/item?id=31134589</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=31134589</guid></item><item><title><![CDATA[New comment by thwd in "Cdecl: C Gibberish ↔ English"]]></title><description><![CDATA[
<p>Go solves 99% of the problem quite nicely. You don't often deref pointers in Go, because of auto-addressing. E.g. there's no arrow operator as in C, the dot derefs when necessary.<p>I would say `v := (p.)` could've been the deref operator, but what do I know.</p>
]]></description><pubDate>Sat, 23 Apr 2022 13:56:50 +0000</pubDate><link>https://news.ycombinator.com/item?id=31134309</link><dc:creator>thwd</dc:creator><comments>https://news.ycombinator.com/item?id=31134309</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=31134309</guid></item><item><title><![CDATA[New comment by thwd in "All Horses Are the Same Color"]]></title><description><![CDATA[
<p>I understand and agree but read carefully. The assumption _is_ the (entire) hypothesis. It is not existentially quantified or set in the base-case. It is the entire hypothesis.</p>
]]></description><pubDate>Sun, 05 Dec 2021 00:28:11 +0000</pubDate><link>https://news.ycombinator.com/item?id=29445638</link><dc:creator>thwd</dc:creator><comments>https://news.ycombinator.com/item?id=29445638</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=29445638</guid></item><item><title><![CDATA[New comment by thwd in "All Horses Are the Same Color"]]></title><description><![CDATA[
<p>> We will show, by induction, that [for all sets] of n horses, every horse in [each] set has the same color.<p>> Now [assume that] for all sets of n horses, every horse in [each] set has the same color.<p>QED.<p>This is just tautology. No further analysis needed, really.<p>(If your proof includes your hypothesis as an assumption, then it must be a proof by contradiction.)<p>EDIT: Before you refute, read again carefully. The assumption _is_ the hypothesis. It is not existentially quantified or set in the base case. It is the entire, universally quantified hypothesis.</p>
]]></description><pubDate>Sun, 05 Dec 2021 00:15:45 +0000</pubDate><link>https://news.ycombinator.com/item?id=29445565</link><dc:creator>thwd</dc:creator><comments>https://news.ycombinator.com/item?id=29445565</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=29445565</guid></item><item><title><![CDATA[New comment by thwd in "Facebook Recruiter Correspondence"]]></title><description><![CDATA[
<p>That's only if you equate the recruiter to a minimum wage worker and yourself to their customer. There's a superiority bias in that rhetoric. The recruiter is a well-employed tech worker. And you're not their client or superior.</p>
]]></description><pubDate>Sun, 10 Oct 2021 06:46:53 +0000</pubDate><link>https://news.ycombinator.com/item?id=28816323</link><dc:creator>thwd</dc:creator><comments>https://news.ycombinator.com/item?id=28816323</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=28816323</guid></item><item><title><![CDATA[New comment by thwd in "Google's push to bring employees back to offices, some say they'll rather quit"]]></title><description><![CDATA[
<p>Personal opinion: Google carefully treads the gray lines of legality and morals/ethics. Facebook leadership, on the other hand, decided a long time ago that they care about legality only. They seem very proud of that decision, too.</p>
]]></description><pubDate>Fri, 30 Apr 2021 15:47:18 +0000</pubDate><link>https://news.ycombinator.com/item?id=26994991</link><dc:creator>thwd</dc:creator><comments>https://news.ycombinator.com/item?id=26994991</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=26994991</guid></item><item><title><![CDATA[New comment by thwd in "Sustained, high-fidelity quantum teleportation"]]></title><description><![CDATA[
<p>You have a box with random garbage in it. I have a box with a football in it. We entangle the football and the garbage. You stand far away from me. If you randomly open your box now, you may either see a football or random garbage. If I call you on the phone (classically) and tell you to open the box tonight at precisely 8:12pm, you're guaranteed to find a football then and hence, I will have the garbage.<p>There's no parsing; it's all or nothing.</p>
]]></description><pubDate>Fri, 18 Dec 2020 23:44:35 +0000</pubDate><link>https://news.ycombinator.com/item?id=25473508</link><dc:creator>thwd</dc:creator><comments>https://news.ycombinator.com/item?id=25473508</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=25473508</guid></item><item><title><![CDATA[New comment by thwd in "A Bank Behind the Fintech Boom"]]></title><description><![CDATA[
<p>"The Bank Behind High-Interest Loan Apps"</p>
]]></description><pubDate>Sun, 22 Dec 2019 14:40:06 +0000</pubDate><link>https://news.ycombinator.com/item?id=21857318</link><dc:creator>thwd</dc:creator><comments>https://news.ycombinator.com/item?id=21857318</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=21857318</guid></item><item><title><![CDATA[New comment by thwd in "Clear is better than clever"]]></title><description><![CDATA[
<p>Good prose often involves misdirection. Making the reader believe something to be one way, while it was something else all along. Then, in a built up climax, undo the knot in a single pull to blow the reader's mind. That, to me, is the antithesis of the article's argument.</p>
]]></description><pubDate>Mon, 08 Jul 2019 20:57:24 +0000</pubDate><link>https://news.ycombinator.com/item?id=20386686</link><dc:creator>thwd</dc:creator><comments>https://news.ycombinator.com/item?id=20386686</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=20386686</guid></item><item><title><![CDATA[New comment by thwd in "We Can Do Better Than SQL"]]></title><description><![CDATA[
<p>They're saying that both of those expressions are valid, not equivalent.<p>SELECT count(star) FROM table<p>and<p>SELECT star FROM table<p>Are both valid, not equivalent.<p>Furthermore, listing any kind of set depends on some ordering, be it random.</p>
]]></description><pubDate>Thu, 09 May 2019 20:08:02 +0000</pubDate><link>https://news.ycombinator.com/item?id=19871864</link><dc:creator>thwd</dc:creator><comments>https://news.ycombinator.com/item?id=19871864</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=19871864</guid></item><item><title><![CDATA[New comment by thwd in "A 'Blockchain Bandit' Is Guessing Private Keys and Scoring Millions"]]></title><description><![CDATA[
<p>It's much easier! Just call ethereum's `crypto.ToECDSA` [1] with a big-endian encoded 256-bit unsigned integer of interest, e.g. 0x1 or 0x100, as described in the article. Try the resulting private key.<p>[1] <a href="https://godoc.org/github.com/ethereum/go-ethereum/crypto#ToECDSA" rel="nofollow">https://godoc.org/github.com/ethereum/go-ethereum/crypto#ToE...</a></p>
]]></description><pubDate>Wed, 24 Apr 2019 07:53:26 +0000</pubDate><link>https://news.ycombinator.com/item?id=19736398</link><dc:creator>thwd</dc:creator><comments>https://news.ycombinator.com/item?id=19736398</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=19736398</guid></item><item><title><![CDATA[New comment by thwd in "Fast Directory Listing on Linux"]]></title><description><![CDATA[
<p>But why? Why create a tool that does `git status` 10x faster?</p>
]]></description><pubDate>Sun, 07 Apr 2019 17:28:44 +0000</pubDate><link>https://news.ycombinator.com/item?id=19598358</link><dc:creator>thwd</dc:creator><comments>https://news.ycombinator.com/item?id=19598358</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=19598358</guid></item><item><title><![CDATA[New comment by thwd in "Systemd is bad parsing"]]></title><description><![CDATA[
<p>Array-indexing in C and C++ _is_ pointer arithmetic! It's syntactic sugar. Array-indexing in safe languages is bound checked iff the compiler can't prove the index value to always be in-bounds.</p>
]]></description><pubDate>Sat, 27 Oct 2018 15:16:05 +0000</pubDate><link>https://news.ycombinator.com/item?id=18316076</link><dc:creator>thwd</dc:creator><comments>https://news.ycombinator.com/item?id=18316076</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=18316076</guid></item><item><title><![CDATA[New comment by thwd in "Systemd is bad parsing"]]></title><description><![CDATA[
<p>Pointer arithmetic is abstracted away for _safety_, not convenience. You can read about in e.g. Go's FAQ.<p><a href="https://stackoverflow.com/questions/32700999/pointer-arithmetic-in-go" rel="nofollow">https://stackoverflow.com/questions/32700999/pointer-arithme...</a></p>
]]></description><pubDate>Sat, 27 Oct 2018 14:55:57 +0000</pubDate><link>https://news.ycombinator.com/item?id=18315953</link><dc:creator>thwd</dc:creator><comments>https://news.ycombinator.com/item?id=18315953</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=18315953</guid></item></channel></rss>