« first day (4323 days earlier)      last day (817 days later) » 

01:09
codegolf.meta.stackexchange.com/questions/23834/…. 1. How much butter does it take? 2. Where is the butter stored? 3. How is the butter transported? 4. What happens to employees if they sneak some of that butter onto their toast?
Dec 22, 2015 at 22:34, by New Sandboxed Posts
HELLO I AM BOT FEED ME BUTTER
I just proposed an example question for Area 51, but it said it was by an unregistered user. I clicked register, and it said user not found. I logged out, and clicked login and it said user not found. ?
@joyoforigami Also, damn, its been 15 months since I posted that, I might need to do an update once it hits 2 years old
I clicked signup and it worked, but it's on the wrong email.
mornin
01:22
Ok I fixed that. But now I posted an example question that isn't tied to my real account.
evenin*
Name a more iconic duo: Area 51 and bugs
Well that's cool, now I've followed it twice.
 
3 hours later…
03:58
tap tap tap Anybody here?
Yes, we are here
fine then
who wants to see my updated lang-evaluation 2D graph?
user image
2
based on yesterday's design
x-axis: practicality
y-axis: verbosity
Given that Jelly is currently one of the golfiest languages around, I question your golfiness rating
I put it at level 6
isn't that good?
and given that Jelly is less practical than Vyxal, I also question your practicality rating
04:05
Bullshit
anything invented by @Dennis is practical
we have a consensus on that
I've used Jelly in actually production code
any other ops?
@cairdcoinheringaahing I'd like to see you make interactive 2048 in Jelly
@lyxal yeah right can Vyxal do any better?
04:06
@lyxal I don't need to - I've been paid to code in Jelly before
anything invented by anyone other than... what?
paid!?
Based on a video that implemented 2048 using redstone in minecraft lol what
in any case, I value Jelly over Vyxal
@cairdcoinheringaahing paid in what and by who
money, some jerks who want to destroy Jelly
04:08
@UndoneStudios Yep, one of my previous jobs paid me fore software dev, and I found it easier to do a task in Jelly than python, so I installed it, used import jelly, and included it in their code base
but I have a lotta respect for Jelly
@UndoneStudios why am I not surprised
Because you're lyxal
I have been waiting so long for that
anyways forget about vyxal and jelly what about the others?
@UndoneStudios Esoteric and Practical don't have to be mutually exclusive
04:10
@user i disagree
I find it hilarious that you think Jelly is more practical than so many languages
it's my opion anyway
Logo is verbose as fuck
And it's wrong
@user anything invented by @Dennis is great
04:10
Estoeric just means it's not very well known
@cairdcoinheringaahing no way
Esoteric doesn't mean golfy, and golfy doesn't mean impractical
Yeah, it's an interesting classification. It's wrong, but it's interesting :P
Also, Nibbles is literally a golflang
so I delete it?
fine then
04:12
Also wait what do those numbers mean?
@UndoneStudios No no
I was being too harsh, my bad
@user based on bytes. For nibbles I based it on nibbles
@user scale
In what units?
And why is there a -10 at the origin?
@user uhh, idk?
@UndoneStudios Nah, there's nothing bad about being "wrong" :P
@user it's not -10, it's -1 and 0 coming too close
04:13
Ah ok
I'm blind lol
It's a look into how you classify languages, and that's interesting
well thanks
What exactly do you mean by practical?
04:14
we should do this as like a large scale survey of all five people who could give meaningful answers
Like practical for getting a job, practical for doing general programming tasks?
as in, used to make real-life applications
@user the latter
@UnrelatedString agreed
rip Mathematica and Fortran users looking at this graph
Mathematica isn't so esoteric, but it is verbose
thus the classification
@UnrelatedString I feel like anyone who's an expert in the languages in the top right would be too dignified to mess with the ones in the other quadrants :P
04:17
@user that's why we need large scale
@UndoneStudios It's only a teeny bit ahead Brainfuck and Seed, and behind Scratch, Desmos, , Jelly, and Golfscript
what if the world's greatest programming languages expert turned out to be a career cobol programmer who got into everything else as a form of escapism
@UnrelatedString me?
I guess it is somewhat niche
@user agreed
I mean, i don't cobol but I do python
04:19
> career cobol programmer
Probably dead by now :P
@UndoneStudios You don't like Python? :(
last i heard there's massive demand for people who are somehow good enough at cobol to maintain dying legacy systems
@user I do
fine gtg astroparty
ttyl
o/
o/
04:20
@UnrelatedString True
forget it
I imagine most of them turn into dying legacy systems themselves soon after starting those jobs
2
anyways
what's your final feedback on my graph
I'll edit and send tomorrow
Very creative
negative feedback?
any?
04:22
It'd be interesting to imagine an alternate universe like this
@UndoneStudios There was a lot of negative feedback up there
But this is pretty subjective stuff so I guess to each their own
@user more like an argument, need constructive criticism
Okay
Lots
then tell
04:28
I'm being mean but that was very cathartic
@user a lot of stuff to process
but I'll use it, thanks
Nah ignore it
If this is just a fun graph you're making for yourself it doesn't matter
no problem, it does make sense
@user it's actually a graph I'm using as a benchmark for choosing a challenge
though I should change it to only Python, C, and Scratch then
04:51
0
A: Nominations for Language of the Month, Take 2

Wheat WizardPure data Pure data is a graphical audio synthesis program. You can use it to code-golf. Some reasons to want to golf in pd: While it is graphical the files are in readable ASCII which means you can easily tweak the source using an editor and changes to the program have predictable effects on t...

 
2 hours later…
06:37
@UndoneStudios I'd not call PHP practical
06:48
@LotMNomations LOTM will be PIP I guess
@mousetail you program in PHp
Yes I know, so I would consider myself qualified to say it's not practical
so program in something else
It should be left of C# at least, C# is good
I'd place it between C and C# in terms of practicality
but since you program in PHP, I count that as an instance of practicality
and that's it
06:53
Java should be left of C# too
It's worse in every conceivable way
I'm not taking feedback now
post tommorrow
 
3 hours later…
09:52
Should I solve all the CGAC questions in advance to get maximal FGITW points
Nothing explicitly stopping you from doing that, but expect a lot of downvotes
Hmmm I'd need to be more subtle. Wait like 1 hour. But since they will be posted in the middle of the night for me anyways it'll probably be more than that anyway before I can post
10:14
huh
 
2 hours later…
11:50
@DialFrost well, you don't need to round up any more
ldw?
12:08
i wonder which language is faster (as in execution speed): jelly or vyxal?
Both are python based right?
yes
@emanresuA i think i have found why flax doesn't work on DSO
12:37
hi
@pxeger since pip is most likely going to be the LOTM would be nice it it was fixed on ATO
@lyxal ohoho
13:56
tfw your computer fan sounds like waves gently crashing on the seashore
14:27
@mousetail I would
._.
Just 'cause it's really annoying to use and makes security vulnerabilities easy doesn't mean that it's not still a "praclang"
You can still get stuff done in PHP you just don't enjoy it
And it's relatively flexible (and still the easiest way to get a dynamic site working)
:niko-wtf2:
I didn't say it wasn't a practlang
just very much on the less practical sides of practlangs
Oh, if there's varying levels of practicality then yeah definitely
14:30
Like I said I'd put it between C and Java
I'd like to know how any of those orderings were decided on for practicality
K/J less practical than CSS? JS less practical than Python?
HTML at the top?
CSS can't really be compared to any of the other languages since it's purpose is so different
Why are all the array languages right on the border of eso and prac lol
the unix gods didn't want humans to make them obviously
Also ScratchJr is the most golfy language
14:34
@Ginger APL predates Unix by 5 years
fine, jon skeet didn't want humans to make them
Adam and Eve were the first to be confused by APL's syntax
5
Did you mean: "were"?
Nobody likes grammar nazism
reducto ad hitlerum strikes again
14:36
Wait ² means "realize you are naked" not "learn the difference between good and evil" like any other language? Python tricked me
what
:niko-wtf4:
@mousetail please give me some context
It's a joke, Ginger
Mousetail's making fun of the confusion caused by APL's information density
...oh
So in the story of Adam and Eve, a snake tricked them into eating a apple telling them it would teach them the difference between good and evil. However, it also/instead made them realize they where naked
well
now I feel stupid :p
14:41
Is it just me or is there no good replacement for PHP
For what purpose?
Like, I feel like CGI is a good option for dynamic content, but I can't find a way to make nginx use something like Python for it in a non-cursed way
flask is a WSGI application, can't you hook it up to nginx?
Python has a CGI module, but normally you'd use flask or django or WSGI
Any time I want to make something dynamic I have to make a server that runs constantly in the background and reverse proxy it
Which is extremely annoying to maintain
14:43
It's really not that hard, if you have uWSGI emperor mode
to manage your processes
Since if every tiny little project, like my clockimg.png, requires maintaining a constantly running thing in the background
Then just use cgi
My point is I can't figure out how
it's slow but not slower than php if you run it in cgi mode. Mostly people use PHP with long running processes too
You'd think it'd be something obvious
14:44
It is though, it's in the standard library
oh yeah just deploy the flask server to uWSGI
@mousetail No, I mean in the web server
And I'm not just talking about Python here, that was an example. I'm more interested in Node or Rust
node supports CGI
rust might be a bit more tricky
also:
> Deprecated since version 3.11, will be removed in version 3.13: The cgi module is deprecated (see PEP 594 for details and alternatives).
Once again I'm talking about the server not the language
14:46
CGI is the server
Wait what
That's not how it works with PHP is it?
CGI = Just run this file when you make a request, and set the headers as environment variables
I am the one who serves
Or is it just hidden from you
Yes that's how PHP can work, one of many ways
14:46
@mousetail Yeah, that's what I want. I can't find how to make nginx do that.
it's slow though since you need to spin up a process for every request
@RadvylfPrograms Hmmm seems NGINX doesn't actually support it so I may be giving you terrible advise: stackoverflow.com/questions/11667489/…
Exactly what I'm saying:
> Is it just me or is there no good replacement for PHP
You can use PHP with Nginx, but not other stuff
With nginx no, you'd need caddy or lighttpd
or just use fastCGI
Oh TIL that's language independent
That's how you use PHP with nginx
I think what's happening in PHP is there is a single long-running process that effectively just eval()s the path you pass to it. That way you need just a single UNIX socket for any number of projects. You could write a similar thing for python or node probably. Rust again would be a bit more tricky
14:58
I'd think a compiled language would be easier (and faster), you just have to run an executable
Not faster, spawning a process would slow things down vs just running eval in a existing one
Maybe if you can build your rust severs as dynamically linkable libraries you could make it faster, not sure about the performance characteristics of dynamic linking
> On Linux, new processes (often via fork() + exec() will take single digit milliseconds to spawn, if that).
Seems like Rust would still be faster than PHP or Python, even with the process spawn
#linuxsuperiority
15:02
Maybe, I'd like to see a comparison.
@Ginger I mean, multiple milliseconds for spawning a process still isn't great
Probably depends significantly on the size of the executable, which depends mostly on how many libraries you are loading
@RadvylfPrograms For a lot of things it takes longer than the task itself
@RadvylfPrograms well I don't ever think about the speed of my code soooo
the eval approach can cache libraries
15:18
@RadvylfPrograms hutmul
15:55
LDQ: should my macros accept the AST or a token stream
They should get a choice
Token stream for weird stuff, AST for more normal stuff
specify it in the macro header or smth
If you pick one I'd do AST
Token stream means you'd need to parse the language yourself if you didn't want to do something nonstandard
true
what about return values; return the same type that was given?
15:59
yes
I see no reason why not
when do yall think a token taking macro should stop? my plan rn is just when the parser sees a token macro, it gives it the rest of the token stream, then continues with the modified token stream
I'd maybe require all macros to be wrapped in some form of brackets
yeah but nesting would become a problem in token macros
So macro(...) or macro[...] or macro{...} but not macro a b c d e f
what if i have a macro charcode and i do charcode())
16:03
@Seggan I guess, but you kind of want to discourage super weird syntax in macros anyway, right?
@Seggan That seems like a very dumb place to use a macro
ik but just an example
new language constructs would look weird is i had to wrap em in parens
@Seggan does rol have something like python's splat operator?
yeah
*will
But any example that needs unbalanced parentheses is probably a bad macro
@Seggan so the symbol is *?
16:04
I'm not really a fan of macros totally changing a language's syntax
@Ginger prob
@RadvylfPrograms but the possibilities are endless :P
And they shouldn't be :p
@Seggan are you using **= for anything?
exponentiation assignment
darnit
can't you use ^= for that?
16:06
What
^ is xor
when would you ever need xor assignment
@RadvylfPrograms Not a big fan on this: crates.io/crates/inline-python
or for that matter exponentiation assignment
So ** would be exponentiation, ^ would be xor, and ^= would be exponentiation assignment?
That is horrible
16:07
nevermind
@Ginger yeah but operator inconsitency
@mousetail Okay that's pretty funny tho ngl
@Seggan what I want is a way to, say, call a function 3 times and assign the results to 3 variables instead of calling it once and assigning the result to each variable
so something like let a, b, c =* func()
and what does that have to do with macros? :P
I would've liked to use **= but apparently that's in use
@Seggan nothing, I just want it
16:10
though i will look into that
@Ginger So like, func returns a tuple?
Can't you do let (a, b, c) = func()
no, you call func 3 times and assign the 3 results to 3 variables
Why would you need that
Three copies of the same data
¯\_(ಠ_ಠ)_/¯
it sounds cool
Either the data's not mutated, in which case you've got three copies of the same constant (which is totally pointless), or the data is mutated, and it's just an ugly shortcut that also creates confusion for pointery types
I don't think I've ever even once needed to assign the result of a single function call to multiple variables
16:12
iev had to do that to 2 vars once
it would be useful for, say, an iterator that only returns a few things
That'd be a weird way to work with an iterator
Since any good language would allow you to splat and destruscture it
var [a, b, c, ...d] = [...func()]
yea that makes more sense
nevermind!
Also, that just encourages impure functions, which is the opposite of the current trend
@RadvylfPrograms yeah now that i think about it more, maybe ure right
i still do want high extensibility for rol tho
16:18
Extensibility is easy to take too far though
so is operator overloading
Predictability and simplicity should come first a lot of the time IMO
im kinda thinking of going for the kotlin way of doing it
having lambdas outside parens and implicit this
@Seggan My opinion on operator overloading is that it should only be used for the same basic arithmetic operations, but on new number types
welp, thats not my opinion :P
inheritance and objects are also easy to mess up with
16:20
+ for string concat and * for string repition are both fine too IMO
+ for list/set concat/add
I'm not as sure about list concat
its quite useful
16:36
In python set concat is |, which is quite confusing
most other collections use +
Yeah that's weird
Well, actually no
If & is intersection, | for union makes sense
Although + and * would make more sense for those IMO
It makes sense, but I would have liked + to also work, for consistenty
 
2 hours later…
18:51
@mousetail Apparently not gonna happen for a while but I might speedrun getting web workers working on DSO...\
CMC get at least one interpreter to run PIP before the end of the month
DSO does run pip, DLosc's main concern with it is that infinitely looping programs hang the page
19:13
@PyGamer0 Will test, can't right now though
 
2 hours later…
20:52
ok i was actually fooled by this until i got to the "automatically loaded" part :P
The 0 byte size didn't tip you off? :P
> using our production-quality deployment strategy, your users' browsers will have Vanilla JS loaded into memory before it even requests your site
tbh I could maybe see this as an extreme form of prefetching, although no mainstream browser would actually do it
@user nothing there about 0 bytes
See the downloads section
> Final size: 0 bytes uncompressed, 25 bytes gzipped.
ah, i skipped over that part :P
0
A: Sandbox for Proposed Challenges

JordanFind the box by its corners code-golf matrix Given a matrix of integers \$M\$ and a list of four integers \$L\$, find the sub-matrix \$N\$ whose corners are given by \$L\$ and return the sum of its elements. Suppose you're given the list \$L = [-8, -3, 2, 9]\$ and the following matrix. The numbe...

21:00
Any idea if the speed comparison is accurate? Because it's worrying if all of these frameworks are that much worse than vanilla JS
What's causing all that overhead?
21:40
javascript probably
7
21:59
Web devs HATE this one simple trick to speed up your website: rm src/*.js
6
22:24
@UndoneStudios hang on, how is Seed less esoteric than Befunge??
lmao
I guess seed has fewer meaningful characters, so less complexity? :p
22:57
@emanresuA Also the fact that all the tutorial examples have ATO links :(
I guess I could add DSO links as well
I can try adding web worker support for pip now. I make no promises
Web workers are way easier than they seem since URL.createObjectURL() exists
You don't need a separate file for the worker and all that
@emanresuA Might be better to wait until after December at this point
Thanks, tho
@RadvylfPrograms DSO uses some weird dynamic import hackery, and web workers have abysmal module support.
23:33
You can't import the code outside the worker, and only do the running there?
I just thought of the cursedest thing ever
eval("with(proxy){" + f.toString() + "}") where proxy is a proxy set up to simulate the correct scoping
(unfortunately with is deprecated)
ive came to terms with myself
as much as i hate python, i must say its a neat language
Don't be a Steve Ballmer. Don't let hatred of one part of something ruin your ability to see the good parts of it
23:48
what was the ballmer incident in question
I don't even remember, I just remember hearing it used as a really effective metaphor for this sort of thing like four years ago
I think it was some iPhone bashing of his
Anyone else just ignore chat flags?
I usually handle them
Usually I just click "it's fine" or whatever that button is
7 flags lol
Oh, they're all gone at once
23:58
@RadvylfPrograms as for iphones, i will forever have a distaste for them :P

« first day (4323 days earlier)      last day (817 days later) »