<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: andrewmd5</title><link>https://news.ycombinator.com/user?id=andrewmd5</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Sun, 17 May 2026 12:13:41 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=andrewmd5" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[We made the dev tier free. Go nuts. – Rainway]]></title><description><![CDATA[
<p>Article URL: <a href="https://rainway.com/blog/2022/06/01/free-dev-tier/">https://rainway.com/blog/2022/06/01/free-dev-tier/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=31597512">https://news.ycombinator.com/item?id=31597512</a></p>
<p>Points: 2</p>
<p># Comments: 0</p>
]]></description><pubDate>Thu, 02 Jun 2022 17:01:30 +0000</pubDate><link>https://rainway.com/blog/2022/06/01/free-dev-tier/</link><dc:creator>andrewmd5</dc:creator><comments>https://news.ycombinator.com/item?id=31597512</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=31597512</guid></item><item><title><![CDATA[New comment by andrewmd5 in "Why Big Nations Lose Small Wars (Paper, 1975) [pdf]"]]></title><description><![CDATA[
<p>Afghanistan?</p>
]]></description><pubDate>Wed, 23 Mar 2022 18:08:25 +0000</pubDate><link>https://news.ycombinator.com/item?id=30781446</link><dc:creator>andrewmd5</dc:creator><comments>https://news.ycombinator.com/item?id=30781446</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=30781446</guid></item><item><title><![CDATA[Why should 0 be a “boring” value in an enum?]]></title><description><![CDATA[
<p>Article URL: <a href="https://github.com/RainwayApp/bebop/wiki/Why-should-0-be-a-%22boring%22-value-in-an-enum%3F">https://github.com/RainwayApp/bebop/wiki/Why-should-0-be-a-%22boring%22-value-in-an-enum%3F</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=30168935">https://news.ycombinator.com/item?id=30168935</a></p>
<p>Points: 1</p>
<p># Comments: 0</p>
]]></description><pubDate>Tue, 01 Feb 2022 20:41:08 +0000</pubDate><link>https://github.com/RainwayApp/bebop/wiki/Why-should-0-be-a-%22boring%22-value-in-an-enum%3F</link><dc:creator>andrewmd5</dc:creator><comments>https://news.ycombinator.com/item?id=30168935</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=30168935</guid></item><item><title><![CDATA[How we added support for Rust to our schema language]]></title><description><![CDATA[
<p>Article URL: <a href="https://rainway.com/blog/2021/08/30/bebop-rust/">https://rainway.com/blog/2021/08/30/bebop-rust/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=28447060">https://news.ycombinator.com/item?id=28447060</a></p>
<p>Points: 2</p>
<p># Comments: 0</p>
]]></description><pubDate>Tue, 07 Sep 2021 16:58:17 +0000</pubDate><link>https://rainway.com/blog/2021/08/30/bebop-rust/</link><dc:creator>andrewmd5</dc:creator><comments>https://news.ycombinator.com/item?id=28447060</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=28447060</guid></item><item><title><![CDATA[New comment by andrewmd5 in "TikTok requests access to devices on local network"]]></title><description><![CDATA[
<p>It is to support finding devices you can cast to inside the app (like conference calling boxes.)</p>
]]></description><pubDate>Mon, 16 Aug 2021 16:56:17 +0000</pubDate><link>https://news.ycombinator.com/item?id=28200228</link><dc:creator>andrewmd5</dc:creator><comments>https://news.ycombinator.com/item?id=28200228</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=28200228</guid></item><item><title><![CDATA[NPM silently suspended package adoption after mistakenly transferring one to me]]></title><description><![CDATA[
<p>Article URL: <a href="https://twitter.com/Andrewmd5/status/1423915732979437571">https://twitter.com/Andrewmd5/status/1423915732979437571</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=28096802">https://news.ycombinator.com/item?id=28096802</a></p>
<p>Points: 3</p>
<p># Comments: 0</p>
]]></description><pubDate>Sat, 07 Aug 2021 08:10:29 +0000</pubDate><link>https://twitter.com/Andrewmd5/status/1423915732979437571</link><dc:creator>andrewmd5</dc:creator><comments>https://news.ycombinator.com/item?id=28096802</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=28096802</guid></item><item><title><![CDATA[New comment by andrewmd5 in "Apple enabling client-side CSAM scanning on iPhone tomorrow"]]></title><description><![CDATA[
<p>If you can recreate a file so it’s hash matches known CP then that file is CP my dude. The probability of just two hashes accidentally colliding is approximately: 4.3*10-60<p>Even if you do a content aware hash where you break the file into chunks and hash each chunk, you still wouldn’t be able to magically recreate the hash of a CP file without also producing part of the CP.</p>
]]></description><pubDate>Thu, 05 Aug 2021 12:34:36 +0000</pubDate><link>https://news.ycombinator.com/item?id=28072802</link><dc:creator>andrewmd5</dc:creator><comments>https://news.ycombinator.com/item?id=28072802</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=28072802</guid></item><item><title><![CDATA[New comment by andrewmd5 in "iOS 14.6 device hacked with a zero-click iMessage exploit to install Pegasus"]]></title><description><![CDATA[
<p>The overhead of stream abstractions is negligible if your goal is security when processing arbitrary input files provided from a zero-trust environment.<p>In environments where you’re prioritizing performance I’d still argue streams are likely your best bet when the size of the file to be parsed is not a constant. You wouldn’t want to load 50 large files into ram on a server environment let alone a phone.<p>If your input buffer is a bunch of tiny 10 KB files and you trust them? Sure, load them into memory and access their indices on the stack. Make sure you reuse the buffer to avoid unnecessary allocations.<p>If you want parallel processing with zero-allocations then streams with an array pool for their backing buffer are the best bet.<p>Not loading arbitrary files into memory will always be safer than doing so.<p>As for decoding - I believe the functions for validating if an array of bytes is an image should be far removed from the decoding and presentation of those bytes to the frame buffer. You don’t need to decode a JPG to validate that a file is a JPG. It either conforms to the standard or it doesn’t; the pixel data is irrelevant.</p>
]]></description><pubDate>Mon, 19 Jul 2021 02:43:50 +0000</pubDate><link>https://news.ycombinator.com/item?id=27878747</link><dc:creator>andrewmd5</dc:creator><comments>https://news.ycombinator.com/item?id=27878747</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=27878747</guid></item><item><title><![CDATA[New comment by andrewmd5 in "iOS 14.6 device hacked with a zero-click iMessage exploit to install Pegasus"]]></title><description><![CDATA[
<p>If your goal is validation (i.e. this is a JPG/PNG) and stripping of EXIF data it is entirely possible to write your own parser in a managed and safe language in less than 500 lines of code without sacrificing any performance.<p>Don’t load them into memory, parse them as a stream byte-by-byte in accordance with the standard for the codec, check every offset before seeking, and reject images that don’t conform to the standard.<p>And of course, a ton of fuzzing to accompany it.</p>
]]></description><pubDate>Mon, 19 Jul 2021 02:19:41 +0000</pubDate><link>https://news.ycombinator.com/item?id=27878606</link><dc:creator>andrewmd5</dc:creator><comments>https://news.ycombinator.com/item?id=27878606</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=27878606</guid></item><item><title><![CDATA[New comment by andrewmd5 in "Bflat: C# as you know it but with Go-like tooling"]]></title><description><![CDATA[
<p>The binary is that big on Linux because the debug symbols are embedded in the executable. You need to strip them.</p>
]]></description><pubDate>Sat, 26 Jun 2021 03:31:52 +0000</pubDate><link>https://news.ycombinator.com/item?id=27638820</link><dc:creator>andrewmd5</dc:creator><comments>https://news.ycombinator.com/item?id=27638820</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=27638820</guid></item><item><title><![CDATA[New comment by andrewmd5 in "Ask HN: Who is hiring? (June 2021)"]]></title><description><![CDATA[
<p>Rainway | Seattle, WA | Remote | Full Time | <a href="https://rainway.work/" rel="nofollow">https://rainway.work/</a><p>We're unleashing the future of computing, collaboration, productivity, and development by using real-time video streaming to change the way that desktop software is built and distributed.<p>We've opened source all of our code challenges, so if you're interested in any of our open positions you can apply by following the instructions on this page: <a href="https://rainway.work/Code-Challenges-f1bc61fecf754d06be253ad4300e565a" rel="nofollow">https://rainway.work/Code-Challenges-f1bc61fecf754d06be253ad...</a></p>
]]></description><pubDate>Tue, 01 Jun 2021 16:56:51 +0000</pubDate><link>https://news.ycombinator.com/item?id=27357629</link><dc:creator>andrewmd5</dc:creator><comments>https://news.ycombinator.com/item?id=27357629</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=27357629</guid></item><item><title><![CDATA[New comment by andrewmd5 in "How Basecamp Blew Up"]]></title><description><![CDATA[
<p>See, all you have to do is push people who claim to want an apolitical workspace just a little to get their real views to surface.<p>Enjoy your sad, weird life <a href="https://andrew.im/" rel="nofollow">https://andrew.im/</a></p>
]]></description><pubDate>Thu, 06 May 2021 05:30:46 +0000</pubDate><link>https://news.ycombinator.com/item?id=27059491</link><dc:creator>andrewmd5</dc:creator><comments>https://news.ycombinator.com/item?id=27059491</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=27059491</guid></item><item><title><![CDATA[New comment by andrewmd5 in "How Basecamp Blew Up"]]></title><description><![CDATA[
<p>The political speech some wish to see silenced revolves around the racial and socioeconomic inequality they benefit from each day. Turning a blind eye to systemic racism does not mean it does not exist, and inherently saying Black lives matter is not a political statement. The ideological aggression against it however is.</p>
]]></description><pubDate>Wed, 05 May 2021 17:29:06 +0000</pubDate><link>https://news.ycombinator.com/item?id=27052896</link><dc:creator>andrewmd5</dc:creator><comments>https://news.ycombinator.com/item?id=27052896</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=27052896</guid></item><item><title><![CDATA[New comment by andrewmd5 in "How Basecamp Blew Up"]]></title><description><![CDATA[
<p>> I rarely see talented developers doing this because they're too busy working.<p>I love the privilege on display here. You can ignore racial inequality issues because "they are too distracting," meanwhile I have to wake up each morning, read yet another one of my brothers and sisters has been killed by police, and I still have to run my business. Your mediocrity exist in your complacently to the status-quo. On a daily basis we innovate, build, ship, and push tech more than you could ever hope -- and we don't need to ban "political discussions" at work.<p>If a business chooses to condemn something without backing up that solidarity with meaningful resources and capital, they should be criticized.</p>
]]></description><pubDate>Wed, 05 May 2021 17:21:42 +0000</pubDate><link>https://news.ycombinator.com/item?id=27052789</link><dc:creator>andrewmd5</dc:creator><comments>https://news.ycombinator.com/item?id=27052789</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=27052789</guid></item><item><title><![CDATA[New comment by andrewmd5 in "Bebop: An Efficient, Schema-Based Binary Serialization Format"]]></title><description><![CDATA[
<p>They are impossible to benchmark against each other without making an assumption about how often you want to access the data, and which parts of it you want to access.
but this means Bebop and FlatBuffers can exist side-by-side / solve different problems:  what FlatBuffers does makes sense if you want to access only parts of your objects in limited specific ways, what we do is better if you're always interested in the whole packet.</p>
]]></description><pubDate>Wed, 31 Mar 2021 05:05:32 +0000</pubDate><link>https://news.ycombinator.com/item?id=26643719</link><dc:creator>andrewmd5</dc:creator><comments>https://news.ycombinator.com/item?id=26643719</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=26643719</guid></item><item><title><![CDATA[New comment by andrewmd5 in "Bebop: An Efficient, Schema-Based Binary Serialization Format"]]></title><description><![CDATA[
<p>One of the authors of Bebop here:<p>- The benchmark code is present in the laboratory directory of the repository.<p>- We don’t compare to Capt’n Proto because it does not have a stable web-based implementation, at least not one that has the features that make it so fast natively, so there is nothing to compare.<p>- Flatbuffers are fast but have a notoriously awful API to work with while also creating their own non-standard data structures in languages like C++. Bebop generates standard type-safe code.<p>- Bebop doesn’t try to compress data other than strings. This is because we don’t want to be responsible for compressing trailing zeroes when faster compression algorithms exist that can be down after encoding. Also most data is tiny.<p>- Bebop supports discriminated unions and has a much more robust type system than Flatbuffers.<p>- We’re not convincing anyone to use our stuff. It was made for us and open sourced because it was useful; we don’t need people ripping out their current serializers if there’s no pressure to do so.</p>
]]></description><pubDate>Tue, 30 Mar 2021 15:47:21 +0000</pubDate><link>https://news.ycombinator.com/item?id=26636008</link><dc:creator>andrewmd5</dc:creator><comments>https://news.ycombinator.com/item?id=26636008</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=26636008</guid></item><item><title><![CDATA[New comment by andrewmd5 in "Bebop: An Efficient, Schema-Based Binary Serialization Format"]]></title><description><![CDATA[
<p>Bebop supports tagged unions now.</p>
]]></description><pubDate>Tue, 30 Mar 2021 15:41:27 +0000</pubDate><link>https://news.ycombinator.com/item?id=26635922</link><dc:creator>andrewmd5</dc:creator><comments>https://news.ycombinator.com/item?id=26635922</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=26635922</guid></item><item><title><![CDATA[Feared by Default]]></title><description><![CDATA[
<p>Article URL: <a href="https://andrew.im/essays/feared-by-default">https://andrew.im/essays/feared-by-default</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=26494340">https://news.ycombinator.com/item?id=26494340</a></p>
<p>Points: 2</p>
<p># Comments: 0</p>
]]></description><pubDate>Wed, 17 Mar 2021 17:31:10 +0000</pubDate><link>https://andrew.im/essays/feared-by-default</link><dc:creator>andrewmd5</dc:creator><comments>https://news.ycombinator.com/item?id=26494340</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=26494340</guid></item><item><title><![CDATA[New comment by andrewmd5 in "Write site-specific extensions to replace sites' JavaScript code"]]></title><description><![CDATA[
<p>A lot of languages don’t have gendered pronouns. They/them is grammatically correct.</p>
]]></description><pubDate>Thu, 11 Mar 2021 13:10:07 +0000</pubDate><link>https://news.ycombinator.com/item?id=26423569</link><dc:creator>andrewmd5</dc:creator><comments>https://news.ycombinator.com/item?id=26423569</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=26423569</guid></item><item><title><![CDATA[New comment by andrewmd5 in "The Black Tax"]]></title><description><![CDATA[
<p>Your inability to accept reality is not an assertion of truth unto others. People can’t pull themselves up by the bootstraps if they have a boot on their neck.<p><a href="https://andrew.im/essays/a-journey-to-the-american-dream" rel="nofollow">https://andrew.im/essays/a-journey-to-the-american-dream</a></p>
]]></description><pubDate>Mon, 08 Mar 2021 12:56:31 +0000</pubDate><link>https://news.ycombinator.com/item?id=26385185</link><dc:creator>andrewmd5</dc:creator><comments>https://news.ycombinator.com/item?id=26385185</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=26385185</guid></item></channel></rss>