« first day (4025 days earlier)      last day (1115 days later) » 

17:01
Hot take: monospace fonts aren't actually necessary for writing code, we just use them because a) historical reasons b) it "looks like code" and c) it's just slightly more useful than non-monospace font in some cases
Monospace fonts are pretty much necessary in terminal emulators, so if you want to write or run code in a CLI you'll end up needing monospace
Well for people who write code in a terminal-based editor yeah
But for stuff like Sublime, Notepad++, VS Code, Atom, etc.
17:16
Okay, just for fun, I've configured T2xt to use "Atkinson Hyperlegible" instead of monospace.
It's...not horrible
Although I wouldn't opt to use it over a monospace font
(T2xt is my now-heavily modded copy of Text)
@taRadvylfsriksushilani They're easier to render even outside of terminal emulators iirc
Like you can highlight just based off of the row and column of a character instead of knowing the widths of all the characters before it
Not really
Because you still have to default to different width characters for some stuff
Unless you override how the OS does font rendering
(Which some terminal emulators do, but most text editors likely do not)
E.g., is much wider than a single character in the text editor I use
Hmm, I feel like I've seen a setting in VS Code or something warn that setting the font to a non-monospace one would have an impact on performance
O(∩_∩)O
O(U‾U)O
17:29
> QOTD:
> Even advanced technology cannot defy the laws of physics.
> - Ford car manual
@taRadvylfsriksushilani in almost all terminal emulators, every character is still always a multiple of one cell
@GingerIndustries 1+ for at least having a physics degree
@pxeger well fractional characters would sure be interesting
@GingerIndustries well look at the letters in the sentence I'm writing now. If you consider x to be one cell, all of them are fractional widths
17:31
idea: combining offset superscript and subscript numbers and slashes so you can build your own fractions
nice
@GingerIndustries That's literally a thing already
There's a /-like character meant to be used for that
23⁄45
Okay, update: The crostini terminal handles too-wide characters in a very janky way
@taRadvylfsriksushilani oh
17:33
@pxeger the rendering engine is "supposed" to turn this (using U+2044 FRACTION SLASH) into a nicely formatted fraction
like anyone's ever gonna bother implementing that
unicode is cool
Here's how crostini's terminal handles too-wide characters: drive.google.com/file/d/1cBxY77lRieFHRLGtAkroG_EpI5thMbhx/…
Here's how Google Drive handles too-small videos:
wait
17:37
ugh
I wanted to guess
@pxeger I would have said "Lol no to small"
Here's how Google Drive handles pausing small videos:
Anyone want to guess which languages take up the most disk space on ATO?
me
I'm good at guessing
17:39
@pxeger Does it have Haskell?
let'sa see
ok then guess instead of just saying "me" lol
some golflang prob
@taRadvylfsriksushilani no, but I was holding off on adding Haskell for that reason lol
17:39
Haskell's 2 GB on RTO, Python is 70 MB :p
@pxeger Scala 3
lemme see what langs it has
one sec
this is on staging.ato.pxeger.com specifically
which has a fair few more languages
@mathcat nope, that's actually only about 40MB
17:40
Objective-C?
node.js?
some C variant?
Node's pretty big, yeah
170MB on RTO
Don't ruin the fun saying "everything takes the same amount of space"
Java is #2
17:41
knew it
Or possibly Ada?
Pip
@DLosc is pip big?
Nope, I added Ada and Fortran because they come for free with GCC
@mathcat no
it's basically just a few KB of Python files
Imagine space usage being a concern, made by 2 TB of 10k rpm hard drives gang
although it depends on Python, so arguably it's more like 60MB total
17:42
The whole GCC package?
I assume it's Scala, Ruby, one of those mainstream languages
@taRadvylfsriksushilani actually I want my users to have a good experience so I store everything on NVME SSDs /hj
Imagine using hard drives, made by USB 3.0 flash drive gang
@pxeger RTO preloads popular containers for a 0s startup time :p
17:43
^ would be a nice feature to have for ATO
@user actually, I just realised Ada is much bigger than I thought, about 150MB
@user the reason ATO has so much janky sandbox logic is precisely to avoid the overhead of creating a whole docker container
I'm going to (was before you said Ada) guess Scala 3 takes up the most space because the docker image also seems to include sbt (which also increases startup time)
@pxeger It's a fraction of a second lol
@user my first guess!
@pxeger Oh, didn't realize that
17:45
Even for RTO's currently largest language, Node, it takes under half a second
@mathcat Oops, didn't read that far
well now I want to make one of these
except I ain't got server space
@user no, I'm happy that I'm somewhat right
it creates a bwrap container which only takes 0.004 seconds
@taRadvylfsriksushilani not at all IME
17:47
it's about 500-1000ms
@taRadvylfsriksushilani that is quite a large fraction of a second
I think it's because it mounts the image every single time you create a container
What's half a second going to hurt? The network and stuff is probably just as big of a delay
i'm going to set up a system that uses yalls APIS to run interpreters for other languages
@pxeger well this idea is a bit different
@GingerIndustries With RTO, you know you can just upload the language's interpreter and have RTO itself run it, right? :p
RTO will allow users to submit their own languages
17:48
VTC Ginger as dupe of GingerBot
@taRadvylfsriksushilani idk about you, but a hello world on TIO only takes about 300ms RTT
instead of simply running preexisting languages, I'm going to set up a repository of interpreters that my service runs using your services
that's my goal
@GingerIndustries But...why not just add that repository to RTO, saving time for both of us? :p
@taRadvylfsriksushilani because yall are slow and the Internet is impatient
17:49
No, you can upload them yourself
@taRadvylfsriksushilani ???
RTO lets users submit custom languages, without me
how?
as a docker file?
So that a TIO situation can never occur
weLL IMMA DO IT ANYWAY
@mathcat Yes, that's one option
or a github repo linK?
If it's written in a language like Python or JS, it'll handle the container stuff for you
17:51
oh ok
nice
So like, if you write brainfuck.py, you just upload that, choose the correct I/O format, and you're done
cmon I wanna set up one of these services but yall are already doing it
;⸻;
It'll go through a sort of "peer-review" process before being usable on the main site, but that'll just involve a few registered users scanning over the code for 5m and clicking a "this is not a bitcoin miner" button :p
there is no room for me to do anything
@GingerIndustries You can join the OISB team :p
17:52
@taRadvylfsriksushilani well what is there for me to do
Actually, not that much honestly.
We're working on some of the details of how the containers will be set up right now
i do not very good at container
And I'm having to write some rather complicated stuff in Rust which is fun (sarcasm)
17:54
list of things Ginger is good at:
* python
that's about it
Multithreading and child processes and stdio streams in Rust...such fun yay
@GingerIndustries didn't you forget Github Perks?
perhaps I could set up a CGCC chatroom bot to run code using OISB?
@mathcat and that
and GingerBot
17:55
@GingerIndustries That could be a good idea. I'll be adding an API soon.
hooray I had a good idea!
lemme make the chatroom RN
just need a clever name
@mathcat No, it's little ^_^
uhhhh
name suggestions?
@taRadvylfsriksushilani Is there a reason you chose Rust, even though it's hard?
actually Rust generally isn't hard, it's flaky and crumbles off when you touch it
@GingerIndustries what's OISB?
17:59
Feb 1 at 21:07, by ta Radvylf srik su shilani
Online Interpreter Shared Back-end
@mathcat Online Interpreter shared Backend
ninja'd
@pxeger Because C was too hard to do this stuff with, and Node wasn't low-level enough, and AviFS tried Go and it didn't work well
@taRadvylfsriksushilani laughs in Python
And Python just doesn't have the capabilities to do what we need, at all
It's very low level stdio stuff
@taRadvylfsriksushilani if it's turing-complete then you can do it
18:00
@taRadvylfsriksushilani ATO uses Go, Bash, Zsh, and C, and in the medium-to-long term I'm hoping to replace most of that with Go
@GingerIndustries Calculation-wise, yes. OS wise, no.
yes i know what turing-complete means
Not a fan of Go, honestly
Why not? I really like its simplicity
OISB itself uses Node, which works perfectly fine.
It's just a few very low level scripts running within the containers that need C/Rust.
@pxeger The syntax is big ugly
18:01
well the room is for practicing code right?
so I think I'll call it the Firing Range or smth similar
oh that's only superficial, come on
"superficial"...it's half the language
If my code is ugly I am not happy.
@taRadvylfsriksushilani I've genuinely found shell script very good for writing low-level I/O code
It probably is, that's what I'll be trying next
I care about writability and readability
ugliness is not necessarily the same
18:02
And syntax is a major part of that
If I don't want to read code because it's hideous, it's not very readable
@DLosc it's huge
"The syntax is big ugly" - I'm not responding to "syntax", but "ugly"
should I reuse GingerBot or create a new one?
The only objections to Go's syntax I can think of are: variable type syntax instead of type variable or variable: type; the := operator; some of the control flow being reused for things they aren't (mainly the for loop); backtick strings
I don't like its packaging and module system, but I haven't really found any language that does it right so I won't complain
at least it's not as bad as Python and JS
tbh GB is a mess, I think it's best if I make a new one
I shall call it OLIMAR: OnLine Interpreter MetA-Runner
if anyone asks, total coincidence
18:08
pikmin? lol
@GingerIndustries Oliver goes to Mars
@pxeger just measured (unscientifically), and it's about 600ms on TIO, vs. 300ms on ATO
although that's probably related to TIO being in the US and ATO being in Finland
The traceroute results are actually very interesting
bit.ly/34BacKc (ATO link too long for one SE chat message)
30 hops to TIO vs 18 hops to ATO
and almost every hop to TIO didn't respond (that's what * * * is)
@pxeger Python Interface to Connect to oisb-coMpatible Internet iNterpreters: PICMIN
REDACTED are the bits which were common between both, and therefore probably pretty identifying, so I removed them
yes that is the final name, no i do not regret anything
@taRadvylfsriksushilani do you mind if I use one of your emails again?
18:21
Not at all. Just do anything @amidst.dev
alr
@taRadvylfsriksushilani ok it sent the message
@pxeger So is the biggest language Ada? Or something else?
hopefully that doesn't result in you having access to the account :/
Well it would, but only if I knew the exact email address you'd used
And I'd also have to care enough about some random sock to bother with it lol
@taRadvylfsriksushilani ah well, just as long as it worked
18:24
Such confidence inspiring
better then "your package might be delivered"
nothing has happened
@taRadvylfsriksushilani it says it sent a confirmation email
@user nope, it was Funky2 (because it uses .NET Core)
Followed by Java, Go, then Ada
@GingerIndustries I clicked the thingy, you should be good now
ok thanks
does OISB have a logo?
I tried to send you the link instead of licking it myself, but it was too big to fit in chat
18:30
> licking
@GingerIndustries No, we made the name like a week ago :p
hmmm
todo: make a logo
I'm an expert logo designer
I uh um originally created the logo of SE Nitro
@mathcat ok then
I have a logo that I made using Unicode:
1️⃣2️⃣
⏩🆗
(that was sarcastic)
But I'll try
18:33
@mathcat too late now
Themes are programming, back-end, interpreter, golfing, and languages?
@mathcat more or less
keep in mind that this will be OLIMAR's pfp
so 128x128?
yes, and not too complex
bc it'll get scaled down
okay
because of an excellent extension installed
okay, this is my first time using it but
The dimensions shown in the chat are 16x16
18:37
@GingerIndustries how about this:
that's not related
it's olimar!
so a 12.5% zoom
@pxeger "captain olimar" lol
Don't you hate when you accidentially do vim main instead of vim main.c/vim main.rs/vim main.go?
@pxeger no, that's a guy in a spacesuit
18:39
I've only done it twice but it seems like something that deserves some hate
yes I do do that sometimes and it is annoying
Mutex sounds like it'd be a cold medicine
Sounds like something from a sci-fi movie to me
Is there a language with a short print function and is popular?
18:45
@mathcat APO- oh wait you said popular
nevermind then
"Oh no, he got access to the Mutex! Now he'll gain even more superpowers!"
we'll have to lock him down
get the semaphores!
@taRadvylfsriksushilani thanks
And an Arc Mutex sounds like an even more dangerous sci-fi weapon
@user Side note: I dislike movies branded as science fiction that really just use science as a way to handwave all sorts of magic
@taRadvylfsriksushilani Cow is a lot less threatening, fortunately :P
18:46
@user Did you mean: The Core?
> Unobtainium
@taRadvylfsriksushilani "We need to turn off the RefCell before it spawns more clones into the Mutex!"
Currently do log_256(1.8) byte exist in any language?
@user Just put it in a Box
@l4m2 I don't think that'd be possible with any existing languages, no
most of what we do here is stupid programmer jokes
@l4m2 You mean a codepage of that size?
@GingerIndustries Mainly reposts from Reddit and Twitter :P
@taRadvylfsriksushilani It's all good, its lifetime ended immediately
18:51
I know it can exist and is a good measure but not sure if now
@user I have coughs no idea what you're talking about.
@taRadvylfsriksushilani lemme know once you've got the OISB API online
You can use the ws for now if you want
@taRadvylfsriksushilani eh?
@taRadvylfsriksushilani are there docs
18:58
@GingerIndustries No, because the ws is for internal use. But if you go to rto.run, the JS is basically documentation
@taRadvylfsriksushilani I knew it
also that's one of the most ghetto sites I've ever seen
Yeah it's very prototype :p
alrighty, lemme set up a library
I've got some pretty cool plans for RTO's UI though
19:06
@GingerIndustries Prolly shouldn't do the FA review for your own bot, due to sock rules
@taRadvylfsriksushilani ???
oh.
Since you technically benefit from doing the review (1 out of 250 or whatever reviews needed for the badge)
well, too late now
sry
It doesn't matter that much, just good to keep the separation as far as possible
19:27
Feedback on Olimar colorpalette?
Does it look like a backend interpreter smth?
@mathcat looks alr
noice
@taRadvylfsriksushilani what do you think?
Of the color palette?
What is an Online Interpreter Sharing Back-end?
19:30
It's the back-end code that will power RTO.
I'm making it with AviFS, and we're sharing it between our two interpreters, and it'll be open source so other people can use it for their projects if they want to
@taRadvylfsriksushilani yes
Looks good.
It's not really my style so I don't really like it personally, but it is good
19:46
wait second ... how
How did a stupid person like me reach 25k people
It's based on view counts on questions you've answered
I mean, If I had that many subscribers
I will have more subscribers than Pewdiepie
According to CGCC I've reached more than 600k people :p
@taRadvylfsriksushilani oh disappointed
It's basically a meaningless statistic
19:49
but
I remember (at least some months ago) somewhere you can see the number of people who read your profile
that's more accurate
but it seems it's not there anymore
They removed it due to "privacy concerns" or something stupid like that
Iit was the same time that they got rid of a ton of other nice stuff
aw
I remember past math seeing those
CMQ: If you had an array of byte string and needed to represent those with a single byte string, how would you do that?
if this is for command-line arguments, then with null byte terminators
because command-line args can't contain null bytes
otherwise I'd use some kind of escape system (e.g. comma-separated with backslashes to escape commas and backslashes), or an established multi-purpose serialisation format like msgpack
The solution I've ended up going with is prefixing the length
Like TLS and other networking protocols do
20:17
@taRadvylfsriksushilani That's... gosh rustpython is tiny
Well, keep in mind those come with full OS installs too
Although Alpine, what the Python image uses, is only about 5 MB
0
A: Sandbox for Proposed Challenges

AnttiPAll substrings code-golfsequencesubsequenceopen-ended-function Make a program that outputs a sequence of integers so that every finite sequence of positive integers is a substring (continuos subsequence) of the output. For example, the following sequence satisfies the rules: 1,1,1,2,1,1,1,1,2,2,1...

ok I've kinda got PICMIN working
@taRadvylfsriksushilani what langs does OISB support?
Currently, Node.js. In the future? Planning on shipping first full release with 40 or so.
@GingerIndustries i take it that's what OLIMAR is for?
20:27
And adding at least one a day for the next few months after that
@UnrelatedString OLIMAR is the bot, PICMIN is the Python library it uses
I'll continue to work on the logo tomorrow o/
o/
Fine to ask, you might want to ping Neil who uses retina
20:45
@emanresuA oh ok
new to retina, can someone with better experience explain why this code works on retina 0.8.2: tio.run/##K0otycxL/P8/JkWbS0WLy/D/fxNTLjMA, but not on other retina: tio.run/##K0otycxLNPz/PyZFm0tFiwvIsjRTMAcA
@Neil ^
should add two numbers
retina 0.8.2 returns what i expected, but retina 1 returning 0 for some reason
I'm guessing $* does something different in Retina 1
@cairdcoinheringaahing it should do the same thing, github.com/m-ender/retina/wiki/The-Language/…
it says that in 0.8.2 too
Huh, then no idea
20:50
oops wrong link
but it says the same thing
oh wait nvm
im blind
it says $* is the literal asterisk :facepalm:
ok disregard everything i said i figured it out lol
ok wait then how do you convert to unary in the newer retina then
im so bad at reading documentation i literally was reading 0.8.2 documentation twice and thought they were two different documentations
Just call it python
five chat flags at once???
-1
Q: ⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀

risky mysteries⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀ ⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀ ⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀...

21:28
@emanresuA That's actually really clever :P
how do you put collapsibles in posts
i couldnt find it in the markdown guide
@AidenChow in Retina 0.8.2, $* is the character repetition operator whose RHS defaults to '1' while in Retina 1, * is the string repetition operator whose RHS defaults to "_"
21:49
@Neil thanks, that clears things up
@cairdcoinheringaahing yeah, thats what i came up with too, thanks for the help
@thejonymyster Aisde from stack snippets, you can't
@cairdcoinheringaahing I guess my answer will just be long then :P
22:40
wtf, I was making some methods to turn ASTs back into source code, Copilot just autocompleted all but one of them, including one where it needed to know the actual syntax for that AST
Oh wait, it got the syntax from the docstring
Still really impressive though
the fact that it got the syntax from the docstring is quite impressive
if it managed to get the syntax without having anything to refer to that'd be somewhat concerning :P
I switched my code editor's font from cousine (chrome's default) to Roboto Mono, and it's kinda annooying because they're near-identical fonts, except with tiny differences. And my eyes keep like...blurring stuff to try to "fix" it
The same thing happened when I made some subtle changes to the colors, any time I'd look at it when I looked away the colors of other objects had shifted. Presumably I'd been so used to seeing those colors that when I changed them a tiny bit, my brain just assumed my eyes weren't working right and adjusted everything else to compensate.
@hyper-neutrino Well I originally thought it somehow inferred the syntax from the parser (which is in another file and not very straightforward)
Ugh, Japt is pain
Its interpreter requires an HTML element for stdout and stderr
Idk why but it's a real pain to use
Oh wait, I can just override Japt.output

« first day (4025 days earlier)      last day (1115 days later) »