Ok, I think I figured something out.
Short version: I believe that the time associated with
the 10/14/08 "Last Login" for the zenadia myspace is about 3:46pm, Eastern Daylight Time (GMT-5 +1)
Long version: (holy crap, this feels like a lab report, but, hey, I'll go with it.)
What's the general idea?
On a whim, I searched google for "last login time myspace" (without quotes
). The first result was a really clever idea: you systematically switch your timezone and take note of when the "Last Login" date changes by a day. After some manipulation, this info will give you the hour-long range during which the Last Login took place.
What happens once you know the two timezones where the date switchover happens?
So you end up with a block of sequential timezones where the Last Login date is displayed as 10/14/08, and you have a block of sequential timezones where the date is displayed as 10/15/08. Now, let's say that the Last Login date switchover happens going from timezone1 to timezone2. This tells you that in timezone1, at the time of the last login, it's apparently before midnight since the date is 10/14/08. And in timezone2, it's after midnight since the date is 10/15/08. Then all you have to do is ask, "if it's midnight in timezone1, what time is in my timezone?" and, "if it's midnight in timezone2, what time is in my timezone?" The times that answer these two questions give you the hour range when the Last Login occurred. (If you're curious about a timezone that isn't yours, you can just substitute that timezone in for "my timezone.")
Here's an example:
Say timezone1 is GMT+3, and timezone2 is GMT+4.
You first ask, "if it is midnight in GMT+3, what time is it in GMT-4 ?"
Well,
if it's 24:00 in GMT+3 then it's 23:00 in GMT+2.
And if it's 23:00 in GMT+2, then it's 21:00 in GMT+1.
And if it's 21:00 in GMT+1, then it's 20:00 in GMT+0.
And it it's 20:00 in GMT+0, then it's 19:00 in GMT-1.
and you continue, until you get that it's 17:00, or 5pm, in GMT-3.
You do the same thing for timezone2. So, in the example, we had that timezone2 is GMT+4. Doing the above procedure, you get that midnight in GMT+4 is 4pm in GMT-4. And these two results are hour range corresponding to the time of the Last Login! So we know that in the example, the Last Login time is between 4pm and 5pm, GMT-4.
(Maybe I've gone into too much detail here... timezones always get to me, so I need to think through the conversion in detail so I don't lose track of what I'm doing.)
How to get MySpace to think you're in a particular timezone?
This was tricky.
Zeroth attempt:
I tried changing my country in myspace, but it knows I'm in the US because of my IP, and it won't let me change to a different country. Perhaps because of profile 2.0? It might have been possible to specify actual timezone in 1.0. (I apparently can't revert to 1.0 to check because I signed up after, I think, April of this year.)
First attempt:
I tried changing my system clock in Windows, but there were two problems.
(1) You can only select geographic regions, and some have random daylight saving time, and so it ended up being ambiguous as to what GMT timezone I was actually looking at.
(2) Once I thought I found the switchover threshold, it seemed like sometimes the threshold would change! Crap! I figured it had to do with caching and cookies and things, and that I needed to see what was going on there in order to get the right result.
Second attempt:
I decided to use Safari instead of firefox because it stores cookies in "plist" files, which are basically text files, and I'm kind of familiar with them. It also has simple settings in terms of caching and cookies and so on. It also loads about a billion times faster than firefox. (Alas, I'm addicted to firefox anyway.)
Anyway, it looked like the timezone myspace thinks you're in is specified in the Cookies.plist file.
It's specified in the "timeZone=
X" string in the MSCulture cookie.
X = n for timezone GMT+
n.
n can be negative.
(For me, in Vista, the plist file is in C:\Users\<username>\AppData\Roaming\Apple Computer\Safari\Cookies).
First, I set zenadia's page to my homepage so it would load upon opening Safari. I never logged into a myspace account. I disabled caching for good measure, and I allowed cookies from Myspace. I also opened Cookies.plist in a text editor and left it open.
Here's what I did to get the date switchover, starting with closed Safari:
- In the plist file, change the timezone to the one I wanted.
- Open up Safari.
- Hit ok when the text editor would let me know that the plist file had updated. [note: myspace updates the cookies when the myspace page loads, but it doesn't change the timezone field at this point, which is good because we want the timezone to be what we specified in step 1!]
- Look at the Last Login date immediately after safari opens up and displays the page (since it's the homepage). [After about a minute or two, the text editor would spontaneously tell me that the file updated again, and, lo and behold, the timezone would switch to my system time, and the displayed date would change or stick or other strange things!]
- Close down safari. [The cookies file changes again when you do this, but that doesn't really matter.]
- Write down the timezone I'd just tested, and the date that it produced.
- goto (1).
How do you get more specific than an hour range?
I figured that myspace must store a more specific time than just an hour range. I figured I'd try...
fractional timezones! Turns out, you can set
n to, for example, 3.25, and myspace's servers interpret it how you'd want them to. So, 3.25 would be GMT+(3 hours and 15 minutes.)
Once I narrowed down the hour range, I'd just start adding more decimal digits to find the switchover with higher precision.
What actual results did I get?
Here's what I got.
First column is
n
Second is signup date (
followed by the time on my computer, just to verify that my system time didn't have an effect.)
[TABLE="3"]5 10/15/2008
4 10/14/2008 (10:23)
4.25 10/15/2008 (10:24)
4.5 10/15/2008 (10:25)
3.5 10/14/2008 (10:26)
4.1 10/14/2008 (10:27)
4.2 10/14/2008 (10:27-8)
4.3 10/15/2008 (10:28)
4.21 10/14/2008 (10:31)
4.22 10/14/2008 (10:31)
4.23 10/14/2008 (10:32)
4.24 10/15/2008 (10:33)
4.235 10/15/2008 (10:35)
4.232 10/14/2008 (10:35)
4.233 10/14/2008 (10:37) (10:42)
4.234 10/15/2008 (10:39) (10:42)[/TABLE]
Switchover
Oct. 14th: GMT+4.233
Oct. 15th: GMT+4.234
Time range for Florida
Midnight for GMT+4.233: 23.767 for GMT+4 -> 19.767 FOR GMT+0 -> 14.767 FOR GMT-5 ;
2:46:01 PM
Midnight for GMT+4.234: 23.766 for GMT+4 -> 19.766 FOR GMT+0 -> 14.766 FOR GMT-5 ;
2:45:58 PM
(EDT = GMT-5 + 1 ->
between 2:45:58pm and 2:46:01pm ->
3:46pm) on 10/14/08.
I added the hour for daylight saving time because it was October.
Is any of this even correct?
I made some assumptions, perhaps some about daylight savings time, and maaaybe about timezones. [Though, the procedure works regardless of the fact that myspace has some times displayed in GMT-8/pacific by default. As long as we know that the Login happened when it was
before midnight in Country A, and
after midnight in Country B (where Country B is in the next timezone over), and as long as we know what the timezones of Countries A and B are, we can find out what time it was anywhere in the world when the Login happened. Things might get weird if, on myspace's end, GMT+
n in the cookie translates to GMT+
not n when it's daylight saving time in GMT+
n regions... :doh: In conclusion, perhaps this issue could warrant further investigation, and daylight saving time can go straight to heck.]
To double check the procedure, I did the same thing to find the times that people have already established: the
Signup time, and the
Last Updated time. Just to see if the same procedure and assumptions gave the established results. Here's what I got:
First column is
n.
Second column is the Date displated on the page.
[TABLE="1"]9 6/17 (both)
7 6/17 (both)
6 6/17 (both)
5 6/16 (both)
5.5 6/17 (both)
5.25 6/16 (both)
5.3 6/16 (both)
5.4 6/16 (both)
5.45 6/16 (both)
5.48 6/16 (both)
5.49 SIGNUP: 6/16, UPDATED: 6/17
5.5 SIGNUP: 6/16, UPDATED: 6/17
5.51 SIGNUP: 6/16, UPDATED: 6/17
5.52 SIGNUP: 6/17, UPDATED: 6/17[/TABLE]
Calculations:
SIGNUP:
5.51 6/16 MIDNIGHT for GMT+5.51 -> 23.49 for GMT+5 -> 18.49 for GMT+0 -> 13.49 for GMT-5 ; 1:29:24
5.52 6/17 MIDNIGHT for GMT+5.52 -> 23.48 FOR GMT+5 -> 18.48 for GMT+0 -> 13.48 for GMT-5 ; 1:28:48
(EDT = GMT-5 +1 ->
between 2:28pm & 2:29pm) on 6/16/08
UPDATED:
5.48 6/16 MIDNIGHT for GMT+5.48 -> 23.52 for GMT+5 -> 18.52 for GMT+0 -> 13.52 for GMT-5 ; 1:31:18
5.49 6/17 MIDNIGHT for GMT+5.49 -> 23.51 for GMT+5 -> 18.51 for GMT+0 -> 13.51 for GMT-5 ; 1:30:36
(EDT = GMT-5 +1 ->
between 2:30pm & 2:31pm) on 6/16/08
I believe these times are consistent with the ones people previously found, which lends support to the Last Login time being correct.
Lastly...
If anyone wants to double check this, that would be really really cool. It seems like there's a lot of room for error, from timezones, to daylight saving nonsense, to calculations, to cookies.
I tried to test it with my own myspace account (created for testing purposes), since I know when I last Logged In. But I never saw a day switchover. I think it might be because I'm using profile 2.0.
I'm not sure what Last Login actually refers to -- when you signed in, or when you signed out. (I could see it being either). I haven't looked around for this info yet.
I think that's it. I hope the explanation make some sense. (I don't even know whether it was too detailed or not detailed enough
)