<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: Defletter</title><link>https://news.ycombinator.com/user?id=Defletter</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Wed, 08 Apr 2026 22:50:57 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=Defletter" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by Defletter in "Lisette a little language inspired by Rust that compiles to Go"]]></title><description><![CDATA[
<p>It's comments like this that remind me of the conciseness-at-all-costs dogma: that people genuinely treat indentation as some kind of eldritch horror; that they would genuinely prefer "impl X" becoming "impl Y for X" (thus making it difficult to parse at a glance because the target keeps shifting places) over it. It's bewildering.</p>
]]></description><pubDate>Mon, 06 Apr 2026 13:36:28 +0000</pubDate><link>https://news.ycombinator.com/item?id=47660746</link><dc:creator>Defletter</dc:creator><comments>https://news.ycombinator.com/item?id=47660746</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47660746</guid></item><item><title><![CDATA[New comment by Defletter in "Lisette a little language inspired by Rust that compiles to Go"]]></title><description><![CDATA[
<p>These don't seem like insurmountable challenges though. Unnamed impl blocks could work entirely within requirements. There could also be a lint to warn about any fields that are below trait definitions.<p><pre><code>    struct Example {
        number: i32,
    }

    impl Example {
        fn boo() {
            println!("boo! Example::boo() was called!");
        }
    }

    trait Thingy {
        fn do_thingy(&self);
    }

    impl Thingy for Example {
        fn do_thingy(&self) {
            println!("doing a thing! also, number is {}!", self.number);
        }
    }
</code></pre>
This could be expressed as:<p><pre><code>    struct Example {
        number: i32,

        impl {
            fn boo() {
                println!("boo! Example::boo() was called!");
            }
        }

        impl Thingy {
            fn do_thingy(&self) {
                println!("doing a thing! also, number is {}!", self.number);
            }
        }
    }

    trait Thingy {
        fn do_thingy(&self);
    }
</code></pre>
Keeping related things together is just infinitely more readable, in my opinion. In fact, the confusing nature of "impl <struct>" becoming "impl <trait> for <struct>" is obviated by internal impl blocks. Keeping them separate just seems so artificial, if not downright dogmatic.</p>
]]></description><pubDate>Mon, 06 Apr 2026 06:17:58 +0000</pubDate><link>https://news.ycombinator.com/item?id=47657536</link><dc:creator>Defletter</dc:creator><comments>https://news.ycombinator.com/item?id=47657536</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47657536</guid></item><item><title><![CDATA[New comment by Defletter in "Lisette a little language inspired by Rust that compiles to Go"]]></title><description><![CDATA[
<p>Something that I don't understand about Rust, or these rustylangs, is the insistence of separating structs and methods. Don't get me wrong, I like named-impl blocks, but why are they the only option? Why can't I put an unnamed-impl block inside the struct? Or better yet just define methods on the struct? What's the point of this and why do these rustylangs never seem to change this?</p>
]]></description><pubDate>Sun, 05 Apr 2026 18:04:37 +0000</pubDate><link>https://news.ycombinator.com/item?id=47652132</link><dc:creator>Defletter</dc:creator><comments>https://news.ycombinator.com/item?id=47652132</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47652132</guid></item><item><title><![CDATA[New comment by Defletter in "Artemis II crew take “spectacular” image of Earth"]]></title><description><![CDATA[
<p>It's one of those stark reminders that there's no such thing as up or down in space, and something that disabuses me of the notion that I can truly comprehend "the enemy gate is down".</p>
]]></description><pubDate>Sat, 04 Apr 2026 15:53:56 +0000</pubDate><link>https://news.ycombinator.com/item?id=47640138</link><dc:creator>Defletter</dc:creator><comments>https://news.ycombinator.com/item?id=47640138</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47640138</guid></item><item><title><![CDATA[New comment by Defletter in "C++26 is done: ISO C++ standards meeting Trip Report"]]></title><description><![CDATA[
<p>Contracts are a good idea, but I find the implementation of them to be clunky. I'd much rather contracts be part of the type system than as function signatures. Using the example in your earlier link, instead of defining day's 1..31 range within the Date-struct invariant, you'd instead declare a "day" type that's an int whose value cannot exceed 31 or be less than 1. This would be checked and enforced anytime a variable of the type is [re]assigned, set as a field, or passed-in as a parameter.</p>
]]></description><pubDate>Wed, 01 Apr 2026 02:27:59 +0000</pubDate><link>https://news.ycombinator.com/item?id=47596055</link><dc:creator>Defletter</dc:creator><comments>https://news.ycombinator.com/item?id=47596055</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47596055</guid></item><item><title><![CDATA[New comment by Defletter in "C++26 is done: ISO C++ standards meeting Trip Report"]]></title><description><![CDATA[
<p>"People" doesn't include me then. I had no idea that D had this feature for quite some time, despite using it fairly often in Zig, because when considering what the equivalent would be to search for, my brain <i>somehow</i> didn't make the leap to the keyword that represents literally nothing. Or as your Google search result says, "representing a state of absolute vacancy or lack." A less inappropriate use of "= void;" would be to zero-out something. I honestly find D's continual misuse of keywords like this to be really off putting and a contributing factor as to why I've stopped using it.</p>
]]></description><pubDate>Wed, 01 Apr 2026 02:12:58 +0000</pubDate><link>https://news.ycombinator.com/item?id=47595959</link><dc:creator>Defletter</dc:creator><comments>https://news.ycombinator.com/item?id=47595959</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47595959</guid></item><item><title><![CDATA[New comment by Defletter in "C++26 is done: ISO C++ standards meeting Trip Report"]]></title><description><![CDATA[
<p>But then why did you add your contract system to D? You implemented your contract system in the "early 90's", and D was released in 2001, so that's near a decade of "nobody wanted it". So then why add them as a core language feature of a new programming language if no one wanted it? Why is it <i>still</i> a core language feature? And why object to C++ finally adding contracts. I just don't get what you're even arguing here.</p>
]]></description><pubDate>Tue, 31 Mar 2026 12:08:35 +0000</pubDate><link>https://news.ycombinator.com/item?id=47586149</link><dc:creator>Defletter</dc:creator><comments>https://news.ycombinator.com/item?id=47586149</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47586149</guid></item><item><title><![CDATA[New comment by Defletter in "C++26 is done: ISO C++ standards meeting Trip Report"]]></title><description><![CDATA[
<p>It should copy Zig's '= undefined;' instead of D's '= void;' The latter is very confusing: why have a keyword that means nothing, but also anything? This is a pretty common flaw within D, see also: static.</p>
]]></description><pubDate>Tue, 31 Mar 2026 11:43:52 +0000</pubDate><link>https://news.ycombinator.com/item?id=47585915</link><dc:creator>Defletter</dc:creator><comments>https://news.ycombinator.com/item?id=47585915</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47585915</guid></item><item><title><![CDATA[New comment by Defletter in "PC Gamer recommends RSS readers in a 37mb article that just keeps downloading"]]></title><description><![CDATA[
<p>Yup, I keep mine enabled at all times. Anytime I've tried selectively disabling them, I get burnt with increasingly intrusive ads. I <i>might</i> be convinced to enable some kind of "ethical ads" filter that only permits ads are known to be unobtrusive and not track, but then you need to trust that whoever maintains that list wont succumb to incentives.</p>
]]></description><pubDate>Mon, 23 Mar 2026 07:00:07 +0000</pubDate><link>https://news.ycombinator.com/item?id=47486246</link><dc:creator>Defletter</dc:creator><comments>https://news.ycombinator.com/item?id=47486246</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47486246</guid></item><item><title><![CDATA[New comment by Defletter in "We rewrote our Rust WASM parser in TypeScript and it got faster"]]></title><description><![CDATA[
<p>Would you be willing to give an example of this?</p>
]]></description><pubDate>Sat, 21 Mar 2026 03:37:34 +0000</pubDate><link>https://news.ycombinator.com/item?id=47463752</link><dc:creator>Defletter</dc:creator><comments>https://news.ycombinator.com/item?id=47463752</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47463752</guid></item><item><title><![CDATA[New comment by Defletter in "Bill C-22, the Lawful Access Act: Dangerous backdoor surveillance risks remain"]]></title><description><![CDATA[
<p>> it takes centuries to completely override them.<p>To <i>completely</i> override them? Sure, but that's an odd criterion since one of the US's biggest issues is the unequal protection of rights. I have never seen a society so rhetorically obsessed with individual rights and freedoms, and yet so submissive to authoritarianism that failure to "just comply" is enough to justify summary execution in the streets (eg: Alex Pretti and Renée Good).<p>Again, this post is about Canada attempting to pass a bill to facilitate mass surveillance, which "freediddy" (yikes name btw) responded to by expounding upon the loftiness of American constitutional rights, as if America is not one of the most extreme mass surveillance states. It's as if Canada's attempt to pass the bill is more offensive than the mass surveillance itself, ie, it's just virtue theatre.</p>
]]></description><pubDate>Mon, 16 Mar 2026 16:14:29 +0000</pubDate><link>https://news.ycombinator.com/item?id=47400976</link><dc:creator>Defletter</dc:creator><comments>https://news.ycombinator.com/item?id=47400976</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47400976</guid></item><item><title><![CDATA[New comment by Defletter in "Bill C-22, the Lawful Access Act: Dangerous backdoor surveillance risks remain"]]></title><description><![CDATA[
<p>Except that's not really true, is it? It may be the flavour-text of US tradition that the government is protecting your rights rather than bestowing them, but the outcome is the same. Nor is the US government particularly fastidious about protecting them: one need only ask the average person of colour whether they feel equally protected under the law.<p>It is your <i>Declaration of Independence</i> that recognises inalienable rights endowed by one's creator, not the Constitution, and is thus legally unenforceable. We know this because none of the rights enshrined in the Constitution are actually <i>inalienable.</i> For example: the First Amendment says that Congress can make no law prohibiting the right to peacefully assemble... but then how does federal incarceration work? The US has one of the largest mass-surveillance apparatuses in the world despite the Fourth Amendment. The President has also attempted to end birthright citizenship via decree, something which your Supreme Court is currently entertaining instead of immediately overturning as patently unconstitutional.<p>There's a common refrain that rights do not exist without remedies. Whether rights are given by one's deity or by one's government is immaterial: if you cannot remedy a violation of a right, that right does not exist. While I can certainly agree that certain systems do not entrench rights as much as they should (here in the UK, all our rights persist at the whims of a simple majority), words on a page matter less than access to remedies.</p>
]]></description><pubDate>Mon, 16 Mar 2026 15:45:44 +0000</pubDate><link>https://news.ycombinator.com/item?id=47400548</link><dc:creator>Defletter</dc:creator><comments>https://news.ycombinator.com/item?id=47400548</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47400548</guid></item><item><title><![CDATA[New comment by Defletter in "Canada's bill C-22 mandates mass metadata surveillance"]]></title><description><![CDATA[
<p>Have to wonder whether Jordan Peterson will incite as much of a panic about this as he did with C-16.</p>
]]></description><pubDate>Mon, 16 Mar 2026 15:13:49 +0000</pubDate><link>https://news.ycombinator.com/item?id=47400101</link><dc:creator>Defletter</dc:creator><comments>https://news.ycombinator.com/item?id=47400101</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47400101</guid></item><item><title><![CDATA[New comment by Defletter in "Digg is gone again"]]></title><description><![CDATA[
<p>Sure, just be aware of what you're up against: if religion teaches us anything it's that even concerted, systematic efforts over millennia  to conquer human nature (eg: libido) still fail. But if you want to give it a go, by all means: one can only imagine Sisyphus happy.</p>
]]></description><pubDate>Sun, 15 Mar 2026 07:52:36 +0000</pubDate><link>https://news.ycombinator.com/item?id=47385217</link><dc:creator>Defletter</dc:creator><comments>https://news.ycombinator.com/item?id=47385217</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47385217</guid></item><item><title><![CDATA[New comment by Defletter in "Digg is gone again"]]></title><description><![CDATA[
<p>Oh that's just human nature: there's a reason why trashy tabloids continue to exist despite how public sentiment seems to universally agree that they're awful spreaders of rumour and insecurity. More people are Skankhunt42 than we'd like to admit.</p>
]]></description><pubDate>Sat, 14 Mar 2026 07:50:05 +0000</pubDate><link>https://news.ycombinator.com/item?id=47374309</link><dc:creator>Defletter</dc:creator><comments>https://news.ycombinator.com/item?id=47374309</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47374309</guid></item><item><title><![CDATA[New comment by Defletter in "The government uses targeted advertising to track your location"]]></title><description><![CDATA[
<p>One problem is that such information can be useful for non surveillance purposes, for example: how they knew certain roads were congested before GPS was the mobile networks. I personally do not see anything nefarious about this, nor would I necessarily wish to see this kind of information as uncollectable. Such things are different from tracking specific individuals, yes, but it's not <i>that</i> different. It then becomes a matter of what, how much, and for what purposes the information can be collected, which can be somewhat moot since the government in all likelihood will give themselves an opt out anyway.<p>None of this is to say that we shouldn't try, or that it's futile, but rather that it's a daunting task: the only way to really defeat this is to not only regulate private entities but also the government itself. And the only way to do that is to make such surveillance political suicide. And the only way to do that is to get the people to care about privacy. Here in the UK, the public has more or less come to accept CCTV cameras being <i>everywhere</i>, with the government now introducing AI face-scanning cameras, which has not been met with much public resistance. And so I do have to echo what @everdrive said: "We've done this to ourselves". Whether it's about convenience or apathy or whatever, we've had the means to object to this and we haven't.</p>
]]></description><pubDate>Thu, 05 Mar 2026 22:00:27 +0000</pubDate><link>https://news.ycombinator.com/item?id=47267902</link><dc:creator>Defletter</dc:creator><comments>https://news.ycombinator.com/item?id=47267902</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47267902</guid></item><item><title><![CDATA[New comment by Defletter in "The government uses targeted advertising to track your location"]]></title><description><![CDATA[
<p>Fun fact, generalisations can still exist even if they don't 100% apply to literally everybody.</p>
]]></description><pubDate>Thu, 05 Mar 2026 21:41:33 +0000</pubDate><link>https://news.ycombinator.com/item?id=47267696</link><dc:creator>Defletter</dc:creator><comments>https://news.ycombinator.com/item?id=47267696</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47267696</guid></item><item><title><![CDATA[New comment by Defletter in "Git's Magic Files"]]></title><description><![CDATA[
<p>Huh, TIL</p>
]]></description><pubDate>Sun, 22 Feb 2026 17:47:38 +0000</pubDate><link>https://news.ycombinator.com/item?id=47112997</link><dc:creator>Defletter</dc:creator><comments>https://news.ycombinator.com/item?id=47112997</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47112997</guid></item><item><title><![CDATA[New comment by Defletter in "Git's Magic Files"]]></title><description><![CDATA[
<p>I have this two liner as part of my post-os-install setup script:<p><pre><code>    curl -fsSL https://www.toptal.com/developers/gitignore/api/linux > ~/.gitignore
    git config --global core.excludesFile ~/.gitignore</code></pre></p>
]]></description><pubDate>Sun, 22 Feb 2026 17:40:53 +0000</pubDate><link>https://news.ycombinator.com/item?id=47112940</link><dc:creator>Defletter</dc:creator><comments>https://news.ycombinator.com/item?id=47112940</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47112940</guid></item><item><title><![CDATA[New comment by Defletter in "How far back in time can you understand English?"]]></title><description><![CDATA[
<p>This is something I struggle with on a semi-regular basis since I'm fairly interested in our constitutional history, so documents like the Bill of Rights 1688/9[1], the Petition of Right 1627[2], etc, are not old or illegible enough to have been given modern translations (like the Magna Carta 1297[3]). As such, they can be difficult reads, particularly with their endless run-on sentences. Punctuation seems to have not been invented yet either.<p>- [1] <a href="https://www.legislation.gov.uk/aep/WillandMarSess2/1/2/enacted" rel="nofollow">https://www.legislation.gov.uk/aep/WillandMarSess2/1/2/enact...</a><p>- [2] <a href="https://www.legislation.gov.uk/aep/Cha1/3/1/enacted" rel="nofollow">https://www.legislation.gov.uk/aep/Cha1/3/1/enacted</a><p>- [3] <a href="https://www.legislation.gov.uk/aep/Edw1cc1929/25/9" rel="nofollow">https://www.legislation.gov.uk/aep/Edw1cc1929/25/9</a></p>
]]></description><pubDate>Sat, 21 Feb 2026 20:34:54 +0000</pubDate><link>https://news.ycombinator.com/item?id=47104426</link><dc:creator>Defletter</dc:creator><comments>https://news.ycombinator.com/item?id=47104426</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47104426</guid></item></channel></rss>