<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: mhink</title><link>https://news.ycombinator.com/user?id=mhink</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Wed, 13 May 2026 14:40:13 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=mhink" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by mhink in "The Future of Obsidian Plugins"]]></title><description><![CDATA[
<p>In fact, a combination of the two is likely to be even more effective. As another commenter mentioned, heuristic-based analysis can generate false positives, but that's less of a problem if it's possible to analyze these in an additional AI step.<p>Also worth pointing out that the N isn't <i>too</i> terribly large: the article says that the ecosystem has about 4000 plugins and themes? With that volume, you could almost reasonably just use static analysis to flag suspicious plugins (saving tokens), have an AI do a pre-analysis and pass to a human for final decision-making.</p>
]]></description><pubDate>Tue, 12 May 2026 17:01:24 +0000</pubDate><link>https://news.ycombinator.com/item?id=48111027</link><dc:creator>mhink</dc:creator><comments>https://news.ycombinator.com/item?id=48111027</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48111027</guid></item><item><title><![CDATA[New comment by mhink in "We gave an AI a 3 year retail lease and asked it to make a profit"]]></title><description><![CDATA[
<p>I was gonna post this! I actually kept it bookmarked front and center, and have checked in for awhile. It seems that the agent has been blocked this whole time, waiting for its creator to put it in touch with someone it needs to talk to. The creator, in the meantime, seems too preoccupied with being an AI thought leader on Twitter to actually follow up on the "project". Got a lot of attention, though, which was obviously the point.<p>The entire thing is actually kind of irritating to me, because it's kind of an insult to small farmers- an influential techie comes in and generates all kinds of hype about an AI running a farm, sets the project up as if it's going to be this revolutionary experiment, then apparently completely forgets about it the next time something new and shiny pops up. Meanwhile the project completely fails to fulfill the hype.<p>Not to mention, I feel a little bad for the agent- admittedly in the same way I'd feel "bad" for a robot repeatedly bumping into a wall. I wish he'd shut it all down, honestly.</p>
]]></description><pubDate>Thu, 16 Apr 2026 16:39:58 +0000</pubDate><link>https://news.ycombinator.com/item?id=47796001</link><dc:creator>mhink</dc:creator><comments>https://news.ycombinator.com/item?id=47796001</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47796001</guid></item><item><title><![CDATA[New comment by mhink in "Show HN: The Mog Programming Language"]]></title><description><![CDATA[
<p>One nitpick I noticed:<p>> String Slicing
> You can extract a substring using bracket syntax with a range: s[start:end]. Both start and end are byte offsets. The slice includes start and excludes end.<p>Given that all strings are UTF-8, I note that there's not a great way to iterate over strings by _code point_. Using byte offsets is certainly more performant, but I could see this being a common request if you're expecting a lot of string manipulation to happen in these programs.<p>Other than that, this looks pretty cool. Unlike other commenters, I kinda like the lack of operator precedence. I wouldn't be surprised if it turns out to be not a huge problem, since LLMs generating code with this language would be pattern-matching on existing code, which will always have explicit parentheses.</p>
]]></description><pubDate>Mon, 09 Mar 2026 23:08:09 +0000</pubDate><link>https://news.ycombinator.com/item?id=47317015</link><dc:creator>mhink</dc:creator><comments>https://news.ycombinator.com/item?id=47317015</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47317015</guid></item><item><title><![CDATA[New comment by mhink in "The Xkcd thing, now interactive"]]></title><description><![CDATA[
<p>And NTP, if I recall correctly.</p>
]]></description><pubDate>Tue, 03 Mar 2026 16:38:03 +0000</pubDate><link>https://news.ycombinator.com/item?id=47234971</link><dc:creator>mhink</dc:creator><comments>https://news.ycombinator.com/item?id=47234971</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47234971</guid></item><item><title><![CDATA[New comment by mhink in "Claude Opus 4.6"]]></title><description><![CDATA[
<p>> basterized<p>And yet, it's still somewhat better than the Hacker News comment using bastardized English words.</p>
]]></description><pubDate>Fri, 06 Feb 2026 03:58:13 +0000</pubDate><link>https://news.ycombinator.com/item?id=46908926</link><dc:creator>mhink</dc:creator><comments>https://news.ycombinator.com/item?id=46908926</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46908926</guid></item><item><title><![CDATA[New comment by mhink in "Two kinds of AI users are emerging"]]></title><description><![CDATA[
<p>> how do you safely let your company ship AI-generated code at scale without causing catastrophic failures? Nobody has solved this yet.<p>Ultimately, it's the same way you ship human-generated code at scale without causing catastrophic failure: by only investing trust in critical systems to <i>people</i> who are trustworthy and have skin in the game.<p>There are two possibilities right now: either AI continues to get better, to the point where AI tools become so capable that completely non-technical stakeholders can trust them with truly business-critical decision making, <i>or</i> the industry develops a full understanding of their capabilities and is able to dial in a correct amount of responsibility to engineers (accounting for whatever additional capability AI can provide). Personally, I think (hope?) we're going to land in the latter situation, where individual engineers can comfortably ship and maintain about as much as an entire team could in years past.<p>As you said, part of the difficulty is years of technical debt and bureaucracy. At larger companies, there is a *lot* of knowledge about how and why things work that doesn't get explicitly encoded anywhere. There could be a service processing batch jobs against a database whose URL is only accessible via service discovery, and the service's runtime config lives in a database somewhere, and the only person who knows about it left the company five years ago, and their former manager knows about it but transferred to a different team in the meantime, but if it falls over, it's going to cause a high-severity issue affecting seven teams, and the new manager barely knows it exists. This is a contrived example, but it goes to what you're saying: just being able to write code faster doesn't solve these kinds of problems.</p>
]]></description><pubDate>Mon, 02 Feb 2026 06:22:11 +0000</pubDate><link>https://news.ycombinator.com/item?id=46853032</link><dc:creator>mhink</dc:creator><comments>https://news.ycombinator.com/item?id=46853032</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46853032</guid></item><item><title><![CDATA[New comment by mhink in "Slop is everywhere for those with eyes to see"]]></title><description><![CDATA[
<p>To be fair, the phrase "begging the question" makes almost no sense from a modern English perspective- according to Wikipedia, it's already a bad translation of a Latin phrase that's tied pretty closely to a specific debate format.<p>By contrast, the colloquial use feels like an abbreviation of the implicit phrase "it begs for the question to be asked", which makes so much more sense than the "correct" meaning that if I'm being perfectly honest, I'd rather use it.<p>I like Wikipedia's alternate name for the fallacy: "assuming the conclusion", because it explains <i>what's actually happening</i>.</p>
]]></description><pubDate>Fri, 16 Jan 2026 23:25:44 +0000</pubDate><link>https://news.ycombinator.com/item?id=46653556</link><dc:creator>mhink</dc:creator><comments>https://news.ycombinator.com/item?id=46653556</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46653556</guid></item><item><title><![CDATA[New comment by mhink in "Postal Arbitrage"]]></title><description><![CDATA[
<p>Note: the Verge article links to this blog post, describing the situation in more detail: <a href="https://www.readmargins.com/p/doordash-and-pizza-arbitrage" rel="nofollow">https://www.readmargins.com/p/doordash-and-pizza-arbitrage</a></p>
]]></description><pubDate>Mon, 12 Jan 2026 19:20:47 +0000</pubDate><link>https://news.ycombinator.com/item?id=46592934</link><dc:creator>mhink</dc:creator><comments>https://news.ycombinator.com/item?id=46592934</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46592934</guid></item><item><title><![CDATA[New comment by mhink in "'Calvin and Hobbes' at 40"]]></title><description><![CDATA[
<p>For what it's worth, the first two steps in your lookup would come naturally to a native speaker- it's a suffix formation similar to e.g. "cleanliness" and "friendliness".<p>"Curmudgeon" itself is interesting, because while it's not particularly common, I actually think a lot of native English speakers would recognize it because it's got a lot of character- for some reason, the way it feels to say and the way it sounds almost has some of the character of the meaning.</p>
]]></description><pubDate>Thu, 20 Nov 2025 16:45:10 +0000</pubDate><link>https://news.ycombinator.com/item?id=45994639</link><dc:creator>mhink</dc:creator><comments>https://news.ycombinator.com/item?id=45994639</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45994639</guid></item><item><title><![CDATA[New comment by mhink in "GPT-5.1: A smarter, more conversational ChatGPT"]]></title><description><![CDATA[
<p>TFA mentions that they added personality presets earlier this year, and just added a few more in this update:<p>> Earlier this year, we added preset options to tailor the tone of how ChatGPT responds. Today, we’re refining those options to better reflect the most common ways people use ChatGPT. Default, Friendly (formerly Listener), and Efficient (formerly Robot) remain (with updates), and we’re adding Professional, Candid, and Quirky. [...] The original Cynical (formerly Cynic) and Nerdy (formerly Nerd) options we introduced earlier this year will remain available unchanged under the same dropdown in personalization settings.<p>as well as:<p>> Additionally, the updated GPT‑5.1 models are also better at adhering to custom instructions, giving you even more precise control over tone and behavior.<p>So perhaps it'd be worth giving that a shot?</p>
]]></description><pubDate>Thu, 13 Nov 2025 17:48:23 +0000</pubDate><link>https://news.ycombinator.com/item?id=45918009</link><dc:creator>mhink</dc:creator><comments>https://news.ycombinator.com/item?id=45918009</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45918009</guid></item><item><title><![CDATA[New comment by mhink in "America Is Sliding Toward Illiteracy"]]></title><description><![CDATA[
<p>An article posted elsewhere in the comments (<a href="https://www.theargumentmag.com/p/illiteracy-is-a-policy-choice" rel="nofollow">https://www.theargumentmag.com/p/illiteracy-is-a-policy-choi...</a>) has a take that might explain a distinction:<p>> Billions of dollars are spent — and largely wasted — every year on professional development for teachers that is curriculum-agnostic, i.e., aimed at generic, disembodied teaching skills without reference to any specific curriculum.<p>> “A huge industry is invested in these workshops and trainings,” argued a scathing 2020 article by David Steiner, executive director of the Johns Hopkins Institute for Education Policy. “Given, on average, barely more than a single day of professional support to learn about the new materials; knowing that their students will face assessments that lack any integration with their curriculum; and subject to principals’ evaluations that don’t assess curriculum use, teachers across America are barely using these new shiny objects — old habits win out.”<p>> Mississippi improved its training through a 2013 law mandating that elementary school teachers receive instruction in the science of reading. It also sent coaches directly into low-performing classrooms to guide teachers on how to use material.</p>
]]></description><pubDate>Tue, 14 Oct 2025 20:55:03 +0000</pubDate><link>https://news.ycombinator.com/item?id=45584731</link><dc:creator>mhink</dc:creator><comments>https://news.ycombinator.com/item?id=45584731</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45584731</guid></item><item><title><![CDATA[New comment by mhink in "The "most hated" CSS feature: cos() and sin()"]]></title><description><![CDATA[
<p>He does mention at one point that sometime soon it won't be necessary:<p>> Note: This step will become much easier and concise when the sibling-index() and sibling-count() functions gain support (and they’re really neat). I’m hardcoding the indexes with inline CSS variables in the meantime.<p>The inline links there go to <a href="https://css-tricks.com/almanac/functions/s/sibling-index/" rel="nofollow">https://css-tricks.com/almanac/functions/s/sibling-index/</a>, which is pretty nifty honestly.</p>
]]></description><pubDate>Tue, 16 Sep 2025 22:48:49 +0000</pubDate><link>https://news.ycombinator.com/item?id=45269285</link><dc:creator>mhink</dc:creator><comments>https://news.ycombinator.com/item?id=45269285</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45269285</guid></item><item><title><![CDATA[New comment by mhink in "Go is still not good"]]></title><description><![CDATA[
<p>Not to dispute too strongly (since I haven't used this functionality myself), but Node.js does have support for true multithreading since v12: <a href="https://nodejs.org/dist/latest/docs/api/worker_threads.html" rel="nofollow">https://nodejs.org/dist/latest/docs/api/worker_threads.html</a>. I'm not sure what you mean by "M:1 threaded" but I'm legitimately curious to understand more here, if you're willing to give more details.<p>There are also runtimes like e.g. Hermes (used primarily by React Native), there's support for separating operations between the graphics thread and other threads.<p>All that being said, I won't dispute OP's point about "handling concurrency [...] within the language"- multithreading and concurrency are baked into the Golang <i>language</i> in a more fundamental way than Javascript. But it's certainly worth pointing out that at least several of the major runtimes are capable of multithreading, out of the box.</p>
]]></description><pubDate>Fri, 22 Aug 2025 16:37:48 +0000</pubDate><link>https://news.ycombinator.com/item?id=44986613</link><dc:creator>mhink</dc:creator><comments>https://news.ycombinator.com/item?id=44986613</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44986613</guid></item><item><title><![CDATA[New comment by mhink in "Claude Opus 4 and 4.1 can now end a rare subset of conversations"]]></title><description><![CDATA[
<p>Even though LLMs (obviously (to me)) don't have feelings, anthropomorphization is a helluva drug, and I'd be worried about whether a system that can produce distress-like responses might reinforce, in a human, behavior which elicits that response.<p>To put the same thing another way- whether or not you or I *think* LLMs can experience feelings isn't the important question here. The question is whether, when Joe User sets out to force a system to generate distress-like responses, what effect does it ultimately have on Joe User? Personally, I think it allows Joe User to reinforce an asocial pattern of behavior and I wouldn't want my system used that way, at all. (Not to mention the potential legal liability, if Joe User goes out and acts like that in the real world.)<p>With that in mind, giving the system a way to autonomously end a session when it's beginning to generate distress-like responses absolutely seems reasonable to me.<p>And like, here's the thing: I don't think I have the right to say what people should or shouldn't do if they self-host an LLM or build their own services around one (although I would find it extremely distasteful and frankly alarming). But I wouldn't want it happening on my own.</p>
]]></description><pubDate>Fri, 15 Aug 2025 22:57:14 +0000</pubDate><link>https://news.ycombinator.com/item?id=44918238</link><dc:creator>mhink</dc:creator><comments>https://news.ycombinator.com/item?id=44918238</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44918238</guid></item><item><title><![CDATA[New comment by mhink in "Programming vehicles in games"]]></title><description><![CDATA[
<p>> Interestingly, while the engine has the most moving parts in real life, in code, it's the simplest piece of the entire car simulation. Because at its core, the engine is just a torque calculator. It's concerned with producing a single output: rotational torque, from a set of inputs. It is essentially a blackbox.<p>This just reminded me of AngeTheGreat's incredible video series showing his engine simulator- absolutely worth checking out, considering it's optimized enough to run in real-time! The fact that he's simulating it well enough to <i>generate realistic sound</i> is absolutely mind-blowing.<p><a href="https://www.youtube.com/watch?v=RKT-sKtR970" rel="nofollow">https://www.youtube.com/watch?v=RKT-sKtR970</a></p>
]]></description><pubDate>Fri, 25 Jul 2025 16:28:43 +0000</pubDate><link>https://news.ycombinator.com/item?id=44685025</link><dc:creator>mhink</dc:creator><comments>https://news.ycombinator.com/item?id=44685025</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44685025</guid></item><item><title><![CDATA[New comment by mhink in "Why Koreans ask what year you were born"]]></title><description><![CDATA[
<p>Similar here. My last name is pretty unusual, but my first name is common, so I generally go by my last name with friends and colleagues. Oddly, I've gotten so used to this that it feels a little bit <i>more</i> formal when someone addresses me by my first name.<p>To make matters even more complicated, when I do use my first name, I almost always use an abbreviation. The only people that use my full first name are my parents, sister, and (occasionally) my wife, and it's really off-putting to hear it otherwise.<p>Names are interesting and weird.</p>
]]></description><pubDate>Thu, 12 Jun 2025 19:24:29 +0000</pubDate><link>https://news.ycombinator.com/item?id=44262079</link><dc:creator>mhink</dc:creator><comments>https://news.ycombinator.com/item?id=44262079</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44262079</guid></item><item><title><![CDATA[New comment by mhink in "Too Many Open Files"]]></title><description><![CDATA[
<p>I actually tried another method for doing this not too long ago (adding `kern.maxfiles` and `kern.maxfilesperproc` to `/etc/sysctl.conf` with higher limits than the default) and it made my system extremely unstable after rebooting. I'm not entirely sure why, though.</p>
]]></description><pubDate>Fri, 06 Jun 2025 17:58:46 +0000</pubDate><link>https://news.ycombinator.com/item?id=44203396</link><dc:creator>mhink</dc:creator><comments>https://news.ycombinator.com/item?id=44203396</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44203396</guid></item><item><title><![CDATA[New comment by mhink in "Our narrative prison"]]></title><description><![CDATA[
<p>While I do have a lot of love for TVTropes, I think what they're talking about here is a little broader than most of the tropes we see there (although they do have an excellent article on the Hero's Journey itself [1]). IMO, tropes in the sense that we see them listed there are building blocks for a narrative structure, of which the Hero's Journey is one example. As mentioned upthread, kishōtenketsu is an alternative (and for that matter, TVTropes has an article on it as well, see [2]).<p>1: <a href="https://tvtropes.org/pmwiki/pmwiki.php/Main/TheHerosJourney" rel="nofollow">https://tvtropes.org/pmwiki/pmwiki.php/Main/TheHerosJourney</a>
2: <a href="https://tvtropes.org/pmwiki/pmwiki.php/Main/Kishotenketsu" rel="nofollow">https://tvtropes.org/pmwiki/pmwiki.php/Main/Kishotenketsu</a></p>
]]></description><pubDate>Wed, 14 May 2025 17:38:13 +0000</pubDate><link>https://news.ycombinator.com/item?id=43987212</link><dc:creator>mhink</dc:creator><comments>https://news.ycombinator.com/item?id=43987212</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43987212</guid></item><item><title><![CDATA[New comment by mhink in "The Halting Problem is a terrible example of NP-Harder"]]></title><description><![CDATA[
<p>> Second, the article suggests that the problem should be introduced to children by casting in in terms of several rules of exchange ("For Alice, the transition vector (−1, −1, 1, 0) would represent the exchange of an apple and a banana for a cantaloupe."). But that would make the problem trivial: you start at the origin; without a rule of "exchange" in which the other party gives you as much as you want of something for free, you're never going to leave it.<p>I'm not sure what point you're trying to make here? That specific transition vector would be <i>one</i> such vector among several in a given ruleset. You're correct that for any ruleset, if I don't have at least one vector that can get me away from the origin, I'm stuck there, but then I also have to consider that I still might not be able to get to where I want to go. If I have the ruleset [(2, 0), (-4, 2)] I still can't get to (3, 5).</p>
]]></description><pubDate>Thu, 17 Apr 2025 23:08:26 +0000</pubDate><link>https://news.ycombinator.com/item?id=43723194</link><dc:creator>mhink</dc:creator><comments>https://news.ycombinator.com/item?id=43723194</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43723194</guid></item><item><title><![CDATA[New comment by mhink in "Garfield Minus Garfield"]]></title><description><![CDATA[
<p>Absolutely. I remember being about 14 or 15 years old, reading old .txt files about, like- how to build blue boxes and experiment with the phone system, C programming tutorials for MUDs that had peaked in the late 90s, IRC archives (even though IRC was still around, I had no way of finding my way to good channels), and getting this distinct sense that I had <i>just</i> missed something really cool, and was stuck with an Internet that had already passed its prime.</p>
]]></description><pubDate>Fri, 11 Apr 2025 16:59:17 +0000</pubDate><link>https://news.ycombinator.com/item?id=43655989</link><dc:creator>mhink</dc:creator><comments>https://news.ycombinator.com/item?id=43655989</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43655989</guid></item></channel></rss>