« first day (1905 days earlier)      last day (3261 days later) » 
06:00 - 19:0019:00 - 23:00

06:28
11 first posts – don't remember ever seeing that many entries in that queue
All right, I'm convinced: must go (or be made a synonym of ).
@AndriyM you mean reverse the synonym? Currently, query is a synonym of sql.
@ypercubeᵀᴹ Yes.
This is the question that finally sold me on that:
0
Q: Elasticsearch must_not terms on nested fields is not working when type is integer

Aminah NurainiI want to query in must_not on a nested field. This is my query: { "query": { "bool": { "must_not": { "terms": { "socmed_crawl.fb_url_retrieve_status": [ 3, 4 ] } } } }, "sort": { "followers_count": { ...

The sql likely was query originally and was replaced after the question was submitted
@AndriyM yes, very probable
So, where do I sign the petition...
06:49
I'm thinking about asking a meta question soon, but feel free to get in first.
Just let me collect my thoughts on this into something coherent enough (but if it takes too long, please don't wait for me)
That's the thing: it's such a big change, the meta proposal needs to be well thought out.
Why in the world would you ever drop your clustered key? Don't. Nonclustered index - knock yourself out. Clustered? Never — billinkc 6 hours ago
That should be the answer in that q (if reopened).
Why they were dropping all indexes, including the CI, in a million rows table, just to insert a few more thousand?
Presumably they read somewhere that minimally-logged inserts require dropping indexes.
The annoying thing is that you actually have to understand things properly in order to implement them. Tedious really. There should be an app for it.
10
07:09
Some kind of Skynet should do, I think.
I think it's all solved by The Cloud.
 
2 hours later…
09:06
SQLAlchemy query: 7 seconds. SQL query: 20ms
09:39
Hello
morning
@ypercubeᵀᴹ ORM FTW!
@dezso yeah, tell me about it.
Now I have to try writing sqlalchemy code that produces the SQL code I want.
52
Q: How to execute raw SQL in SQLAlchemy-flask app

starwing123How do you execute raw SQL in SQLAlchemy? I have a python web app that runs on flask and interfaces to the database through SQLAlchemy. I need a way to run the raw SQL. The query involves multiple table joins along with Inline views. I've tried: connection = db.session.connection() connecti...

09:55
@AndriyM Come on, I know how to do that.
There are some minor advantages by using SQLAlchemy - to build the SQL. Like we won't be worried when we change the tables design slightly, i.e. a column addition or rename.
I'm not interested unless it can actually turn my T-SQL into gold.
10:15
You can blame me for the madness code here:
3
Q: SQL Server Left Join strange NULL check

Uberzen1I've just been going through some old stored procedures, doing some optimizations and stumbled across this oddity: SELECT ISNULL(bt.BusinessTypeID, 0) AS BusinessTypeID FROM BusinessType bt LEFT JOIN Business b ON b.BusinessTypeID = ISNULL(bt.BusinessTypeID, NULL) This is a slightly simpl...

Hi @ypercubeᵀᴹ, I've added this info as requested :) thanks! — Uberzen1 13 mins ago
10:40
ok, i have been trying for a while now.
So i will try here :)
oh noes
what?
:D
Basically: I want to create a procedure out of this simple SQL syntax, where value of userId should be input bý user. --select * from Users
--where userid like 'Idea'
bý - is it a Polish word?
SQL Server?
Yes, SQL server.
and what's your problem?
10:44
Basically it wont take the parameter.
Just returns 0 rows no matter what i do.
First there was darkness. Then came the strangers. They were a race as old as time itself. They had mastered the ultimate technology. The ability to alter physical reality by will alone. They called this ability [pause for effect] Tuning.
@PaulWhite Hi Paul, I've updated that SQL Azure diagrams answer. I'm a little short on time today but could flesh it out more, eg screen prints of the SSDT process I've outlined, some more hyperlinks. I also need to check the new tooling for 2016 doesn't already do this...
@Froxer how's your code look like? (hint: post it here, then press Ctrl-K)
@wBob Cheers!
1 sec :)
@Froxer If it is more than a few lines, host it somewhere like gist then link here.
10:47
ALTER PROCEDURE [dbo].[getTableWithUserId]
@userId nvarchar(max)
AS​
SELECT @userId = RTRIM(@userId) + '%';
SELECT *
FROM Users u
WHERE u.Id LIKE (@UserId);
GO
EXEC [dbo].[getTableWithUserId] @UserId =  'idea' ;
GO
Just wanted to make sure no sensitive information is there :)
I have messed up once before.
@Froxer Is Id actually the userId column? Should it not be WHERE u.userId ... ?
@Froxer Are you positive there must be a match?
In this case, both Column name & parametername is called userId
Well --select * from Users
--where userid like 'Idea' works.
So, as @wBob said, why do you have u.Id and not u.userid in the WHERE clause?
The column you are testing in the procedure you've posted is u.Id, not u.UserId
10:54
wow.
And the parameter should have the same type as the column, not nvarchar(max).
Because the column of this kind should not be nvarchar(max)
@PaulWhite where did i show what datatype the column has ;)
just want to get the logic right, and work with types in second step
@Froxer You didn't. But I would hope UserId is not nvarchar(max).
i usually use nvarchar(max) to reduce potentional mistypes of datatypes.
10:56
Think about types as you write the code. Using max types unnecessarily is a very poor practice.
A few other notes, is userId really NVARCHAR(MAX) ? If not match the datatypes. Always use the schema ( eg dbo.Users ), don't use SELECT *
it is just an approach to solve logic first and then work on datatypes(I am still a noob).
Especially when you're typing non-Unicode literals.
@Froxer The only way to stop being a noob is to stop doing noob things :)
Hence our comments.
I hear you :)
11:00
ALTER PROCEDURE [dbo].[getTableWithUserId]
@userId nvarchar(max)
AS​
SELECT @userId = RTRIM(@userId) + '%';
SELECT *
FROM dbo.Users u
WHERE u.userId LIKE '@UserId';
GO
EXEC [dbo].[getTableWithUserId] @UserId = 'idea' ;
GO

Still returns 0 rows :o
Can you show us the value for userId with the string 'idea' in ?
Make sure it doesn't have leading spaces in which case you would have to use LTRIM.
@Froxer Oh, but you've also changed (@UserId) to '@UserId'. You are comparing to the string '@UserId', not the parameter @UserId's value
It should be WHERE u.userId LIKE @UserId; (remove the single quotes)
Amazing that i manage to fix something in one SQL Q, and then fix another thing in another SQL Q.
Today is a GOOD DAY !
8 mins ago, by Froxer
wow.
11:03
:(
ok
Thank you guys.
Now, it works as intended.
wow.
Now fix the types.
Will do :)
@PaulWhite in SQL Server, at least ;)
11:04
And decide how you want to handle a NULL @UserId
@dezso Other products have max data types?
I know text is optimal in PG.
But only when using the >>!!@%[&&]-> operator
@PaulWhite exactly
@PaulWhite And you know why there's no $ in it? Because PG isn't about $$$!
4
well, unlimited varchar or the text are not really max, but that's the closest concept I could find in PG
@AndriyM Ha!
@dezso I'm glad you now call it "PG" :)
@PaulWhite it is in the 'if absolutely necessary' bucket of accepted names
and i have no time currently :D
12:08
damn hmm, gonna try add some more example data like idea1, idea2, idea3
and see if ... it will print those as well since idea is also like idea1, idea2, idea3
I should probly use a where..
so that not anything like but only where id1 = id1.
or even simpler... I already have a where... WHERE u.userId = @UserId;
nope, 0 values returned with WHERE u.userId = @UserId;
hmm.
12:32
Solved it.
how many report parameters are too many @SSRS ?
20, 30, 50 ?
d) all of the above
I want to cry then
@TomV definitely
Should I ditch this SSRS thing then and turn to html, js
12:45
weren't you creating your own reporting tool?
yes I was, but now requirements changed again :|
2
they don't need adhoc reports anymore
Usually defining requirements comes before writing code
but they want me to let end user be able to modify current SSRS reports by adding filters to each column (have around 40-50 in different tables) and show hide columns as well IN the browser :/
how often does requirements change in the real world :O
I feel scared for the future
Here is sort of report I developed
12:51
hey Froxer, can u get me a X
I wanted a Y
I don't think it's possible to let end clients modify existing ssrs reports without hacks, I can do things in coding
yes but in this case requirements change every few hours, and the business never got X before they wanted Y
should I add 50 report parameters for filtering column and 50 again for showing or hiding them, what a joke
12:53
@Mathematics sounds like they do want ad-hoc reports?
yes, but based on existing reports
So they want ad-hoc filters then
before they were not explicit about it, they wanted adhoc for all tables, and I wasn't able to figure out how I was going to figure out relationships between tables if they selected more then 2 tables having 3 levels of data
@AndriyM sort of, lets start by hiding and showing columns, is there anyway other then adding 50 report parameter to show hide columns
maybe I can add a single multi value report parameter then add expression to report columns to check if column is in the report visible column value
@Mathematics this isn't what SSRS is for
that's what I thought, but I can't think anything else as well at this point
12:57
It looks like the entire thing is still in development. They might not yet be sure what they want (or might not know how to put that in words or specs).
@Mathematics That's what I was thinking too, but I've absolutely no idea about SSRS capabilities.
13:11
@Mathematics That would work yes
@AndriyM that's doable
I will have to change all of the stored procedures again then
as need to filter dataset as well then
otherwise will be loading all of the data, but this is something I can do later on
ok, wrapping it up,

I will need 2 variables with multi value enabled,

one for visibility of columns and another for filtering
and how are you gonna pass the conditions for your filters?
I will pass as parameters to stored prcoedures, I am already doing it for 1 of the column
believe it won't be impossible but it will be messy
oh one thing I forgot to mention... they want breadcrumb navigation too :L
but out of report viewer
I still need to think about it, I can use bookmarks but it won't work out of report viewer
@Mathematics I understand about passing the column names that you want to filter, but how do you know the specific filters?: WHERE column1 >= something AND column2 = somethingelse
13:29
reportFilter Parameter,

columnName:Value;operator
filtering will be happening in stored procedures
in stored procedure, I probably create a function which will filter my datasets based on parameters
@Mathematics I still don't see how you are gonna pass a particular value and operator to each of the columns chosen
but, well, no matter
Drove a co-workers car today, he had a brand of air freshener I wouldn't have bought. Thankfully it didn't smell like the name suggested
user image
2
Hmm, I didn't know there was such a short time limit on deleting your own posts
13:47
Question about the term "MSSQL" vs. "SQL Server". To me the term MSSQL is used by rookies, or people who don't work much with the product. It would be an interesting study to measure average vote count (up or down) on questions that initially used "MSSQL" vs questions that initially used "SQL Server"
@MichaelJSwart And then you may want to count those that use "SQL-Server" ;)
or My SQL Server
Right :-) First things first.
It would also be interesting to do the same query against stackoverflow as well as dba.se
@MichaelJSwart too bad we couldn't capture how people say SQL... pretty sure the people who say it as ess queue ell are newbs whereas those who say sequel are pros.
@MichaelJSwart If "MSSQL" was later changed to "SQL Server", how would you know if that affected voting in any way?
13:58
@MaxVernon or just young vs old
@TomV that must be a Canadian product. Not that we have smelly beavers, just that beaver is our national symbol.
@PaulWhite Hi all - I just saw what I thought was a perfectly good question downvoted. It might be an idea, if one is downvoting, for a popup to appear and request a reason - an ignore option could be provided with or without anonymity - personally, I normally tell the person whom I have downvoted (rare). Any thoughts?
@dezso could well be. I'm old and I say sequel. maybe I'm a rebel?
@Vérace there have been many many discussions about that on meta. "No", is the general consensus.
@MaxVernon no, you are a conformist
14:00
see-kvel is for the old (including myself)
@AndriyM Mostly I wonder about the actual quality of the question asked by people who use either term. I'm not too curious about whether the term influences voting. So in fact if the term was corrected, it measures a little more accurately the quality of the question.
@MichaelJSwart the quality of the question is directly related to the presence of the tag. If that tag is there, it almost always means the OP doesn't really know what they are doing (unless the question is actually about the language)
@MaxVernon I used to add the tag explicitly when I saw the question was to do with a SQL query. It would often have a platform tag but no sql tag, and I thought its presence help making the question more specific (which it certainly did, in my opinion).
Haven't done that much on DBA.SE, though, but it was almost a rule with me when I was more active on SO
@AndriyM I guess for me, tags express what the problem relates to. If the question is about "how do I write a particular query", then sure, is appropriate. When the question is about "how do I shrink my transaction log" and the tag is present, it just shows the OP has no idea.
@MaxVernon The latter would be a classic case for me to remove the tag.
14:06
agreed
@Vérace This:
344
A: Encouraging people to explain downvotes

Jeff AtwoodThe comments are there for people who want to explain their downvotes. The only thing I can think of is an AJAX <div> reminder for users when they cast downvotes: Please consider adding a comment if you think this post can be improved. After the first downvote, we can't say we didn't rem...

@MaxVernon But don't get me wrong, I can confirm that people have been misusing the tag a great deal. I only meant to explain that its presence or absence may not be saying much about the quality of the question.
@MichaelJSwart I don't care enough to go looking for it to correct it (some users do, as is their right) but if I am editing a post anyway, I will correct non-standard forms to the proper name, SQL Server. Occassionally, Microsoft SQL Server if the context dictates.
@AndriyM agreed. Each question should be taken on it's individual merit, or lack thereof.
@PaulWhite - nice answer on the differential backups as source control
@Vérace Also this:
29
Q: Is it now discouraged to ask for reasons for downvotes as a comment?

AniI've noticed on the tools section that several comments from posters asking why their post has been downvoted are being flagged. Is it now considered bad form to ask for downvote-reasons? Is the flagging of these comments directly aimed at such queries, or at "inane banter" in general? Are there...

14:16
@PaulWhite and this:
20
A: Am I still supposed to explain my downvotes or not?

Shog9No. Explaining votes is almost pure noise, meta-conversation and punditry. Your votes are your own to do with as you please; you owe no one an explanation, nor is a discussion of your voting habits likely to be helpful. What is helpful is constructive feedback: Please consider adding a commen...

Yes that was next (or one like it).
@Vérace - simply this: duckduckgo.com/…
I encourage people to leave constructive criticism. But if they choose not to, that's all good as well. The down vote alone says there's something that could be improved. A comment can be helpful if it is not obvious what that improvement might be.
But honestly there's little point fretting about how others vote in general.
@PaulWhite "I'm downvoting your answer because there's a lot to be improved about your attitude towards mine"
how do we post an image here?
14:21
@MichaelJSwart See that upload... button?
click the "upload..." button at the side of the text box
Or, if it's a link, post it without any other text, it'll onebox
@Lamak do you mean pass to the stored procedure
@AndriyM Ha, no. That I nuke from orbit.
only gotcha is, you can't put text in the textbox if you want to upload.
If it's a hilarious animated GIF, you're getting kicked.
@MichaelJSwart coool
So that's the average score for posts whose initial titles contain "mssql" vs "sqlserver"
Makes sense.
@Vérace But why is your comment a comment? Aside from the noise about how someone else voted, it's an answer.
@MichaelJSwart Initial titles? You mean those from the questions' first revisions?
Anyway, a correlation is certainly there.
14:25
Right, the question's first revision:
select *
from posthistory ph
join posts p
on ph.postid = p.id
where ph.posthistorytypeid = 1 -- initial title
and ph.[text] like '%mssql%'
@MichaelJSwart and don't even get started with kangaroos and people's heads
@Lamak if I have a string available with all of the parameternames and data, can I not in sql use it to apply filters
@MichaelJSwart Nice. Never used posthistory.
@Mathematics sorry, I just don't get it, you don't only need the columns to applied filters, you also need the actual filters....and I'm kinda burned about this ever changing issue
@AndriyM posthistory is fun to dig into
14:34
@Lamak ahhhh, I get you now :|, that's a really good question
ok I think I found the answer
I will let user add filters 1 by 1 ?
I won't going to let them select it in the report
otherwise we will have lots of filters in report
@MaxVernon Thanks.
So, team, how to get started in SSAS? Asking for a friend ; )
@Mathematics what do you mean?, this is the designer, not the report?
yes, I will create a page, get all filters, add them to reportParameter,

I am using C# code to show updated report in report viewer with updates
this one
14:43
@Mathematics ok, whatever works for you
@MaxVernon Michael's query must have alerted them and they are now mass-correcting "mssql" to "sql server"
@bluefeet Oh, I can easily believe that
@PaulWhite OK - I'll change it. BTW, how does one go about writing a community Wiki?
@Vérace Tick the box when answering.
@Lamak are you a developer as well, or just dba
@AndriyM I get that sinking feeling all the time. When something goes down moments after I touched it. I get worried that I did something. Luckily, it's not my site :-)
14:44
@Vérace Only use it if you specifically want to lower the rep threshold for others to contribute to it.
@MichaelJSwart Does it happen often? :) (something going down moments after you touched it)
@Mathematics "just dba"?, I mean, I would be lucky if I were. But I'm neither a developer nor a dba
@AndriyM All the time. Weirdest thing :)
@AndriyM No it's super rare. I try not to touch prod sites if I can help it.
@MichaelJSwart Couldn't be helped here, could it. It's unlikely they would allow us to use any other SEDE than the production one.
14:52
@Lamak what do you call yourself then lol
I'm an electrical engineer
can you help me put some light bulbs with switches on my SSRS reports please ? :L
I'm sure you meant well and it was probably a light hearted joke, but as I said, I'm kinda burn out now and I don't think I'm taking it well
@Lamak You can always take a break from someone with the ignore button.
yeah, I know, thanks
14:58
FWIW I don't think many "pre DBAs" exist, at least not at a senior level.
We end up doing a bit of everything the database interacts with, SAN, network, OS...
Places I have been anyone who was a "DBA" was quite junior just handling the more routine stuff.
Not architecture or query tuning, for example.
@wBob Read op on star schema, click through the wizards :)
@Lamak ok sorry.. thanks for the help
@TomV Wizard! lol
A_V
A_V
Where I work everything is quite segregated, the dba's touch everything from the service to background process of the database, how often we take backups, etc.
There's another team in charge of the OS, one in charge of the SAN, one in charge of the tape backup handling, etc
@A_V Sure. No doubt different places/countries do things differently.
15:04
Serious answer, depends on how well you want to know it, do you want to create something simple or do you want to know much about it (or your friend)
@TomV They want to start learning it and are looking for a "pathway". I see there isn't really a "stairway" over at SSC. Suggested reading, videos, blogs etc. We can all google it, but they are looking for recommendations ( ie "I've tried that ...it's good" rather than "I've googled that ..."). Thanks!
@wBob so no lmgtfy then. sad trombone.
My opinion, FWIW, read up on datawarehouse design first, a good star schema (no snowflake) prevents you from running into messy stuff in your SSAS solution
And if you have the chance to solve something in the DWH, do it there instead of in the cube
@MaxVernon Yeah exactly, a bit of scoped advice based on experience, word of mouth if you like : )
@TomV microsoft calls it "multidimensional modeling"
I think
15:09
Start with the basic links there
The rest is just tools & properties, this looks like an OK start on the tools technet.microsoft.com/en-us/magazine/ee677579.aspx
ok thanks all!
@Lamak Cool story bro
:)
sorry, forgot you were burnt out
but you are correct
@wBob I think you'll quickly work out if SSAS is for you or not. I know I did.
@wBob once you got that sorted, you can read up on MDX, There is a stairway for that
@PaulWhite Ha, and what was the outcome?
@TomV Indeed, thanks Tom.
15:14
@wBob Do you see me answering any SSAS questions? ;)
@wBob he liked it so much that he doesn't want to share his knowledge
I got into QlikView for a while. Was pretty cool at the start, but people lost interest in paying for it, so I stayed with T-SQL and SQLCLR.
SSIS was fun at the start too.
SSRS was never fun as far as I recall.
@PaulWhite I like a bit of SSIS. BIML is on my list of things to learn, behind Powershell, F#, DAX, MDX, DMX, er T-SQL etc etc
@PaulWhite We don't see a lot of SSAS questions here to be fiar.
fair even
@wBob I like it when everything goes well. It's a bugger when something goes wrong.
@wBob It's a very different mindset. I think I lacked the focus and time to really get into it.
Also it was quite a long time ago before anyone wanted to pay people much to SSAS.
When I used to care about money.
@PaulWhite I get the feeling SSAS is niche but quite sought after here (UK).
Actually BIML has floated up to the top of the list and I'm to the BIML pre-con day at SQLBits this year.
and U-SQL the next day! : )
15:21
Apparently the big bucks are in the cloud.
Let's hope it rains :)
Make it rain @PaulWhite, maybe with your singing? lol [ducks]
Tempted to put this in a ticket reply
> OHAI I FIXED UR CODE, AGAIN, PLEASE CHECK CHANGE AND APPLY PATTERN IN FUTURE CODE, KTHXBYE
for another dev who keeps making the same mistake
perfect example of how is totally wrong:
1
Q: A significant part of sql server process memory has been paged out

AMorton1989Around 7:30pm every evening we receive the following message and the server experiences an outage of 2 minutes. A significant part of sql server process memory has been paged out. This may result in a performance degradation. Duration: 1868 seconds. Working set (KB): 2096696, committed (KB): 18...

15:38
The suggestion was [sql] -> [sql-query]
@MaxVernon I'm not sure I understand this comment
Would a question about how to stop SQL Server starting on OS boot be off-topic as well?
@PaulWhite I guess it's a bit of a grey (gray?) area.
I'm of the opinion they are likely to get a faster response on one of those other sites.
does that mean it must be migrated? probably not.
Well SF is for business environments only. Anything's OK on SU I think.
A_V
A_V
has any production database ever been ran on OSX
Probably not successfully :)
A_V
A_V
I want to one day troll someone and setup their database on osx, then complain that they never specifed which OS they wanted
15:43
I presently work for a business that has 1800 staff, and one of our SQL Server databases for production runs on a laptop.
Am I the only one who see's this newcomer as a broken image?
@Zane does that help?
A_V
A_V
We've been running an oracle instance on a laptop successfully for years, it's about to be migrated to a server finally
I don't understand the thought process in "Let's pay a $20000+ license software and run it on a 500$ laptop"
@MaxVernon so that's affirmative then.
@Zane I have a broken image too
A_V
A_V
15:47
hmmm
@A_V agreed... but if it needs to be mobile and accessed from areas where there is no Internet; then what?
@Zane JK I see the same thing just A_V again?
A_V
A_V
It's in a server room, it's just that the laptop happens to be faster then their really old servers so they chose that LOL
talk about cheaping out wherever you can
@A_V deep breaths.
We once had a production server run on a old desktop (old in the sense that it was once a developer's machine but retired and he got a new desktop)
I was asked to write an application, but nobody thought about the fact we needed a server to run it on
at golive everybody scrambled to find "something, god please, anything", so they found a machine with a broken network card, and a dev had to give up his NIC to switch it into the new "server"
PDD: panic driven development
5
15:54
nice
A_V
A_V
That's an awesome story
A major retailer I was at once had a crucial 'server' running on an old desktop machine in the head office's disabled toilet.
@TomV Isn't this [practically] the story of the SQL Server costing machine?
@PaulWhite wait, was the toilet disabled, or was it a toilet for disabled folks?
@MaxVernon The latter.
16:04
ahhhh
Pre-politically-correct times.
well, clearly no security risk then.
Or aircon.
@MaxVernon I love the smell of a fact table clustered index scan in the morning.
16:07
@wBob nice
17:04
Our environment used to be hosed but now I've saved it's life with the magic of filtered statistics!
@Zane WINNING!
17:24
0
A: Backing up multiple databases to the same point in time

Kenneth FisherI am assuming that your task is to create a set of backups where you can restore all of them to a single static (no open transactions) point (all in sync). Similar to what a quiesce point will do for you in DB2. Unfortunately there is nothing in SQL Server that does exactly that. However, assu...

17:46
Partial aggregates are awesome
18:00
@PaulWhite dudes on fire lately
18:32
@MaxVernon "We feel like we have failed you," Understate much?
no doubt. Wouldn't want to be that guy
18:50
@wBob I wish we saw more of them. We need more DB folks and less business/dev folks in the BI space
@PaulWhite Yeah you need to think in tuples and sets and venndiagrams from way back in high school instead of queries
That, and you don't get plans ;)
That I did miss.
Though I remember linking you to something that would produce something remotely similar
Yep I think so. The point was I didn't have it at the time I was learning SSAS, where it would have been most helpful.
Especially early on, I validate what I'm doing by looking at the results, and how they were arrived at.
@Lamak So the extra raid was because the taxi driver called the police saying "hey I dropped those guys off, they had more bags than I could fit in my trunk so I bet there's more at that adress"
That last part is hard without a plan.
18:55
@PaulWhite was that SQL > 2000 or <= 2000?
The answer is even less clear than the question. That's an accomplishment. — ypercubeᵀᴹ 14 secs ago
06:00 - 19:0019:00 - 23:00

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