« first day (1582 days earlier)      last day (3261 days later) » 
00:00 - 16:0016:00 - 23:00

12:04 AM
@PhiNotPi The best program I've evolved so far always returns the same number :(
 
12:22 AM
@TheNumberOne How many elections are you running?
 
Only 10000
 
Well, there is a lot of randomness involved in each election.
 
The problem is with the program tree generation code.
 
Okay.
How are you generating programs?
 
I'm using JGAP.
 
12:25 AM
@Sparr I generally agree but a) it's meta and b) it's explicitly supposed to list less ground-breaking contributions that aren't worth cluttering the question with.
 
I don't know anything about JGAP. :/
In the meantime, I've made little to no progress towards an OO golfing language.
 
12:43 AM
Is 10000 elections / 17.56519374 seconds(against the 2 default bots) fast enough for a bot?
 
I'm not sure...
Well, given that the final leaderboard needs about 10m or so, which is 1000X more than 10000, probably not.
 
17.565 seconds * 1000 = almost 5 hours
 
I'll lower it by a factor of 10. Tell me if it's too slow.
 
Lowering it by a factor of 10 is probably tolerable if I am going to start doing overnight runs anyways.
Well, I was about 2 hours into what I expect to be a 4 hour run.
I'll probably have to cut that off and start a new one to run overnight to include yours in the leaderboard.
 
12:59 AM
this has an interesting question/answer vote ratio (apparently there are also at least 14 deleted answers)
 
@PhiNotPi I could have it time itself and stop after so many ns
The average bot takes 40.81 microseconds per turn.
 
1:15 AM
0
A: Loopholes that are forbidden by default

DennisZero-length answers Considering an empty program a quine was original in the 1994 IOCCC. Eleven years later, if you can solve a task with an empty program, you should just notify the OP.

 
@MartinBüttner I'd thought about an exec quine, but I'd need to sit down and fiddle to see how it should work
 
@Sp3000 You can't do it while standing?
@MartinBüttner Looks like a job for Peter.
 
More like I can't do it on the phone :P
 
Fair enough. :P
 
@PhiNotPi It tries to take under 200 micro-seconds now.
 
1:27 AM
Okay.
 
Seeing "o.k." as an abbreviation for "okay" always reminds me of when my friend tried to convince me that O.K. is actually an acronym for Oll Korrect, apparently an old-timey spelling of All Correct.
 
I'm starting a run now.
I expect for it to take 4.5 hours.
Which means I'll have to update it in the morning.
Although.... I might be able to make it a 20m run.
 
Parallelize your code.
I don't know what you're talking about, but micro-optimization is always the answer.
 
Hmm. the fact that I tell them the partial election results might prevent that.
 
Nah. They don't need to make informed decisions.
 
1:39 AM
Is that how you vote?
 
I guess that would make it more realistic.
 
In parallel?
No, I fill out my ballots serially.
 
Dual-wielding writing utensils.
 
I might need to try that.
Maybe in a small local election...
Also, what the hell:
 
Die bird!!!
Oh, @AlexA. you changed your profile image.
 
1:47 AM
@PhiNotPi you could parallelize your elections by running more than one whole election at once
then you don't have to worry about not having partial results available
 
@TheNumberOne Is that a bird? It looks like a platypus or something.
 
@Sparr That's a good idea.
 
@TheNumberOne I did. It's no longer a goose.
 
@AlexA. You silly goose :)
 
I don't know how to do that, however.
 
1:48 AM
@PhiNotPi Forks?
 
!$omp parallel do
 
@AlexA. The code link suggests a magpie. However, actual magpies look completely different.
 
Port all of the code to Fortran
 
No. Java > Fortran
 
1:50 AM
anthropomorphizing birds while keeping different types of birds distinct is hard
 
@TheNumberOne Indeed they do. No creature on this Earth looks like that thing.
@Sparr False
For example, geese are jerks.
 
@Sparr Haven't you heard of Big Bird? He is very distinct.
 
He's certainly a large presence in the room.
 
sure. and what kind of bird is he supposed to be?
 
Emu
 
1:52 AM
@AlexA. Your profile image looks like a Magpie.
 
It is!
 
Nice work!
Everybody else thought it was either still a goose or an archaeoptryx.
 
Aren't they endangered?
 
Magpies? Not at all.
Archaeoptryx on the other hand... yes. Extinct, actually.
And geese are too mean to die.
I end up talking about birds every single time I log in here.
 
1:55 AM
You could probably kill half the world population of magpies and they'd still be considered "least concern."
 
They're trying to make Sage Grouse endangered right now :(
 
According to Wikipedia, the sage grouse is considered "near threatened." So you mean they're going to reclassify it into the "threatened" range?
 
Ugh. Fox News.
 
Is awesome.
 
1:59 AM
Mm, I think we may have differing views.
To each his own.
 
The funny thing is that, in Idaho, its mainly hunters who are paying for the preservation of the Sage Grouse. (I'm not sure about other states.)
gtg
 
That's odd. Do they hunt sage grouse?
Bye!
 
2:15 AM
0
Q: Chinese checkerboard

DLoscThe game of Chinese checkers is played on a board with spaces in the shape of a six-pointed star: Image from Wikipedia We can create an ASCII-art representation of this board, using . for empty spots and the letters GYORPB for the six colored starting locations: G G G ...

 
Is the board game tag relevant for the Chinese checkerboard challenge?
Chinese checkers is a board game, but I guess I don't understand what that tag is meant to signify.
The wiki for that tag should really be clarified...
 
 
1 hour later…
3:39 AM
my checkerboard python code turned out way too ugly and complex... probably over 200 bytes properly golfed
at least I have an extra reason to try it in Retina :)
 
@Calvin'sHobbies uh oh... I've been discovered, abort abort
New question close stats for users with 2k+ rep have just been rolled out.
 
yet another motivator for me to hit 2k
 
0
Q: Map of Islands (and a river)

KatyaIntroduction For many centuries, there has been a certain river that has never been mapped. The Guild of Cartographers want to produce a map of the river, however, they have never managed to succeed -- for some reason, all the cartographers they have sent to map the river have been eaten by wild...

1
Q: Make a slow error quine maker!

DennisAs part of his answer to Make an Error Quine!, @Falko proposed the following algorithm: How to create your own solution in 2 minutes? Open a new file in an IDE of your choice. Bang your head onto the keyboard in front of you. Compile. Replace the code with the compiler error mes...

 
 
1 hour later…
5:06 AM
"Self Shortening Shelf Sorting" challenge is in the making, although it is more about the title than the actual task :)
 
Still no solves for checkerboard? I'm surprised
 
my solution is very cumbersome, maybe I will search for a better method
or just wait to see it posted :)
it would be fun to use a cellular automaton extension to solve problems like these
idk if there is an adequate one for python
 
5:22 AM
Hmm I think I can do sub 200
 
definitely possible, mine was a mess :)
 
149 :D
 
5:38 AM
nice, somewhy I expected much lower scores initially
 
0
Q: XOR encrypt your programs with the source of other programs

CJ DennisWrite two programs such that when the bytes of their source code are XOR-d together it produces a third, valid program, all in the same language. The length of each of the three programs in bytes must be identical. The first program should output A. The second program should output B. The third ...

 
but the hexagonal layout never really helps
 
Hmmm well I'm just doing it line by line...
 
I thought you would try to partition the space
my ~200 solution is line-by-line too
but I'm hoping some other approach can beat that
is there a short way to replace list of chars to list of chars? like 'abcdefabc','ac','AC' -> 'AbCdefAbC'
 
str.translate
(aka what I'm doing as well :P)
 
6:02 AM
and by cell automaton I meant something like this:
(type, pos_x, pos_y)*
init='G',3*n,0,'B',0,n,...,'.',3*n,3*n)

(type, move_x, move_y)*:
rules='GxyGxyBxy ... .xy.xy.xy.xy.xy.xy')

print(run(rules,init,owerwrite=False))
 
6:14 AM
Oh goody, is @xnor doing checkers as well?
 
yup!
i have a secret plan!
 
xnor gets sub-100. Calling it.
 
6:39 AM
Man, this would be so much shorter if we only cared about visible output :P
 
yeah
my method is coming out too long...
probably better just to print each line
 
Ahaha, trying something fancy like ASCII Sun equations?
 
yup
 
too long - no scrollbars
 
Ahaha I think we might be bothering DLosc with all these clarifications :P
 
7:11 AM
if I make a dict from a list of pairs with duplicate keys, is it specified which one will be used?
 
The last one
 
ok, that might be useful
 
thanks
 
Hmm I'm having trouble getting as low as I want. Leading and trailing space rules add about 10-20 bytes
 
7:34 AM
@MartinBüttner are you planning adding line and/or block comment modifiers to Retina? e.g. #`this is a comment
 
I think ~150 is the best I can do with my approach of inequalities in triangular coordinates
 
Hm... that doesn't sound too good. Line-by-line I guess then :/
 
yeah :-/
too bad, it's nice mathematically
 
I thought superimposing the 2 big triangles would be good
 
I thought about that, but it looked like too much work :P
 
7:36 AM
as you dont have to be exact with the letters, as any position with any 2 letter is a dot
so in the middle you can choose any letter
 
Here was my approach, with the hope that you can make something better of it. Let x and y be the coordinates, centered at (0,0). Let (a,b,c)` be the corresponding triangular coordinates (x+y,x-y,-2*x), which add to 0. Then, the region is determined by which of [a,b,c,-a,-b,-c] are greater than 2*n. If none are, we're in the center. If exactly one is, we're in one of the six triangles. If 2+ are, we're not on the board. Also, if a is odd, put a space instead.
 
Ooh that sounds nice. Maybe post it as a note in your submission anyway? :P
 
sure, i guess i'll post it, even if it's not optimal
 
That's nice, cleaner than any of my methods
 
unfortunately, python is very clumsy at printing graphs like this because strings are immutable
looping over pairs of coordinates is ugly too
 
7:50 AM
And using lists would be fine if it wasn't for "".join() being 9 bytes :P
(or ``[2::5] being 8, but still)
 
yup
though even generating a list of lists is ugly because [[' ']*a]*b makes them equal by reference
 
Ahaha yes that too
What's the best way around that situation anyway? map(list,[('',)*a]*b)?
 
@MartinBüttner an 'ignore whitespace in replacement string' modifier would also improve readability a lot (if you could write whitespace with escape chars as you planned it wouldn't hinder functionality)
 
@Sp3000 hmm, good question
 
btw your checkboard colours are backwards
 
8:02 AM
oh, darn, thought i fixed that
 
@Sp3000 my longer try at that: eval(('['+'"",'*a+'],')*b)
 
@xnor 6*n+1 -> y-~y
 
ah, right, that evalulates first
it's also probably shorter to do a double-layer exec-loop
multiplying the code string, adding stuff, and multiplying again
 
8:26 AM
So how are you going with line-by-line? :P
 
i spent enough time coming up with what I had, so i'm giving up on it
i'm waiting for you to post :-P
 
Hey :P
Mine's not that good though :( ... yet anyway
 
it beats mine, right?
 
141, not by that much
 
~250 byte at first run with Retina, more tedious than fun though
but I did it :)
 
8:37 AM
btw, that's a nice trick with map to do map(list,[('',)*a]*b)
you can use lists to shave a char map(list,[['']*a]*b)
 
hate it when I have to add 9 more bytes to a CJam code.
 
it's funny mapping list to lists
map(list,[' '*a]*b) works for spaces
 
Ahaha mapping lists to lists
 
two shorter:
eval(`[['']*a]*b`)
 
XD
 
8:45 AM
hahaha
 
You should make that a tip
 
it's the poor man's copy.deepcopy
 
That actually sounds like a really useful idea in general
 
can you think of any other uses?
 
eval(`L`.replace("1","0")) and such?
That's pretty specific though
 
8:48 AM
ooh
I had a thought to deep-reverse a tree this way, but [] don't flip
 
>>> L = [[1, 2, 3], [4, [5]], 6]
>>> print(eval(str(L)[::-1].translate({91:93,93:91})))
[6, [[5], 4], [3, 2, 1]]
(I don't know what I'm doing)
 
unfortunately, i think at that point a recursive lambda is probably shorter
 
Probably, yeah
>>> L = [1, 2, 3, 4]
>>> eval(`L`.replace(",","*"))
[24]
Poor man's reduce?
 
that's hilarious
 
I think a lambda's still shorter there though
But it might be more useful in Python 3, which doesn't have reduce builtin
 
8:54 AM
Python 3 can't do the short repr though
 
Still better than import functools :P
 
for Python 2, i get a tie with reduce(lambda a,b:a*b,L,1)
 
Yeah :(
eval(`L`.replace(","," or "))
Short circuiting, maybe? You need to be careful with whitespace though
Like any but actually returning the item
... nvm filter wins here
 
well, i wrote a tip just for the matrix, feel free to expand with more ideas
 
I've been annoyed by the matrix thing for a while now, so I'm glad there's a better solution :)
 
9:03 AM
it's still 8 chars of overhead if not for the mutability issues
is there any way one could overcome this when you modify?
 
I guess it depends on what you're doing with the lists
I think for fibclock I did [[" "]*a]*b because I zipped straight after
 
in the type of case i'm thinking of, you generate the matrix, but there's only one statement that modifies an entry
like for these ACSII art challenges where you draw in the symbols
 
Not sure...
 
1
Q: Shift characters in a string

Cool GuyIn this challenge, you are required to shift characters in an inputted string n number of times and output the shifted string Input Input will first contain a string. In the next line, an integer, which denotes n will be present. Output If n is positive, shift the characters in the string to...

 
I posted my attempt - I'm sure you could smash it if you sat down and tried though :P
 
9:12 AM
J shifts the other direction, no 2 char solution
and stdout is another 5 bytes
 
10:01 AM
@xnor I think the "Choosing one of two numbers based on a condition" tip could do with some examples, esp the last one
 
@randomra you can already use comments in the regex, if you use the free-spacing modifier x
that doesn't help much in -s mode of course, because you still can't include newlines
I'm not sure I'll add comments to replacement strings. I think in most cases the trickiness will be in the pattern so that any quirks in the substitution can be explained there
but I'll keep it in mind for if I ever rewrite Regex.Replace
 
10:23 AM
Heya
 
moin
 
hi
 
@PhiNotPi Really nice question you asked =)
 
10:27 AM
Thanks.
 
@aditsu would you consider changing e[ and e] such that if you give them an arraylist to pad with, they pad with the contents of the arraylist, not the arraylist itself? e.g. "abc"8"Xx"e] --> "abcXxXxX"
wow, 91 bytes for chinese checkers in cjam o.O
 
wow
you make @Sp3000 happy so much
 
??
 
(in 2x range of cjam code)
 
10:42 AM
Ahaha, I think that just means the 91 is long here :P
 
I guess with xnor's approach it would be closer to 70
 
@Sp3000 in good words. yes. :P
 
I just tried the straight forward way of building one quadrant with a couple of loops and then mirroring twice
 
I think I'd skip the horizontal mirror and just go with vertical, personally
The odd/even offsets look a bit fiddly
 
then I need to pad spaces on both sides though to get the rectangle
 
10:48 AM
... oh right. CJam doesn't have .center()
Strip spaces on the right instead?
 
I need the spaces to simplify the vertical mirror
87 now
 
he's still happy
 
Er... by vertical mirror do you mean left half/right half? (because I meant top/bottom oops)
 
@Optimizer have you tried/are you trying?
 
nope
 
10:50 AM
@Sp3000 top/bottom
 
Trailing spaces simplify reflecting top/bottom? Interesting...
 
Current OO language concept art for a simple "Fibonacci object" with an initial conditions and an "update" method:

F:[x:y:1;u:[~x,~y=y,x+y]]
 
@Sp3000 yeah, just make it a single string and reverse it
(like we did for that random rug some time ago)
 
Ahaha right, I see
 
Anyone here seen Ex Machina?
 
10:57 AM
May 21 at 14:32, by Rainbolt
Has anyone seen Ex Machina?
I don't know if he asked because he wanted to talk about it or because he wanted to know if it's worth seeing
 
I just found a particular scene funny. They are "hacking" into a security system, and the code they are writing is in python... The explicit code the protagonist uses is the "Sieve of Eratosthenes ".
I giggled.
 
not as bad as Tron: Legacy
"let's try the backdoor... su backdoor"
 
@MartinBüttner A naive port got me 77 :P
 
@MartinBüttner Kung fury has some glorius moments "I can hack you back in time".
 
I have seen ExM
 
11:07 AM
@MartinBüttner haven't noticed the x modifier, that seems useful and I guess you can use something like |$ this is like a comment if you want to
what annoyed me was that I can't put my work-in-progress text somewhere in the file
but now realized I can do (double) comment lines with $
 
@Optimizer enjoyed it?
 
not that much, but yeah
 
I found a video titled "Hack All The Things" where a guy briefly explains how to hack 20 devices in 45 minutes.
 
11:28 AM
@randomra you can still use free-spacing mode for that
x`# comment
 
@MartinBüttner wow, I can't even read the second line of a two line text, my bad
 
I think (?# ) is essentially a block comment, but still not usable with newlines in -s mode
 
yeah, I find -s very practical, not planning to leave it
or the other mode impractical :P
 
yeah the other mode is a pain to use... the only reason it's the default mode is for golfing when you need newlines in pattern or replacement
 
loophole to use a 257 char alphabet :)
 
11:36 AM
except you're not ever gonna use most of the control characters anyway, so I could have used one of those instead, but that would be even less usable
I might ditch multifile mode once newline escapes work in replacement strings. I could also maybe make -s more sophisticated by not splitting patterns on newlines if that would invalidate the regex... so that if you have a literal \n in a character class or a group, it won't be considered as a split because the pattern isn't complete yet
 
I think this is the last time I bother you with my 'Catch the cat' assymmetrical koth challenge: Do you agree that I should make two threads (like in cops and robbers) one for the cats, one for the catchers submissions? (As cats only compete within cats, and catchers only compete within catchers)
 
has anyone used programs to replace flash cards when learning stuff? I'm just looking for something really simplistic, but all the tools I've found so far seem a bit overkill while not being as flexible as I'd like them to be.
(ideally I'd just like to read in a bunch of markdown card definitions and flick through them in my browser... might just put something together myself if I can't find anything)
I guess this comes close
 
ahh, that kind of flash card, that makes more sense
 
well not images... just text really
 
just saw it, today I read just half of the sentences...
 
11:51 AM
I can work with that. I can work with that. Is this better? Is this better?
 
nope, this is just "I can work with that. I can work with that." I need "Relevant text. Gibberish."
 
@flawr It's up to you. The main motivation for having two separate thread for Cops and Robbers is so that the Robbers can submit answers as opposed to comments. Since everyone in CTC is going to submit an answer either way, it doesn't matter.
 
@flawr I haven't read the sandbox post, but "asymmetrical KotH" screams "separate threads" at me
 
Might as well reap the rep.
 
@flawr as the tasks are different I would vote for separate questions too
 
11:56 AM
ok thank you very much for the feedback, if everything goes as planned it will be released today or tomorrow=)
 
it allows you to accept a cat and a catcher separately
 
yes thats the idea
 
maybe I should add a transliteration mode to retina
 
@MartinBüttner I was in need of that for the rubiks cube, but the number of flash cards seemed a bit daunting to me.
Ideally I would like to have subcases of images or texts. Practice these 30, then these 30 and finally the 60 mixed togheter.
 
@N3buchadnezzar that brainthud one seems good... I don't know if you mix decks though
@trichoplax btw my upvotes from tweetable maths didn't get reverted the other day. how about yours?
 
12:31 PM
@AlexA. No, we don't :)
 
12:55 PM
@MartinBüttner well it is a bit more advanced than that though
 
1:12 PM
0
Q: Assymetrical KOTH: Catch the Cat (Cat Thread)

flawrAssymetrical KOTH: Catch the Cat This challenge consists of two threads, this is the cat thread, the catcher thread can be found here. The controller can be downloaded here. This is an assymetrical KOTH: Each submission is either a cat or a catcher. There are games between each pair of each a...

0
Q: Assymetrical KOTH: Catch the Cat (Catcher Thread)

flawrAssymetrical KOTH: Catch the Cat This challenge consists of two threads, this is the catcher thread, the cat thread can be found here. The controller can be downloaded here. This is an assymetrical KOTH: Each submission is either a cat or a catcher. There are games between each pair of each a...

 
no catchness thread ?
@aditsu working on next version ?
 
@flawr I would recommend adding RandomCat/RandomCatcher answers to help kick-start the competition.
 
1:29 PM
@MartinBüttner No mine didn't get reverted either. I wonder whether there was more than one person looking on the same day. I got another the next day, for the same answer as one of the previous day's, so at least that one was from a different person.
 
1:44 PM
@PhiNotPi Thanks for the suggestion
 
in a Java koth if I don't want players (classes) to keep state/info between calls is forbidding static variables enough? apart from directed hacks like reflection
 
@randomra As here on codegolf.SE the competitions are not automated (like rps-contest.com) I do not think it is necessary to make restrictions? The competitors have to post and explain their code so any attempt to cheat will be discovered I think..
 
(Friendly reminder: CodeJam in 10 minutes, if anyone's participating)
 
CodeJam?
 
@trichoplax I got three upvotes twice... I think maybe the script is clever enough to notice if someone just upvotes a bunch of answers on one question
or generally if someone just upvotes a lot or specifically targets one user
 
2:12 PM
@flawr it's more about avoiding misunderstanding about what "do not store data between calls" means than catching cheats
and what should I pay attention to in submissions to spot data storing
 
2:56 PM
@MartinBüttner not posting ?
 
chinese checkerboard
 
oh, I closed the tab when Sp3000 said he had 77
 
in CJam ?
 
2:57 PM
wow, only 2 hrs left before Dennis wakes ups .. gotta hurry
 
You have 73 to beat
Also this is hard
 
I probably have ~60 to beat
 
0
Q: Can numeric input/output be in unary?

Martin BüttnerSome string-based languages (including but not limited to sed, Retina, ///) can't really handle integer arithmetic in decimal (or other normal bases). Therefore, these almost always have to start by converting the input from decimal to unary, and the output back from unary to decimal, which can e...

 
@MartinBüttner do you think other languages could accept unary too whose standard number representation (whatever that means) isn't unary?
 
well yes
I just mentioned the languages as examples where it's sort of necessary, but the default is supposed to be valid for all languages equally
 
3:14 PM
and if someone wants you to use decimal, he/she should give the input as string, because otherwise it is just the inner representation
(this sound a bit unclear, was clearer in my mind)
 
well this of course only applies to reading input from STDIN or something
just found a bug while posting that meta poll:
0
Q: Making an immediate self-answer community wiki also CWs the question

Martin BüttnerNormally, users can't make questions community wiki (only moderators can, after the question is posted), but they can manually turn answers to CW. Now I just noticed that when you self-answer immediately (i.e. by checking the "Answer your own question" checkbox while posting the question), and s...

 
I'm having trouble with this (unary). How is it different from accepting binary input (which is forbidden.)
I feel like it should be more about "accepting input number as a standard representation in your language".
 
is binary input forbidden?
I find "standard representation" way too vague
 
well, i suppose, we often convert the input to binary right at the start
@MartinBüttner that's true unfortunately
 
8
A: Can numeric input/output be in the form of byte values?

Martin BüttnerYes, numerical input and output may be given as a character code As long as this doesn't give an unfair advantage (e.g. for a challenge that is "given a character code, output the character"), I don't see any problem with this. It's similar to allowing each language to use its native string repr...

 
3:25 PM
although we already do that with list inputs and many kind of output
 
for those we allow any convenient/unambiguous representation, not necessarily the standard representation
people can still choose whether they want an array literal or a space separated list for instance
 
so can I take a list as 1*2*3 if they ask for the reduced product?
> The languages in question are probably not going to win normally anyway, and I don't like to discourage answers in interesting esoteric languages, just because the author couldn't be bothered to include the atoi implementation.
This is the goal here too I guess, and unary doesn't give much advantage but I would say other bases might do.
adding my code to the end of the input is also a convenient/unambiguous representation in my mind, so I don't like that
 
I think this is where we use common sense :P
 
for me that is what standard representation means, maybe standard isn't the best word, as that implies only one
 
3:40 PM
I think I'm against unary being used as a default. In some challenges, it makes a legitimate difference and I'm not sure it should be the asker's responsibility to specify numbers must be in decimal.
 
right but how many question askers are gonna explicitly allow it when it doesn't make a difference?
 
That's a good point too. I'm very uncertain about this whole idea. Making Retina users ask about what to do every time is certainly not optimal either.
 
even if you ask them about it, if it's not an accepted default I can see a lot of challenge authors being reluctant to allow it
I'll go get some food... later, guys.
 
Ah, yeah. Perhaps specifying decimal numbers should be more common practice when it matters. It's another thing the sandbox can easily catch, but will probably disrupt a bunch of main posts until it catches on.
 
00:00 - 16:0016:00 - 23:00

« first day (1582 days earlier)      last day (3261 days later) »