<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: xelxebar</title><link>https://news.ycombinator.com/user?id=xelxebar</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Sun, 05 Apr 2026 22:32:35 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=xelxebar" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by xelxebar in "How far back in time can you understand English?"]]></title><description><![CDATA[
<p>> Hit is muchel to seggen all þat pinunge hie on me uuroȝten, al þar sor and al þat sorȝe. Ne scal ic nefre hit forȝeten, naht uuhiles ic libbe!<p>My reading was "There is (too) much to say all that pain he wrought on me, all there sour and all that sorryness. Not shall I never forget, not while I live!"</p>
]]></description><pubDate>Sun, 22 Feb 2026 04:03:25 +0000</pubDate><link>https://news.ycombinator.com/item?id=47108033</link><dc:creator>xelxebar</dc:creator><comments>https://news.ycombinator.com/item?id=47108033</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47108033</guid></item><item><title><![CDATA[New comment by xelxebar in "The largest number representable in 64 bits"]]></title><description><![CDATA[
<p>Busy Beaver gets a lot of love, but the fast growing hierarchy is both constructive and can go way, way, waaaaay beyond current known BB bounds. This makes their size much more viscerally apparent than gesturing vaguely at BB(BB(BB(100))) or whatever, IMHO.<p>David Metzler has this really cool playlist "Ridiculously Huge Numbers" that digs into the details in an accessible way:<p><a href="https://www.youtube.com/playlist?list=PL3A50BB9C34AB36B3" rel="nofollow">https://www.youtube.com/playlist?list=PL3A50BB9C34AB36B3</a><p>By the end, you're thinking about functions that grow so fast TREE is utterly insignificant. Surprisingly, getting there just needs a small bit of machinery beyond Peano Arithmetic [0].<p>Then you can ponder doing all that but making a tiny tweak by replacing succesorship with BB. Holy cow...<p>[0]:<a href="https://en.wikipedia.org/wiki/Theories_of_iterated_inductive_definitions" rel="nofollow">https://en.wikipedia.org/wiki/Theories_of_iterated_inductive...</a></p>
]]></description><pubDate>Tue, 03 Feb 2026 03:00:50 +0000</pubDate><link>https://news.ycombinator.com/item?id=46865886</link><dc:creator>xelxebar</dc:creator><comments>https://news.ycombinator.com/item?id=46865886</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46865886</guid></item><item><title><![CDATA[New comment by xelxebar in "9front OS"]]></title><description><![CDATA[
<p>The snapshot system in gefs is really quite nice.<p>By default, you get snapshots every minute for the last hour, every hour for the last day, and every day into perpetuity. This is configurable. You can set as many cadences as you wish, with the ability to configure their frequency and lifetimes.<p>Actually, snapshots are like btrfs volumes in many ways, meaning they can be mounted, read from, and written to as desired. This allows the filesystem root to just be another snapshot with a default backup cadence as described above.<p>The gefs(4) manpage [0] has more info for those interested. It's a short and sweet read. The source [1], is under 12k lines of well-written code, comments and whitespace included. The author is also extremely responsive to issues and a pleasure to talk shop with.<p>Anyway, given the parsimony of the OS and the small community size, I find 9front to be a really nice incubator for playing around with new ideas.<p>[0]:<a href="https://man.9front.org/4/gefs" rel="nofollow">https://man.9front.org/4/gefs</a>
[1]:<a href="https://git.9front.org/plan9front/9front/front/sys/src/cmd/gefs/f.html" rel="nofollow">https://git.9front.org/plan9front/9front/front/sys/src/cmd/g...</a></p>
]]></description><pubDate>Fri, 30 Jan 2026 03:37:35 +0000</pubDate><link>https://news.ycombinator.com/item?id=46820264</link><dc:creator>xelxebar</dc:creator><comments>https://news.ycombinator.com/item?id=46820264</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46820264</guid></item><item><title><![CDATA[New comment by xelxebar in "Are arrays functions?"]]></title><description><![CDATA[
<p>IIRC, K rationalizes arrays and dictionaries with functions, e.g. you see arr[x;y] and fun[x;y]. Interestingly, this also highlights the connection between currying and projection, i.e. we can project/curry the above like arr[x] and fun[x].</p>
]]></description><pubDate>Wed, 21 Jan 2026 02:46:58 +0000</pubDate><link>https://news.ycombinator.com/item?id=46700554</link><dc:creator>xelxebar</dc:creator><comments>https://news.ycombinator.com/item?id=46700554</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46700554</guid></item><item><title><![CDATA[New comment by xelxebar in "Ridiculously Huge Numbers [video]"]]></title><description><![CDATA[
<p>Googol, googolplex, Graham's number, Ackermann's function, TREE, BB, Rayo's number ... For some reason big numbers seem to tickle some childlike fascination in me.<p>I randomly stumbled across this series that incrementally walks through the construction of truly gargantuan (computable) numbers. The fact that this touches on deep areas of math feels unexpected and fascinating.<p>Just wanted to share.</p>
]]></description><pubDate>Tue, 20 Jan 2026 05:33:08 +0000</pubDate><link>https://news.ycombinator.com/item?id=46688258</link><dc:creator>xelxebar</dc:creator><comments>https://news.ycombinator.com/item?id=46688258</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46688258</guid></item><item><title><![CDATA[Ridiculously Huge Numbers [video]]]></title><description><![CDATA[
<p>Article URL: <a href="https://www.youtube.com/playlist?list=PL3A50BB9C34AB36B3">https://www.youtube.com/playlist?list=PL3A50BB9C34AB36B3</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=46688257">https://news.ycombinator.com/item?id=46688257</a></p>
<p>Points: 1</p>
<p># Comments: 1</p>
]]></description><pubDate>Tue, 20 Jan 2026 05:33:08 +0000</pubDate><link>https://www.youtube.com/playlist?list=PL3A50BB9C34AB36B3</link><dc:creator>xelxebar</dc:creator><comments>https://news.ycombinator.com/item?id=46688257</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46688257</guid></item><item><title><![CDATA[New comment by xelxebar in "Harvard legal scholars debate the state of the U.S. constitution (2025)"]]></title><description><![CDATA[
<p>> This is by design. ... The federal government was never intended to lord over everyone's lives.<p>So behavior of the system fails to meet its design goals? It honestly sounds like you kind of agree with the excerpt you quote.<p>> The expansion of the federal government ... [is] what needs to change<p>What are you proposing though? Even assuming the premise here, achieving said goals requires changes to lots of little details and incentives. It's not like there's a single potentiometer controlling Gov't Size™. So what are you actually suggesting?<p>Certainly, the details of fundamental electoral structure engage deeply with the operation of our government, and the legal scholars in the article seem to be honestly pointing out levers (and big ones at that) we could possibly pull to create a less expansive federal government, or whatever the goal may be.<p>Imagine a plane crashes and analysts start attempting a root cause analysis, discussing control system specifics and whatnot. To me, your stance reads like "This is by design. Plane parts are united but independent. Control systems were never intended to lord over every part of the plane. The expansion of control systems is what needs to change."<p>I mean... maybe? But even if we agree on that point, <i>any random contraction</i> of the control system seems unlikely to make a plane that flies better. We have to actually engage with the details of what's going on here.</p>
]]></description><pubDate>Tue, 20 Jan 2026 05:19:50 +0000</pubDate><link>https://news.ycombinator.com/item?id=46688190</link><dc:creator>xelxebar</dc:creator><comments>https://news.ycombinator.com/item?id=46688190</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46688190</guid></item><item><title><![CDATA[New comment by xelxebar in "What is Plan 9?"]]></title><description><![CDATA[
<p>Thanks for the improvements! Two small quality of life fixes over the original that I particularly appreciate:<p><pre><code>  - Window resize works as expected,
  - Doesn't lose input focus on resize or move, and
  - *Dyamic* scaling.
</code></pre>
That last one has been really nice when screen sharing with colleagues.</p>
]]></description><pubDate>Mon, 19 Jan 2026 03:36:28 +0000</pubDate><link>https://news.ycombinator.com/item?id=46674775</link><dc:creator>xelxebar</dc:creator><comments>https://news.ycombinator.com/item?id=46674775</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46674775</guid></item><item><title><![CDATA[New comment by xelxebar in "My Gripes with Prolog"]]></title><description><![CDATA[
<p>Here's a nicely-designed tiling window manager, implemented in SWI-Prolog:<p><a href="https://github.com/Seeker04/plwm" rel="nofollow">https://github.com/Seeker04/plwm</a><p>It actually has quite good UX affordances. More than that, however, I find the code imminently hackable, even as someone with very little Prolog experience. Reading through the plwm code really demystified the apparent gap between toy and practical Prolog for me. Heck, even the SWI-Prolog codbase itself is quite approachable!<p>I'm also mildly surprised at some of OG's gripes. A while back, I ran through Triska's The Power of Prolog[0], which crisply grounds Prolog's mental model and introduces standard conventions. In particular, it covers desugaring syntax into normal predicates, e.g. -/2 as pairs, [,]/2 as special syntax for ./2 cons cells, etc. Apparently, I just serendipitously stumbled into good pedagogical resources!<p>I'd be interested in ways that people utilize logical programming concepts and techniques into non-LP languages.<p>[0]:<a href="https://www.metalevel.at/prolog" rel="nofollow">https://www.metalevel.at/prolog</a></p>
]]></description><pubDate>Fri, 16 Jan 2026 03:39:11 +0000</pubDate><link>https://news.ycombinator.com/item?id=46642720</link><dc:creator>xelxebar</dc:creator><comments>https://news.ycombinator.com/item?id=46642720</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46642720</guid></item><item><title><![CDATA[New comment by xelxebar in "You need a kitchen slide rule"]]></title><description><![CDATA[
<p>The Slide Rule Museum tickles hard some 2000's web nostalgia:<p><a href="https://sliderulemuseum.com/" rel="nofollow">https://sliderulemuseum.com/</a><p>Last year I picked up a bamboo Hemi and worked through the (70yo!) workbook. The trigonometric scales are cool. Making a single slide to find all the sides of a triangle is surprisingly satisfying. It got me to realize that, sliderules with the right scales can solve the roots of any 3-variable equation. I guess this is why there was a proliferation of industry-specific sliderules back in the day.<p>More generally, aren't simple, well-engineered analog tools so satisfying?</p>
]]></description><pubDate>Thu, 15 Jan 2026 04:19:14 +0000</pubDate><link>https://news.ycombinator.com/item?id=46627969</link><dc:creator>xelxebar</dc:creator><comments>https://news.ycombinator.com/item?id=46627969</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46627969</guid></item><item><title><![CDATA[New comment by xelxebar in "Text-based web browsers"]]></title><description><![CDATA[
<p>One of my favorite pieces of software is edbrowse[0]. Perhaps surprisingly, I find it quite useful:<p><pre><code>  - Main developer is blind, so accessibility has priority;
  - Easily scriptable; think automating captive portal clickthroughs;
  - Reading articles (e.g. Wikipedia) feels closer to reading a book;
  - It even supports JavaScript to a degree!
  - The affordances of line-oriented editing carry over nicely.
</code></pre>
In particular, when using line-oriented interfaces, it's quite natural to build up a small collection of context-dependent snippets from documentation, source code, sample code, whatever. Putting a small collage of these on the screen is effortless and an experience I do miss with other UI paradigms.<p>The main developer appears to tinker on the project daily and is quite nice to chat with over on libera's #edbrowse. The project does have a small, dedicated following, but I wish more people knew about it!<p>[0]:<a href="https://github.com/edbrowse/edbrowse" rel="nofollow">https://github.com/edbrowse/edbrowse</a></p>
]]></description><pubDate>Tue, 13 Jan 2026 06:59:18 +0000</pubDate><link>https://news.ycombinator.com/item?id=46598028</link><dc:creator>xelxebar</dc:creator><comments>https://news.ycombinator.com/item?id=46598028</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46598028</guid></item><item><title><![CDATA[New comment by xelxebar in "The PGP problem (2019)"]]></title><description><![CDATA[
<p>Recently, this opinionated list of PGP alternatives went around:<p><a href="https://soatok.blog/2024/11/15/what-to-use-instead-of-pgp/" rel="nofollow">https://soatok.blog/2024/11/15/what-to-use-instead-of-pgp/</a><p>One use case I've not seen covered is sending blobs asynchronously with forward secrecy. Wormhole requires synchronously communicating the password somehow, and Signal requires reasonable buy-in by the recipient.<p>Basically, I'd like to just email sensitive banking and customer data in an encrypted attachment without needing to trust that the recipient will never accidentally leak their encryption key.</p>
]]></description><pubDate>Sun, 04 Jan 2026 12:08:12 +0000</pubDate><link>https://news.ycombinator.com/item?id=46487207</link><dc:creator>xelxebar</dc:creator><comments>https://news.ycombinator.com/item?id=46487207</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46487207</guid></item><item><title><![CDATA[New comment by xelxebar in "Nabokov's guide to foreigners learning Russian"]]></title><description><![CDATA[
<p>> What do you mean Mandarin is simpler in this regard?<p>Just to add context to a sibling comment, Japan's first "writing system" was literally just Chinese.<p>I don't mean Chinese characters, I mean that if you wanted to write something down, you had to communicate in written Chinese. Over time this written Chinese accumulated more and more transformations bringing it in alignment with spoken Japanese until we get what we see today. However, this means that, to a first approximation, modern Japanese is some amalgamation of Old Chinese and Middle Japanese.<p>Actually, use of Chinese co-existed alongside the whole transformation process, so we actually see this funky mix of Early and Middle Japanese with Wu, Han, and Song Chinese. Character readings varied by region and time period, and so the the reading of a compound kanji term in Japanese mostly reflects the time period when that word was imported. This is why a single kanji ends up having multiple readings. Later, people began backporting individual characters onto native Japanese words, giving yet another reading.<p>The character 行 is a particularly illustrative example: 行脚 (an-gya), 行動 (kou-dou), 行事 (gyo-ji). The first reading "an" comes from 7th century Chinsese or so, "kou" comes a bit later from the Han dynasty, and "gyo" even later from Song. Then we have the backports: 行く末 (yu-ku-sue), 行く (i-ku), 行う (okona-u). The first "yu" reading is from Middle Japanese, "i" from Modern Japanese, and "okona" from I have no clue when. That's six different readings for 行 alone!<p>Oh, and then there are "poetic" readings that are specific to usage in people's names: 弘行 (hiro-yuki) <i>etc.</i> Granted, these are often quite evocative of the above readings or that of synonym characters.<p>The historical introduction process also explains why older readings tend to be more obscure, 1) they had less time to accumulate usage, and 2) they tend to be specific to Buddhist and administrative themes.<p><i>Note</i>: The above is just what I've pieced together osmotically over the years, so I'm sure there are errors.</p>
]]></description><pubDate>Wed, 24 Dec 2025 12:56:35 +0000</pubDate><link>https://news.ycombinator.com/item?id=46375180</link><dc:creator>xelxebar</dc:creator><comments>https://news.ycombinator.com/item?id=46375180</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46375180</guid></item><item><title><![CDATA[New comment by xelxebar in "An attempt to articulate Forth's practical strengths and eternal usefulness"]]></title><description><![CDATA[
<p>Oh, cool! SmithForth[0] is how I originally learned about x86-64 microarchitecture. It's a Forth that bootstraps off hand-coded x86-64 opcodes. I decided to go the other direction and decompile the binary by hand. It really is a beautiful piece of code. Highly recommended reading.<p>Also, you're excited by Forth and Lisp, you might like Forsp[1]. It uses a call-by-push-value evaluation strategy in a way that really makes the language feel like a true hybrid of the two. The implementation is also brilliantly simple.<p>Anyway, thank you for the article. I lurk on the DuskOS mailing list and wish I could find out where the Forthers gather IRL so I could osmote more of their world into my own.<p>[0]:<a href="https://dacvs.neocities.org/SF/" rel="nofollow">https://dacvs.neocities.org/SF/</a><p>[1]:<a href="https://xorvoid.com/forsp.html" rel="nofollow">https://xorvoid.com/forsp.html</a></p>
]]></description><pubDate>Mon, 15 Dec 2025 04:36:23 +0000</pubDate><link>https://news.ycombinator.com/item?id=46270547</link><dc:creator>xelxebar</dc:creator><comments>https://news.ycombinator.com/item?id=46270547</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46270547</guid></item><item><title><![CDATA[New comment by xelxebar in "An Implementation of J (1992)"]]></title><description><![CDATA[
<p>> I'm not entirely convinced it actually helped me as a "tool of thought"<p>This is so real. I had the same issue and was only able to break through by collabing with professional APLers. It's very non-ideal for the curious autodidacts.<p>I'd love to share, hone, and flesh out what the Tool of Thought looks like in practice with interested others. For anyone here to whom that sounds fun, feel free to reach out. Contact info is in my profile.</p>
]]></description><pubDate>Sun, 14 Dec 2025 08:29:57 +0000</pubDate><link>https://news.ycombinator.com/item?id=46261640</link><dc:creator>xelxebar</dc:creator><comments>https://news.ycombinator.com/item?id=46261640</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46261640</guid></item><item><title><![CDATA[New comment by xelxebar in "Array-programming the Mandelbrot set"]]></title><description><![CDATA[
<p>My YAML loader[0] is a condensed example of the architecture and techniques I'm thinking of. It's a couple years old, so the code is dirty by my current standards, but the couple of times I've gone back to read it, I have found the YAML-specific concerns to be quite salient.<p>That said, it's specifically written for an audience that is familiar with YAML detail in particular, parsing more generally, and of course APL expressions of ideas. In fact, that is a big part of what makes the code readable and maintainable: it is optimized for communicating to the expert worker not for on-boarding new developers. The latter is more appropriately handled via other means IMHO.<p>The poster child for this style of APL is Co-dfns[0]. It's a production APL compiler and a much larger example of the code I'm talking about. The entrypoint to read is cmp/PS.apl.<p>If you're interested, I'm willing to have a chat and talk more about what makes this kind of APL imminently workable, in which case there are also some personal private examples I could share as well. Feel free to reach out to the contact info on my profile here.<p>[0]:<a href="https://github.com/xelxebar/dayaml/blob/master/Y.apln" rel="nofollow">https://github.com/xelxebar/dayaml/blob/master/Y.apln</a>.<p>[1]:<a href="https://github.com/Co-dfns/Co-dfns" rel="nofollow">https://github.com/Co-dfns/Co-dfns</a></p>
]]></description><pubDate>Mon, 17 Nov 2025 03:02:38 +0000</pubDate><link>https://news.ycombinator.com/item?id=45950519</link><dc:creator>xelxebar</dc:creator><comments>https://news.ycombinator.com/item?id=45950519</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45950519</guid></item><item><title><![CDATA[New comment by xelxebar in "Array-programming the Mandelbrot set"]]></title><description><![CDATA[
<p>The author is clearly a novice who has just tinkered with array languages a little. Extrapolating from that to absolute properties of a tool seem a bit overeager, don't you think? For example, do you think you could design a legible analog circuit without significant time learning the craft?<p>My experience is with APL, but I think it is capable of producing some of the most readable and maintainable codebases out there. I've worked for years in various projects using Python, Java, C, Scheme, and a smattering of many other languages. However, it's really hard to overstate the clarity that comes from data-oriented design and dogged elimination of API boundaries.<p>It just takes a long time to learn to write good software in good APL style. In many ways all the in vogue best practices these days around declarative and functional programming tend to work antithetically to writing good array code. This means that the learning curve for experienced programmers is, perhaps paradoxically, higher than that of a totally naive beginning coder.<p>I really wish I knew some way to directly convey the experience of working with APL at a high level. There's really nothing else much like it.</p>
]]></description><pubDate>Thu, 13 Nov 2025 03:41:06 +0000</pubDate><link>https://news.ycombinator.com/item?id=45910319</link><dc:creator>xelxebar</dc:creator><comments>https://news.ycombinator.com/item?id=45910319</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45910319</guid></item><item><title><![CDATA[New comment by xelxebar in "Learning to read Arthur Whitney's C to become smart (2024)"]]></title><description><![CDATA[
<p>> The way to understand Arthur Whitney's C code is to first learn APL<p>This is the main insight in my breakdown of the J Incunabulum:<p><a href="https://blog.wilsonb.com/posts/2025-06-06-readable-code-is-unreadable.html" rel="nofollow">https://blog.wilsonb.com/posts/2025-06-06-readable-code-is-u...</a><p>When I first encountered it years ago, the thing was impenetrable, but after learning APL to a high level, it now reads like a simple, direct expression of intent. The code even clearly communicates design tradeoffs and the intended focus of experimentation. Or more on the nose, to me the code ends up feeling <i>primarily</i> like extremely readable communication of ideas between like-minded humans. This is a very rare thing in software development in my experience.<p>IMHO, ideas around "readable code" and "good practices" in software development these days optimize for large, high-turnover teams working on large codebases. Statistically speaking, network effects mean that these are the codebasese and developer experiences we are most likely to hear about. However, as an industry, I think we are relatively blind to alternatives. We don't have sufficient shared language and cognitive tooling to understand how to optimize software dev for small, expert teams.</p>
]]></description><pubDate>Tue, 04 Nov 2025 06:37:41 +0000</pubDate><link>https://news.ycombinator.com/item?id=45808013</link><dc:creator>xelxebar</dc:creator><comments>https://news.ycombinator.com/item?id=45808013</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45808013</guid></item><item><title><![CDATA[New comment by xelxebar in "Bcachefs Goes to "Externally Maintained""]]></title><description><![CDATA[
<p>I've used btrfs for 5-ish years in the most mundane, default setup possible. However, in that time, I've had three instances of corruption across three different drives, all resulting in complete loss of the filesystem. Two of these were simply due to hard power failures, and another due to a flaky cpu.<p>AFAIU, btrfs effectively absolves itself of responsibility in these cases, claiming the issue is buggy drive firmware.</p>
]]></description><pubDate>Mon, 01 Sep 2025 05:32:50 +0000</pubDate><link>https://news.ycombinator.com/item?id=45089747</link><dc:creator>xelxebar</dc:creator><comments>https://news.ycombinator.com/item?id=45089747</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45089747</guid></item><item><title><![CDATA[New comment by xelxebar in "My phone is an ereader now"]]></title><description><![CDATA[
<p>You might be interested in this:<p><a href="https://www.crowdsupply.com/modos-tech/modos-paper-monitor" rel="nofollow">https://www.crowdsupply.com/modos-tech/modos-paper-monitor</a><p>It's just a dev kit run, but I've got high hopes for the whole Modos project.</p>
]]></description><pubDate>Sun, 31 Aug 2025 08:28:59 +0000</pubDate><link>https://news.ycombinator.com/item?id=45081485</link><dc:creator>xelxebar</dc:creator><comments>https://news.ycombinator.com/item?id=45081485</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45081485</guid></item></channel></rss>