« first day (4440 days earlier)      last day (396 days later) » 

2:21 AM
bad idea: for loop sets local variable __break__=True if it ends with a break, False otherwise
another bad idea: for loop is an expression that evaluates to the value of __break__ above
 
2:36 AM
The latter sounds like a fairly reasonable option
Definitely more readable than Python's way of doing it
("for else"? else what?)
 
for: ... default: ...
 
I ran into at least one instance recently where I actually found a use for a for/else sort of thing
 
@Bbrk24 that would definitely be of marginal utility
@RydwolfPrograms yeah honestly it's really useful
any is useful, bare for loops are useful, why not both
though i guess the most direct way to implement that would be the for-has-a-boolean-return idea lol
 
Alternatively break could be a keyword/function that takes an argument that the for loop returns
And then a default could be specified somewhere
 
true
or it could just implicitly lift to an optional type
 
2:48 AM
Oh true
 
Rust does that with break in loop, but not for or while, which is sad
 
Ooh it does?
That's cool
 
let a = 0; let x = loop { if a == 10 { break a; } a += 1; }; works
 
i'm also partial to for loops just effectively being some kind of generator map expression, in which case you could have the default return from each iteration be nothing and have a fold that doesn't evaluate past the first something
 
Not very performant tho without a lot of optimization
 
2:51 AM
@UnrelatedString Did you mean: .iter().find_map()
 
yeah that sounds pretty likely :P
@RydwolfPrograms this kind of stuff is expressive enough that making it optimize should be a priority
 
3:23 AM
CMQ: Go lick a nintendo switch cartridge
They're made intentionally bitter
 
incredibly so from what i've heard
 
 
4 hours later…
7:04 AM
ok what kinda idea is that... what compelled u to think about licking a cartridge in the first place???
 
7:21 AM
@AidenChow count
er argument: why not?
What thoughts aren't compelling you to devour Nintendo switch cartridges?
 
7:41 AM
CMM Do you think the staging ground work work well for our site, and could it replace the sandbox?
 
8:02 AM
@lyxal ya know, maybe like the fact that cartridges arent meant to be licked and/or eaten??
@mousetail wats staging ground
why tf did the search query "licking nintendo switch cartridge" actually have results???
and they are all news articles?? what
is this like an actual trend or what, ppl r doing this??
someone plz explain, like huh??
 
8:18 AM
it was pretty big news that they lined up an exceptionally bitter coating as an anti-licking measure
so the rest is obvious :P
 
@AidenChow you think this is bad? This? This chicanery? People have done worse! Those tide pods! Are you telling me people just happen to eat washing detergent like that? No! It orchestrated it! Social media! It encouraged people to pour sleeping medication on chicken!
 
it took me a couple seconds to figure out that you didn't mean live chickens with the last bit and i was very deeply confused
like oh when the hell did i miss that
it was so funny the first time i ran into that in the wild because once i noticed who it was i had to reread the whole thing in his voice
 
It's hard to think that the tide pod challenge was a thing before tiktok was extremely popular
 
what's new and unique about tiktok is how monolithically widespread it's gotten and how far the recommendation algorithm goes
but wackass viral trends have a long and storied history on youtube and twitter
reminds me what the fuck was vine
 
@UnrelatedString Only a spoonful!
 
8:30 AM
i remember when it was relatively new and i remember when it died but i know literally nothing about it except the comically large spoon meme
 
What I remember about vine is those zack king vines
And I didn't even have vine
I only know about vine from watching stuff reposted to youtube lol
 
oh bruh tide pods, that was certainly a thing
 
@UnrelatedString yee I know it's that it was the first stupid trend I was old enough to know enough to call people stupid for doing it lol
 
8:36 AM
guys i have this desmos answer to the sonar impostor q that i think is working but not entirely sure cuz its taking forever to run like most of the test cases, but for the test cases that it could run in reasonable time it seems to be working... u think its fine for me to post or no
 
Is it theoretically correct?
 
@lyxal errrr my code is hard to explain but its basically just brute force, its probably correct??
 
yeah as long as you understand what it's doing it should be fine
 
@AidenChow then it's fine
 
check my brachylog post history :P
 
8:39 AM
alr just making sure, now time to actually golf my code cuz i was actually just making sure before i spend effort to golf lmfao
also i make my own smaller test case and check with pre-existing answers and it seem to match my program, gives me a little confidence that my program is doing the correct thing lol
time to change my somewhat sensically named variables to completely not understandable one letter variables lmao
 
9:14 AM
ayy there we go, the most complicated desmos code ive written in a while: codegolf.stackexchange.com/questions/259429/…
just brute force but still a pain to plan out lmfao
really showcases how important base conversion is in brute force in desmos lol
i literally put base conversion as a helper function in my code
 
@AidenChow I once posted an answer that timed out for anything larger than a 2x2 matrix lol
On a challenge where programs would be expected to go to at least 100x100 matrices
 
 
2 hours later…
11:01 AM
ahoy
 
11:43 AM
!
 
12:20 PM
rabbit time
 
12:33 PM
Repeating my CMM, do you guys think the staging ground could replace the sandbox? It's nice that you get badges for reviewing but maybe not ideal that one approve is enough to publish
 
hmmmmmm
maybe we could ask the devs nicely to increase the approves for us? we're already special-cased (although I forget how) :p
it is finally time to work on Rabbit's type resolver
now that I have actual functioning types
 
@Ginger I don't think it's likely they'll be willing to change much. Especially since the whole UI seems to be built around the "publish now" button
 
F
 
They built it for stack overflow only, but I thought it might fit here too
If we ask nicely
 
Github seems to be having issues -- you can pull but not push
 
12:49 PM
looks like it
 
1:03 PM
well, I have finally managed to completely break the Kotlin language server's typechecker
it's pretty much denying reality now
to fix it I'd have to recompile, but I can't, because errors
 
I was about to say "Have you tried restarting OmniSharp?" but
that's C# not Kotlin
 
I'm amused by the fact that githubstatus.com/'s favicon is the same one GitHub uses on a PR when workflows are running
 
1:21 PM
github's back
 
cool
 
@UnrelatedString Really? I licked it and it was like, not that bitter. Faded away after a few seconds, and was more sweet than anything
@mousetail What staging ground
 
@RydwolfPrograms now I'm curious as to why you decided to in the first place
no judgment or anything, just wondering what was the triggering action
 
It was a thing when the Switch first came out
 
34
Q: Staging Ground Workflow: Question Lifecycle

BrendanEarlier this year, we wrote several posts about various user workflows in the Staging Ground. This post will pull a number of those elements together to focus on the overall question lifecycle, plus we will identify any changes that have been made since the previous posts. The previous posts can ...

I've been beta testing it and it seems very nice
 
1:25 PM
a lot of people decided to test for themselves whether the cartridges are really bitter
 
No I get why the majority of people might do so
it's just that it sounds like this was a recent thing the wolf did
so I'm wondering what happened to make this a thing
 
@Ginger Now that it's back, the favicon changed to the "workflow passed" icon
 
lol
 
1:42 PM
@lyxal To see how strong my sense of taste is for bitter
Apparently not very strong
(It's genetic)
You know what
I feel like working on Hunter-Gatherer KotH
I think the tool system needs improvement first of all
Maybe I can add some more crops
Ooh...maybe even bees, which could double as a defensive weapon
Maybe anyone who passes within two tiles of a beehive gets swarmed by bees, unless the bees know them already
So you could put bee nests spaced out around your camp, and get defense without needing to invest in (breakable) walls
 
YES
 
The goal for this KotH, as a reminder, is to be too complex. So bots will be forced to specialize, just since it would take so long to design them otherwise
So bees would fit
 
I've never participated in a KotH before
 
A lot of people probably haven't, there haven't been many recently
 
@Bbrk24 Mine will launch in a few days: koth.mousetail.nl
 
1:53 PM
I'm thinking I'll probably wait for a simpler more successful one and piggyback off that, since if someone's first KotH is one intentionally designed to be overwhelmingly complicated, that maybe won't make a great impression :p
 
Maybe that will be mine :)
 
Point of current annoyance: npm semver.intersect doesn't take two ranges and return the intersection. It takes two ranges and returns a boolean indicating whether the intersection is non-empty.
 
It makes sense considering what it's used for
but yea it's annoying if you want the other thing
 
IMO any time your function returns a bool, you can probably make it return more information
Mainly the case in golfing languages, but still tends to be sensible in non-golflangs
 
1:59 PM
If it did the former, I could find the intersection of several ranges in O(n). With the current interface, to determine whether it exists is O(n^2) I think
 
Function should be named "intersects" instead of "intersect"
or "isIntersecting"
 
Nah, function names should be verbs
^^
 
intersects is a verb
 
Yeah but like...not really
 
oh it is called intersects my bad
 
2:00 PM
I mean you can say "he intersects this and that" but you usually don't use third person in library names
 
The use case for finding a semver range intersection seems extremely niche. Usually you just want to know if some packages are compatible
@RydwolfPrograms "I intersect with her"
 
Yeah intersect is a verb
intersects is not
 
Context: I am trying to scan a package-lock.json and find the valid node versions for the packages contained within. That means I have to grab the supported node versions and then intersect them
 
Okay wait yeah it is in this context, but not an imperative verb
Which is what people mean
 
You would use intersects for a boolean always
 
2:02 PM
@mousetail Idk about that...I'd assume most of the time when you want to see if they're compatible, you also want to see which version is compatible
It's like if I asked "can you open that door for me" and you were like "I sure can" and continued typing
 
Well here's the implementation github.com/npm/node-semver/blob/main/classes/range.js#L149 . It seems to just get their comparators and call intersects on that so I have to check there
@RydwolfPrograms "Do you know the time?" "Yes."
 
2:21 PM
Okay, I'm trying to decide if rivers/the ocean should have beaches
Advantages: They can be seen from further away, and less land is hydrated for agriculture purposes, making ocean-adjacent bases less OP
Disadvantages: Waste of a terrain type, little gameplay function
 
2:36 PM
Should I have different crop types?
 
0
A: Sandbox for Proposed Challenges

Rydwolf ProgramsPlay turn-less chess king-of-the-hill chess In this challenge, you'll write a chess bot...but with a twist. Your bot can move at any time, so the faster you can think, the faster you can move. You'll write code for a custom CPU (so that precise timing is possible), and try to checkmate your oppo...

 
I think ^ has a ton of potential
I'll design a custom machine code, and a higher level language that transpiles to it (to lower the entry barrier)
 
@SandboxPosts Make the CPU ><>
 
3:00 PM
I have written some (completely untested) code for semver range intersection
 
3:12 PM
0
Q: How many xor'ed waves?

PeterIn this challenge, you're given a list of overlapping waves. Each wave is a finite list with n truthy values, then n falsy values, then n truthy and so on, where n is the wavelength (or half the wavelength i guess, but it really doesn't matter in this challenge). The values of a wave may have an ...

 
Would it be acceptable voting etiquette to upvote somebody's answer because it inspired me to outgolf them, not because I like their actual answer per se? I feel bad about not upvoting it... feels unsportsmanlike, but not sure if it'd be proper to upvote it either.
 
Sure. You can upvote for whatever reasons you want, and more rep means making more people happy, it's a win-win
 
Alright. :-)
 
I don't think there's really all that much voting etiquette, most upvotes come from random drive-by HNQ voting, so if you're thinking at all about why you're voting for things, you're doing it more right than most people :p
 
> getIntersection('^12.22 || >=14', '^12 || ^14 || >=16').toString()
'>=12.22.0 <13.0.0-0||>=14.0.0 <15.0.0-0||>=16.0.0'
Other than the part where it could be using ^ in its output -- which is on semver, not me -- this works
 
3:51 PM
mmm 93 compile errors
delicious
 
4:16 PM
I have finally nuked my janky-ass annotation processor
all it was doing was causing problems
 
4:32 PM
Why haven't you made a room for Rabbit
Seems like that'd make more sense than scattering discussion of it all through TNB and TST
 
^ ^^
@Ginger Progress in programming is not writing more code, it is deleting bad code and rewriting it
 
4:47 PM
@RydwolfPrograms haven't gotten around to it :p

 Rabbit

Discussion of the Rabbit programming language.
ok, rabbit room has been made
 
 
6 hours later…
10:54 PM
chatexchange quiet today
 
hi
 
hlo
 
how to upset a lot of internet users:
 
How do you actually pronounce "vyxal"? I've always said /"vIk.sl=/ in my head but
 
lyxal with a v
 
11:09 PM
that helps me none
 
if anything, it should tell you all you need to know
wrong link
17
A: The many users of CGCC

lyxalWow, y'all with your usernames that actually have meaning. I literally just spent 5 minutes typing random keys until I ended up with something I deemed "cool" and "ironic". Having said that, I did want to make sure the letters L and X were present (for maximum coolness) and that there was a name ...

 
ah okay
I found a typo within ten seconds of looking at the vyxal wiki
> functions are first-class membesr in Vyxal
oh is it not actually a wiki? 🤔
 
Wiki?
 
I thought vyxapedia was a wiki for some reason
 
lol
 
11:22 PM
anyways yeah. membesr
 
it has the pedia part of wikipedia but that is notably not the wiki part of wikipedia
:P
anyway, thanks, I'll fix that right away
 
Unrelatedly, I've been debating whether to add comments to Trilangle. If so, they'd be line-comments starting with ; (as in many assemblies or lisps). I don't have any other plans for the semicolon and I already use it for comments in the pseudo-assembly syntax, but at the same time it doesn't necessarily feel like a feature that fits in the language
 
Would that only be in expanded form?
 
Yeah, the condensed form would remove it
Oh here's one: what do you think the condensed form of this program should be?
  #
 ! @
It's not #!@, because the interpreter skips the first line of the program if it starts with #!. So the condensed form is actually four characters, # !@
I originally did this to support Unix-style shebangs, but you could abuse this feature to put some plaintext before a program.
Mm, I just thought of a good reason not to add comments: It would break code like this bbrk24.github.io/Trilangle/#%22%3B%40o that uses semicolon as the operand to a push instruction
Currently unused characters include backtick, =;[], and most letters and numbers. So I have plenty of room to expand the instruction set
 

« first day (4440 days earlier)      last day (396 days later) »