« first day (3932 days earlier)      last day (903 days later) » 
00:00 - 08:0008:00 - 00:00

8:00 AM
 
Please don't post challenges like that unless you consider yourself knowledgeable in the specific algorithms to be used
 
Thanks. I do know about suffix trees and arrays. I just don’t regard them as practical
I even know about tries
 
Having read Wikipedia articles doesn't count
 
:)
 
Also I don't see how suffix trees are not practical, when Wikipedia alone lists multiple dozens of applications
If you mean it's not practical to implement it in code, you shouldn't be handing off the impractical job to code golfers :P
 
9:04 AM
@Bubbler they don't need suffix trees to get to quadratic time!
Also, everything here is impractical :)
 
9:14 AM
So... for exactly quadratic complexity you can build two suffix tries for S and T and traverse both, counting overlaps
One of my concerns in general is that string algorithms often involve the size of the alphabet in their time complexity, which makes the category of string algorithms a bad choice for restricted-complexity or fastest-algorithm.
 
9:40 AM
0
Q: How long the number will be in this base?

2x plus 1Given a positive integer \$n\$ and another positive integer \$b\$ (\$1 < b < 36\$), return the number of digits/length of \$n\$ in base \$b\$ 1597 16 -> 3 1709 9 -> 4 190 29 -> 2 873 24 -> 3 1061 27 -> 3 289 26 -> 2 1575 34 -> 3 1135 15 -> 3 1161 22 -> 3 585 23 -> 3 1412 23 -> 3 1268 14 -> 3 714 ...

 
9:53 AM
0
A: Sandbox for Proposed Challenges

PyGamer0Simulate weathering Simulate weathering / erosion. Input Input will be given as a string of any 2 character you like in the shape of the rock (here i use space and hashtag): ### #### ###### ######## ####### ##### Or if your language doesn't support strings, a matrix of 1s and 0s. AND a nu...

 
10:18 AM
@NewPosts I feel like this is dupe
 
 
2 hours later…
11:50 AM
0
Q: Policy on Outputting Irrations as Fractions

lyxalThere's consensus that answering with fractions is allowable for decimals that can be expressed as fractions. But what about irrational numbers? Can they be expressed as a rational representation of the corresponding decimal approximation? Examples: \$\sqrt{2}\$ can be approximated as \$1.4142135...

 
woah that was quick
I only just pressed submit question and bang it's here in the chat
like I knew the bots were fast, but I didn't realise they were that fast
dang how much butter do they require?
 
12:33 PM
I swear, every single time I see scipy I read it as spicy.
4
I also seem to type spicy in my code as well. It's gotten to the point where I almost want to do import scipy as spicy
4
 
I love it
Always wondered why the tradition is the import numpy as np but then just leave scipy as it came
 
import scipy as 🌶
 
@Wezlprogramsredwolf aw dang it that's invalid syntax
 
@Wezlprogramsredwolf My supervisor is gonna be so confused when I start putting chillis all over my code
 
import scipy as rats_python_dont_support_emojis
x={}
x["🌶"] = rats_python_dont_support_emojis
# x["🌶"].method()
import scipy as self
 
12:47 PM
Don't you need to specify the encoding of the code at the top or smth
I remember having to mess around with it for some code golfs
 
the point of this is not to write good python code
 
I don't think I've ever written good python code in my life
 
I did basically learn most of what I know about python from this site after all lmao
 
oxymoron :P
 
12:50 PM
^^
 
Hey guys wanna see the sky for me rn
 
sure why not
 
It's night lol
 
I'm pretty sure that's just a picture of me with some filters
 
Hey you're not a cloud formation, you're a plate!
 
12:56 PM
that picture looks a lot like a plate to me
@lyxal I was 16
 
@BetaDecay Because they thought everyone would be like “omg thanks numpy!” and then numpy would go “np”
 
10/10 dad jokes ftw
 
Night y'all
¢/
 
1:24 PM
&/
 
0
A: Sandbox for Proposed Challenges

nrgmsbki4spot1How large does interleave operator generate a maximu value? [code-golf] INTERCAL has an interleave operator which does the following operation. Let left operand be asdf and right one qwer in binary, respectively. The operation produces a binary value aqswdefr. INTERCAL internally treats data as u...

 
@BetaDecay i think thats only for python2
 
@pxeger agreed. as a floridian, i can personally confirm its' true
 
1:42 PM
@lyxal Industrial quantities. I have a big funnel directed at the CPUs of my server, and maintain a 400 PSI blast of liquid butter.
It doesn't cost much though, since I can run it through some filtration and reuse the butter
Some of it is briefly diverted into cookie dough on occasion
Is it bad that I actually really like the color scale used in the latest xkcd?
 
@pxeger Are you going to write up the Zsh LotM post?
 
Oh okay, so the report is due today. So I'm glad I did it last night.
But it wasn't due 48 hours ago as I had thought.
 
2:01 PM
bruh
 
Like I said, very disorganized class
The only google classroom assignment created had us turn in three separate assignments in the same place
And there wasn't a due date
And there's no place to turn in the report, and thus no due date visible either
And I don't pay very much attention in class
I almost got a 75% as my final third-of-a-semester grade in that class
And I just barely got a 90% the first third-of-a-semester
So I'll need to try extra hard this one to keep my GPA a 4.0 lol
Oops the word count is actually supposed to be 600, and I have 1400
 
how disorganized is this class / how disorganized are you ?? lol
 
It's about a 50/50 ratio lol
Word count now down to about 700
I was counting my works cited, but when I get rid of that in addition to a few sections of the paper it's fine now
 
2:19 PM
i'm both impressed with how much you've managed to mess up this assignment and how quickly you're still able to do it lmao
 
I've got some experience in the field of messing up assignments lol
If the college spam continues at its current rate it'll arrive faster than I can click the trash button by 12th grade
But at least I apparently belong at Montana State University lol
 
I just realized that for challenges that let you ignore whitespace in the score, you can always solve it with Vyxal in 8 bytes by encoding the real program with spaces and newlines and then executing it: Try it Online!
and now I just realized that there's a challenge based around that very idea: codegolf.stackexchange.com/questions/3615/…
 
2:37 PM
The minimum I can get in JS is 87 so far
Using JSFuck
Okay down to 56 using unary with whitespace
E.g., +[] for a program to output 0 would be 51 spaces
 
@RedwolfProgrammed College spam is ridiculous, honestly
I still get the odd email from random unis in the States
 
@RedwolfProgrammed It's around 2 ** 6061 characters for something as simple as alert(1) lol
 
"Hey, we think you'd be a great fit of Texas University of Texas" Yeah, lemme just get a refund on the tuition fees I just paid so I can get a flight out to start uni there
 
2:54 PM
Tut-tut
 
@RedwolfProgrammed pro tip: create an auto email filter rule to immediately delete any email containing the word "unsubscribe", and you'll never get another newsletter again
 
Wouldn't basing it off of the list-unsubscribe header be less likely to delete something you don't want deleted?
 
TIL if you type something into the chrome omnibox and hit Ctrl+Enter instead of just Enter, it automatically appends .com to the search and tries to go to that site. So you could type github instead of github.com
 
@pxeger Can't get false negatives if everything's classified positive amirite :P
 
I wouldn't want an email being deleted just because someone mentions unsubscribing
 
2:56 PM
I've never had a problem with false positives
 
Would you know if you did though?
And if you're checked the ones that get filtered, then what's the point of filtering them at all
 
@RedwolfProgrammed pro tip: create an auto email filter rule to immediately delete any email containing the word "unsubscribe", and you'll never get another newsletter again
 
I occasionally glance through the junk list
 
And...you can also click the unsubscribe link lol (and some organizations ignore that, but then I'll just filter them specifically)
 
@RedwolfProgrammed but they don't clog up my inbox, which I now know is always full of only important email
 
2:57 PM
I kinda like the attention
 
@RedwolfProgrammed that's exactly what I'm trying to avoid
 
it's more effort
 
"<name>, we've extended the deadline just for you! Apply now to our middle-of-nowhere university that's so desperate for students we're reaching out to a mediocre student who's never shown interest in us, and we'll give you a scholarship!"
Makes me feel so special with those personalized tracking links and stuff :P
 
@pxeger I search for things like "action required" and "alert" and check those
 
2:59 PM
That sounds unnecessarily strict, though
It's not that easy to go through the spam and unsubscribe/block a few manually
 
Not that easy, or not that hard?
 
Sorry, I meant not that hard
I hate it when that happens
 
cmon, it's not that hard to get it right!
 
3:13 PM
CMQ: Should () be a syntax error, or something like null? (in a language without tuples)
 
Depends entirely on the context. As a parameter list, it should be alright. Otherwise, it should be an error since you can just use the keyword null instead, much less weird-looking
 
@RedwolfProgrammed leave it as a syntax error; that way if you come up with some new syntax that allows () it won't be ambiguous
 
3:41 PM
CMA: add tuples
 
2 hours ago, by Aaroneous Miller
@pxeger Are you going to write up the Zsh LotM post?
 
@Wezlprogramsredwolf How would that be applied?
 
@AaroneousMiller oh, did it win? lol I totally forgot
yes I'll write it up
 
You forgor 💀
 
3:51 PM
CMQ: How do you pronounce Zsh? Zee Ess Aitch, Zeesh, or Zsh?
 
if i need to pronounce it (when i read it in my mind i don't actually have a sound for it) i'd say z-shell like seashell but z
 
I think there's a shell out there called conch or xonch or smth
 
0
Q: Language of the Month for November 2021: Zsh

pxegerIn accordance with our meta agreement, since one candidate received more votes than the others, we have a new featured language! Throughout November 2021, our Language of the Month will be: Zsh What's a Language of the Month? See the meta post for nominations. In short, during April, those who ...

 
nice. added to the event list
 
4:01 PM
thanks!
 
@RedwolfProgrammed same but definitely leaning into the schwa sound
like, as if it was in the middle of a word
fizzshell
oh, zsh is an option
nevermind then haha
 
@user Zed Ess Aitch
 
@Anush The only argument I can think of for not making the nominations post community wiki is that it might decrease people's sense of ownership about their nominations. But there's no rep involved, so maybe it wouldn't.
@user I've been saying "zeesh," not because I think it's necessarily the "right" way to say it, but because it's fun to say. ^_^
4
 
4:21 PM
what if randall did xkcd 545 again but instead of it being about wikipedia, it being about the explainxkcd page
 
5:03 PM
@lyxal Is that related to Proof by Intimidation?
@hyper-neutrino I think it makes sense for Nominations for Language of the Month to be community wiki. If you agree, could you please convert it?
 
Thanks!
 
@DLosc I disagree with that, and I certainly disagree with doing that without proper discussion (afaict, only you, Anush, and h-n were involved)
I don't see any reason to do it
 
wait i thought y'all'd finished sorting this out? i remember a discussion starting here and never said anything about it
 
@pxeger I asked multiple times on multiple days. ¯\_(ツ)_/¯ What's your argument against? I believe a mod can un-CW a post if need be.
 
5:16 PM
Couldn't a meta discussion be made?
 
A user's nomination answers belong to them, because there is normally an association between that user and the language they nominated (e.g. I nominated Zsh because I regularly use Zsh)
 
Asking in chat means that people won't be likely to see it (especially if it isn't pinned, which this wasn't afair)
 
And, for example, the Zsh one contain[ed] a lot of "I" and "me" which make less sense on CW
@user precisely; why wasn't it? Or at least pinned for a couple days
 
whatever. i'll revert it and just link me the meta concensus if you guys decide you want it CW'd again
 
@pxeger TBH I didn't think it was that important either way. I can throw together a quick meta post.
 
5:21 PM
I don't really have an opinion on it either way, but I think it should be mentioned that a lot of LotM nominations are done by the creators of the language (e.g. Vyxal, Plumber, Add++, tinylisp, Arn, etc.), who would probably prefer to have their nominations remain their own.
 
@pxeger wdym? Does it really matter?
 
4 mins ago, by pxeger
And, for example, the Zsh one contain[ed] a lot of "I" and "me" which make less sense on CW
 
@pxeger You can still see who posts an answer when its CW
 
@cairdcoinheringaahing but the relationship isn't really conveyed as strongly
 
CW here makes sense, as the post gets edited at least once a month by a large number of (overall) users. While tradition is to allow the person who posted the nomination to post the LOTM thread, anyone can do it. Ownership of the answer isn't important
Besides, I think people can figure out what is meant when people use "I"/"me" in a CW post
 
5:24 PM
0
Q: Should Nominations for Language of the Month be community wiki?

DLoscShould the Nominations for Language of the Month post be converted to a community wiki? What are the pros and cons of doing so?

 
@pxeger That can easily be edited out, and even if it's left in, it's not a huge deal
 
Another option: I just edited my tinylisp nomination to read "I (DLosc)"
 
@BetaDecay well, sp would be ambiguous with sympy
and np makes sense because NumPy = NP whereas SciPy and SymPy would get confusing and if you call it like scp or something that's just not as nice anymore
 
There are surprisingly many broken links on Wikipedia :/
I just want to know about the history of squash ffs
 
quick question: can a question be CW without its answers being made so?
 
5:29 PM
TIL:
> The English word "squash" derives from askutasquash (a green thing eaten raw)
 
@pxeger No, unfortunately
 
in that case I concede; I've seen the worth for the question itself to be CW, and I guess it's less important for the answers
 
That might have been the best option if it were possible
 
I actually think having CW answers is useful
 
why?
 
5:30 PM
If a user who likes a nominated language thinks its lacking in listed resources/info/pros/cons etc., they can only edit those in (including suggesting an edit) if they have 2k+ rep
They can leave a comment, but the better thing to do is to edit
@cairdcoinheringaahing Granted, it won't be used that often, but there's very little downside, and if it helps one person, ¯\_(ツ)_/¯
 
It also allows us to do the edit-down-and-delete steps for successful nominations more easily. Once or twice, I've had to flag a nomination for mod deletion because the user who posted it wasn't active anymore. Like caird said, not a big deal, but a small annoyance.
 
oh yeah the october one was up for a long time i deleted it like a week ago lol
 
@NewPosts I want to answer "No, because if its a fraction, its not an irrational" to this :P
 
5:52 PM
@hyper-neutrino I started programming using Visual Basic in Excel, and wow, those scars certainly still haunt my dreams
@lyxal at school I made, what was, looking back on it, quite a complex P2P network, for a chat system, precisely because a web chat would get shut down very quickly
 
6:30 PM
@cairdcoinheringaahing s/Outputting/Approximating/ to match the language in the post body (agreed, though)
 
I love how LaTeX makes my life easier except that one time when you want to insert a normal tilde and have to use a package to do it ಠ_ಠ
Wow, a take home quiz back from September just got graded and my teacher says I have until midnight to turn in the corrections ಠ_ಠ
It's great that he lets us correct them, but a heads-up would be nice
 
6:59 PM
I mean it's obviously a top priority, since it only took two whole months to grade :p
 
Yeah, duh.
 
@pxeger Out of interest, how did this work? I've considered something like that before, but I'm not really sure about some stuff (like how they'd get each other's IPs).
 
My laptop is really struggling today
 
Chrome and Firefox?
 
Why do you have terminal, powershell and vscode open at the same time???
 
7:05 PM
It's RAM day and my CPU's out of shape
@emanresuA I also have the WSL terminal thing and cmd open :)
 
AND atom???
 
@emanresuA 3 types of conhost (cmd, powershell, WSL bash), and the new Terminal
 
@RedwolfProgrammed I use Chrome for my school stuff because Firefox's multi-account containers weren't good enough
 
@emanresuA and IntelliJ
 
I'm not actually using Powershell, I was going to and then decided to use Terminal because it's got a cooler UI
 
7:06 PM
and two drawing apps?
 
One for an actual assignment and one for a bad edit
@emanresuA VS Code for a personal side project, Atom for Vyxal, and IntelliJ for a school club
 
ಠ_ಠ
 
CMP: What's the most applications you've ever had to have open?
 
You realise all of them can have multiple windows?
 
@user Maybe 5
 
7:08 PM
@user Had to have open or opened by mistake? Because there was the time I opened up eight copies of Minecraft...
 
@emanresuA I use VS Code because it's got Metals and IntelliJ's support for Scala sucks, Atom because it's cool but pretty much the only language I can use it with is Python (which Vyxal uses), and IntelliJ because I have to for Java
@emanresuA See now that's why I stopped pinning stuff to my taskbar
 
@user regularly? it's normally 3xFirefox, 2xKonsole, Password Manager, Thunderbird
 
@RedwolfProgrammed ಠ_ಠ I have seven open right now
 
Or you get IntelliJ and 10 Chrome windows opening at once while your laptop's booting and then it just dies
 
and Flameshot, if that counts, but it only runs in the system tray
 
7:09 PM
@pxeger Why use Thunderbird if you can open mail in Firefox?
 
@user it's not web mail, it's raw untainted IMAP and SMTP
 
Github Desktop, Firefox, Finder, vscode, Terminal, Textedit, and Piskel
 
@user I have my work email open in Firefox
 
@pxeger Why do you need raw IMAP and SMTP?
 
@user my personal email is complicated
 
7:11 PM
Btw, my email address is totally.emanresu@pxeger.com
 
I could set up Roundcube or something, but that's just another service I have to maintain
 
Wait
did that ping you?
 
no
 
ø⁄
Aka dab
 
@pxeger Oh dear
 
7:12 PM
@RedwolfProgrammed I think it was something like "attempt connect to a few hardcoded ips of a computers that are commonly used to run my chat app [mine and some friends, probably] and send them this computer's IP"
 
7:56 PM
@pxeger attempt to connect*
 
> In three sentences or else summarize the beginning, middle, and end of this poem.
 
"or else"? So it doesn't have to be in three sentences at all?
 
I'm sure he meant "or less", but I do love the idea of the threat "do it in three sentences, or else you'll have to summarize a poem"
 
@user you know that that's the underlying protocols for email... webmail is just user laziness
 
We prefer the term convenience :p
 
8:04 PM
@Neil Sure, but normal lazy users (which pxeger is apparently not) can just use Gmail :P
 
I don't really see the point of using old person email anymore tbh, it's more convenient to just do it through the browser like everything else
 
> not lazy
wow, did that approximate a compliment? I'm gonna take that as a compliment
@RedwolfProgrammed old_man_shaking_fist Back in my day, young man, we didn't even have a "protocol" to deal with the post office, we had to rsh in and more the Maildir ourselves!
 
@pxeger No, I meant you're not normal :P
 
TBH using something like gmail doesn't feel lazy, it feels like the default and anyone doing it the old way either should have a good reason or just has a case of i-want-to-feel-smart syndrome
(or it's for learning purposes or similar)
 
8:21 PM
@RedwolfProgrammed what do you mean? "i-want-to-feel-smart syndrome" is a good reason!
 
Hmm, fair enough :p
 
Funny thing... Lots of really great answers as soon as I put the bounty on and then nothing
It's like everyone had them ready to go :)
 
@RedwolfProgrammed in that case it should be "fewer" :Þ
2
 
You're the most pedantiest pedant I've ever seen
Why would you expect an English teacher to use "fewer" instead of "less" here?
 
Not I want to know what is being discussed that needs fewer?!
 
8:32 PM
34 mins ago, by Redwolf Programmed
> In three sentences or else summarize the beginning, middle, and end of this poem.
 
It's ambiguous. Fewer would mean two, one or no sentences
Less would mean not as much in the summary
But fewer is probably right here
 
@user bites lip angrily
 
@pxeger surely you should point out the word pedantic
 
that, I believe, was the point
 
The distinction between discrete and continuous is a good one and natural for anyone who has done math
 
8:41 PM
I'm reimplementing Flipbit, and I have a couple questions, since there isn't really a spec. 1) Can input be limited to characters where ord(char) < 256? 2) Must the tape be finite in size?
Oh shoot I forgor to @cairdcoinheringaahing for ^
 
@AaroneousMiller You can just create a "dialect" of Flipbit where it doesn't have to be exactly the same as the original :P
But I guess 1) I don't see why not, and 2) Can be finite or infinite
 
lol thx
Also, what's the rationale for this:
if tindex < 0:
    tindex = 0
    tape[tindex] = 0
if you try to go left of the tape, it sets the first bit of the tape to 0
 
9:01 PM
@pxeger Sorry, after looking at Anush's comment, I realize I should've said "the most pedantic pedanticiest pedant" :P
 
sounds of a teapot whistling
 
@user correct! :)
But not as a pedantic as a good compiler
 
@AaroneousMiller You're assuming there is rational behind my coding choices
 
9:18 PM
CMC shortest code to sort a list of integers only using elementary operations
I.e. reading elements, comparison, arithmetic, assigning variables
 
9:38 PM
@AaroneousMiller Perhaps to prevent the equaivalent of [<] from infinitely looping?
 
9:57 PM
@Anush I prefer my compilers to be more helpful than pedantic :P
Of course, a forgiving compiler isn't great either
@Anush Scala: _.sort (only elementary operations are used...behind the scenes, that is) :P
 
@user poor behaviour!
@user helpful compiler?? Are you dreaming?
 
@Anush Jelly, . Defines "sort" to be an elementary operation :P
 
@cairdcoinheringaahing follow the spirit of the rules!
:)
 
@Anush One huge part of compilers (and the whole point of linters) is to helpfully show you what you're doing wrong
 
@user I know but I have spent a long time with gcc
 
10:03 PM
:(
 
You really need to know what the problem is before you read what it gives you
 
@Anush CMCs are like Uno: the rules are what you can convince everyone else the rules are :P
 
@cairdcoinheringaahing :)
 
You know what they say: Might makes right. Anush needs to become a mod and threaten us with bans to get us to do it properly :P
 
Latex is even worse. The error messages are next to useless
@user good plan!
 
10:05 PM
@user well I've never heard that saying before actually but thanks for the idea
 
np
 
CMC given two strings A and B, count how many substrings of A are substrings of B
 
You forgot the first step :P
@Anush Python + Vyxal: from vyxal.elements import *;lambda a,b:sum(s in substrings(b)for s in substrings(a))
 
Is that function symmetric?
@user nice mix!
 
The question's basically to count the size of the intersection of both their substrings, right? I think it's symmetric
 
10:07 PM
@user ah right
 
@Anush It's not a mix, I'm treating the Vyxal interpreter like a library lol
 
Understood
 
is there any websocket / or non-stupid way to get all chat messages in real-time? by non-stupid I mean not just while True: get("https://chat.stackexchange.com/transcript/message/x"); x++
 
I feel an unpopular restricted complexity question coming on
 
@hyper-neutrino Yes, there's a websocket
 
10:11 PM
@hyper-neutrino You can set up a listener bot in here that will catch and log all new messages, but that won't cover old messages
 
@RedwolfProgrammed oh wait no
Not for old messages
You can get 500 at a time though
Using /events
You can borrow my code I used for TWTNB if you want
Wait no you can't because I am potat and didn't save it
 
@cairdcoinheringaahing ah, okay. That's fine - I only need real-time new messages (the idea is to do a CHQ-like thing for chat - we're just speculating on whether or not that would even be feasible)
(also, when you say "bot here" I think you misunderstood - I want all messages, not just this room)
 
Watching all current messages in one room is trivial
NP/SP actually does that, but only to acknowledge pings to stop it from emailing me every other day
And to listen for status/REDWOLF! messages
I don't think it's possible for all rooms though
I'd thought the main page updated the list of rooms every time a new message was sent, but after some inspection it seems it does not
And that's the only place I could see there being a socket for all messages
If you wanted a somewhat gross but still functioning solution, you could watch the chat homepage for new rooms, then listen to every single non-frozen room
 
that's one of the ideas we ended up coming to as well :P
 
10:26 PM
That's only...800 or so lol
Yeah that probably wouldn't work
The incrementing message IDs is honestly probably the best option
If you checked every second or so, you'd accumulate a small backlog if a lot of messages were posted at once, but as long as you check faster than the average rate of messges being sent you'd always catch up in theory
Wait, the chat homepage is updating
Hold on...
Wait no it isn't
Wait yeah it is?!
 
???
 
Okay, it's just re-checking /rooms
So it's not a websocket accumulating messages from different rooms, it just auto-refreshes with some JS
So that could also be a viable approach
 
which approach, incrementing id?
 
I'd probably go with incrementing ID, but the /rooms one is also viable
You'd still have to combine /rooms with /events, so depending on how active chat is I'm not sure which would require more requests
 
as long as we can distinguish between "message doesn't exist yet" and "message was deleted / is in private room" we should be fine
 
10:36 PM
Sounds like an interesting project.
Doesn't seem like it'd be as useful for chat as it would be for questions/answers, though
 
definitely not. chat flags get things done pretty fast lol
 
11:34 PM
@emanresuA I once sent an email to joemama69@pxeger.com
> Nice to meet you too, Lyxal
That was pxeger's reply to me sending the word frick
 
11:50 PM
Hmm, I wonder how he knew it was you :P
 
00:00 - 08:0008:00 - 00:00

« first day (3932 days earlier)      last day (903 days later) »