<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: notpopcorn</title><link>https://news.ycombinator.com/user?id=notpopcorn</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Mon, 28 Sep 2026 22:22:28 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=notpopcorn" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by notpopcorn in "HDR‑Infused Emoji"]]></title><description><![CDATA[
<p>If you take a screenshot of it, the effect is gone. The emoji and the background are just the same #ffffff in the screenshot. Seems like an easy way to make some unscreenshottable text or something. I don't know how I feel about that.</p>
]]></description><pubDate>Fri, 18 Apr 2025 07:14:01 +0000</pubDate><link>https://news.ycombinator.com/item?id=43725768</link><dc:creator>notpopcorn</dc:creator><comments>https://news.ycombinator.com/item?id=43725768</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43725768</guid></item><item><title><![CDATA[New comment by notpopcorn in "iPhones and action discoverability"]]></title><description><![CDATA[
<p>Another example of a very hidden feature is "export/print as pdf". If you do share => print, you don't get a pdf option, but you can do a zoom gesture on the preview and then +poof+, it's a pdf you can save. How was I supposed to discover that?</p>
]]></description><pubDate>Sun, 25 Sep 2022 07:53:13 +0000</pubDate><link>https://news.ycombinator.com/item?id=32969680</link><dc:creator>notpopcorn</dc:creator><comments>https://news.ycombinator.com/item?id=32969680</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=32969680</guid></item><item><title><![CDATA[New comment by notpopcorn in "Rust 1.63"]]></title><description><![CDATA[
<p>A const is like a `#define` in C or C++, while a static is a global variable.</p>
]]></description><pubDate>Thu, 11 Aug 2022 19:20:17 +0000</pubDate><link>https://news.ycombinator.com/item?id=32430466</link><dc:creator>notpopcorn</dc:creator><comments>https://news.ycombinator.com/item?id=32430466</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=32430466</guid></item><item><title><![CDATA[New comment by notpopcorn in "Pre-Sliced Bread was once banned in the United States (2010)"]]></title><description><![CDATA[
<p>> Imagine giving the public access to that now.<p>German supermarkets have those machines today. :-)</p>
]]></description><pubDate>Mon, 27 Jun 2022 08:44:18 +0000</pubDate><link>https://news.ycombinator.com/item?id=31892014</link><dc:creator>notpopcorn</dc:creator><comments>https://news.ycombinator.com/item?id=31892014</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=31892014</guid></item><item><title><![CDATA[New comment by notpopcorn in "Uninitialized memory: Unsafe Rust is too hard"]]></title><description><![CDATA[
<p>> So we use a &'static str here instead of a C string so there are some changes to the C code.<p>> [..]<p>> So why does this type not support zero initialization? What do we have to change? Can zeroed not be used at all? Some of you might think that the answer is #[repr(C)] on the struct to force a C layout but that won't solve the problem.<p>The type of the first field was switched to a type (&str) that specifically promises it is never null. If the original type (a pointer) was kept, or a Option<&str> was used, mem::zero would've worked fine.</p>
]]></description><pubDate>Sun, 30 Jan 2022 15:56:57 +0000</pubDate><link>https://news.ycombinator.com/item?id=30138236</link><dc:creator>notpopcorn</dc:creator><comments>https://news.ycombinator.com/item?id=30138236</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=30138236</guid></item><item><title><![CDATA[New comment by notpopcorn in "Uninitialized memory: Unsafe Rust is too hard"]]></title><description><![CDATA[
<p>Without any unsafe code this is simply:<p><pre><code>    let role = Role {
        name: "basic",
        flag: 1,
        disabled: false,
    };
</code></pre>
The language tries to prevent you from interacting with a `Role` object that's not fully initialized. `mem::zero()` could work, but then you'll have to turn the `&'static str` into an `Option<&'static str>` or a raw pointer, to indicate that it might be null. You could also add `#[derive(Default)]` to the struct, to automatically get a `Role::default()` function to create a `Role` with and then modify the fields afterwards, if you want to set the fields in separate statements for some reason:<p><pre><code>    let mut role = Role::default();
    role.name = "basic";
    role.flag = 1;
    role.disabled = false;
</code></pre>
And even with `MaybeUninit` you can initialize the whole struct (without `unsafe`!) with `MaybeUninit::write`. It's just that <i>partially</i> initializing something is hard to get right, which is the point of the article I guess. But I wonder how commonly you would really want that, as it easily leads to mistakes.</p>
]]></description><pubDate>Sun, 30 Jan 2022 15:46:05 +0000</pubDate><link>https://news.ycombinator.com/item?id=30138119</link><dc:creator>notpopcorn</dc:creator><comments>https://news.ycombinator.com/item?id=30138119</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=30138119</guid></item><item><title><![CDATA[Physically Impossible Ping Times]]></title><description><![CDATA[
<p>Article URL: <a href="https://twitter.com/m_ou_se/status/1480184730058375176">https://twitter.com/m_ou_se/status/1480184730058375176</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=29865686">https://news.ycombinator.com/item?id=29865686</a></p>
<p>Points: 42</p>
<p># Comments: 3</p>
]]></description><pubDate>Sun, 09 Jan 2022 17:58:15 +0000</pubDate><link>https://twitter.com/m_ou_se/status/1480184730058375176</link><dc:creator>notpopcorn</dc:creator><comments>https://news.ycombinator.com/item?id=29865686</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=29865686</guid></item><item><title><![CDATA[New comment by notpopcorn in "Portal 2 crashes if you have 128 cores, due to 15 year old assumptions"]]></title><description><![CDATA[
<p>It's just like the end of Portal 1: you have to remove some cores in order to win the game. ;)</p>
]]></description><pubDate>Fri, 31 Dec 2021 04:39:02 +0000</pubDate><link>https://news.ycombinator.com/item?id=29744959</link><dc:creator>notpopcorn</dc:creator><comments>https://news.ycombinator.com/item?id=29744959</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=29744959</guid></item><item><title><![CDATA[New comment by notpopcorn in "Portal 2 crashes if you have 128 cores, due to 15 year old assumptions"]]></title><description><![CDATA[
<p>MAX_THREAD_IDS is defined as 128 in a file with a copyright notice of 2005, which was when the very first consumer dual core processors started getting released:<p><a href="https://github.com/perilouswithadollarsign/cstrike15_src/blob/master/tier0/threadtools.cpp#L99" rel="nofollow">https://github.com/perilouswithadollarsign/cstrike15_src/blo...</a><p>Entirely reasonable that no one in 2005 would even consider the possibility of 128 core processors. I bet nobody reconsidered or even looked at that code ever since, until it started breaking because of today's extremely parallel cpus starting to get somewhat affordable for consumers.</p>
]]></description><pubDate>Fri, 31 Dec 2021 03:49:01 +0000</pubDate><link>https://news.ycombinator.com/item?id=29744668</link><dc:creator>notpopcorn</dc:creator><comments>https://news.ycombinator.com/item?id=29744668</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=29744668</guid></item><item><title><![CDATA[Portal 2 crashes if you have 128 cores, due to 15 year old assumptions]]></title><description><![CDATA[
<p>Article URL: <a href="https://twitter.com/m_ou_se/status/1476165843369312258">https://twitter.com/m_ou_se/status/1476165843369312258</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=29744641">https://news.ycombinator.com/item?id=29744641</a></p>
<p>Points: 63</p>
<p># Comments: 11</p>
]]></description><pubDate>Fri, 31 Dec 2021 03:43:34 +0000</pubDate><link>https://twitter.com/m_ou_se/status/1476165843369312258</link><dc:creator>notpopcorn</dc:creator><comments>https://news.ycombinator.com/item?id=29744641</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=29744641</guid></item></channel></rss>