<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: Jach</title><link>https://news.ycombinator.com/user?id=Jach</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Sun, 17 May 2026 11:09:21 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=Jach" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by Jach in "Bill to block publishers from killing online games advances in California"]]></title><description><![CDATA[
<p>Currently one of the features Valve's SDK offers is free use of network relays for P2P gaming without revealing each others IPs. Big and small games have used it. The main downside is if a game wants to offer cross-platform cross-play.</p>
]]></description><pubDate>Sat, 16 May 2026 10:45:15 +0000</pubDate><link>https://news.ycombinator.com/item?id=48158934</link><dc:creator>Jach</dc:creator><comments>https://news.ycombinator.com/item?id=48158934</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48158934</guid></item><item><title><![CDATA[New comment by Jach in "Mythical Man Month"]]></title><description><![CDATA[
<p>I think the fuller version of the "'no silver bullet' is wrong" claim is at: <a href="https://blog.ploeh.dk/2019/07/01/yes-silver-bullet/" rel="nofollow">https://blog.ploeh.dk/2019/07/01/yes-silver-bullet/</a><p>A weaker claim is that maybe there's no single silver bullet but there have been many bronze bullets that add up to more than a single silver bullet. I readily endorse at least that and think it's rather easy to justify.</p>
]]></description><pubDate>Sat, 09 May 2026 15:47:01 +0000</pubDate><link>https://news.ycombinator.com/item?id=48075897</link><dc:creator>Jach</dc:creator><comments>https://news.ycombinator.com/item?id=48075897</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48075897</guid></item><item><title><![CDATA[New comment by Jach in "AI is breaking two vulnerability cultures"]]></title><description><![CDATA[
<p>The best convenience is that by the time of disclosure, the patch was already merged perhaps months prior and so sysadmins following a routine update schedule would have already updated to a version including the patch and thus have nothing to do. This relies on an assumption that a patch or series of patches aren't equivalent to a disclosure, so that a disclosure can be delayed from the patch, which is basically untenable in modern times.</p>
]]></description><pubDate>Sat, 09 May 2026 14:55:39 +0000</pubDate><link>https://news.ycombinator.com/item?id=48075472</link><dc:creator>Jach</dc:creator><comments>https://news.ycombinator.com/item?id=48075472</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48075472</guid></item><item><title><![CDATA[New comment by Jach in "Wi is Fi: Understanding Wi-Fi 4/5/6/6E/7/8 (802.11 n/AC/ax/be/bn)"]]></title><description><![CDATA[
<p>Speaking just on timelines (rather than actual underlying innovations or improvements), 802.11 was in 1997, next in 1999, G in 2003, then a 6 year gap to N in 2009, 4 year gap to AC in 2013, 8 year gap to wifi 6 in 2021, wifi 7 in 2024 (though apparently buyer beware), and wifi 8 expected (according to the article) in 2028. Doesn't seem <i>too</i> rapid? The 8 year gap is the weird one out.<p>I think part of it is that if there isn't a regular and practiced process for bumping standards, then gaps between revisions can grow quite large and stagnation can set in, and if there are any significant improvements it'll take longer for them to come to fruition than if there were regular revisions that are only modest most of the time. Looking at a few other things that come to mind: USB had an 8 year gap between 2 and 3 as well, PCIe had a 7 year gap between 3 and 4 (albeit while they only had a 3 year gap between the specification for 5 to 6, it still took 3 more years (2025) for the first pcie6 devices, and I still can't buy a consumer-level pcie6 motherboard, it's a separate mess), C++ had an 8 year gap between C++03 and C++11, Java had a 5 year gap between 6 and 7 (and another 3 years after 7 to get to Java 8); all of these things now have more rapid cycles.</p>
]]></description><pubDate>Sat, 09 May 2026 03:17:23 +0000</pubDate><link>https://news.ycombinator.com/item?id=48071481</link><dc:creator>Jach</dc:creator><comments>https://news.ycombinator.com/item?id=48071481</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48071481</guid></item><item><title><![CDATA[New comment by Jach in "ClojureScript Gets Async/Await"]]></title><description><![CDATA[
<p>Is that something people want to get rid of? Back when I did some clojurescript people were pretty proud of being able to have it used automatically. What's the plan to get the same benefits? Or is the argument that the benefits aren't significant 15ish years on?</p>
]]></description><pubDate>Fri, 08 May 2026 09:57:19 +0000</pubDate><link>https://news.ycombinator.com/item?id=48060929</link><dc:creator>Jach</dc:creator><comments>https://news.ycombinator.com/item?id=48060929</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48060929</guid></item><item><title><![CDATA[New comment by Jach in "Why TUIs are back"]]></title><description><![CDATA[
<p>And for those of us devs, they never really went anywhere. vim was the most popular editor on HN 15, 10 years ago, still very popular 5 years ago, still popular today.. and that's just an editor, all the other tools like top and its descendents never went away.. I'll believe "TUIs are back" or in some kind of uprise when I notice my non-developer friends and family using them for anything. The most dominant UI today is the mobile app, that's not changing. Limited to professional use (i.e. doing work for someone) and not all use, TUIs aren't touching either web apps or native GUIs either.</p>
]]></description><pubDate>Mon, 04 May 2026 13:07:18 +0000</pubDate><link>https://news.ycombinator.com/item?id=48008255</link><dc:creator>Jach</dc:creator><comments>https://news.ycombinator.com/item?id=48008255</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48008255</guid></item><item><title><![CDATA[New comment by Jach in "Windows API is Successful Cross-Platform API (2024)"]]></title><description><![CDATA[
<p>And Unreal Engine 5 needs the Agility SDK, creating problems where games wouldn't run if your Windows version wasn't new enough. (Same as the typically encountered glibc problem of the user having an older version than the build needs, really.) (I think most of those particular issues were "solved" now with Win10 being EOL and so the developers just rub their hands of it and say "upgrade". Or use Linux and Steam, where no thanks to MS or the gamedevs themselves, games old and new can just work.)<p>Dependency hell comes for everyone, win32 may be stable but the broader ecosystem for Windows is little better than anything else. I say little because at least MS does still commit to a lot of backwards compatibility and ensuring some very old DLLs are still part of new Windows 11 installs.<p>As another comment notes some older Humble Bundle linux builds just don't work anymore on modern systems; some of those are just because they assumed a particular libjpg or libxml or whatever would be part of the base distro install and be around indefinitely. Bad assumption. But fixable the same way as missing DLLs from Windows builds.</p>
]]></description><pubDate>Sun, 03 May 2026 16:24:01 +0000</pubDate><link>https://news.ycombinator.com/item?id=47998544</link><dc:creator>Jach</dc:creator><comments>https://news.ycombinator.com/item?id=47998544</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47998544</guid></item><item><title><![CDATA[New comment by Jach in "Dotcl: Common Lisp Implementation on .NET"]]></title><description><![CDATA[
<p>This project? <a href="https://github.com/Syzygies/Compare" rel="nofollow">https://github.com/Syzygies/Compare</a><p>If Dotcl does have good performance, it would be interesting to try running Coalton on top of it too. Coalton syntax is probably not unusual if you are familiar with OCaml and F#: <a href="https://github.com/coalton-lang/coalton" rel="nofollow">https://github.com/coalton-lang/coalton</a> (Though I'd expect the performance of the typical use case of running on top of SBCL to still be better.)<p>From the same project there's the recently released mine editor that's trying to be a friendlier gateway into trying Common Lisp (and/or Coalton) than emacs: <a href="https://coalton-lang.github.io/mine/" rel="nofollow">https://coalton-lang.github.io/mine/</a> Time-to-first-SHOUTING is still once you start a REPL though -- it tells you that your package (namespace) is CL-USER. I sort of think it's one of those things that grows on you, or at least isn't annoying after a while (until you need to deal with certain foreign function interfaces anyway), and it's an interesting possible convention to use SHOUT-CASE in docstrings to call out specific parameters or other function names instead of some @param, \param, @link, or what have you.</p>
]]></description><pubDate>Sun, 03 May 2026 00:13:18 +0000</pubDate><link>https://news.ycombinator.com/item?id=47991873</link><dc:creator>Jach</dc:creator><comments>https://news.ycombinator.com/item?id=47991873</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47991873</guid></item><item><title><![CDATA[New comment by Jach in "Why I still reach for Lisp and Scheme instead of Haskell"]]></title><description><![CDATA[
<p>I did, I still ended up pattern matching on too broad an interpretation of "it". Thanks for clarifying.</p>
]]></description><pubDate>Thu, 30 Apr 2026 20:11:59 +0000</pubDate><link>https://news.ycombinator.com/item?id=47967619</link><dc:creator>Jach</dc:creator><comments>https://news.ycombinator.com/item?id=47967619</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47967619</guid></item><item><title><![CDATA[New comment by Jach in "Why I still reach for Lisp and Scheme instead of Haskell"]]></title><description><![CDATA[
<p>Being paused in the debugger is per-thread. If the server's using a thread-per-request model, and you're stopped in the request, then other requests can proceed just fine. If some of those requests also trigger the debugger, they'll pause and have to wait, they won't interrupt your current debugging view. Extra care should be taken in any sort of production debugging, of course. (At a Java BigCo, production debugging <i>was</i> technically allowed but required multiple signoffs, the engineer wasn't the one in control but had to direct someone else, lots of barriers to prevent looking at arbitrary customer data, and of course still limited to what you can do with a standard JVM restarted in debug mode. (Mainly setting breakpoints and walking stack traces.))<p>But the nicest part is that once you connect to the production application, apart from network lag it's no different than if you were developing and debugging locally on similarly specced hardware to the server, you have all the same tools. Many of the broader activities around "debugging" don't need to happen in a paused thread that was entered with an explicit breakpoint or error, they can happen in a separate thread entirely. You connect, then you can start inspecting (even modifying) any global state, you can define new variables, you can inspect objects, you can define new functions to test hypotheses, redefine existing functions... if you <i>want</i> all requests to pause until you're done, you can make it so. Or if you want to temporarily redirect all requests to some maintenance page, you can make that so instead. A simple thing I like doing sometimes when developing locally (and I could do it on a production binary too) is to define some (namespaced) global variable and redefine a singly-dispatched method to set it to the self object (possibly conditionally), and once I have it I might redefine the method again to have that bit commented out just so I know it won't change underneath me. Alternatively I can (and sometimes do) instead set this where the object is created. Then I have a nice variable independent of any stack frames that I can inspect, pass to other method calls, change properties of, whatever, at my leisure without really impacting the rest of the program's running operation. Another neat trick is being able to dynamically add/remove inherited mixin superclasses to some class, and when you do that it automatically impacts all existing objects of that class as well. Mixin classes are characterized by having aspect-oriented methods associated with them; you can define custom :before, :after, or :around methods independent of the primary method that gets called for some object.</p>
]]></description><pubDate>Thu, 30 Apr 2026 11:20:34 +0000</pubDate><link>https://news.ycombinator.com/item?id=47960856</link><dc:creator>Jach</dc:creator><comments>https://news.ycombinator.com/item?id=47960856</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47960856</guid></item><item><title><![CDATA[New comment by Jach in "Why I still reach for Lisp and Scheme instead of Haskell"]]></title><description><![CDATA[
<p>What makes you think it falls flat in a team setting? There are plenty of N-pizza-sized teams successfully using Lisp to this day and you're probably aware of many teams successfully using Lisp in the past, too. There's also the success of Clojure. What's required to have a well functioning team is mostly programming language independent; Lisp itself won't save a team lacking those properties anymore than say Java would.</p>
]]></description><pubDate>Thu, 30 Apr 2026 10:41:51 +0000</pubDate><link>https://news.ycombinator.com/item?id=47960592</link><dc:creator>Jach</dc:creator><comments>https://news.ycombinator.com/item?id=47960592</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47960592</guid></item><item><title><![CDATA[New comment by Jach in "Why I still reach for Lisp and Scheme instead of Haskell"]]></title><description><![CDATA[
<p>I've frequently said that Java + JRebel gets the closest to the Common Lisp + slime experience (closer than Python) but as you say the Lisp experience is still superior, the Java ecosystem has yet to close the gap*. The widest part of that gap I'd mention is in not having the condition system built-in to Java (though I'm aware people have tried to make a comparable one as a library), lacking it degrades the debugging experience considerably (even though simple step-debugging is typically more pleasant than in Lisp). IntelliJ's drop frame feature isn't good enough. The other problem is needing Java + something. What you get with just a regular JVM running under your IDE is no better than what other languages offer (if they offer anything) as their cute hotswap/hotpatch feature and comes with big limitations. (Like no changing method signatures or no adding/removing methods or properties, or only applying changes to new objects.) Once you're doing something non-trivial, especially if you're trying to incrementally develop your program rather than just debug one specific problem, you'll have to restart. In contrast Common Lisp's got its disassemble, describe, inspect, compile, fmakunbound, ... all being functions callable at runtime, and update-instance-for-redefined-class is part of the standard language too. Support for live reloading of everything is baked into the language rather than a hack on top, slime is just a convenient way of working with it. It's still convenient to restart the program occasionally, but few things <i>force</i> you to.<p>Unfortunately JRebel has killed their free tier, so I'd now point unwilling-to-pay programmers to something like <a href="https://github.com/JetBrains/JetBrainsRuntime" rel="nofollow">https://github.com/JetBrains/JetBrainsRuntime</a> which is IntelliJ/Eclipse/whatever-independent. I haven't tried it myself yet though... Given they <i>only</i> address the biggest class reloading concerns, I doubt it's actually comparable to JRebel for business-world Java. JRebel handles among other things dynamic reloading from XML changes and reinitializing autowired Spring beans that other classes use for dependencies.<p>*Caveat, I've been out of the professional Java grind for a while, I'd be pleasantly surprised if some new version that's come out contradicts me.</p>
]]></description><pubDate>Thu, 30 Apr 2026 10:27:11 +0000</pubDate><link>https://news.ycombinator.com/item?id=47960487</link><dc:creator>Jach</dc:creator><comments>https://news.ycombinator.com/item?id=47960487</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47960487</guid></item><item><title><![CDATA[New comment by Jach in "Mine, a Coalton and Common Lisp IDE"]]></title><description><![CDATA[
<p>Discussion from yesterday: <a href="https://news.ycombinator.com/item?id=47903173">https://news.ycombinator.com/item?id=47903173</a><p>(I submitted this the day before but I guess this is HN's second-chance feature kicking in.)</p>
]]></description><pubDate>Sun, 26 Apr 2026 15:11:07 +0000</pubDate><link>https://news.ycombinator.com/item?id=47910958</link><dc:creator>Jach</dc:creator><comments>https://news.ycombinator.com/item?id=47910958</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47910958</guid></item><item><title><![CDATA[New comment by Jach in "Mine, an IDE for Coalton and Common Lisp"]]></title><description><![CDATA[
<p>Yeah, I mean there is <i>some</i> support for various editors (<a href="https://lispcookbook.github.io/cl-cookbook/editor-support.html" rel="nofollow">https://lispcookbook.github.io/cl-cookbook/editor-support.ht...</a>) including VS Code (<a href="https://lispcookbook.github.io/cl-cookbook/vscode-alive.html" rel="nofollow">https://lispcookbook.github.io/cl-cookbook/vscode-alive.html</a>), but it's kind of rough (<a href="https://blog.djhaskin.com/blog/experience-report-using-vs-code-alive-to-write-common-lisp/" rel="nofollow">https://blog.djhaskin.com/blog/experience-report-using-vs-co...</a>) and not exactly feature-complete with the emacs experience, plus you're still left having to figure out how to install and setup a Lisp implementation and quicklisp. I like that mine solves those for a newcomer, especially on Windows. (I myself use vim + slimv, but even that isn't quite at parity in some respects with emacs. The biggest weaknesses are around debugging, especially in the presence of multiple threads. But the essentials do work (stepping, eval-in-frame, continuing-from-a-stack-frame, selecting the various types of restarts, compiling changes before selecting restarts) so I'm still fairly productive and don't feel like I'm lacking anything sorely needed for professional work. I've hacked together some automatic refactoring bits as well, which emacs doesn't have either, and I'm eventually going to make a separated GUI test runner.)<p>I've been kicking the tires with mine a little bit yesterday and today, I think it's quite good for the beginner experience. But I'm constantly of two minds about reporting some feature requests. The project's primary goal seems to be existing as a stepping stone to even see what Lisp (and especially Coalton) is really all about before "graduating" to something like emacs, it feels like a secondary goal (though it is mentioned as a goal) to be usable by professionals as well, but there's inherent tension there. That's also been a weakness with the other editors: anyone already comfortable with Lisp development, professional or not, in emacs or not, isn't very likely to give the time of day to some new thing that's almost certainly not going to be as good as what they're used to. And so the new thing doesn't get the attention and feedback from experienced developers and the gap never closes.</p>
]]></description><pubDate>Sun, 26 Apr 2026 02:14:21 +0000</pubDate><link>https://news.ycombinator.com/item?id=47906657</link><dc:creator>Jach</dc:creator><comments>https://news.ycombinator.com/item?id=47906657</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47906657</guid></item><item><title><![CDATA[New comment by Jach in "Google plans to invest up to $40B in Anthropic"]]></title><description><![CDATA[
<p>A lot of businesses can get by just fine with making it one person's responsibility to maintain a spreadsheet for this. It can be fragile though as the company grows and/or the number of items increases, and you have to make sure it's all still centralized and teams aren't randomly purchasing licenses or subscriptions without telling anyone, it needs to be properly handed off if the person leaves/dies/takes a vacation, backed up if not using a cloud spreadsheet... I've probably seen at least a dozen startups come and go over the years purporting to solve this kind of problem, other businesses integrate it into an existing Salesforce/other deployment... it seems like a fine choice for an internal tool, so long as the tool is running on infrastructure that is no less stable than a spreadsheet on someone's machine.<p>In the startup world something like "every emailed spreadsheet is a business" used to be a motivating phrase, it must be more rough out there when LLMs can business-ify so many spreadsheet processes (whether it's necessary for the business yet or not). And of course with this sort of tool in particular, more eyes seeing "we're paying $x/mo for this service?" naturally leads to "can't we just use our $y/mo LLM to make our own version?". Not sure I'd want to be in small-time b2b right now.</p>
]]></description><pubDate>Sat, 25 Apr 2026 13:33:29 +0000</pubDate><link>https://news.ycombinator.com/item?id=47901461</link><dc:creator>Jach</dc:creator><comments>https://news.ycombinator.com/item?id=47901461</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47901461</guid></item><item><title><![CDATA[New comment by Jach in "Google plans to invest up to $40B in Anthropic"]]></title><description><![CDATA[
<p>It's an important concern for those footing the bill, but I expect companies really in the face of being impacted by it to be able to do a cost-benefit calculation and use a mix of models. For the sorts of things GP described (iptables whatever, recalling how to scan open ports on the network, the sorts of things you <i>usually</i> could answer for yourself with 10-600 seconds in a manpage / help text / google search / stack overflow thread), local/open-weight models are already good enough and fast enough on a lot of commodity hardware to suffice. Whereas now companies might say just offload such queries to the frontier $200/mo plan because why not, tokens are plentiful and it's already being paid for, if in the future it goes to $2000/mo with more limited tokens, you might save them for the actual important or latency-sensitive work and use lower-cost local models for simpler stuff. That lower-cost might involve a $2000 GPU to be really usable, but it pays for itself shortly by comparison. To use your Uber analogy, people might have used it to get to downtown and the airport, but now it's way more expensive, so they'll take a bus or walk or drive downtown instead -- but the airport trip, even though it's more expensive than it used to be, is still attractive in the face of competing alternatives like taxis/long term parking.</p>
]]></description><pubDate>Sat, 25 Apr 2026 00:20:54 +0000</pubDate><link>https://news.ycombinator.com/item?id=47897402</link><dc:creator>Jach</dc:creator><comments>https://news.ycombinator.com/item?id=47897402</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47897402</guid></item><item><title><![CDATA[New comment by Jach in "Google plans to invest up to $40B in Anthropic"]]></title><description><![CDATA[
<p>Are you able to describe any of those internal tools in more detail? How important are they on average? (For example, at a prior job I spent a bit of time creating a slackbot command "/wtf acronym" which would query our company's giant glossary of acronyms and return the definition. It wasn't very popular (read: not very useful/important) but it saved myself some time at least looking things up (saving more time than it took to create I'm sure). I'd expect modern LLMs to be able to recreate it within a few minutes as a one-shot task.)</p>
]]></description><pubDate>Sat, 25 Apr 2026 00:06:05 +0000</pubDate><link>https://news.ycombinator.com/item?id=47897316</link><dc:creator>Jach</dc:creator><comments>https://news.ycombinator.com/item?id=47897316</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47897316</guid></item><item><title><![CDATA[Mine, a Coalton and Common Lisp IDE]]></title><description><![CDATA[
<p>Article URL: <a href="https://coalton-lang.github.io/20260424-mine/">https://coalton-lang.github.io/20260424-mine/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=47894014">https://news.ycombinator.com/item?id=47894014</a></p>
<p>Points: 112</p>
<p># Comments: 6</p>
]]></description><pubDate>Fri, 24 Apr 2026 18:24:42 +0000</pubDate><link>https://coalton-lang.github.io/20260424-mine/</link><dc:creator>Jach</dc:creator><comments>https://news.ycombinator.com/item?id=47894014</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47894014</guid></item><item><title><![CDATA[New comment by Jach in "Our newsroom AI policy"]]></title><description><![CDATA[
<p>Many open source projects accept donations. There's also explicitly paid-for software. What exactly do you wish for that you can't do right now?</p>
]]></description><pubDate>Thu, 23 Apr 2026 10:28:51 +0000</pubDate><link>https://news.ycombinator.com/item?id=47874061</link><dc:creator>Jach</dc:creator><comments>https://news.ycombinator.com/item?id=47874061</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47874061</guid></item><item><title><![CDATA[New comment by Jach in "Acetaminophen vs. ibuprofen"]]></title><description><![CDATA[
<p>In the US, Aleve is the name-brand pill for naproxen, available in grocery stores next to everything else. I have a bottle of 160 gelcaps. Each pill is 220mg naproxen sodium or in parentheses 200 mg of naproxen. The advertised effect is 12 hours / all day, getting anywhere near 4g would only happen in a suicidal "swallow bottle of pills" situation.</p>
]]></description><pubDate>Wed, 22 Apr 2026 15:17:17 +0000</pubDate><link>https://news.ycombinator.com/item?id=47864844</link><dc:creator>Jach</dc:creator><comments>https://news.ycombinator.com/item?id=47864844</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47864844</guid></item></channel></rss>