Я

Кроссовер

Фродо проснулся в кровати. Первая его мысль была о долгом мучительном кошмаре, после которого вполне простительно поспать подольше (где-то на краю сознания еще колыхались отголоски ужасного сна). А может, он болел? Фродо поднял глаза к потолку, и потолок показался ему странным: собственно, потолка не было, он терялся где-то в полумраке вверху. Мощные открытые потолочные балки украшала затейливая резьба.

— Так и есть,— сказал Фродо. —Лори-Эн, и никаких сомнений! This entry was originally posted at https://beldmit.dreamwidth.org/925556.html. Your comment? (comment count unavailable comments)
Я

Давно про климат ничего не писал

Комментарий Алексея Екайкина из Фейсбука отсюда.

Исходная статья.
DOI для SciHub-а: DOI: 10.1126/science.aba6853

Картинка из статьи

Не могу не поделиться с вами этой потрясающей красотой. В последнем номере Science опубликован новый детальный и хорошо датированный сводный климатический ряд за весь кайнозой (последние 66 млн. лет) по данным морских донных осадков.

Всё внимание на верхнюю кривую – это температурная аномалия планеты, реконструированная по изотопному составу фораминифер, относительно современной температуры. Внимательный зритель, однако, углядит, что на правом краю график упирается не в 0, а в -4 градуса. Почему так? Потому что красная линия – это ряд температуры, сглаженный по 1 млн. лет, то есть он включает в себя и межледниковья, и ледниковые периоды. Современная же температура показана зелёной точкой, и она равна 0 °С, как и должно быть. Ну как современная – это средняя аномалия за последние 10 тыс. лет, на самом деле.
О чём этот график говорит? – о том, что в масштабе миллионолетий мы живём в самую холодную эпоху со времён динозавров. На всём своём протяжении кайнозой был очень тёплым периодом в истории планеты. Оптимум эоцена был на 14 градусов теплее нашего нынешнего межледниковья, голоцена, а в палеоцен/эоценовый термический максимум (PETM) температура поднималась на 20 градусов выше современной! И да, это потепление было связано с высоким содержанием парниковых газов в атмосфере.

Но если вы сейчас хотите крикнуть «Ага! Смотрите, было теплее, и ничего, Земля это как-то пережила!» - не надо этого делать.

Во-первых, хотя на графике PETM выглядит вертикальной линией (просто потому, что временная шкала тут очень сжата, в одном пикселе этого рисунка – около 50 тыс. лет), на самом деле потепление было не таким уж быстрым: за 20-50 тыс. лет потеплело на 5-8 градусов. То есть скорость потепления была порядка 0,01-0,04 градуса за столетие. У природы было время, чтобы как-то адаптироваться. Скорость же современного потепления – 1,5 градуса за 100 лет, на 2 порядка больше!

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

Ещё из интересного на графике – красная и синяя точки на температурной шкале. Это прогноз потепления на 2300-й год для разных сценариев выбросов СО2. Голубая точка – мало выбросов, температура поднимется на 3 градуса, будем жить, как в миоцене 14 млн. лет назад. Красная точка – много выбросов, потеплеем на 8 градусов, будем жить, как в эоцене 35-40 млн. лет назад. Ледников тогда на Земле почти не было, кстати, Арктика и Антарктида были свободны ото льда. This entry was originally posted at https://beldmit.dreamwidth.org/925025.html. Your comment? (comment count unavailable comments)
Программизм

Хозяйке на заметку

Если перестало проходить соединение с почтовым сервером из нового Thunderbird, потому что на сервере стоит говно мамонта с TLS 1.0 - вот такой совет спасёт.

Но сервер с такими настройками (не знающий TLS новее 1.0) надо апгрейдить при первой же возможности. This entry was originally posted at https://beldmit.dreamwidth.org/924682.html. Your comment? (comment count unavailable comments)
Человеческое лицо

Дороти Сейерс

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

Начал читать более ранние вещи про того же сэра Питера Уимзи. Впечатления странные.

Во-первых да, sadtranslations. То есть первая книга то ли написана, то ли переведена левой задней ногой. Во второй упоминается Свободное апельсиновое государство.

Во-вторых, там очень сильно ощущается что-то общее с книгами Вудхауса. Кто чьим был эпигоном, сейчас не разобрать. Саша Коробейников в Фейсбуке пишет, что Вудхаус был раньше.

Хочется разобраться, до какой степени конспиративный Советский клуб с кумачовыми занавесками - отражение существующей на тот момент реальности, а в какой гротеск. Миша Левандовский рекомендует биографию Клэр Шеридан. This entry was originally posted at https://beldmit.dreamwidth.org/924491.html. Your comment? (comment count unavailable comments)
Манул

Security vs usability

Берём Debian и запускаем torbrowser-launcher последней версии из меню. Он скачивает свежую версию и молча закрывается.

Запускаем его из консоли. Видим, что хряпается он на отсутствии gpg2. То есть зависимости не прописаны.

Ставим gpg2. Скачивает, проверяет сигнатуру. И радостно обламывается с 32 байтами нечитаемого и некопируемого идентификатора кода ошибки, рассказом про устаревший ключ и предложением жаловаться на github разработчика.

Ну ладно. По этому поводу уже можно что-то гуглить, выбираем наименее подозрительный способ обновления ключа GPG, и вуаля - всё взлетает.

Вишенка на торте - bad gateway на Флибусте, ради которой всё и затевалось :) This entry was originally posted at https://beldmit.dreamwidth.org/924291.html. Your comment? (comment count unavailable comments)
Программизм

Много ли ученику языков программирования надо?

 

Саша Соболев тут написал большой текст в контексте обсуждения пользы обучения программированию на примере C++. Текст правильный, но содержит много тезисов, и поэтому отвечать я буду на него примерно потезисно.


Дима, давай я тут отдельно объясню свою позицию, хотя я помню время, когда это не потребовалось бы. 


Я тоже помню (хотя и не застал) время, когда программирование было программирование вообще. Ну так Сайрес Смит в голове держал примерно всю практическую инженерию, и он был последним, кому это вообще удалось.


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


Я в принципе согласен, но адекватный уровень понимания для каждого языка и предметной области разный. Если ты пишешь на JavaScript/CSS, то до железа ты не доберёшься близко к совсем, и тебе не актуальны процессорные кеши, но крайне актуально знание размеров экрана и то, как в какой системе отображаются твои виджеты. А на C, да ещё выжимая каждую операцию досуха ради быстродействия, тебе надо знать, например, про векторные инструкции процессоров.

Ты написал "в школе будут учить С++". Вот если учить, тем более в школе, то есть нубов, то конечно С++ - хороший вариант. Не единственный. На плюсах сейчас работает людей меньше, чем раньше, и если кто решит быть программистом, то это будет, конечно, не единственный язык. 


Я тут понял, что единственное, для чего C++ хорош в образовательных целях — это для объяснения про классы, темплейты, контейнеры и алгоритмы. Что у нас бывают разные способы хранить кучу плюс-минус однородных данных, и где-то мы за это заплатим неудобством поиска, где-то проблемами со вставкой, где-то чем-то ещё. Но это примерно C++ 2003. Ну то есть это не C++, это C с классами и немного STL. И я не уверен, что C++ — методически самый лучший для этого язык.


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


Вот тут и согласен, и не согласен. Не компетентен судить про Erlang, но по другим языкам — часть граблей программист не заметит, но ими прилетит. 


 Течет память - либа тухлая, другую возьмем! Медленно работает - надо апгрейдиться! Ну а чего вы хотите - оно вот так работает! Скомпилить шаред библиотеку и подключить к своему проекту на Erlang/R/Python? Не ко мне 🙂 Ну хоть понять, что это можно реализовать как полагается на низкоуровневом языке и попросить того, кто умеет! Но это уже детали даже.

Это вполне релевантные детали в целом. А в частности всё сложно. Утечки памяти в современном языке с garbage collector надо очень стараться, чтобы организовать. Критичные по времени места уже реализованы на низкоуровневом языке и оптимизированы. Другой вопрос, что их можно неправильно использовать и править надо именно алгоритм. А для этого ещё и профайлить, о чём и профессионалы не всегда думают. А когда думают, часто получают неожиданный результат в том, где на самом деле находится узкое по времени место.

Самое серьёзное ускорение, которое мне довелось привнести, было в проекте на C++. Там товарищ делал обрезал начальные пробелы в строке, проходя с начала, и для каждого пробела двигал всю строку (довольно большую) на этот пробел влево.


С/С++/Pascal - отличные языки для изучения в школе. А над программерами, которые не считают нужным их знать, позволь мне посмеяться. Я не со зла, просто это действительно смешно.


Я не уверен, что тут надо знать именно языки, а не концепции. O-нотацию, например. А из этой тройки я бы сейчас оставил Паскаль, и сильно концептуально ограниченные подмножества.


This entry was originally posted at https://beldmit.dreamwidth.org/924021.html. Your comment? (comment count unavailable comments)
Манул

Вчерашней прогулкой по лесу навеяно

В рамках подготовки в войне в секретной лаборатории были выведены специальные виды мхов, растущие на южных сторонах деревьев. Сотни карателей в результате заблудились в лесах.

К сожалению, не все партизанские отряды получили инструкции из столицы, и поэтому потери среди них тоже были велики. This entry was originally posted at https://beldmit.dreamwidth.org/923831.html. Your comment? (comment count unavailable comments)
Программизм

Про интерпретируемые языки

За что я люблю C, так это за невозможность прострелить себе ногу способом «не то имя переменной». Есть масса других, не менее романтических, но этого — нет. У Perl есть use strict и -wc, у Python приходится прикручивать внешние линтеры.

Тут пришлось немного попрограммировать на bash, и после толпы ошибок системы «забыл пробел перед скобкой» я нашёл утилиту shellcheck - линтер для shell-скриптов. Написан на хаскелле, но это я переживу.

Ловит глупые и не очень ошибки. Я его поставил из buster-backports и запускаю с -S warning (в более древних версиях этой опции нет), а то он слишком много говорит. Понимает несколько shell-овских диалектов. This entry was originally posted at https://beldmit.dreamwidth.org/923605.html. Your comment? (comment count unavailable comments)