« first day (1030 days earlier)      last day (745 days later) » 

00:24
@Steffan @emanresuA would it be possible for y'all to take a quick look at the v3 site improvements? It's had some changes since y'all last looked
01:01
Sure
Hmm, would it be possible to port the lexer to scalajs for vylight?
Actually never mind, vylight needs an incremental parser
@emanresuA yes - it'd just be a function call to the lexer in an exported function
@emanresuA incremental parser?
It needs to update as you type
Then just call the function in update count
We could do that, as long as the lexer is fast enough (it probably is)
Highlighting may have to be disabled for ginormous programs, though
like we have ginormous programs
01:16
Website is queued to merge
what should we write the new one in? react? vue? svelte?
Merged
Huh, the script to deploy failed
@user
2023-02-11T01:18:04.6840987Z ##[group]Run mkdir pages
2023-02-11T01:18:04.6896063Z ##[endgroup]
2023-02-11T01:18:04.6981013Z mkdir: cannot create directory ‘pages’: File exists
just add rm -rf pages
before you mkdir
Queued
And merged
it's deployed
01:26
Excellent
... there be no index.html
we forgot to make the actions commit
oh that's stupid, it's because we dleeted it
@user ^
lmao
@Seggan Well yeah, but there was at least one cops and robbers where you and emanresu made humongous programs
01:48
Hey why isn't the site making requests properly?
Everything just times out on the v3 site
@lyxal I'm not sure if codemirror allows that.
02:04
> Loading Worker from “vyxal.github.io/worker.js” was blocked because of a disallowed MIME type (“text/html”)
Guess we need to change our headers or something
That 404s
Oh
So ofc it's an HTML file
Man I miss the bot
02:08
Thank frick it's not some webworker-related issue
ikr
@lyxal working on it!
currently I'm rewriting a large part of sechat so it's less jank
No hurry
^
I'm allowed to have feelings without other people acting on them :p
@Ginger Less jank is always a good idea
02:12
I swear we will not have two godafwul jankbots in a row
If you need any help let us know
got it
I also have a TI-83
:/
lol that emoticon looks way funnier on my Pi
I wonder how you go about having a github pages at the top level of an organisation
02:14
I think you just make a repo called <orgname>.github.io or whatever
@lyxal Make a repo called org.github.io iirc
Ninja'd
Oh bruh
We could have vyxal.github.io just redirect to vyxal.github.io/Vyxal
That's what I was thinking
Why do we have 26 repos
Why
02:18
cuz people do stuff like github.com/Vyxal/tag-deez-nuts
oh I see you found that as well
Can we just delete all the abandoned repos please?
This should be either deleted or archived
Archived
Symvy can also be deleted
It has nothing in it
The Philosophy repo can be part of the main Vyxal repo so that people will actually see it
Keep cookie for the memes
02:21
Yes, cookie must stay forever
This can be a gist or something (can orgs have gists?)
vylight-monaco is empty and should just be a branch on the main vylight repo if steffan wants to work on it
@user just delete it
That event is over lol
:(
Still good puzzles for newcomers to solve
@user fair enough
02:22
This can be deleted, it's empty and the Scala tips can go into the documentation folder or wiki
yeah, IMO we should delete vynger (empty), tag-deez-nuts (dumb), other things we've made (not really useful?), vylight-monaco (totally empty), symvy, philosophy can be in main, and vyxal-events since the one event there never happened
@lyxal Maybe the wiki?
I like the idea of having a collection of puzzles for newcomers but if we can build that into the website as a sort of interactive tutorial I think that'd be a lot better
This can be part of some other page
@hyper-neutrino Vyxapedia!
@user no
That one stays a repo
02:23
github.com/Vyxal/Helpful-Scala-Tips should either be deleted or a gist
An entire repo for a single page?
@user Unarchived, undeleted
@user Gist
@emanresuA Ninja'd :P
@user yes
02:24
@user yeah, planned once v3 alpha is a bit more stable cuz I'm not gonna work on any more features on the current version
Because it can show up in the pins for the organisation
we are planning on stopping development on v2 right? or have we already
This would have to be a discussion ig
@hyper-neutrino I think it's still going
@user that's for hosting the images
@hyper-neutrino Fair enough
02:25
alright
v2 is probably going to be long-term support
@lyxal That makes sense ig
@hyper-neutrino it'll just be maintenance
makes sense
VyxalBot2 should be a branch on the main se-bot repo
02:25
Probably supported forever
^^ makes sense
do you mean ginger's or my second bot
for either I don't think that makes sense if anything it should just be archived
Ginger
I do not think it makes any sense to host drastically different code bases in one repo under branches, that's literally not what they're made for
That would work tooo
@hyper-neutrino I thought they were both Python, just with slightly different libraries
Unless sechat's API is really different from whatever was being used before
I think it is
02:28
@Ginger Are you rewriting the bot from the ground up?
the only file being kept from the og bot is the responses file iirc
@user most likely, yes
Oh
+1 to archival of old bot then
I'm keeping the responses file like Lyxal said, but everything else is new
@user oh, it is
More sass please
02:29
So what's the deal with vyxalS, and should we migrate its readme to the v3 branch?
Archive
It was more of an experiment
that's right
Yeah the readme might be useful to keep
02:29
I used the old janky library to figure out how the SE auth system worked, but that's where the similarities end
Okay, I'll add a deprecation notice to the readme for vyxalS
:thumbs-up:
I think most of what's in the readme has already been added to the v3 docs
g2g
I've deleted the repos we marked for deletion
including the philosophy repo
and before you say "you didn't migrate the contents", that's on purpose
I don't like what I wrote in that repo anymore
especially because some of it is GPT-3 generated
That's kinda... unnecessary
02:33
that stays for now
for the image hosting
I'll archive it then
it can go after the community ads are posted :p
Ohh wait this is the one that never got created
on second thought, it probably can go. I have the template in a powerpoint file in my onedrive
@emanresuA yeah
it's for the next cycle
shit no it can't go
it has discussions
which is why it's a repo
@user what does the common cli pr do
Privatise it at least, it's internal
02:46
@lyxal before the cli was copied to both native and jvm
Now it’s in shared
No more duplication
aha
merge when you're ready :P
and once that's merged, I think the first beta release can be made
03:08
@emanresuA deleted
i kinda forgot about it, i'll just do it for v3
How do monaco lexers work again?
 
4 hours later…
06:39
@Ginger I added 8 possible candidates for a vyxal bot logo to the repo
I also have a larger selection if none are suitable
I uh may have spent a while on this :p
and yes, they are all holding cookies
 
4 hours later…
11:06
you know what's fun?
the JVM realising a package exists, but not JS
11:37
[error] 157 |      opt[File]('f', "file")
[error]     |                            ^
[error]     |No given instance of type scopt.Read[java.io.File] was found for an implicit parameter of method opt in class OParserBuilder
[error] one error found
[error] (vyxalJS / Compile / compileIncremental) Compilation failed
ah
that's a problem
trying to use a java class in the js
11:59
@user scalafix is doing that thing where it constantly corrects the generated documentation again
12:18
it will no longer do that
because I told it not to
frick you scalafmt removing my commas
it's adding them?
the hell
(before I mean)
(rewrite.trailingCommas.style = keep is what I have)
previous commits show that it adds commas (I think(
idk
¯\_(ツ)_/¯
@lyxal looks good, the margin looks a bit off though
that was one of the first iterations
14 hours ago, by lyxal
user image
those are the current margins
@hyper-neutrino 1+
@lyxal much better
more syntax highlighting maybe?
obviously if the right snippet is chosen :p
also
@user what the
the hell is this
vyxal.github.io now redirects to the online interpreter
it now also keeps the original hash part of urls
13:05
Okay, I spent an hour drafting this answer.
I just want to have a single vyxal answer in which androvt can't golf me.
👀
hehe good luck
I have 42 bytes.
ಠ_ಠ
@mathcat I'm the one who outgolfs!
13:12
... how.
remove usage of the register
beautiful
did try that (with head extract) but smh didn't work
40 bytes
I think
yep
40
Thank you, I no longer have any self-esteem.
1ṁ...i is just
13:15
oh TIL.
I can update my answer, right?
you can
these byte shaves are all your answer with a few tricks applied lol
lol ty
flag for 39 btw
@mathcat you wont like this, but Try it Online! for 38
oh that's the first flag I've seen that shaves off two bytes
I'll add that as a bonus tho :p
it only shaves off one
it's 39 flagless
it switches the order of the lower/upper halves to make it so that .* is a substring
13:26
that's clever
because .* is in the short dictionary
and so it turns into just
hence, a byte shave
3
A: Tips for Golfing in Vyxal

lyxalUtilise the Short Dictionary Note: This is a 2.6.x+ feature only Newer versions of Vyxal have a neat little feature where 1 character SCCs are indexed into a special "short" dictionary of overlyspecialised "words". Here's a list of all the current entries: \d+ λ -?\d+ ƛ \d+\.\d+ ¬ -?\d+(\.\d*)? ∧...

that's the short dictionary
when you have a single non-ascii character in a string surrounded by ascii, it indexes into a special dictionary instead of the normal one
It has been a while since I read the tips page.
there's something wrong with the last version
it generated ⟨ $ | $ | $ ⟩ for me
14:03
good point
that doesn't look right
the 42 byte version doesn't seem to do that
yikes nope
ah, easy fix, but +1 byte
Try it Online! for 36 bytes
lmao
Is there a reason why ƈ (randomly choose n items) doesn't have an overload for lists?
14:19
1 hour ago, by mathcat
Thank you, I no longer have any self-esteem.
@AndrovT jokes aside, wonderful solution
I don't think lyxal's short dictionary is shorter here, you'd need to swap eyes and mouth.
@AndrovT I didn't quite understand how you managed to get the probability of having the same eyes above 50%
14:37
For the upper level eyes it works like this:
- choose a pair of eyes
- 1/5 it will be choose the same two eyes
- 4/5 it will choose two different eyes
- choose a pair from the previous pair
- if they are already the same it will always choose the same two eyes
- if they are different it will choose the same two eyes 1/2
@mathcat Together the probability of the same two eyes being chosen is 1/5 + 4/5 * 1/2 = 3/5
@lyxal :D
the same thing but with 7 happens for the lower level eyes resulting in probability 4/7
awesome
@lyxal where are the logos???
oh, in a new branch lol
@lyxal approved
cookie was the best thing that happened
🍪
14:52
cookie still doesn't work on v3 :/
lmao I forgor 💀 I made it do that
15:08
y'know what'd be extra cool
if github actions automatically assigned the issue to you
15:29
lol
 
1 hour later…
16:33
@lyxal I have no idea why that's happening, it's supposed to replace with the name of whichever OS it's executing on
I don't know why the native workflow is so messsed up
That env.V3_MAIN thing worked fine in the jvm workflow
17:27
@lyxal is there a way to compress [24, 60] in Vyxal
The best I could do was 2460₁τ
But there might be a better way
@TheThonnu good luck with that, I think I got around 40-50 bytes and then gave up
@TheThonnu To save a byte, you can make two characters, then use ord
Wait no nvm
cause utf-8?
17:43
Yeah, and you also have to put them in a list (or make a 2-char string) before passing to C
So worse than useless
18:03
@TheThonnu ‛0xC½ is 5 bytes
ooh nice
@AndrovT nice! Updated.
I think that means I'm winning now
(I beat 05AB1E by 1 byte)
18:55
lmao happened to me twice (iirc)
type checking is haaaaard
In python? yes, definetely.
otherwise I'd disagree
in python :p
yeah, python's typechecking syntax is the equivalent of a high school bully
but it makes things so much better when it works
19:00
yeah
The integration with code editors is the main thing (imo) that makes it actually useful for big projects.
 
2 hours later…
20:42
What if on the new vyxal 3 interpreter, we could have a new like "tabs" layout where you can move the inputs and output and stuff wherever you want and make a nice layout
it's annoiyng sometimes when you got a lot of inputs or a lot of code
wdym by that exactly?
Kinda like the tabs layout on code.golf
Everything is all in tabs which you can adjust the size, remove, add, rearrange, etc
Handy
neat
20:57
^
Would we have to start using a framework to do fancy stuff like that?
ooh yes
:(
Frameworks aren't bad, but it's a little more complicatedness
otoh, a framework might help us clean up our code and not require expandBoxes() and stuff
21:48
@Steffan we can do that
I've got no clue how to do it, but we can definitely look into it
frameworks introduce complexity and for something like the current interpreter would probably be unnecessary but if you want to do complex stuff like that it definitely makes it a lot easier
TBH a framework wasn't even really necessary for vyxapedia I just really like sveltekit
C'mon guys, frameworks are fun!
I'm having loads of fun rn debugging opencv4nodejs while installing xcode-select for linux and unlinking tesseract
hey, I never said I have anything against frameworks lol. I love svelte but I acknowledge it adds baseline complexity, so if your project is very simple it's unnecessary but if your project is complex it definitely simplifies stuff
particularly interactivity; doing manual DOM editing dynamically is really annoying (yes I have done it before)
Can't be any worse than it already is :p
22:03
:P
We already have to call the execute function with a JavaScript function that posts a web worker message
Which makes the scala look just that little bit more cursed
What good scala frameworks are there?
svelte is a nodejs thing, right?
I'm afraid there aren't any real Scala frameworks for frontend stuff
There are bridges to React and a few other JS libraries/frameworks but not much else
22:18
@user why odn't we use React or something
Maybe even try something like svelte
Svelte requires compilation
I think we do use a React component for the keyboard tooltips?
@mathcat Actually, there's this
tbh, it's probably best to stick with vanilla JS for the frontend stuff
@mathcat The web libraries section here has some libs
22:39
this is what code.golf used github.com/golden-layout/golden-layout
@user so what? react does too, pretty much
Oh right
ngl, I really want to try out Svelte
I don't think we should have the interpreter in the same repository though, it would get cluttered
tbh the v3 rewrite should also go into a separate repo
I guess lyxal mainly kept it in the same repo for the stars and stuff
I know angular, react, vue, and svelte. Vue is nice too
Kinda similar to svelte, right? (in terms of organization)
Still has a virtual DOM though
22:42
Vue is personally my favorite although I haven't used it in a while
Nah, vue is a framework, svelte is a compiler
I guess we care more about bundle size than performance, since the site isn't doing much
@user that's right - 2 years of stats is a lot to replace :p
Svelte will make the smallest builds though because of that
@Steffan I meant like having the JS, HTML, and CSS for a component in a single file
I haven't used any of those in a while
22:44
I guess styled-components exists but it feels a bit weird
But yes I think
You can split up the files if you really want to but you usually don't
Except maybe the css
React isn't my personal favorite, styled components is weird too
It's not bad tohugh
I do like that JSX lets you make the HTML part of the component right inside the JS (and how you can make multiple components in a single file)
setState and friends are a bit annoying, though
23:07
Btw we don't necessarily need codemirror / equivalents
Tybo's got a thing that uses an overlay for highlighting (cubestack.surge.sh for example)
@user maybe just rerun the highlighter on the last 100 or so characters each time
instead of the entire program
23:31
Do we have a custom parser or an ANTLR style one?
lexer is Parser Combinators, parser is custom
Parser combinators should be translatable to a codemirror mode using lezer or something
We don't really need a parser, just a lexer

« first day (1030 days earlier)      last day (745 days later) »