« first day (1062 days earlier)      last day (713 days later) » 

00:26
@Seggan Wait a second, do you want both the library and the VM to be in the same module?
I figured it'd be better to put them in different modules (different repos, even)
00:37
@user true
True to having different modules or different repos?
repos
modules is too much of a hassle
plus, we can use it for other things
you can set up a multiplatform skeleton or want me to?
@user actually, i changed my mind
yeah, because they are tightly coupled
ysthakur requested changes on #1671 (Make the dictionary not error in JS on a fresh context)
@Seggan Go ahead, I don't have any programming tools set up on my current laptop
@Seggan Are you sure? The library will only be stuff like cartesian product and number stuff
The API to the VM itself can be in the same module as the VM, but I figured the library would be something that outsiders can also use
you know, if we weren't a year behind schedule, I might be more receptive to CGR. But it's taken this long to get v3 to where it is, and I like the flexibility to make structures and things act how I want them to act. And interpreting programs makes handling things like modifiers much easier because they don't have to be lambda wrapped in strange ways
00:56
^
Although I don't think it really matters that we're "behind schedule," we're not a company with investors who need a product delivered quick or something
It matters to me because I want v3 released sooner rather than later :p
01:46
@user @Seggan maybe v2 could be made to use CGR
It's already transpiled
Meaning it already has infrastructure for dealing with weird edge cases
Plus it'd be an overall speed gain
02:01
Yeah that'd be cool
No more PythonAnywhere, though :(
02:23
@lyxal In case you're interested, I've invited you to the org
Y'all with your private affiliations :p
It's funnier when an organization has no public members :P
Too bad lol
Still funny. Now it looks like you made an entire organization just for yourself :P
@user why not both
03:28
I guess we could do both yeah
Wait what is this org
 
1 hour later…
05:06
oh nice
 
3 hours later…
08:23
in Jelly Hypertraining, 1 min ago, by Unrelated String
if 's argument order were the other way around, ⁾ị⁾ị would solve this in 4 bytes :P
trying to figure out if i can do it in vyxal instead and
when did this happen
May 7, 2022 at 6:02, by emanresu A
@hyper-neutrino I think × should stay - it's often useful to have a 1-byte non-space string in general. Whether it should be changed to something else, I don't know, but it's been used 22 times which is way above average
oh that actually makes a lot of sense
08:39
It's really good for ascii art challenges
@UnrelatedString best I've got is 5.5 bytes
Why not `Ii`Ii?
(for 4.5?)
Is 6 - 25% = 4.5?
Has anyone ever suggested that * and × should be switched?
08:49
@lyxal yes it is
@TheThonnu Fatalize has at one point
bakcwardscompat though
@emanresuA oh then mine is 4.5 byt3s
Oh alr
*bytes
Except it doesn't support ranges, just vectorises... unless you take the "any input format" to include taking the full range
08:51
Supports ranges
In this context i and İ behave identically
!!/amilyxal
@TheThonnu You are not lyxal.
09:35
@emanresuA til
10:02
@UnrelatedString I'm tempted to post a 0 byte polyglot to this and claim that since no valid input exists the program can do whatever it wants.
based
with how many votes the 1 byter has + how much of an old mess the challenge itself is that's entirely called for honestly
I normally wouldn't, but the pyth answer exists so whatever
0
A: Indexable quine

emanresu APolyglot, 0 bytes Try It Online! (you'll have to select a language yourself) The challenge specifies taking an integer \$ 0 \le n \lt \text{len}(\text{program}) \$, but with a 0-byte program there is no integer that is both ≥ 0 and < 0. This means the program can do whatever it wants. When I sa...

10:29
Well, someone disliked that so much that they went and downvoted my top three voted questions...
wow
dw though, it'll get corrected
@emanresuA salty
The person who downvoted, obviously
Not you
Like who looks at an answer and gets that offended that they mass downvote?
Without even downvoting the original answer
10:46
They probably didn't want to lose rep by downvoting an answer
3 questions though
That's like triple the impact of a single downvote
 
1 hour later…
12:00
Just a reminder that #1655 - input evaluated as vyxal and #1669 - sugar trigraphs redo are ready for reviews
@emanresuA why tho.
12:34
!!/prod
vyxal-bot[bot] opened pull request #1672 (Update production (Mar 15 2023)) in Vyxal/Vyxal
Lyxal merged pull request #1672 (Update production (Mar 15 2023)) in Vyxal/Vyxal
stupid bot
yeaaaah
yesterday, by lyxal
Imagine not having edit detection
12:42
:|
Sorry lyxal, I'm afraid I can't do that.
!!/open issue in VyxalBot2 We sell juice now So please add something that allows us to obtain and trade juice
!!/status
@lyxal I am doing my etch-a-sketch. I've always wanted to make a chatbot that could draw things.
well stop doing that and open an issue on github
also, context:
in The Nineteenth Byte, 2 mins ago, by mousetail
That looks more like the logo of a 4-year olds juice stand
!!/open issue in VyxalBot2 We sell juice now So please add something that allows us to obtain and trade juice
Sorry lyxal, I'm afraid I can't do that.
12:51
!!/help
I'm Vyxal Bot 2.0.0 made by Ginger and hyper-neutrino.
All of my commands start with !!/
If you want help for a specific command, do !!/help <command name>.
New to Vyxal? Try !!/info for more information.

Command list: amilyxal, blame, coffee, cookie, die, goodbye, groups, hello, help, hug, info, issue, maul, permissions, ping, prod, register, repos, run, status, sus
!!/issue open in vyxalbot2 testing idiot bot
Sorry lyxal, I'm afraid I can't do that.
!!/help issue
@lyxal !!/issue open [in <repo name>] __Name__ description: Open an issue in a repository (defaults to Vyxal).
12:52
liar
!!/issue open in vyxalbot2 We sell juice now So please add something that allows us to obtain and trade juice
Sorry lyxal, I'm afraid I can't do that.
@Ginger bot not issue
!!/issue open in VyxalBot2 idiot bot not issue it isn't open things
Sorry lyxal, I'm afraid I can't do that.
see
not is issue at all
not even github is interacting
many very sads
needs to issue and report on issue and apply label to issue and eat issue and then
you forgor 💀 quotes around the description
12:55
3 mins ago, by Vyxal Bot
@lyxal !!/issue open [in <repo name>] __Name__ description: Open an issue in a repository (defaults to Vyxal).
I notified everyone about that change a while ago
Where in that is there quotes
!!/issue open in VyxalBot2 Help for issue command is out of date "The help for !!/issue open doesn't mention the recently added quotation mark requirement" bug
vyxal-bot[bot] opened issue #40 (Help for issue command is out of date) in Vyxal/VyxalBot2
Sorry lyxal, I'm afraid I can't do that.
12:57
oh ffs
!!/issue open in vyxalbot2 We sell juice now "So please add something that allows us to obtain and trade juice" juice;command;selling;yummy;profit;funny;gaming;tags;lots-of-tags
vyxal-bot[bot] opened issue #41 (We sell juice now) in Vyxal/VyxalBot2
finally!
?????
!!/sell juic for 2 juic plz buy
!!/issue open in vyxalbot2 Edit detection please "Seriously, it's no longer funny, and it leads to a lot of noise if a command is wrong" feature-request
12:58
Sorry math scat, I'm afraid I can't do that.
vyxal-bot[bot] opened issue #42 (Edit detection please) in Vyxal/VyxalBot2
!!/issue open in vyxalbot2 Better errors "Tell me why you can't do that instead of just silently erorring" feature-request
vyxal-bot[bot] opened issue #43 (Better errors) in Vyxal/VyxalBot2
GingerIndustries closed issue #42 (Edit detection please) in Vyxal/VyxalBot2
GingerIndustries closed issue #43 (Better errors) in Vyxal/VyxalBot2
Lyxal reopened issue #43 (Better errors) in Vyxal/VyxalBot2
Lyxal goes on an issue rampage
because the bot is annoying sometimes
sometimes it feels like a downgrade from the original :p
It does have some cool features.
13:07
Lyxal created branch add-edit-detection in Vyxal/VyxalBot2
@mathscat the command list is basically the same as the old bot
the only differences are the status variations and occasional sus response
oh and the funny one
can't forget that one
most of the changes from the old bot aren't visible, which is as it should be
where are the events handled?
13:09
event code is in __init__.py
I'm going to attempt a port of the old edit detection system
good luck
lmk if you have any questions about the workings of sechat
... you never check event type in run command
@lyxal wdym? I don't have to
13:12
with edit detection you do
oh, lemme clarify
the function that sechat calls when a new message is sent is handleMessage, which is registered as an event handler in the onStartup function
onMessage figures out what is and isn't a command, and also dispatches any commands triggered by normal chat messages (such as good bot)
is there an onEdit handler?
no, because I don't need one
well now you do
if you're adding one all you have to do is register it in onStartup
(which is run when the webserver is ready)
13:18
can the bot store data in a dictionary between commands?
you can add that, but I'd rather you didn't, because the bot is designed to be maximally stateless
well see that's going to be a problem
it needs a way to know what reply it needs to edit
and that is why I don't want to add edit detection
except it's a crucial feature
because it'd require tracking state, which causes lots of exciting new opportunities for bugs
13:20
old bot didn't have that issue
can it at least write to a database
@lyxal when everything is janky nothing is janky
@lyxal yes (kinda)
then I'll have to write corresponding reply ids to one
userdb.py contains the code for user data storage, but it's designed to hold user data, not message IDs
you also have the issue of "how long do I keep replies for?" and "how do I clear out old replies?"
that's just a matter of porting the logic hyper had
if x["event_type"] == 2 and x["room_id"] == room:
    if x["user_id"] == 296403:
        continue
    try:
        r = requests.post(
            "http://localhost:5666/msg",
            headers={"Content-Type": "application/json"},
            json={"secret": secret, "message": x},
        )
        if r.status_code == 200 and r.text:
            if x["message_id"] in hooks:
                rooms[rid].editMessage(
                    r.text, hooks[x["message_id"]]
                )
            else:
as well as the logic of the old bot chat library
def editMessage(self, msg, msg_id): # edit message with id <msg_id> to have the new content <msg>
        payload = {"fkey": self.chatbot.fkey, "text": msg}
        headers = {'Referer': "http://chat.stackexchange.com/rooms/{}".format(self.id)}
        r = self.chatbot.sendRequest("http://chat.stackexchange.com/messages/{}".format(msg_id), "post", payload, headers).text
        if r.find("You can perform this action again") >= 0:
                time.sleep(3)
                self.editMessage(msg, msg_id)
@lyxal WHAT
why tf would you do that??? sechat can edit messages just fine
13:23
@Ginger well you said that there could be issues
so I was saying "use what worked previously"
where applicable
obviously
@lyxal this pains me to look at
one person's trash is another man's treasure
your standards must be abysmal then :p
I don't care about the formatting, I care about the logic
edit detection is a key feature, because it a) reduces frustration of having to redo the markdown and b) reduces clutter in the chat room
hence I'll use anything I can to implement it
@Ginger Just curious, what issues could there be when you're storing messages with their respective timestamps in a database and deleting them if they are older than 5 minutes?
13:28
@mathscat I don't know, but I'm intensely paranoid about them existing because things like that have screwed me over innumerable times before
well, it is new.
tomorrow will involve indexing it and actually using it when an edit event is recieved
 
1 hour later…
14:56
!!/amilyxal
@TheThonnu You are not lyxal.
!!/amilyxal
@zoomlogo You are not lyxal.
!!/amilyxal
@TheThonnu You are not lyxal.
14:58
:(
15:14
Aurathic opened issue #1673 (Enhancement: Add More Graph Digraphs) in Vyxal/Vyxal
 
2 hours later…
17:19
and this one is actually fast
 
2 hours later…
19:01
ysthakur approved #1669 (Sugar trigraphs (take 2))
Lyxal enqueued pull request #1669 (Sugar trigraphs (take 2)) in Vyxal/Vyxal
Lyxal merged pull request #1669 (Sugar trigraphs (take 2)) in Vyxal/Vyxal
Lyxal deleted branch implement-sugar-trigraphs-properly in Vyxal/Vyxal
Lyxal deleted branch gh-readonly-queue/version-3/pr-1669-6b7ab2e9195c2c1921aaede14e17acd505d9a267 in Vyxal/Vyxal
19:59
normal people sleepwalk; Lyxal sleep-merges
5
 
2 hours later…
22:13
Vyxal is a programming language designed for code-golfing, which is a competition to solve a problem with the shortest possible code. It is an esoteric programming language, meaning that it is designed more for fun and experimentation than for practical use. Vyxal uses a stack-based approach, similar to other esoteric languages like GolfScript and CJam.
It has a wide range of built-in functions for math, string manipulation, and other common programming tasks. The syntax of Vyxal is concise and designed to minimize the number of characters needed to express a given operation, which makes it
chatgpt knows of vyxal
Gosh dang
It also knows of 05ab1e
And jelly
 
1 hour later…
23:40
Question: How does the parser detect newlines for ) if the lexer ignores them?
Which version?
It doesn't ignore new lines in the lexer
Huh never mind
in The Edge of Propinquity, 1 hour ago, by lyxal
> Vyxal was created by KevinLPG, a programmer and competitive code golfer. The language was first released in 2020 and has since gained a small but dedicated following among golfers and enthusiasts of esoteric programming languages.
(context for the name change so I don't lose it)

« first day (1062 days earlier)      last day (713 days later) »