« first day (1115 days earlier)      last day (3200 days later) » 
00:00 - 15:0015:00 - 00:00

00:00
RELOAD! There are 2353 unanswered questions (93.1539% answered)
00:22
0
Q: AutoCloseable Lock

maaartinusSurprisingly, this question has no satisfactory answer. A safe usage of a LockCloseable would be like try (LockCloseable lockCloseable = LockCloseable.lock(lock)) { doSomethingUnderLock(); } // automatic release or using @lombok.Cleanup { @Cleanup LockCloseable lockCloseable = LockClo...

01:04
41 messages moved to Excel
01:32
0
Q: JS namespacing code

Jack WilsdonI have written a wrapper for my code that allows basic namespacing and I'd like some feedback on how it can be improved. It is designed so that a module can define it's namespace and get access to all of the parent namespaces. These are spread in reverse order across the arguments of the module ...

01:50
Better off on code review for working code. You can take a look at this answer I provided to make the check less verbose. The question also has various different methods to use, it's merely matter of preference in the end. — Rob 51 secs ago
I'm voting to close this question as off-topic because it belongs on code review — Pythonista 22 secs ago
02:26
0
Q: Python 3 class constructor

mbdevplI have implemented a metaclass in Python 3 that apart from the usual instance constructor (i.e. __init__) enables you to define a class constructor (as a class method that I called __init_class__). The metaclass extends abc.ABCMeta so it supports abstract classes, i.e. the class constructor is no...

Oh wow
The Windows Update it did this morning also made my command prompt look like complete crap.
0
Q: Hello World with my shell

Programmer 400I'm writing a shell and I can do Hello World: $ echo Hello World echo Hello World 30417: executing echo Now I should do hello world with variables: #!/bin/bash STR="Hello World!" echo $STR I'm saving the variable in a hashtable (because I looked and bash does not save a shell variable as an...

 
2 hours later…
04:40
0
Q: JavaScript 2D Grid Wrapper

Jack WilsdonI have written a simple wrapper for a 2D grid in JavaScript that allows me to resize the grid dynamically and I'd like to know if there's any way I can improve on my code. Here is the code itself: function Grid(width, height, defaultValue) { width = Math.max(0, width); height = Math.max(0, ...

05:23
0
Q: Looking to get this Google Maps JavaScript API code reviewed

jrosIn an effort to keep all of the Google Maps Javascript API in it's own little world, I have created a googleMaps object that will contain all of the functions that directly make google maps webservice calls. This object will be imported once on every page. For now, it only has one function. if...

05:35
The architecture seems fine to me, neither me is a architect. I would suggest you to put the code in the codereview.stackexchange.comEldho 51 secs ago
06:28
0
Q: Simple repository for a small/medium sized asp.net mvc site. Using entity framework

Mathias HoveI was told to post this question in code review:) So here it goes:) I am about to start a small/medium sized project. I am by no means a software architect. But i tend to question every move i make at times. Since i want to do things correct. I found a way to implement a simple repository, and...

What's up @JNat.
Mornin'
06:58
0
Q: Property caching

Dmitry NoginTrying to figure out how to efficiently cache property calculations with dependency tracking to invalidate the cache. Here is the syntax I have at the moment (one Cache instance supports multiple object properties): class Multiplication { public int Arg1 { get; set; } public int Arg2 { g...

07:37
For codereviews, please turn to codereview.stackexchange.com. My quick comments: a lot of bad ideas. static can be pretty dangerous as it can make testing of your code really hard. Then: constructors should only construct objects ... you might want to decouple that from "real action" like starting threads and so on. Long story short: you want to read about en.wikipedia.org/wiki/SOLID_(object-oriented_design) for example. Then you want to practice TDD in order to come up with a design that is actually unit testable ... — Jägermeister 40 secs ago
I'm voting to close this question as off-topic because it belongs on codereview.stackexchange.com — Jägermeister 54 secs ago
@Jägermeister Regarding codereview: I'm not asking for people to analyze my code, I have very specific questions about specific programming conventions, does that not make the article eligible to stay here? — Chexxor 45 secs ago
monking
@Phrancis You know it is a wild night when you have to move messages to the Excel room
3
This really doesn't belong on Code Review. There are some opinionated elements here, but it sounds like you're still at the whiteboard. — Makoto 51 secs ago
08:00
Ripe zombie; open question with answers, at least one answer having score 0, no answer having score > 0: Asking for GPS and Internet permissions
08:15
I'm voting to close this question as off-topic because OP is asking for a code review, and should be migrated to codereview.stackexchange.comMacro Man 41 secs ago
08:25
@MacroMan since there is no migration path to Code Review you shouldn't vote to close questions as "belongs on another site". Alas the UI is confusing :/ The "correct" way to handle code-review-ish questions on Stackoverflow is to VTC as "too broad" and mention Code Review in a comment :) thanks — Vogel612 just now
Thanks for your response, I hope you would be able to do so, as reporting is an integral part of the tool that is used more than often specially in code reviews. — Mahm0ud 53 secs ago
Ah, crap.
My feature branch has diverged from master by about 102 commits between the two.
and there are some new commits on master...
now I have to rebase 102 commits on top of master :(
git pull --rebase
as long as you don't have to squash anything it should be over quickly after fixing possible initial conflicts
meh, that's basically the same as git rebase master
Yeah, there are just quite a few conflicts (for some reason)
It's only me developing
So I'm not sure how I have managed that
luckily git checkout --ours works in (most) cases
2
Q: Algorithms to find various kinds of paths in graphs

Psycho PunchI think many here are familiar with the graph data structure. Not very long ago, I implemented as an exercise a supposedly simple Graph application that does some traversals. To note, the most complex operations in this class are those that exhaustively find Paths: findDirectPaths, findPathsWithM...

08:46
It is, funnily enough, really hard to do a rebase that large without tests.
So write tests.
2
Zak
Zak
Monking @all
Monking
0
Q: 'Map' datastructure Psuedo-Code

fraymentI'm making my own programming language called Jazz and are currently implementing the stdlib. I'm working on util.map at the moment, and want advice on optimisation. I'm reading through a website, namely this one and are porting it from Java -> Jazz, and don't know if I could possibly make it an...

@CaptainObvious On it.
@CaptainObvious no language tag, because using their own language... not sure whether we need a language tag for that. This particular language isn't released, there is a language named jazz already
it's just a VHDL language IIUC
I've had an interesting discussion on authentication this morning on the /r/leagueoflegends subreddit
> because using their own language
how do we review something that isn't even in public domain../
@DanPantry yea grammar goes bonkers when reasons go bonkers
@DanPantry We don't.
We can review any language out there, but they need a specification and something to run in.
This has neither.
09:12
@CaptainObvious Appears he isn't closing/removing it himself, so let the close votes commence.
09:25
Wow... someone on /r/leagueoflegends is seriously suggesting hashing the password before it is sent to the server as an effective means of security
As long as it's hashed again server-side ^^
Yeah, but that makes no sense
"It protects your password!!" No, it doesn't
Nope.
Your hash now becomes your new password, adn so nothing changes if you're over an unsecured connection.
He must've heard the word 'hashing' somewhere and thought it's magic.
09:27
You can still have your memory scanned and dumped to find the original password, so you're still screwed there.
The only thing it does is let you pretend your client is more secure, which ostensibly makes it less secure
@DanPantry it protects your stupid ass from being wiresniffed their only password over an unsecured connection
Security through obscurity, I've never been a fan of that.
that's what it does
@Vogel612 Okay, sure, so it protects users who use the same password for everything
Except.. not really
not that one should use an unsecured connection in the first place
09:29
I mean, the easiest option would just be to, idk, use a secured connection
Note that in the context of that comment people were worried that the client was "storing" their password in plaintext (in RAM).
So they were afraid that someone could sniff memory for it.
Never mind the fact that that would require granting a program admin access (post W7+/nix)
And that that happens with your web browser anyway
@DanPantry ~facedesk people are dumb
I should really be doing work, but talking about crypto is far more interesting than wiring up forms in Angular
@DanPantry Or have a disabled UAC I think.
And yes, people are dumb.
Zak
Zak
@Vogel612 People are uninformed. There is a difference. When they should know enough to know better and they come out with stuff like that, then you can say they're dumb.
@Zak Willfully uninformed, though.
Zak
Zak
09:42
@DanPantry Everyone is willfully uninformed on most subjects.
If you're using computers every day, you should be, at the very least, aware of when something is a secure connection and when it isn't.
@Zak That's true, but my financial wellbeing (as an example) doesn't depend on my knowledge of mitochondria.
My bank account may depend on me knowing whether the website I am on is a secure connection, though.
Or run by a nigerian prince....
Zak
Zak
@DanPantry Sure, but actually, for the majority of people, they know nothing about secure vs unsecured connections, and their bank accounts don't get emptied as a matter of course. If you're surrounded by that reality, then deciding to spend your time learning something else is not an irrational decision.
I just don't like calling people dumb for not knowing things we think they should know.
@Zak I agree, I'm not going to call them dumb for it.
But I do not think that they shouldn't know it. They should be very aware of the basics of how it works
People who are ignorant of it, willful or not, are at risk
Zak
Zak
A strong argument could be made that making our programs secure even for users who willfully take risks they shouldn't is part of the service people expect these days.
See, for example, car safety measures. Most advances in car mortality in the last 50 years have been in preventing deaths caused by reckless driving.
So that stuff like this happens:
And nobody dies.
holy crap that looks bad
Zak
Zak
09:54
Same reason that banks are responsible for stopping fraud. Because they have the experience, information, means and capability to do it much better than 100 Million individual consumers.
It would be nice if we could just say "that's the user's responsibility", but that's a cop out.
This question qualifies for the codereview.stackexchange.com. And no, this is not the right way to use php oop and mysqli. Even though only one result set is created. — Your Common Sense 36 secs ago
Zak
Zak
And even if it's justified, it's not what people want, or what they'll pay for.
But how far do you think a user can be protected from not using the same password over and over?
We already protect them from that on the server side, and we give them a secured connection (through LoL).
There's not much more to do there
Thanks for your nice comment. But I don't know how to post in codereview as I have no account in codereview.stackexchange.com. Do I need to create another account for that or the existing will enough to post this code there? — Abdullah Mamun-Ur- Rashid just now
The only problem is if a program gets access to a user's memory, and as much as you can try and limited collateral damage there, if a program has access to a user's memory that user is toast anyway
I agree that users shouldn't be called dumb for being ignorant but they should have a crash course on basic security on the internet. It's just far too important not to be informed.
Just basic stuff like "Don't grant admin access to everything you download from the internet"
3
And "check the URL before you enter credentials"
And "check for the lock icon when you're entering credentials".
Zak
Zak
09:58
@DanPantry I'm with you there.
@DanPantry They should, but they don't.
Another problem is people who don't really want to use a computer but are forced to do so because of work/finances/government.
Those really don't know a thing and they couldn't care less.
They'll blame their computer when they get hacked.
Thanks. I already have posted this question to codereview. I did not know about codereview before. Thanks again for your information and suggestion. Hope you will give me sample code there (in codereview) which can be best alternative of my code to use php oop and mysqli efficiently. The link in codereview for same post is codereview.stackexchange.com/questions/129088/…Abdullah Mamun-Ur- Rashid 53 secs ago
0
Q: Is this right way to use php oop and mysqli?

Abdullah Mamun-Ur- RashidI am not very experienced in php oop. Moreover, when mysqli comes with php oop, it make me more confused about using it in best efficient way. Anyway, first look at my connection class: <?php //connectionclass.php class connection{ public $conn; public $warn; public $err; function __construct()...

> If it is not right way, please explain your points and please give me code which can be used efficiently for php oop and mysqli.
I don't want to be an ass, but that instantly triggers a downvote.
@Mast language barrier seems relevant
10:11
No.
He's basically saying 'If this isn't very good, give me something better. In code.'
just skimmed over it... if it's only that sentence then I'd be willing to assume language barrier
if it isn't ... happy downvoting?
If only we could make the 'How to ask' an obligatory read.
@Vogel612 The rest of the text is odd at best. I'm perfectly aware asking questions is hard on the internet and not having English as your first language doesn't help either. But there's so many crap incoming and crap questions are unnecessarily hard to review.
So many new users forget somebody else has to read their code, read their question and understand what's it about.
For free.
It's not like we're paid tech-support or anything.
10:29
anyone speak french here?
@Mast if we could make people do intelligent things like reading the rules, we'd not have close-reasons...
anyways, off for lunch
need a translation, our translators haven't translated this ticket and i don' trust google translate to be good enough
nvm forgot a colleague speaks it lol
@DanPantry Petit peut, but you're probably looking for a Canadian
Or janos
google tranaslate actually translated it pretty well!
turns out the user's issue is that they need to install google chrome to use our software
I'm not sure why that is an issue. We only support Google Chrome.
lol
You what?!
10:31
Our app uses Object.assign() and stuff, ES6 features.
We could transpile it down, however IE11 was so bad in terms of performance it was better toj ust not support it.
So?
How about Firefox?
As in, IE11 was literally crashing our VMs
I cant' see Firefox being much better in terms of memory
It would work on FF - my coworker uses it
but each user has approx 400MB of usage on a VM
Chrome is the only thing that really fits in there
Well, if you put it like that.
Still, if your app forces me to use Chrome, I wouldn't use your app.
It's an internal app.
Zak
Zak
Not supporting IE I can totally support, but if you can support chrome you should at least try to support FF as well.
10:34
It's an internal app. The only way to access it is by using our internal VM servers which we provide to each user.
Just what I was thinking.
It's totally within our right to enforce a certain browser in that circumstance
Before the UK launch, we were supporting IE11
Internal apps, yea, those are usually problematic one way or another.
Hard to do right.
Then, after the UK launch, when we tried to put 15 users on IE11 with a thick client app on a vm server with ~2gb of RAM and a dual core processor..
Well, let's just say it did not go well
Ths is on top of having outloook open and some other programs, too
Chrome enables us to have some features that the business wants anyway, such as notifications and websockets etc
Ironically, the biggest issue is that the parts that call Object.assign directly are in TypeScript.
TS doesn't provide a polyfill for it.
Babel, however, will provide a polyfill if you use the object-spread operator.. but that doesn't work in TypeScript.
The world of JS.
10:45
:D
compile-everywhere, run-everywhere
Monking
Maybe consider posting your current solution to codereview.stackexchange.comuser2079303 22 secs ago
11:21
@Mast I ahve to agree that Rust looks quite interesting, especially their special-case handling
I should figure out what performance Rust gives to know if it's really an interesting language... for example Groovy codes nicer than Java but the performance is just not good enough
IIUC one of the main advantages of Rust is it's performance. But it's hard to compare languages based on speed and I haven't seen any hard numbers.
11:42
0
Q: Active Directory Query Application

michaelbmorrisThis application is designed to query an active directory, and at the moment, performs only two tasks: Save a list of all users to a file. Save a list of all groups that all users are in to a file. I tried to implement a print all groups method, but ended up removing it. I believe I removed a...

It'd need some good IDEs too, quite a few ifs but I think it's a quite good language
11:56
They're working on a plug-in for Eclipse.
Monking all!
hey @syb0rg
Monking
I think your first question "What can I do to speed it up?" is too broad for SO. It would better fit to Code Review. — havogt 51 secs ago
12:22
I keep losing the documentation to the ICCP protocol I need for my project every time I restart my work computer
Greetings, Programs.
@Donald.McLean Hello friend!
Another week of Writing The Code begins.
12:33
monking!
@Smarticles101 Hello!
45 minutes, but I finally found the reference manual I need
Windows Explorer's search is aboslute trash
Windows Explorer's search is aboslute trash
2
ftfy
@syb0rg Now safe it somewhere you can find it :P
12:49
@Mast Yep, I did this time
0
Q: My JavaScript calculator

brunoddI am playing a bit with vanila JavaScript and was trying to create a simple JavaScript calculator using eval(). I would like to share my code for review and suggestions are very welcome. var keys = document.getElementsByClassName('number'), getTotal = document.getElementById('showTotal'), ...

13:14
1
Q: Python static / instance method or function?

Guoliangbackground: I have a model called FileInfo, which represents a sftp file / windows dfs file. class FileInfo(object): def __init__(self, server_info, folder_path, file_name): self.server_info = server_info self.folder_path = folder_path self.file_name = file_name def get_file_full_...

what user was removed yesterday?
0
Q: How to correctly implement button definitions

Rob AikenI have a few files that contain a lot of button definitions like this: $(document).on('click', 'button#search', function(){ // todo: implement }); $(document).on('click', 'button#another-button', function(){ // todo: implement }); Is there a better and more clean way of laying out t...

Is anyone able to break this calculator snippet I made? codereview.stackexchange.com/a/129104/27623
Trying to think of more edge cases I didn't consider in the OP's code
if I remove all the code I can break it
4
also
use === not ==
i'd also suggest mentioning for..of for iterating the NodeList and not for(var i ...)
caveat: only works in firefox 13 or better
13:29
everyone asks C# questions but doesn't vote on them or their answers....
for (const item of document.querySelectorAll('.foo')) {
  ...
}
Code Review Review
Zak
Zak
When writing questions, is there any way to have links that jump to different parts of the question?
@DanPantry Ah, and then I don't need the keys variable... do I?
Well, not declared where it is anyways
@CaptainObvious Make it go away.
@syb0rg yeah, you don't
13:34
@syb0rg 9 / 0 isn't Infinity.
Thank you @RubberDuck
@Mast how do you know? have you done it before?
@Malachi Thou shalt not divide by zero.
NEVAH!
I believe the only person to have found the answer to x / 0 is Chuck Norris or Liam Neeson
C:\Users\CSUKDNPY>node
> 9 / 0
Infinity
Unless l'Hopital is around, but that's irrelevant for basic calculators.
13:35
check mate, atheists.
@DanPantry Node isn't any wiser.
@DanPantry It's breaking when I try to integrate it like this:
for (const key of document.querySelectorAll('#calculator span'))
Zak
Zak
@Malachi You forgot Jon Skeet.
@syb0rg how is it breaking?
13:38
@Zak my bad
Error: {
"message": "Uncaught TypeError: document.querySelectorAll(...)[Symbol.iterator] is not a function",
"filename": "https://stacksnippets.net/js",
"lineno": 176,
"colno": 26
}
@syb0rg wot
what browser are you using?
ah there's your issue
you - or stacksnippets - are using an old browser, likely
that doesn't support generators
I'm in an updated Chrome tho
porque
works for me in the most updated version of chrome
must be stacksnippets
Weird, well I'm just gonna leave it as it is now
13:42
Stack Overflow does not support MathJax?
@Mast SURPRISE! I'm BACK
(/r/leagueoflegends is leaking)
@Malachi You're looking for this
@DanPantry You left?
it's a quote from Jax.. from LoL.....
@Mast That is the same link....
because you said mathJax... :(
13:45
@Malachi No. It's sorted on newest, yours wasn't.
@DanPantry Don't make me jump on top of you for that.
@Mast oh, when I click the link it must read from memory what my last sort was
This looks interesting.
@DanPantry Hm, I kinda wonder what security.SE would say about that
@syb0rg they'd probably become giant flaming squids of anger
13:53
Anyone interested in Ruby and/or Regex? Got a SO question.
@syb0rg Ask them ^^
To be fair, token-based SSH is something common. Why would this be much worse?
4
A: Passwordless login over email - security considerations

paj28You are correct that the security of your system is similar to that of most password reset systems. It is as secure as the email addresss - no more and no less. Be aware that some password reset processes ask additional questions (e.g. what's the name of your first pet?) which do provide some add...

@Mast It shouldn't be, though it relies on an existing mechanism already being secure like e-mail or phone.
That said, you are already relying on that with password resets anyway.
Seems like it should be secure enough if implemented properly
But that kinda goes for anything lol
Basically, I imagine this system would be used in-place of single-sign-on if you had social media conscientious users.
ie., it would be a good stand-in if your users didn't want to use fb/google/whatever
@DanPantry Plaintext e-mails, very secure.
14:00
@Mast You can encrypt emails
Just most of them aren't haha
e-mails are not a secure mechanism
Nothing is.
Unless you set limits to what you consider secure.
but it is a lot easier to convince people to use a good, complicated password on their e-mail account than ask them to use a complicated password everywhere
@DanPantry You'd be surprised.
you have the risk that one account being compromised = you're screwed if you use the password everywhere. you have that issue with e-mail, of course, but there's less surface area if you only use that one password for one thing and you're with a reputable, secure e-mail firm.. like Micro$
14:03
They don't like complicated passwords anywhere.
of course, but if you get people to use a password they will likely use the same password veverywhere, right?
So let's say a user is signed up to 5 sites and they use the same password for each of them, one of them is their e-mail provider
if any one of those 5 sites gets hacked, their email is vulnerable and they are buggered
if the user just uses 1 password for their e-mail and uses OTP sent to their e-mail, the e-mail passowrd has to be guessed or that siteh acked - if the otehr 4 sites are compromised, hackers only get the e-mail & not the password
so in that sense, having even a crap password for your e-mail is more secure than having the same crap password for 5 accounts
What about protecting from other people that use your PC (maliciously)? With a regular login/password the password is generally not visible anywhere, but with this system such other user could open the e-mail client paste the token and get access to everything
@skiwi That's moot.
@skiwi it's a one-time token
and if someone has access your PC you're screwed anyway.
Your PC is your fortress. The goal of security for web devs is to be a moat. If there are people already inside the fortress and killing the king, the moat is pretty useless.
Physical access is the point where the only security you got is full HDD encryption. Even that won't stop everything, but most things.
14:07
If someone, or something - in terms of malicious software - has access to your PC, you lose.
No web security is going to save you there.
I don't like the idea of not using passwords though
Why not?
If you don't use passwords, just OTPs, there's nothing for you to remember. That already cuts out the biggest weakness in any security system; the user
2
Because it seems more secure, though maybe it is not
40
A: The Memes of Information Security

IsziMeme: Law #x of Security. (Or Law #x of Security Administration) Originator: Scott Culp (Microsoft TechNet Contributor) Background: In November of 2000, Scott Culp published two articles on Microsoft TechNet regarding what he saw to be "Immutable Laws" of Security and Security Administration....

@skiwi nearly anything is more secure than passwords.
I mean, I don't even use a p/w for SO.
14:08
How would it work with sites on mobile phones though?
single sign-on is well supported (on phones)
@DanPantry I do, I just never have to type it, it remembers my computer forever.
I'm really not going to open my e-mail client and copy-paste the token into the website every time..
you could either check your e-mail and paste the OTP into the text box
Well, then you get an app that provides single sign-on./
But you have to do that for 2fa anyway, which you are using.. right?
But single sign-on already exists with parties like Google, OpenAuth, etc.
14:09
Yes, so you can leverage those.
But if you don't want to use Google+ or whatever reason, you have the OTP option.
It's not meant to be a complete replacement, just another option.
Right
For example Google still provides user/password login to get single sing-on tokens though
I added those laws to my post @Mast
@skiwi Yes, I mean, you can use username/password if you want.
I just don't want the liability in any system I design if it is avoidable at all.
Since this is working code you might want to post on codereview.stackexchange.com instead. — juharr 23 secs ago
@Malachi Anytime. Vote reversed.
@ambigram_maker I'm back now
14:26
Maybe I should close some of my 678 tabs again
I'm starting to have some trouble locating some of them
@skiwi Whut
@syb0rg You see, for every three opened tabs I close one
I wonder how many duplicate tabs are open
@brunodd Hello!
def names() -> typing.List[str]:  # list object with strings
    return ['Amelie', 'John', 'Carmen']
wtf, that Python looks funky
Hey @syb0rg =)
14:40
deeplearning4j.org/word2vec.html word2vec is cool stuff
It uses a neural network to make words readable for neural networks such that you can use the neural network representation fo the words in your own neural networks
lol
> monkey:human::dinosaur:[fossil, fossilized, Ice_Age_mammals, fossilization]
//Humans are fossilized monkeys? Humans are what's left
//over from monkeys? Humans are the species that beat monkeys
//just as Ice Age mammals beat dinosaurs? Plausible.
2
Jesus.
This password hashing thing for LoL is still going on.
Worst still, I just got asked this:
> What should people who play from public computers do to protect themselves now that this is exploit is known to exist?
To which I reply: why are you trusting public computers with sensitive login information anyway?
Yes, if you log into LoL in a PC bang, you might have a "hacked" version of LoL that will log your password. You know what you might also have? A keylogger!
Zak
Zak
So, I think my new Class Module is going to get a significant % of the way to breaking the Post-Length limit ^^
3
14:55
@Zak Didn't that limit get removed for CR?
Zak
Zak
@skiwi Nope, just raised (AFAIK) to 65,535
That's a lot
Zak
Zak
@syb0rg I originally broke the first limit, it got raised. I broke the new limit. Then I decided I should probably write shorter questions.
@Zak hmm, that's short
2
;-)
I like to imagine I just made a few people audibly groan or exhale through their noses with that pun
00:00 - 15:0015:00 - 00:00

« first day (1115 days earlier)      last day (3200 days later) »