<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: nickelpro</title><link>https://news.ycombinator.com/user?id=nickelpro</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Sat, 30 May 2026 02:45:00 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=nickelpro" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by nickelpro in "Ti-84 Evo"]]></title><description><![CDATA[
<p>You've already rejected elsewhere in the comments the style of problem these calculators are used for as either "more complicated than a high schooler is taught" or a "your teachers have wasted your time".<p>Which is fine, you have an idiosyncratic view of modern mathematical pedagogy (at least as it exists in the US). When you're a high school math teacher you can argue with your state dept. of ed. about it.<p>These calculators are also used at the undergrad level, fwiw, so the "high school level" (whatever limit you're putting on that, many high schools will accelerate students into undergrad stats and as far as Calc II), is not a factor in their use overall.</p>
]]></description><pubDate>Sat, 02 May 2026 18:24:21 +0000</pubDate><link>https://news.ycombinator.com/item?id=47988972</link><dc:creator>nickelpro</dc:creator><comments>https://news.ycombinator.com/item?id=47988972</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47988972</guid></item><item><title><![CDATA[New comment by nickelpro in "Ti-84 Evo"]]></title><description><![CDATA[
<p>That rules out classes of problem which we want to teach, or falls back to using lookup tables which is more arduous and limits the number of problems which can be put on an exam.<p>Teaching students to use lookup tables at all is a largely pointless exercise. Teaching students to graph or use statistical functions on an advanced calculator transfers very well to other environments.</p>
]]></description><pubDate>Sat, 02 May 2026 17:23:18 +0000</pubDate><link>https://news.ycombinator.com/item?id=47988409</link><dc:creator>nickelpro</dc:creator><comments>https://news.ycombinator.com/item?id=47988409</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47988409</guid></item><item><title><![CDATA[New comment by nickelpro in "Zed 1.0"]]></title><description><![CDATA[
<p>The compilation database[1] given to clangd needs to be complete, understood by the clangd argument parser, and capable of producing a build.<p>This starts to hurt bad when the compiler producing the build is not clang. If you try to use a compile database describing C++20 module compile lines for GCC, clangd will choke badly. If you're using MSVC flags that clang-cl hasn't been taught yet, clangd falls over. If you're using CMake to produce the compile database, it will leave out synthetic targets from the database and you will see errors because clangd cannot find the interfaces described by those targets. If you're not using CMake you need to configure bear or ninja or whatever to produce a compilation database for you. Etc, etc.<p>[1]: <a href="https://clang.llvm.org/docs/JSONCompilationDatabase.html" rel="nofollow">https://clang.llvm.org/docs/JSONCompilationDatabase.html</a></p>
]]></description><pubDate>Fri, 01 May 2026 14:41:54 +0000</pubDate><link>https://news.ycombinator.com/item?id=47975341</link><dc:creator>nickelpro</dc:creator><comments>https://news.ycombinator.com/item?id=47975341</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47975341</guid></item><item><title><![CDATA[New comment by nickelpro in "Zed 1.0"]]></title><description><![CDATA[
<p>Basically that clangd needs an accurate compilation database to consume, which isn't a requirement for other language spaces.</p>
]]></description><pubDate>Thu, 30 Apr 2026 17:58:01 +0000</pubDate><link>https://news.ycombinator.com/item?id=47966031</link><dc:creator>nickelpro</dc:creator><comments>https://news.ycombinator.com/item?id=47966031</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47966031</guid></item><item><title><![CDATA[New comment by nickelpro in "Zed 1.0"]]></title><description><![CDATA[
<p>If you do not understand how the underlying language server is configured, what the input and outputs are, how it operates, you will run into errors you are unequipped to deal with.<p>Some languages are more severe than others on this. For example, in C++ your editor is not going to be able to make efficient use of the clangd language server without intervention from the programmer to understand and configure it. On the other hand, for Python the Pyright LS will be mostly fine without additional configuration.</p>
]]></description><pubDate>Thu, 30 Apr 2026 12:13:49 +0000</pubDate><link>https://news.ycombinator.com/item?id=47961300</link><dc:creator>nickelpro</dc:creator><comments>https://news.ycombinator.com/item?id=47961300</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47961300</guid></item><item><title><![CDATA[New comment by nickelpro in "Zed 1.0"]]></title><description><![CDATA[
<p>Because the bar is low and part of the craftsman's job is to learn their tools. If everyone who wanted to use a computer needed to learn how language servers work, that would be a problem.<p>A programmer having to learn how language servers work isn't a pain point, it's their job. It takes a couple hours to learn. A couple hours to learn how to do part of your job isn't notable. Complaining about learning how to do one's job makes one unqualified.</p>
]]></description><pubDate>Thu, 30 Apr 2026 12:09:56 +0000</pubDate><link>https://news.ycombinator.com/item?id=47961264</link><dc:creator>nickelpro</dc:creator><comments>https://news.ycombinator.com/item?id=47961264</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47961264</guid></item><item><title><![CDATA[New comment by nickelpro in "Zed 1.0"]]></title><description><![CDATA[
<p>It stops at the tools you use, "it's a tool you use every single day". If it's not a tool you use every day, you don't need to learn it.<p>If you don't use language servers, you don't engage with development environments which rely on them, you need not learn them.<p>If you're making chips on a Monarch 60 you don't need to learn shit about CNC. If you're pushing buttons on a Haas you do.<p>If you're coming from a Monarch and want to try pushing buttons on the Haas on the kids are using, you need to learn how CNC works. That's your job. If you want to switch from notepad to Zed, you need to learn how language servers work.</p>
]]></description><pubDate>Wed, 29 Apr 2026 19:50:27 +0000</pubDate><link>https://news.ycombinator.com/item?id=47953558</link><dc:creator>nickelpro</dc:creator><comments>https://news.ycombinator.com/item?id=47953558</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47953558</guid></item><item><title><![CDATA[New comment by nickelpro in "Zed 1.0"]]></title><description><![CDATA[
<p>The context is a user adopting an editor that has LSP integration and is relying on the language server. That's why I said "it's a tool you use every single day".<p>If your tool is TextMate, you should learn how TextMate grammars work. If your tool is vi, you should learn how modal editing works. If your tool is Ed, you don't need to learn anything because "Ed is the standard text editor".[1]<p>[1]: <a href="https://www.gnu.org/fun/jokes/ed-msg.html" rel="nofollow">https://www.gnu.org/fun/jokes/ed-msg.html</a></p>
]]></description><pubDate>Wed, 29 Apr 2026 19:43:01 +0000</pubDate><link>https://news.ycombinator.com/item?id=47953431</link><dc:creator>nickelpro</dc:creator><comments>https://news.ycombinator.com/item?id=47953431</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47953431</guid></item><item><title><![CDATA[New comment by nickelpro in "Zed 1.0"]]></title><description><![CDATA[
<p>This is way too equivocating.<p>You are a craftsman, learn your tools. Could you imagine the equivalent from other professionals? A machinist saying, "Understanding the differences and interop places between the DRO, hand controls, and CNC controls for the lathe can be a big confusing time hog."<p>It takes a couple of hours, and it's a tool you use every single day. Learning how it works is the price of entry, not a mountain to overcome.</p>
]]></description><pubDate>Wed, 29 Apr 2026 16:57:18 +0000</pubDate><link>https://news.ycombinator.com/item?id=47951123</link><dc:creator>nickelpro</dc:creator><comments>https://news.ycombinator.com/item?id=47951123</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47951123</guid></item><item><title><![CDATA[New comment by nickelpro in "The predictable failure of the QDay Prize"]]></title><description><![CDATA[
<p>Because then all entrants would fail the competition.<p>There has been no significant jump in capabilities such that a meaningful demonstration of general purpose or cryptographically-relevant quantum computing could be performed on "public hardware".<p>Presumably the organizers know this but still have incentives to drum up news about QC. So they ignore that problem and focus on how to obscure the fact this is a dog-and-pony show.</p>
]]></description><pubDate>Tue, 28 Apr 2026 13:57:52 +0000</pubDate><link>https://news.ycombinator.com/item?id=47934688</link><dc:creator>nickelpro</dc:creator><comments>https://news.ycombinator.com/item?id=47934688</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47934688</guid></item><item><title><![CDATA[New comment by nickelpro in "Dcmake: A new CMake debugger UI"]]></title><description><![CDATA[
<p>"CMake is too hard to debug, I'm stuck doing confusing print statements everywhere when I misconfigure something"<p>"Good news, we added a debugger"<p>"CMake has a debugger? Who would ever want that?"<p>Sigh.<p>Working on CMake has taught me a lot about the futility of pleasing everyone.</p>
]]></description><pubDate>Sun, 12 Apr 2026 14:29:59 +0000</pubDate><link>https://news.ycombinator.com/item?id=47740130</link><dc:creator>nickelpro</dc:creator><comments>https://news.ycombinator.com/item?id=47740130</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47740130</guid></item><item><title><![CDATA[New comment by nickelpro in "A cryptography engineer's perspective on quantum computing timelines"]]></title><description><![CDATA[
<p>They're just different definitions of success.<p>For fusion the bar is "economically viable", in the current discussion for QC the bar is "cryptographically relevant".<p>They are comparable in that to meet either criteria, a variety of unsolved engineering challenges need to be overcome. For both, some of those problems have no clear and obvious solutions to which a simple application of resources and time will achieve.<p>Currently unknown innovations are required, unknown unknowns lurk in the dark corners, and all projections are relying on the assumption such innovations will arrive in a timely fashion and the unknown unknowns will be harmless glitches.<p>Neither are likely impossible, but betting on timelines is a fools game. This isn't the NYT publishing man-made flight is a million years away 2 months before the Wright brothers flew at Kitty Hawk, waiting for the right conglomeration of otherwise sound engineering to materialize in one place. It's like saying level 5 self-driving cars are two years away, a perpetually delayed technology for which all problems are well known and no new innovations are imminent.</p>
]]></description><pubDate>Tue, 07 Apr 2026 10:12:04 +0000</pubDate><link>https://news.ycombinator.com/item?id=47672909</link><dc:creator>nickelpro</dc:creator><comments>https://news.ycombinator.com/item?id=47672909</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47672909</guid></item><item><title><![CDATA[New comment by nickelpro in "A cryptography engineer's perspective on quantum computing timelines"]]></title><description><![CDATA[
<p>Fault tolerance is <i>a</i> hard problem, assembling qubits for simultaneous gate operations is another hard problem. There are several dozen others.<p>It is exceptionally unlikely CRQC will be achieved in our lifetimes, if ever. The closer example is economically-viable fusion power production, which today has better odds than CRQC but remains solidly in the "maybe" zone after decades of global investment. Even though fusion weapons had been achieved half a century beforehand.<p>The bombs were actually relatively easy problems, in the scheme of things.<p>It is never wise to listen to people who's jobs and funding are connected to the development of a technology on when that technology will arrive. The answer is always "soon".</p>
]]></description><pubDate>Tue, 07 Apr 2026 07:30:57 +0000</pubDate><link>https://news.ycombinator.com/item?id=47671846</link><dc:creator>nickelpro</dc:creator><comments>https://news.ycombinator.com/item?id=47671846</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47671846</guid></item><item><title><![CDATA[New comment by nickelpro in "VHDL's Crown Jewel"]]></title><description><![CDATA[
<p>I agree basically with everything you're saying, but that's not arguing for raw gate netlists. If anything it's arguing for even higher levels of abstraction where clock domains are implicit semantic contexts.<p>Many new school HDLs are working in this space and they couldn't be farther from the "representative of what digital circuits are constructed from" idea. Often they're high-level programmatic generators, very far from describing things in terms of actual PDK primitives.</p>
]]></description><pubDate>Mon, 30 Mar 2026 19:07:16 +0000</pubDate><link>https://news.ycombinator.com/item?id=47578409</link><dc:creator>nickelpro</dc:creator><comments>https://news.ycombinator.com/item?id=47578409</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47578409</guid></item><item><title><![CDATA[New comment by nickelpro in "C++26 is done: ISO C++ standards meeting Trip Report"]]></title><description><![CDATA[
<p>I wanted to ship import std in 4.3 but there are some major disagreements over where the std.o symbols are supposed to come from.<p>Clang says "we don't need them", GCC says "we'll ship them in libstdc++", and MSVC says "you are supposed to provide them".<p>I didn't know about that when I was working on finishing import std for CMake and accidentally broke a lot of code in the move to a native implementation of the module manifest format, so everything got reverted and put back into experimental.</p>
]]></description><pubDate>Mon, 30 Mar 2026 17:46:25 +0000</pubDate><link>https://news.ycombinator.com/item?id=47577420</link><dc:creator>nickelpro</dc:creator><comments>https://news.ycombinator.com/item?id=47577420</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47577420</guid></item><item><title><![CDATA[New comment by nickelpro in "C++26 is done: ISO C++ standards meeting Trip Report"]]></title><description><![CDATA[
<p>This was considered during standardization. The feeling among tool developers at the time was it was "close enough" to Fortran modules to be mostly solvable.<p>This was wrong, mostly because C++ compiler flag semantics are far more complicated than in Fortran, you live and you learn. The bones of most implementations is identical to Fortran though, we got a ~3 year head start on the work because of that.<p>Ninja already had the dyndep patch ready to go from Fortran, CMake knew basically how to use scanners in build steps. However, it took longer than expected to get scanner support into the compilers, which then delayed everything downstream. Understanding when BMIs need to be rebuilt is still tricky. Packaging formats needed to be updated to understand module maps, etc, etc.<p>Each step took a little longer than was initially hoped, and delays snowballed a bit. We'll get there.</p>
]]></description><pubDate>Mon, 30 Mar 2026 17:41:51 +0000</pubDate><link>https://news.ycombinator.com/item?id=47577369</link><dc:creator>nickelpro</dc:creator><comments>https://news.ycombinator.com/item?id=47577369</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47577369</guid></item><item><title><![CDATA[New comment by nickelpro in "C++26 is done: ISO C++ standards meeting Trip Report"]]></title><description><![CDATA[
<p>BMIs are not considered distributable artifacts and were never designed to be. Same as PCHs and clang-modules which preceded them. Redistribution of interface artifacts was not a design goal of C++ modules, same as redistribution of CPython byte code is not a design goal for Python's module system.<p>Modules solve the problems of text substitution (headers) as interface description. It's why we call the importable module units "interface units". The goals were to fix all the problems with headers (macro leakage, uncontrolled export semantics, Static Initialization Order Fiasco, etc) and improve build performance.<p>They succeeded at this rather wonderfully as a design. Implementation proved more difficult but we're almost there.</p>
]]></description><pubDate>Mon, 30 Mar 2026 17:33:07 +0000</pubDate><link>https://news.ycombinator.com/item?id=47577263</link><dc:creator>nickelpro</dc:creator><comments>https://news.ycombinator.com/item?id=47577263</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47577263</guid></item><item><title><![CDATA[New comment by nickelpro in "C++26 is done: ISO C++ standards meeting Trip Report"]]></title><description><![CDATA[
<p>CPS[1] is where all the effort is currently going for a C++ packaging standard, CMake shipped it in 4.3 and Meson is working on it. Pkgconf maintainer said they have vague plans to support at some point.<p>There's no current effort to standardize what a package registry is or how build frontends and backends communicate (a la PEP 517/518), though its a constant topic of discussion.<p>[1]: <a href="https://github.com/cps-org/cps" rel="nofollow">https://github.com/cps-org/cps</a></p>
]]></description><pubDate>Mon, 30 Mar 2026 17:29:12 +0000</pubDate><link>https://news.ycombinator.com/item?id=47577211</link><dc:creator>nickelpro</dc:creator><comments>https://news.ycombinator.com/item?id=47577211</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47577211</guid></item><item><title><![CDATA[New comment by nickelpro in "ChatGPT won't let you type until Cloudflare reads your React state"]]></title><description><![CDATA[
<p>The intended value is difficult to discern in AI written pieces.<p>I agree with both of you, there's some interesting tricks here for how a website builds anti-bot protection, but the AI sloppification is framing it as a consumer protection issue but not delivering on that premise.<p>It is a reasonable criticism that the post does not deliver a "so what?" on its basic framing.</p>
]]></description><pubDate>Mon, 30 Mar 2026 17:15:53 +0000</pubDate><link>https://news.ycombinator.com/item?id=47577047</link><dc:creator>nickelpro</dc:creator><comments>https://news.ycombinator.com/item?id=47577047</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47577047</guid></item><item><title><![CDATA[New comment by nickelpro in "VHDL's Crown Jewel"]]></title><description><![CDATA[
<p>Because it's both slow and terrible?<p>You generally do not want to simulate or describe raw gate-level netlists. Both languages are capable of that. Old school Verilog (not SystemVerilog) is still the defacto netlist exchange format for many tools.<p>It's just aggravatingly slow to sim and needlessly verbose. Feeding high-level RTL to Verilator to do basic cycle-accurate sim has exceptionally fast iteration speed these days.</p>
]]></description><pubDate>Mon, 30 Mar 2026 17:00:43 +0000</pubDate><link>https://news.ycombinator.com/item?id=47576849</link><dc:creator>nickelpro</dc:creator><comments>https://news.ycombinator.com/item?id=47576849</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47576849</guid></item></channel></rss>