<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: hmpc</title><link>https://news.ycombinator.com/user?id=hmpc</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Mon, 06 Apr 2026 02:08:03 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=hmpc" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by hmpc in "Herbie: Automatically improve imprecise floating point formulas"]]></title><description><![CDATA[
<p>Check the specification at the top. The range for x is [-1, 1]. For the range you provided the accuracy of the 0.5x alternative is reported as only 33%: <a href="https://herbie.uwplse.org/demo/570b973df0f1f4a78fe791858038a84f635de8c6.0cc3b6492c83efca5bd11399e0830e7873c749d9/graph.html" rel="nofollow">https://herbie.uwplse.org/demo/570b973df0f1f4a78fe791858038a...</a></p>
]]></description><pubDate>Sat, 04 Apr 2026 02:15:32 +0000</pubDate><link>https://news.ycombinator.com/item?id=47634970</link><dc:creator>hmpc</dc:creator><comments>https://news.ycombinator.com/item?id=47634970</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47634970</guid></item><item><title><![CDATA[The machines are fine. I'm worried about us]]></title><description><![CDATA[
<p>Article URL: <a href="https://ergosphere.blog/posts/the-machines-are-fine/">https://ergosphere.blog/posts/the-machines-are-fine/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=47619990">https://news.ycombinator.com/item?id=47619990</a></p>
<p>Points: 18</p>
<p># Comments: 3</p>
]]></description><pubDate>Thu, 02 Apr 2026 20:50:09 +0000</pubDate><link>https://ergosphere.blog/posts/the-machines-are-fine/</link><dc:creator>hmpc</dc:creator><comments>https://news.ycombinator.com/item?id=47619990</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47619990</guid></item><item><title><![CDATA[Vtables Aren't Slow (Usually)]]></title><description><![CDATA[
<p>Article URL: <a href="https://louis.co.nz/2026/01/24/vtable-overhead.html">https://louis.co.nz/2026/01/24/vtable-overhead.html</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=47615634">https://news.ycombinator.com/item?id=47615634</a></p>
<p>Points: 1</p>
<p># Comments: 0</p>
]]></description><pubDate>Thu, 02 Apr 2026 15:18:17 +0000</pubDate><link>https://louis.co.nz/2026/01/24/vtable-overhead.html</link><dc:creator>hmpc</dc:creator><comments>https://news.ycombinator.com/item?id=47615634</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47615634</guid></item><item><title><![CDATA[New comment by hmpc in "Two studies in compiler optimisations"]]></title><description><![CDATA[
<p>It depends on your use case, as always. Correctness is not always black and white (hence my favourite compilation flag, -funsafe-math-optimizations) and time complexity can be misleading (O(log N) with a large base is O(1) in practice), but a correct, theoretically optimal algorithm might still be leaving a lot of performance on the table. If you're a hyperscaler, a high-frequency trader, or perhaps a game programmer pushing the limits of the platform, small gains can accumulate meaningfully, as can the thousand cuts caused by small inefficiencies spread out over the codebase.</p>
]]></description><pubDate>Thu, 26 Mar 2026 22:56:46 +0000</pubDate><link>https://news.ycombinator.com/item?id=47536909</link><dc:creator>hmpc</dc:creator><comments>https://news.ycombinator.com/item?id=47536909</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47536909</guid></item><item><title><![CDATA[New comment by hmpc in "Two studies in compiler optimisations"]]></title><description><![CDATA[
<p>There's an interesting comment on this over on Lobsters: <a href="https://lobste.rs/s/e4y5ps/two_studies_compiler_optimisations#c_mxldu8" rel="nofollow">https://lobste.rs/s/e4y5ps/two_studies_compiler_optimisation...</a></p>
]]></description><pubDate>Thu, 26 Mar 2026 22:44:57 +0000</pubDate><link>https://news.ycombinator.com/item?id=47536795</link><dc:creator>hmpc</dc:creator><comments>https://news.ycombinator.com/item?id=47536795</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47536795</guid></item><item><title><![CDATA[New comment by hmpc in "Two studies in compiler optimisations"]]></title><description><![CDATA[
<p>(Author here)<p>>It all seems very brittle, though. And that something has gone very wrong with our ecosystem of tools, languages, and processes when it becomes advisable to massage source until specific passes in a specific version LLVM don't mess things up for other passes.<p>I would say the main takeaway is actually to <i>not</i> do that, precisely because it's brittle, difficult to understand, and can backfire by making things harder for the compiler. As I point out at the end, the vast majority of developers will be better served by sticking to common idioms and making their intent as clear as possible using language facilities, rather than trying to outsmart the compiler or, conversely, relying excessively on the optimiser as a magic black box.<p>That being said, I do find it helpful to understand the broad strokes of the optimisation pipeline (things like "callees are optimised before callers", "maintaining invariants enables more simplifications", or "early simplifications are better") to make the most of it. Like with any other tool, mastery means letting it do its job most of the time but knowing when and where to step in if necessary.</p>
]]></description><pubDate>Thu, 26 Mar 2026 22:36:32 +0000</pubDate><link>https://news.ycombinator.com/item?id=47536710</link><dc:creator>hmpc</dc:creator><comments>https://news.ycombinator.com/item?id=47536710</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47536710</guid></item><item><title><![CDATA[Two studies in compiler optimisations]]></title><description><![CDATA[
<p>Article URL: <a href="https://www.hmpcabral.com/2026/03/20/two-studies-in-compiler-optimisations/">https://www.hmpcabral.com/2026/03/20/two-studies-in-compiler-optimisations/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=47478599">https://news.ycombinator.com/item?id=47478599</a></p>
<p>Points: 128</p>
<p># Comments: 21</p>
]]></description><pubDate>Sun, 22 Mar 2026 15:34:44 +0000</pubDate><link>https://www.hmpcabral.com/2026/03/20/two-studies-in-compiler-optimisations/</link><dc:creator>hmpc</dc:creator><comments>https://news.ycombinator.com/item?id=47478599</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47478599</guid></item><item><title><![CDATA[The C++ input iterator pitfall]]></title><description><![CDATA[
<p>Article URL: <a href="https://www.hmpcabral.com/2026/02/25/the-c-input-iterator-pitfall/">https://www.hmpcabral.com/2026/02/25/the-c-input-iterator-pitfall/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=47153771">https://news.ycombinator.com/item?id=47153771</a></p>
<p>Points: 3</p>
<p># Comments: 0</p>
]]></description><pubDate>Wed, 25 Feb 2026 16:29:21 +0000</pubDate><link>https://www.hmpcabral.com/2026/02/25/the-c-input-iterator-pitfall/</link><dc:creator>hmpc</dc:creator><comments>https://news.ycombinator.com/item?id=47153771</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47153771</guid></item><item><title><![CDATA[Making Waffles with Group Theory]]></title><description><![CDATA[
<p>Article URL: <a href="https://www.hmpcabral.com/2026/02/09/making-waffles-with-group-theory/">https://www.hmpcabral.com/2026/02/09/making-waffles-with-group-theory/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=46945898">https://news.ycombinator.com/item?id=46945898</a></p>
<p>Points: 1</p>
<p># Comments: 0</p>
]]></description><pubDate>Mon, 09 Feb 2026 14:56:44 +0000</pubDate><link>https://www.hmpcabral.com/2026/02/09/making-waffles-with-group-theory/</link><dc:creator>hmpc</dc:creator><comments>https://news.ycombinator.com/item?id=46945898</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46945898</guid></item><item><title><![CDATA[New comment by hmpc in "Remove first 300M lines from 700 GB file on 1TB disk"]]></title><description><![CDATA[
<p>Don't you need your read to be line-oriented to avoid breaking up lines?</p>
]]></description><pubDate>Tue, 22 Sep 2020 14:54:31 +0000</pubDate><link>https://news.ycombinator.com/item?id=24555126</link><dc:creator>hmpc</dc:creator><comments>https://news.ycombinator.com/item?id=24555126</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=24555126</guid></item><item><title><![CDATA[New comment by hmpc in "How real simultaneous dual band Wi-Fi enables next-gen in-vehicle connectivity"]]></title><description><![CDATA[
<p>Full disclosure: I work for Veniam on connected vehicle technology, including LTE, Wi-Fi, and DSRC stacks.<p>Unfortunately there's also still no agreement on what 5G will actually be, what technologies it will entail, or how it will be deployed. Of course, since none of this is defined yet, there are also no guarantees on what performance will be achievable in practice.<p>The industry will need to solve this issue long before 5G is widespread. The solution will likely involve DSRC, C-V2X, or LTE-V/LTE Direct, which are tailored for the vehicular communication use case (involving both vehicle-to-vehicle [V2V] and vehicle-to-infrastructure [V2I]). It's unlikely a single technology will be able to handle all the challenges of a V2X scenario (highly mobile nodes, congestion, low SNR, requirements for sub-millisecond connection times), and so a second connection management layer will have to be built on top of multiple existing PHYs to enable simultaneous low-latency, high-throughput, and secure communications.<p>(Note that the linked article is actually about in-vehicle communication, however.)</p>
]]></description><pubDate>Mon, 09 Jul 2018 16:19:12 +0000</pubDate><link>https://news.ycombinator.com/item?id=17491337</link><dc:creator>hmpc</dc:creator><comments>https://news.ycombinator.com/item?id=17491337</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=17491337</guid></item><item><title><![CDATA[New comment by hmpc in "Linus on btime: “Let’s wait five years” (2010)"]]></title><description><![CDATA[
<p>Backticks are discouraged for any new scripts, since they complicate nesting, quoting, and escaping, besides being graphically less explicit. See also <a href="http://mywiki.wooledge.org/BashFAQ/082" rel="nofollow">http://mywiki.wooledge.org/BashFAQ/082</a>. The Open Group also discourages backticks: <a href="http://pubs.opengroup.org/onlinepubs/9699919799/xrat/V4_xcu_chap02.html#tag_23_02_06_03" rel="nofollow">http://pubs.opengroup.org/onlinepubs/9699919799/xrat/V4_xcu_...</a>.</p>
]]></description><pubDate>Thu, 22 Sep 2016 13:04:38 +0000</pubDate><link>https://news.ycombinator.com/item?id=12556511</link><dc:creator>hmpc</dc:creator><comments>https://news.ycombinator.com/item?id=12556511</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=12556511</guid></item><item><title><![CDATA[New comment by hmpc in "Curl vs. Wget"]]></title><description><![CDATA[
<p>Actually no. From the manpage:<p>Use "-C -" to tell curl to automatically find out where/how to resume the transfer. It then uses the given output/input files to figure that out.</p>
]]></description><pubDate>Wed, 02 Mar 2016 23:52:29 +0000</pubDate><link>https://news.ycombinator.com/item?id=11214056</link><dc:creator>hmpc</dc:creator><comments>https://news.ycombinator.com/item?id=11214056</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=11214056</guid></item><item><title><![CDATA[New comment by hmpc in "Ask HN: Who is hiring? (March 2016)"]]></title><description><![CDATA[
<p>Veniam | Mountain View, CA/Porto, Portugal/Singapore | Multiple openings | ONSITE<p>We are looking to fill several openings across Engineering, Sales, and Management: <a href="https://veniam.com/jobs/" rel="nofollow">https://veniam.com/jobs/</a>. We have opportunities for cloud, analytics, front-end, hardware design, and embedded software work.<p>Veniam is building the Internet of Moving Things by turning vehicles into WiFi hotspots and building networks of connected vehicles that expand wireless coverage and collect terabytes of urban data for smart city applications.<p>As a member of our team at Veniam, you will have the opportunity to work in fast moving teams of 3-5 people, work closely with our Customer Success teams and often directly with key customers worldwide. We are organized in changing mission-driven teams that deliver continuously and you will have the opportunity to work on something new every few weeks.<p>If you're interested drop me a line at hcabral@veniam.com!</p>
]]></description><pubDate>Tue, 01 Mar 2016 16:52:36 +0000</pubDate><link>https://news.ycombinator.com/item?id=11203966</link><dc:creator>hmpc</dc:creator><comments>https://news.ycombinator.com/item?id=11203966</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=11203966</guid></item><item><title><![CDATA[New comment by hmpc in "Show HN: 500,000 free WiFi hotspots plotted around the world"]]></title><description><![CDATA[
<p>You can also remove all the "STCP | PortoDigital" networks in Porto, Portugal, which are WiFi hotspots in the public buses. Interesting map!<p>(Disclaimer: I work for the company who implemented that network.)</p>
]]></description><pubDate>Sat, 27 Feb 2016 20:01:08 +0000</pubDate><link>https://news.ycombinator.com/item?id=11188215</link><dc:creator>hmpc</dc:creator><comments>https://news.ycombinator.com/item?id=11188215</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=11188215</guid></item><item><title><![CDATA[New comment by hmpc in "Show HN: Pact, a simple utility that kills all procs given to it if one dies"]]></title><description><![CDATA[
<p>This is the service supervision approach, which is indeed the best, avoiding race conditions and nasty polling. If you really must monitor processes which you cannot parent, at least under Linux you can do this using ptrace to sort-of-reparent the processes (as long as you have CAP_SYS_PTRACE or your ptrace scope is set to 0 in Yama), with waitpid to monitor all of them.</p>
]]></description><pubDate>Fri, 22 Jan 2016 10:49:34 +0000</pubDate><link>https://news.ycombinator.com/item?id=10951987</link><dc:creator>hmpc</dc:creator><comments>https://news.ycombinator.com/item?id=10951987</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=10951987</guid></item><item><title><![CDATA[New comment by hmpc in "Ask HN: Who is hiring? (February 2015)"]]></title><description><![CDATA[
<p>Veniam, Portugal - Software Engineer - <a href="http://www.veniam.com/" rel="nofollow">http://www.veniam.com/</a><p>Veniam just raised a $4.9M series A to build the networking fabric for the Internet of Moving Things (<a href="http://techcrunch.com/2014/12/02/veniam-picks-up-4-9m-to-tur..." rel="nofollow">http://techcrunch.com/2014/12/02/veniam-picks-up-4-9m-to-tur...</a>), and we are looking for a Full-Stack Software Engineer to help us.<p>Someone with entrepreneurial spirit who is different, drives change and shares our passion for developing cutting-edge products that people and businesses love and use everyday.<p>Critical thinking, deliberate problem solving, disruptive mindset, and excellent communication are essential qualities, as you will be working in an exceptionally talented team with know-how across different disciplines, constant learning, boundless creativity, and outstanding execution – always in tandem with our headquarters in Silicon Valley.<p>If this is you, please share your CV with us at jobs@veniam.com<p>Target skills:<p>* Node.js<p>* MySQL<p>* MongoDB & Redis<p>* Computer Networks (!)<p>* AWS<p>* and excellent English.</p>
]]></description><pubDate>Sun, 01 Feb 2015 17:11:42 +0000</pubDate><link>https://news.ycombinator.com/item?id=8980694</link><dc:creator>hmpc</dc:creator><comments>https://news.ycombinator.com/item?id=8980694</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=8980694</guid></item><item><title><![CDATA[New comment by hmpc in "gettimeofday() should never be used to measure time"]]></title><description><![CDATA[
<p>Unless I misunderstood, that's what the TIMER_ABSTIME option is for. This is actually what I use for soft real-time loops, when I'm concerned about both drift and jitter.</p>
]]></description><pubDate>Wed, 21 Jan 2015 16:30:13 +0000</pubDate><link>https://news.ycombinator.com/item?id=8923791</link><dc:creator>hmpc</dc:creator><comments>https://news.ycombinator.com/item?id=8923791</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=8923791</guid></item><item><title><![CDATA[New comment by hmpc in "gettimeofday() should never be used to measure time"]]></title><description><![CDATA[
<p>You can already do this in POSIX.1-2001-conforming systems like Linux using `clock_nanosleep` (<a href="http://man7.org/linux/man-pages/man2/clock_nanosleep.2.html" rel="nofollow">http://man7.org/linux/man-pages/man2/clock_nanosleep.2.html</a>).</p>
]]></description><pubDate>Mon, 19 Jan 2015 09:20:49 +0000</pubDate><link>https://news.ycombinator.com/item?id=8911099</link><dc:creator>hmpc</dc:creator><comments>https://news.ycombinator.com/item?id=8911099</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=8911099</guid></item><item><title><![CDATA[New comment by hmpc in "Ask HN: Who is hiring? (January 2015)"]]></title><description><![CDATA[
<p>Veniam, Portugal - Software Engineer - <a href="http://www.veniam.com/" rel="nofollow">http://www.veniam.com/</a><p>Veniam just raised a $4.9M series A to build the networking fabric for the Internet of Moving Things (<a href="http://techcrunch.com/2014/12/02/veniam-picks-up-4-9m-to-turn-buses-into-wi-fi-hotspots/" rel="nofollow">http://techcrunch.com/2014/12/02/veniam-picks-up-4-9m-to-tur...</a>), and we are looking for a Full-Stack Software Engineer to help us.<p>Someone with entrepreneurial spirit who is different, drives change and shares our passion for developing cutting-edge products that people and businesses love and use everyday.<p>Critical thinking, deliberate problem solving, disruptive mindset, and excellent communication are essential qualities, as you will be working in an exceptionally talented team with know-how across different disciplines, constant learning, boundless creativity, and outstanding execution – always in tandem with our headquarters in Silicon Valley.<p>If this is you, please share your CV with us at jobs@veniam.com<p>Target skills:<p>* Node.js<p>* MySQL<p>* MongoDB & Redis<p>* Computer Networks (!)<p>* AWS<p>* and excellent English.</p>
]]></description><pubDate>Thu, 01 Jan 2015 17:12:06 +0000</pubDate><link>https://news.ycombinator.com/item?id=8823467</link><dc:creator>hmpc</dc:creator><comments>https://news.ycombinator.com/item?id=8823467</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=8823467</guid></item></channel></rss>