« first day (19 days earlier)      last day (65 days later) » 

00:01
still can't connect
am i dumb
@allxy bug: you can't right-click to switch colors while on cooldown
is there something i need to do
I can't swap colors on cooldown, and right-clicking never works
as I said
oh cool just needed a hard reload
time to make my first mark
00:06
@Ginger I thought right-clicking was working for you while not on cooldown
it is
Well it's not working for me
okay the triple thick section of that horribly scuffed stapler looks better than i thought it would
That's a stapler?
never mind
00:07
No no it looks good now that you told me it's a stapler
The color just didn't put a stapler in mind at first
time for a bigger code golf medal
blue is an even staplier color than red to me due entirely to what i'm trying to draw lmao
00:22
@BowlingPizzaBall ...at this point we should probably do the actual site favicon pixel by pixel
@UnrelatedString first off we'll need to get the favicon
there's some antialiasing to figure out how to work with but yeah
cool, we have our favicon
(pasting here for reference)
anyways i printed out this ascii art of a 7 with a sears 300 portable typewriter
50 bucks on ebay, not too bad of a purchase
00:42
Gosh it looks different at 196x196
actually kinda crazy
It's hard to use at 196x196 on mobile
It was hard not to get frustrated with all the mistaps
00:56
okay so the favicon replica looks hideous up close but it's pretty alright zoomed out
01:07
Am I the only one who's annoyed that the pixels are slightly irregular sizes at full zoom?
Wow, 12 people
No you aren’t, I thought the top of the 7 was 2 pixels tall for a sec
20 people
Wait that's bots
Someone’s def got bots
Apr 16 at 2:29, by Radvylf Programs
Okay, whoever keeps joining with dozens of bots, please stop. I'm not going to do anything about it yet, but it's unnecessary bandwidth and server load and it makes the online count useless which makes the experience slightly less fun for everyone. It's not funny, it's not constructive, and it's not necessary. Thank you.
They’re not even doing anything
01:16
They're still consuming radvylf's bandwidth
That’s good
They still recieve messages across the websocket
I’m loving the detail that’s possible now
Can’t you just kick them?
Oh god there’s more
35
Just kick everyone
And then the real people can let themselves back in
01:19
bots be like: WE LOVE CONSUMING BANDWIDTH!!!
something going on in the top right corner
Oh GOD it won’t stop GROWING
@allxy can’t you check their ips?
They’re likely one person with lots of tabs
IT WONT STOP
@allxy I’ve noticed that too
I would really like if the person who was doing all of this wasn’t existent at this singular moment in time
@user Yes, I defninitely have access to the server
01:29
Is it possible to automatically kick someone if they join multiple times with the same ip?
Probably, but that's a bad idea
They can get around it using tor or something and it's just gonna impact, say, multiple people on the same wifi netwrok
you’ll probably need to switch to http for that
Why? There’s never any need for anyone to have more than life 5 tabs
@allxy oh
I mean, you can block tor
Apr 6 at 2:30, by allxy
I've managed to get most of my computer science class on it lol
For example
@user I think there's no point going to all this effort.
Radvylf was working on a manual kick thing
I was going to say it unlikely that cgcc users are in the same place before you said that lol
Fair enough
01:36
we should kick IPs with exactly 3.7 tabs open /j
Oh good
They’re gone
They're back
They're gone again
Every time Vyxal grows larger
Whatever this is, it looks cool
02:18
I actually kinda failed at it
I was trying to make it intersect wherever two colors were similar
But the dark purple thing is too far away from the brown and the green is in a weird place and other stuff
Sorta gave up because I’m on mobile
02:29
@user that's like half as many chat tabs as i have open
You don’t have those many tabs of the exact same page though
Why would anyone ever need 5 cancas tabs except for testing or something?
i probably have three or four of the same page somewhere
We’ll you deserve to be kicked for being disorganized
though i have started trying to purge tabs that have been languishing for more than a month or two
More than a month ir two!!!????!!
Wut
02:32
i'm bad at finishing things i start
Do you not close your unpinned tabs?
i have one window with uh
No one sas that good
23 pinned tabs
Oh dear
That’s either a very wide screen or…i don’t even know
02:34
there's only room to display 3 non-pinned tabs at a time so it's really easy to lose them and have to open the same thing again
which is why i now have a second window for college stuff on top of that
Oh
If you’re using chrome maybe groups could help you
Anf vivaldi has tab stacks
Oh
in other news whoever turned the stapler into a gun
good job and amazing idea, that looks gorgeous
Thank you
(Fishing for more compliments here, I also made the I think i am guy abd the top right corner if anyone wants to applaud my craftsmanship and creativity)
03:07
wait i think i may actually not be able to see the bottom few rows of the canvas
probably for reasons related to white and light gray requiring me to scroll down
like i was looking at the vyxal war going on and realized there's "readable" that i can half see under "elegant" if i zoom in far enough
and speaking of the vyxal war i just want to say that aside from cleaning up small elements that've overstayed their welcome just plain destroying something without something to replace it with is just kind of a dick move
doubly so at a stage with this much free space
keep the vandalism cheeky :)
@UnrelatedString Try reloading?
good idea
yeah no i still can't see it
Hmm
Idk why, sorry
03:23
also timelapse for iteration 3 seems not to work yet but that's not exactly urgent at this point lmao
Hmm
does still work for iteration 2
> invalid array length
Don't ask me why, I'll have a loook
I think you have a case of cached CSS
Hard reload
Because the buttons are now 1/13 width where they were 1/12 width
yep hard reload fixed it
thanks
also the paintbrush favicon looks nice
That was ginger
and the coordinates stopped disappearing
like they actually would be there when the page loaded then disappear after a bit
z-index weirdness
For some reason everything in the header bar needs z-index: 1 to be visible
03:28
wack
I just realised I've been using my localhost client all this time
Doesn't really matter except for my stats lol
So TIL js is jank
According to Math.min and Math.max, NaN is both greater and less than anything.
i think that's just an ieee floating point thing
almost works lol
03:35
python has it neither grater than nor less than anything
lmao
Oops, forgot to set the default colour to white
we might want to actually consider doing black or grey as the starting color for iteration 4 to spice things up come to think of it
That could be interesting
Pushed fixes for the timelapse and right clicking. @RadvylfPrograms might not get around to adding them today though
Btw, remember how we had issues because the backed up canvas state wasn't synced with the logs? Now it is :)
04:48
while the timelapse fix remains unpulled i decided to see if the heatmap does any better and
it's beautiful
I didn't patch the heatmap lol
05:20
Oops, mismeasured the center for the rainbow
05:32
CMQ: achievements? I feel like there wouldn't be much to go on but could be interesting
Maybe something like the reddit ones
That's participation, having a pixel on the final canvas, placing a pixel in the first moments and placing a pixel towards the end
Maybe
i feel like all four of those are exceedingly easy here
maybe adding more personal stats could be cool though
like number of pixels on final canvas each iteration, longest a pixel you've placed has gone untouched, etc.
> stab people with stationery
I don't disagree with it as such
I mean obviously I don't recommend it but still
FYI the gifs generated by the timelapser are horribly uncompressed, you can get them down to 1% with a compressor
06:11
sighs the bots are back
CMQ: undo?
Only once
seeing the occasional corrected misclick on the timelapse is charming
06:44
@UnrelatedString Wait, it works?
Radvylf pulled it?
i mean in general
Oh on #2?
yeah
as an argument against adding undo
though if undo just automatically placed the pixel you replaced back it would be a nice qol thing so you don't have to fuck with the palette to fix mistakes
^ is what I meant
And it resets your timer, but it's not stackable
sounds perfect then
06:58
Unfortunately it won't be implemented until next week when I get back
Unless one of y'all wants to do it - Radvylf has push access to the repo.
 
5 hours later…
11:29
o/ for a week, go forth and place!
0/
 
2 hours later…
13:29
Okay, does anyone have a script to rebuild the canvas from logs?
@allxy Do you?
It would be really helpful if Ctrl+C auto-saved a canvas.json
Just need to do process.on("SIGINT")
Did it break?
No, I had to restart it for updates and I don't have a saved copy of the canvas
So I need emanresu's rebuilding thing
well yikes
we're emanresuAless for the next week
Well I guess I'm writing one myself, should only take a minute
13:51
emanresu
132 171 NaN 1650621518779
wtf happened here
I think you need to work on hardening it down more
Canvas should work perfectly fine if someone were to pipe /dev/random into it
This is handling untrusted user input
It's up now
 
4 hours later…
18:10
does it just seem like it because bigger canvas + no emanresu or has this been way less active than usual for these times of day
 
1 hour later…
19:17
Aw man should've suggested highlighting the pixel of mouse is hovered over
i think someone did
not criyical with the coordinate display though
anyways i'm having a really weird experience rn, right clicking places a pixel but on cooldown it picks the color
is that intentional or just google chrome on windows 10
i'm getting it too
@RadvylfPrograms If you were using -B, that'll synchronise with the logs?
19:37
I wasn't though, updating every minute is worse than either option
Since you'll still probably lose data on a restart, but you're also unnecessarily adding wear to the disk and stuff
Okay :P
If you pull, I've added input validation
(have you set it up so you can pull?)
Yeah, I managed to pull this morning, and it would've been a pretty smooth experience if it weren't for having to write a script to rebuild from the logs
Cool :)
who removed the tetris
19:41
Aww
I see you've started copying my coding style
Partly...
@BowlingPizzaBall i think the whole canvas just got rolled back or some shit
and by a lot
yeah the pride flags aren't really there either
like by several hours
the whole pink fill on vyxal rad is also just gone
Hmm, I just did a restart after the pull
But everything should've been saved
19:46
Oops, I just realized I've contaminated the logs with stuff too
Lemme filter that out
Did that fix it?
@allxy No, I just copy-pasted that from elsewhere and removed the wack stuff like split` `
looks fixed
Template strings should never be used as a shorter way to call a function with a string argument IMO
It communicates entirely the wrong message about the purpose of the operation
And is ugly
IT SAVES TWO BYTES
Fine then (PRs with main.js golfed to be a giant arrow function)
boutta golf your entire codebase and pr it
19:59
Lol
this is code golf stack exchange after all
what is the purpose of f`xyz` anyway
It's meant to be like Python and other good language's f"" strings and stuff
¯\_(ツ)_/¯
ah
was just about to guess that, lol
20:01
So like, String.raw`abc\n` is the literal string "abc\n" instead of abc and a newline
And that's as far as they bothered implementing it
now i'm even more confused
You can also do ${} to run code inside the string, like a format string, but ugly and not actually any prettier or easier to type than + spam
does String.raw replace newlines with \n or are format strings raw by default with String.raw basically as an identity function
i use ${} excessively, often where it makes the code look less clean, lmao
20:03
@UnrelatedString The second one
Actually a bit of both
one nice thing is ${x} is x.toString() but handles null and undefined without erroring
20:03
It's an array with a raw property, and String.raw is the identity function on .raw
although you could just do x + ""
@RadvylfPrograms okay i hate that
gonna casually pretend like i know all of this stuff
f```` is f("")("") and not f("", "") right
20:04
@hyper-neutrino so you're telling me that abusing coercion is better than using toString sometimes
@hyper-neutrino Correct
what the actual fuck is js
What the...wt..
@UnrelatedString a programming language. What did you think it was, a bear?
@RadvylfPrograms ...i guess that almost makes sense???
20:05
Where did the 1 go?!
I wonder if it got evaluated at all...
????????????????????????????????????????????????????????????????
because
js is broken and mangled and reeeaaally unpleasant
Honestly JS should just go full perl on us
20:07
it somewhat makes sense i guess
the raw array just presents you with the constant parts of the string without the interpolation
But like...what's the point of discarding it entirely? Like, whatever's in that ${} is gone forever
a crossover with js and perl would be as good as a car accident involving heights and fire and would be as readable as a 3 year old's mind while they're reading hieroglyphics
20:08
i hate that
phenomenal
variadicity was a mistake
I'm going to put my head in a leaf shredder now
6
I'll see y'all later
have fun
have a safe journey
20:10
So this means....split` ` only works because the array-slash-dictionary gets cast to a string, joining all the items with commas, but there's only one item
.split` ${1} ` would split by ​ , ​
wait even better
.split` ${1} ` splits by " , " and only gives the first 1 entry
Okay...why does evaling something other than a string result in the identity function
so x.split(", ")[0] can be x.split`${1} `
this is so dumb
20:14
eval([]) is [], eval({}) is {}, eval(new Map()) is Map(...)
So that's why using template strings doesn't work for eval
Yep lol
@hyper-neutrino oh wait not exactly
x.split(", ").slice(0, k) can be x.split`${k} `
Wait what
Wait TIL can split take a second argument
i don't like it
in python, str.split's second argument (keyword name "max") determines how many times it can be split
20:20
@hyper-neutrino My response to half of JS:
and after that the last block just stays as one block
in JS it just cuts off everything else
which you could literally do yourself with a .slice(0, k)...
^^^^^^^
so it picked the less useful behavior to have, cuz the way python does it is much harder to do by yourself, whereas you could just do [:k] to do what JS does
anyway this is really off-topic now but i guess canvas isn't running so i won't stop it if username doesn't want us to move lol
oh wait nvm it is running
20:31
was about to say
 
2 hours later…
22:04
it… seems to be the case that edits aren’t saving
like it’ll let you do things that show up client side but you refresh and they’re gone
i tried removing some noise right after the rollback got rolled back then just now opened it on my phone and saw it’s still there, removed it again and refreshed, it never left
sure hope nobody thought they were doing anything in the last two hours, unless it’s an issue with the canvas state that somehow doesn’t affect logs
22:31
@RadvylfPrograms
oh
well i extended the sierpinski triangle by one iteration
rip
23:10
Weird
I think emanresu's input validation is a little on the safe side
Fixed
There was apparently no testing done before the validation was pushed
@UnrelatedString

« first day (19 days earlier)      last day (65 days later) »