<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: morganherlocker</title><link>https://news.ycombinator.com/user?id=morganherlocker</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Fri, 24 Apr 2026 08:30:34 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=morganherlocker" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by morganherlocker in "High-Level Is the Goal"]]></title><description><![CDATA[
<p>IDK, it seems like old reddit did just fine without even trying that hard. The DOM and surrounding JS API is already a high level GUI framework, and the post illustrates that it's perfectly capable of doing useful interactions >60fps. I personally love working with native code, but the modern browser is capable of producing fast interfaces that saturate human senses without it. If you write JS like a C programmer would, it will usually be quite fast, even if it's not optimal. If you write native apps in C++ like a modern JS programmer - frameworks and deps with abandon - it will be a stuttery mess.<p>When the DOM is not enough, there's already WebGL and WASM. A vanishingly small sliver of use cases can't saturate human senses with these tools, and the slowest, jankiest websites tend to be the least deserving of them (ie: why is jira slow? It's literally a text box with a handful of buttons on the side!).</p>
]]></description><pubDate>Sat, 17 Jan 2026 05:58:13 +0000</pubDate><link>https://news.ycombinator.com/item?id=46655699</link><dc:creator>morganherlocker</dc:creator><comments>https://news.ycombinator.com/item?id=46655699</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46655699</guid></item><item><title><![CDATA[New comment by morganherlocker in "Why DuckDB is my first choice for data processing"]]></title><description><![CDATA[
<p>I've used duckdb a lot at this scale, and I would not expect something like this to take more than a few seconds, if that. The only slow duckdb queries I have encountered either involve complex joins or glob across many files.</p>
]]></description><pubDate>Fri, 16 Jan 2026 18:59:27 +0000</pubDate><link>https://news.ycombinator.com/item?id=46650514</link><dc:creator>morganherlocker</dc:creator><comments>https://news.ycombinator.com/item?id=46650514</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46650514</guid></item><item><title><![CDATA[New comment by morganherlocker in "Show HN: AI in SolidWorks"]]></title><description><![CDATA[
<p>I designed some parts for an enclosure over the weekend using claude opus to generate an OpenSCAD file, which I then exported to STL and sent to a 3D printer. I was able to get a visually-correct-enough STL off to the 3D printer in about 5 minutes.<p>I then waited about an hour for the print to finish, only to discover I wanted to make some adjustments. While I was able to iterate a couple times, I quickly realized that there were certain structures that were difficult to describe precisely enough without serious time spent on wording and deciding what to specify. It got harder as the complexity of the object grew, since one constraint affects another.<p>In the end, I switched to FreeCAD and did it by hand.</p>
]]></description><pubDate>Tue, 13 Jan 2026 06:37:56 +0000</pubDate><link>https://news.ycombinator.com/item?id=46597907</link><dc:creator>morganherlocker</dc:creator><comments>https://news.ycombinator.com/item?id=46597907</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46597907</guid></item><item><title><![CDATA[New comment by morganherlocker in "Google Antigravity"]]></title><description><![CDATA[
<p>- notepad++: 56.4 MB (went gray-window unresponsive for 10 seconds when opening the explorer)<p>- notepad.exe: 54.3 MB<p>- emacs: 15.2 MB<p>- vim: 5.5MB<p>I would argue that notepad++ is not really comparable to VSCode, and that VSCode is closer to an IDE, especially given the context of this thread. TUIs are not offering a similar GUI app experience, but vim serves as a nice baseline.<p>I think that when people dump on electron, they are picturing an alternative implementation like win32 or Qt that offers a similar UI-driven experience. I'm using this benchmark, because its the most common critique I read with respect to electron when these are suggested.<p>It is obviously possible to beat a browser-wrapper with a native implementation. I'm simply observing that this doesn't actually happen in a typical modern C++ GUI app, where the dependency bloat and memory management is often even worse.</p>
]]></description><pubDate>Wed, 19 Nov 2025 00:10:48 +0000</pubDate><link>https://news.ycombinator.com/item?id=45974057</link><dc:creator>morganherlocker</dc:creator><comments>https://news.ycombinator.com/item?id=45974057</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45974057</guid></item><item><title><![CDATA[New comment by morganherlocker in "Google Antigravity"]]></title><description><![CDATA[
<p>> If you want electron app that doesn't lag terribly<p>My experience with VS Code is that it has no perceptible lag, except maybe 500ms on startup. I don't doubt people experience this, but I think it comes down to which extensions you enable, and many people enable lots of heavy language extensions of questionable quality. I also use Visual Studio for Windows builds on C++ projects, and it is pretty jank by comparison, both in terms of UI design and resource usage.<p>I just opened up a relatively small project (my blog repo, which has 175 MB of static content) in both editors and here's the cold start memory usage without opening any files:<p>- Visual Studio Code: 589.4 MB<p>- Visual Studio 2022: 732.6 MB<p>update:<p>I see a lot of love for Jetbrains in this thread, so I also tried the same test in Android Studio: 1.69 GB!</p>
]]></description><pubDate>Tue, 18 Nov 2025 22:14:02 +0000</pubDate><link>https://news.ycombinator.com/item?id=45972957</link><dc:creator>morganherlocker</dc:creator><comments>https://news.ycombinator.com/item?id=45972957</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45972957</guid></item><item><title><![CDATA[New comment by morganherlocker in "I can't recommend Grafana anymore"]]></title><description><![CDATA[
<p>I frequently use a docker-compose template with prometheus pushgateway + grafana for deploying on single node servers, as described at the start of the article. It works well and is trivial to setup, but the complexity explodes once your metric volume or cardinality requires more scale like prometheus alternatives a la mimir.<p>I think this would not need to be an issue as frequently if prometheus had a more efficient publish/scraping mechanism. iirc there was once a protobuf metric format that was dropped, and now there is just the text format. While it wouldn't handle billions of unique labels like mimir, a compact binary metric format could certainly allow for millions at reasonable resolution instead of wasting all that scale potential on repeated name strings. I should be able to push or expose a bulk blob all at once with ordered labels or at least raw int keys.</p>
]]></description><pubDate>Sat, 15 Nov 2025 05:56:18 +0000</pubDate><link>https://news.ycombinator.com/item?id=45935384</link><dc:creator>morganherlocker</dc:creator><comments>https://news.ycombinator.com/item?id=45935384</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45935384</guid></item><item><title><![CDATA[New comment by morganherlocker in "Linux gamers on Steam cross over the 3% mark"]]></title><description><![CDATA[
<p>"Everything" is another that puts the default search to shame. I've also seen people who just have a script that pumps all new files into a txt file every so often and runs bruteforce ripgrep on it, which gives instant interactive results. It's really hard to imagine coming up with a search routine that is as slow and unreliable as what ships with mainstream OS file managers.</p>
]]></description><pubDate>Sun, 02 Nov 2025 23:12:46 +0000</pubDate><link>https://news.ycombinator.com/item?id=45794254</link><dc:creator>morganherlocker</dc:creator><comments>https://news.ycombinator.com/item?id=45794254</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45794254</guid></item><item><title><![CDATA[New comment by morganherlocker in "Python 3.14 is here. How fast is it?"]]></title><description><![CDATA[
<p>I hear this a lot, but can you really say that you're consistently saturating a 1Gbps line for netcode or 6+ Gbps nvme for disk data? In my experience this doesn't really happen with code that isn't intentionally designed to minimize unnecessary work.<p>A lot of slow parsing tends to get grouped in with io, and this is where python can be most limiting.</p>
]]></description><pubDate>Thu, 09 Oct 2025 22:11:11 +0000</pubDate><link>https://news.ycombinator.com/item?id=45533631</link><dc:creator>morganherlocker</dc:creator><comments>https://news.ycombinator.com/item?id=45533631</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45533631</guid></item><item><title><![CDATA[New comment by morganherlocker in "Python 3.14 is here. How fast is it?"]]></title><description><![CDATA[
<p>There's currently talk of adding gigawatts of data center capacity to the grid just for use cases where python dominates development. While a lot of that will be compiled into optimized kernels on CPU or GPU, it only takes a little bit of 1000x slower code to add up to a significant chunk of processing time at training or inference time.</p>
]]></description><pubDate>Thu, 09 Oct 2025 21:18:38 +0000</pubDate><link>https://news.ycombinator.com/item?id=45533209</link><dc:creator>morganherlocker</dc:creator><comments>https://news.ycombinator.com/item?id=45533209</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45533209</guid></item><item><title><![CDATA[New comment by morganherlocker in "Does showing seconds in the system tray actually use more power?"]]></title><description><![CDATA[
<p>It shouldn't take any noticable power/cycles to accomplish this task. Having flags for "performance" littered through the codebase and UI is a classic failure mode that leads to a janky slow base performance. "Do always and inhibit when not needed".</p>
]]></description><pubDate>Sun, 13 Jul 2025 18:19:39 +0000</pubDate><link>https://news.ycombinator.com/item?id=44552326</link><dc:creator>morganherlocker</dc:creator><comments>https://news.ycombinator.com/item?id=44552326</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44552326</guid></item><item><title><![CDATA[New comment by morganherlocker in "Overthinking GIS (2024)"]]></title><description><![CDATA[
<p>> However those tools do not have the polish that ESRI kit does, but at leas you’re not paying the licensing!<p>Arguably they have more polish, but less GUI. The open GIS world is more CLI, database, and library driven, which can be an advantage for many users trying to build high reliability or scaling systems.</p>
]]></description><pubDate>Sun, 06 Jul 2025 21:24:33 +0000</pubDate><link>https://news.ycombinator.com/item?id=44484182</link><dc:creator>morganherlocker</dc:creator><comments>https://news.ycombinator.com/item?id=44484182</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44484182</guid></item><item><title><![CDATA[New comment by morganherlocker in "Honda conducts successful launch and landing of experimental reusable rocket"]]></title><description><![CDATA[
<p>> so now the main problem is building the hardware, there are a lot of solutions for the software part.<p>While cool and all, this type of sim is a tiny, tiny slice of the software stack, and not the most difficult by a long shot. For one, you need software to control the actual hardware, that runs on said hardware's specific CPU(s) stack AND in sim (making an off the shelf sim a lot less useful). Orbital/newtonian physics are not trivial to implement, but they are relatively simple compared to the software that handles integration with physical components, telemetry, command, alerting, path optimization, etc. etc. The phrase "reality has a surprising amount of detail" applies here - it takes a lot of software to model complex hardware correctly, and even more to control it safely.</p>
]]></description><pubDate>Tue, 17 Jun 2025 17:16:22 +0000</pubDate><link>https://news.ycombinator.com/item?id=44301413</link><dc:creator>morganherlocker</dc:creator><comments>https://news.ycombinator.com/item?id=44301413</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44301413</guid></item><item><title><![CDATA[New comment by morganherlocker in "Show HN: CSV GB+ by Data.olllo – Open and Process CSVs Locally"]]></title><description><![CDATA[
<p>As a point of comparison, I just downloaded the Windows binary for duckdb (which provides a nice TUI for similar tasks) and it was 9.84MB. People can and should expect better.</p>
]]></description><pubDate>Wed, 14 May 2025 17:19:46 +0000</pubDate><link>https://news.ycombinator.com/item?id=43987016</link><dc:creator>morganherlocker</dc:creator><comments>https://news.ycombinator.com/item?id=43987016</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43987016</guid></item><item><title><![CDATA[New comment by morganherlocker in "Rust’s dependencies are starting to worry me"]]></title><description><![CDATA[
<p>Now instead of seeing millions of lines of inscrutable code in <i>your</i> program bloating binary sizes, you can see it in <i>every</i> program (that doesn't disable stdlib).</p>
]]></description><pubDate>Fri, 09 May 2025 20:56:14 +0000</pubDate><link>https://news.ycombinator.com/item?id=43940785</link><dc:creator>morganherlocker</dc:creator><comments>https://news.ycombinator.com/item?id=43940785</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43940785</guid></item><item><title><![CDATA[New comment by morganherlocker in "Show HN: Nue – Apps lighter than a React button"]]></title><description><![CDATA[
<p>All of them? It should feel instant. A UI does not benefit from artificial delays.</p>
]]></description><pubDate>Tue, 01 Apr 2025 07:48:59 +0000</pubDate><link>https://news.ycombinator.com/item?id=43543965</link><dc:creator>morganherlocker</dc:creator><comments>https://news.ycombinator.com/item?id=43543965</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43543965</guid></item><item><title><![CDATA[New comment by morganherlocker in "Obsidian is now free for work"]]></title><description><![CDATA[
<p>I use syncthing. Works flawlessly and took just a few minutes to setup.</p>
]]></description><pubDate>Thu, 20 Feb 2025 18:29:33 +0000</pubDate><link>https://news.ycombinator.com/item?id=43118289</link><dc:creator>morganherlocker</dc:creator><comments>https://news.ycombinator.com/item?id=43118289</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43118289</guid></item><item><title><![CDATA[New comment by morganherlocker in "Understanding gRPC, OpenAPI and REST and when to use them in API design (2020)"]]></title><description><![CDATA[
<p>Agree. As an example, this proto generates 584 lines of C++, links to 173k lines of dependencies, and generates a 21Kb object file, even before adding grpc:<p>syntax = "proto3";
message LonLat {
  float lon = 1;
  float lat = 2;
}<p>Looking through the generated headers, they are full of autogenerated slop with loads of dependencies, all to read a struct with 2 primitive fields. For a real monorepo, this adds up quickly.</p>
]]></description><pubDate>Thu, 23 Jan 2025 18:25:57 +0000</pubDate><link>https://news.ycombinator.com/item?id=42806494</link><dc:creator>morganherlocker</dc:creator><comments>https://news.ycombinator.com/item?id=42806494</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42806494</guid></item><item><title><![CDATA[New comment by morganherlocker in "Moving on from React, a year later"]]></title><description><![CDATA[
<p>If most data between the backend/frontend is raw numeric array binary blobs, and you target array types that can be loaded directly into JS TypedArrays (int32_t* -> Int32Array, float* -> Float32Array, etc.), you have a  more or less optimal data transfer mechanism with zero dependencies. The JS parsing is faster than the fetching, even with 10s of millions of items, provided you keep the number of arrays fixed and reasonably small.<p>This is a natural fit for data-oriented programming in most systems languages, including C++. It's also compatible with numpy and any other dynamic language backends that have a performance-oriented array primitive or lib. The data can be served dynamically from memory, or written to files on a static server like nginx.</p>
]]></description><pubDate>Wed, 22 Jan 2025 07:32:11 +0000</pubDate><link>https://news.ycombinator.com/item?id=42790099</link><dc:creator>morganherlocker</dc:creator><comments>https://news.ycombinator.com/item?id=42790099</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42790099</guid></item><item><title><![CDATA[New comment by morganherlocker in "Moving on from React, a year later"]]></title><description><![CDATA[
<p>Same, and I've found this works quite well with a C++ backend. Just send over binary data as struct-of-arrays, load it into typed arrays, render components. Your app will be bottlenecked only on bandwidth, as it should be, even for heavy 3d applications.<p>There's nothing fundamentally stopping react apps from being fast like this, but the dependency snowball has a way of hiding accumulated dynamic memory allocations and event listeners. Instead, we should be intentionally grouping allocations and events, keeping them contained to a few well understood pieces of code. Without this, these apps could be ported to native C++ or rust and they would still be nearly as slow because there is no magic language that can make a slop of millions of  tiny dynamic allocations fast and low overhead.</p>
]]></description><pubDate>Wed, 22 Jan 2025 05:43:49 +0000</pubDate><link>https://news.ycombinator.com/item?id=42789434</link><dc:creator>morganherlocker</dc:creator><comments>https://news.ycombinator.com/item?id=42789434</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42789434</guid></item><item><title><![CDATA[New comment by morganherlocker in "Researchers design wearable tech that can sense glucose levels more accurately"]]></title><description><![CDATA[
<p>If you're type 1 diabetic, accuracy is paramount, especially in a closed loop insulin pump setup. Even with access to the bloodstream, existing CGMs leave plenty of room for improvement that would directly improve quality of life a lot more than the annoyance of applying the sensor under the skin.</p>
]]></description><pubDate>Tue, 07 Jan 2025 00:21:31 +0000</pubDate><link>https://news.ycombinator.com/item?id=42617739</link><dc:creator>morganherlocker</dc:creator><comments>https://news.ycombinator.com/item?id=42617739</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42617739</guid></item></channel></rss>