« first day (2555 days earlier)      last day (2303 days later) » 
00:00 - 21:0021:00 - 00:00

12:02 AM
@Mego Hey, do you mind if I bug you with some C++ questions?
WTH is going on with this?
Is what I would expect to happen
(inb4 eww singletons)
 
Anonymous
@DJMcMayhem Sure thing. Wanna make a new room?
 
Does it need a new room?
 
@HeebyJeebyMan That's a cool picture
I liked your stick figure profile pic
 
Anonymous
12:23 AM
@DJMcMayhem Well, if it's several questions, it will keep things organized
 
Anonymous
@DJMcMayhem auto&
 
Anonymous
auto doesn't deduce reference types, so you have to manually specify that it's a reference - else, it will be copy-constructed.
 
Anonymous
58
A: C++11 "auto" semantics

BЈовићThe rule is simple : it is how you declare it. int i = 5; auto a1 = i; // value auto & a2 = i; // reference Next example proves it : #include <typeinfo> #include <iostream> template< typename T > struct A { static void foo(){ std::cout<< "value" << std::endl; } }; template< typen...

 
12:56 AM
@Mego Ah, that explains everything. I remembered that it deduces constness, so I assumed it could tell reference types
 
Anonymous
Nope. It's actually a bit different than that, but it's close enough :P
 
Anonymous
The actual, full reason is that, in auto foo = bar;, the auto deduces the type of = bar;. bar may be a reference, but = means copy-assignment by default, which discards the reference for the target.
 
1:13 AM
@cairdcoinheringaahing planning on it
 
@Mego oh dang. Does that mean change the type of = bar through operator overloading?
 
Anonymous
1:29 AM
@DJMcMayhem Not quite operator overloading, but basically yeah
 
2:57 AM
@Dennis (pinging you because you're the most active mod) codegolf.stackexchange.com/users/48943/removed
 
@MDXF I'm not sure what you're pinging about.
 
@Dennis The 'about me' says 'delete me' and I thought mods were in charge of deleting a user when their 'about me' contained that exact text
 
User account deletion follows very specific steps; none of them involve a mod.
 
Oh, I thought they did. Sorry!
 
np
In any case, you should use flags to get our attention, not chat pings.
 
Anonymous
3:03 AM
@Dennis You say that, but...
 
Anonymous
 
@Mego How do you see your outstanding flags?
 
@Pavel https://codegolf.stackexchange.com/users/flag-summary/<your UID>
 
ty
 
NP
@Mego I have one from Jan 13.
 
3:05 AM
I have a pending flag from Jan 15 :p
 
(fun fact)
 
@Mego Fair point.
 
Anonymous
So maybe flags aren't the best way to get mods' attention :P Either that, or we need more mods
 
Well we already know we need more mods
We only have 1 active mod
 
Anonymous
@MDXF Martin and Doorknob are both fairly active. They just don't maintain as much of a chat presence as Dennis.
 
3:07 AM
pretty sure most of our mods are active, you just can't always see what they're doing because a lot of it is background work
 
@Mego Oh they are? I was basing my idea of activity off of answers, not chat
 
Anonymous
I have no idea how active Alex is or isn't, though I suspect the latter :P
 
a lot of their work is probably stuff like handling flags and stuff you don't necessarily notice
 
@Mego In fairness, I haven't been very good about handling flags recently, since I've got a lot going on with life in general. (But that is soon coming to an end.)
 
I can't speak for anyone else, but I haven't been very active lately.
 
3:10 AM
(o look a second mod)
 
If this ends up leading to mod elections I nominate Mego
 
tbh PPCG is probably fine with 4 mods
I don't think anyone is stepping down soon
 
I think Alex might if asked
I mean, he hasn't even been on PPCG for a month
 
I still have a limited form of communication with Alex in that if I star something on GitHub he'll star it too and vice versa
 
3:12 AM
I could use that to send him short messages via repo titles
 
Serial starring ಠ_ಠ
 
...? that's a very interesting method of communication
 
I mean it shows up in his timeline since he's following me
it's almost as good as a DM IMO
 
you could create 27 repos and every time you toggle a star it indicates a keypress on the key mapped to that repo and send messages that way
 
why stop at 27 lol
 
3:13 AM
lol
the font of the chat box where you type messages is different from the font used for displaying sent messages ಠ_ಠ
 
Just need one for EOT and then the base can be as big as you like
 
sure :P
 
@HyperNeutrino I have a userscript to make them both be the Ubuntu font
 
oo :D
also random complaint: they should make java.util.Timer use a java.lang.Runnable instead of a java.util.TimerTask so I can use lambda syntax :P
 
@DJMcMayhem If you're followed by a grizzly, do you have a bear behind?
 
3:18 AM
@HyperNeutrino If you can't use a lambda, then the object has multiple methods, which would indicate that it uses said methods for something, since it's a single-purpose class.
 
yeah¯\_(ツ)_/¯ i mean they could just add methods to the Timer class that allow you to pass in a Runnable where a TimerTask would go.
idk I feel like it's not taking advantage of the new lambda syntax which is quite nice (better than Python's at least... ugh)
 
@Adám Went with a similar character but non-emoji,
 
4:09 AM
@Dennis what's the difference between Jelly and M?
Or a better phrased question: What is M? It seems to be very similar to Jelly.
 
@MDXF A more mathematically-focused beta version of Jelly
 
@MDXF M is a rather earlier fork of Jelly that uses symbolic types instead of floats. It's mostly abandoned at this point.
 
Oh cool
 
So how many of the 26 letters have programming languages named after them, I wonder?
Rosetta Code is aware of 11, but that doesn't include M.
 
My guess is all of them
 
4:24 AM
I've heard of B, C, D, I, J, K, M, Q, R, S, and V. Rosetta Code also mentions E and F. Wikipedia adds G, L, and T. Esolangs mentions O, P, Y, and Z. That still leaves A, H, N, U, W, and (surprisingly) X.
 
Interpreters exist for those (A, H, N, U, W, X) though
 
For the longest time I thought A came earlier than B came earlier than C, but no, B comes from BCPL.
 
 
1 hour later…
Anonymous
5:47 AM
I'm up to 93.4 GB on ~60 hours of building ELVM :/
 
What is that?
 
Anonymous
 
Anonymous
Oh neat my PR got merged
 
6:11 AM
@Mego Dennis up there too. Although it seems he will likely run out of disk space.
@Mego So, are you building an ELVM backend for Game of Life?
 
Anonymous
@Pavel I would love to. First, I need to build ELVM
 
Anonymous
I'll probably write a backend for Cogol
 
@Mego Well, shinh left a comment on your PR asking about that.
 
6:29 AM
@Mego How do you do "I/O" in cogol?
 
Anonymous
@Pavel That part will be tricky
 
6:55 AM
Yeah, I was looking at ELVM yesterday thinking, "Maybe a tinylisp backend," but then I started wondering about I/O. I haven't given tinylisp any input functions, and I don't plan to.
 
@DLosc why not? Input is useful.
 
@Pavel It's designed to be a pure functional language. The ability to grab user input inside a function produces side-effects, meaning that the function could potentially behave differently when called two different times with the same arguments.
 
@DLosc sure, but Haskell managed to figure it out.
 
Really? I'm not sure how that isn't a contradiction in terms, unless it's a situation where the main function has all of stdin as its input and returns a result that's sent to stdout.
But then, I still haven't Learned Me a Haskell for Great Good.
 
every time I see the "for great good" phrase I always misread it as great food :'(
 
7:05 AM
@DLosc the way it works is, the function for input doesn't return a string but an io action. Io actions are only evaluated by main, everywhere else you can't operate on them except to kick them up the call stack until they reach main.
 
liekdisifucrievertim
 
It's a bit more complicated than that but that's the basic gist.
 
> basic
:P
I'd have to see a fuller explanation to wrap my mind around that, but it sort of makes sense.
@Unihedron Don't feel bad--I just was reading the Haskell Wikipedia article, saw the phrase "Haskell User's Gofer System," and automatically read it as "Haskell User's Golfer System." :D
 
@DLosc Let's say we want to define a function foo that reads a line and appends "!" to it. We can't do something like this: foo = getLine ++ "!". Instead, we have to do it as an IO action:
foo = do
    line <- getLine
    return (line ++ "!")
Now, our function foo, because it evaluated getLine, can't return a string either. It instead returns an IO action containing a string.
main is just a function that returns an IO action, that is then evaluated.
There is no way to do something impure like IO, and return a regular type like a string. The impurities are thus "quarantined" away from the pure stuff.
 
So basically, when executing, it boils down to what I said (main function maps stdin to stdout), but there are ways of writing the stdin/stdout access as if it were part of other functions.
Is that anywhere in the ballpark?
 
7:21 AM
Pretty much, I guess
 
@DLosc more like it takes the Io actions take the real world as an extra parameter and return a tuple of the value and a new real world
but that is hidden aaway by the IO type
 
main = do
    input <- getLine
    let result = doStuff text
    putStrLn result
The first and last statements call functions that return IO actions. doStuff text calls a completely pure function, and the return is a string that can be passed to putStrLn.
 
@Potato44 Uh-huh... which technically doesn't violate the "same arguments, same result" rule because you can get a different result if you pass in a different real world.
 
Note that because doStuff returns a string, we know it cannot possibly be doing any kind of io on it's own.
 
(This is sounding like the many-worlds interpretation of quantum physics.)
 
7:32 AM
@DLosc This comment ypu made earlier explains roughly how older version of haskell used to work before we had the IO type for doing IO.
 
Hm, okay.
I still say tinylisp is fine without user input, but I'm also planning a successor that attempts to be more of a practical language, and so I've been thinking about ways of doing I/O while maintaining pure-functional-ness.
 
@DLosc You could do a similar thing as Haskell for TinyLisp, I have an idea for how. When an expression evalueates, currently it just prints it, but if it's an IO action it gets evalueated instead. IO actions might be defined like this: [r foo] is an IO action that reads a string into the variable foo. [p bar] prints whatever the value of bar is. You can link them together: [[r in] (d out (a in (q !))) [p out]]. Pretend for the sake of this example that a work to concatenate strings.
So you require all IO actions to be in square brackets
 
I'm afraid my mind still hasn't quite wrapped around the way Haskell does it, so I probably won't go that route.
I was thinking more along these lines: I plan to have lazy lists, so the main function can take a parameter stdin that acts as a lazy list of all characters read from stdin. It's technically immutable, like all other values, but the laziness means that we don't know what a character will be if we haven't read it yet, so the user could input different things according to what the program outputs.
 
7:48 AM
0
Q: Partition it into as few disjoint contiguous increasing subsequences as possible

Optimus PrimeSpecification This challenge is simple to state: your input is a non-empty array of nonnegative integers, and your task is to partition it into as few contiguous increasing subsequences as possible. More formally, if the input array is A, then the output is minimum number of partition of A into ...

 
8:18 AM
Looks like my approach would result in passing the stdin list around to a lot of functions, and those functions returning both a value and (possibly) a different stdin. Writing out some sample code, I think I'm starting to understand the Haskell approach better. Is an "IO action" a type that bundles the value you want to return together with the state of stdin?
@Potato44 Oh, that's basically what you already said.
 
8:35 AM
@Pavel Here is what I threw together, using a REPL as the example.
 
@DLosc What you have described sounds like a state monad where your state happens to be a list of characters. Or as a type signature [Char] -> (result. [Char]). The IO actions I described earlier are roughly RealWorld -> (result, RealWorld). But for the IO actions this type has to be opaque so that you cannot duplicate the realWorld value. How we keep the IO opaque in Haskell is including a primitive function called >>=` or bind that has type (IO a , a -> IO b) -> IO b .
( that signature for bind isn't the exact same as in Haskell, because the one in Haskell is curried)
 
@Potato44 Ok, help me parse that. Should I read it as IO a and a -> IO b, or as IO a , a and IO b?
 
the former
 
Okay. So then are a and b types or parameter names?
 
a and b are types
 
8:42 AM
Then IO a is a monad that bundles a value of type a together with an IO state?
 
An IO a is internally ` RealWorld -> (a, RealWorld)`
 
@Potato44 Ok, I just wrote some tinylisp-esque functions that did that, so that makes sense to me.
 
@betseg Just the obvious: who in the world has 272400600 books?! ;^)
You should probably include a link to the Wolfram Mathworld page, though. mathworld.wolfram.com/BookStackingProblem.html
Both for attribution purposes and so that people can read more about the (rather counterintuitive) concept.
 
8:57 AM
@DLosc just a note that if you do go with the monadic IO for tinylisp any IO actions either have to be primitives or combined from other IO actions with bind.
 
@Potato44 ... I'm not sure I fully understood that sentence, so it's safe to say I'm not going to be implementing a monadic IO system. But I do have vague ambitions of learning Haskell at some point, so this discussion has been helpful on that front. :)
 
Oh, i forgot you will probably also want a function that lifts pure values into IO actions so you can actually use pure functions on the results of IO. that function is usually called pure or return
@DLosc Ah, okay, that's fine
 
9:24 AM
This is the third time (or more) that some PPCG user edit a completely off-topic question of a new user to a good challenge.
 
Ugh why did everyone upvote my challenge in the sandbox
Now it's on the same page with the longer and better challenges
And I can't even scroll because of it
 
An IO a is actually a description of how to get an a from the real world. The main function is evaluated by the RTS, in the same way you have to call runState to get the a out of State a
 
@betseg Sort by active.
 
Yeah makes sense
 
Conceptually the IO monad is a language that is interpreted by the RTS, which happens to have access to the real world. And Haskell is pure because it will produce the same IO program every time.
 
10:03 AM
Excuse me, when should I normally wait before I mark an answer as accepted?
I mean for how long
 
10:15 AM
@WeijunZhou That is entirely up to you. Often a time limit will be specified in the challenge text, the accepted answer is changed periodically, or answers are not accepted at all
 
I see, thank you.
 
@WeijunZhou Typically, we avoid using the “accept feature”, because we want to stimulate competition for each language, rather than an overall winner. However, it is completely up to you to accept an answer. My recommendation is at least one week.
 
So an alternative would be to add a scoreboard to the question?
 
Absolutely
 
Thank you.
 
10:44 AM
Does Python 2's re.compile().replace behave strangely?
re.compile(r"\((.*?)\)").sub("das Kind(er)", "") clears the entire string and I don't know why. The regex only matches the contents of the brackets, but everything's going for some reason.
I can't work it out.
 
11:44 AM
@wizzwizz4 re.compile(r"\((.*?)\)").sub("", "das Kind(er)")
 
@LeakyNun Oh.
 
11:58 AM
Too bad the a == 1 && a == 2 && a == 3 question is still on the HNQ list...
 
12:12 PM
;-; Why is that even on-topic on SO?
 
Because people like it and mods are lazy?
... let's see. Someone said that it looks exactly like an (underhanded) code golf challenge.
So...? I don't know.
Ok... assume this is an off-topic help question, how can it be solved?
 
12:27 PM
1
Q: Matrices Generated Using Rectangles

J843136028Input is an r by c matrix of non-negative integers (you may input r and c as other parameters if this helps with golf). This may be inputted as a 2D array or, if you prefer, a 1D array (though taking in r this time is necessary). Strings separated by spaces to distinguish rows and newlines to dis...

 
@Mr.Xcoder For this, I guess using ȦÐfṀ instead of Ȧ€S would work.
 
12:42 PM
0
Q: I want my book to be away from this table

betsegStory So I have a book that I want to separate from my table with nothing but other books. I want to know how many books do I need to achieve this with n book lengths. Here's a visualization that my friend at Wolfram drew for me: More information about the topic in Wolfram and Wikipedia. Ch...

 
1:00 PM
H.PWiz' answer made me think
arbitrary precision or is float enough
 
1:14 PM
@betseg I have a 3-bit float.
Is that enough?
 
IEEE 754 float or arbitrary precision*
 
@betseg No doubles?! :'-(
 
well IEEE 754 includes precision levels between 11 and 237 significant binary digits
 
@betseg Oh? I need to reread that.
 
double is 53
 
1:19 PM
Yeah.
 
> $99.00
@wizzwizz4 good luck reading :P
 
@betseg That paywall irritates me the most out of all the things about IEEE.
Mozilla's proof that you don't need paywalls.
 
what do you feel about ISO?
 
Aren't they the ones that came up with SI?
What do you feel about W3C?
 
i mean, ISO pretty much rules the standards of the whole world
and it's also behind a paywall
 
1:27 PM
:-(
Right here, right now.
Let's create a new standards organisation.
Free from paywalls.
 
@wizzwizz4 EME
 
@betseg It was either EME or stop setting standards.
 
heh
 
Brb, got to write a poem about Adobe's DRM. (jk)
 
at least we have a standard DRM, not every company making their own DRM systems (is that what you're saying?)
 
1:32 PM
@betseg Yeah.
That reduces the amount of work each individual has to do.
It's a good thing that nothing I want access to has DRM.
(IEEE / ISO aside.)
 
yet
 
1:44 PM
My Linux borked
 
@Zacharý Did you run sudo rm -rf --no-preserve-root / again?
xkcd.com/86 too big 4 onebox
 
No, I never ran that.
Could Eclipse have caused this?
 
:/ That moment when you can't muliply 0.25 by 2 :/
 
isnt the answer 0.125
 
@betseg the answer is 0.5
 
1:49 PM
the joke was that i cant multiply either
 
The error message is "can't request region for resource [mem ...], any ideas?
 
@Zacharý what is borking that message?
the kernel? some bash prompt? your favorite game?
 
@Zacharý Type w.
It's a command that shows who's logged in.
 
Eh?
 
w<Enter>
into the prompt
 
1:50 PM
My guess is that this number will be one higher than you expected.
 
No one is logged in, according to w
 
Erm...
 
free -m?
 
How exactly have you got your tty set up?
Because that doesn't sound like a normal setup.
 
Emergency mode or something, I think?
 
1:53 PM
Ah. Ok, that makes sense.
I think it's called "single user mode" on... whatever it is.
 
Anonymous
@wizzwizz4 No that's a Downgoat thing
 
Could Eclipse have caused this?
 
Anonymous
@Zacharý sudo init 5
4
 
@Mego What would that do?
 
Q: If 1 arg is 'monadic', 2 arguments is 'dyadic', what is 4 arguments?
 
1:57 PM
tetradic?
quadradic?
 
I kinda like tetradic :P
 
Anonymous
@cairdcoinheringaahing Probably tetradic. Monadic and dyadic are derived from Greek, so tetra would be the correct form for 4.
 
Ah, start the system normally
I see a pointer
 
Computer or living?
 
IT WORKED
 
2:04 PM
\o/
 
Yay! :-)
 
Now that makes no sense whatsoever :P
 
(I didn't actually think that w would amount to anything.)
 
sudo init 5
Now my cursor is laggy as all hell.
 
check free -m
 
2:07 PM
What's a good range for that?
 
huh?
is it swapping?
This is how it looks for me:
              total        used        free      shared  buff/cache   available
Mem:           6903        3523         121          74        3258        3347
Swap:         15258           0       15258
 
-h gives you units, too
Enabling zram would probably be a good idea, too.
 
Mem: 4889 667 3128; Swap: 5055 0 5055
With mem's three other values being 18 1094 and 3933
 
seems good
try uptime, then top or htop
 
On top, should there be a bunch of root processes? Like gzip??
The top command, to be exact
 
2:20 PM
we unix.se now
 
Yeah, but I'd get destroyed over there.
 
#1 on HNQ yeah
 
Eh?
 
Anonymous
I opened an issue for improving the building of ELVM (cc @Dennis).
 
@Zacharý my challange
 
2:29 PM
Ah
 
Anonymous
@Zacharý Probably not. Sounds like either you ran something huge as root that you shouldn't have, or you've been hacked.
 
Anonymous
Nuke the system and start over
 
@Mego Some backends are disabled by default. I wonder why TM made the cut.
 
Anonymous
@Dennis Not sure. More fine-grained control over what is and isn't enabled would be nice.
 
Yup.
 
2:32 PM
@Dennis do you know anything about neural networks?
 
Anonymous
I can't even begin to test a Cogol backend because of how terribly the Makefile is set up :P
 
@orlp Not even what they are.
 
=/
I have this really weird thing
where I trained it on moby dick for this challenge
261
Q: Write Moby Dick, approximately

NathanielHere is a 1.2Mb ASCII text file containing the text of Herman Melville's Moby-Dick; or, The Whale. Your task is to write a program or function (or class, etc. -- see below) which will be given this file one character at a time, and at each step must guess the next character. This is code-challen...

so I got an AI that predicts the next character based on the previous characters
so if I give it a starting point and let it feed back into itself, it starts hallucinating some reasonable ish text (mind you, this is on character by character basis):
 
@Mego Do you know if any part of the toolchain can transpile, e.g., C to ELVM-IR?
 
Ahab's level log and line; the Pequod held on her pipes the deeper part of the oil op spand over the lively degilance the sharp and king of St. Get and reventeless feelish in me, and then, and
drop again may be demined the light bus never endly active long remains of catherian that redormed are so much in long sir a man, but comes back and bread-backs. The ship nearest part of the whale they had betakened the flames. The inmiseby he stailing to thr vine one two degard.
 
2:35 PM
How does one "nuke the system"?
 
Wipe everything. Start fresh.
 
this is what I get if I take the last actual characters, and ask it what it thinks the next character is:
eln, seeiloaol 'nn wsld ; mc areraftaoe ooeriae seauimeg,asnrly,pela, toidno 'oleeas smueiete,yt;oOoen' se ,tole ietin,e.aluuaene,al;s,e nflulyn,se rio ed "Cotoelesteedteo,eo airnior,enyi,oi
essentially random noise
 
a letter after ,, not a space? wtf
 
I wonder how many times I'm gonna ask for a Dyalog license due to my computer borking.
 
leave a partition where you keep Dyalog?
 
2:39 PM
Any idea how to wipe the Linux from a dual-boot?
 
the other os being?
 
Windows
 
@orlp I don't understand, "starting point"?
 
0
Q: Reverse columns while preserving shape

ZgarbIntroduction Suppose you have a list of lists of integers (or any objects really, but let's stick to integers for simplicity). The lists may be of different lengths, and some of them may be empty. Let's write the lists in a tabular format: [[ 1, 2, 3, 4, 5], [ 6, 7], [ 8, 9, 10, ...

 
if you are going to install Linux again, just boot the installer and go to the command-line
 
2:40 PM
is it uefi?
 
you can then look at the partitions using cfdisk, figure out what /dev/sdaN device node is your partition and do mkfs.ext4 ...
 
if its uefi
 
I am most definitely inexperienced
 
[ -d /sys/firmware/efi ] && echo UEFI || echo BIOS
oneliner bash script to test if uefi
 
... I always feel bad when I look at the sandbox, notice some challenges, think "I will take a look later", then see the challenge posted to main...
 
2:48 PM
rip
 
@user202729 just one random initial character
 
@orlp weird...
 
Guess I'll use my school computer and bitbucket for a while.
 
Probably because it repeatedly mispredicts and get confused.
@orlp (I'm not experienced with neural network, I'm just curious) What exactly do you feed your neural network?
@MartinEnder How does your decoder work (how could you encode the second half into the first half, which contains much less information)?
(Hexagony quine)
 
@user202729 I feed it a sequence of previous characters
 
3:01 PM
Probably you can somehow make it return one or two additional output (the context of the sequence, whatever it is) and put it into the network in the next call. Not sure if it helps (I'm not experienced with neural network, again), but probably worth trying.
 
3:17 PM
@user202729 I'll have to look at it in detail, but I believe I encode every other character using a base encoding with an offset.
 
... makes sense. Two digits contains 100 states, which is more than enough to encode a printable ASCII.
It would be fine even without a offset.
 
@HyperNeutrino Is this a bug in Pyon? codegolf.stackexchange.com/questions/133754/…
 
Anything exists must be a feature.
... too bad that new answers (with 0 vote) tend to be right above the Rust answer.
(if sort by vote)
 
@NieDzejkob Not Hyper, but IIRC Pyon removes the linefeed when it removes comments. You could end the line with ; followed by the comment though.
 
Is competitive-programming questions that the OP doesn't show any effort or show a really-bad code on-topic for Stack Overflow?
Which chat room should I ask the above question?
 
3:28 PM
@user202729 I don't think so
@user202729 TNB clearly has all the answers :P
 
Because this doesn't seem to have any "bad reaction"...
(there may be some flags or CV I can't see)
 
 
2 hours later…
5:25 PM
0
Q: Maximise difference between integrals

Sam ChatsGiven an array of integer values that represent a function (like a stair function, each value matches one unit of time) The purpose is to build a function (according to rules ill explain) so that the diffrence between given function integral to our function integral is maximum The rules: The ...

 
 
2 hours later…
7:09 PM
TIL Fedora has it's own git forge: pagure.io/pagure . Seems like a nice self-hosted GitHub alternative. Sadly, sync to GitHub is just "on the roadmap".
 
 
1 hour later…
8:19 PM
@Mego I would say it's dropped since around may 2017 if you ignore the spike around july
 
@orlp You'd do that too.
If you want to test my hypothesis, come to the sandbox.
 
8:59 PM
Could I get some eyes on my new sandbox question?
 
00:00 - 21:0021:00 - 00:00

« first day (2555 days earlier)      last day (2303 days later) »