<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: agrounds</title><link>https://news.ycombinator.com/user?id=agrounds</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Fri, 24 Jul 2026 07:02:23 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=agrounds" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by agrounds in "Terence Tao's ChatGPT conversation about the Jacobian Conjecture counterexample"]]></title><description><![CDATA[
<p>Thanks for the reply, this is very illuminating. I never got to this depth in algorithms. I’m but a humble programmer with a math background, but no CS degree.</p>
]]></description><pubDate>Thu, 23 Jul 2026 03:36:20 +0000</pubDate><link>https://news.ycombinator.com/item?id=49016613</link><dc:creator>agrounds</dc:creator><comments>https://news.ycombinator.com/item?id=49016613</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49016613</guid></item><item><title><![CDATA[New comment by agrounds in "Terence Tao's ChatGPT conversation about the Jacobian conjecture counterexample"]]></title><description><![CDATA[
<p>> That Ring wiki page though, um, nope... :D<p>Fair enough! At a super high level, a ring is just a collection that has a similar structure to what you’re used to “numbers” having. That is, you can add, subtract, and multiply them. Not divide! If we restrict ourselves to just whole numbers then 2/3 is not allowed. We also require that something like 0 and 1 have to be there. “Like zero” means 0 + x = x for every x in your collection, and “like one” means 1x = x for every x. And lastly, we require that the distributive property holds.<p>Examples include the set of whole numbers (Z), the rationals aka fractions (Q), the reals (R), complex numbers (C). These are all infinite rings, but there are also finite rings such as the set of whole numbers modulo a fixed number n, denoted Z/nZ. For instance, Z/2Z has only two elements, namely 0 and 1, with rules like 1 + 1 = 0. There are also polynomial rings, like Z[t], whose elements are all polynomials with integer coefficients (e.g. 3t^3 - t - 2). You can add, subtract, and multiply such polynomials and the result is more polynomials, so this collection is indeed a ring.</p>
]]></description><pubDate>Thu, 23 Jul 2026 03:32:58 +0000</pubDate><link>https://news.ycombinator.com/item?id=49016593</link><dc:creator>agrounds</dc:creator><comments>https://news.ycombinator.com/item?id=49016593</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49016593</guid></item><item><title><![CDATA[New comment by agrounds in "Terence Tao's ChatGPT conversation about the Jacobian Conjecture counterexample"]]></title><description><![CDATA[
<p>I studied a lot of abstract algebra in college and grad school and I’m surprised that rings and algebras would come up in a CS degree. What algorithms topics used those concepts? Something about polynomials?</p>
]]></description><pubDate>Thu, 23 Jul 2026 01:10:10 +0000</pubDate><link>https://news.ycombinator.com/item?id=49015609</link><dc:creator>agrounds</dc:creator><comments>https://news.ycombinator.com/item?id=49015609</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49015609</guid></item><item><title><![CDATA[New comment by agrounds in "Terence Tao's ChatGPT conversation about the Jacobian Conjecture counterexample"]]></title><description><![CDATA[
<p>Absolutely agree. All formal statements (like mathematical ones) are going to have some level of assumed background. And as the assumed background expands, the language naturally becomes more information dense.<p>As for your specific questions, I believe Wikipedia does a great job of answering two of them for a layperson:<p><a href="https://en.wikipedia.org/wiki/Ring_(mathematics)" rel="nofollow">https://en.wikipedia.org/wiki/Ring_(mathematics)</a><p><a href="https://en.wikipedia.org/wiki/Vector_space" rel="nofollow">https://en.wikipedia.org/wiki/Vector_space</a><p>For the others, I’ll say that a formal variable is just a symbol (literally, like the letter t). With such a symbol, we can construct polynomials like 2t^2 - t + 3. Also, there’s no need to only use integers as the allowed coefficients; you can use any ring you like instead.<p>An “algebra over the ring R” is what I was attempting to define in my comment above. The algebra is “over” R if we can multiply an element of the algebra by an element of R. The useful analogy here is scalar multiplication in a vector space: you can multiply a vector by 2 to double it or -1/2 to reflect and shorten it. More generally, it makes perfect sense to consider some more general version of vectors which can be scalar multiplied by elements of any ring R.</p>
]]></description><pubDate>Wed, 22 Jul 2026 23:04:41 +0000</pubDate><link>https://news.ycombinator.com/item?id=49014666</link><dc:creator>agrounds</dc:creator><comments>https://news.ycombinator.com/item?id=49014666</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49014666</guid></item><item><title><![CDATA[New comment by agrounds in "Terrence Tao's ChatGPT Conversation about the Jacobian Conjecture Counterexample"]]></title><description><![CDATA[
<p>Z is the ring of integers, t is a formal variable allowing us to discuss polynomials whose coefficients are in some ring. That’s what R[t] means: the ring of polynomials of the formal variable t with coefficients in R. Adding in t^-1 lets us include inverted terms like 2t^-3.<p>An algebra over a ring (call it S so we don’t confuse it with R from the previous paragraph) is a like a vector space over S, with the added structure that you can multiply elements of the algebra together (vector spaces only let you add their elements together). So for example the collection of even integers 2Z is an algebra over the ring of all integers Z. The collection of all polynomials with integer coefficients, Z[t], is another algebra over Z.<p>This is a great example of how dense language gets in math. There are tons of concepts hiding in the unstated background. Many are quite simple to explain individually, but there are so many of them that an outsider won’t know where to start to tease them apart. There’s a good reason to do it this way though; it would take a very long time to say anything in math without ever increasing levels of information density.</p>
]]></description><pubDate>Wed, 22 Jul 2026 22:27:11 +0000</pubDate><link>https://news.ycombinator.com/item?id=49014320</link><dc:creator>agrounds</dc:creator><comments>https://news.ycombinator.com/item?id=49014320</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49014320</guid></item><item><title><![CDATA[New comment by agrounds in "Mini Shai-Hulud Strikes Again: 314 npm Packages Compromised"]]></title><description><![CDATA[
<p>I dunno, why own a car when you could ride your bike instead? They’re just different things and people may choose to use one over the other for a variety of reasons.</p>
]]></description><pubDate>Tue, 19 May 2026 11:14:05 +0000</pubDate><link>https://news.ycombinator.com/item?id=48191834</link><dc:creator>agrounds</dc:creator><comments>https://news.ycombinator.com/item?id=48191834</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48191834</guid></item><item><title><![CDATA[New comment by agrounds in "Grok 4.3"]]></title><description><![CDATA[
<p>>if an AI is confidently telling you something wrong it's hard to work with.<p>But they all do that. It just comes with the territory. Grok will absolutely do the same thing another time you try it.</p>
]]></description><pubDate>Fri, 01 May 2026 11:26:56 +0000</pubDate><link>https://news.ycombinator.com/item?id=47973509</link><dc:creator>agrounds</dc:creator><comments>https://news.ycombinator.com/item?id=47973509</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47973509</guid></item><item><title><![CDATA[New comment by agrounds in "Localsend: An open-source cross-platform alternative to AirDrop"]]></title><description><![CDATA[
<p>And everyone you ever want to share files with locally also has access to your home VPN?</p>
]]></description><pubDate>Tue, 28 Apr 2026 13:21:23 +0000</pubDate><link>https://news.ycombinator.com/item?id=47934210</link><dc:creator>agrounds</dc:creator><comments>https://news.ycombinator.com/item?id=47934210</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47934210</guid></item><item><title><![CDATA[New comment by agrounds in "I was interviewed by an AI bot for a job"]]></title><description><![CDATA[
<p>There are dozens and dozens of cheap-looking restaurants in San Antonio with absolutely no online presence that will serve you the most delicious tex mex you’ve had in your whole life</p>
]]></description><pubDate>Thu, 12 Mar 2026 02:40:42 +0000</pubDate><link>https://news.ycombinator.com/item?id=47345720</link><dc:creator>agrounds</dc:creator><comments>https://news.ycombinator.com/item?id=47345720</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47345720</guid></item><item><title><![CDATA[New comment by agrounds in "Algebraic topology: knots links and braids"]]></title><description><![CDATA[
<p>Thanks very much for sharing these notes. I studied algebraic topology in grad school but somehow avoided knot theory entirely. Reading these has sparked that feeling I had when I first got into topology.</p>
]]></description><pubDate>Tue, 10 Mar 2026 13:59:21 +0000</pubDate><link>https://news.ycombinator.com/item?id=47323353</link><dc:creator>agrounds</dc:creator><comments>https://news.ycombinator.com/item?id=47323353</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47323353</guid></item><item><title><![CDATA[New comment by agrounds in "U.S. science agency moves to restrict foreign scientists from its labs"]]></title><description><![CDATA[
<p>This is a naive take. Are there specific instances involving individuals of many nationalities/ethnicities? Yes. Is ICE then ignoring race during its operations? Absolutely not. ICE agents are arresting people based solely on their physical appearance and accents. It is band faced racism.</p>
]]></description><pubDate>Mon, 02 Mar 2026 13:29:29 +0000</pubDate><link>https://news.ycombinator.com/item?id=47217730</link><dc:creator>agrounds</dc:creator><comments>https://news.ycombinator.com/item?id=47217730</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47217730</guid></item><item><title><![CDATA[New comment by agrounds in "Terence Tao, at 8 years old (1984) [pdf]"]]></title><description><![CDATA[
<p>Agreed. But generally it very much depends on the school and the effort of those in and around it. Terrence was very fortunate to have parents who supported him and likely lobbied for his unconventional high school/primary school split education, and equally fortunate that his schools were able and willing to accommodate him.</p>
]]></description><pubDate>Tue, 24 Feb 2026 14:16:57 +0000</pubDate><link>https://news.ycombinator.com/item?id=47137439</link><dc:creator>agrounds</dc:creator><comments>https://news.ycombinator.com/item?id=47137439</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47137439</guid></item><item><title><![CDATA[New comment by agrounds in "Oh My Zsh adds bloat"]]></title><description><![CDATA[
<p>I use a subset of omz by cloning it and manually sourcing the plugins I want myself rather than initializing the entire omz system. No themes, no checking for updates, etc. For me, it’s the best of both worlds.<p>I describe my setup and how to use it on a fresh MacBook here: <a href="https://github.com/agrounds/dotfiles" rel="nofollow">https://github.com/agrounds/dotfiles</a></p>
]]></description><pubDate>Sat, 10 Jan 2026 19:36:45 +0000</pubDate><link>https://news.ycombinator.com/item?id=46569162</link><dc:creator>agrounds</dc:creator><comments>https://news.ycombinator.com/item?id=46569162</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46569162</guid></item><item><title><![CDATA[New comment by agrounds in "Google Antigravity just deleted the contents of whole drive"]]></title><description><![CDATA[
<p>Superficially, these look the same, but at least to me they feel fundamental different. Maybe it’s because if I have the ability to read the script and take the time to do so, I can be sure that it won’t cause a catastrophic outcome before running it. If I choose to run an agent in YOLO mode, this can just happen if I’m very unlucky. No way to proactively protect against it other than not use AI in this way.</p>
]]></description><pubDate>Mon, 01 Dec 2025 13:33:12 +0000</pubDate><link>https://news.ycombinator.com/item?id=46107188</link><dc:creator>agrounds</dc:creator><comments>https://news.ycombinator.com/item?id=46107188</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46107188</guid></item><item><title><![CDATA[New comment by agrounds in "Uv is the best thing to happen to the Python ecosystem in a decade"]]></title><description><![CDATA[
<p>>> I also like how you can manage Python versions very easily with it.
>
> I still don't understand why people value this so highly, but so it goes.<p>Well I do need <i>some</i> way to install multiple python versions in parallel, and ideally the correct python version would be used in each project automatically. I used to use pyenv for this, which puts shims in your path so that it can determine which python executable to run on the fly, but I found that it was sometimes very slow, and it didn’t work seamlessly with other tools. Specifically pipenv seemed to ignore it, so I’d have to use a workaround to point pipenv to the path to the pyenv-installed python executable.<p>When one tool does both python installs and dependency/venv management, then it can make these work seamlessly together, and I don’t need to screw up my path to make the version selection work either.</p>
]]></description><pubDate>Thu, 30 Oct 2025 12:07:29 +0000</pubDate><link>https://news.ycombinator.com/item?id=45759120</link><dc:creator>agrounds</dc:creator><comments>https://news.ycombinator.com/item?id=45759120</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45759120</guid></item><item><title><![CDATA[New comment by agrounds in "Uv is the best thing to happen to the Python ecosystem in a decade"]]></title><description><![CDATA[
<p>> What I was not aware of: `venv`s need to be created with the version of python they are supposed to be run. So you need to have a downgraded Python executable first.<p>This is one of uv’s selling points. It will download the correct python version automatically, and create the venv using it, and ensure that venv has your dependencies installed, and ensure that venv is active whenever you run your code. I’ve also been bit by the issue you’re describing many times before, and previously had to use a mix of tools (eg pyenv + pipenv). Now uv does it all, and much better than any previous solution.</p>
]]></description><pubDate>Thu, 30 Oct 2025 11:44:48 +0000</pubDate><link>https://news.ycombinator.com/item?id=45758958</link><dc:creator>agrounds</dc:creator><comments>https://news.ycombinator.com/item?id=45758958</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45758958</guid></item><item><title><![CDATA[New comment by agrounds in "uBlock Origin Lite in Apple App Store"]]></title><description><![CDATA[
<p>Yes</p>
]]></description><pubDate>Wed, 29 Oct 2025 12:40:27 +0000</pubDate><link>https://news.ycombinator.com/item?id=45746067</link><dc:creator>agrounds</dc:creator><comments>https://news.ycombinator.com/item?id=45746067</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45746067</guid></item><item><title><![CDATA[New comment by agrounds in "Elixir 1.19"]]></title><description><![CDATA[
<p>Scala 3 has failed to be widely adopted, and now the language as a whole is more or less dead. Not that that’s due to the 2-to-3 transition entirely.</p>
]]></description><pubDate>Fri, 17 Oct 2025 03:12:00 +0000</pubDate><link>https://news.ycombinator.com/item?id=45612982</link><dc:creator>agrounds</dc:creator><comments>https://news.ycombinator.com/item?id=45612982</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45612982</guid></item><item><title><![CDATA[New comment by agrounds in "Some memories of Niklaus Wirth"]]></title><description><![CDATA[
<p>Scala 2’s implicits have been a source of great pain in many Scala codebases at many different organizations. They are too powerful. The situation is comparable to languages that depend on gotos instead of structured control flow elements (for/while loops, if statements, function/subroutine calls).<p>I can’t speak for Scala 3 as I haven’t used it at all. If they’ve limited the power of implicits to a few more structures usages it would be a great benefit to the language.</p>
]]></description><pubDate>Wed, 17 Jan 2024 13:44:06 +0000</pubDate><link>https://news.ycombinator.com/item?id=39027545</link><dc:creator>agrounds</dc:creator><comments>https://news.ycombinator.com/item?id=39027545</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=39027545</guid></item><item><title><![CDATA[New comment by agrounds in "Obsidian 1.5 Desktop (Public)"]]></title><description><![CDATA[
<p>Seconding quartz. I also use it and love it.<p>It converts your markdown files to static HTML, understands Obsidian-specific markdown features, and just looks really nice IMO.<p>For publishing, I use Cloudflare pages to host the static HTML and Cloudflare workers to build the HTML whenever I push a commit to the GitHub repo hosting my markdown files. Quartz has documentation showing you how to set this up, and it’s all within the free offerings of Cloudflare.</p>
]]></description><pubDate>Tue, 26 Dec 2023 15:46:49 +0000</pubDate><link>https://news.ycombinator.com/item?id=38772741</link><dc:creator>agrounds</dc:creator><comments>https://news.ycombinator.com/item?id=38772741</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=38772741</guid></item></channel></rss>