« first day (4620 days earlier)      last day (75 days later) » 

12:19 AM
PSA unity basically just reverted the stupid pricing changes if you make <$1,000,000 per year. if you make more than that you can make a choice between 2.5% rev share and the runtime fee. pricing changes only affect later unity versions, not the current one
@cairdcoinheringaahing BRB, making a D&D campaign setting in which there's a cult that worships the twin gods Kleisli and Cokleisli
I just noticed this challenge:
Q: Output programming language name

OfftkpChallenge: In the programming language of your choice, take no input and output your programming language's name. Fair enough, right? Restrictions: You can't use any character that is included in your programming language's name in your code. E.g., if I use Batch, I must not use the chars 'B...

I almost added enum A<B>where()==B{} for Swift 5.7 to the CW answer and then I realized
It was an error in 5.6 and earlier, then 5.7 downgraded it to a warning but still says "this will be an error in Swift 6"
12:36 AM
Also wouldn't it violate the source restriction by including w, which is in the name "Swift"?
that's what I realized eventually, yes
Ah, I see, that's what you meant by "then I realized"
if you open the repl it says "welcome to swift [version]" before printing the first prompt. Could I say like "swift 5.9, repl, 0 bytes"?
$ swift repl
Traceback (most recent call last):
  File "<string>", line 1, in <module>
ModuleNotFoundError: No module named 'lldb'
Welcome to Swift version 5.9 (swift-5.9-RELEASE).
Type :help for assistance.
Maybe start another CW answer? That probably works in a lot of languages, e.g. Python.
there's also the classic swift --version
$ swift

Welcome to Swift!


  swift build      Build Swift packages
  swift package    Create and work on packages
  swift run        Run a program from a package
  swift test       Run package tests
  swift repl       Experiment with Swift code interactively

  Use `swift --help` for descriptions of available options and flags.

  Use `swift help <subcommand>` for more information about a subcommand.
swift -v prints the output of both swift --version and swift by itself for some reason
12:57 AM
I have some ideas but they'd only work in Swift 2 on macOS (not even on Linux) so for obvious reasons I'm having a hard time testing it
2 hours later…
2:39 AM
2500 rep bounty to anyone who can implement a Turing Complete language in Trianguish (with default settings; i.e., no bigints)
It would involve heavy self-modification
Has Trianguish been proven TC yet?
I believe it is. I can't prove it, but I think it's possible to build a program that can build a sort of "snake" that can traverse to any point on the grid and place a cell
So you'd be able to just slowly build up infinitely many storage cells
Also this commit lol:
should have been for (;;) to for (;n;)
2:43 AM
Here's some discussion of Trianguish TCness in TST a minute ago:

Trianguish TC

21 mins ago, 10 minutes total – 24 messages, 3 users, 0 stars

Bookmarked 15 secs ago by Rydwolf Programs

@UnrelatedString you jest but typescript-eslint prefers for (;;) over while (true)
The idea I had for linear time increase in memory seems super cool but it involves building a quine with a massively nontrivial payload
it's unironically just better lol
the joke comes in with not changing it from for (;;) to while (n)
@UnrelatedString Tell that to Python
2:45 AM
for (;;) just iterates over spiders
my personal favorite is
It looks like a spider;s face
2:46 AM
 #define ever (;;)
> Fun fact: The original idea for Trianguish, years ago, was for it to simulate living organisms, or other complex macro-scale automata. This would not work, since the density of builders to support ops is likely far too low for self-moving structures to be built.
I would also love to be proven wrong on this xD
@RydwolfPrograms Oh, @lyxal, would you mind making "Trianguish" a link in this message to github.com/Radvylf/trianguish
Thanks! :D
2 hours later…
4:52 AM
@UnrelatedString the Isaac operator (;n;)
i love the funny names programmers give to things like splat and void and currying and uhh
thyeres a really silly one im forgetting
tip of my tongue but im not even close
elvis operator?
oh my god probably but i was not going to remember that haha ty
theres probably way more but yea exactly
5:16 AM
Also the downto operator n-->5
And the spiked lance operator 5<-+-+--n
lmao what even is that second one
@emanresuA thats a classic
srory im tired i dont know how to communicate
and the logical implication operator, <=
5:32 AM
the logimplicator
5:53 AM
@thejonymyster Curry was the guy's name
Haskell Brooks Curry (; September 12, 1900 – September 1, 1982) was an American mathematician and logician. Curry is best known for his work in combinatory logic, which initial concept is based on a paper by Moses Schönfinkel, for which Curry did much of the development. Curry is also known for Curry's paradox and the Curry–Howard correspondence. Named for him are three programming languages: Haskell, Brook, and Curry, and the concept of currying, a method to transform functions, used in mathematics and computer science. == Life == Curry was born on (1900-09-12)12 September 1900 in Millis...
6:07 AM
CMC: Search the input
walrus operator?
@l4m2 macOS zsh: open "https://google.com/search?q=$1" (not sure whether open is a mac thing or a zsh thing)
that doesn't handle & correctly I suppose
open "https://google.com/search?q=${1//&/%26}" then?
@l4m2 so uh now what?
@Bbrk24 Why u need https, don't http work?
oh it probably does I just am so used to https by this point
at least on iOS you need special permission to open http links, but you can open https links by default
6:19 AM
This is CMC another reason it aims to find searching engine with shorter URL
fine then, s/google/bing/
(yes, the URLs really do follow the same format)
bing http://bing.com/search?q=$1
but note the language I'm using, this is a zsh script
Also a country instrad of com may save one byte
if it exists
would it? In other places it's e.g. .co.uk, not .uk, right?
6:24 AM
The longest part is escaping ampersands
Fun fact: cmd doesn't use \ to escape spaces the way bash does. It uses %20
@lyxal Is it shorter to escape only & or all chars?
oh that is true, superfluous percent escapes are fine
@l4m2 shorter to escape no characters :p
Also, probably shorter to escape all
BTW ∷ is Google
6:43 AM
@Bbrk24 curry was the name of the doctor
2 hours later…
8:22 AM
Haskell Curry does sound like the name a fanfic author would give to a functional programmer
it really does
how many other people have ever ended up having things named after specifically their first and last names separately
It requires a somewhat unique first name
8:38 AM
Is there anyone who has something named after their middle name too?
9:11 AM
A: Sandbox for Proposed Challenges

The Empty String PhotographerExecute... yourself! Almost a duplicate, but only requires you to compile a subset, and is closed. You work at a compiler factory, making compilers tailored to your customers. Challenge In a programming language of your choice, write a program that executes code in the chosen language. Snippets...

9:42 AM
@SandboxPosts Why was my sandbox post downvoted?
Okay, wait sorry. Actually the one to watch is this one:
@RydwolfPrograms Brainf--- it is.
10:33 AM
@AviFS you realise I'm always going to be suspicious of your messages now right?
I haven't clicked that link because I know what you always try to do :p
11:12 AM
Hello all
11:40 AM
@thejonymyster Nah, Curry comes from Steph Curry
okay for some reason after selecting a static ip SE wasn't working
a lot of other websites were functioning completely fine
no clue why
12:34 PM
TIL apple has middle finger emoji 🖕
CUC (Chat Unclear Challenge): Make a quine that runs in polynomial time.
12:55 PM
what is N?
Does O(1) count as polinominal?
@mousetail I guess :p
Then any quine would count
It’s the polynomial n^0
Quines take no input so can't take any other amount of time
@mousetail hence why it’s CUC
1:00 PM
I don't think there should ever be another CUC
Even the acronym is unfortunate
And how is anyone supposed to answer a challenge that is unclear?
CFC (Chat Funny Challenge or Chlorofluorocarbon): Make any algorithm that runs in O(2) time.
@TheEmptyStringPhotographer 1
That's in python
@Simd Nope. O(2) algorithms must run two times slower than O(1) algorithms :p
I feel like that may not be how O(1) works :p
^ lol
1:06 PM
@lyxal Note the :p :p
oh :P
I have two tongues q:p
bq funny letters
@TheEmptyStringPhotographer There is no such thing, google big O notation
holy time complexity
Actual omega
1:20 PM
new time complexity just dropped
call the polynomial time algorithm
Do you think N=LN?
Me dropping an O(i) algorithm
Also happy bisexual visibility day!
And first day of fall!
@mousetail Knight = Large Knight?
knight promotion :p
Logarithmic = Nondeterministic Logarithmic
It's also unsolved
1:24 PM
Okay I gotta say the whole CUC convo above is absolute gold
Okay so I'd been planning to make an alternate mobile interface for chat. Problem is, part of the goal would be to have better tooling for ROing and ideally moderation, but I'm not a mod
I actually think I might be able to reverse engineer a lot of the mod API from chat's JS
But either way, a list of all of the mod-only features the interface should have would be useful if any mods have the time
(...or happy first day of spring for the upside down among us :p)
> among us
That's sus
@lyxal You forgot to make it upside down :p
I see it upside down, @RydwolfPrograms are you secretly australian?
Ooh "flip a braille image upside down" could be a cool challenge, I call dibs
1:33 PM
@mousetail only if L = 1
@mousetail Oh no, my secret's been revealed D:
@noodleman Go win your millenium prize
Actually not sure if there is any money on that but it would be a bit achievement and a important step towards solving P=NP
A: A guide to moderating chat

TarynWhat tools are available to moderators? Moderators are our human exception handlers and will get involved when users and room owners can’t handle a situation on their own. If flags are raised or they are notified of something, then a moderator will step in to investigate and resolve the problem....

@TheEmptyStringPhotographer ah...1+1 ? :)
Since N=LN and P=NP, we can divide out to 1/P=1/L. Thus, polynomial=logarithm
1:36 PM
@RydwolfPrograms yes np=p if p is small or n is 1
@mousetail Hence why it’s CFC
1:56 PM
should invalid submissions be mod flagged?
i can never remember these things
here we go again
i've seen that popup for like 2 weeks
2:08 PM
@Ginger you realise this was announced in July right? :p
Also, I haven't been able to try and break it yet because I still don't have access to it yet 😭
@TheEmptyStringPhotographer it's physically impossible. You can't define O(2) because the speed of O(1) is not defined
@noodleman if there's been a reasonable amount of time to fix the answer, you can raise one
No guarantees on handling ofc
@lyxal almost 5 years seems like enough time don't you think? :p
@lyxal well actually no I did not
2:12 PM
actually i misread the date, it was actually posted 7 years ago
The SE CEO gave a big presentation on a stage at a conference and everything
I never watched said presentation of course
hell yeah AI is the future bros!
have yall seen v0.dev
its like midjourney for reactjs
@noodleman I have now
But alas there's a waitlist
i haven't used it yet but i saw a couple videos on it and it seems like it works pretty well
You have access to it?
2:24 PM
it outputs react w tailwindcss and shadcn/ui components
@lyxal nope i'm on the waitlist though
Ah dang
Wanted to see what it generates for "The next best chess move in the sequence "1. d4 e5 2.""
Because that's what I do best. Play chess with ai that really isn't designed to do so :p
i'll try that when i get on lmao
@lyxal clearly Kd2
1 hour later…
3:35 PM
@UnrelatedString also middle name (brooks)
@RydwolfPrograms why just upside down? why not left-to-right or rotated?
1 hour later…
4:44 PM
@Neil I don't think that'd add much
With just upside down I could see there being cool bitwise tricks
If you have to handle all 8 transformations it'd just get annoying
@RydwolfPrograms maybe rotate 90°?
yeah but then you have to handle characters made up from multiple other characters
Actually maybe "flip a single braille character upside down" and "rotate a braille image" could be a good pair of challenges
Since I don't think the flipping the image as a whole adds much to the former
Whereas for the latter you're necessarily manipulating manipulating characters based on their neighbors
5:50 PM
My password is ⬛️⬛️⬛️⬛️⬛️⬛️
@Seggan the speed of O(1) is 1 second :p
6:24 PM
rotate a braille image 45 degrees as a horrible follow up :-)
@thejonymyster oh dear god
(i literally spoke those words out loud as soon as i read your message lmao)
6:57 PM
(so that the bot can use chat)
7:43 PM
@RydwolfPrograms It's been like, 18 months, and this still hasn't loaded for me. Do you think I need to download more RAM?
No you probably just have a bad connection. Have you tried to tie a string between two cans and put one over your router's antenna?
What do I do with the other can?
@RydwolfPrograms CAT4 string or CAT5?
@cairdcoinheringaahing I'd strongly advise taking the 16GB package if you decide to go for it
8:32 PM
guess what
cmon, no takers?
ah well
have fun yall
I sincerely hope it doesn't immediately crash
aw it won't let me change my username tho
I get a 404 error
8:36 PM
I can try
what to?
nah it's fine, I was just experimenting with the interface.
I tried to edit your name myself and switched to your account?!
who needs name editing when you can have body snatching
oh, wait no
I just overwrote my account details with yours
8:44 PM
time to do some DB editing ig
so I effectively deopped myself :/
9:07 PM
and done
fixed the bug too
my mobile-fu is unmatched :p
9:37 PM
@RydwolfPrograms I have a couple of comments about the readme you linked: a) it doesn't link to an interpreter nor give build instructions, so it's unclear how someone interested in the language should experiment with it; b) "the order in which these conflicting actions occur is left to the interpreter as undefined behavior" – did you mean unspecified behavior?
(the difference: with undefined behavior, doing that gives the interpreter license to do anything including something entirely unrelated, with unspecified behavior, it has to apply them in one order or the other but is allowed to pick which arbitrarily or randomly, and change its mind within a single execution if it wants to)
also, the hard part in a TCness proof is of course finding a way to create a program that is capable of indefinitely expanding a pattern that stores data, finding somewhere to store arbitrary amounts of data is the only reason it isn't trivially TC
10:05 PM
@Ginger me when 502 bad gateway when trying to add a room :p
in The Sand Trap, 59 secs ago, by Ginger
I've shut down Toasty while I make some patches
so undefined behavior is like the final form of unspecified behavior?
undefined behaviour is weird and unintuitive – the implementation is allowed to do anything, regardless of whether it has any relationship to the original issue or any relationship to what the program or even interpreter is meant to do
which includes stealing your cookies, I assume
and then launching a missile at your house /j
it was originally intended for situations where a naive implementation would corrupt memory; the interpreter/compiled program has to be allowed to do anything because, say, an out-of-bounds write to an array might overwrite a return address on the stack and start interpreting some unrelated data as code
and this behaviour nonetheless is supposed to be defined as "correct"
10:14 PM
it is not surprising that programs writen in C, which has a lot of undefined behavour, commonly have a lot of major security issues because if the program accidentally contains undefined behaviour, often attackers can exploit the results
memory leaks go brrr
but some implementations have made use of undefined behaviour in other contexts, such as for optimisations (e.g. if one branch of an if statement has undefined behaviour, you can make it do anything, so you might as well optimise by making it do exactly the same thing as the other branch and skip evalutaing the test), which is something of an abuse
and yet modern C compilers do this sort of thing all the time
this is in theory a valid optimisation if programmers write their programs correctly, but in practice it is hard to be sure that you're writing the program correctly
and this is why I rarely write in C nowadays: I am fairly good at it and almost always get it right, but "almost always" isn't good enough and the occasional mistake (which does happen) can have catastrophic consequences
memory leaks and undefined behavior, from what I've heard, are a constant struggle when it comes to C(++)
I have semi-recently been working on someone else's C++ code, and had a horrible-to-debug issue where the program would crash printing certain strings, with no apparent pattern
it turns out that two different files disagreed on how big a hash table was supposed to be, with the effect that you would get an occasional out-of-bounds access but only when the hash of the string was very near the end of the table
(for some reason it was using binary search on the hashes rather than just modulo-indexing into a table, meaning that most lookups worked just fine, because the difference in the sizes wasn't very large and thus most of the accesses were inbounds – a binary search typically works even when you have the size of the array wrong, unless you try to read beyond the end)
10:59 PM
@ais523 It's a web-based interpreter, deployed to GitHub Pages (radvylf.github.com/trianguish). Will update the docs later (and also add a mode to the interpreter to run at max speed)
ah, I thought there'd be a link like that available – it just isn't in the README atm
I went and cloned the repo locally and have been running it that way
correct link seems to be radvylf.github.io/trianguish
another feature that would be useful would be the ability to hover an op to see which number it has
while the program isn't running
fwiw, Trianguish is a cellular automaton, and the techniques for programming it seem pretty similar to those for other 2D cellular automata (like Conway's Game of LIfe)
@ais523 Yeah, if I'm reading this right that's what I figured. With bigint cells I think it'd be pretty trivial, for example
I think it'd be pretty trivial too, you could likely do The Waterfall Model without much effort
oh, something else not mentioned in the docs is that buliding on an op causes that op to output NIL – I iniitally expected ops to work even while being built on (so, e.g., if you built a 2-wire over another 2-wire in the same orientation, it would continue to transmit data while you were doing that)
this is easy to work around but has caused me to rethink my plans somewhat
11:20 PM
What's the waterfall model?
@Someone Here is The Waterfall Model
crazy simple tc construction
if you stare at enough TC constructions it makes enough sense why it'd be TC but damn if it isnt a spectacle
But the only thing that happens is that things fall to 0 and increase other things. How are input and output supposed to happen?
TC-ness doesnt require i/o :P
11:37 PM
@ais523 This might be a bug
@Someone T/C doesn't require I/O; there is an output extension, input has to be done by setting the initial values of the counters
okay, so why does BrainF have an output command?
for practical reasons :-)
being T/C doesnt forbid I/O either
11:53 PM
I mean, isn't the whole premise that it's a barebones TC language?
Why would it intentionally add an output command if it's unnecessary?
Because it's annoying to write programs without I/O
I guess that makes sense.

« first day (4620 days earlier)      last day (75 days later) »