00:18 kjp left 00:33 kjp joined 00:39 iwuvmika joined 00:42 kjp left 00:58 kjp joined 01:51 hulk joined 01:52 kylese left 01:59 iwuvmika left 02:02 Sgeo left 02:07 Sgeo joined 02:08 iwuvmika joined 02:15 hulk left, kylese joined 04:18 constxd left 04:25 vrurg_ joined 04:28 vrurg left 04:29 Sgeo left 06:39 iwuvmika left 06:42 iwuvmika joined 08:49 kylese left, kylese joined 10:13 fdp joined
tadzik I'm used to the "use AI or else!" coming from tech CEOs with whose livelihoods depend on selling this myth, but this grassroots banter is new to me 10:25
though not that surprising 10:26
apogee_ntv Yeah I mean I'd never say "use AI or else", just don't be one of these people who sneers at other people for it. 10:28
I know this field has a long and venerable history of arguing over everything from the editors we use to tabs vs spaces but like 95% of the hostility & especially intensity I see in this argument comes from 1 side. 10:39
I find it hard to blame people who use AI for having had enough of it and snapping back. 10:40
Respect does have to be a 2 way street. 11:33
At the end of the day the corporate boot is on all of our necks, and it's been this way through low/no code, through outsourcing, through 996 hustle culture, and AI is the latest in their long line of excuses to treat engineers poorly. I get that frustration, I really do. But I don't use AI because some manager somewhere told me to. I use it because it's turned my 15+ year backlog into something 11:43
achievable and after decades of adding stuff to it far faster than I could ever cross it off, ...OK I'm still adding more to it than I'll ever cross off :D but I am building more than I ever have and it's liberating.
And I find the technology genuinely enjoyable to use, but if you don't I'm never going to be the guy who says "you have to do things my way" ofc. 11:48
TIMTOWTDI :)
disbot <aruniecrisps> I am forced to use LLMs at work and it's low key kind of miserable. Like even my boss, who isn't a dev, is asking me to review 3k-5k line PRs he generated within an hour 11:56
apogee_ntv Yeah I have had to push back on the unrealistic reviews plenty of times, I have said if you put a time frame on this review and force me to approve it I will but with a comment that says review incomplete because of time constraints, approved because @name required it. 11:57
They didn't want that so now I'm doing these reviews in 2-3-4 hours, however long it takes. 11:59
Current client I never had this issue because they had reasonable expectations from day 1
disbot <aruniecrisps> I work in corporate, I can't do that at all 12:09
apogee_ntv Fair, I'm a contractor so have some independence.
tadzik +1 for the double-sided respect. I think it's reasonable to expect a constructive discussion (especially here), rather than insults and innuendos. Even is someone has been mean to you somewhere else on the internet 12:15
apogee_ntv For me I enjoy the actual LLM stuff, I build my own harnesses, run my own models locally and experiment with new ways of working with them. I expect I'd find it miserable if I was just handing stuff over to Claude. 12:16
tadzik personally, I have the "use the crappy immature tool or become obsolete!" screaming at me from the front pages every day, so the 95% that you mention is what I see in the opposite direction ;)
lizmat I think the key difference here is "run my own models locally"
apogee_ntv tadzik: 100% agree, I have seen a few comments the other way here and had had my own knowledge questioned because I choose to use LLMs as if I haven't been a staff engineer before ChatGPT was released -_- it is grating.
12:17 iwuvmika left
tadzik I am a bit surprised to see it so heavily used for Raku though. A language so human, so expressive, so beautifully ambiguous. If you're not writing the code (or reading it)... why use Raku at all? Why not use a more brutalist and predictable language like Java, or Rust? 12:17
or what the third compiler is written in... :)
apogee_ntv lizmat: I have seen the $20 sub go from practically unlimited to unusable and the same with the $200 sub, at one point I was running 9 of them and just realized the subsidy is going away. :D 12:18
12:18 iwuvmika joined
apogee_ntv tadzik: For me I'm still very hands on with code at the micro level. I build huge chunks out with LLMs and then sculpt them to what I want. 12:18
Raku is much more enjoyable for that than Java. :D 12:19
But for example 2 of my biggest modules are just massive C bindings, not really much space for expressiveness. 12:20
I did manually write some C shims as part of them to add batching operations for perf but even in the old days I wouldn't have written Notcurses::Native function by function, I'd've built a static generator. 12:21
tbrowder i've been lurking and enjoying the conversation. esp. about dup code. do you do something like insert a large chunk of valid code and ask for a dedup? 12:22
apogee_ntv For me I instruct up front to look for anything that should be reused or built to be reusable as part of the spec and that seems to reduce it by about 80%. The rest I manually fix at the end when I review it. 12:23
One thing with AI is you do have to think more 'waterfall' than I was comfortable with historically. 12:24
tbrowder thnx
apogee_ntv When I say 'at the end' btw I tend to break client tickets down into my tickets, and I review them individually then only all at once at the end. Thats how I avoid not understanding the code. 12:27
Because workplaces have started just making AI-sized tickets because they have AI. 12:28
And if you try to 1 shot them you end up completely lost, or I do, maybe some people can actually understand these 8k PRs all at once.
tbrowder i'm in your camp... 12:29
apogee_ntv It's why for me all the '10x' stuff just falls flat. You can get 2-3x maybe but anything more than that you just wont understand what you're shipping. Its why Selkie 0.99 has taken 2 months and still isn't quite there yet. 12:30
The biggest 'trick' I have found with LLMs is minimizing ambiguity. They amplify GIGO. 12:33
tadzik apogee_ntv: ha, I see :) 12:34
tbrowder 👍 12:35
14:12 Sgeo joined
disbot <antononcube> @Coke It is a continuation of a previous discussion in which I characterized not using LLMs as "stupid". 14:33
<antononcube> That would be really nice! Also, you can run LLMs locally on you computer. For example, see "WWW::Ollama". 14:34
<antononcube> For me it is mix -- I decide which parts of project I would write myself (hence, also review) and which parts to delegate to LLMs / AI-agents and then spend time reviewing. 14:37
14:38 snobber joined
disbot <antononcube> Yes, this is my experience too. (So far.) 14:38
apogee_ntv Yeah I use vLLM and then connect to it with LLM::Data::Inference. 14:39
disbot <antononcube> True, but you can a spec implemented in multiple languages via LLMs.
apogee_ntv antononcube: Curious what you think of LLM::Agent :D 14:41
I did notice I accidentally released an MCP::Client when you already had one. Oops. 14:44
disbot <antononcube> It can be done, in a sense, via tests.
apogee_ntv btw on IRC we can't see what you're replying to if you use Discord reply feature.
I assume its a limitation of the bot. 14:45
disbot <antononcube> @tadzik "A language so human, so expressive, so beautifully ambiguous. " 🤮🤮🤮 14:48
<antononcube> It is ok, I do not mind have packages with the same names and different authors. My "MCP::Client" would have been better named "MCP::ThinClient". 14:49
apogee_ntv tbh I genuinely didn't check, I saw MCP::Server wasn't there and assumed MCP::Client wouldn't be. 14:50
disbot <antononcube> @tadzik "[...] If you're not writing the code (or reading it)... why use Raku at all? " -- because nobody else is using it, is one reason. 14:51
apogee_ntv I do find it somewhat funny that Raku has 2 fairly developed AI ecosystems that don't talk to each other.
Very different use cases I'd assume. 14:52
disbot <antononcube> I refer a lot to Waterfall when talking to software projects with/via AI-agents. 14:53
apogee_ntv I do too. 14:54
disbot <antononcube> (Hmm... I am replying/commenting to previous messages on Discord, but not always included or references in my replies.) 14:55
apogee_ntv I think what gets missed is that the trade-offs agile makes are optimized for when change is expensive. With LLMs change is less expensive so we should revisit some of the trade-offs to see if they still apply. Some do, some don't. 14:56
disbot <antononcube> Yes. For example, the precautions of one my favorite GoF design patterns, "Interpreter", almost disappear with LMMs. 14:57
apogee_ntv Other than perf, I assume. 15:03
DSL Interpreter -> HLL Interpreter -> ASM on CPU still seems like an issue if it's a hot loop. 15:04
Though building compilers (or LLVM frontends) is much simpler now too. 15:05
disbot <antononcube> Hmm... I am not sure are you misreading what I am saying or not. What I am saying is that LLMs are used to program and maintain "Interpreter", not to replace it or replace parts of it. 15:07
apogee_ntv Yes, my point was more one of the old precautions about using the pattern was always performance. LLMs don't [directly] solve that one.
disbot <antononcube> Although, those are, of course, interesting synergies between traditional DSL grammar-based interpreters and LLMs.
<antononcube> Well, when I use "Interpreter" flexibility is important. One can always introduce shortcuts that skip the general parsing-interpreting and directly give the corresponding outcomes. E.g. for method => Whatever or method => (Whatever, method => <FrequentOne> ) one can have a pre-made objects. 15:12
<antononcube> Also, memoization can be applied. (To find and handle frequent DSL specs.) 15:14
15:35 abraxxa joined 16:17 vrurg joined 16:18 vrurg_ left 16:39 vrurg_ joined 16:41 vrurg left 17:02 stanrifkin joined, abraxxa left
ugexe I often come back to code I wrote in the past and not even realize I wrote it, or sometimes maybe not even understand it anymore. I sometimes wonder if llms would metaphorically roll their eyes at us if they could see some of the critiques we give them. Another example is the expectation that, for large enough systems, everyone be able to understand the entire thing (or at least give the perception 18:07
that one does) instead of being able to understand a sane/reasonable number of the subsystem.
perhaps there is some law encoded in this... say "ugexes law" or some such :P... something like "In a large system, every entity that must understand the whole thing lowers the complexity the system can absorb." 18:13
apogee_ntv Yeah I mean for any sufficiently complex system you can only hold so much in your head, and context is like that but worse. 18:25
tadzik has it ever been the case, that everyone attempted/succeeded at understanding the whole thing? 18:29
I don't think it was ever take case, in Rakudo or anything else sufficiently complex 18:30
I mean, I'm sure at any point any of the lead developers could, given enough time, figure out the idea behind every single bit of code, but it's not like they consciously knew everything at any point
apogee_ntv I remember trying when I was much much more green at programming lol
I just had this assumption that experienced devs could do this 18:31
tadzik same. Life catches you fast. Or I'm a fraud :P 18:32
it certainly is motivating to feel like you ought to be able to do that though :)
lizmat I think one rite of passage for programmers is the realization that you don't have to know how a black box works, just what you need to put in and what to get out 18:33
apogee_ntv My first black box was the CPU. I have no idea how it works but I know when I put the right opcodes in it does what I want :D 18:34
tadzik my best epiphany was understanding how many black boxes there are, and that I can build anything I want if I just pick enough black boxes, or a black box big enough :) 18:35
disbot <antononcube> In many cases you do not need understand details of a software framework. You just need to have good tests for it. Especially for the computations I am interested in that is a good, even fruitful approach. 18:36
apogee_ntv I think for a lot of people their interpreters/compilers are black boxes, I somewhat include myself in that though I can read C & ASM, I don't pretend to know everything about how the optimizer in say LLVM works.
tadzik what optimizer does is definitely on my list of "you can't expect any human to understand everything" 18:38
but my ASM classes did really open my eyes to "oh, so that's what the C code does, I guess writing a compiler isn't that hard after all"
and yeah, writing *a* compiler isn't
apogee_ntv Yeah writing a compiler for a subset of C is fairly simple.
Writing an optimizing compiler that targets many backends with various CPUs that implement different instruction sets... 18:39
disbot <antononcube> This was the big advantage for Machine Learning (ML) over Classical Statistics (CStat) -- ML people did not care about how the models work as long as metrics are reached and satisfied. Lots of classical statisticians complained and tried to revolt. But nobody cared, since they were applying their CStat methods on data that was hundreds or even thousands of times smaller than the data treated with ML. 18:41
<antononcube> So, for "classical programmers" complaining or rejecting LLMs seem to be like those classical statisticians. 18:42
tadzik I really enjoyed compilers.iecc.com/crenshaw/, especially since you need to become a compiler twice to make it about compiler for a language you care about and a target that is still relevant 18:43
apogee_ntv I've always divided people rejecting it into 2 camps: camp 1 is people who want to keep writing code by hand which is fine, I don't know how commercially viable it will be but I'm not going to tell people how they should build software; camp 2 is the people who have embraced a superiority complex around not using LLMs. 18:44
As long as the code is good and the programmer understands it, I don't really care how they made it. 18:46
tadzik re the commercial viability, what amuses me is that my employers nowadays apparently assume that I'm using LLMs. They praise my productivity, and some of my cow-workers feedback is "you're underperforming, how are you using claude?"
apogee_ntv I could see that, I've seen enough devs who get slowed down by LLMs instead of sped up, largely because they don't want to use it and have 0 curiosity about it. 18:47
tadzik I'm not using debuggers either. Never bothered to learn how to be effictive with them, and I mostly put prints with timestamps and profanity in them to debug things. I've never been bombarded with articles telling me that I'm obsolete because of it, becuase nobody cares as long as I deliver what's expected
apogee_ntv So they end up begrudging it.
I don't think telling people they have to use LLMs is particularly effective.
disbot <antononcube> Well, in some companies you get fired if you do not use LLMs. 18:48
tadzik I do try LLMs every few months, and I'm disappointed every single time. I can't be bothered to "invest" time in making it work well, it feels like the "you're holding it wrong" of software engineering. If I'm holding it wrong, then your tool sucks
disbot <antononcube> ...And that started happening two years ago.
tadzik when angularjs came out, I figured that I'll wait at least 10 years and only then learn the state of the art. I didn't wait long enough, and I didn't lose anything. Learning is easy 18:49
disbot <antononcube> You are definitely holding it wrong then.
apogee_ntv Yeah I mean if I hired devs (haven't hired for a long time) I would be more interested in judging their output than their process. I remember working at places where you had to use a specific IDE back in the 2010s and I hated that.
disbot <antononcube> Probably, also with prejudice...
<antononcube> Damn! I am supposed to use particular cloud platforms and Python. 18:50
<antononcube> Oh, well...
apogee_ntv I think that is very real though, the "you're holding it wrong". I do not think most off the shelf LLM tools work well without more understanding. 18:51
disbot <antononcube> BTW, this is another reason to endow Raku with LLM functionalities and to use Raku for LLM-ing -- no Python involved.
tadzik yeah, it feels like the very early days, and I'm sure you can make it work if you put enough effort into it. Clearly it works for some people well enough
I'm fine with waiting a few years until the tooling no longer sucks
apogee_ntv And so I tend to find peoples' effectiveness with LLMs correlates strongly with their interest in using LLMs. So forcing people with no interest to use them doesn't get the productivity gains that people expect. 18:52
antononcube: Just need to bind libtorch and build rakutorch :D
tadzik what I often see is people desperate for the productivity gains, and thus bending their process to fit the expected result. Hence the "I no longer read the code", because obviously it's not sustainable to read & review all the slop
disbot <antononcube> That would be interesting! (rakutorch.) 18:53
apogee_ntv I read all the code. :P I'm far too old fashioned not to read the code.
I didn't always tbh and I got burnt.
tadzik at the same time, people's perceived productivity is often just offloaded cost :(
disbot <antononcube> I have made bindings to H20.ai, which work, but do not provide smooth "Raku experience" yet. 18:54
tadzik there is no merit in producing more code that the rest of your team is prepared to work with
disbot <antononcube> 🙂 hahaha 18:55
tadzik and I've seen way too many projects/PRs where the "author" produces obscene amounts of trash, and it's the people that actually care about the code who have to bear the cost of putting up with it
apogee_ntv rakutorch is on my long todo list
Haha I wont say anything, the Selkie 0.99 commit is ridiculous. 18:56
OTOH I am the only maintainer so I don't feel too bad about it. 18:57
disbot <antononcube> On "more code than the team is prepared to work with" -- This was happening to me in Agile shops. (10+ years ago.) Incentives and un-requested innovations were punished.
apogee_ntv Yeah slop shops pre-date AI.
tadzik perhaps the commit doesn't matter though. I feel like there are people for whom the code is merely the artifact, not unlike bytecode or a binary. You're not commiting bytecode to the repo and reviewing it, so why bother with the code in the age of LLMs? Maybe just commit the prompt, the model and whatever else there is to make it reproducible 18:58
apogee_ntv Thats the thing with Selkie, I have read every line of the commit, multiple times :D it was originally about 70 commits but I keep squashing them into one.
tadzik I feel like a lot of the conflicts are there because the two groups – the 1) "I don't care for the code" and 2) "the code still matters" – are forced to coexist and cooperate 18:59
apogee_ntv I've spent the last month breaking it, taking it apart and hardening it.
tadzik so group 1 generates unbearable volume of code, and group 2 tries to treat it as reviewable output
apogee_ntv I think a lot of the conflict is 2% of the organic coders being pretty crazy, 2% of the AI coders being pretty crazy, and social media amplifying those voices so the 98% on each side thinks the 2% is representive of the other side. 19:00
representative*
tadzik indeed
though as an organic coder, I wish that only 2% of the AI coders were the crazy ones :') 19:01
apogee_ntv I do think that exists too: people are generating a lot. Even for me a lot of the time I'm seeing a +23k PR and just saying I cannot review that in good faith.
tadzik maybe it's just my bubble
I am worried because I see really good programmers deteriorate very fast when they pick up LLMs
apogee_ntv The Selkie change is huge but its also 2 months of changes. 19:02
Because I only want to break BC once, not break it 70x over 2 months.
tadzik here's one example: I have a cow-worker/boss, let's call them Alex. Alex used to be a PITA code reviewer, picking on minute details, API design, etc. Good, I love that. Please continue
a while back Alex assigned me a task. I wrote the code, Alex reviewed, pushed back, I iterated, it landed, we were happy 19:03
two weeks later Alex implemented the exact same feature. I review it, there's a lot of code, it looks alright but I say "okay, but what does it do that my solution did not?". Alex says "oh, you did all that already? Weird, Claude did not say anything" 19:04
the very same person, in the very same ticket, just turned off their brain entirely. And it's not just this one person
apogee_ntv That's pretty hilarious if he reviewed the PR...
Like, scary. 19:05
tadzik yeah, the 180 turn is unbelievable
they just deffered all their thinking, and the contrast is striking
and it's not just this one person, in this one company
apogee_ntv I have seen people go 2 ways with LLMs. That and the exact opposite: far stricter than before. 19:06
For me it has been eye opening to just how bad plausible-looking code can be.
And I think I'm a stricter reviewer now than I was before.
tadzik yeah, there's a lot of merit in having a pedantic code reviewer with tons of time on their hands
a supercharged static analyzer, in a way 19:07
apogee_ntv Well thats the other side of it I guess. Now I can review and be 'coding' at the same time, so I'm not rushing to finish a review because I need to get my ticket done.
I'll write the spec, hand it off to my process and now I have 2hrs to fill with reviews or another spec.
tadzik so it turns into two reviews, effectively?
apogee_ntv Before it comes back and I have to review that. 19:08
Yeah so I do it with a bunch of automated gates (tests, mutation suites, sanitizers, static analysis, etc), then LLM review from multiple models, then I do a full review before it gets merged. 19:09
ugexe this is the way
apogee_ntv And then I squash it together with previous commits on the same piece of work.
So by the time a coworker has to review it, it's been through hell lol. 19:10
tadzik yeah, and presumably it doesn't have the "LLM slop" smell anymore 19:12
apogee_ntv There are still telltale signs I guess but it's nowhere near the steaming pile I get. I don't think I'm ruthless enough about culling massive comment blocks that read like legalese. 19:13
You'd know there was an LLM involved from the comments, the choices of variable names & stuff but the architecture is coherent. 19:14
tadzik heh. I notice that a lot too. Sometimes the code is fine, but the commit message or the bugtracker comment has a very "oooh, nobody wrote that and I sure as shit am not reading that either" stench to it
apogee_ntv Yeah if I'm submitting to other peoples' bugtrackers etc I refuse to paste an LLM comment, I generally have a rule of if I want someone else to put the effort in to read it I should put the effort in to write it. 19:15
tadzik o7
ugexe its still better than a bad commit message or a blank commit message
tadzik I with your approach was more common
apogee_ntv I might get the LLM to draft bullet points or something but I write the report.
ugexe: true
tadzik meh, if LLM generates the thing anyway then I'd rather read the prompt 19:16
ugexe a single prompt isnt really that useful imo
tadzik I have the LLM too, I can summarize it myself if I want to
apogee_ntv Some of my commit messages are genuinely worse than LLM commit messages, especially on Notcurses::Native with 'fix windows attempt 7' etc when I didn't have local Windows box to test my build on.
ugexe llm development involves multiple prompts tied into the real time output you might be reading as it reasons about things. rarely is anything one shotted in a way that the initial prompt is useful 19:17
tadzik ah, I think there's value in those bad commit messages too. It shows the intent, as in "this is mundane so I'm not gonna even bother"
now when a human writes a one-line changeset and a 3 paragraph commit message, you know it's a complex thing with a lot of nuance
if everything is 3 paragraphs of text, the meaningful stuff doesn't stand out
ugexe but if you need to look at git blame to try and reason why someone might have wrote something they way they did, a blank commit message or "fixed bug" etc arent useful at all. a 9 paragraph over explanation at least has the possibility of being useful in that scenario 19:18
apogee_ntv Theres a point at which I'm just working in the dark with Windows and just get frustrated :D
Voldenet my fav commit message of all time is `fix`
good, informative
tadzik that's what I like with expressive languages like Perl or Raku, is that you can whip out a small bit of code as a message to the reader saying "this is trivial, don't worry about it", or a long section of code, artisanally named, as a hint of "now pay attention, this is tricky" 19:19
ugexe i mean the author might think its trivial, but unless they add the details on how its current works and what the commit intends to change, its impossible to tell if it actually is
tadzik when a regex ends with /x you know some serious shit is going down ;) 19:20
Voldenet: yeah, that's a "I don't care and you shouldn't either"
apogee_ntv I remember working with a guy who used to commit things like "going to the pub", as if he assumed his commits were like his timesheet or something. 19:21
tadzik heh. I had a guy like that on an interview once 19:22
a (widely-used!) library they wrote, that among other things contained they personal bookmarks in a variable somewhere. All auto-commited with no messages
apogee_ntv I think my favorite commit message that I ever saw was "some potato used float for money" 19:23
tadzik I need an LLM to parse that...
oh, potato as in a human
apogee_ntv Yes
tadzik always funny 19:24
apogee_ntv He had corrected this use of float, and the message was just that
tadzik if I had a penny for every time I got an email about a 0.00 outstanding amount, I'd have 0.00 pennies, which is more than zero
disbot <antononcube> Not true. Some single prompts are very useful. For example, "NothingElse" and "CodeWriterX". 19:35
<antononcube> Do you mean using the so called "conventional commits"? 19:38
Voldenet conventional commits are useful, but `fix:` is just a prefix for message… :P 19:39
disbot <antononcube> Yes, and “fix:” is one of the conventional commits prefixes. 19:48
ugexe if a single prompt is enough to get sufficient results for something, i doubt the prompt is actually of interest to anyone 19:49
disbot <antononcube> “NothingElse” is a modifier prompt. It is usually added at the very end of a larger prompt. For example, if you just want to get JSON code, with comments, explanations, etc. from the LLM. 19:51
<antononcube> “CodeWriterX” works reliably for many programming languages. (Raku included.)
ugexe well when people say they "want to see the prompts" i don't think that is what they are talking about. i think that mostly comes from a misunderstanding of llm workflows that assume the initial prompt does a bulk of the explanation of what needs to occur 19:52
disbot <antononcube> There is a prompt “CheckAgreement” which is very useful to run over leases, EULAs, etc.
ugexe my initial prompt is usually just "look at xyz, what is your understanding of it", then another prompt" what systems does it interact with?" and so on interacting with it based on what it is reasoning on until eventually getting to the real ask 19:53
tadzik perhaps that's my impression when a lot of the code I see is apparently an artifact of "look at gitlab issue X and do your best"
ugexe and given people often dont even want to read their commit messages i doubt they'd also want to slog through the entire prompt and response history
tadzik when the code is *clearly* slop, then I'd rather just read the intent than the build artifact 19:54
disbot <antononcube> I think you are actually describing using prompts within an AI-agent or interface environment. 19:55
tadzik (circling back to my previous "the two groups can't healthily coexist")
disbot <antononcube> For these kind of interactions — responding to @ugexe — it is better to use AI-skills. (And, yes, they are not single prompts.) 19:57
apogee_ntv ugexe: That's similar to my investigatory flow. 19:59
I have a bunch of harness stuff around it. 20:00
Voldenet when the code is *clearly* slop, I'd rather rollback 20:02
tadzik same, but I have to work with people :)
Voldenet I've reverted bigger commits :> 20:03
llms can write code that isn't bad, someone should put an effort to make it nice
ugexe for work code i would kind of expect there is some issue that spawned the work, and i'd hope the commit or PR at least references the issue number or whatever 20:35
which hopefully captures the intent
20:38 vrurg joined, vrurg_ left 20:45 vrurg_ joined, vrurg left 21:02 vrurg joined, vrurg_ left 21:12 vrurg_ joined, vrurg left 22:16 leah2 left 22:28 leah2 joined