Unixtime. 8000 лет спустя.

 
+
-
edit
 

KRoN73
Balancer

администратор
★★★★★
Прочёл тут Винджа, «Глубина в небе». Вещь сама по себе неплохая, но заинтересовало знакомство автора с unixtime :)

Фам Нювен несколько лет провел, обучаясь программировать и исследовать. Программирование восходило к началу времен. Как та навозная куча за замком отца. Когда ее промыло ручьем на десять метров в глубь, обнаружились искореженные корпуса машин – летающих машин, как говорили крестьяне, еще от тех великих дней колонизации Канберры. Но та навозная куча была чистой и свежей по сравнению с тем, что лежало в локальной сети «Репризы». Были программы, написанные пять тысяч лет назад, когда человечество еще не покинуло Землю. И самое чудесное (самое ужасное, как говорила Сура) было то, что, в отличие от бесполезных обломков прошлого Канберры, эти программы все еще работали! И через миллион миллионов запутанных нитей наследования многие из старейших программ все еще выполнялись во внутренностях системы Кенг Хо. Например, методы слежения за временем у торговцев. Поправки вносились неимоверно сложно – но на самом дне лежала крошечная программа, которая гоняла счетчик. Секунду за секундой отсчитывала система Кенг Хо с того момента, как нога человек ступила на Луну Старой Земли. Но если приглядеться еще пристальнее… начальный момент был миллионов на сотню секунд позже; момент «ноль» одной из первых компьютерных операционных систем Человечества.
 


// Транслировано с http://www.linux.org.ru/forum/talks/5853376
 
EE Татарин #30.01.2011 22:41  @Balancer#30.01.2011 22:19
+
-
edit
 

Татарин

координатор
★★★★☆
KRoN73> Прочёт тут Винджа, «Глубина в небе». Вещь сама по себе неплохая, но заинтересовало знакомство автора с unixtime :)
И "Пламя над бездной", к чему "Глубина" есть приквел - тоже советую.

А по сабжу - да нет проблем, весьма верится, что это и будет началом отсчёта, а не время рождения одного из пророков или начало царствования какой-то там династии в Китае. С учётом того, что 32бит юникстайм до своего переполнения доживёт лишь в очень редких устройствах... 64-бит же - это надолго.
...А неубитые медведи делили чьи-то шкуры с шумом. Боюсь, мы поздно осознали, к чему всё это приведёт.  8.0.552.2378.0.552.237
RU Balancer #30.01.2011 22:46  @Татарин#30.01.2011 22:41
+
-
edit
 

Balancer

администратор
★★★★★
Татарин> И "Пламя над бездной", к чему "Глубина" есть приквел - тоже советую.

Как раз сейчас «Пламя» начал.

Татарин> А по сабжу - да нет проблем, весьма верится

Интересный момент. Нога человека ступила в -14 млн. секунд по unixtime. А вот под «сотни млн. секунд» (точнее - -123311670) подходит первая мягкая посадка Луны-9 :)

Ну да за 8000 лет могли напутать-то немного :D
 
RU Balancer #30.01.2011 22:49  @Татарин#30.01.2011 22:41
+
-
edit
 

Balancer

администратор
★★★★★
Татарин> 64-бит же - это надолго.

Гы. Захотел глянуть, до какого года работает strtotime в PHP.
31.12.9999 = 253402203600

А вот 10000-й уже не переварила. Походу, если в году больше 4-х цифр, то считает за ошибку :)

Так что за 8000 лет PHP нужно будет подпатчить...
 
EE Татарин #30.01.2011 23:01  @Balancer#30.01.2011 22:49
+
-
edit
 

Татарин

координатор
★★★★☆
Balancer> Так что за 8000 лет PHP нужно будет подпатчить...
Не думаю, что у него есть шанс дожить. А вот у юниктайма - таки очень небольшой, но есть. :)
...А неубитые медведи делили чьи-то шкуры с шумом. Боюсь, мы поздно осознали, к чему всё это приведёт.  8.0.552.2378.0.552.237
RU Kuznets #30.01.2011 23:07  @Татарин#30.01.2011 22:41
+
-
edit
 

Kuznets

Клерк-старожил
★☆
Татарин> А по сабжу - да нет проблем, весьма верится, что это и будет началом отсчёта, а не время рождения одного из пророков или начало царствования какой-то там династии в Китае. С учётом того, что 32бит юникстайм до своего переполнения доживёт лишь в очень редких устройствах... 64-бит же - это надолго.

имхо мелковато как-то :) 128 бит и отсчет от БВ - наш выбор! :D
имхо с точностью до одной триллионной секунды должно хватить с большим запасом ;)
 3.6.133.6.13
+
-
edit
 

Balancer

администратор
★★★★★
Kuznets> имхо с точностью до одной триллионной секунды должно хватить с большим запасом ;)

ceil(log2(15e9*365,24*86400 * 1e12)) = 99 бит. Ну да, хватит :)
 
EE Татарин #30.01.2011 23:27  @Kuznets#30.01.2011 23:07
+
-
edit
 

Татарин

координатор
★★★★☆
Kuznets> имхо мелковато как-то :) 128 бит и отсчет от БВ - наш выбор! :D
Не. Момент БВ с точностью неизвестен (не говоря о том, что сам вопрос наличия момента БВ ещё открыт). Так что 1972-й год как начало - нормально, юникстайм же знаковое, а значит 64 бита - покрывает и БВ, и события до него. :D
Для триллионных долей в юниксе есть другие счётчики.
...А неубитые медведи делили чьи-то шкуры с шумом. Боюсь, мы поздно осознали, к чему всё это приведёт.  8.0.552.2378.0.552.237
RU Balancer #30.01.2011 23:37  @Татарин#30.01.2011 23:27
+
-
edit
 

Balancer

администратор
★★★★★
Татарин> Так что 1972-й год как начало - нормально

1970-й :)

Татарин> юникстайм же знаковое, а значит 64 бита - покрывает и БВ

Только с точностью до десятых долей секунды :)
 
RU Kuznets #31.01.2011 00:04  @Татарин#30.01.2011 23:27
+
-
edit
 

Kuznets

Клерк-старожил
★☆
Kuznets>> 128 бит и отсчет от БВ - наш выбор! :D
Татарин> Не.

да. все остальные "точки начального отсчета" - от лукавого ;)

Татарин> Момент БВ с точностью неизвестен

но достаточно достоверно известно что меньше 15 млрд лет значит можно начинать считать сейчас с 15 млрд лет.

Татарин> Для триллионных долей в юниксе есть другие счётчики.

ну, мы же универсальный счетчик делаем :)

я тут кстати поразмыслил - точность должна быть с дискретностью планковского времени. так что нужно пожалуй 256 бит закладывать :D
 3.6.133.6.13
RU Balancer #31.01.2011 11:38  @Татарин#30.01.2011 22:41
+
-
edit
 

Balancer

администратор
★★★★★
Татарин> И "Пламя над бездной", к чему "Глубина" есть приквел - тоже советую.

Кстати, жёстко обломался. Предпочитаю читать в порядке, в котором писал книги автор, а составители серии на flibusta.net расположили книги не в порядке написания, а в порядке хронологии. Получилось, что сперва приквел прочёл. Никому верить нельзя, блин :D
 
EE Татарин #31.01.2011 15:33  @Balancer#30.01.2011 23:37
+
-
edit
 

Татарин

координатор
★★★★☆
Татарин>> юникстайм же знаковое, а значит 64 бита - покрывает и БВ
Balancer> Только с точностью до десятых долей секунды :)
"До десятых долей" - это уже не юникстайм. :)
...А неубитые медведи делили чьи-то шкуры с шумом. Боюсь, мы поздно осознали, к чему всё это приведёт.  8.0.552.2378.0.552.237
RU Balancer #31.01.2011 15:40  @Татарин#31.01.2011 15:33
+
-
edit
 

Balancer

администратор
★★★★★
Татарин> "До десятых долей" - это уже не юникстайм. :)

Unix time, or POSIX time, is a system for describing points in time, defined as the number of seconds elapsed since midnight Coordinated Universal Time (UTC) of January 1, 1970, not counting leap seconds.
 


Ничего не сказано про том, что число секунд - целое :)
 
EE Татарин #31.01.2011 21:48  @Kuznets#31.01.2011 00:04
+
-
edit
 

Татарин

координатор
★★★★☆
Kuznets> да. все остальные "точки начального отсчета" - от лукавого ;)
Татарин>> Момент БВ с точностью неизвестен
Kuznets> но достаточно достоверно известно что меньше 15 млрд лет значит можно начинать считать сейчас с 15 млрд лет.
Так чем произвольно выбраная точка (которая, ессно, не совпадает с БВ) 15 гигалет назад лучше произвольно выбраной точки 40 лет назад (которая тоже не совпадает с БВ, но хоть имеет какую-то привязку к человеческой истории)? :)

Татарин>> Для триллионных долей в юниксе есть другие счётчики.
Kuznets> ну, мы же универсальный счетчик делаем :)
Не, мы обсуждаем имеющийся. :) Так вот имеющегося при переходе платформы на 64 бита - более чем достаточно, ИМХО.

Kuznets> я тут кстати поразмыслил - точность должна быть с дискретностью планковского времени. так что нужно пожалуй 256 бит закладывать :D
Достаточно дополнительных 128 бит счетчика долей секунды к счетчику секунд.
...А неубитые медведи делили чьи-то шкуры с шумом. Боюсь, мы поздно осознали, к чему всё это приведёт.  8.0.552.2378.0.552.237
EE Татарин #31.01.2011 21:49  @Balancer#31.01.2011 15:40
+
-
edit
 

Татарин

координатор
★★★★☆
Татарин>> "До десятых долей" - это уже не юникстайм. :)
Balancer> Ничего не сказано про том, что число секунд - целое :)
Это подразумевается. Тип данных - нативное целое - это определяет.
...А неубитые медведи делили чьи-то шкуры с шумом. Боюсь, мы поздно осознали, к чему всё это приведёт.  8.0.552.2378.0.552.237
+
-
edit
 

Mishka

модератор
★★★
Balancer> Ничего не сказано про том, что число секунд - целое :)
Вообще-то, сказано. :)
Unix time, or POSIX time, is a system for describing points in time, defined as the number of seconds elapsed since midnight Coordinated Universal Time (UTC) of January 1, 1970, not counting leap seconds.
 

Поэтому для подсчёта unix time используют time_t. :) И считать оно может только секунды, а не доли. Жаль, что просто так дискуссии на UNIX обсуждения не доступны. :) Ну, и бесплатно POSIX-2009 можно сгрузить с The Austin Common Standards Revision Group — кстати, на обсуждения Austin Group можно бесплатно подписаться. :) Я подписан.
 3.6.133.6.13

в начало страницы | новое
 
Поиск
Настройки
Твиттер сайта
Статистика
Рейтинг@Mail.ru