« first day (4051 days earlier)      last day (1089 days later) » 

00:00
wait what was oisb again
The open source back-end RTO used
The open source back-end RTO used
Which was being developed with AviFS
@RadvylfPrograms noooooo
;-;
I would take over support if I knew how to do it
Technological limitations are the main reason
00:03
There's just not a project that exists yet that has the right combination of things we need
For the sandboxing
@RadvylfPrograms ah
it's all open-source so just do it yourself
Bubblewrap and traditional sandboxing stuff doesn't support custom containers or anything that would be a feasible stand-in for them
gVisor works great, except that it has awful compatibility which is a big issue when users submit their own interpreters
Nabla is similar
Kata doesn't play nice with Docker and I'm not even going to attempt Kubernetes, it's totally overkill
Firecracker is too much work and my hardware doesn't support it
sad
perhaps there is an alternate way to do custom langs?
Maybe. But I'm too burnt out to completely redo all of my work from the ground up.
@RadvylfPrograms I could probably figure something out
00:08
Feel free to try, if you do find something that works that'd be amazing
But I'm not super optimiztic
okay, I'll see what I can do
My logic is simple: any language must have an interpreter written in some other language
att
att
@DLosc Yeah, for sure
So barring langs that are written in assembly for some ungodly reason, interpreters can just use preexisting containers
and some config files so that OISB knows how to talk to them
Works great except that the pre-existing containers already run into issues pretty fast
Even the official Java container doesn't work right on gVisor
And Haskell spits in your face and punches your dad then promptly dies on your welcome mat
4
The real issue seems to be that this system was designed for custom containers
att
att
00:12
Though, the specific example I responded to would just be subject vs object pronouns, which pretty much only get "confused" in this case.
if ATO did it then so can RTO
ATO's not designed for custom containers though
Pxeger can trust that the languages aren't crypto miners. We can't.
Oh my, Pxeger with a capital P looks cursed
@RadvylfPrograms ಠ_ಠ
@RadvylfPrograms crypto miners suck up lots of resources. that's actually not hard to detect
00:15
So does legitimate code
My point is that there's lots of attacks possible on ATO if pxegery parts are suddenly nonpxegery
if your code golf solution is taking as many resources as a crypto miner you're doing it wrong
My point isn't resource consumption
It's going outside the bounds of what it's supposed to be able to do
these are all issues that the container-based system would've had
00:17
E.g., with TIO/ATO, you can trust the compiler. You don't really need to sandbox it, and if you do, you can do it separately from running the code. You can just adapt it to the language. A custom thing would need to be one-size-fits-all
I don't understand
Containers work great for that; you start the container, run the code, and kill it 80s later. Everything's in the container.
With TIO/ATO, it's not (as far as I'm aware) like that
tbh it seems like custom langs are hard
And if it is, it's not as fully customizable and adaptable as you'd need for truly user-submitted languages
@GingerIndustries It's definitely hard
an easy way to sidestep this would be to review every lang before it goes up
00:19
Which goes against RTO's whole reason for existing
And still allows sneaky exploits
bad people on the internet screw us over once again
Banks would be way easier to run if you could just have people put their money on a big table and grab it when they walk by later
Security makes everything harder :p
curse you, bad actors
00:20
And when you have more flexibility you need to secure, it gets exponentially harder
perhaps RTO needs another flagship feature
dunno what
One possible "solution" is to just run unsecured docker in a VM, and periodically wipe it, that still allows crypto mining and stuff, but at least it secures the host machine
Issue is that once you can break out of docker the first time, you can set up a script to do it seconds after every wipe
And you can also frick with people's code or DoS everything
And with such old CPUs, we get back to the technological limitations side of thing
easy. just rig up a flamethrower pointing at the host and trigger it upon code completion
My server has CPUs manufactured in 2009
00:23
That's 13 years of possible vulnerabilities in VM stuff
Those CPUs have seen some sh*t
hopefully not literal sh*t
And the cheaper droplets don't have virtualization support, so no backup if my main server goes down
I do think there's potential in the bubblewrap side of things
Moving away from the container based stuff to a slightly more limited setup could work. It's just going to take a lot of work and research and I don't really have the motivation to do that.
flatpak?
or perhaps NixOS, what replit uses
I don't understand why spawing a new VM (might not be the right thing) and killing it after 60 seconds doesn't work.
I can't wrap my head around the escaping docker bit.
You're saying TIO/ATO use pre-existing images which are guaranteed to be safe, and we'd have to make custom ones?
Even if they do escape though, doesn't a new VM still give you that safety net and totally shut down after 60 seconds if you tell it to?
Don't Kubernetes style things take care of that? Or couldn't they be spawned in VM, within a user that had restricted read-only permissions? Whereas within the Docker they could write files and everything. But escaping out of it wouldn't allow much.
If technological limitations don't allow though, I propose that for now we only allow CGCC users to add languages.
00:37
Radvylf is typing
How do you know?
Oh, it says seen 11 minutes ago, so I don't think so.
speaking of which we once had a <user is typing> userscript that taco ran
idk if I can find that anymore and i doubt the server is still up
I was working on a thing like that for a while, too.
@AviFS Yes we have to approve them individually, but we'll just approve everything from CGCC.
DO Droplets won't scale automatically or anything scary involving extra money, from what I understand. So the worst thing that happens is the server crashes and has to be restarted.
There's should be any bills involved, even in the worst case. So a CGCC prank is just a CGCC prank, and will be found, appreciated, and removed reasonably quickly.
> appreciated
He's back!
I don't think we should kill the project only because we can't make the security tight enough to open it up to the world. But if you don't want to work on it, that's a totally different thing of course!
00:45
I don't want to see it killed
somethin happened with tio?
@hyper-neutrino Is it useful enough for someone to restart it?
> Vladimir Putin has assumed, without a drop of exaggeration, a historic responsibility by deciding not to leave the solution of the Ukrainian question to future generations.
probably not lol
> the Ukrainian question
So, not being subtle about it, are we
00:46
@RadvylfPrograms Where's this from?
Dude's finding the most absurd justifications for this
Can't verify authenticity though
Wait nvm lol: ria.ru/20220226/rossiya-1775162336.html is where it was archived from
So yeah...yikes
This was intended to be posted only in the event of a Russian victory
@RadvylfPrograms I'm sure not all Russians are as ಠ_ಠ as Putin... right?
The majority of Russians are against the Ukrainian invasion
This is not their fault
00:50
good
a corrupt government is always a recipe for disaster
01:00
everyone my russian professor has talked to from back home about it either is against the invasion or just sort of passively goes with whatever the news is telling them
(most of the faculty in the department are ukrainian afaik but she is actually from moscow)
> doing 'doing 'doing it wrong' wrong' wrong
world’s uncertainty is scary
To Putin, this is a peacekeeping operation - he says to himself, "I'll keep this piece, this piece and this piece"
9
But his plan is flawed because he was russian to invade Ukraine
01:12
piecekeeping
rimshot again
I'll see myself out with these jokes I got from reddit
@lyxal I'm sure Ukraine is tired of Putin up with him
the message immediately below this one on the starboard was taken from reddit
ay yo where did OSP go
Probably wasn't anything to post
I'll run it manually just in case
Yeah, nothing ti post
amOgus Sus Posts
01:19
Obligatory Sh*t Post bot
It posts snark at opportune moments
@lyxal Did you mean: lyxal?
I'd hate to be a solider this month
Because by April they'll all be worn out from the 31 day long March
Feb 3 at 0:32, by Ginger Industries
y'know, once I considered making a video documentary about camera zooming and dollying. Sadly, it never panned out.
biya!
Why was 6 scared of 7?
Because 7 committed arson
ba dum tss
ok so what happens once the 24 hours are up for lyal?
01:33
It's no longer lyal
That's it
The special focus on the language being learned stops
@lyxal ok 👍
You can still discuss it if you want, but it just doesn't take prevalence anymore
precedence, but yeah
dang ok i dont think i taught much of desmos in the 24 hours but it is what it is
02:02
Visited 69 days
:)
hai bubbler is my new challenge ok?
the 2nd is getting quite bad votes tho
@Bubbler?
02:49
So...this is a sped up Eurobeat remix of Caramelldansen (speedycake remix)...which is itself a sped up version of a European (swedish) dance song
its a modified version and it has good feedback from ophact
and should i allow trailing whitespace?
@DialFrost i suggest you wait a little longer (maybe a day more) before you post it, in case someone spots any errors with your challenge
25
A: How does the Sandbox work? How do I use it?

Peter TaylorHow long should I leave a question in the sandbox? In general you should leave a question at least 72 hours to ensure that the people who check it fairly regularly will have a chance to see it and comment.

ye shld i allow trailing whitespace tho @AidenChow
cuz pajonk asked in comments
and idk which is better
@DialFrost thats probably a good idea, but its really your choice.
so u think allowing trailing whitespace is better?
02:57
@DialFrost i mean some other challenges ive seen before allowed trailing whitespaces in the output, but im not sure about ascii art challenges specifically
hmmm
how come my lexical sum challenge is so bad
:(
@emanresuA its a good challenge (quite unique imo ive never seen a interactive challenge b4)
03:45
@RadvylfPrograms Is tanks intentionally down?
No
Works for me
Hm, okay.
@AidenChow imo trailing whitespace should be allowed
oh and my school time has increased
so ill come after 4½ hours
wait pygamer wr do u live
24
Q: Convert to base i - 1

xiver77Given \$ i = \sqrt{-1} \$, a base-\$ (i - 1) \$ binary number \$ N \$ with \$ n \$ binary digits from \$ d_{0} \$ to \$ d_{n - 1} \$ satisfies the following equation. $$ N = d_{n - 1} (i - 1) ^ {n - 1} + d_{n - 2} (i - 1) ^ {n - 2} + \cdots + d_{1} (i - 1) + d_{0} $$ For example, a decimal number...

03:59
@DialFrost UTC+5½
you can guess
uuuuuuuuh
sri lanka? idk prob wrong
oof
wrong
@PyGamer0 somewhere in india?
yeah
probably wrong, but is it new delhi?
thats like the only place in india that i know lol
04:05
what are we playing? guess my location?
check the transcript
its somewhere there
Dec 14, 2021 at 13:21, by PyGamer0
yes i live on a Cartesian plane
thats all i can find so far XD
how the heck do we know your location lmao
i knew it was somewhere in india or close to it
india is massive
but that doesnt really mean you actually live in north india :\
This has three close votes right now
04:34
its quite sad humans only have 1 life
@RadvylfPrograms Do you Vyxal?
afaik no
@AviFS No
I have an idea: A raspberry pi or some cheap computer thingy with low power consumption, which will, in the morning, automatically fetch things like news and the contents of my CGCC inbox and read it aloud (with a cheap speaker or something)
Since I usually just fall back asleep after my alarm goes off, because I'm too bored to stay awake but too lazy to get out of bed
@RadvylfPrograms Never gonna give you up, never gonna let you down, never gonna run around and desert you
@RadvylfPrograms This could be fun
"Detonating in 5, 4, 3, 2, 1"
@RadvylfPrograms That's brilliant, haha.
04:47
Looks like a raspberry pi zero 2 w (nice naming guys) is just $15
05:00
Hmm, raspberry pis are out of stock everywhere
This seems like it would be a really cool project...if I could actually get my hands on one. Even the micro usb power cables for these things are out of stock :(
05:25
What would it do when there was nothing in your inbox?
my most revised answer :)
There's all sorts of stuff I could have it read
Google classroom to-do stuff, emails, etc.
Or just more news
At 1.5 speed this is almost uncanny:
Unfortunately I think YT does some fancy stuff to avoid it changing the pitch that much, so it isn't a perfect imitation
anyone can golf my answer if possible? thx
could apply the speedup that gets the best results then upload it yourself
CMQ: explicit or implicit exports?
05:37
explicit
wut does explicit or implicit exports mean
@emanresuA?
06:09
what are we exporting here in the first place ???
lol
should we have a rule that imports can only be in the header or body?
cuz i dont think we have a rule yet
Simply put, your program has to work on its own
then the footer leh
Imports you use in the code have to be in the code
footer?
cuz all the printing usually occurs there
its allowed right
cuz alot of ppl use it as a standard programming "rule"
06:15
What do you mean?
51 secs ago, by emanresu A
Imports you use in the code have to be in the code
nononon
not tat
if the program has to work on its own, does it have to include the printing statement in the body or the footer
most ppl put it in the footer, especially so so they can check output
For that specific one, the print statement has to be in the code as it's a full program
specific one???
which one
the tinylisp one
oh
but ajax1234 didnt?
06:20
Theirs is a function
mine is also a function
No, it's a full program 'cos it reads from standard input.
Functions can take input from stdin and output to stdout too
Yes, but the bit that takes input isn't in the function.
er ya?
06:22
Link?
wat link
7
A: Ungolf my tinylisp code

DialFrostPython 3, 376 bytes Basically a golfed version of the reference solution @DLosc gave import re k=" " def p(e,*t,l=0): for n in e: if")"==n:break if")">n:z=p(e);l=max(l,z[0]+1);t+=z, else:l=max(l,1);t+=n, return[l,*t] t=p(iter(re.findall("[^() ]+|\S",input())[1:])) def f(t,d=k): if[*t]==t...

@DialFrost header and footer are just constructs of tio and its descendants to facilitate test harnesses around function submissions
@DialFrost No, that's even worse - you're doing preprocessing on the input.
06:28
Oh. That input line must be within the function then
That works as a full program, yes
is there a way to shorten it by rearranging stuff?
I was mainly thinking about how to put the whole t=... line into the function f, but somehow it isn't working
ye
same
maybe its cuz of input() ?
06:36
This should work
@RadvylfPrograms Would you mind fixing random-question.user.js?
g is the function submission in the code above
and you can subtract 2 bytes for g= because g is not recursive
@RadvylfPrograms Are you home yet? :)
06:51
@mathcat is the other function an action? maybe you wanted something like this: desmos.com/calculator/lb5izktaac, though im not too sure this is exactly what you want. maybe if you elaborate a little more i can help you better
oh wait you wanted to set the var to 1
just replace a->n with a->1 in the graph above
07:07
Does Jelly not have a repl?
Not just Jelly, 99.99% of esolangs don't come with a repl
I--
This is sacrilege.
All the good ones do :p
Define "good" :P
I just did.
So "good" = "has a repl"?
07:12
adj. good: The (intangibly wondrous) state of having a repl.
4
And by def of a definition, that's a one-to-one correspondence :p
guys do ya think chemistry is hard or easy
Never really took it.
chemistry is fun at a distance, but unhealthy when you get too close
6
AFAIK, it's memorization heavy. Which should imply that it's also conceptually a bit lighter than something not so memorization heavy.
But depends on the course and instructor, of course.
@AviFS huh, i always found chem to be more conceptually based while bio is more memorization based, but maybe thats just how ive been taught them
07:17
I always decided on classes based on the teachers, which I highly recommend.
@AidenChow Relative to bio, I'm sure you're right. I was thinking relative to math/cs, and maybe physics.
Introductory bio classes are probably even worse in that regard.
@AviFS ya, thats true
a whole bunch of terms thrown at u plus math
especially thermochemistry
like i sometimes mix up what G, S, H, Q, q, w, E represent, and probably other stuff im forgetting
07:35
Chemistry as in combining chemicals to make pretty colours is fun
@emanresuA yeah true, but learning about the nitty gritty details of how and why it happens is not as fun :p
always hate it when my chem class has another cool experiment, but we have to actually jot down observations and explanations for every single thing that happens in the reaction. its like being forced to take notes and analyze a movie while watching it for the first time, especially when you actually enjoy said movie
08:37
what are we even talking about
i don't get it
@SegFaultPlus4 uh, we talking about chemistry
oh ok
i have decided that Rick needs a rest
so this is now a rickroll-free space until Monday
also i wish we could see if and when someone was typing
@SegFaultPlus4 eh i'd rather it not tbh, i dont really want other ppl to be able to see if im typing or not
ok fair enough
i wish this was continued, i really want to try it out :P
08:49
@AidenChow so sindesi is desmos but repackaged
@SegFaultPlus4 seems like it
so it's TC
@SegFaultPlus4 you mean turing complete? yeah, desmos is turing complete
@AidenChow yeah, somehow it is
it doesn't have unbounded looping tho
@SegFaultPlus4 it actually does
^ specifically, tickers can be used for infinite loops
without actions/tickers, desmos would not be turing complete
08:55
how do i ticker
@SegFaultPlus4 type "ticker" into an expression box
or click on the plus button on the top left corner and click on the ticker option
this reminds me of a graph i made

« first day (4051 days earlier)      last day (1089 days later) »