<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: matharmin</title><link>https://news.ycombinator.com/user?id=matharmin</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Mon, 24 Aug 2026 03:18:17 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=matharmin" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by matharmin in "Stacked PRs are now live on GitHub"]]></title><description><![CDATA[
<p>I've been using the preview for a bit, and I'm quite surprised to see them expanding the preview with so many unfixed issue.<p>For example, merging an entire stack is completely broken in many cases: <a href="https://github.com/github/gh-stack/discussions/212" rel="nofollow">https://github.com/github/gh-stack/discussions/212</a><p>You can merge one by one, but if you're using squash and merge, you need a re-approval for each PR in the stack if you require reviews. This makes you lose out on arguably the biggest gain of stacked PRs.<p>The command line tooling (gh stack) helps to make things slightly less manual, but you still need to be very aware of how git rebase works, the tooling just helps automate it across multiple branches. For example, just running the "gh stack rebase" commands that the UI suggests won't work if your local branches are not in sync with the remote ones, and the tooling won't point that out to you.<p>I do find the stack UI quite nice. It's quite minimal compared to standalone PRs, but it's enough to show the relationship between them.<p>(My comments all assume you already have a good reason to stack PRs. This tooling just help to make the workflow easier, it does not give any new capabilities)</p>
]]></description><pubDate>Thu, 30 Jul 2026 18:01:42 +0000</pubDate><link>https://news.ycombinator.com/item?id=49113452</link><dc:creator>matharmin</dc:creator><comments>https://news.ycombinator.com/item?id=49113452</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49113452</guid></item><item><title><![CDATA[New comment by matharmin in "Paging Through a Parquet File in DuckDB: File_row_number or Offset?"]]></title><description><![CDATA[
<p>I'd assume it's common knowledge that you cannot paginate using OFFSET + LIMIT unless you use ORDER BY on an unique set of columns, no matter what database you're using. The only exception is when the database provides an explicit order guarantee without the ORDER BY, such as the case with `preserve_insertion_order = true` here.</p>
]]></description><pubDate>Thu, 30 Jul 2026 15:55:56 +0000</pubDate><link>https://news.ycombinator.com/item?id=49111810</link><dc:creator>matharmin</dc:creator><comments>https://news.ycombinator.com/item?id=49111810</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49111810</guid></item><item><title><![CDATA[New comment by matharmin in "DMARC has been public since 2012 but most company domains still don't enforce it"]]></title><description><![CDATA[
<p>I never understood the point of the anti-virus adding a message to _outgoing_ emails. Basically "I swear there is no virus in this email I'm sending you, trust me bro".</p>
]]></description><pubDate>Tue, 28 Jul 2026 17:28:16 +0000</pubDate><link>https://news.ycombinator.com/item?id=49087171</link><dc:creator>matharmin</dc:creator><comments>https://news.ycombinator.com/item?id=49087171</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49087171</guid></item><item><title><![CDATA[New comment by matharmin in "DMARC has been public since 2012 but most company domains still don't enforce it"]]></title><description><![CDATA[
<p>I'm not familiar with Outlook's resending, but the use case is supported if the sender uses DKIM. If the email is forwarded without changing any details, it can keep the DKIM signature. That allows the forwarded email to still pass DMARC.<p>Now if the sender used SPF + DMARC but not DKIM, this does not work, since the sender IP can't be verified with the forwarded email. In that case, the forwarder has to change the from address to prevent the email from failing DMARC and be rejected.<p>In practice, senders using SPF+DMARC but not DKIM should be quite rare, you see DKIM+DMARC much more often.</p>
]]></description><pubDate>Tue, 28 Jul 2026 15:50:09 +0000</pubDate><link>https://news.ycombinator.com/item?id=49085718</link><dc:creator>matharmin</dc:creator><comments>https://news.ycombinator.com/item?id=49085718</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49085718</guid></item><item><title><![CDATA[New comment by matharmin in "DMARC has been public since 2012 but most company domains still don't enforce it"]]></title><description><![CDATA[
<p>There are lots of free tools that automatically analyze the reports for you (you send it to them, instead of yourself).<p>But if you send all emails for your domain from one email server, you could just disable rua reporting. The reports are mainly useful to see whether you have some misconfigired email server somewhere that causes (or will cause) dropped emails. That can easily happen if you send some email from your own server, some via sendgrid, some via some marketing tool, and start to lose track of them. But for a personal email server, that's not common.</p>
]]></description><pubDate>Tue, 28 Jul 2026 14:38:33 +0000</pubDate><link>https://news.ycombinator.com/item?id=49084660</link><dc:creator>matharmin</dc:creator><comments>https://news.ycombinator.com/item?id=49084660</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49084660</guid></item><item><title><![CDATA[New comment by matharmin in "New HIV vaccine shows unprecedented success in preclinical study"]]></title><description><![CDATA[
<p>That PrEP is in some ways similar to a vaccine, and there is still a lot of value in getting a better vaccine (cheaper and/or lasting longer).</p>
]]></description><pubDate>Tue, 28 Jul 2026 14:29:44 +0000</pubDate><link>https://news.ycombinator.com/item?id=49084481</link><dc:creator>matharmin</dc:creator><comments>https://news.ycombinator.com/item?id=49084481</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49084481</guid></item><item><title><![CDATA[New comment by matharmin in "Do you really need separate systems when you already have Postgres?"]]></title><description><![CDATA[
<p>Why would anyone use GridFS for any serious use case? It costs 10-20x as much as storing the files on S3. If unless you already have all your data in MongoDB and don't want an additional dependency for a small number of files it makes sense, but it definitely is not a case for using MongoDB by itself.</p>
]]></description><pubDate>Mon, 06 Jul 2026 16:06:51 +0000</pubDate><link>https://news.ycombinator.com/item?id=48806610</link><dc:creator>matharmin</dc:creator><comments>https://news.ycombinator.com/item?id=48806610</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48806610</guid></item><item><title><![CDATA[New comment by matharmin in "Codex logging bug may write TBs to local SSDs"]]></title><description><![CDATA[
<p>LLMs do learn from mistakes. Not as directly from individual mistakes like humans do, but in aggregate the models have improved much more in the last year than most humans I know learn in the same time.</p>
]]></description><pubDate>Mon, 22 Jun 2026 09:10:30 +0000</pubDate><link>https://news.ycombinator.com/item?id=48627707</link><dc:creator>matharmin</dc:creator><comments>https://news.ycombinator.com/item?id=48627707</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48627707</guid></item><item><title><![CDATA[New comment by matharmin in "Deno Desktop"]]></title><description><![CDATA[
<p>Do you mean "Unlike Deno Desktop"? Deno Desktop definitely relies on a browser engine.</p>
]]></description><pubDate>Mon, 22 Jun 2026 08:41:48 +0000</pubDate><link>https://news.ycombinator.com/item?id=48627486</link><dc:creator>matharmin</dc:creator><comments>https://news.ycombinator.com/item?id=48627486</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48627486</guid></item><item><title><![CDATA[New comment by matharmin in "Let's Encrypt bans certificate usage in any US sanctioned territory [pdf]"]]></title><description><![CDATA[
<p>Yeah, they don't make it that clear, but you get basically the same functionality as with LetsEncrypt for free, including wildcard certs. You basically only need to pay for manually issued certs, or some of their other additional features.</p>
]]></description><pubDate>Tue, 09 Jun 2026 18:20:28 +0000</pubDate><link>https://news.ycombinator.com/item?id=48465249</link><dc:creator>matharmin</dc:creator><comments>https://news.ycombinator.com/item?id=48465249</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48465249</guid></item><item><title><![CDATA[New comment by matharmin in "Let's Encrypt bans certificate usage in any US sanctioned territory [pdf]"]]></title><description><![CDATA[
<p>I use them in some cases to avoid the rate limits on LetsEncrypt, and they have better support for some older platforms (like ancient Android versions), and I'm pretty happy so far. I have a paid account to support them, but it's not a requirement for ACME certs. It works without issue with Kubernetes Certbot, and seamless to switch between ZeroSSL and LetsEncrypt.<p>I can't comment on the EU part though - not that relevant in my case.</p>
]]></description><pubDate>Tue, 09 Jun 2026 18:14:51 +0000</pubDate><link>https://news.ycombinator.com/item?id=48465152</link><dc:creator>matharmin</dc:creator><comments>https://news.ycombinator.com/item?id=48465152</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48465152</guid></item><item><title><![CDATA[New comment by matharmin in "How's Linear so fast? A technical breakdown"]]></title><description><![CDATA[
<p>At PowerSync we use a wa-sqlite build with SQLite3MultipleCiphers for encryption at rest.<p>You do still need a secure key to use with this. The simplest is to persist the key server-side (and specifically not on the client), and provide it to the JS after signing in. If you need to support a completely offline PWA you need something else, e.g. prompting the user for a passcode each load.</p>
]]></description><pubDate>Mon, 08 Jun 2026 13:27:00 +0000</pubDate><link>https://news.ycombinator.com/item?id=48445077</link><dc:creator>matharmin</dc:creator><comments>https://news.ycombinator.com/item?id=48445077</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48445077</guid></item><item><title><![CDATA[New comment by matharmin in "Cloudflare to cut about 20% of its workforce"]]></title><description><![CDATA[
<p>Now you can ask "Is it easier to ask an AI agent to do X than asking my employee?"<p>Good metrics is difficult, but sometimes a simple comparison like that is enough.</p>
]]></description><pubDate>Fri, 08 May 2026 20:13:05 +0000</pubDate><link>https://news.ycombinator.com/item?id=48068167</link><dc:creator>matharmin</dc:creator><comments>https://news.ycombinator.com/item?id=48068167</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48068167</guid></item><item><title><![CDATA[New comment by matharmin in "Linux 7.0 Broke PostgreSQL: The Preemption Regression Explained"]]></title><description><![CDATA[
<p>Yup - interesting to see so much written about Postgres having a performance regression on Linux 7.0, in a scenario that affects almost no-one in practice. Meanwhile MongoDB refuses to run at all on Linux 7.0 due to some issue with tcmalloc.<p><a href="https://jira.mongodb.org/browse/SERVER-121885" rel="nofollow">https://jira.mongodb.org/browse/SERVER-121885</a></p>
]]></description><pubDate>Wed, 29 Apr 2026 18:20:59 +0000</pubDate><link>https://news.ycombinator.com/item?id=47952290</link><dc:creator>matharmin</dc:creator><comments>https://news.ycombinator.com/item?id=47952290</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47952290</guid></item><item><title><![CDATA[New comment by matharmin in "An update on GitHub availability"]]></title><description><![CDATA[
<p>In many of my projects don't show any closed pull requests for the last 6 days. The CLI can list them, but anything going through search shows nothing.<p>Their support acknowledged the issue, but has been silent since then, and the status page still shows nothing other than the potentially-related issue on the 27th. It looks like it has been resolved on some repositories in the meantime, but I still have the issue across multiple orgs and repositories.<p><a href="https://github.com/orgs/community/discussions/193388" rel="nofollow">https://github.com/orgs/community/discussions/193388</a></p>
]]></description><pubDate>Tue, 28 Apr 2026 13:03:21 +0000</pubDate><link>https://news.ycombinator.com/item?id=47934000</link><dc:creator>matharmin</dc:creator><comments>https://news.ycombinator.com/item?id=47934000</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47934000</guid></item><item><title><![CDATA[New comment by matharmin in "GitHub Stacked PRs"]]></title><description><![CDATA[
<p>This is not just about the UI, it's about the mental model and management of the changes.<p>Just covering the review process:<p>Yes, you can structure your PR into 3 commits to be reviewed separately. I occasionally structure my PRs like this - it does help in some cases. But if those separate parts are large, you really want more structure around it than just a commit.<p>For example, let's say you have parts A, B and C, with B depending on A, and C depending on B.<p>1. I may want to open a PR for A while still working on B. Someone may review A soon, in which case I can merge immediately. Or perhaps it will only be reviewed after I finished C, in which case I'll use a stacked PR.
2. The PR(s) may need follow up changes after initial review. By using stacked PRs instead of just separate commits, I can add more commits to the individual PRs. That makes it clear what parts those commits are relevant to, and makes it easy to re-review the individual parts with updated changes. Separate commits don't give you that.<p>Stacked PRs is not a workflow I'd use often, but there are cases where it's a valuable tool.<p>Then apart from the review process, there are lots of advantages to keeping changes small. Typically, the larger a change, the longer it lives in a separate branch. That gives more time for merge conflicts to build up. That gives more time for underlying assumptions to change. That makes it more difficult to keep a mental map of all the changes that will be merged.<p>There are also advantages to deploying small changes at a time, that I won't go into here. But the parent's process of potentially merging and deploying the search index first makes a lot of sense. The extra overhead of managing the index while it's "unused" for a couple of days is not going to hurt you. It allows early testing of the index maintenance in production, seeing the performance overhead and other effects. If there's an issue, it's easy to revert without affecting users.<p>The overall point is that as features become large, the entire lifecycle becomes easier to manage if you can split it into smaller parts. Sometimes the smaller parts may be user-visible, sometimes not. For features developed in a day or two, there's no need to split it further. But if it will span multiple weeks, in a project with many other developers working on, then splitting into smaller changes helps a lot.<p>Stacked PRs is not some magical solution here, but it is one tool that helps manage this.</p>
]]></description><pubDate>Tue, 14 Apr 2026 04:48:11 +0000</pubDate><link>https://news.ycombinator.com/item?id=47761365</link><dc:creator>matharmin</dc:creator><comments>https://news.ycombinator.com/item?id=47761365</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47761365</guid></item><item><title><![CDATA[New comment by matharmin in "RubyGems Fracture Incident Report"]]></title><description><![CDATA[
<p>I can see a lot of time was put into the report, and it helps to have the detail, but in my mind it glosses over one of the most important parts: The dispute in the stewardship of the bundler and rubygems open-source projects.<p>As I understand it, Ruby Central controlled the rubygems and bundler github organizations, but did not "own" the projects in the traditional sense - the individual contributers have copyright on the code, and potentially even trademark rights. By then removing access of core maintainers to those projects, they removed access to something they don't "own" themselves.<p>This is all complicated by the fact that controlling a github organization or repo is different from owning the trademark or copyright. But some of the original maintainers clearly felt they had more of a right to those projects than Ruby Central did.<p>I believe not clarifying this before making these access changes was the biggest mistake that Ruby Central made, and it's not even mentioned in this report.</p>
]]></description><pubDate>Tue, 31 Mar 2026 18:12:58 +0000</pubDate><link>https://news.ycombinator.com/item?id=47591336</link><dc:creator>matharmin</dc:creator><comments>https://news.ycombinator.com/item?id=47591336</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47591336</guid></item><item><title><![CDATA[New comment by matharmin in "Anthropic, please make a new Slack"]]></title><description><![CDATA[
<p>What features are you using that the $18/user/month plan doesn't cover?</p>
]]></description><pubDate>Fri, 06 Mar 2026 21:15:06 +0000</pubDate><link>https://news.ycombinator.com/item?id=47281173</link><dc:creator>matharmin</dc:creator><comments>https://news.ycombinator.com/item?id=47281173</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47281173</guid></item><item><title><![CDATA[New comment by matharmin in "Resizing windows on macOS Tahoe – the saga continues"]]></title><description><![CDATA[
<p>In my experience, Windows is very far from a "it just works" OS.</p>
]]></description><pubDate>Fri, 13 Feb 2026 07:11:01 +0000</pubDate><link>https://news.ycombinator.com/item?id=46999825</link><dc:creator>matharmin</dc:creator><comments>https://news.ycombinator.com/item?id=46999825</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46999825</guid></item><item><title><![CDATA[New comment by matharmin in "Fast Properties in V8 (2017)"]]></title><description><![CDATA[
<p>This is still an interesting read, but has anything here changed in the meantime? And out of interest, do other JS engines use the same type of structure to represent properties?</p>
]]></description><pubDate>Thu, 12 Feb 2026 19:13:11 +0000</pubDate><link>https://news.ycombinator.com/item?id=46993563</link><dc:creator>matharmin</dc:creator><comments>https://news.ycombinator.com/item?id=46993563</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46993563</guid></item></channel></rss>