Forum timestamp formatting

Does anyone else get confused with the timestamps on this forum, or am I just stupid?
Jan 14 vs Jan '19 vs Jan 2017 etc etc.

Screenshot 2020-01-14 at 13.26.07

It would be so much clearer to me if it was always formatted in day-month-year order (eg. 14 Jan, Jan 2020, or 14 Jan 2020), by default for better internationalisation.

Sorry if this sounded like a rant, I just keep mixing up super old threads and more recent threads – like when I’m browsing or searching it can be hard to know which results are the most recent or pertinent.

14 Likes

Kumirei to the rescue!

13 Likes

A shame we users have to override bad UX with a script, but it looks like a great workaround thanks! :slight_smile:

5 Likes

In this case, I do think it’s something you’d have to bring up with Discourse, since WK didn’t design the forums. I doubt the WK team can make any changes to this particular thing, other than writing a script like Kumi already did. :slight_smile:

4 Likes

Yeah sorry I’m not familiar with Discourse, so you’re probably right about that (some systems do allow for customisation of this kind of thing in the settings, either globally or as user settings).

Looking at the official Discourse forum, it seems they like their (confusing) defaults :sweat_smile:

I have brought this up with Discourse and they said the current way was simpler. :man_shrugging:

4 Likes

Jeez, what an asshole-ish way to phrase their response though. Are they always like that? And I can understand wanting to avoid clutter, but they seem to have completely missed the point that their presentation still has actual problems, which could furthermore be fixed without introducing “repeated noise”.

Sounds like WK could customise their site in this way though?

9 Likes

Much of the time, yes.

It sounds possible, yes. But I don’t know the specifics of what would be easy to customize.

2 Likes

Bravo for persevering with them then!

3 Likes

Yeah, I’ll say. Wow. Maybe Discourse should let the coding horrors stick to coding, and get someone actually trained in customer service to deal with customers.

“Oh no, the date has been explicitly specified in grey text in the corner of the post, how am I supposed to focus on the words in the post now? My eyes keep getting drawn to the corner.”

Speaking as someone who’s been around here for a fair while, even I’m confused when a post is close to a whole number of years old. Like, “wait, this was posted January 15th. That’s today, so why’s it say Jan 15?”

5 Likes

CodingHorror is also one of the co-founders of Stack Overflow. I’m not sure if his brusque manner comes from dealing with gazillions of OCD programmers, or if he’s always been that way. But yeah, it can be off-putting to people who are genuinely and politely trying to help improve the product.

I’m definitely in favor of the 4-digit year. It took me longer than I’d like to admit to discover the apostrophe distinction in Discourse. Super confusing.

6 Likes

By the way, @Kumirei, I’m not sure how I missed your Timestamp script until now, but I’ve just installed it.

:+1:

[edit: Geez, I just noticed how many scripts are running on community.wanikani.com that should only be on www.wanikani.com. I shall have to fix that on all of my scripts.]

[edit2: Nevermind… apparently it’s a change to TamperMonkey, which now shows the TOTAL number of times scripts have been run, rather than the number of scripts currently running. What the heck!?]

2 Likes

That’s a feature? I assumed it was a bug, lol.

I don’t know if it was intentional. I’m currently looking for an option somewhere, but so far I’m not seeing one.

1 Like

I prefer my own timestamp style:
Tue Jan 14 17:23:53 2020. Or 1579040633 = 29*5209*10453 seconds Unix time.

Tue Jan 14 17:25:16 2020. Or 1579040716 = 2^2*11*17*277*7621 seconds Unix time.

Tue Jan 14 17:27:14 2020. Or 1579040834 = 2*7*139*811429 seconds Unix time.

4 Likes

Ah, that’s good then. Would be a terrible feature! The badge number sometimes goes up to several hundred for me on WK

I just noticed, it’s only doing it on community.wanikani.com.
On all of the other sites that I have scripts for, it’s working correctly.

4 Likes

Yep, I’ve started using ISO8601 for many things.
Especially as a timestamp in filenames and folders. It sorts chronologically!

3 Likes

Then I spent way too long on this fun code:

//finds Unix time (number of seconds since 1970)
//factors this number
//creates a string to be pasted into a LaTeX document
//sends this string to a file
//code proudly written by Rose DiFonzo, 2017, but you may steal if you would like

#include <iostream>
#include <time.h>
#include <cmath>
#include <cstdlib>
#include <cstdint>
#include <fstream>

bool primep (long int N)
{
    for (int m=2; m<= floor(sqrt (N)); m++)
    {
        if (N%m ==0) return false;
    }
    return 1;
}


int main()
{
	using namespace std;
	
	int64_t divisorlist[1000];
    int64_t primedivisorlist[100][3];
	int counter (1);
	
	time_t timer;
	timer =time (NULL);
	cout<<ctime(&timer);
	
	//find alliquot divisors
	
	  for (int m=1; m<= floor(sqrt(timer));m++ )
    {

        if (timer%m == 0)
            {divisorlist[counter]=m;
        counter++;}
    }

	//identify repeats
	
    for(int m=counter-1;m> 0;m--)
    {

      int64_t quotient = timer/divisorlist[m];
     if (divisorlist[m] != quotient)
     {divisorlist[counter]=quotient;
        counter++;
    }}

    // now extract primes
	
    int bar=1;
    for(int m =2; m<=counter-1;m++)
    {
        if (primep(divisorlist[m]))
            {primedivisorlist[bar][1]=divisorlist[m];
            bar++;}
    }

    // now find powers of primes

    for (int m=1; m<=bar-1; m++)
    {
        int power=1;
        int64_t x = round(pow(primedivisorlist[m][1], power));

       while (timer % x ==0
              && x<=timer)

        {
           power++;
            x = round(pow(primedivisorlist[m][1], power));
       }
        primedivisorlist[m][2]=power-1;
   }
   
   ofstream outf("C:/Users/blah/blah/blahblah.txt");
   outf<<ctime(&timer)<<". Or $"<<timer<<" = ";
   for(int m =1; m<=bar-1;m++)
    {
        outf<<primedivisorlist[m][1];
        if (primedivisorlist[m][2]>1 )
			outf<< "^"<< primedivisorlist[m][2];
        if (m<bar-1) outf<<"*";
        
    }
	outf<<"$ seconds Unix time.";
   
   outf.close();
   
}

Actually, I approve of absolutely standard date forms. It is just too bad that the factored number of seconds since the start of the year 1970 is not it.