<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: __ryan__</title><link>https://news.ycombinator.com/user?id=__ryan__</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Wed, 30 Sep 2026 19:27:13 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=__ryan__" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by __ryan__ in "Tell HN: Service Workers === Browser Background Tasks"]]></title><description><![CDATA[
<p>Simple async JavaScript is still single threaded with an event loop. In other words, your async code is just a task deferred for later and only one task runs at a time, only moving onto another task when complete or explicitly yielding via “await”.<p>Service workers are threads. They’re basically separate JavaScript processes you communicate with with IPC, with other special privileges and capabilities allotted to them.</p>
]]></description><pubDate>Wed, 30 Aug 2023 11:04:54 +0000</pubDate><link>https://news.ycombinator.com/item?id=37320201</link><dc:creator>__ryan__</dc:creator><comments>https://news.ycombinator.com/item?id=37320201</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=37320201</guid></item><item><title><![CDATA[New comment by __ryan__ in "How to find out if programming is for you"]]></title><description><![CDATA[
<p>What is it about it that makes you feel this way?</p>
]]></description><pubDate>Tue, 15 Aug 2023 11:16:17 +0000</pubDate><link>https://news.ycombinator.com/item?id=37132504</link><dc:creator>__ryan__</dc:creator><comments>https://news.ycombinator.com/item?id=37132504</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=37132504</guid></item><item><title><![CDATA[New comment by __ryan__ in "FCC imposes record penalty against transnational illegal robocalling operation"]]></title><description><![CDATA[
<p>It was 5 <i>billion</i> calls to 500 million numbers over a 3 month period.</p>
]]></description><pubDate>Fri, 04 Aug 2023 13:58:50 +0000</pubDate><link>https://news.ycombinator.com/item?id=37000151</link><dc:creator>__ryan__</dc:creator><comments>https://news.ycombinator.com/item?id=37000151</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=37000151</guid></item><item><title><![CDATA[New comment by __ryan__ in "Almost 70% of recipients mark emails as spam based solely on the subject line!"]]></title><description><![CDATA[
<p>I <i>report</i> nearly all auto-generated unsolicited emails as spam. I also report nearly all follow ups to ignored cold emails. I will protect my inbox.</p>
]]></description><pubDate>Thu, 03 Aug 2023 11:52:13 +0000</pubDate><link>https://news.ycombinator.com/item?id=36984515</link><dc:creator>__ryan__</dc:creator><comments>https://news.ycombinator.com/item?id=36984515</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=36984515</guid></item><item><title><![CDATA[New comment by __ryan__ in "Why even let users set their own passwords?"]]></title><description><![CDATA[
<p>Accessing a users data is not the only reason for hacking their account. Performing actions on behalf of a user is just as much of a threat.<p>Edit: also, if an attacker dumps all the data today then loses access to the data tomorrow, having access to my password hashes means they can access my account and data later.</p>
]]></description><pubDate>Sat, 22 Jul 2023 15:30:09 +0000</pubDate><link>https://news.ycombinator.com/item?id=36827055</link><dc:creator>__ryan__</dc:creator><comments>https://news.ycombinator.com/item?id=36827055</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=36827055</guid></item><item><title><![CDATA[New comment by __ryan__ in "Why even let users set their own passwords?"]]></title><description><![CDATA[
<p>This isn’t the attack vector to be concerned about. More concerning is when there’s a data breach and an attacker gains access to hashed passwords. At that point, you attack the hash not the API.<p>This comment is an example of why I wouldn’t want any given website to choose my password.</p>
]]></description><pubDate>Sat, 22 Jul 2023 15:07:14 +0000</pubDate><link>https://news.ycombinator.com/item?id=36826857</link><dc:creator>__ryan__</dc:creator><comments>https://news.ycombinator.com/item?id=36826857</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=36826857</guid></item><item><title><![CDATA[New comment by __ryan__ in "You can deactivate anyone's WhatsApp account by simply sending an email"]]></title><description><![CDATA[
<p>You are correct that the period doesn’t count. Both email addresses belong to the same account. A possible explanation is that they have entered your email as a mistake.</p>
]]></description><pubDate>Mon, 17 Jul 2023 22:08:05 +0000</pubDate><link>https://news.ycombinator.com/item?id=36764734</link><dc:creator>__ryan__</dc:creator><comments>https://news.ycombinator.com/item?id=36764734</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=36764734</guid></item><item><title><![CDATA[New comment by __ryan__ in "Firejail: Light, featureful and zero-dependency security sandbox for Linux"]]></title><description><![CDATA[
<p>Not sure if this was their motivation, but hardware acceleration also enables increased opportunity for fingerprinting, to my knowledge.</p>
]]></description><pubDate>Tue, 11 Jul 2023 17:48:21 +0000</pubDate><link>https://news.ycombinator.com/item?id=36684587</link><dc:creator>__ryan__</dc:creator><comments>https://news.ycombinator.com/item?id=36684587</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=36684587</guid></item><item><title><![CDATA[New comment by __ryan__ in "Why doesn't TypeScript properly type Object.keys?"]]></title><description><![CDATA[
<p>When does the standard library lie in this case?</p>
]]></description><pubDate>Sun, 25 Jun 2023 00:22:23 +0000</pubDate><link>https://news.ycombinator.com/item?id=36463999</link><dc:creator>__ryan__</dc:creator><comments>https://news.ycombinator.com/item?id=36463999</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=36463999</guid></item><item><title><![CDATA[New comment by __ryan__ in "Why doesn't TypeScript properly type Object.keys?"]]></title><description><![CDATA[
<p>The lie is when your code uses* the “any” value where a concrete type is expected.<p>I was misunderstanding your point with the deserialize.<p>Edit: “using” -> “uses”</p>
]]></description><pubDate>Sat, 24 Jun 2023 13:44:14 +0000</pubDate><link>https://news.ycombinator.com/item?id=36458639</link><dc:creator>__ryan__</dc:creator><comments>https://news.ycombinator.com/item?id=36458639</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=36458639</guid></item><item><title><![CDATA[New comment by __ryan__ in "Why doesn't TypeScript properly type Object.keys?"]]></title><description><![CDATA[
<p>Yes, “any” is a wart. And it’s a bad one.<p>The correct type for values you don’t know the type of (like the response of an API call) is “unknown”.<p>TypeScript does not provide the facilities you describe because there is not a one-size-fits-all solution to the cases that are possible and common in JavaScript.<p>It is left to the developer to decide how to validate unknown data at the boundaries of the API.<p>There are third party libraries that facilitate this in different ways with different trade-offs.<p><pre><code>  The compiler actively lies to you about the types you’ll have at runtime.
</code></pre>
I find this to be rare if you are using strict mode with proper TypeScript definition files for your platform and dependencies. Usually the lie is in your own code or bad dependencies when an “unknown” type (including “any”) is cast to a concrete type without being validated.<p><pre><code>  In nearly any other typed language I have some deserialization mechanism.
</code></pre>
Could you provide examples? I either don’t understand or I disagree.</p>
]]></description><pubDate>Sat, 24 Jun 2023 13:20:05 +0000</pubDate><link>https://news.ycombinator.com/item?id=36458471</link><dc:creator>__ryan__</dc:creator><comments>https://news.ycombinator.com/item?id=36458471</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=36458471</guid></item><item><title><![CDATA[New comment by __ryan__ in "Why doesn't TypeScript properly type Object.keys?"]]></title><description><![CDATA[
<p>I don’t think I’m following well enough to provide a meaningful response.<p>This is not meant as an argument against what you’re saying, because I know you were just giving an example, but I found this and thought you may find it interesting:
<a href="https://www.hacklewayne.com/a-truly-strongly-typed-printf-in-typescript" rel="nofollow noreferrer">https://www.hacklewayne.com/a-truly-strongly-typed-printf-in...</a></p>
]]></description><pubDate>Sat, 24 Jun 2023 12:56:15 +0000</pubDate><link>https://news.ycombinator.com/item?id=36458314</link><dc:creator>__ryan__</dc:creator><comments>https://news.ycombinator.com/item?id=36458314</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=36458314</guid></item><item><title><![CDATA[New comment by __ryan__ in "Why doesn't TypeScript properly type Object.keys?"]]></title><description><![CDATA[
<p>They’re suggesting <i>outputting</i> runtime type information by emitting different code based on the type of the value passed to their hypothetical “Type.keys()” function.</p>
]]></description><pubDate>Sat, 24 Jun 2023 12:08:28 +0000</pubDate><link>https://news.ycombinator.com/item?id=36457981</link><dc:creator>__ryan__</dc:creator><comments>https://news.ycombinator.com/item?id=36457981</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=36457981</guid></item><item><title><![CDATA[New comment by __ryan__ in "Why doesn't TypeScript properly type Object.keys?"]]></title><description><![CDATA[
<p><p><pre><code>  You're forced to emulate exactness by always destructuring objects - not great.
</code></pre>
It’s almost like using objects as enumerable maps is an anti-pattern.</p>
]]></description><pubDate>Sat, 24 Jun 2023 12:06:43 +0000</pubDate><link>https://news.ycombinator.com/item?id=36457968</link><dc:creator>__ryan__</dc:creator><comments>https://news.ycombinator.com/item?id=36457968</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=36457968</guid></item><item><title><![CDATA[New comment by __ryan__ in "Why doesn't TypeScript properly type Object.keys?"]]></title><description><![CDATA[
<p>Runtime type information is against the goals of TypeScript.<p><a href="https://github.com/Microsoft/TypeScript/wiki/TypeScript-Design-Goals">https://github.com/Microsoft/TypeScript/wiki/TypeScript-Desi...</a><p>Edit:<p><pre><code>  Non-goals:
  …
  5. Add or rely on run-time type information in programs, or emit different code based on the results of the type system. Instead, encourage programming patterns that do not require run-time metadata.</code></pre></p>
]]></description><pubDate>Sat, 24 Jun 2023 11:58:18 +0000</pubDate><link>https://news.ycombinator.com/item?id=36457922</link><dc:creator>__ryan__</dc:creator><comments>https://news.ycombinator.com/item?id=36457922</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=36457922</guid></item><item><title><![CDATA[New comment by __ryan__ in "Show HN: 77 Year old launches SaaS platform today. Seeks feedback"]]></title><description><![CDATA[
<p><p><pre><code>    Also you should fill your database with houses - use AI or some sort of random data generator to generate them and just make sure there's a small but clear note on the listing saying this is AI data. It's not ideal but it is better than an empty database. Give people something to look at.
</code></pre>
This genuinely made my stomach turn. If this is the future… I don’t know if I want in.</p>
]]></description><pubDate>Sat, 17 Jun 2023 07:12:15 +0000</pubDate><link>https://news.ycombinator.com/item?id=36368035</link><dc:creator>__ryan__</dc:creator><comments>https://news.ycombinator.com/item?id=36368035</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=36368035</guid></item><item><title><![CDATA[New comment by __ryan__ in "Dreamfall: An experiment in hypnagogic dreaming"]]></title><description><![CDATA[
<p>“Inception” is frequently misunderstood to mean entering other people’s dreams or having multiple layers of dreams.<p>In the movie, they of course have the technology to do these things, but it’s usually used for “extraction”: stealing information and ideas from one’s subconscious by infiltrating their dreams.<p>“Inception”, as used in the movie, is just the opposite of “extraction”: to plant an idea in someone’s subconscious by infiltrating their dreams.<p>So while I think it’s a stretch, it’s not as bad as suggesting that people can commingle in dreams.</p>
]]></description><pubDate>Fri, 16 Jun 2023 22:19:58 +0000</pubDate><link>https://news.ycombinator.com/item?id=36364734</link><dc:creator>__ryan__</dc:creator><comments>https://news.ycombinator.com/item?id=36364734</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=36364734</guid></item><item><title><![CDATA[New comment by __ryan__ in "Before he was the Unabomber, Ted Kaczynski was a mind-control test subject"]]></title><description><![CDATA[
<p>If I know that an entity goes to great lengths to conceal secrets, why would I ever believe I know of their most secret secret?</p>
]]></description><pubDate>Sun, 11 Jun 2023 12:48:13 +0000</pubDate><link>https://news.ycombinator.com/item?id=36280891</link><dc:creator>__ryan__</dc:creator><comments>https://news.ycombinator.com/item?id=36280891</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=36280891</guid></item><item><title><![CDATA[New comment by __ryan__ in "Hacker News Highlights"]]></title><description><![CDATA[
<p>Interestingly, “highlights” is not there.</p>
]]></description><pubDate>Thu, 04 May 2023 00:41:56 +0000</pubDate><link>https://news.ycombinator.com/item?id=35809830</link><dc:creator>__ryan__</dc:creator><comments>https://news.ycombinator.com/item?id=35809830</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=35809830</guid></item><item><title><![CDATA[New comment by __ryan__ in "The UIs ChatGPT Won't Replace"]]></title><description><![CDATA[
<p>“More quinoa”</p>
]]></description><pubDate>Fri, 28 Apr 2023 11:59:44 +0000</pubDate><link>https://news.ycombinator.com/item?id=35740218</link><dc:creator>__ryan__</dc:creator><comments>https://news.ycombinator.com/item?id=35740218</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=35740218</guid></item></channel></rss>