О технической и прочей культурности
Feb. 27th, 2023 10:54 amНедавно была запись о сложном времени, изменениях в принципах устройства UTC.* На неё я получил интересный комментарий в FB, который, в свою очередь, получил множество хороших откликов. Вообще комментариев много, но этот текст вполне развёрнутый.
https://www.facebook.com/daniel.dbg.ginsburg/posts/10230444406915196
Что здесь для меня интересного я и хотел бы рассказать, Даниила я не знаю, так что далее о том, что он сам и сказал.
Принципы
Начнём с двух высказываний:
«3. Следует проявлять эпистемологическую скромность. Есть вещи, которые мы не знаем. Не надо стесняться в этом признаться» и «Автор поленился сделать хоть какие-то численные прикидки, поэтому сделаем за него».
В этих высказываниях две проблемы. Во-первых, Даниил сам не пользуется принципами, которые провозглашает. Он ничего не знает обо мне, о чём сам и говорит: пост какого-то чувака. И тут же пишет, что я поленился сделать хоть какие-то прикидки. Во-вторых, не видит внутренней противоречивости своих собственных высказываний.
Далее, судя по датам и ссылкам, он наверное видел саму запись и разговор о UTC и TAI. То есть, я как бы знаю об этих шкалах, но, видимо, не знаю в чём между ними разница и какова она. Это смело, но неверно.
Инженерные принципы
Посмотрим другие предложенные признаки.
«2. Следует пересматривать требования к решению. Вполне возможно, что мы решаем несуществующую задачу».
Что же, верный тезис. Но что же должно из этого следовать в контексте именно этого обсуждения? Что любое изменение будет более удачным решением? Маловероятно, что именно это подразумевалось.
Или что именно мы знаем и определяем требования любых проектов и решаем задачи для всех и за всех? Тоже, наверное, маловероятно, если озвучивать таким образом.
«1. Следует проверять качественные модели количественными методами. Объяснения на пальцах хороши, но расчеты лучше».
И это верно. Тем более, что дальше следуют количественные оценки. Но что из этого должно следовать в терминах упрощения и уменьшения точности UTC?
Есть и другой принцип: точность результата определяется точностью наших измерений. И если написать результат 2,7182345678 ±10, то это будет демонстрацией технической неграмотности.
Теперь вернёмся к требованиям и пересмотрам. Так что же, у нас теперь стабильно понижаются требования к точности? Не особо. Структуры timespec и timeval определяют значения с точностью до нано- и микросекунд, java.time.LocalTime – наносекунды, .NET DateTime – 0,1 us.
Но о какой точности в микросекундах мы говорим, если мы теперь желаем игнорировать секунды десятками? И какая шкала у нас теперь будет? Астрономическая, атомная, линейная, координированная?
И здесь можно сделать лирическое отступление. Сколько прошло секунд с 1955 года мы как-то себе представляем. А сколько прошло секунд с 1900-01-01 – мы не знаем, не говоря уже о 0001-01-01. И говоря или используя разные шкалы и механизмы в программировании, люди не всегда понимают, что именно они делают, предлагают и получают. Но, бывает, что определяют требования и решения для широкого спектра проблем.
Сложности программирования и вычисления
Для чего вообще надо менять принципы и точность UTC? Здесь может быть много разных ответов. Один из них – для упрощения жизни программистов и компьютеров. Но можно вспомнить, что за последние 50 лет программисты с задачей дополнительной секунды справлялись. На PDP, IBM S/370, x86.
И что же, это теперь единственный способ – всё бросить и забить? Всё бросить уже не получится, ретроспективно дополнительные секунды уже есть. И повторюсь, если вам и вашим процессам удобнее работать с TAI – можно пользоваться этой шкалой.
И кому-то, со временем, придётся всё это переделывать и чинить, и не через тысячу лет.
***
Наверное, можно обойтись без дополнительных секунд, наверное, можно обойтись и без инженеров. Наверное, можно заменить принципы на «и так сойдёт». Наверное, будет весело.
Развитие и игноранс – разные процессы, такая эпистемология.
---
* «О сложном времени». https://bowhill.dreamwidth.org/381192.html (2023.02.21)
https://www.facebook.com/daniel.dbg.ginsburg/posts/10230444406915196
Что здесь для меня интересного я и хотел бы рассказать, Даниила я не знаю, так что далее о том, что он сам и сказал.
Принципы
Начнём с двух высказываний:
«3. Следует проявлять эпистемологическую скромность. Есть вещи, которые мы не знаем. Не надо стесняться в этом признаться» и «Автор поленился сделать хоть какие-то численные прикидки, поэтому сделаем за него».
В этих высказываниях две проблемы. Во-первых, Даниил сам не пользуется принципами, которые провозглашает. Он ничего не знает обо мне, о чём сам и говорит: пост какого-то чувака. И тут же пишет, что я поленился сделать хоть какие-то прикидки. Во-вторых, не видит внутренней противоречивости своих собственных высказываний.
Далее, судя по датам и ссылкам, он наверное видел саму запись и разговор о UTC и TAI. То есть, я как бы знаю об этих шкалах, но, видимо, не знаю в чём между ними разница и какова она. Это смело, но неверно.
Инженерные принципы
Посмотрим другие предложенные признаки.
«2. Следует пересматривать требования к решению. Вполне возможно, что мы решаем несуществующую задачу».
Что же, верный тезис. Но что же должно из этого следовать в контексте именно этого обсуждения? Что любое изменение будет более удачным решением? Маловероятно, что именно это подразумевалось.
Или что именно мы знаем и определяем требования любых проектов и решаем задачи для всех и за всех? Тоже, наверное, маловероятно, если озвучивать таким образом.
«1. Следует проверять качественные модели количественными методами. Объяснения на пальцах хороши, но расчеты лучше».
И это верно. Тем более, что дальше следуют количественные оценки. Но что из этого должно следовать в терминах упрощения и уменьшения точности UTC?
Есть и другой принцип: точность результата определяется точностью наших измерений. И если написать результат 2,7182345678 ±10, то это будет демонстрацией технической неграмотности.
Теперь вернёмся к требованиям и пересмотрам. Так что же, у нас теперь стабильно понижаются требования к точности? Не особо. Структуры timespec и timeval определяют значения с точностью до нано- и микросекунд, java.time.LocalTime – наносекунды, .NET DateTime – 0,1 us.
Но о какой точности в микросекундах мы говорим, если мы теперь желаем игнорировать секунды десятками? И какая шкала у нас теперь будет? Астрономическая, атомная, линейная, координированная?
И здесь можно сделать лирическое отступление. Сколько прошло секунд с 1955 года мы как-то себе представляем. А сколько прошло секунд с 1900-01-01 – мы не знаем, не говоря уже о 0001-01-01. И говоря или используя разные шкалы и механизмы в программировании, люди не всегда понимают, что именно они делают, предлагают и получают. Но, бывает, что определяют требования и решения для широкого спектра проблем.
Сложности программирования и вычисления
Для чего вообще надо менять принципы и точность UTC? Здесь может быть много разных ответов. Один из них – для упрощения жизни программистов и компьютеров. Но можно вспомнить, что за последние 50 лет программисты с задачей дополнительной секунды справлялись. На PDP, IBM S/370, x86.
И что же, это теперь единственный способ – всё бросить и забить? Всё бросить уже не получится, ретроспективно дополнительные секунды уже есть. И повторюсь, если вам и вашим процессам удобнее работать с TAI – можно пользоваться этой шкалой.
И кому-то, со временем, придётся всё это переделывать и чинить, и не через тысячу лет.
***
Наверное, можно обойтись без дополнительных секунд, наверное, можно обойтись и без инженеров. Наверное, можно заменить принципы на «и так сойдёт». Наверное, будет весело.
Развитие и игноранс – разные процессы, такая эпистемология.
---
* «О сложном времени». https://bowhill.dreamwidth.org/381192.html (2023.02.21)
no subject
Date: 2023-02-28 04:27 am (UTC)я тоже считаю, что корректировка на секунду не стоит выеденного яйца.
у нас до сих пор православные на 13 суток отстают - какие уж там секунды.
да сколько еще по миру расхождений. ИМХО гораздо неудобнее, когда у кого-то метры, а у кого-то футы. фаренгейты и цельсии. итд.
правый руль и левый.
Петька, приборы
Date: 2023-02-28 06:53 pm (UTC)Хорошо, попробую объяснить на живом и практическом примере. Есть у нас NTP: хорошая вещь, сделал её совсем неглупый человек. И эпоха в ntp начинается в 1900 году. Почему – не знаю, наверное, число красивое, никакого физического смысла в этом нет. Вместо того, чтобы взять тот же 1970 или хотя бы 1955, Милз добавил большую и совершенно бессмысленную константу, сократив эпоху примерно вдвое: переполнение у нас будет в 2036 году. Чтобы исправить эту ситуацию секунды и доли решили сделать 64-битными. Смысла, особенно в долях, в этом нет, вред есть, но не особо большой, да, с ним можно справляться. На предмет 64-бит у Милза есть радость, но imnsho она на пустом месте, это как приделать микрометр к экскаватору. Ешё раз, он умный человек, но не инженер, не его поле, базовых навыков нет.
Возвращаясь к UTC, теперь эта шкала будет как тот фильм: «О чём этот фильм? Да ни о чём». Она будет никакая: не астрономическая, не атомная, не линейная, не координированная etc. Что-то в попугаях. Как совмещать с другими датами и шкалами? В метавёрсе, наверно, не задумываясь. Вольтметры, амперметры, какая разница. Сколько время? Дохрена + 5×10-9
У всего есть причины, от IBM Thinkpad к Lenovo Thinkpad, от Toyota 2016 к Toyota 2019, от Boeing 747 к 737 MAX. Из этого растёт, потихоньку набирается здесь и там. Так что когда в следующий раз будешь громко говорить «какие [ ] это сделали!», тогда и вспомни – да вполне нормальные.
А на приборной панели вспыхивали огоньки штангенциркулей.
Re: Петька, приборы
Date: 2023-03-01 03:43 am (UTC)да, у меня на всех устройствах (вот только что на новом компе Хром регистрировал - Гугл разослал оповещение на все прежние устройства разом. 5 штук вон только радиусе 1 метр) время согласно NTP. но мне абсолютно пофиг какое время на центральном сервере - с високосной секундой или без.
вот если бы речь шла о часах, то может я обратил внимание. вчера пришел домой, включил всё, а на медиа-плеере 20 мая 2020 года и 8 утра. полчаса лазил по настройкам, ввел цифры вручную, потом обратил внимание, что оно погоду не хочет показывать... еще через полчаса обнаружил, что интернета нет. во всей остальной квартире у всех есть, а у медиаплеера - нет. и вообще сети нет! оказалось каким-то загадочным образом кабель ВЫПАЛ из RJ-45!!!
а расхождение в секунду я просто не в состоянии заметить. ты в состоянии?
поэтому лично я бы предпочел вместо регулярного траходрома с секундами (тратить сотни человеко-часов ради одной високосной секунды!) заняться чем-то более полезным.
Re: Петька, приборы
Date: 2023-03-01 04:23 am (UTC)Но ключевую фразу ты всё же запомни, «мне абсолютно пофиг», ну или просто пофиг. Как пользователь здесь ты прав, конечно, но сама фраза ключевая.
Это инженерный девиз нашего времени.
Re: Петька, приборы
Date: 2023-03-01 04:47 am (UTC)это как щас, например, в РФ Мишустин захотел учитывать каждую каплю молока. ты в курсе? - тысячи человеко-часов, олимпиарды бабла потрачены на развертывание этой системы! ради чего? - чтобы ни капли молока от коровы до конечного потребителя по дороге не пропало. ну или не украли.
Re: Петька, приборы
Date: 2023-03-01 09:02 am (UTC)"Оказывается 1 кг риса - это 1.675.374 рисинок! Сахар чуть позже скину."
а мне щас на обеде рассказали, что "молоко по капле" - это в прошлом году было, а теперь Мишустин на полном серьезе хочет зерна в крупах пересчитывать!!!
и пофиг, что обывателю пофиг: 1.675.374 рисинок там или 1.675.375! дядя за реализацию своих проектов олимпиарды зарабатывает.
Re: Петька, приборы
Date: 2023-03-02 02:25 am (UTC)Тебе не нужна большая точность, вполне возможно, но в механизмах она есть, до наносекунды. За наносекунду свет проходит 30 см., но кому-то и зачем-то надо. И одновременно мы говорим, что нам и секунды не важны. За всех. Шкала, которой мы всегда пользовались – это астрономическая шкала, в ней все датировки. И даже полночь – понятие астрономическое. А теперь нет. Зачем это делать и, главное, зачем это делать именно так – вопрос. Просто игнорировать проблему – скорее будет плохим решением. И переделывать всё равно надо будет.
***
Теперь тебе вопросы.
1. Твои гипотезы, почему в NTP была выбрана эпоха (число секунд) с полуночи 1900-01-01?
2. Повлиял ли этот выбор на NTP?
Re: Петька, приборы
Date: 2023-03-02 03:46 am (UTC)на ВСЮ идею "корректировать" время на одну секунду в произвольные интервалы от 1 до 10 ЛЕТ.
> это делают механизмы
нет. механизмы невозможно настроить на произвольные интервалы. чтобы механизмы могли скорректировать секунды, требуются затраты сотен ЧЕЛОВЕКО-часов.
точность в устройствах до наносекунды, конечно важна. для устройств, которые работают с наносекундами. много ты знаешь таких устройств? сколько человек на планете ими пользуется?
астрономическая шкала, которой мы пользуемся, оперирует сутками, максимум часами. если мы говорим "возраст планеты столько-то милиардов лет", то мы не имеем в виду точность до секунды. (ты же вроде сам говорил о разумном количестве знаков мантиссы? или я уже что-то путаю?)
полночь - конечно же астрономическое понятие. но ты же понимаешь, что на планете "полночь" случается каждый час в соответствующем часовом поясе. или каждую секунду в какой-то соответствующей долготе. или даже каждую наносекунду. :)
"датировки" оперируют датами. как я уже сказал, максимум - часами. да, астрологи вон спрашивают час рождения... о секундах не слышал.
ответы:
1. потому что автор(ы) жил в 20 веке.
2. пофиг. хотя, повлиял, конечно. для 1800-01-01 потребовалась бы другая разрядность, а для 0000-01-01 тем более. понимаешь, это ОТНОСИТЕЛЬНАЯ шкала. "датировки" придуманы людьми для оперирования датами в общении между людьми. для этого достаточно 6 десятичных знаков: ГГ-ММ-ДД. мало кто живет больше ста лет. ну хорошо, добавим еще бит: "прошлого века", если такому долгожителю потребуется сообщить дату рождения.
а вообще, мы ж про секунды... :)
а устройствам типа "компьютер" вообще должно быть фиолетово: столько секунд прошло с 1900 или 1970 года.
Re: Петька, приборы
Date: 2023-03-06 06:55 pm (UTC)– Да нет, содержать этот механизм сравнительно недорого, вот ты, скажем, адрес своего хоста поменял – и весь механизм стал обновляться. И, например, в 2022 году zoneinfo менялся 9 раз (freebsd).
– Я как раз не знаю за всех, кто и чем пользуется. Мне наносекунды, в основном, кажутся избыточными, то есть в профиляторе нужны, а в NTP – вряд ли. Но в этом мире много людей.
– Точности структур о которых я говорил – они как раз с начала своих эпох, и там это всё лежит, в терминах человеко-часов. Ну то есть будут наносекунды с 1900 или доли микросекунд с начала нашей эры (AD). И речь как раз была о непонимании и несоответствии, что мы меряем, что имеем, что сравниваем.
– Полночь UTC – одна, по Гринвичу. И речь опять же о шкале времени, которая была до 1955 года и которой мы вообще-то пользуемся и сейчас.
– 1900 – это девятнадцатый век, о чём тоже мало кто знает, но ещё раз – мы _не_ знаем сколько
прошло секунд с этого момента и едва ли когда узнаем, мы можем делать только какие-то оценки, по астрономическим событиям. Не знаем секунды. Так что точность 2-64, нано-, микро- и миллисекунды – это просто большое и бессмысленное число. Но это как и XIX век, это не вполне очевидно.
– Маловероятно, что кто-то стал бы пользоваться NTP в 1905 или даже в 1950 годах.
– В этом мире существуют не только программисты. Которые знают за всех.
Re: Петька, приборы
Date: 2023-03-07 03:53 am (UTC)это ты щас про другой механизм. я - про одну секунду в непредсказуемом будущем.
> речь как раз была о непонимании и несоответствии
вот именно! стоит сначала понять: нужна ли эта "високосная секунда"?
Re: Петька, приборы
Date: 2023-03-07 04:14 pm (UTC)И насчёт сначала понять – было бы хорошо.
https://bowhill.dreamwidth.org/297541.html
Re: Петька, приборы
Date: 2023-03-08 04:39 am (UTC)хренасе у тебя память! :)
я этот эпизод 2019 года забыл на 100%.