Программист - он и в JPL программист

Когда-то я писал, что программисты в USNO применяли для интерполяции классическую формулу Лагранжа, что глупо и неэффективно. Видимо, им лень было читать учебник по численным методам дальше первой страницы.

Теперь напоролся на глюк в коде JPL, с помощью которого читаются файлы эфемерид серии DE (DE200, DE405 и т.п.). Вот кусок их кода (подпрограмма READHD в файле testeph1.f):

read(NRFILE,REC=1)TTL,(NAMS(K),K=1,OLDMAX),SS,NCON,AU,EMRAT,
& ((IPT(I,J),I=1,3),J=1,12),NUMDE,(IPT(I,13),I=1,3),
& (NAMS(J),J=K,NCON),
& (IPT(I,14),I=1,3),
& (IPT(I,15),I=1,3)
Тут из первой (заголовочной) записи читаются сначала имена констант
(NAMS(K),K=1,OLDMAX)
числом OLDMAX (= 400), затем разные другие величины, потом остаток имен констант
(NAMS(J),J=K,NCON)
Так получилось, потому что в старых теориях констант было мало, вот и зарезервировали в файле для них 400 мест. За ними в файле следовали прочие параметры. Когда число констант увеличилось сверх лимита (в DE430, например, их 572), решили формат файла не менять, а константы дописать в конец.

Когда я компилировал это код транслятором gfortran из семейства GCC без оптимизации, все работало как нужно. Но стоило включить оптимизацию O2, как получалась полная фигня: порядок чтения нарушался, элементы массива IPT получали неправильные значения.

Засада была вот в этом элементе списка чтения:
(NAMS(J),J=K,NCON)
Переменная K использовалась как параметр цикла в одном из предыдущих элементов этого списка. Поэтому нельзя ожидать, что по окончании цикла она будет иметь определенное значение. Без оптимизации она действительно сохраняла последнее присвоенное значение. Но оптимизирующий компилятор построил код иначе, что и привело к проблемам. Понятно даже, что именно сделал компилятор: он вычислил начальные и конечные значения параметров всех внутренних циклов до начала выполнения оператора READ, когда переменная K еще не имена конкретного значения. 

Ежу понятно, что программисту надо бы читать описание языка, прежде чем генерить год. Однако в индустрии победил подход Дональда Кнута: "мне лень про это писать, спроси у кого-нибудь, кто знает" (книга Кнута The Joy of TEX изобилует подобными советами). А сейчас еще любят учиться по роликам на Ютубе.

Короче говоря, перепишите это оператор так:
        read(NRFILE,REC=1)TTL,(NAMS(K),K=1,OLDMAX),SS,NCON,AU,EMRAT,
& ((IPT(I,J),I=1,3),J=1,12),NUMDE,(IPT(I,13),I=1,3),
& (NAMS(J),J=OLDMAX+1,NCON),
& (IPT(I,14),I=1,3),
& (IPT(I,15),I=1,3)
и будет вам счастье.

Оригинал этого сообщения находится здесь.

Троицкий заголовок

Сегодня с утра в ленте на Facebook увидел кучу сообщений о том, что российские ученые выяснили, где рождаются нейтрино. Задумался. Вот школьный учебник. Там написано, что нейтрино рождаются в термоядерных реакциях превращения водорода в гелий. Даже картинка есть. Еще написано, что при взрыве сверхновых большая часть энергии излучается в виде нейтрино (значит, рождаются, таки!), и даже зарегистрировали их от SN1987A. То есть, по крайней мере два механизма рождения нейтрино в учебниках описаны. И вдруг ученые об этом узнали!

Полез выяснять, откуда же ноги растут. Ссылки ведут либо на "Троицкий вариант", либо на "Российскую газету". В ТрВ так прямо статья и озаглавлена: "Где рождаются нейтрино?". А вот в РГ чуть сложнее: "Российские ученые нашли адрес рождения загадочного нейтрино" (курсив мой). Т.е. можно натянуть на то, что адреса рождения другого, не загадочного нейтрино, был известен, а вот у загадочного определили только сейчас.

Даже беглый просмотр статей показывает, что речь идет не о любых нейтрино, а только о частицах с энергией больше 0,2 ПэВ. Вот и в оригинальной публикации написано: "We address the problem of the origin of astrophysical neutrinos with energies above 200 TeV in a statistical manner", да и названа она куда конкретнее: "Observational Evidence for the Origin of High-energy Neutrinos in Parsec-scale Nuclei of Radio-bright Active Galaxies", т.е. "Наблюдательные свидетельства о рождении высокоэнергичных нейтрино в ядрах активных радиогалактик размером порядка парсека".

Но, видимо, нужно было соблюсти, по словам Аси Казанцевой, баланс между точностью и популярностью. И получилось Великое Открытие: до сих пор ничего про рождения нейтрино (любых, вообще!) не было известно, и ВДРУГ российские ученые все узнали.

Помните картинку "Ученые победили рак", в то время как они лишь уменьшили число раковых клеток в хвосте лабораторной крысы на 10%? Так вот это их той же серии. И почему-то в "Троицком варианте".

  • maoist

Срачи популяризаторов-2

В отечественной популяризации разворачивается очередная часть марлезонского балета "Срачи популяризаторов". Теперь объектом стала не Ася asena Казанцева, разумно уехавшая учиться в Англию, а хорошо известный физантрополог Станислав Дробышевский. Недавно, расширяя свою популяризаторскую деятельность, он выпустил книгу "Палеонтология антрополога", в которой решил повторить подвиг Кирилла afranius Еськова и написать свою "историю Земли и жизни на ней", только в больших объемах и коммерчески куда более выгодно.

Поскольку Дробышевский не палеонтолог, то на книгу естественно посыпались критические отзывы. Первую рецензию, появившуюся на Биомолекуле, написал научный сотрудник лаборатории нейрогеномики поведения ИЦиГ СО РАН Антон Цыбко.   Резюме его разбора было следующим:

По прочтении остаётся горькое ощущение, что ты не получил ни взвешенного взгляда современной палеонтологии на развитие жизни, ни захватывающего приключения на тропах эволюции, а лишь только занудные каталоги бесконечных и однотипных «завров».

Автор всех поблагодарил за критику, пообещал все исправить и даже позвал в научные редакторы группу профильных специалистов, включая Михаила Гельфанда, Павла Скучаса и др. Но тут случилась какая-то мутная история, закончившаяся открытым письмом оных редакторов от лица их самих и фонда "Эволюция".

К сожалению, при подготовке второго издания не были учтены многие из существенных замечаний научных редакторов, и в результате в тексте остались серьезные ошибки. Ни фонд, ни научные редакторы не имели возможности ознакомиться с окончательной версткой. В этой ситуации фонд просит издательство снять логотип фонда до исправления этих ошибок.

Все научные редакторы: Михаил Гельфанд, Павел Скучас, Яна Шурупова, Сергей Наугольных, просят снять упоминание об их работе над книгой до того, как их замечания будут учтены в достаточной мере.


Автор объяснил это тем фактом, что замечания пришли поздно, он их все внести не сумел, а издательство ждать не хотело. Короче, звериный оскал капитализма налицо.

Ну а теперь еще более суровой рецензией на книгу разразился Андрей Журавлёв, палеонтолог, доктор биологических наук, профессор МГУ и сам известный популяризатор. Правда уважаемый shilo_namylin напомнил, что и у самого профессора в популярных книжках косяков было немало, а я не могу не отметить, что он научный редактор нежно любимого мной журнала National Geographic Россия. С другой стороны профессор в свое время доставил незабываемый баттхёрт телеканалу просветителям с телеканала "Культура", за что его следует уважать.  Он оказался уже не так деликатен, как его коллеги ранее:

Алгоритм этой халтуры такой: кусок текста, выписанный из недостоверного Интернет-ресурса, длинный и необязательный список латинских названий с ошибками («учёность свою показать»), и совершенно безграмотные обобщения. Зачем автор это сделал, я понять не могу. Популяризация науки? Её нет. Стёб? Грубый и не смешной. Получить литературную премию? Ну, если только в рамках ВРАЛ такую учредят.

Но опять-таки все эти милые срачики обычное дело. Гораздо красочнее вновь оказалась реакция просвещаемого сообщества. Ибо после того, как обиженный Дробышевский вывесил ссылку на критику Журавлёва у себя ВКонтакте с едкими комментариями, его поклонники зарекомендовали себя во всей красе. В дело пошли привычные термины - "критиканы", "хейтеры", "завистники", "злобное нападение на конкурентов".

Ну и отдельно доставляют фразы почитателей типа:

"Станислав - настоящая рок-звезда в науке, и даже если в слове "палеонтология" он бы сделал 88 ошибок, это было бы ему совершенно простительно"

"Я думаю, что многие из критиков были бы совсем не против, чтобы Вы перестали писать и популяризировать. Этого я и боюсь - кто, если не Вы? Никого не слушайте - мы Вас любим :)"

"Все эти его уточнения нафиг не нужны обычному человеку. В целом обывателю вполне достаточно и доходчиво книга объясняет суть. А это главное. Никто не запомнит ( ну если не профессор) про эти движения азота- кислорода в подробностях, в точностях".

Последний комментарий особенно хорош. Его надо крупными буквами на рабочем столе компьютера написать.

Как я писал несколько лет назад в посте "Срачи популяризаторов" про российскую популяризацию: "вокруг ее ключевых фигур быстро формируются группы адептов, которые каждый чих гуру считают Великим Откровением, а любую критику - Адским Грехом". В общем, можно констатировать, что такая группа адептов окончательно сложилась и вокруг Дробышевского. И самое поразительное, что по-моему ему самому это начинает нравиться ...

Черная книга

Я про "Астрономический ежегодник", который, как оказалось, до сих пор издается Институтом прикладной астрономии в виде здоровенного тома в черной твердой обложке весом в три ноутбука. Впервые я увидел его в 1986 году. Практического значения для меня он тогда не имел, зато имел образовательное и косвенным образом способствовал выбору специальности.

Но с тех пор прошло больше 30 лет, а ежегодник все печатают и печатают. Недавно я посмотрел выпуск на 2020 год. За треть века его содержание изменилось лишь чуть больше, чем никак, что вызвало мое полное недоумение.

Содержание это вы можете увидеть сами. Хорошо. Допустим, что напечатанные на бумаге видимые координаты Солнца, Луны и больших планет имеют практическую ценность. Но большую часть тома занимают так называемые видимые места звезд, причем не каких попало, а выбранных много десятилетий назад специально для определения широты и долготы места методами Певцова и Цингера. Это до сих пор важно, иметь эти координаты, напечатанные на бумаге? А моменты времени, для которого приведены эти координаты, - верхняя кульминация каждой звезды в Гринвиче (в ежегоднике всегда пишут "Гриниче", выпуская букву "в") на каждые 10-е звездные сутки с безумной процедурой интерполяции, описание которой содержит ошибку, не исправляемую десятилетиями? В.В. Витязев в свое время на мой вопрос, почему бы не давать эти координаты на какой-нибудь фиксированный момент, например, на полночь по UT, просто пожал плечами. Интересно, что на астрометрической практике в 1991 году я пытался оптимизировать свой труд, вычисляя нужные координаты с помощью средних мест звезд и редукционных величин ("бесселевой азбуки"), - у меня был калькулятор МК-52, на котором это делалось с легкостью. Но попытка была решительно пресечена тем же В.В. Витязевым.

Еще в ежегоднике есть крайне нужные в XXI веке таблицы: перевод среднего времени в звездное и обратно (это делается одним умножением), перевод минут, часов и секунд в доли градуса и обратно (две кнопки на калькуляторе) и т.п.

Зачем?

Неужели есть спрос на этот продукт в наши дни? Все содержание ежегодника я могу за секунды вычислить на своем старом хилом ноутбуке, хоть по своим собственным программам, хоть по чужим. В интернете есть сервис Horizon, готовый предоставить даром любую (хорошо, почти любую) эфемеридную информацию. Так в чем же ценность Ежегодника?

Да, я слышал такую гипотетическую ситуацию, что некий путешественник окажется в районе, где нет не только интернета, но вообще электричества, и печатная книга будет его единственным спасением. Но не кажется ли вам, что случайно оказавшийся у такого путешественника в рюкзаке здоровенный и тяжеленный том Ежегодника, - ситуация еще более гипотетическая? А если человек едет в такое место сознательно (наблюдать солнечное затмение в пустыню Гоби), и сознательно не берет с собой ни дизельного движка, ни аккумуляторов, то не проще ли ему заранее распечатать десяток страниц необходимой информации с помощью доступных в цивилизованном месте источников (или вычисленных самому на компьютере в офисе)?

Еще могу понять необходимость печатной версии, допустим, Морского ежегодника. Очевидно, что в случае крушения корабля посередине Тихого океана первое, что возьмет с собой экипаж в спасательную шлюпку, будет Морской ежегодник - главная в наши дни надежда на выживание вдали от берегов. Но совершенно не понимаю, зачем в такой ситуации угол разворота колец Сатурна или гелиографическая долгота центра диска Солнца, напечатанные в ежегоднике "общем".

Я вижу только одну причину, по которой Черная книга до сих пор издается - "Мы всегда так делали!".


Оригинал этого сообщения находится здесь.

TeX-помощь

По какой-то странной традиции астрономы ставят обозначение величины (обычно угла или блеска) не после его числового значения, а над десятичной запятой (или точкой). Вот как здесь:


В этой табличке наборщики даже схалявили: сначала идет знак секунды, а потом запятая. В идеале символ " должен быть точно над запятой.

Как такую штуку в TeX'е нарисовать?


Оригинал этого сообщения находится здесь.

П.А. Тревогин. Сатурн с Нептуном соединяются в Козероге: Заметки об астрологии. Чать 1

Осенью 1991 года в газете "Санкт-Петербургские ведомости", только что переименовавшейся вслед за городом из "Ленинградской правды", появился цикл статей Петра Александровича Тревогина "Заметки об астрологии".

Начало 90-х гг. Несколько месяцев остается до "отпускания" цен. В ожидании этого пока еще государственная торговля зажимает товары на складах и ждет момента, когда можно будет толкнуть десятикратно, а то и стократно. В д/к, газетах и на телевидении выступают сонмы колдунов, целителей, знахарей и астрологов. Павел и Тарамара Глоба - повелители дум. И вдруг в главной городской газете появляется статья, громящая всю эту дурь.

Я аккуратно вырезал каждую заметку из цикла Тревогина, пока у меня не собрались все, кроме последней. Я тогда жил в общежитии ЛГУ в Петергофе, и почта частенько терялась при доставке. Только спустя 28 лет - в 2019 году - я достал в библиотеке в Химках недостающий номер газеты и сложил весь цикл "антиастрологических" статей в одну папку. Думаю, полезно будет прочитать его и сегодня. По крайней мере, Павел Глоба всё еще успешно практикует.





Часть 1. Санкт-Петербургские ведомости, 1991, №21 (27 сентября).

1. ФАНАСТOВ ПРОСЯТ НЕ БЕСПОКОИТЬСЯ

Похоже, что астрологи добились-таки своей цели: в их учение уверовали едва ли не все поголовно. Во всяком случае, если судить по прессе, радио- и телепередачам. Того и гляди, люди, позабыв нормальный общепринятый календарь, станут писать в анкетах: родился под знаком Стрельца в Год Серого Осла. Даже ТАСС теперь консультируется с астрологом, почтительно осведомляясь у него о перспективах избрания Президента РСФСР...
Collapse )
Продолжение следует.

Дебилы, бля...

В России в среднем число заболевших коронавирусной инфекцией увеличивается на 17–18% в день, это позволяет надеяться на отсутствие экспоненциального развития, заявила вице-премьер РФ Татьяна Голикова.

"Но я хочу еще раз повторить: цифры заболевших в целом – они пугать не должны, если это не экспоненциальный рост", – сказала Голикова в эфире телеканала "Россия 24".

Отсюда.




Оригинал этого сообщения находится здесь.

Продолжаем калькуляторить

В старших классах на уроках алгебры и геометрии нам не возбранялось пользоваться калькуляторами. Видимо, наша учительница Н.М.Логунова рассудила, что к этому моменту мы достаточно освоили ручной счет, и больше нет необходимости практиковаться в "столбиках" и "уголках".

Беда большинства советских калькуляторов была в малом времени автономной работы (от батареек или аккумуляторов) - обычно 2-3 часа. В основном энергию сжирали индикаторы - светодиодные (красное свечение) или катодолюминисцентные (зеленые). На один урок хватало, а на весь учебный день - нет (калькуляторами так же активно пользовались на уроках физики и химии).

В какой-то момент я набрался наглости, принес с собой блок питания и прямо на уроке включил его в розетку на стене. Это сейчас школьники творят, что пожелают, а в середине 80-х могло и влететь за отступление от традиций! Но не влетело. К тому же, калькулятор у меня был самый крутой из существовавших в тот момент.



Оригинал этого сообщения находится здесь.

Калькуляторная амбидекстрия

Амбидекстр - человек, который одинаково владеет правой и левой рукой, без выделения ведущей.

Я вспомнил это слово, изучая в выходные дни старые микрокалькуляторы, в основном программируемые. Есть два способа вычисления выражений. Первый известен всем и называется "алгебраической логикой вычислений". На калькуляторе с такой логикой вы нажимаете те же кнопочки, что используются в математической записи выражения: 2×2= (получается, очевидно, 4).

Другой способ - обратная бесскобочная (польская) запись. Её суть - сначала вводятся аргументы, а потом указывается, какую операцию над ними нужно совершить. Там нужно нажимать так: 2↑2× (и получается тоже 4).

Традиционно советские программируемые калькуляторы (Б3-21, Б3-34, МК-52 и др.) использовали обратную бесскобочную запись. Столкнувшись с ними где-то в 5-6 классе, я без труда освоил такой метод и даже научился программировать. А мои одноклассники пользовались непрограммируемыми калькуляторами, которые (за исключением Б3-19М) имели алгебраическую логику.

Причем же здесь амбидекстры? В книге "Справочник по расчетам на микрокалькуляторах" автор В.П.Дьяконов заявил: "Следует, однако, помнить, что пользователи, привыкшие к применению микрокалькуляторов с обратной бесскобочной записью вычислений, с большим трудом привыкают к использованию микрокалькуляторов с алгебраической логикой (и наоборот)". Так вот, я с детства одинаково хорошо владею обоими способами и не выделяю ведущий!

Оригинал этого сообщения находится здесь.

Нет ли и у них лишней хромосомы?

Гуглил кое-какую информацию и наткнулся на прекрасное: "Опасна ли флюорография для белорусов?"

В статье делается вывод, что нет, для белорусов не опасна. Вопрос про датчан и разных там прочих шведов остался открытым. Для них может быть и другой ответ.

Оригинал этого сообщения находится здесь.