« first day (2573 days earlier)      last day (2568 days later) » 

05:01
@Pavel I used to think this but lately I think Ruby does it better
@quartata The actual syntax isn't what I was pointing to. In ruby, you can't directly interpolate a variable.
Well in Perl you can't directly interpolate an arbitrary expression
The first language I really learned was Haxe which has "$var" as well, so I was surprised when I learned that JS and most other langs didn't support that
You have the ye olden @{[...]}
@quartata Oh, I Perl 6, which has $(expression here)
05:04
Perl 6 isn't Perl
sorry ¯\_(ツ)_/¯
@quartata Is "@{[2+2]}" actually a thing you do in Perl 5?
damn
You create an array then dereference it
Also, the ye olden
05:09
There's a module that's much better though
daily monthly music drop: soundcloud.com/phinotpi/harp01
Cleaner, but probably slower since it works by tying a hash
I'd have to check
Cool
Oh yeah definitely slower
Has to do an eval too, can't happen at parse
....I think it could be done better
Nevermind I probably can't, didn't see who wrote the module >_>
@quartata Who is this guy?
05:23
He wrote Tie::File (one of Perl's killer features IMO) and possibly the best book on functional programming I have ever read
That book could convert even the most sinful of JS programmers
@quartata Is JS the antithesis of Perl or something
technically Python is
but I'm more flexible minded
JS is more just Perl done wrong
I can get behind that
Explains ==
PERL is Perl done wrong
PHP is just wrong though
technically all languages are just wrong versions of themselves
but seriously, you can get an electronic version of that book for free if I'm not mistaken
05:31
I hate Perl, by the way.
read it and tell me that Perl didn't do something right
it's 🔥
What book is it?
YEah, it should be BURNING in a STRAIGHT FIRE.
higher order Perl, I linked it above
@quartata I'm a little on the fence about the type system
ANy time a language uses natural language terms, I run as fast as I can (J and Perl)
05:34
@Pavel we have function prototypes now which help
@Zacharý ...???
(The above should be viewed as an example of Perl's awesomeness)
@quartata Adverbs, Conjunctions, Gerunds, etc.
@Zacharý Perl has none of these things
That's J
Perl(6) gets a few things right: operators and grammars
don't take "developed by a linguist" too seriously
05:35
From my limited exposure to Perl 5 and 6, I prefer Perl 6.
that book has an entire chapter dedicated to lexers and parsers btw
I definitely remember adverbs being a thing (maybe just the description and not the official term).
@Pavel I take it you've never benchmarked Perl 6 then. Cheddar was faster IIRC
@Zacharý they're really not. Adverbs in J are higher order functions, which all sane languages have
@quartata I have. But I'm also not using Perl for anything even remotely performance-intensive.
Wait ... Perl was developed by a linguist?
05:37
I draw the line at 10 seconds for primes up to 1000
If it was ... maybe I shouldn't design a nonesolang. It'll end up a bodged mess like Perl
$ time python -c 'for i in range(1000000):print(i)' > /dev/null
python3 -c 'for i in range(1000000):print(i)' > /dev/null  0.76s user 0.01s system 99% cpu 0.776 total
$ time perl6 -e 'for (1..1000000) { .say }' > /dev/null
perl6 -e 'for (1..1000000) { .say }' > /dev/null  6.96s user 0.50s system 99% cpu 7.528 total
@quartata That's actually... remarkably bad.
And Perl 6 is JIT'd
Yep
Wow
Perl 5 trounces both in almost everything I've seen
05:41
Anybody still use Perl4?
<-- doesn't remember how to iterate over a range in Perl 5
@Zacharý I hope not
Dunno how much of that is rakudo
I never put the effort in to learn Perl, I probably should just so that I can know it.
@Pavel for $i (1..n) { ... }
@ATaco That is exactly how I am
I have Perl books that have gone untouched for a while
05:42
$ time perl6 -e '0' 2> /dev/null
perl6 -e '0' 2> /dev/null  0.13s user 0.03s system 117% cpu 0.136 total
It's not startup time
Woops, forgot to say my $i for best practices
foreach is an alias for for btw
If you prefer the way that reads
It's so much slower but for (1..1000000) { .say } looks so much cooler
Guess if you Program in Perl you make a lot of $, eh? And you get a lot of @s on twitter or something
The one thing about Ruby that annoys me more than anything else is that its lack of sigils makes it impossible to tell between variables and functions
which they then patched over by making everything a getter/setter with objects
And here I thought sigils were just getting in the way
05:45
RUBY. Flippin' enforcin' namin' conventions
And then there's Funky.
if you've done any Ruby, you know what I mean
@quartata I have, but I don't.
Actually nvm
I do get it
e.g. print x could be print(x()) or print(x)
Er that was a bad example
@quartata D does that as well
05:47
Funky allows you to do anything arbitrarily with indexing.
Because, that's always fun.
It's really annoying when you have a function object that you want to reference
No actually that example is right
Yeah
@Zacharý that's why you have sigils. $ or @ for variables, & for functions. Modern Perl drops the & in almost all cases
I have to admit though, a.f is pretty golfy for f(a). (D)
05:49
@quartata Since you're here and know perl, can I ask how to slurp ARGF into a string in an idiomatic way?
adding if statements to proton took me about 50 seconds
cool
next are loops?
Or unless statements.
When statements!
Oof
Until!
05:51
@ATaco Imagine multithreading with when.
Maybe Later :p
if/else statements
Implementing extra statements is real easy with funky's tokenizer!
"ifblock": "'if' expression exporblock elif?",
Jelly's is better :p
/s
(Then you just need to implement ifblock in parse.Expression which takes the parsed block in a particular token datatype as an argument)
In Funky, this is:
parse.IfBlock = function(ifb, scope){
	var subScope = objects.newScope(scope);
	var exp = ifb.data[1].items[0];
	var todo = ifb.data[2].items[0];
	if(parse.Expression(exp, subScope)){
		return parse.ExpBlock(todo, scope, true);
	}else{
		if(ifb.data[3].count > 0){
			todo = ifb.data[3].items[0].data[1].items[0];
			return parse.ExpBlock(todo, subScope, true);
		}
	}
}
05:59
CMP: Awfullest hack you can do in a major practical language
Lua: Lua
When statements are also surprisingly easily implemented.
parse.WhenBlock = function(when, scope){
	var evnt = parse.Expression(when.data[1].items[0], scope);
	var todo = function(){
		var nScope = objects.newScope(scope);
		nScope.vars.arguments = objects.ListFromObject(arguments);
		parse.ExpBlock(when.data[2].items[0], nScope);
	}
	evnt.vars.hook(todo);
}
06:24
@Pavel Java lets you modify the integer cache
Though I'm not sure whether Java counts as "practical."
@EsolangingFruit wait how
670
A: Write a program that makes 2 + 2 = 5

user12166Java Reflection is indeed the right way to go with abusing Java... but you need to go deeper than just tweaking some values. import java.lang.reflect.Field; public class Main { public static void main(String[] args) throws Exception { Class cache = Integer.class.getDeclaredClasses...

 
3 hours later…
09:57
So, I have an idea for an optimization puzzle. What should I keep in mind when I define the scoring mechanism?
... I can't think of anything right now. Just sandbox it and see what people says.
@Fatalize We tip pretty much everyone, though.
10:13
Do you tip at a fast food?
Wow, no, I don't, and I'm pretty sure I've never seen an option to tip, even on the receipt/credit card reader.
Good, I didnt make anyone angry few months ago then
I tipped the taxi driver though, which seems to be the norm
Yeah I always give them a dollar or two, depending on distance.

I pissed off a shuttle bus driver on my way to the airport by not tipping him; he stopped me and demanded a tip and then I got mad because it's a bit rude to do that. Luckily my wife had already tipped him so no harm done I suppose
10:40
0
Q: Kolmogorov zipper

Stewie GriffinHere's a simple one: Output or display the following three lines of text, exactly as they are shown below. A trailing newline is accepted. bC#eF&hI)kL,nO/qR2tU5wX8z A!cD$fG'iJ*lM-oP0rS3uV6xY9 aB"dE%gH(jK+mN.pQ1sT4vW7yZ For the record, that block of text is the same as the one below, but wher...

0
A: Sandbox for Proposed Challenges

Vi.Self-removing executable code-golf file-system In minimum bytes, implement an executable (script or ELF) that deletes itself when run, regardless of the assigned filename. Operating system is Linux Debian Stretch x86_64. The filename may be tricky (the program should handle long or unusual ch...

11:13
I really don't get tipping culture in the states and I'm certain I'd accidentally annoy a load of people
12:10
@Blue had to check your profile to see that you're actually muddyfish
12:49
@NewMainPosts Forgetting winning criteria on PPCG is a terrible mistake.
13:07
@EsolangingFruit UB!
Anonymous
13:27
@Blue 10% for delivery, 15% for decent service, 18% for good service, 20% for great service. +3% for every 10 people in your party and +5% for every Michelin star the restaurant has.
But whom do I tip?
And hello
Anonymous
Most of the time, if you pay by debit/credit card, there will be a line on the receipt for leaving a tip. If you pay by cash, you leave the cash on the table (dine-in) or hand it to the driver (delivery). That tip either goes directly to the delivery driver or the waiter/waitress that served you, or into a pool that gets divided up amongst the drivers and wait staff.
I meant other than eating, are there any other things I should tip for? Regular shopping?
Anonymous
Nope
Anonymous
Well, tipping taxi drivers is common
Anonymous
13:31
Also apparently people tip bellhops at hotels, but I've never had the luxury of going to a hotel with bellhops
Anonymous
Some people try to tip workers that e.g. carry your groceries out to your car (if the grocery store does that), but usually the stores don't allow them to accept tips
Anonymous
Really it's just wait staff, delivery drivers, cabbies, and bellhops
@Mego How does that job exist?
Are there no carts?
Anonymous
@Fatalize Usually only smaller grocery stores do that, as sort of a way to provide a "friendly" service, to compete with bigger stores.
Anonymous
They have carts, but the employees will also usually load your car with the groceries
13:34
@Mego We don't tip delivery drivers in the UK.
@Mego …that's the laziest thing I've heard of in my life
Anonymous
@Adám The US's tipping culture is pretty unique AFAIK
Anonymous
@Fatalize I don't disagree
@Mego Yeah. And in Denmark, tipping is pretty much gone. Taxi drivers will (or should) refuse it.
Anonymous
I can see how it could be helpful sometimes (e.g. you bought a ton of stuff and loading it would take forever without extra help), but I'd rather load my own stuff and let the employees help other customers.
Anonymous
13:37
@Adám Here in the states, it took about 2 years before Uber allowed drivers to accept tips. Even then, it's only allowed through the Uber app, so Uber still gets a cut. They still don't allow drivers to accept cash. Lyft does, which, when combined with the much better customer service and treatment of employees, makes me wonder why people still use Uber.
14:01
@Fatalize Hello, this is the United States. Have we met? ;-)
14:18
The only thing that might make LLVM IR something you can potentially golf with is the essentially unlimited integer size
You can declare an i1024 and LLVM will happily use it
i mean, it doesn't even have an explict 'boolean' type, you use an i1 instead
there are much better things such as Jelly to golf with :P
True, but LLVM IR would be fun exercise
@Pavel sounds like you want the diamond operator
that's the equivalent in Perl
if you're asking me about idiomatic Ruby then I dunno
14:41
@quartata well in Ruby it's ARGF.read
The diamond operator reads one line at a time, right?
yeah
1
Q: Can I repost a challenge with different difficulty parameters?

orlpThe challenge in question is this one, which is solving a couple 4x4 sliding puzzles (also known as 15 puzzle) with the least amount of moves in a certain time limit. I posted an answer that computes optimal answers within the time limit, essentially ending the challenge. Such an answer is not p...

Well that sucks. dynasm (for Rust, not the luajit dynasm) doesn't yet support the AVX instructions, and by extension the ZMM registers
):
Hmm, i can maybe update dynasm myself to support AVX-512
It'd take time, but the results would be worth it
14:58
Well, i can't find anywhere to ask, so question:
Is there a CPUID flag that tells you if the extra (XMM9..XMM15) SSE registers are avaliable? It's something that won't always be there with processors that support SSE2 (Intel's original implementation kept the normal 8, AMD's implementation of SSE2 added 8 more.)
@moonheart08 it's always there if you are running in 64-bit mode, and it's never there in 32-bit mode
Some processors before AMD's version of SSE2 from intel lack the extra 8, even in 64bit mode
Meh, i'm probably complaining over too many edge cases
I just want to avoid it ONLY working on the processor in my own laptop :P
@moonheart08 where did you read that?
Wikipedia (I know, not a very good source) says otherwise
It's suggusted. I'll doublecheck the dates, but AMD's implementation of SSE2 added the extra ones. They're not actually part of the SSE2 spec
@NewMetaPosts Back in those days "reasonable" is valid in a challenge...
(now I would definitely complains about non-objective criteria etc.)
15:15
I dunno I think reasonable can be fine, I've seen it a few times.
@moonheart08 "Intel adopted these additional registers as part of their support for x86-64 architecture"
Hmm
Eh, it's not worth bothering over anyways
Ok, more interesting question (probably me not fully understanding something): How do you allocate a block of memory with 64 byte alignment?
@moonheart08 what language?
and why do you need it?
15:30
Rust or C. Either works, i can use libc
@NieDzejkob xsave and xrstor instructions, which require 64 byte alignment
aligned_alloc?
Of course i missed that.
Thanks
 
1 hour later…
16:47
0
Q: Formerly Composite Numbers

AdmBorkBorkSequence Definition Construct a sequence of positive integers a(n) as follows: a(0) = 4 Each term a(n), other than the first, is the smallest number that satisfies the following: a) a(n) is a composite number, b) a(n) > a(n-1), and c) a(n) + a(k) + 1 is a composite number for each 0 <= k < n....

you mean real speed or advertised (as in specs of my plan) speed?
bits or bytes is that?
VTC as unclear
@Blue Bits
@EriktheOutgolfer Real speed
And that changes depending where I am :P
17:04
@DJMcMayhem what
At work it's much faster
i voted as bytes because the B is capital
for me it's much faster at home
@Blue At the place where you most often use PPCG/TNB? Idk
17:06
also DJ one more question is it ping speed download speed or upload speed?
Well ping speed isn't really measured in Mb/S :P
So download
>_> my real speed rn is 2 Mb less than advertised
What's advertised?
12 Mbps
mine rn is 10.65
That's not too bad
17:08
I get 150 at home. Work is throttled to I don't know what, so I voted 150.
i pay for 16 Mbps, i get between 9 and 12 depending on time of day
uh why Adm has way more than the rest of us :(
I probably also pay way more than the rest of y'all.
I pay for 30, but Comcast has upgraded it to 60 for free :D
Counting fees and taxes, my Internet bill is about $110/month
@DJMcMayhem If only centurylink would do that for me. 3mbps is what we pay for, we get 2mbps
):
16 and 35 Mbps are worth the same, but i dont have a VDSL modem so rip speed (theyre expensive here)
In fact, that 3mbps plan is our only avaliable plan
We can't get anything better, even from another ISP
:C
wait for the spacex constellation
Ouch. I feel sorry for you, @moonheart08
17:11
At least we have nice land
Real pretty
like, land[line phone]?
No, land as in acres of land
Rural area <3
hm, at least you love rural areas or you can't live in the city?
We could, but we had our house custom built, so no point :P
We're only 2 miles away from town, even then
(Small town)
oh it's more like a village?
17:15
Eh, not quite. Really popular school district
We're on the sparcer end
@Pavel sure, but you can do my $str = do { local $/; <> };
that will slurp from either STDIN or a file using the diamond operator
@EriktheOutgolfer is there a reason why you didn't mark your answer safe yet?
@NieDzejkob uh...I forgot
but it should be automatically considered safe
0
A: Sandbox for Proposed Challenges

PyRulezBusier Beaver cops-and-robbers busy-beaver Cops You will write two programs in a language of your choice A public program: This program must execute in a finite amount of time. So it can not go on indefinitely (although there is no time limit). It also wise if you program it to output a large...

I don't think there's a rule that robbers may still attempt to crack until declared safe
17:23
@EriktheOutgolfer I think you have to reveal the language to be safe
Yup, "Please note, your submission can still be cracked until you reveal the language."
17:39
0
A: Sandbox for Proposed Challenges

ScroobleFind Prime Gaps This is a pretty simple challenge—given as input a nonnegative integer n, your program or function must output (for programs) or return (for functions) the lowest positive integer for which none of the next n integers (not including the one you'll return) are prime. Note that thi...

CMQ: In Proton, why is string parsing so slow?
possible causes: 1) slow modules 2) the functions used in there are slow
Speaking of DIY programming languages, but also unrelated: where to get good language name ideas?
Maybe
Realistically speaking, probably not.
17:54
suggestion: make sure what you're creating first, then decide for its name :P
But coming up with a name is the most fun part.
@PhiNotPi "Pi not Phi"
well, you can't name a stack-based language "Taciter" for example, can you? ;)
δ_s?
silver ratio
@HyperNeutrino Is it really so slow?
Or perhaps there's something else that makes the process slower?
17:59
btw I wanted to solve this in Oasis but >_> segmentation fault
Why, when everything is lowercase in Python, True, False and None are uppercase?
To make it clear they're constants and not variable names
Also consistent with class naming
@PhiNotPi You tell people in TNB a bit about the language and they'll come up with something ingenious.
Anonymous
@quartata Constants should be all-caps though
ah, that could make sense
also true haha
Anonymous
18:02
Really I think the reason is that GvR named them so a long time ago and nobody wants to deal with renaming them
Anonymous
And then got forgotten in Py3k dev so they didn't get suggested as bc-incompatible changes
@Mego well these are special though
Plus IMO TRUE is a little hard on the eyes
it's still weird for me, while True doesn't look ok :P
This is reverse, it should be While true, while true or While True
lel
while true looks really really weird to me
while 1 perhaps
18:07
while true seems confusing. While True is well... How Physica will do it and While true is even odder to me D::D
tries to decode how Jelly parses it's code
I like while~0 better :P
Anonymous
@quartata It worked fine in C89 :P
@moonheart08 If you need help, feel free to ask.
Oh i see. Regex abuse ;-;
18:08
@moonheart08 ...and an odyssey starts...
yeah it's regexes
in Jelly, May 18 '17 at 17:31, by Dennis
Horrible, horrible regexes.
Q-Q
It is terrifying
Also, that abuse of the garbage collector @EsolangingFruit demonstrated is even more terrifying
just, no
Whats next, garbage collection of HTML using regex?
Nah. Parsing C++ with regexes, obviously.
Parsing C++ with HTML.
18:12
That begs the question: Is HTML turing complete without embedded scripting langauges (or CSS)
If it is, the true nightmare is here: parsing HTML with HTML
@moonheart08 I mean, wouldn't it be browser dependent? I know there's some weird crap you can do with HTML comments for certain browsers lol.
Well, even if it is browser dependant, parsing HTML with HTML
@moonheart08 found this pretty neat actually, never though about how CSS can do that.
I knew. We just need someone to parse HTML with CSS
Anonymous
@moonheart08 No. You need HTML+CSS for TCness
18:18
Announcement: APL Cultivation in The APL Orchard in 11 minutes.
@MagicOctopusUrn it doesn't work
@Mego RIP, may as well parse HTML using HTML + CSS
@EriktheOutgolfer click on the squares with numbers in em.
click on the top-left square, you'll realize it doesn't really work
@EriktheOutgolfer Ahhhhh... Maybe I found the wrong example.
18:19
no, I remember finding such a thing in the past too, same issue
@Adám ...a minute too early I guess :D
It's webkit
So maybe it doesn't work in your browser
I'm using fully updated Chrome
also no HTML can't be turing-complete by itself, it's only a markup language
it does light orange squares, but in the wrong places
is there an easy way to end the BF program if the current cell is <num>?
or rather, do this task <10> times, then end
18:27
@Riker subtract the num and wrap the rest of the program in []
but generally, in brainfuck you do decreasing loop
yeah, I realized that
I needed a larger number so I'll just nest loops
or, you can just use the brainfuck constants page on esolangs to get a large number efficiently
that works too ty
19:05
@MagicOctopusUrn Regarding your comment on the Language Quiz 2, were you genuine? Can I take that challenge concept?
Q: How do I get Robbers to parcipate in a (planned) CnR where there isn't a Robbers thread and cracks happen in comments (i.e. no rep reward)? I was thinking something like a bounty
People don't care about only rep, some do it for fun
What's the reasoning behind not having a robbers thread?
I'd recommend always having a robbers thread
19:25
@cairdcoinheringaahing Yeah lol.
@cairdcoinheringaahing make it fun enough to not require a reward.
I actually got to code today something other than a one-liner! \o/
@cairdcoinheringaahing Also, I'd make them post how many languages deep it goes too.
If I show screenshots from SE on YouTube, do I need to display copyright info or attribution?
...copyright?
SE's license is CC-BY-SA 3.0 With Attribution, so I guess some attribution would be customary
@Adám someone uploaded a CD-rip of Don Mclean's "American Pie" but used a picture of Billy Joel on the video to avoid it being taken down by youtube for copyright. I'd say you can pretty much do anything.
19:39
@EriktheOutgolfer If I say (and the screen shows) that it is from SE, would that be good enough?
@Adám I meant attribution to the post's owner (i.e. SE profile)
@MagicOctopusUrn I'm not talking about what I can get away with. I want to do the right thing.
@Adám Oh right, you're legit for work purposes.
@MagicOctopusUrn lol we're not talking about illegal stuff
we're talking about the opposite actually
i.e. how to be legal
I thought he was asking if it'd get removed if he didn't point to SE lol.
19:46
I came up with an interesting idea a bit ago
Brainf*** with circles
Also you put it in an image like piet
dont ask
@AdmBorkBork Each answer can (and should be) cracked multiple times, so having multiple robber answers for a single cops answer wouldn't be ideal (crowd up the answers)
I will have the text "chat.stackexchange.com/" and "stackoverflow.com" in huge type next to the screenshots.
@MagicOctopusUrn Yeah, I was planning to :P I'll finish the Sandbox post in a couple of hours, you can see it then
@Adám why? can't you have them in the video description?
@EriktheOutgolfer Because the whole point is to advertise SE.
19:51
@Adám you mean advertise SO to attract more APL people there or something?
@EriktheOutgolfer Yes.
The visible posts of individuals show their user name. That should be enough of an attribution. But Jeff Atwood says:
If you republish this content, we require that you:

Visually indicate that the content is from Stack Overflow or the Stack Exchange network in some way. It doesn’t have to be obnoxious; a discreet text blurb is fine.
Hyperlink directly to the original question on the source site (e.g., http://stackoverflow.com/questions/12345)
Show the author names for every question and answer
Hyperlink each author name directly back to their user profile page on the source site (e.g., http://stackoverflow.com/users/12345/username)
@Adám yeah you can't really fit them all in a video
@cairdcoinheringaahing Would it make more sense to have Community-Wiki answers on the robbers thread, once for each cop submission?
My slides do show usernames next to the posts, but links to both user profile and post‽ I won't have space left over on my slide for any content.
if you want to advertise, you may only include stackoverflow.com in the video itself and all the links in the description :P
> It doesn’t have to be obnoxious; a discreet text blurb is fine.
19:57
@EriktheOutgolfer I think I can fit them in the top margin (bottom may be obscured by me talking), if I swap them out in-place for each screenshot. I won't link to each shown chat message though. A link to the chat room they're in must be enough. Sue me! (Oh and the only chat messages shown are from my own accounts anyway.)
TFW rules are so involved that they're basically impossible to follow.
@Adám uh, you said it's a YouTube video, so you can use the description, but I don't think you have to link to all chat messages, just the top one "and N messages below" or something
sues
@EriktheOutgolfer I don't have control over the description like I have over the video content. The description is made by out IT guy.
@Adám you should put them in youtube "pop-up bubbles"

« first day (2573 days earlier)      last day (2568 days later) »