<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: matt_heimer</title><link>https://news.ycombinator.com/user?id=matt_heimer</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Mon, 15 Jun 2026 10:50:19 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=matt_heimer" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by matt_heimer in "Cloudflare Turnstile requiring fingerprintable WebGL"]]></title><description><![CDATA[
<p>That's the traffic after rate limiting controls and bot fight mode. It's 3-4 million requests per day without bot fight mode and just rate limits. And as I said it's not a smooth distribution. Plus the requests are almost never for pages in cache. It's always stuff like loading all the message threads from the year 2000 or loading up the details of every page edit ever made to a wiki page.<p>If it was more static content it'd be easier, it's really the db being a bottle neck in a dynamic site.<p>Yes, the software could be better optimized but then I'd have to own the development of it. There is no reason a niche website should be getting millions of requests per day.</p>
]]></description><pubDate>Tue, 02 Jun 2026 17:26:27 +0000</pubDate><link>https://news.ycombinator.com/item?id=48373270</link><dc:creator>matt_heimer</dc:creator><comments>https://news.ycombinator.com/item?id=48373270</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48373270</guid></item><item><title><![CDATA[New comment by matt_heimer in "Cloudflare Turnstile requiring fingerprintable WebGL"]]></title><description><![CDATA[
<p>It might depend on the tech stack. I run a small niche website but it has PHP and a database (MediaWiki/PHPBB) and without Cloudflare I'd estimate I'd need to spend several hundred dollars a month to handle the traffic. Traffic used to be tens of thousands of requests a day. AI has increased that to between 400k and 3M requests per day but it's not a smooth distribution. This is with bot fight mode on that greatly reduces traffic.<p>I adopted Cloudflare because it was getting DDoSed by the AI crawlers. I'm pretty sure all of them are vibe coding their crawlers and don't bother adding rate limiting as a requirement.</p>
]]></description><pubDate>Sun, 31 May 2026 20:35:50 +0000</pubDate><link>https://news.ycombinator.com/item?id=48349490</link><dc:creator>matt_heimer</dc:creator><comments>https://news.ycombinator.com/item?id=48349490</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48349490</guid></item><item><title><![CDATA[New comment by matt_heimer in "AI is just unauthorised plagiarism at a bigger scale"]]></title><description><![CDATA[
<p>Sure, depends on how accessibly to people you want it to be.<p>Most legit search engines are going to honor robots.txt and you can disallow access.<p>Next level would be using something like rate limiting controls and/or Cloudflare's bot fight mode to start blocking the bad bots. You start to annoy some people here.<p>Next would be putting the content behind some form of auth.</p>
]]></description><pubDate>Thu, 21 May 2026 14:46:37 +0000</pubDate><link>https://news.ycombinator.com/item?id=48223615</link><dc:creator>matt_heimer</dc:creator><comments>https://news.ycombinator.com/item?id=48223615</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48223615</guid></item><item><title><![CDATA[New comment by matt_heimer in "Library for fast mapping of Java records to native memory"]]></title><description><![CDATA[
<p>What is the positioning for this and how does it work? A comparison to SBE might be nice.<p>I understand the issue about using Layout and MemorySegment being verbose but the reason I'm using those things it to develop high performance software that uses off-help memory and bypasses object allocation.<p>What does "map Java record types onto native memory" actually mean? Did you somehow turn a Java record into a flyweight or is `Point point = points.get(0);` just instantiating a record instance using data read from off-help memory? If it's a dynamic mapping library using reflection, that's cool but doesn't it kill the performance goals for most Java off heap usage?<p>Is this more of a off-heap to heap bridge for pulling data into the normal Java space when performance isn't critical?</p>
]]></description><pubDate>Mon, 11 May 2026 20:46:23 +0000</pubDate><link>https://news.ycombinator.com/item?id=48100435</link><dc:creator>matt_heimer</dc:creator><comments>https://news.ycombinator.com/item?id=48100435</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48100435</guid></item><item><title><![CDATA[New comment by matt_heimer in "Website streamed live directly from a model"]]></title><description><![CDATA[
<p>It's perfect for toddlers (I mean that in a good way), it's the infinite answer to the infinite "What's that?" series of questions they can generate. Make everything a hyperlink and it's almost like a LLM mind map of knowledge.</p>
]]></description><pubDate>Wed, 22 Apr 2026 19:43:03 +0000</pubDate><link>https://news.ycombinator.com/item?id=47868321</link><dc:creator>matt_heimer</dc:creator><comments>https://news.ycombinator.com/item?id=47868321</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47868321</guid></item><item><title><![CDATA[New comment by matt_heimer in "Codex pricing to align with API token usage, instead of per-message"]]></title><description><![CDATA[
<p>I guess that's true but I find Google's models better than their public tooling. The Pro subscription includes "Gemini Code Assist and Gemini CLI" but the Gemini Code Assist plugin for IntelliJ which is my daily driver is broken most of the time to the degree that it's completely unusable. Sometimes you can't even type in the input box.<p>The only way I can do serious development with Gemini models is with other tooling (Cline, etc) that requires API based access which isn't available as part of the subscription.</p>
]]></description><pubDate>Sun, 05 Apr 2026 18:01:13 +0000</pubDate><link>https://news.ycombinator.com/item?id=47652096</link><dc:creator>matt_heimer</dc:creator><comments>https://news.ycombinator.com/item?id=47652096</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47652096</guid></item><item><title><![CDATA[New comment by matt_heimer in "My Google Workspace account suspension"]]></title><description><![CDATA[
<p>I was a bit worried when I saw the title of the article because I have one of these accounts but geez he made some bad choices. Deleting all phone numbers and the recovery and swapping to a new authentication method and then accessing from a different country??? No wonder it got flagged.<p>I probably wouldn't believe him either. Google should have an option to revert to the last trusted config after some verification method. Google support is bad, I'll give him that.<p>All this to avoid roaming charges? And then refusing to share a personal email in this scenario and missing meetings because of that.<p>I'd argue that changing the MX to fastmail or Microsoft would be much faster than a postfix+dovecot solution on a VPS but I think he's just refusing any solution based on his principals.</p>
]]></description><pubDate>Sun, 05 Apr 2026 17:38:57 +0000</pubDate><link>https://news.ycombinator.com/item?id=47651848</link><dc:creator>matt_heimer</dc:creator><comments>https://news.ycombinator.com/item?id=47651848</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47651848</guid></item><item><title><![CDATA[New comment by matt_heimer in "Codex pricing to align with API token usage, instead of per-message"]]></title><description><![CDATA[
<p>That's only good for the web based UI. If you want Gemini API access which is what this article is about then you must go the AIStudio route and pricing is API usage based. It does have a free usage tier and new signups can get $300 in free credits for the paid tier so it's I think it's still a good deal, just not as good as using the subscriptions would be.</p>
]]></description><pubDate>Sun, 05 Apr 2026 17:22:05 +0000</pubDate><link>https://news.ycombinator.com/item?id=47651644</link><dc:creator>matt_heimer</dc:creator><comments>https://news.ycombinator.com/item?id=47651644</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47651644</guid></item><item><title><![CDATA[New comment by matt_heimer in "Codex is switching to API pricing based usage for all users"]]></title><description><![CDATA[
<p>If you use Google's tooling but not if you need API access. API access is not in the subscriptions and uses token based pricing. For development I find that the Gemini IDE plugins that have good free usage and are included in the subscriptions aren't great. Gemini plug-in under IntelliJ is often broken, etc. The best experience is with other tools like Cline where you've had to use a developer based account which is API usage based already.<p>But Gemini's API based usage also has a free tier and if that doesn't work for you (they train on your data) and you've never signed up before you get several hundred dollars in free credits that expire after 90 days. 3 months of free access is a pretty good deal.</p>
]]></description><pubDate>Sun, 05 Apr 2026 17:18:29 +0000</pubDate><link>https://news.ycombinator.com/item?id=47651599</link><dc:creator>matt_heimer</dc:creator><comments>https://news.ycombinator.com/item?id=47651599</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47651599</guid></item><item><title><![CDATA[New comment by matt_heimer in "Update on the eBay Scam"]]></title><description><![CDATA[
<p>I shipped with signature verification to the buyers address. The buyer claimed they didn't receive the item and eBay still sided with them and refunded their money. I will never sell anything on eBay again.</p>
]]></description><pubDate>Fri, 03 Apr 2026 21:13:57 +0000</pubDate><link>https://news.ycombinator.com/item?id=47632367</link><dc:creator>matt_heimer</dc:creator><comments>https://news.ycombinator.com/item?id=47632367</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47632367</guid></item><item><title><![CDATA[New comment by matt_heimer in "My MacBook keyboard is broken and it's insanely expensive to fix"]]></title><description><![CDATA[
<p>isn't an issue ONLY with macbook keyboards. It is absolutely an issue that shouldn't exist.</p>
]]></description><pubDate>Sun, 29 Mar 2026 20:07:14 +0000</pubDate><link>https://news.ycombinator.com/item?id=47566728</link><dc:creator>matt_heimer</dc:creator><comments>https://news.ycombinator.com/item?id=47566728</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47566728</guid></item><item><title><![CDATA[New comment by matt_heimer in "Our commitment to Windows quality"]]></title><description><![CDATA[
<p>Funny, I just bought Start11 from Stardock for side taskbar placement. It was the oddest choice to remove that feature. On an ultrawide monitor it just makes so much sense.</p>
]]></description><pubDate>Fri, 20 Mar 2026 22:32:35 +0000</pubDate><link>https://news.ycombinator.com/item?id=47461614</link><dc:creator>matt_heimer</dc:creator><comments>https://news.ycombinator.com/item?id=47461614</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47461614</guid></item><item><title><![CDATA[New comment by matt_heimer in "Speed at the cost of quality: Study of use of Cursor AI in open source projects (2025)"]]></title><description><![CDATA[
<p>Yes, it's not surprising that warnings and complexity increased at a higher rate when paired with increased velocity. Increased velocity == increased lines of code.<p>Does the study normalize velocity between the groups by adjusting the timeframes so that we could tell if complexity and warnings increased at a greater rate per line of code added in the AI group?<p>I suspect it would, since I've had to simplify AI generated code on several occasions but right now the study just seems to say that the larger a code base grows the more complex it gets which is obvious.</p>
]]></description><pubDate>Mon, 16 Mar 2026 17:59:44 +0000</pubDate><link>https://news.ycombinator.com/item?id=47402451</link><dc:creator>matt_heimer</dc:creator><comments>https://news.ycombinator.com/item?id=47402451</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47402451</guid></item><item><title><![CDATA[New comment by matt_heimer in "The 100 hour gap between a vibecoded prototype and a working product"]]></title><description><![CDATA[
<p>In some places I'm using <a href="https://github.com/aeron-io/agrona" rel="nofollow">https://github.com/aeron-io/agrona</a><p>Strangely this is one of the areas where I want to use project panama so I might re-implement some of the ring buffers constructs.<p>You allocate off heap memory and dump data into it. With modern Java classes like Arena, MemoryLayout, and VarHandle it's honestly a lot like C structs.<p>I answered "why" in another post in this thread.</p>
]]></description><pubDate>Sun, 15 Mar 2026 20:42:52 +0000</pubDate><link>https://news.ycombinator.com/item?id=47391671</link><dc:creator>matt_heimer</dc:creator><comments>https://news.ycombinator.com/item?id=47391671</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47391671</guid></item><item><title><![CDATA[New comment by matt_heimer in "The 100 hour gap between a vibecoded prototype and a working product"]]></title><description><![CDATA[
<p>Software HFT? I see people call Python code HFT sometimes so I understand what you mean. It's more in-line with low latency trading than today's true HFT.<p>I don't work for a firm so don't get to play with FPGAs. I'm also not co-located in an exchange and using microwave towers for networking. I might never even have access to kernel networking bypass hardware (still hopeful about this one). Hardware optimization in my case will likely top out at CPU isolation for the hot path thread and a hosting provider in close proximity to the exchanges.<p>The real goal is a combination of eliminating as much slippage as possible, making some lower timeframe strategies possible and also having best class back testing performance for parameter grid searching and strategy discovery. I expect to sit between industry leading firms and typical retail systematic traders.</p>
]]></description><pubDate>Sun, 15 Mar 2026 19:16:19 +0000</pubDate><link>https://news.ycombinator.com/item?id=47390864</link><dc:creator>matt_heimer</dc:creator><comments>https://news.ycombinator.com/item?id=47390864</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47390864</guid></item><item><title><![CDATA[New comment by matt_heimer in "The 100 hour gap between a vibecoded prototype and a working product"]]></title><description><![CDATA[
<p>Probably the same thing that makes most developers choice a language for a project, it's the language they know best.<p>It wasn't a matter of choosing Java for HFT, it was a matter of selecting a project that was a good fit for Java and my personal knowledge. I was a Java instructor for Sun for over a decade, I authored a chunk of their Java curriculum. I wrote many of the concurrency questions in the certification exams. It's in my wheelhouse :)<p>My C and assembly is rusty at this point so I believe I can hit my performance goals with Java sooner than if I developed in more bare metal languages.</p>
]]></description><pubDate>Sun, 15 Mar 2026 18:59:39 +0000</pubDate><link>https://news.ycombinator.com/item?id=47390641</link><dc:creator>matt_heimer</dc:creator><comments>https://news.ycombinator.com/item?id=47390641</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47390641</guid></item><item><title><![CDATA[New comment by matt_heimer in "The 100 hour gap between a vibecoded prototype and a working product"]]></title><description><![CDATA[
<p>You program differently for this niche in any language. The hot path (number crunching) thread doesn't share objects with gateway (IO) threads. Passing data between them is off heap, you avoid object creation after warm up. There is no synchronization, even volatile is something you avoid.</p>
]]></description><pubDate>Sun, 15 Mar 2026 18:49:03 +0000</pubDate><link>https://news.ycombinator.com/item?id=47390525</link><dc:creator>matt_heimer</dc:creator><comments>https://news.ycombinator.com/item?id=47390525</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47390525</guid></item><item><title><![CDATA[New comment by matt_heimer in "The 100 hour gap between a vibecoded prototype and a working product"]]></title><description><![CDATA[
<p>You can achieve optimized C/C++ speeds, you just can't program the same way you always have. Step 1, switch your data layout from Array of Structures to Structure of Arrays. Step 2, after initial startup switch to (near) zero object creation. It's a very different way to program Java.<p>You have to optimize your memory usage patterns to fit in CPU cache as much as possible which is something typical Java develops don't consider. I have a background in assembly and C.<p>I'd say it's slightly harder since there is a little bit of abstraction but most of the time the JIT will produce code as good as C compilers. It's also an niche that often considers any application running on a general purpose CPU to be slow.  If you want industry leading speed you start building custom FPGAs.</p>
]]></description><pubDate>Sun, 15 Mar 2026 18:37:58 +0000</pubDate><link>https://news.ycombinator.com/item?id=47390402</link><dc:creator>matt_heimer</dc:creator><comments>https://news.ycombinator.com/item?id=47390402</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47390402</guid></item><item><title><![CDATA[New comment by matt_heimer in "The 100 hour gap between a vibecoded prototype and a working product"]]></title><description><![CDATA[
<p>I've been using several. LM Studio and any of the open weight models that can fit my GPU's RAM (24GB) are not great in this area. The Claude models are slightly better but not worth they extra cost most of the time since I typically have to spend almost the same amount of time reworking and re-prompting, plus it's very easy to exhaust credits/tokens. I mostly bounce back and forth between the codex and Gemini models right now and this includes using pro models with high reasoning.</p>
]]></description><pubDate>Sun, 15 Mar 2026 18:25:49 +0000</pubDate><link>https://news.ycombinator.com/item?id=47390276</link><dc:creator>matt_heimer</dc:creator><comments>https://news.ycombinator.com/item?id=47390276</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47390276</guid></item><item><title><![CDATA[New comment by matt_heimer in "The 100 hour gap between a vibecoded prototype and a working product"]]></title><description><![CDATA[
<p>I'm building a Java HFT engine and the amount of things AI gets wrong is eye opening. If I didn't benchmark everything I'd end up with much less optimized solution.<p>Examples: AI really wants to use Project Panama (FFM) and while that can be significantly faster than traditional OO approaches it is almost never the best. And I'm not taking about using deprecated Unsafe calls, I'm talking about using primative arrays being better for Vector/SIMD operations on large sets of data. NIO being better than FFM + mmap for file reading.<p>You can use AI to build something that is sometimes better than what someone without domain specific knowledge would develop but the gap between that and the industry expected solution is much more than 100 hours.</p>
]]></description><pubDate>Sun, 15 Mar 2026 14:47:29 +0000</pubDate><link>https://news.ycombinator.com/item?id=47387913</link><dc:creator>matt_heimer</dc:creator><comments>https://news.ycombinator.com/item?id=47387913</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47387913</guid></item></channel></rss>