<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: jclay</title><link>https://news.ycombinator.com/user?id=jclay</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Fri, 29 May 2026 17:34:59 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=jclay" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by jclay in "Claude Opus 4.8"]]></title><description><![CDATA[
<p>It almost appears as if the code was minified. The variable names are short and formatting looks like it's written to minimize whitespace. Did it write it in this compact format all on it's own?</p>
]]></description><pubDate>Thu, 28 May 2026 19:00:11 +0000</pubDate><link>https://news.ycombinator.com/item?id=48313787</link><dc:creator>jclay</dc:creator><comments>https://news.ycombinator.com/item?id=48313787</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48313787</guid></item><item><title><![CDATA[New comment by jclay in "Show HN: Local-First Linux MicroVMs for macOS"]]></title><description><![CDATA[
<p>Has anyone tackled this for Windows?  WSL isn’t ideal when shipping a consumer app to a non-developer target audience since it requires some setup.</p>
]]></description><pubDate>Sun, 22 Feb 2026 23:22:48 +0000</pubDate><link>https://news.ycombinator.com/item?id=47115944</link><dc:creator>jclay</dc:creator><comments>https://news.ycombinator.com/item?id=47115944</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47115944</guid></item><item><title><![CDATA[New comment by jclay in "The Anatomy of a macOS App"]]></title><description><![CDATA[
<p>I thought the macOS notarization process was annoying until we started shipping Windows releases.<p>It’s basically pay to play to get in the good graces of Windows Defender.<p>I think all-in it was over $1k upfront to get the various certs. The cert company has to do a pretty invasive verification process for both you and your company.<p>Then — you are required to use a hardware token to sign the releases. This effectively means we have one team member who can publish a release currently.<p>The cert company can lock your key as well for arbitrary reasons which prevents you from being able to make a release! Scary if the release you’re putting out is a security patch.<p>I’ll take the macOS ecosystem any day of the week.</p>
]]></description><pubDate>Sun, 07 Dec 2025 15:47:17 +0000</pubDate><link>https://news.ycombinator.com/item?id=46182546</link><dc:creator>jclay</dc:creator><comments>https://news.ycombinator.com/item?id=46182546</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46182546</guid></item><item><title><![CDATA[New comment by jclay in "Launch HN: Hypercubic (YC F25) – AI for COBOL and Mainframes"]]></title><description><![CDATA[
<p>Exciting work! I’ve often wondered if an LLM with the right harness could restore and optimize an aging C/C++ codebase. It would be quite compelling to get an old game engine running again on a modern system.<p>I would expect most of these systems come with very carefully guarded access controls. It also strikes me as a uniquely difficult challenge to track down the decision maker who is willing to take the risk on revamping these systems (AI or not). Curious to hear more about what you’ve learned here.<p>Also curious to hear how LLMs perform on a language like COBOL that likely doesn’t have many quality samples in the training data.</p>
]]></description><pubDate>Mon, 10 Nov 2025 17:11:50 +0000</pubDate><link>https://news.ycombinator.com/item?id=45878105</link><dc:creator>jclay</dc:creator><comments>https://news.ycombinator.com/item?id=45878105</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45878105</guid></item><item><title><![CDATA[New comment by jclay in "CompileBench: Can AI Compile 22-year-old Code?"]]></title><description><![CDATA[
<p>the libs in the bench don’t really have an external deps. will be much more interesting to see the results with ffmpeg, Qt, etc. The original source releases from any repo here would also be great candidates: <a href="https://github.com/id-software" rel="nofollow">https://github.com/id-software</a></p>
]]></description><pubDate>Mon, 22 Sep 2025 14:49:34 +0000</pubDate><link>https://news.ycombinator.com/item?id=45334257</link><dc:creator>jclay</dc:creator><comments>https://news.ycombinator.com/item?id=45334257</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45334257</guid></item><item><title><![CDATA[New comment by jclay in "Show HN: Semantic search and ask your Gmail using Local LLMs"]]></title><description><![CDATA[
<p>This looks great. I would love something that can just incrementally ingest all of the unread messages across various platforms locally and give a summary about what needs a reply most urgently</p>
]]></description><pubDate>Sat, 21 Jun 2025 15:47:13 +0000</pubDate><link>https://news.ycombinator.com/item?id=44338427</link><dc:creator>jclay</dc:creator><comments>https://news.ycombinator.com/item?id=44338427</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44338427</guid></item><item><title><![CDATA[New comment by jclay in "Modern C++ – A collection of resources on modern C++"]]></title><description><![CDATA[
<p>I find the Chromium codebase to be one of the best resources for learning large-scale, high quality modern C++ best practices. They stay on a bleeding edge toolchain: near tip of tree clang, lld and libc++ is used on all platforms. They stay pretty recent on c++ standards — they’re on C++20 for the last year or so.<p>I think they are also contributing a lot of the new libc++ hardening features that have been landing: <a href="https://libcxx.llvm.org/Hardening.html" rel="nofollow">https://libcxx.llvm.org/Hardening.html</a> IIRC, production chrome ships with Extensive hardening.<p>They also roll out massive code changes via automated clang rewrites. Recent examples are replacing all raw pointer members with their raw_ptr wrappers that bring some additional safety. They also switched from absl::optional to std::optional in one swoop.<p>If you haven’t done it before, take a browse through //base sometime, it’s got a lot of well commented code to learn from. You’ll see they’re already using c++20 concepts and requires clauses in a number of places.</p>
]]></description><pubDate>Thu, 15 Aug 2024 22:35:59 +0000</pubDate><link>https://news.ycombinator.com/item?id=41261185</link><dc:creator>jclay</dc:creator><comments>https://news.ycombinator.com/item?id=41261185</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41261185</guid></item><item><title><![CDATA[New comment by jclay in "Trolltech's Documentation Process"]]></title><description><![CDATA[
<p>I agree. Topics like “how is the lifetime of a QObject exposed to the QML engine managed?” lack coverage and clarity. On the surface it is simple, but in practice it’s an extremely complex topic that has been a source for many bugs in our medium to large QML desktop app.<p>We contribute upstream a bit and we had documentation updates to clarify the stability of pointers to QHash elements rejected. ¯\_(ツ)_/¯<p>Personally, we superbuild bleeding edge Qt with the source code in tree so that it’s trivial to go to definition and inspect behavior. Makes the experience substantially better.</p>
]]></description><pubDate>Mon, 12 Aug 2024 16:52:22 +0000</pubDate><link>https://news.ycombinator.com/item?id=41226598</link><dc:creator>jclay</dc:creator><comments>https://news.ycombinator.com/item?id=41226598</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41226598</guid></item><item><title><![CDATA[New comment by jclay in "Intel's woes with Core i9 CPUs crashing look worse than we thought"]]></title><description><![CDATA[
<p>I'll also add that I was never able to get the instability to show up when running the classic stress testing tools: MemBench, Prime95, and Intel's own stability tests could all run for hours and pass.<p>There's something unique about the workload of ninja launching a bunch of clang processes that draws this out.<p>On my machine, a clean build of the llvm-project would consistently fail to complete, so that may be a reasonable workload to A/B test with if you're looking into this.<p>The user quoted above was running gentoo builds on specific p-cores to test various solutions, ultimately finding that the p-core limit was the only fix that yielded stability.</p>
]]></description><pubDate>Sat, 13 Jul 2024 15:48:09 +0000</pubDate><link>https://news.ycombinator.com/item?id=40954739</link><dc:creator>jclay</dc:creator><comments>https://news.ycombinator.com/item?id=40954739</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40954739</guid></item><item><title><![CDATA[New comment by jclay in "Intel's woes with Core i9 CPUs crashing look worse than we thought"]]></title><description><![CDATA[
<p>I was seeing constant instability when running basically any large C++ build that was saturating all of the cores. I was getting odd clang segfaults indicating an AST was invalid, that would succeed on a re-run.<p>This was getting very frustrating, at various points I tried every other option online (including restoring bios to Intel Baseline settings), etc.<p>I came across Keean's investigations into the matter on the Intel forums:<p>> I think there is an easy solution for Intel, and that is to limit p-cores with both hyper-threads busy to 5.8GHz and allow cores with only one hyper-thread active to boost up to 5.9/6.2 they would then have a chip that matched advertised multi-core and single-thread performance, and would be stable without any specific power limits.<p>> I still think the real reason for this problem is that hyper-threading creates a hot-spot somewhere in the address arithmetic part of the core, and this was missed in the design of the chip. Had a thermal sensor been placed there the chip could throttle back the core ratio to remain stable automatically, or perhaps the transistors needed to be bigger for higher current - not sure that would solve the heat problem. Ultimately an extra pipeline stage might be needed, and this would be a problem, because it would slow down when only one hyper-thread is in use too. I wonder if this has something to do with why intel are getting rid hyper-threading in 15th gen?<p>From: <a href="https://community.intel.com/t5/Processors/14900ks-unstable/m-p/1598128/highlight/true#M72466" rel="nofollow">https://community.intel.com/t5/Processors/14900ks-unstable/m...</a><p>Based on this, I set a P-Core limit to 5.8 in my bios and after several months of daily-use building Chromium I can say this machine is now completely stable.<p>If you're seeing instability on an i9 14900k or 13900k see the above forum post for more details, and try setting the all-core limit. I've now seen this fix instability in 3+ build machines we use so far.</p>
]]></description><pubDate>Sat, 13 Jul 2024 15:39:49 +0000</pubDate><link>https://news.ycombinator.com/item?id=40954690</link><dc:creator>jclay</dc:creator><comments>https://news.ycombinator.com/item?id=40954690</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40954690</guid></item><item><title><![CDATA[New comment by jclay in "Longer and Longer Freight Trains Drive Up the Odds of Derailment"]]></title><description><![CDATA[
<p>Here’s another great article on the topic. I particularly like the animations in this one.<p><a href="https://www.propublica.org/article/train-derailment-long-trains" rel="nofollow">https://www.propublica.org/article/train-derailment-long-tra...</a></p>
]]></description><pubDate>Tue, 18 Jun 2024 14:50:00 +0000</pubDate><link>https://news.ycombinator.com/item?id=40718482</link><dc:creator>jclay</dc:creator><comments>https://news.ycombinator.com/item?id=40718482</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40718482</guid></item><item><title><![CDATA[New comment by jclay in "Multitasking, parallel processing, and concurrency in Swift"]]></title><description><![CDATA[
<p>I wrote about a small fraction of this, CFRunLoop: <a href="https://blog.meldstudio.co/macos-cfrunloop-internals-scheduling-high-precision-timers-and-recurring-tasks/" rel="nofollow">https://blog.meldstudio.co/macos-cfrunloop-internals-schedul...</a><p>libdispatch source code is an enlightening read for those interested in diving deeper into the C Runtime powering Swift concurrency.</p>
]]></description><pubDate>Wed, 12 Jun 2024 01:03:14 +0000</pubDate><link>https://news.ycombinator.com/item?id=40653405</link><dc:creator>jclay</dc:creator><comments>https://news.ycombinator.com/item?id=40653405</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40653405</guid></item><item><title><![CDATA[New comment by jclay in "Swift Static Linux SDK"]]></title><description><![CDATA[
<p>There’s a very minimal example using C++ interop in Qt’s test suite:<p><a href="https://github.com/qt/qtdeclarative/tree/dev/tests/manual/helloswift">https://github.com/qt/qtdeclarative/tree/dev/tests/manual/he...</a><p>I’ve kicked around with the C++ interop a few times. Projects like Qt that use raw pointers extensively seem hard to expose. Ended up having to wrap Qt classes to model as a value type which was straight forward but it’s not nearly as seamless as the Objective-C++ experience</p>
]]></description><pubDate>Wed, 12 Jun 2024 00:20:19 +0000</pubDate><link>https://news.ycombinator.com/item?id=40653169</link><dc:creator>jclay</dc:creator><comments>https://news.ycombinator.com/item?id=40653169</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40653169</guid></item><item><title><![CDATA[New comment by jclay in "Qt Creator 12 Released"]]></title><description><![CDATA[
<p>We build meldstudio.co (a performance oriented desktop app) using Qt/QML and managed to entirely avoid Qt Creator. It’s like traveling back in time coming from a VS Code configured with clangd and LLDB debugger.<p>Really wish they would invest in getting QML LSP to a working state. It’s been in development for well over a year now and still not used by Qt Creator itself. qmlls is missing proper formatting support, syntax aware highlighting (although we paid a contributor to land this upstream over a year ago, the PR is still pending). It has unusable latency compared to other LSPs, the list goes on.</p>
]]></description><pubDate>Thu, 23 Nov 2023 20:41:04 +0000</pubDate><link>https://news.ycombinator.com/item?id=38397277</link><dc:creator>jclay</dc:creator><comments>https://news.ycombinator.com/item?id=38397277</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=38397277</guid></item><item><title><![CDATA[New comment by jclay in "macOS CFRunLoop Internals: Scheduling High-Precision Timers and Recurring Tasks"]]></title><description><![CDATA[
<p>This is the first in a series of posts I have planned about working with low-level run loop APIs provided by the CoreFoundation C library. I demonstrate how they can be used in a C++ app by building up some higher level abstractions and RAII wrappers.<p>The next post I have planned goes over how to use the CFRunLoop to post cross-thread tasks, and will include some benchmarks comparing with an alternative C++ lock-free SPSC task queue implementation.</p>
]]></description><pubDate>Tue, 27 Jun 2023 17:48:05 +0000</pubDate><link>https://news.ycombinator.com/item?id=36496285</link><dc:creator>jclay</dc:creator><comments>https://news.ycombinator.com/item?id=36496285</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=36496285</guid></item><item><title><![CDATA[macOS CFRunLoop Internals: Scheduling High-Precision Timers and Recurring Tasks]]></title><description><![CDATA[
<p>Article URL: <a href="https://blog.meldstudio.co/macos-cfrunloop-internals-scheduling-high-precision-timers-and-recurring-tasks/">https://blog.meldstudio.co/macos-cfrunloop-internals-scheduling-high-precision-timers-and-recurring-tasks/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=36496284">https://news.ycombinator.com/item?id=36496284</a></p>
<p>Points: 1</p>
<p># Comments: 1</p>
]]></description><pubDate>Tue, 27 Jun 2023 17:48:05 +0000</pubDate><link>https://blog.meldstudio.co/macos-cfrunloop-internals-scheduling-high-precision-timers-and-recurring-tasks/</link><dc:creator>jclay</dc:creator><comments>https://news.ycombinator.com/item?id=36496284</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=36496284</guid></item><item><title><![CDATA[New comment by jclay in "Ask HN: Why aren't devs making desktop apps any more?"]]></title><description><![CDATA[
<p>I just founded a company where we're building a cross-platform native desktop app. Perhaps given we're on HN we can scope this to ask why aren't any _startups_ building native desktop apps?<p>It's something I wonder about as well. We're building real-time performance critical software, so we don't have much of an alternative. Given these constraints, we also ruled out Electron, Avalonia, React Native early on.<p>We're using Qt Quick which doesn't get nearly the love it should. I was a web developer for 5 years in a past life, and I'm pretty blown away by how pleasant and well-designed Qt Quick's QML language is. One of our team members created Canonic, <a href="https://www.canonic.com" rel="nofollow">https://www.canonic.com</a> to explore how the web might look if QML was used as the document markup for the web.<p>The popular opinion around Qt Quick is that it is best suited for mobile or embedded projects with a dynamic UI, animations, etc. But over the last few years, it has really become a great desktop solution – to the point where Qt put Widgets into maintenance mode and is focusing efforts on Qt Quick across desktop, mobile and embedded targets.<p>With Qt 6, the GUI is drawn using native graphics acceleration: Metal on macOS, DirectX11 on Windows, Vulkan on Linux. This makes it really easy to bring in a texture you're drawing in some other piece of code outside of Qt. As a result, the QtMultimedia framework in Qt6 is zero-copy on most platforms with the FFmpeg backend. Frames get decoded if a GPU HW decoder is available, then this texture can be read directly by QtQuick and then rendered by the display server without ever being copied. I don't think there's a single other cross platform framework out there that achieves the same level of usability, performance and easy access to platform native APIs.<p>Here are just a few non-trivial desktop apps that come to mind using Qt Quick:<p>- Denon Engine DJ - <a href="https://enginedj.com/" rel="nofollow">https://enginedj.com/</a><p>- Mixxx - <a href="https://mixxx.org/" rel="nofollow">https://mixxx.org/</a><p>- Spark AR Studio - <a href="https://sparkar.facebook.com/ar-studio/" rel="nofollow">https://sparkar.facebook.com/ar-studio/</a><p>- Gyroflow (written in Rust, with QML frontend) - <a href="https://github.com/gyroflow/gyroflow" rel="nofollow">https://github.com/gyroflow/gyroflow</a><p>- MuseScore 4 - <a href="https://musescore.org" rel="nofollow">https://musescore.org</a><p>I definitely see Qt and Qt Quick technologies as a competitive advantage for us. We can develop the frontend quickly with QML / Javascript. We get full graphics accelerated GUI performance. Our app running under an average use-case idles at 100MB of RAM, which is basically equivalent to what a running instance of Finder on macOS uses. A full 1/5 of what Discord, Slack, Steam, etc use.<p>If you want to build real-time, high performance, native desktop apps, we're hiring. Email in profile.</p>
]]></description><pubDate>Thu, 24 Mar 2022 18:06:09 +0000</pubDate><link>https://news.ycombinator.com/item?id=30793430</link><dc:creator>jclay</dc:creator><comments>https://news.ycombinator.com/item?id=30793430</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=30793430</guid></item><item><title><![CDATA[New comment by jclay in "Ask HN: How do I deal with the stress of fundraising?"]]></title><description><![CDATA[
<p>I just did this in the last few weeks — I’m a first time solo founder, engineer and mostly introverted. We’re pre-product launch and no customers. I just finished our first seed round, oversubscribed. Especially with customers and two engineer founders you can 100% do it. I have some advice you may find helpful - and happy to share more details around our experience over email (in profile).</p>
]]></description><pubDate>Tue, 22 Mar 2022 20:01:35 +0000</pubDate><link>https://news.ycombinator.com/item?id=30770767</link><dc:creator>jclay</dc:creator><comments>https://news.ycombinator.com/item?id=30770767</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=30770767</guid></item><item><title><![CDATA[New comment by jclay in "Plotly Dash and OmniSciDB for real-time data visualization"]]></title><description><![CDATA[
<p>I've created a few projects with Dash in the past and it's amazing how quick it is to get something interactive up in about 20 minutes. It definitely has a narrow set of use cases, but I had that Rails ah-ha moment for the first time in a while where 80% of what I was trying to do worked out of the box with no configuration. Compare this with creating a Flask backend server and React frontend with webpacker, etc.</p>
]]></description><pubDate>Mon, 09 Mar 2020 17:01:24 +0000</pubDate><link>https://news.ycombinator.com/item?id=22527039</link><dc:creator>jclay</dc:creator><comments>https://news.ycombinator.com/item?id=22527039</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=22527039</guid></item><item><title><![CDATA[New comment by jclay in "Sourcetrail, interactive source explorer, is now free and open-source"]]></title><description><![CDATA[
<p>It's sad to see Sourcetrail didn't make it as a commercial product. I really enjoyed it when I tried it out a year or so ago.<p>I appreciate the retrospective on the hurdles you faced. Could you share some learnings for things that did work? I could tell you spent a lot of resources getting the onboarding flow correct (Visual Studio Project Import was nice!), anything related to onboarding-related learnings you can share?</p>
]]></description><pubDate>Mon, 18 Nov 2019 20:46:35 +0000</pubDate><link>https://news.ycombinator.com/item?id=21567985</link><dc:creator>jclay</dc:creator><comments>https://news.ycombinator.com/item?id=21567985</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=21567985</guid></item></channel></rss>