<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: 2colours</title><link>https://news.ycombinator.com/user?id=2colours</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Fri, 15 May 2026 18:02:55 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=2colours" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by 2colours in "Zig → Rust porting guide"]]></title><description><![CDATA[
<p>I think the question still deserves a proper answer.</p>
]]></description><pubDate>Tue, 05 May 2026 09:21:50 +0000</pubDate><link>https://news.ycombinator.com/item?id=48020004</link><dc:creator>2colours</dc:creator><comments>https://news.ycombinator.com/item?id=48020004</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48020004</guid></item><item><title><![CDATA[New comment by 2colours in "Wayland set the Linux Desktop back by 10 years?"]]></title><description><![CDATA[
<p>This is indeed not at all about his code. I don't care what he thinks of vaccines and COVID - I just as much don't care what Linus Torvalds thinks about these things. They are damn programmers. Their business is to ship reliable, usable, secure software.</p>
]]></description><pubDate>Wed, 25 Mar 2026 15:14:12 +0000</pubDate><link>https://news.ycombinator.com/item?id=47518471</link><dc:creator>2colours</dc:creator><comments>https://news.ycombinator.com/item?id=47518471</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47518471</guid></item><item><title><![CDATA[New comment by 2colours in "Is this "the Raku community" in 2026?"]]></title><description><![CDATA[
<p>I got permanently banned from the Raku community rather silently. What happened, what is the common history, and honestly, what is the path forward for those who stay.<p>This post is mostly meant to reach out to the community itself from this exiled state - therefore generic Raku banter isn't very welcome, and neither are further invalidation attempts from the people personally involved in my ban: they have had plenty of representation and there is no reason to assume we can have a meaningful discourse.</p>
]]></description><pubDate>Tue, 17 Mar 2026 06:08:13 +0000</pubDate><link>https://news.ycombinator.com/item?id=47409203</link><dc:creator>2colours</dc:creator><comments>https://news.ycombinator.com/item?id=47409203</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47409203</guid></item><item><title><![CDATA[Is this "the Raku community" in 2026?]]></title><description><![CDATA[
<p>Article URL: <a href="https://gist.github.com/2colours/5262cb60987a4a13760b04c1d7cd234b">https://gist.github.com/2colours/5262cb60987a4a13760b04c1d7cd234b</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=47409202">https://news.ycombinator.com/item?id=47409202</a></p>
<p>Points: 3</p>
<p># Comments: 1</p>
]]></description><pubDate>Tue, 17 Mar 2026 06:08:13 +0000</pubDate><link>https://gist.github.com/2colours/5262cb60987a4a13760b04c1d7cd234b</link><dc:creator>2colours</dc:creator><comments>https://news.ycombinator.com/item?id=47409202</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47409202</guid></item><item><title><![CDATA[New comment by 2colours in "Functional programming and reliability: ADTs, safety, critical infrastructure"]]></title><description><![CDATA[
<p>It's a bit ironic that now we went down the static rabbit hole so much that we don't realize it's more the opposite: by adding more to your language and compiler to enforce static checks, you turn the compiler itself more and more into a runtime that you are just going to run ahead of time, according to a potentially vastly different set of rules compared to your real runtime. There is no reason why you couldn't do something like this by will but it's just not worth it after a certain point clearly.</p>
]]></description><pubDate>Sat, 03 Jan 2026 11:30:06 +0000</pubDate><link>https://news.ycombinator.com/item?id=46475401</link><dc:creator>2colours</dc:creator><comments>https://news.ycombinator.com/item?id=46475401</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46475401</guid></item><item><title><![CDATA[New comment by 2colours in "Cognition: A new antisyntax language redefining metaprogramming"]]></title><description><![CDATA[
<p>I wonder where you got that impression from. For me as well, it's rather the overboard lecturing response that seemed like an invocation of "Trevors axiom".<p>By the way, what even defines "simply a blog post"? That's just a media format that doesn't say much about the content itself, does it? I do agree with the sentiment that it would have been good to know what the article is even going to be. Not even the paragraphs were very helpful in this regard. It does improve the reception of an article if it meets the intended audience.<p>In retrospect, this article is mostly about a basic compiler frontend language and how to bootstrap that into a fully-featured concatenative programming language. Which to me personally is a "hm, okay, interesting" kind of thing but I didn't read the article for this premise. I read it for the "new antisyntax language" and feel it was clickbaitish.</p>
]]></description><pubDate>Mon, 06 May 2024 22:33:50 +0000</pubDate><link>https://news.ycombinator.com/item?id=40280272</link><dc:creator>2colours</dc:creator><comments>https://news.ycombinator.com/item?id=40280272</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40280272</guid></item><item><title><![CDATA[New comment by 2colours in "App::Rak – 21st century grep / find / ack / ag / rg on steroids"]]></title><description><![CDATA[
<p>Some diversity doesn't hurt, though. On my keyboard, it's actually easier to type than the backslash for starters.</p>
]]></description><pubDate>Thu, 02 Nov 2023 12:38:10 +0000</pubDate><link>https://news.ycombinator.com/item?id=38112673</link><dc:creator>2colours</dc:creator><comments>https://news.ycombinator.com/item?id=38112673</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=38112673</guid></item><item><title><![CDATA[New comment by 2colours in "App::Rak – 21st century grep / find / ack / ag / rg on steroids"]]></title><description><![CDATA[
<p>Maybe a fast way but is it a fair or even helpful way, if you recognize that it "quickly became a bad name for the project"?</p>
]]></description><pubDate>Thu, 02 Nov 2023 12:25:45 +0000</pubDate><link>https://news.ycombinator.com/item?id=38112537</link><dc:creator>2colours</dc:creator><comments>https://news.ycombinator.com/item?id=38112537</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=38112537</guid></item><item><title><![CDATA[New comment by 2colours in "Ask HN: Why did Python win?"]]></title><description><![CDATA[
<p>So following your logic, "some of the worst" includes the vast majority of actually used languages and tools. Must be cool to be on the special side. :)</p>
]]></description><pubDate>Mon, 04 Sep 2023 17:41:36 +0000</pubDate><link>https://news.ycombinator.com/item?id=37382910</link><dc:creator>2colours</dc:creator><comments>https://news.ycombinator.com/item?id=37382910</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=37382910</guid></item><item><title><![CDATA[New comment by 2colours in "Ask HN: Why did Python win?"]]></title><description><![CDATA[
<p>Taking a look at the bigger picture, it does indeed seem like the Perl philosophy lost to the Python philosophy overall.<p>Looking at the hip n cool languages, not just Python for scripting but surely Go and to some extent Rust as well for native stuff (Dart for scripting also but it didn't outright "win"), these are mostly languages that deliberately simplified things. Yes, even Rust - it needs to be compared to C++ and its biggest feature is basically that it doesn't let you do all the things C++ does, within a very similar model.<p>The only language that I heard is going against these trends (but I'm largely clueless what it's actually like) is Julia which sort of has its own "lay" niche like Perl did back in the day, and is mostly winning based on the premise that it's a performant scientific language.<p>The industry obsesses over costs of adoption, stability, maintenance; in short: how to get the most out of the least actual new development. It does make quite a lot of sense, to be honest, although sometimes it's really demotivating at an individual level.<p>And frankly, "learn the language, duh" usually comes up when the language is complex or unintuitive for no practical purpose. Of course there will be people who always complain if they have to learn anything but I don't think they make the majority, or even a significant minority, in the software engineering world. "Learning the language" is only as much of a virtue as the language itself serves its purpose, which includes easy of use and the readability of someone else's code.</p>
]]></description><pubDate>Mon, 04 Sep 2023 17:38:22 +0000</pubDate><link>https://news.ycombinator.com/item?id=37382864</link><dc:creator>2colours</dc:creator><comments>https://news.ycombinator.com/item?id=37382864</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=37382864</guid></item><item><title><![CDATA[New comment by 2colours in "Raku: A language for gremlins"]]></title><description><![CDATA[
<p>The problem isn't whether the conclusions you draw are favorable or not, it's that they are not legitimate. It's getting tiresome that I have to repeat it: I'm not at all arguing either in favor of Perl, or against the "write-only" narrative that imo applies to other languages as well, including C++, Scala, Common Lisp, Ruby and whatnot, and I quite clearly know what it means when somebody says Raku is a "write-only" language. Newsflash: it's not about visual appeals, it's about mental portability across people.<p>> You do realize, I hope, that saying stuff like this doesn't really make the "write-only language" cavil that's dogged Perl throughout its history seem any less fair...<p>Surprising, right? I frankly cannot parse that sentence but yes, by now I really hope it's clear that I'm not arguing with the "write-only" narrative. I'm arguing that there is a world of things where software doesn't have to be about sticking to the same monolithic code base for decades and pass it around across dozens of people. That there is a world where it is indeed more important to write code than to read it.<p>> And once again I am saying you have failed as yet to convince me those possibilities might offer productive benefit, especially when I have yet to see the theoretical advantage of language flexibility in microservices materialize in practice.<p>I hope I suceeded in convincing you about factual things about signatures, reflection and the existence of accumulation. I don't have research studies about the productivity of various programming languages in a microservice-based architecture; if you have something like that, I will be happy to read it.<p>> Instead you seem to plead language flexibility in microservices more or less as an excuse, on the idea that niche languages for which knowledgeable engineers are rare as hen's teeth face no barrier here because, after all, you can always throw the code away and write more. And that is not convincing<p>This is not convincing because it's a strawman. Let's throw the "niche language" part away and let's replace "after all, you can always throw the code away and write more" (which <i>is</i> true but indeed no argument) with "a small, single-purpose, well-tested tool of any sort is best replaced when that single purpose wears out". Which is what <i>I</i> stated. And it makes sense, given that it was designed and tested around one single purpose. Maintenance is not a virtue but a common technical necessity. If you don't know when to let go of software, then ironically enough, you might as well have been exposed to too much Perl.<p>Anyway, considering the topics you did <i>not</i> respond to, one can deduce what points I did nail. Also, it seems we are getting away from the insult motive, that way it may be more useful for somebody who just reads.</p>
]]></description><pubDate>Thu, 10 Aug 2023 19:46:12 +0000</pubDate><link>https://news.ycombinator.com/item?id=37080820</link><dc:creator>2colours</dc:creator><comments>https://news.ycombinator.com/item?id=37080820</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=37080820</guid></item><item><title><![CDATA[New comment by 2colours in "Raku: A language for gremlins"]]></title><description><![CDATA[
<p>> Lists are given to the reader in angle brackets and printed in parentheses, or at least that's how it looks. I suppose the other possibility is that these are actually different types, but I'm not sure that's better.<p>About that, huh? It was the author's preference to write <foo bar baz> (syntax sugar) instead of ('foo', 'bar', 'baz'). The REPL uses a simple stringification method for the feedback it gives by default. I wouldn't think too hard about it.<p>> "Produce" is a term I've never seen used this way before, and I assume it is unique to Raku. It appears to be a special case of reduction, not at all common in my experience, but presumably very common where Raku is used.<p>The point stands: the author of the post did know what it is for (and called it "accumulation"). You didn't know it and mistook it for a map even with the given output. I don't know if this is all Raku's fault but in your place I would be more humble to jump from a faulty assumption to the next assumption...<p>> That I half expected something in this nature is what had me in two minds over whether to reply to your prior comment at all. I suppose I'm glad there's not more of it, but really, this kind of attitude adds nothing to the discussion, and it certainly doesn't help make anyone's case that Raku has a community worth trying to be part of.<p>Likewise: I half expected that somebody, instead of appreciating good features, will outright label them as a reason why the language is bizarre. Indeed, it is a desperate situation and I don't think there could be any way to win over somebody with prejudices this strong. Nor am I certain if "worse is better" is a good paradigm to act upon.<p>> you repay generosity with insult<p>>  If an honestly bewildered "what?" is something you can't help taking personally<p>I must be clueless about people really. I gave you `an honestly bewildered "what"`, according to your own words, and that's now labelled as an insult. Frankly, it's not the greatest pleasure to try to reason with somebody who throws around judgements like that.<p>> Function signatures, as opposed to functions, being first-class runtime values is objectively weird<p>I mean, how is one supposed to argue declarations like this?<p>> Deriving one signature from another at compile time via reflection<p>Reflection is rarely ever a compile time feature. It obviously isn't a compile time feature in dynamic languages but neither is it compile time in VM-native languages like Java or C#. It's the metamodel the VM's provide and means to access that.<p>> But the idea that a function's signature in isolation has meaning enough to treat as a runtime value in its own right is something I don't recall ever having seen in close to forty years of programming across a widely varied range of languages.<p>Arguably, having arguments go into a hash/array in a function, and the other way around: passing individual arguments through hashes/arrays, should qualify: something that has been a part of Python for eternity, and was added to ES2015.<p>This is mainstream enough but if you are not satisfied, let's roll back to reflection: <a href="https://learn.microsoft.com/en-us/dotnet/api/system.reflection.methodbase.getparameters?view=net-7.0" rel="nofollow noreferrer">https://learn.microsoft.com/en-us/dotnet/api/system.reflecti...</a> <a href="https://docs.python.org/3/library/inspect.html#introspecting-callables-with-the-signature-object" rel="nofollow noreferrer">https://docs.python.org/3/library/inspect.html#introspecting...</a><p>Objectively weird?<p>> I'm not sure it can either, but you would do well to consider that the confusion you describe may have occurred because Raku is legitimately confusing.<p>My point is that Raku may be legitimately confusing and you may be illegitimately confused. The two things don't contradict. I don't need to be convinced about the former. I was curious about the impression and conclusions this particular article has led to. I'm disappointed to see that the reactions apparently aren't even based on the article. I'm not sure that the Raku community could even change the language enough to break down the prejudices.<p>> I would've been laughed out of the room for suggesting any of them should be implemented in Raku<p>Again, that's least about being a "write-only language". Of course there are technical merits.<p>> Decomposing an architecture into services doesn't mean those services do not themselves need to be maintainable under the constraints I earlier described, including if both of your "couple of people tightly co-operating" die in the same plane crash<p>If the granularity of your system is small enough for any of this to make sense, then YES, it does mean that. The purpose of microservices is also testability, stability and replacability. The fact that you do not need to keep tinkering the same piece of code after years, because it already does that one thing it was created for, and when the change in requirements makes it unsuited, by all means throw it away and make a new, fitting component. The whole point is that not all software development has to be about reading code more than writing it, and maintaining the same heap of code for eternity. The bus factor also cannot be constantly increased by merely making more people do everything. Once again, I'm not saying that I hold the absolute truth, I am saying, however, that you are neglecting a lot of possibilities.<p>> I don't know why you would want Raku to "catch up", since a Raku capable of doing this would long since have ceased to be a Raku that an obvious partisan such as yourself would recognize or appreciate<p>Okay, so we have reached there just a couple of paragraphs after you talking about insults. If I knew you would be firing hot takes with a gatling, I wouldn't have asked you in the first place. At this point it's really just a counter-attempt of survivor bias on my side, so that your hot takes don't go unreflected. This particular one will, though.</p>
]]></description><pubDate>Thu, 10 Aug 2023 12:37:23 +0000</pubDate><link>https://news.ycombinator.com/item?id=37075419</link><dc:creator>2colours</dc:creator><comments>https://news.ycombinator.com/item?id=37075419</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=37075419</guid></item><item><title><![CDATA[New comment by 2colours in "Raku: A language for gremlins"]]></title><description><![CDATA[
<p>> The apparent variance between list syntax accepted by the reader and emitted by the printer<p>Could you provide an actual example for this? I suspect this is a simple misunderstanding.<p>> 'o' for function composition? Square brackets to reduce over an operator? Square brackets with a backslash to map?<p>I never used 'o' myself but YES, square brackets to reduce over an operator. Indeed, I see nothing wrong with that (okay, I actually do but not with the principle, rather the parsing). And "square brackets with a backslash" is NOT a map, it's a produce. The blog post got it right.<p>> function signatures as first-class values (...what?)<p>Okay, now give me a break... this... is a "what"? Are you real now? A perfectly sensible and useful feature, a "what"? To be able to investigate function signatures and pass them around appropriately without constant hacking, is that bizarre? I guess airplanes are also bizarre to some...<p>So yes, I think what you present here might be the other extreme: rendering anything that might be slightly clever as "weird" or "complicated", even if it clearly reduces the custom tinkering each individual developer would have to do...<p>The situation is a bit touchy because I think your characterization of the Perl mindset living on in Raku as well (C++ is a similar language in a way) is legitimate but it seems to be based on "fortunate" prejudices and stereotypes rather than a good understanding of the situation. You haven't seen the bad parts yet and you apparently called some of the good parts bad. Not sure if it can be helped. I don't think the language will be cleared up anyway but I also wouldn't want to go as "unclever" as you seem to find desirable. Languages like Python and Rust can thrive despite not being completely dumb. Opinionated yes, dumb no.<p>Also, I have been thinking that maybe the way to find industrial use for Raku (or this broader mindset overall) is to outright reject this framing that all projects need to be monolithic. Yes, you may be right that Raku will never be a language where dozens of people work on millions of lines of code together, for decades. What if your services can be broken down into pieces that CAN be managed by a couple of people tightly co-operating? What if these services can be developed and deployed so efficiently that instead of maintaining them for eternity, you can just start anew and replace them cheaply?<p>There is the common wisdom "what one person can't fully comprehend, definitely contains flaws". There is some truth to it for sure, and it does seem like with the rise of microservices, there would be place for software developed in a much more distributed manner. Now, there are practical reasons why Raku didn't catch up, at least not yet - but they are absolutely not language philosophy reasons.</p>
]]></description><pubDate>Wed, 09 Aug 2023 13:52:23 +0000</pubDate><link>https://news.ycombinator.com/item?id=37062646</link><dc:creator>2colours</dc:creator><comments>https://news.ycombinator.com/item?id=37062646</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=37062646</guid></item><item><title><![CDATA[New comment by 2colours in "Raku: A language for gremlins"]]></title><description><![CDATA[
<p>It would be invaluable feedback if you could point out what you find so bizarre? I mean, the "let's define some ad-hoc postcircumfix operator" is a weird flex for sure but otherwise? I could only see basic non-magic subroutine definitions and appropriately used operators.</p>
]]></description><pubDate>Wed, 09 Aug 2023 09:50:39 +0000</pubDate><link>https://news.ycombinator.com/item?id=37060504</link><dc:creator>2colours</dc:creator><comments>https://news.ycombinator.com/item?id=37060504</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=37060504</guid></item><item><title><![CDATA[New comment by 2colours in "Raku: A language for gremlins"]]></title><description><![CDATA[
<p>I don't know, this is "second-hand intel" for me, pretty sure I read it in a very old article from someone of the likes of Carl Mäsak, Moritz Lenz or another early-day Rakudo contributor...</p>
]]></description><pubDate>Wed, 09 Aug 2023 09:48:22 +0000</pubDate><link>https://news.ycombinator.com/item?id=37060490</link><dc:creator>2colours</dc:creator><comments>https://news.ycombinator.com/item?id=37060490</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=37060490</guid></item><item><title><![CDATA[New comment by 2colours in "Raku: A language for gremlins"]]></title><description><![CDATA[
<p>Jonathan Worthington has been much going on and off in the recent years. He still had one big optimization project that got completed in 2021 - the new dispatch mechanism - but I don't know about the benchmarks and I doubt it would help with the shear throughput of basic data processing.</p>
]]></description><pubDate>Wed, 09 Aug 2023 09:37:55 +0000</pubDate><link>https://news.ycombinator.com/item?id=37060436</link><dc:creator>2colours</dc:creator><comments>https://news.ycombinator.com/item?id=37060436</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=37060436</guid></item><item><title><![CDATA[New comment by 2colours in "Raku: A language for gremlins"]]></title><description><![CDATA[
<p>From what I heard, it half inspired Moose actually.</p>
]]></description><pubDate>Tue, 08 Aug 2023 22:23:12 +0000</pubDate><link>https://news.ycombinator.com/item?id=37056274</link><dc:creator>2colours</dc:creator><comments>https://news.ycombinator.com/item?id=37056274</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=37056274</guid></item><item><title><![CDATA[New comment by 2colours in "Raku: A language for gremlins"]]></title><description><![CDATA[
<p>Have to agree with this one, and also, there is something that I think is easy to forget until you actually face code that has been worked on by dozens of people of completely random backgrounds, over decades: <i>your wisdom</i> doesn't necessarily coincide with <i>someone else's wisdom</i>. Context switching across people - and especially people who barely have anything in common - can be really troublesome. You have to know everything that somebody else you work with has ever used.</p>
]]></description><pubDate>Tue, 08 Aug 2023 22:21:44 +0000</pubDate><link>https://news.ycombinator.com/item?id=37056263</link><dc:creator>2colours</dc:creator><comments>https://news.ycombinator.com/item?id=37056263</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=37056263</guid></item><item><title><![CDATA[New comment by 2colours in "Raku: A language for gremlins"]]></title><description><![CDATA[
<p>Yes, and those claims might have even been real (also, Perl still lags behind on Unicode stuff, or so I heard?)... the thing we like much less to talk about is that there just needs to be somebody to make those optimizations happen. Work on the actual bytecode VMs (or rather just MoarVM at this point) has been desperately lacking.</p>
]]></description><pubDate>Tue, 08 Aug 2023 22:16:17 +0000</pubDate><link>https://news.ycombinator.com/item?id=37056204</link><dc:creator>2colours</dc:creator><comments>https://news.ycombinator.com/item?id=37056204</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=37056204</guid></item><item><title><![CDATA[New comment by 2colours in "Raku: A language for gremlins"]]></title><description><![CDATA[
<p>I guess that all depends on what you consider bizarre parts. You of all people must have your own weird reason to say this out of the blue, though.</p>
]]></description><pubDate>Tue, 08 Aug 2023 22:10:23 +0000</pubDate><link>https://news.ycombinator.com/item?id=37056122</link><dc:creator>2colours</dc:creator><comments>https://news.ycombinator.com/item?id=37056122</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=37056122</guid></item></channel></rss>