<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: mmaaz</title><link>https://news.ycombinator.com/user?id=mmaaz</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Wed, 19 Aug 2026 14:44:39 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=mmaaz" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by mmaaz in "Show HN: Sostactic – polynomial inequalities using sums-of-squares in Lean"]]></title><description><![CDATA[
<p>great q! there's a variety of levers here. for one, it uses newton polytope pruning to prune the monomial basis -- this often helps a lot in practice, especially for sparse polynomials. also, both the lean and python interfaces allow to pass degree bounds in the case of a ratio of SOS, as well as a template for the denominator (e.g., a<i>x^2 + a</i>y^2), which also cuts down on the monomials, as well as possibly introducing affine constraints tying coefficients together. of course, in the positivstellensatz case, you can also specify the degree bound.<p>I wrote about all these tricks here <a href="https://mmaaz.ca/writings/sostactic.html" rel="nofollow">https://mmaaz.ca/writings/sostactic.html</a>.<p>and yeah, there is a clli interface for the python backend, the lean interface calls the cli.</p>
]]></description><pubDate>Tue, 21 Apr 2026 18:53:34 +0000</pubDate><link>https://news.ycombinator.com/item?id=47852893</link><dc:creator>mmaaz</dc:creator><comments>https://news.ycombinator.com/item?id=47852893</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47852893</guid></item><item><title><![CDATA[Show HN: Sostactic – polynomial inequalities using sums-of-squares in Lean]]></title><description><![CDATA[
<p>Current support for nonlinear inequalities in Lean is quite limited. This package attempts to solve this. It contains a collection of Lean4 tactics for proving polynomial inequalities via sum-of-squares (SOS) decompositions, powered by a Python backend. You can use it via Python or Lean.<p>These tactics are significantly more powerful than `nlinarith` and `positivity` -- i.e., they can prove inequalities they cannot. In theory, they can be used to prove any of the following types of statements<p>- prove that a polynomial is nonnegative globally
- prove that a polynomial is nonnegative over a semialgebraic set (i.e., defined by a set of polynomial inequalities)
- prove that a semialgebraic set is empty, i.e., that a system of polynomial inequalities is infeasible<p>The underlying theory is based on the following observation: if a polynomial can be written as a sum of squares of other polynomials, then it is nonnegative everywhere. Theorems proving the existence of such decompositions were one of the landmark achievements of real algebraic geometry in the 20th century, and its connection to semidefinite programming in the 21st century made it a practical computational tool, and is what this software does in the background.</p>
<hr>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=47820134">https://news.ycombinator.com/item?id=47820134</a></p>
<p>Points: 14</p>
<p># Comments: 1</p>
]]></description><pubDate>Sat, 18 Apr 2026 22:36:33 +0000</pubDate><link>https://github.com/mmaaz-git/sostactic</link><dc:creator>mmaaz</dc:creator><comments>https://news.ycombinator.com/item?id=47820134</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47820134</guid></item><item><title><![CDATA[New comment by mmaaz in "Gaussian Splatting – A$AP Rocky "Helicopter" music video"]]></title><description><![CDATA[
<p>Really cool work!</p>
]]></description><pubDate>Mon, 19 Jan 2026 09:44:52 +0000</pubDate><link>https://news.ycombinator.com/item?id=46676910</link><dc:creator>mmaaz</dc:creator><comments>https://news.ycombinator.com/item?id=46676910</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46676910</guid></item><item><title><![CDATA[Finding bugs across the Python ecosystem with Claude and property-based testing]]></title><description><![CDATA[
<p>Article URL: <a href="https://red.anthropic.com/2026/property-based-testing/">https://red.anthropic.com/2026/property-based-testing/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=46625428">https://news.ycombinator.com/item?id=46625428</a></p>
<p>Points: 1</p>
<p># Comments: 0</p>
]]></description><pubDate>Wed, 14 Jan 2026 23:19:20 +0000</pubDate><link>https://red.anthropic.com/2026/property-based-testing/</link><dc:creator>mmaaz</dc:creator><comments>https://news.ycombinator.com/item?id=46625428</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46625428</guid></item><item><title><![CDATA[New comment by mmaaz in "Total monthly number of StackOverflow questions over time"]]></title><description><![CDATA[
<p>Very cool!</p>
]]></description><pubDate>Sun, 04 Jan 2026 04:01:50 +0000</pubDate><link>https://news.ycombinator.com/item?id=46484751</link><dc:creator>mmaaz</dc:creator><comments>https://news.ycombinator.com/item?id=46484751</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46484751</guid></item><item><title><![CDATA[New comment by mmaaz in "Slaughtering Competition Problems with Quantifier Elimination (2021)"]]></title><description><![CDATA[
<p>To provide some additional context: the algorithm being used by QEPCAD is cylindrical algebraic decomposition, which has a time complexity 2^2^n (yes, doubly exponential). So, while in theory many problems could be solved by tossing them into CAD, this is often not tractable. This isn’t a knock against CAD: imo it is one of the most fundamental and under-appreciated algorithms and I devoted a big chunk of my PhD thesis to it.<p>By the way, to my knowledge QEPCAD is essentially the only complete open-source implementation of it. Mathematica also implements it. I wrote one of the few open-source implementations of it, although it does not do quantifier elimination; it only returns the truth of a given statement. <a href="https://github.com/mmaaz-git/cad" rel="nofollow">https://github.com/mmaaz-git/cad</a>.</p>
]]></description><pubDate>Tue, 30 Dec 2025 02:45:49 +0000</pubDate><link>https://news.ycombinator.com/item?id=46428941</link><dc:creator>mmaaz</dc:creator><comments>https://news.ycombinator.com/item?id=46428941</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46428941</guid></item><item><title><![CDATA[New comment by mmaaz in "Algorithms for Optimization [pdf]"]]></title><description><![CDATA[
<p>this is really brilliant!!</p>
]]></description><pubDate>Mon, 01 Dec 2025 06:49:52 +0000</pubDate><link>https://news.ycombinator.com/item?id=46104297</link><dc:creator>mmaaz</dc:creator><comments>https://news.ycombinator.com/item?id=46104297</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46104297</guid></item><item><title><![CDATA[Mathematics is hard for mathematicians to understand too]]></title><description><![CDATA[
<p>Article URL: <a href="https://www.science.org/doi/10.1126/science.aec9014">https://www.science.org/doi/10.1126/science.aec9014</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=46073978">https://news.ycombinator.com/item?id=46073978</a></p>
<p>Points: 134</p>
<p># Comments: 148</p>
]]></description><pubDate>Thu, 27 Nov 2025 23:05:54 +0000</pubDate><link>https://www.science.org/doi/10.1126/science.aec9014</link><dc:creator>mmaaz</dc:creator><comments>https://news.ycombinator.com/item?id=46073978</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46073978</guid></item><item><title><![CDATA[New comment by mmaaz in "Agentic Property-Based Testing: Finding Bugs Across the Python Ecosystem"]]></title><description><![CDATA[
<p>This website showcases our agent, based on Claude, that autonomously infers properties of code and tests them using Hypothesis. Our agent found hundreds of bugs across popular Python libraries, some of which we have since reported and patched! On this website, you can browse all of the bugs it found. You can read the linked paper and code for more information.</p>
]]></description><pubDate>Tue, 18 Nov 2025 08:25:05 +0000</pubDate><link>https://news.ycombinator.com/item?id=45962685</link><dc:creator>mmaaz</dc:creator><comments>https://news.ycombinator.com/item?id=45962685</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45962685</guid></item><item><title><![CDATA[Agentic Property-Based Testing: Finding Bugs Across the Python Ecosystem]]></title><description><![CDATA[
<p>Article URL: <a href="https://mmaaz-git.github.io/agentic-pbt-site/">https://mmaaz-git.github.io/agentic-pbt-site/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=45962684">https://news.ycombinator.com/item?id=45962684</a></p>
<p>Points: 2</p>
<p># Comments: 1</p>
]]></description><pubDate>Tue, 18 Nov 2025 08:25:05 +0000</pubDate><link>https://mmaaz-git.github.io/agentic-pbt-site/</link><dc:creator>mmaaz</dc:creator><comments>https://news.ycombinator.com/item?id=45962684</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45962684</guid></item><item><title><![CDATA[New comment by mmaaz in "Tips for stroke-surviving software engineers"]]></title><description><![CDATA[
<p>Exactly the same here, late night would be my most productive. I don’t know how sustainable this is as I mature lol.</p>
]]></description><pubDate>Thu, 30 Oct 2025 06:47:49 +0000</pubDate><link>https://news.ycombinator.com/item?id=45757069</link><dc:creator>mmaaz</dc:creator><comments>https://news.ycombinator.com/item?id=45757069</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45757069</guid></item><item><title><![CDATA[New comment by mmaaz in "Tips for stroke-surviving software engineers"]]></title><description><![CDATA[
<p>Tbh the code I was writing wasn’t that complex from an engineering perspective. During my PhD I was writing “research code” which is more like writing scripts, not a full blown application or library. The most challenging part was translating the math/algorithms to code. And I would just get into a flow state sometimes and could not stop haha. I had a (bad?) habit during my PhD that whenever I was stuck on a problem I just kept bashing my head against it until I solved it (code or math).</p>
]]></description><pubDate>Thu, 30 Oct 2025 06:46:23 +0000</pubDate><link>https://news.ycombinator.com/item?id=45757064</link><dc:creator>mmaaz</dc:creator><comments>https://news.ycombinator.com/item?id=45757064</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45757064</guid></item><item><title><![CDATA[New comment by mmaaz in "Tips for stroke-surviving software engineers"]]></title><description><![CDATA[
<p>Wow, I feel for you, that sounds really scary. Honestly no, I’ve scarcely changed how I work, except for being more strict about keeping a rigid schedule, forcing myself to take breaks, etc. It’s only my left eye that can’t read, the right eye is totally fine. But I do feel the eye strain come on sooner from relying on one eye.</p>
]]></description><pubDate>Thu, 30 Oct 2025 06:42:45 +0000</pubDate><link>https://news.ycombinator.com/item?id=45757048</link><dc:creator>mmaaz</dc:creator><comments>https://news.ycombinator.com/item?id=45757048</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45757048</guid></item><item><title><![CDATA[New comment by mmaaz in "Tips for stroke-surviving software engineers"]]></title><description><![CDATA[
<p>Hmm not sure what you mean. In the case of MOGAD, it actually attacks the lining of the nerve. The MOG means myelin oligodendrocyte glycoprotein, which is a protein in the myelin sheath.</p>
]]></description><pubDate>Thu, 30 Oct 2025 06:39:23 +0000</pubDate><link>https://news.ycombinator.com/item?id=45757031</link><dc:creator>mmaaz</dc:creator><comments>https://news.ycombinator.com/item?id=45757031</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45757031</guid></item><item><title><![CDATA[New comment by mmaaz in "Tips for stroke-surviving software engineers"]]></title><description><![CDATA[
<p>Good advice. I didn’t have a stroke but a couple months ago I developed blindness in my left eye. It came down to my optic nerve being inflamed. I was later diagnosed with a rare autoimmune condition called MOGAD which “attacks” the optic nerve. Thankfully my vision is approx 95% recovered by now. But I still can’t read, eg code on my laptop, which is scary (my right eye is basically making up for it). And I’m scared of another attack happening. So I’ve been really looking after my health and trying not to do the 12+ hr coding benders I used to do. I appreciate these tips!</p>
]]></description><pubDate>Wed, 29 Oct 2025 06:42:01 +0000</pubDate><link>https://news.ycombinator.com/item?id=45743401</link><dc:creator>mmaaz</dc:creator><comments>https://news.ycombinator.com/item?id=45743401</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45743401</guid></item><item><title><![CDATA[New comment by mmaaz in "You already have a Git server"]]></title><description><![CDATA[
<p>Some time ago, I was on a team of researchers collaborating with a hospital to build some ML models for them. I joined the project somewhat late. There was a big fuss over the fact that the hospital servers were not connected to the internet, so the researchers couldn't use GitHub, so they had been stalled for months. I told them that before GitHub there was `git`, and it is already on the servers... I "set up" a git system for them.</p>
]]></description><pubDate>Mon, 27 Oct 2025 05:24:19 +0000</pubDate><link>https://news.ycombinator.com/item?id=45717663</link><dc:creator>mmaaz</dc:creator><comments>https://news.ycombinator.com/item?id=45717663</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45717663</guid></item><item><title><![CDATA[New comment by mmaaz in "Ask HN: What are you working on? (October 2025)"]]></title><description><![CDATA[
<p>I love this as someone who used to work on max-weight matchings and now works on LLMs :)</p>
]]></description><pubDate>Mon, 13 Oct 2025 07:12:28 +0000</pubDate><link>https://news.ycombinator.com/item?id=45565618</link><dc:creator>mmaaz</dc:creator><comments>https://news.ycombinator.com/item?id=45565618</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45565618</guid></item><item><title><![CDATA[New comment by mmaaz in "Why did Crunchyroll's subtitles just get worse?"]]></title><description><![CDATA[
<p>Fascinating insight into the industry. Thanks for sharing.</p>
]]></description><pubDate>Tue, 07 Oct 2025 06:39:43 +0000</pubDate><link>https://news.ycombinator.com/item?id=45500020</link><dc:creator>mmaaz</dc:creator><comments>https://news.ycombinator.com/item?id=45500020</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45500020</guid></item><item><title><![CDATA[Property-based testing of batch-invariant operations]]></title><description><![CDATA[
<p>Article URL: <a href="https://www.mmaaz.ca/writings/batch-invariance.html">https://www.mmaaz.ca/writings/batch-invariance.html</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=45486002">https://news.ycombinator.com/item?id=45486002</a></p>
<p>Points: 1</p>
<p># Comments: 0</p>
]]></description><pubDate>Sun, 05 Oct 2025 22:53:01 +0000</pubDate><link>https://www.mmaaz.ca/writings/batch-invariance.html</link><dc:creator>mmaaz</dc:creator><comments>https://news.ycombinator.com/item?id=45486002</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45486002</guid></item><item><title><![CDATA[New comment by mmaaz in "Integer Programming (1977) [pdf]"]]></title><description><![CDATA[
<p>Curious what you mean by this. Do you mean like an AlphaEvolve type thing?</p>
]]></description><pubDate>Tue, 09 Sep 2025 06:23:04 +0000</pubDate><link>https://news.ycombinator.com/item?id=45178126</link><dc:creator>mmaaz</dc:creator><comments>https://news.ycombinator.com/item?id=45178126</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45178126</guid></item></channel></rss>