green_fr: (Default)
Разговорились за обедом с шефом. Он примерно моего возраста, школу закончил в начале 1990-х. Во Франции тогда была ещё обязательная воинская служба, но была возможность отдать долг родине через альтернативную службу. Он постулировал на помощника IT-шника (Винду ставить, принтеры подключать) на какой-то научной станции в Гвиане (это кусочек Франции в Южной Америке). Станция рядом с космодромом Куру, он видел старты Ариан-4, был там, когда взорвался первый Ариан-5 (1996 год), но самого взрыва не видел. У меня тут же в голове крутится параллель с моей базой в институте. Я был в ИКИ, это тоже 1996 год, и там тоже все ходили прибитые, потому что денег нет, еле-еле наскребли на Марс-96, который тоже взорвался. Все сидели и пили водку — если бы аппарат долетел до Марса, теоретически светили ещё какие-то деньги на исследования, а так...

Шеф рассказал, что провёл там 18 месяцев. Достаточно сложно без связи с родными. Хорошо, что мейл уже был. У них там помимо «нормальных» Виндов стояли какие-то странные машины Sun. Да ладно, не выдерживаю я! SPARCstation? Они самые. И там ещё UNIX был. Конечно, поддакиваю я, Solaris OS. У нас в ИКИ тоже почему-то именно такие же машины стояли. И связь с внешним миром была именно через них. Я там не только первый свой e-mail завёл (ank@d902.iki.rssi.ru — уже давно не работает, и это был единственный мой адрес не «green»), я там впервые увидел web-браузер. В ИКИ был выход в интернет, пусть и с какой-то смешной сегодня скоростью, мы шарились по FTP-серверам финских университетов, скачивали картинки, надеясь на эротику. Она тоже попадалась, но чаще какие-то котики / водопадики — тоже, впрочем, в памяти отпечатавшиеся.

А ещё, говорит шеф, в Гвиане нет разрешения на охоту (я проверил, с 2017 года есть). И очень простой подход к покупке охотничьего орудия. То есть, ты просто заходишь в магазин, покупаешь винтовку, идёшь в лес и охотишься. Он первым делом купил себе ствол. Кстати, говорит мне, никогда не догадаешься, как называлась моя винтовка! Калашников, говорю? Ну, почти что — «Байкал» (я посмотрел, это действительно охотничий бренд Калашникова). Ну и как, спрашивают все, кого ты там наохотил? Ну, говорит, каймана застрелил. Все на автомате смотрят, из какой кожи его ботинки — но нет, не крокодиловой. Застрелил, говорит, съели потом. И ещё какую-то птицу. Не сильно быстро летающую. Курицу, что ли? Ну, примерно :-) Мои трофеи и того скромнее — я максимум словил одну форель (достаточно позорная история из нашей поездки в Австралию), наверное это весь мой опыт охотника-рыболова.

А вообще, приятно было слушать. Провести полтора года на научной станции — мечта. Его регулярно брали с собой в какие-то небольшие экспедиции, ну или просто хотя бы рассказывали, что они там делают. Был этнограф, он изучал индейцев, регулярно уходил к ним на несколько недель (во Франции ты не можешь избирательно запретить людям заходить на открытую для других граждан территорию, поэтому у них там не резервации с запретом на вход для других людей, а ZAR = zone d’accès réglementé — не то, чтобы я видел сильную разницу). Был энтомолог с какой-то сумасшедшей коллекцией местных тараканов. Были биологи, ещё какие-то учёные, постоянно бравшие пробы воды и грунта.
В прошлом отделе у меня был коллега, который точно так же тепло вспоминал стажировку в астрономической обсерватории на Aiguille du Midi. Фантастически им повезло, конечно (я как раз досмотрел 6 сезон «Детства Шелдона», где его взяли на лето в Гейдельбергский университет :->)
green_fr: (Default)
Прекрасная история на работе. У нас над проектом работает 2 отдела. Один из дирекции инвестиций (DI), другой из страховой дирекции (DAP). Код проекта хранится в SVN, депозиторий назвали di — просто потому, что в тот момент я работал в DI, не подумал.

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

Но недавно наш герой увидел название депозитория и потребовал, чтобы к нему имели доступ только сотрудники DI. Почему? Потому что депозиторий называется di. В этом месте нельзя не вспомнить анекдот про пограничника и Fiat Uno, только у нас это не анекдот. Начальник отдела DI взял под козырёк, отослал мейл в DSI (информатики, управляют правами доступа), и на следующий день у нас не было доступа (собственно, откуда мы и узнали о внутренней жизни соседней дирекции).

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

Решили в итоге перекроить права доступа так, чтобы работники из DI имели доступ ко всему репозиторию, а работники DAP — только к части его. Сделали новые спецификации, отослали в DSI. Через день у нас снова были права, на выделенный нам кусочек. При этом работники DI потеряли все права целиком. Ещё день ушёл на то, чтобы починить права DI. Сколько денег / человеко-часов мы потеряли из-за этого анекдота, я не берусь посчитать.
green_fr: (Default)
Прошло 5 месяцев, как я сменил работу. Стиль очень сильно отличается от того, что было в предыдущем отделе. Причём и в профессиональном смысле, и в личном. Про личное сформулировать проще: в новом отделе люди разговаривают друг с другом :-) В старом накладывалось сразу несколько факторов: личность начальника (он правда не понимает, зачем вообще нужно разговаривать, когда можно не), состав отдела (одновременно ушло несколько человек, а те, кого нанимали с тех пор, были какими-то феерически неприятными в общении людьми), да я и сам не сказать, чтобы слишком уж горел или умел с людьми общаться (письменно мне это удаётся лучше).

Сильно отличается ритм работы. В прошлом отделе у меня не было практически никакой привязки к реальному миру, чистое моделирование. Или даже скорее разработка моделирования, потому что регулярные расчёты делал не я, то есть и к датам отчётов никакой привязки у меня не было. К слову о предыдущем параграфе: только уйдя в новый отдел, я узнал, кто в старом занимался этими расчётами, и в чём именно они заключались. На мне была только одна привязанная к реальному миру задача, для которой маржа по времени плюс-минус месяц. Здесь же очень чёткий производственный цикл: закрытие каждого триместра занимает практически весь первый месяц следующего, таким образом отпуск в январе / апреле / июле / октябре мне в ближайшие годы не светит. Скорее всего и в марте тоже, потому что это закрытие года.
Read more... )
green_fr: (Default)
В Европе лет 10 назад приняли закон о невозможности дискриминации тарифа страховых контрактов по полу человека. С нового года этот же закон начинает распространяться на так называемые «коллективные контракты» (типичный случай: работодатель подписывает контракт на всех своих работников — текущих и будущих — одним махом). Я как раз сменил работу, есть возможность разобраться, как это работает на самом деле.
Read more... )
green_fr: (Default)
Большое досье про квантовые компьютеры. Пересказывать несерьёзно, но некоторые побочные моменты мне хочется отметить.

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

Статья о задаче моделирования N квантовых тел — пример конкретной нужной задачи, в которой с одной стороны превосходство квантового компьютера очевидно, но при этом появляются какие-то алгоритмы для нормальных компьютеров, позволяющие и им делать какие-то вычисления. Если моделировать в лоб, то сложность волновой функции растёт экспоненциально N. Обычные компьютеры исторически справлялись с тривиальными конфигурациями (водород в вакууме — практически сферический конь), для интересных случаев долгое время надежда была только на квантовые компьютеры. Потом для 1-мерного варианта нашли решение (density matrix renormalization group). А потом нашли красивый хак (matrix product states): вместо того, чтобы описывать систему N-мерной матрицей (для тел с d возможными состояниями это d^N параметров), попробуем представить её в виде произведения N матриц меньшей размерности. И этот хак позволяет получать решения буквально на обычном компьютере.

Дальше авторы рассуждают о том, как именно можно было бы применить этот хак к системам большей размерности, а я вспомнил, как убил несколько недель на ровно этот же хак на работе. У нас самая ресурсоёмкая часть расчётов оперирует матрицей K*S, где K — количество клиентов в портфеле, а S — количество моделируемых сценариев. Очевидно, что подавляющее большинство операция одномерно либо по первому измерению (например, финансовые показатели не зависят от личности клиента: если мы заработали 3%, значит мы дали всем по 3%), либо по второму (например, показатели смертности — вероятность умереть зависит только от возраста, а он для каждого человека одинаков во всех наших сценариях). К сожалению, я наткнулся на операцию, которую я не смог выразить как последовательность одномерных операций (достаточно техническая вещь: распределение некоей суммы, которая зависит от сценария, но распределяется в зависимости от характеристик клиентов). А переводить на одномерные операторы только часть расчётов приводило к ужасной сложности кода — и я забил.

В статье при этом рассматривают ещё одну интересную мысль: работать не с общим случаем, а пытаться понять, какие упрощения оставляют нам все более-менее интересные варианты. Красивая иллюстрация: архиватор в общем случае не работает (Дирихле не даст соврать), но на практике все реальные файлы сжимаются. Тот же jpeg — все интересные человеку фотографии прекрасно компрессируются, и всем плевать, что в общем случае (белый шум) алгоритм никакого выигрыша не даёт. Точно так же и с системой N квантовых тел, если мы, например, работаем с их запутанностью. В общем случае да, каждая частица может быть запутана с любой из оставшихся. Но на практике нас интересуют только системы, где запутанность связывает частицы, находящиеся относительно недалеко друг от друга. И в этой формулировке вроде как получилось посчитать какие-то 2D конфигурации. Это тоже очень полезная мысль, надо постараться держать её в голове в следующий раз, когда я примусь решать на работе задачу «в общем виде». Привычка есть, и вообще сложно оставлять в голове возможность того, что мой алгоритм не работает в общем виде (последний пример: пост про Advent of Code 2022, где я возмущаюсь человеком, схалявившим в решении 16-й задачи, в то время как я искал общее решение — но у него при этом получился ответ, а у меня-то нат).

В этой же статье упоминают «нотацию Пенроуза» — английская Википедия рассказывает какие-то ужасы, в русской Википедии вообще тишина. Нашёл описание на другом сайте. Очень удобное графическое изображение операция с многомерными матрицами. Надо будет обязательно принести эту нотацию на работу!
green_fr: (Default)
Я меняю работу, перехожу в соседний отдел. Остаюсь актуарием, но буду заниматься не финансовым риском, а риском страхования жизни. Учитывая, что у актуариев есть три специализации, и третья у меня была перед нынешней — в этой игре я собрал все баджики.

В старом отделе существенно больше моделирования (читай: программирования). В новом отделе существенно больше учёта (читай: работы с данными). Новый отдел существенно ближе к реальной жизни — в старом я иногда уже затруднялся самому себе ответить на вопрос, чем мы тут занимаемся, и кому это нужно. Ну, то есть формально всё понятно, но слишком уж сферические у нас получались кони. В новом отделе (пока что кажется) все процессы существенно лучше прописаны, но при этом практически не продуманы. Какой-то хаос из тысячи мелких друг на друга завязанных задач — это прекрасно распределяется и делегируется, но совершенно невозможно изменить или хотя бы модернизировать (этим, наверное, я и буду заниматься). Тогда как в старом отделе процессов вообще практически не было — у нас было очень мало периодических задач, и при этом мы каждый раз к ним подходили как к новым. Новый отдел существенно больше — человек на 10 (не хватает троих: один я, ещё одна должна вернуться из декрета, ещё одного ищут). Старый отдел был на 5 человек (не хватает двоих, плюс я ухожу, но ещё одну девчонку уже наняли, скоро будет).

У меня обычно на одну должность уходило ~2 года (первые 6 должностей = 14 лет), нынешний отдел — явное исключение (ещё 14 лет только в нём). Понятно, что я узнал здесь много нового, и каждый год было что-то новое, ну и вообще уникальное место. Но всё равно, у меня появилось ощущение, что я «засиделся». Какой-то излишний комфорт, когда ты знаешь, что ты уверенно справишься с практически любой задачей. А я люблю учиться новому, люблю ощущать границы собственной компетентности. Как я говорю на работе: нельзя вечно сидеть на одном месте, иначе из тебя рано или поздно получится Путин. Когда ты уже не сможешь уйти с того места, на котором сидишь.

Должность в новом отделе лучше конвертируется, потому что такие отделы есть буквально в каждой страховой компании, тогда как мой текущий отдел — практически экзотика. Что-то похожее есть во всех страховых компаниях и банках, но обычно всю теорию и всю разработку отдают крупным монстрам (например Moody’s), ну или собственной дирекции информатики. Это у нас шеф решил всё делать своими руками — не знаю, насколько это осмысленно для компании, но лично мне было интересно. С другой стороны, насколько мне эта конвертируемость нужна, непонятно. Судя по всему, у нас в компании хорошо платят: я несколько раз подавался в разные компании, и когда меня готовы были куда-то брать, платили там в полтора, если не в два раза меньше. С этой точки зрения смена работы без смены компании хороша — у нас при внутренней мобильности заплата остаётся той же, куда бы ты не переходил.

Официально перехожу с 1 октября, но график сложный: в новом отделе запарка в июле и октябре, а в нынешнем отделе запарка в ноябре. Поэтому договорились, что меня в июле на полмесяца занимает мой будущий отдел, а в ноябре он меня предоставит назад на полмесяца отделу нынешнему. Чувствую себя футболистом во время переговоров о трансфере (переговоры с апреля длятся). Соответственно, планы на ближайшее будущее: июль — смотреть и учиться, как мои новые коллеги закрывают второй триместр (я этим буду заниматься в третьем), ну и отпуск, конечно (Австрия). Август-сентябрь — принять новую девочку в старый отдел и попытаться довести её с нуля до максимальной автономии, ну и отпуск, конечно (Ирландия и Франция). Октябрь — закрывать с новыми коллегами третий триместр, ну и отпуск, конечно (Египет и Германия). Ноябрь — смотреть, как обученная мною девочка сдаёт ORSA — с отпуском пока что не определились :-)

Несколько дней назад на LinkedIn опубликовали объявление о найме на моё место. В списке обещанных благ служебный автомобиль, по коему поводу все ржут и в старом отделе и в новом.
green_fr: (Default)
В MatLab есть функция isa(object, className), которая проверяет, является ли данный объект «совместимым» с указанным классом (либо объект самого класса, либо объект одного из наследующих классов). Оно само по себе плохо, иметь код с такими проверками, но так уж получилось, у нас такое есть. Например, когда в одном файле хранятся объекты разного типа (скажем, актив и пассив), а я хочу прочитать их и сделать какую-то операцию только с объектами определённого типа (скажем, только с активом, посчитать общую сумму). Я мог бы базироваться на имени переменных, но это для меня ещё хуже, чем проверять тип данных.

Так вот, функция isa. Проблема для меня в слове «name» — я не люблю использование строк в этом контексте. Например, если я поменяю название класса, я хотел бы, чтобы функция isa не просто отвечала «ой, нет», а выдавала ошибку «не знаю такого класса» (причём лучше даже ещё на этапе компиляции). Ну и всякие там утилиты рефакторинга (предположим, они когда-нибудь появятся и для MatLab) лучше бы работали, если бы это была не просто строка, а прямая отсылка к классу.

При этом за последние годы в MatLab дописали много связанного с reflexion, полез в RTFM. Вижу, что есть класс meta.class, у которого есть свойство Name — это же то, что мне надо! Осталось понять, как получить объект этого класса, соответствующий нужному мне классу. Откопал, что есть какой-то убогий синтаксис ?MyClass. Убогость его в том, что эта конструкция вырывается из общей структуры программы на MatLab — что за вопросительный знак? Почему это нельзя было хотя бы оформить в виде свойства или метода (как это сделали в java)? И таки да, за счёт этой убогости я не могу прицепить эту инструкцию к последующим вызовам. То есть не работает не только двусмысленный ?MyClass.Name, но и очевидный (?MyClass).Name. Только через временную переменную: сначала meta = ?MyClass, а уже потом meta.Name.

Пишу в support. Пускай, если не покажут как сделать, то хотя бы запишут запрос для следующей версии.

Первый ответ. Да, лучше всего использовать временную переменную. Но можно и без неё. Объект класса meta.class можно получить не только через класс, но и через объект этого класса. См. метод class(myObject). А если у вас нет под рукой объекта нужного вам класса (нет, у меня в этот момент его как раз нет), то вы можете попытаться схитрить и написать class(MyClass()) - при условии, что у вашего класса есть пустой конструктор. Нет, и пустого конструктора у меня тоже нет. Более того, у меня куча абстрактных классов, так что даже создать пустой конструктор исключительно для этого использования — это не вариант.

Второй ответ. Вы знаете, мы тут посоветовались с разработчиками, и к вашей проблеме можно подойти с другой стороны. Вы уже знаете, как получить meta.class нужного вам класса: ?MyClass. И у вас есть объект, для которого вы тоже можете получить meta.class его класса: class(myObject). Осталось только сравнить эти два мета-класса, а для этого у нас есть операторы «>=» и «<=»! Стоп, думаю. Они мне что, предлагают тупо проверять на идентичность два объекта класса meta.class? А если у меня класс объекта наследует от проверяемого класса: это совместимые, но разные классы, объекты их meta.class будут разными.

Прежде чем выругаться «что вы меня, за идиота держите?!», проверяю — а оно работает. Реально, я могу арифметически сравнивать два объекта meta.class, и наследующий класс строго меньше наследуемого, а наследуемый строго больше наследующего. При этом, если сравнивать два класса из разных ветвей, то любое сравнение (больше, меньше, равно) будет выдавать негативный результат.

Пишу в ответ: хмм... спасибо, это, конечно, работает, но выглядит каким-то безумным хаком. Это хотя бы где-то документировано? Или просто «так получилось»? Основывать свой функционал на таких соплях, которые, возможно, уже в следующей версии перестанут работать, лично мне страшно. Приходит ответ: ну что вы, конечно это фича!

Тикет закрыли. Но учитывая, что изначально я стремился к большей лёгкости управления кодом (представил себе, как я буду объяснять эту строчку коллегам...), применять новые знания я не стал :-)
green_fr: (Default)
Пришёл мне по работе файл со странной датой. Показывает «17/03/2025», но когда кликаешь на эту ячейку, в строке формул показывает значение «16/03/2025 00:00:00».

Пытаюсь понять, что происходит. Снимаю формат даты — значение 45733. Пишу в соседней ячейке ручками «45733». Ставлю назад формат даты: обе ячейки показывают «17/03/2025». Но когда кликаешь в мою, в строке формул остаётся «17/03/2025», а в той ячейке — «16/03/2025 00:00:00». Побаловался с форматами, показывающими время — без проблем, может показывать «00:00:00» и в моей тоже.

Ладно, думаю, может быть моё 45733 чем-то отличается от их 45733? Ставлю рядом формулу разности между двумя ячейками — 0. Честный ноль. Не какое-то там 10E-10.

Достаём козыри. К чёрту Excel, мало ли что он там мудрит. Надо смотреть на исходные данные. Сохраняю файл, состоящий из этих двух ячеек. Открываю его в Total Commander как zip, спускаюсь до «xl\worksheets\sheet1.xml», открываю XML в текстовом редакторе, а там такая прелесть:

<sheetData>
  <row r="1" spans="1:1" x14ac:dyDescent="0.35">
    <c r="A1" s="1">
     <v>45732.999999999993</v>
    </c>
  </row>
  <row r="2" spans="1:1" x14ac:dyDescent="0.35">
    <c r="A2" s="2">
     <v>45733</v>
    </c>
  </row>
  <row r="3" spans="1:1" x14ac:dyDescent="0.35">
    <c r="A3">
     <f>A2-A1</f>
     <v>0</v>
    </c>
  </row>
</sheetData>
  


То есть в двух ячейках примерно одна и та же дата — полночь с 16 на 17 марта. Только у меня точно полночь. А в другой ячейке — несколько микросекунд до полуночи. То есть, формально у меня 17 марта, а у них — 16 марта. Проблема в том, что их время 23:59:59.99999999 округляется не до 24:00:00, а до 00:00:00. Ну и то, что (из-за особенностей внутреннего формата хранения данных) 45733 — 45732.999999999993 реально равняется 0, а не 0.0000000000007 (поэтому я не мог увидеть эту разницу в Excel).

Собственно, проблема была исключительно потому, что наша программа не работает с datetime, поэтому я приписал инструкцию отбросить время в прочитанной дате. Что эквивалентно округлению вниз — в данном случае округлялось до 16 марта. Придётся переписать с округлением к ближайшей дате.


Читаю сейчас книжку от автора StandUp Math. У него вообще прекрасный пример. Наберите, говорит, в Excel формулу «=0.5-0.4-0.1». Он посчитает «честный ноль». А теперь наберите «=(0.5-0.4-0.1)*1» — и вы увидите что-то вроде 1E-17, потому что числа 0.4 и 0.1 не записываются в двоичной системе без округления (примерно потому же, почему нас не удивляет, что конечная запись 1/3+2/3 не даёт ровно 1: 0.33333333+0.66666666=0.99999999). Почему же в первом случае получается 0? Видимо, Excel в этом случае не считает по-честному, а каким-то образом понимает, что там должен быть ноль — и показывает его. А умножение на 1 ломает его эвристику, он не узнаёт формулы, начинает считать — и получает «логичный» рудимент округления.
green_fr: (Default)
У нас тут решили продвигать марку SMA в LinkedIn, запустили кампанию: кто лучше всех будет нахваливать нашу контору в ноябре-декабре, тому подарят айфончик :-) Мы с коллегами похихикали, конечно — половина не представляет, что такое LinkedIn, вторая половина — что мы там можем писать о нашей компании.

А сегодня профком (CSE) прислал рассылку, которую я с удовольствием и расшарил бы в LinkedIn, но поскольку ещё не ноябрь, буду довольствоваться бложиком. Профком решил пожертвовать 18K€ ассоциации, занимающейся приёмом беженцев. На конкретный проект: интернет для беженцев (проведение и раздача интернета в местах приёма беженцев, курсы по использованию сайтов французской администрации).

В рассылке уточняют, что они имеют право распоряжаться деньгами по своему усмотрению (до 10% годового бюджета могут жертвовать, кому угодно). А также, что конкретно это сумма — это невостребованные субсидии прошлого года работникам компании на питание. Вместо того, чтобы просто вернуть их в общий бюджет, деньги решили пожертвовать. Аналогично думают о том, чтобы куда-то подарить невостребованные субсидии на отпуск.
green_fr: (Default)
Я очень люблю рассматривать опечатки и пытаться понять, откуда они взялись — где-то кнопки рядом на клавиатуре, где-то транслит заглючил, где-то левая рука с правой перепутались. Вчера в моей коллекции появился новый тип опечатки, типично французский.

У нас на работе телефон технический поддержки 77100. Я наткнулся на ошибку программы, где мы можем запрашивать себе курсы повышения квалификации (хочу подучить бухгалтерию страхования жизни, там много неочевидного, а мне это моделировать), написал мейлом свой запрос, уточнил, почему не могу сделать запрос через приложение. Мне ответили просьбой сообщить об ошибке в службу поддержки, телефон 70700.

Оба номера по-французски читаются примерно одинаково: soixante-dix-sept-cent. Вопрос лишь в интонации, в длине пробела.
Если soixante-dix-sept----cent, то выходит 77100. А если soixante-dix---sept-cent, то 70700.
green_fr: (Default)
В Institut des Actuaires сделали доклад на эту тему, как можно было не послушать? :-)

В двух словах, человек пытается показать, что смертность от ковида пропорциональна обычной смертности (слайд 5). Под «обычной» смертностью он подразумевает «смертность без учёта смертей от внешних причин» — убийства, самоубийства, автокатастрофы и пр. То есть «смертность от болезни, по здоровью». В этом смысле очень интересно посмотреть на график «общей» смертности и «обычной», точнее на их расхождение. И задуматься, какой же фигнёй занимаются мальчики до 40 лет, что у них такая огромная «смертность от внешних причин»? Никакого сюрприза, конечно, но всё равно, впечатляет увидеть этот график своими глазами.



В качестве модели смертности от ковида автор предлагает простую формулу AIR: X = A*I*R, где X — смертность от ковида, A — общая смертность, I — множитель заражения, R — множитель смертности заражённого. Сама по себе модель может быть, конечно же, какой угодно, интересно поведение этих множителей от различных факторов. Если они меняются индивидуально, от человека к человеку — то никакого интереса такая модель не представляет. Если же видны какие-то константы или хотя бы закономерности — модель можно использовать в предсказательных целях.

Дальше автор разбивает людей на группы по возрасту и по тому, что во Франции называют groupe socio-professionnel, то есть какие-то однородные по своему составу (характеристики, поведение и пр.) группы. В отличие от Франции, в Великобритании (автор из Эдинбурга) не стесняются расовой классификации, поэтому там не только сегментация по доходам, образованию и типу работы (рабочий, колхозник, офисная крыса, начальник, артист, пенсионер, безработный), но и этнические группы.

И вот выходит, что R очень слабо зависит от всей этой классификации. То есть, когда мы говорим «от ковида умирают только старики», это можно переформулировать как «ковид убивает в z раз больше обычного, а обычно умирают только старики, поэтому на стариках эффект ковида виден лучше». Тут автору задали вопрос про разные медицинские эффекты — насколько больше умирают те, у кого и так уже есть какие-то проблемы со здоровьем. Он ответил чуть позже, на странице 17, примерно в том же духе: да, люди, у которых лишний вес, диабет и прочее, они быстрее умирают от ковида — но и без ковида они умирают быстрее. Точно посчитать у него не получается (сложный доступ к данным), но не факт, что будет какой-то другой результат.

Фактор I ведёт себя достаточно предсказуемо. На странице 12 автор приводит несколько определяющих его значение параметров:
* От пола он практически не зависит
* Очень слабая зависимость от уровня доходов (но всё же, чем меньше денег — тем больше риск, об этом он поговорит позже)
* Возраст влияет — молодёжь (18-24 года) заражается существенно проще, чем остальные категории населения. От себя добавлю: то ли из-за стиля жизни (тусовки, вечеринки), то ли потому что они неправильно поняли, почему смертность видна только на стариках (нам пофиг, ковид молодых не задевает!)
* География конечно же влияет — с точки зрения I лучше жить в жопе мира, чем в центре Лондона
* Раса влияет — у белых I самый низкий. Но тут тоже он позже попытался декоррелировать от всего остального
* У мед. персонала I вдвое больше среднего. Но самый ужас — у client-facing care home worker (я не совсем понял английский термин — это те, кто, условно, ухаживает за стариками, или уборщики дома туда тоже попадают?), у них I втрое больше.
* Вполне предсказуемо, что с размером семьи (количество людей, живущих под одной крышей) I тоже растёт. Эффект чисто математический, но не он ли объясняет постоянно всплывающую в израильских блогах тему о том, как «религиозным всё пофиг»? Может, у них больше заражённость только потому, что семьи большие, а не из-за какого-то их особого поведения?

Слайды 13-15 разбирают эффект дохода. Обычная смертность растёт с уменьшением доходов — это всем известный факт (серые прямоугольники). Смертность от ковида (синие прямоугольники) тоже растёт с уменьшением доходов, и даже кажется, что она растёт существенно быстрее, особенно на последних трёх децилях. Но мы видели, например, что в Лондоне ковида было существенно больше, чем где бы то ни было по стране, и при этом именно в Лондоне же больший процент бедных людей. Если попытаться декоррелировать хотя бы географический фактор (тут сложность из-за разной детализации данных — здесь автор вынужден перейти к данным общей смертности, он не смог исключить смертность от внешних причин), то эффект бедности становится существенно меньше: красные полоски — общая смертность, серые — наблюдаемая смертность от ковида, жёлтые — после того, как убрали эффект географии.




Вторая тема доклада — насколько можно говорить просто об ускорении смертности? То есть, нет ли такого эффекта, что от ковида умирают те, кто и так умер бы — не в этом году, так в следующем? (Майк, привет, это твоя тема!) В таком случае общий эффект на населении был бы существенно ниже — повышенная смертность этого года практически компенсировалась бы пониженной смертностью следующего. Понятно, что мы предполагаем, что эпидемия когда-то остановится. Ключевой вопрос долгосрочных последствий болезни на не имевших никаких осложнений больных ковидом — но вроде как пока что нет никаких оснований уверенно утверждать, что такие последствия есть.

В такой постановке задачи достаточно цинично, но очевидно, что ковид «оздоравливает» выжившую популяцию. Как лиса в курятнике: если она съела самых слабых, то в живых остались самые сильные. Дальше автор пытается построить модель и численно оценить этот эффект, но мне эта часть показалась не такой интересной. Да, с точки зрения актуария (принятие решения о сценариях смертности) это очень важный вопрос, но насколько же там всё вилами на воде писано. И даже в построенных и откалиброванных по имеющимся данным моделях эффект получается слабым. Так что эту часть можно пропустить.

Интересен слайд 25, где автор пытается сделать какие-то выводы о грядущей смертности, исходя из общих соображений:
* От рака и прочих болезней смертность должна краткосрочно вырасти — во время ковида люди перестали диагностироваться и лечиться
* От болезней дыхательных путей смертность может снизиться — эффект «умерли самые слабые». При условии, что мы не обнаружим какого-то супер-разрушающего эффекта у переболевших ковидом здоровых людей
* Есть совершенно неоцениваемый эффект научного прогресса — денег в исследования сейчас вбухали без счёта. Аналогично с деньгами в развитие медицины — дай бог, чтобы эти бюджеты оставались с нами подольше
* Эффект смены паттернов поведения тоже нереально предсказать. Кто-то перестал стрессовать по пути на работу, а кто-то перестал заниматься спортом. И уж точно все стали больше пить алкоголя (добравшийся до этого места читатель может нервно похихикать и задуматься)
* Экономический эффект — я ожидал, что автор упомянет специфику Франции, где ковид практически не отразился на уровне безработицы (у нас государство вбухивает в поддержание рабочих мест ещё больше денег, чем в исследования), но по Великобритании он прошёлся — на смертности эффект от безработицы явно будет виден
green_fr: (Default)
На работе пошла постепенно обратная тенденция. Домой ещё не выталкивают, но изначальный настрой «скоро свернём карантин» пропал. Ещё летом, когда нас подталкивали к возвращению в офис, оставили максимум два дня удалёнки в неделю, но как бы на переходный период, только до середины сентября. Потом продлили до конца октября, потом увеличили до трёх дней. Сегодня уже — пока неофициально — говорят о возврате на 100% удалёнки.

Наш шеф при этом откровенно не умеет работать с нами удалённо. И как следствие — не любит. Официально запретить он не может, но изо всех сил тормозит наши попытки работать из дому. До такой степени, что приходится продавливать свою точку зрения: я понимаю, что тебе некомфортно так, но мне некомфортно эдак, давай искать компромисс. Формально я могу, конечно, и потребовать (право на удалённую работу чётко проговорено в новых правилах), но кто же хочет по пустякам с начальником ругаться? В итоге шеф согласился, но понавтыкал палок везде, где смог: я ему буду присылать каждую неделю мейл с указанием дней, когда я работаю из дому, а также описание причины, почему именно я хочу работать из дому в эти дни. С уточнением, что причина должна иметь какое-то отношение к эпидемии. Причина у меня одна: минимизация времени в транспорте, с припиской, что в нашем автобусе нет никакой возможности соблюдать дистанцию безопасности :-)

Под эту же схему подстроился J — он и так официально по пятницам работает из дому, положенные на время эпидемии дни просто увеличили количество дней, когда он дома. Остальные ходят в офис каждый день. Им при этом и недалеко, и у обоих дома есть какие-то причины, почему в итоге в офисе работать удобнее.


Спорт закрыли. Наши внутренние спортивные секции в сентябре так и не открылись, а спортзал какое-то время поработал, но потом попал под очередную раздачу от правительства и закрылся. Тоже «временно, на две недели», но постоянно продлевают. Новый абонемент можно не покупать.


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

Звоню в лабораторию. Можно у вас сдать тест? Конечно! Когда приходить? Каждый день с 8:30 до 10:00 без записи. Когда будут результаты? А кто же его знает, в среднем дней 5-6, но в последнее время всё быстрее и быстрее, рассчитывайте на 4 дня.

А это важно, потому что Германия чётко пишет, что в момент пересечения границы у тебя должен быть тест, сделанный не ранее чем за 48 часов до этого момента. Лагерь начинается в пятницу. Традиционно мы выезжали в четверг вечером, ночевали перед границей, и в пятницу доезжали до лагеря. То есть, результаты теста нам нужны самое раннее в среду утром, а самое позднее — в четверг вечером. Ок, делаем тест в субботу, воскресенье выходной, глядишь всё получится.

Приходим в лабораторию, там человек 10 в очереди. Достояли, нам говорят, что результат будет в течение 2 дней. Я говорю, что могу взять пару дней отпуска, погуляем по Германии, навестим друзей. Натанкина из школы мы превентивно отпросили с формулировкой, что точные даты сообщим накануне отъезда. А Анечка ни в какую — у неё работа, она и так не уверена, что поедет, тем более она точно не поедет заранее. Ну, значит делаем тест мы с Натаном, а Анюта придёт в понедельник.

Тест ужасный. Ну, то есть не так, чтобы нестерпимо больно, были у меня в жизни и похуже тесты. Но тебе залезают палочкой в такое место, где ты не ожидаешь ничего встретить. И вот эта щекотка / чесотки очень остро воспринимается. Руками туда не залезешь, головой дёрнуть страшно, как дышать непонятно. Хорошо, что длится недолго. Но слёзы из глаз просто брызжут.
Мальчик — герой. И мотивированный: чего ради друзей не вытерпишь :-)

В понедельник утром Анюта пошла тоже сдавать тест, а уже вечером пришли наши результаты. Результаты предсказуемо отрицательные, но пришли слишком рано — выезжать нужно максимум во вторник. А тут во Франции подняли ещё на один шаг уровень опасности (когда закончились цвета, и ты уже в «красной» зоне, начинают играть оттенками, теперь у нас зона «ярко-красная»). Ну и мы как-то подумали, что нет, неправильно это — разносить потенциальную заразу по всей Европе. Написали Оле, извинились, отменили.

А уже потом пришли Анечкины результаты — у неё ковид.

Продолжение следует, а то и так долгий пост. Спойлер: всё кончилось хорошо, Анечка выздоровела, мы не заболели.
green_fr: (Default)
Решил съездить сегодня на работу. Формально нам уже свернули дистанционную работу, на переходный период оставили максимум один день в неделю. Но смысла в этом я пока никакого не вижу — нам из дому работать только удобнее. Начальник, пока он в отпуске, тоже не настаивает :-) Поэтому лично я продолжаю работать в предыдущем режиме: минимум один день в неделю в офисе, остальное из дому.

В офисе видно какое-то послабление, в основном на лифтах: туда пускают уже по 4 человека, а не по 2; плюс отменили выделенные направления — раньше одни лифты работали только на подъём, другие -только на спуск. В столовой всё так же: выдают поднос уже с приборами, салфеткой и бутылкой воды (стандартные краны не работают), закуски и десерты завёрнуты плёнкой. Но хотя бы за одним столом можно сидеть — не рядом, и не напротив, но в шахматном порядке можно.
В офисе встретил пару приятных коллег — тоже хорошо.

Сходил с спортзал. Формально на занятие обязательна запись, но у меня записаться не получилось (сайт глючит), а пока со мной разбиралась поддержка, осталось меньше часа до занятия — запись минимум за час. Сказали: приходите так, там всё равно никто не проверяет (система внушает доверие), к тому же 30-40% заказавших не приходят.
Пришёл — а зале чётко размеченные и пронумерованные места, где стоять. В принципе, это даже лучше — конкретно это вот занятие (Body Jam) меня раздражало именно концентрацией людей, когда друг у друга буквально на головах стояли. Но летом и так всегда было хорошо — что будет с сентября, когда / если все вернутся в офис, непонятно.
Во время занятия словил, кажется, поток так давно уже обещанных мне эндорфинов. Люди обычно рассказывают о кайфе от бега — а меня, видимо, прёт просто от физических занятий под громкую музыку. Может, на дискотеку ходить вместо спорта? :-)

Распечатал разных нужных дома бумажек — надо, наконец-то, разобраться с принтером. Мы печатаем по паре листов в месяц, струйники дома есть, но за месяц простоя у них все картриджи / головки засыхают, и каждая страница выходит золотой. Пока ездили на работу, проблемы не было, а за время карантина мы успели поприставать ко всем соседям. Надо купить какой-нибудь лазерник — они, вроде, не так быстро засыхают.
Интересно, есть уже сервис, когда ты посылаешь файл по электронной почте, а тебе назавтра приходит распечатка обычной почтой?

А вообще, странное ощущение от работы в офисе. При том, что я всегда был скорее против дистанционной работы. Очень глупым выглядит потеря времени на дорогу. Сегодня я на велосипеде — типа спорт, ну и книжку слушаю по пути. Равно как и в электричке формально время не тратил — читал. Но после долгого перерыва даже такое использование времени кажется глупым. Так что правильно нас в офис вытаскивают. Пока всё окончательно не атрофировалось.

И при этом какое-то ощущение неправильности. Вроде как эпидемия не побеждена, куда лезем? Тоже, наверное, ни на чём не основанное ощущение. Скорее всего, какой-то необоснованный страх. Боязнь уже ставшего непривычным. И это тоже аргумент постепенно возвращаться в офис.

update 19/08/2020: Снёс к чёртовой бабушке конспирологический флейм - простите все, участвовавшие в нём, но меня эта тема (и эта форма) здесь не интересует.
green_fr: (Default)
Карантин официально закончился месяц назад, но на работу пускают постепенно. Сначала, конечно же, занялись теми, кому нереально работать из дому — эксперты, которые должны выезжать на место строительства, например. Мы в списке приоритетов были явно в самом конце: встреч даже внутренних у нас крайне мало, да и вся инфраструктура уже настроена так, чтобы мы могли работать из дому.

Тем не менее, неделю назад прошёл мейл от генерального директора в духе: надо постепенно возвращаться к нормальной жизни, восстанавливать связи с коллегами, с работодателем, с рабочим местом. Наш шеф переформулировал: хотя бы раз покажитесь до середины июня, ну и потом неплохо было бы хотя бы раз в неделю показываться в офисе. Слово шефа — закон, я собрался и поехал.
Read more... )
green_fr: (Default)
У нас на работе новый человек, имя Нусрет, а фамилию я до сих пор не выучил — он курд :-) Молодой, инициативный, пока ещё даже математику любит. В какой-то момент рассказал, что с нетерпением ждёт выхода очередного тома своей любимой серии книг по математике — я заинтересовался, он притащил мне два томика на почитать. Явная популяризация математики (хотя бы исходя из названия — это записи каких-то публичных уроков-выступлений), но такого уровня, что мне очень сложно следить. Если какую-то тему знаешь хотя бы в общих чертах, то крайне увлекательно. А если какая-нибудь алгебраическая геометрия, о существовании которой ты узнаёшь из названия, а потом не понимаешь даже вводной главы — то да, до конца дочитать у меня не получалось. В итоге из 12 уроков пару осилил целиком, ещё 3-4 напополам, а всё остальное — так, рассматривал картинки.
Тем не менее, второй том тоже «читать» буду, и остальные как-нибудь стрельну.

Урок об использовании дифуров в биологии. Пишут про Тьюринга, объяснявшего полоски зебр через дифуры — а я вспомнил об аналогичной статье, в которой показывали, как разные параметры одного и того же уравнения дают разные результаты. И как на практике описанный дифуром процесс даёт полосочки на хвосте у ягуара — и пятна на всей остальной тушке.

Урок по оптике призмы. В первой части разбираются возможные «популяризаторские» объяснения, почему свет преломляется при смене среды, и почему эти объяснения не работают — я тут же вспомнил свою курсовую в институте, когда я набрал кучу «объяснений» зеноновских парадоксов и разбирал, в чём ошибка каждого из них (мне до сих пор кажется, что мало какое объяснение справедливо).
А в какой-то момент автор упоминает конечность скорости света, а также то, что её обнаружили ещё в XVII веке в ходе наблюдений спутников Юпитера. Я полез в Википедию — и таки да, это тот же эксперимент, о котором я уже писал. Идея в том, чтобы использовать спутники Юпитера как точные часы во время морских плаваний. Начиная с какой-то точности астрономы заметили, что затмения наступают немного быстрее, когда Земля ближе к Юпитеру, и сделали из этого вывод о конечности скорости света. 1676 год. Оценили скорость, ошиблись всего на четверть.

Несколько раз уже встречал понятие производящей функции последовательности, и всякий раз всё это выглядит как какое-то волшебство. У меня нет, наверное, ни времени, ни желания разюбираться с серьёзным университетским курсом на эту тему, но такие вот статьи всякий раз читаю с удовольствием. Пусть и нереально уследить за всеми этими переходами — реально как в научной фантастике, когда люди прыгают из пространства в пространство через какие-то порталы. Ну или как в машинном обучении, когда после анализа текста удаётся поставить каким-то словам в соответствие векторы, и на этих векторах работает обычная математика: «Москва» — «Росия» + «Франция» даёт «Париж». Фантастика :-)

Просто приятная задачка о «заражённой площади»: предположим, у нас есть какой-то выпуклый полигон площади S и периметра L, в котором есть какие-то бактерии / муравьи / некий источник чего-то, распространяющегося во все стороны с единичной скоростью. И «заражающего» каждый фрагмент пространства, до которого оно дотягивается. Посчитать «зараженную площадь» через время t. Получается S + Lt + πt² — доказательство красивое, можно детям в школе показывать.
В статье привели эту задачку для дальнейшего изучения свойств, связывающих площадь с периметром. Например, пишут, дискриминант этого квадратного уравнения равен L²-4πS, а он должен быть больше нуля (либо равен нулю), что даёт нам очень важное свойство, показывающее, в частности, что среди всех фигур одинакового периметра максимальная площадь будет у круга (ну или как минимум она будет такой же, как у круга — доказать, что эта площадь только у круга нетривиально).
А я задумался о физическом смысле этого положительного дискриминанта. Это означает, что есть корни — но что обозначают эти корни? Время t такое, что заражённая площадь равняется нулю? Эти корни действительно отрицательны — но можем ли мы говорить, что было какое-то время, когда зараза только начала распространяться из точки (нулевой площади)? Это же неверно — если бы такое произошло, у нас в любой момент времени был бы заражённый круг, а не произвольный выпуклый полигон, как в момент времени t=0. Не говоря уже о смысле второго корня квадратного уравнения — он чему соответствует? А если у нас нет физического смысла этих корней, то с чего мы взяли, что они вообще существуют? То есть, что дискриминант обязательно будет положительным?
green_fr: (Default)
Столкнулся с неожиданной для себя проблемой. Есть у меня файл html, в котором все картинки Base64, то есть определены прямо внутри этого же файла. И я эти картинки никаким приличным способом не могу скопировать оттуда в, например, Word.

1. Простой copy-paste не работает.
2. Открыть файл сразу в Word — открывает, но картинки не показывает.
3. Открыть файл в браузере и сохранить в другом формате — перепробовал все опции в IE / Edge / Chrome, ничего не работает, всегда сохраняет в том же формате, как и был изначально.
4. У IE есть опция «редактировать страничку в Word», но она просто не работает.
5. Можно конвертировать картинку одну за другой — в интернете есть полно сервисов: копируешь Base64 в окошко, появляется кнопка «скачать картинку». Но у меня там картинок чуть больше, чем дофига, а операцию, скорее всего, придётся повторять неоднократно.
6. Вопрос однозначно не имеет никакого отношения к защите картинок — файл сгенерил я сам (MatLab LiveScript -> Export to html).

Проблему я в итоге решил через экспорт в LaTeX. Но что всё это вот было? Мои кривые ручки? Или считается, что реально никому никогда не нужно копировать картинки, которые в Base64?
green_fr: (Default)
У нас уже несколько недель забастовки. Причина — очередная попытка реформировать пенсионную систему. Я смотрел предложения правительства по диагонали, потому что распутать этот клубок (изначально призванный не только обеспечить финансирование, но и упростить нынешний зоопарк) сложно — там предложения реформ смешались с многочисленными костылями, которые соответствуют каким-то давним дискуссиям, былым договорённостям и прочее и прочее. В диагональном прочтении реформа прекрасная, но и здесь я не уверен, кажется они мне такой, потому что я давно её ждал, потому что мне нравится нынешний президент, или потому, что у меня просто фантазии не хватает представить альтенативные варианты (а оппозиция их выдаёт регулярно и описывает так красочно, что аж задаёшься вопросом, что они курят завидно).

Но с началом забастовки я за переговорами следить перестал совершенно, потому что нет ни сил ни времени.

Работать из дому у меня не получается. Аналогично, клубок старых костылей. Когда-то давным-давно наша IT-дирекция поставила управлять лицензией MatLab какого-то совершенно не интересовавшегося этим человека. Которому я звонил по каждому поводу, после чего я же ему объяснял, куда нужно тыкать. Через пару лет работы в таком режиме человек тупо отдал мне пароль админа от сервера лицензий, и какое-то время мы все жили счастливо. Но потом в MathWorks пришёл альтернативно одарённый работник с клиентами, которому показалсоь (реально показалось), что мы нарушаем лицензионное соглашение. И он прислал нам письмо с штрафом на много нулей. Наш IT-директор побледнел и потребовал расследование — угадайте, кто его проводил? Я подробно расписал ему, что как у нас работает, плюс подчеркнул жёлтым фразы, где человек из MathWorks неправильно понимает их же лицензионное соглашение. В итоге человека из MathWorks уволили, нам никакогго штрафа, конечно, не было, но IT-директор изо всей этой истории запомнил только то, что я узурпировал личность администратора сервера. После чего лицензионный сервер перевели на другой режим (Л-логика!), не позволяющий работать вне нашей сетки. То есть, никакой работы из дому. Шах и мат.

А поезда не ходят. От слова «совсем». То есть, за эти недели была пара дней, когда на нашем конце RER C был десяток поездов в день (при норме 8 в час), а всё остальное время — ноль. Есть вариант доехать до Montparnasse (туда чуть чаще пускают всё тот же десяток поездов в сутки), но оттуда до работы тоже нетривиально добираться, т.к. метро в нашей части города не работает, станции тупо закрыты.

На машине на работу ехать 30 минут, но это если ехать в ночь с 15 на 16 августа. Всё остальное время мне было даже страшно об этом думать — пробки. Да и просто потеря времени: в поезде ты читаешь или хотя бы спишь — а тут считай работаешь, водителем.

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

В итоге я договорился с шефом, что сдвину рабочий день часа на 3. Выезжаю из дому в 6 утра (и в 6:30-7:00 уже на работе), а с работы ухожу примерно в 16. С одной стороны, удобно — вечером ребёнка видишь, можно ему с домашним заданием помочь (чем он жутко недоволен и больше всех в стране ждёт, когда закончатся забастовки). С другой — жену не видишь вообще.

А ещё закорефанился с несколькими коллегами (как ни странно, все — женщины :-Р) о том, чтобы подвозить друг друга по очереди. В основном, чтобы не так уставать за рулём, но девчонки оказались настолько приятными, что в итоге время в пути пролетает достаточно быстро.

Но устаю страшно, конечно. И чтения совсем нет — раньше читал в поезде, сейчас его нет, а вечером нет уже сил, в лучшем случае хватает на посмотреть цирк по ТВ или погонять с сыном в Mario Kart.
green_fr: (Default)
Устроили праздник, назначили дату, сняли недавно построенный концертный зал в паре остановок от офиса.

Разослали всем приглашение, в котором говорилось, что следует прибыть в концертный зал к 15:00, явка обязательна, а двери на выход будут закрыты как минимум до 18:30. Я немедленно вспомнил концерты к «дню милиции» из своего детства, когда нас аналогично сгоняли стоять в торжественном оцеплении в соседнее ДК имени Ленина. Не знаю, насколько это результат моей негативной предрасположенности, но и сам праздник в итоге напомнил мне день милиции.

Выходит президент компании, извиняется за президента холдинга, который не смог присутствовать на нашем празднике. Понимаете, говорит, он был внезапно приглашён (invité) президентом республики. А вы все понимаете, что такое «приглашён» в этом контексте — это скорее «вызван» (convoqué). Приглашение, от которого нельзя отказаться. — Зал вежливо смеётся шутке, а я сижу и думаю о том, что все мы здесь именно так «приглашены» на «праздник».

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

Из приятного — пригласили комика. Он тоже проехался по поводу свободы выбора (скетч про защитницу животных, приютившую у себя кота — а ты у кота спросила, хочет ли он у тебя жить, хочет ли он, чтобы ты его кастрировала? — ему нравится, он даже урчит, когда я его чухаю! — если ты заключённого в тюрьме будешь чухать, он тоже заурчит, но значит ли это, что ему там нравится?), по поводу парижского транспорта (когда бастуют в провинции, там объявляют, что будет un train sur 3, а когда бастует Gare du Nord, там будет un train sûr — непереводимая игра слов, произносится одинаково, но в первом случае обозначает «один поезд из 3», а во втором — «один поезд точно», мы не знаем когда, но он точно будет).

Отличный скетч про велосипедистов, у которых на лице написано «я прав» — на самом деле это о том, как в обществе идёт борьба между правотой «по закону» и правотой «по справедливости». Не важно, что говорят ПДД, главное, где велосипедист, потому что он прав морально, а значит и по ПДД. Ехал, говорит, недавно на велосипеде, вдруг слева вылетает другой велосипедист и подрезает его. Ты что, кричит герой, я же справа, у меня приоритет! — Иди в задницу, кричит тот, я веган!

Прекрасная шутка, которая, как мне показалось, невозможна в моей воображаемой Америке. Решение сразу двух глобальных проблем человечества: есть страны, в которых слишком много людей, и есть страны, в которых людям нечего есть. Комик делает длинную паузу, давая переварить сказанное, затем продолжает: так и представляю, как где-нибудь в Судане люди разговаривают вечером: on va encore manger le chinois? (тоже непереводимо, т.к. обозначает «снова будем есть китайскую еду» и «есть китайца»).

И отличный скетч, когда комик рассказывает, почему ему не нравится термин stand-up — потому что легко спутать со stand-up-paddle.
— Qu’est-ce que tu fait ?
— Du stand-up.
— Et pour gagner la vie ?
— Bah, du stand-up.
— Et quel est ton modèle économique ?
— Je fais du stand-up, et les gens achètent des billets pour me regarder.
— Tu dois être très fort ! Et tu fais du stand-up à Paris aussi ?
— Evidemment.
— Sur la Seine ?
— Bah oui, le stand-up se fait toujours sur la scène (произносится точно так же, как и Seine).
— La vie est donc facile pour toi ?
— Parfois je rame...

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


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


На 150 лет было лучше. Просто выдали всем премию :-)
green_fr: (Default)
Дорогие друзья! Кто из вас в курсе %subj%?

Контекст: мне нужно сгенерить какое-нибудь распределение, удовлетворяющее первым четырём моментам (mean, volatility, skewness, kurtosis), и шеф сказал, что упомянутый метод вроде как должен работать. Я прочитал французскую Википедию (они путаются между величиной квантиля и его реализацией), английскую Википедию (я там половину слов не понимаю), пару статей по-русски ("...такого, например, как метод Корниша-Фишера, откуда непосредственно следует..." - откуда?!), нашёл даже функцию MatLab, которая реализует метод - но непонятно, что у неё за аргументы (комментарий из одной строчки с упоминанием автора функции).

Насколько я понимаю, у нас есть формула:



Она даёт нам квантиль распределения с kurtosis K и skewness S. Оставим в стороне вопрос mean и volatility - что обозначает zc и Z? Я сначала думал, что первое - это квантиль нормального распределения (то есть, -1,65 для 5 персентиля), а второе - квантиль нужного мне распределения. Но это явно не так.

У кого есть под рукой более-менее внятное описание метода? Идеально - с примером.

P.S. Другие варианты генерации случайной переменной по первым четырём моментам тоже приветствуются.
green_fr: (Default)
Я обычно обедаю не за столом в компании коллег (у меня как-то не получается найти общую тему для разговора с коллегами, ну вот не люблю я футбол), а у длинного стола-стойки вдоль окна, где удобно сидеть в одиночестве, максимум — парой. Обычно там сидят такие же уткнувшиеся в книги / сериалы додики, либо спешаще-опаздывающие меж двух собраний менеджеры. А ещё там регулярно садится девица, расставляющая рядом с подносом телефон, втыкающая туда наушники и звонящая своей подруге. Я знаю, что именно подруге, а не другу, потому что это видео-звонок. Она сидит примерно час (нормальная продолжительность обеда во Франции), неспешно кушает и разговаривает. По видео. Подруга в это время тоже сидит перед подносом и ест. И разговаривает. По видео.

Для меня все эти видео-звонки — исключая профессиональную необходимость, вроде «уроков по скайпу» или собрания разбросанной по всему миру команды — всегда были и остаются какой-то ненужной экзотикой. Ну ок, позвонить раз в год родителям, показать им пробегающего мимо камеры ребёнка — ах, как он подрос! Но зачем мне видеть собеседника? Я и вживую-то его не сильно рассматриваю...

Перечитал пост — типичная ассоциация анонимных аутистов :-)

Profile

green_fr: (Default)
green_fr

April 2025

S M T W T F S
   1 2 3 45
6 7 8 910 1112
13 14 15 16 17 1819
2021 22 23242526
27282930   

Syndicate

RSS Atom

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Apr. 23rd, 2025 01:36 pm
Powered by Dreamwidth Studios