Вы читаете nikita_timofeev

Надоела реклама? Купите платный аккаунт и больше вы не увидите рекламы!

О язычестве…

В C++ нет defer? Не расстраивайтесь, можно густо обмазаться шаблонами, лямбдами и макросами. Вообще-то получилось довольно здорово. У меня самого был шаблон для этих целей, но без обёртки в макрос он не выглядел так изящно. Правда полезность решения в значительной мере нивелируется тем, что в отличае от Go в С++ большая часть ресурсов уже освобождается деструктором и в defer не особо есть чего писать. Но всё равно класнно.
«…У нас было две коробки больших воронок, коробка маленьких воронок, коробка литровых круглодонных колб со шлифом, пол коробки литровых колб для культуры и целое множество роторных колб всех сортов и размеров, а также мерные цилиндры, переходники, эксикаторы, водоструйные насосы и просто антуражная химическая посуда. Не то, что бы это был необходимый запас для лаборатории. Но если начал грабить склад стекла в институте, становится трудно остановиться. Единственное что вызывало у меня опасение — это водоструйные насосы. Ничто в мире не бывает более беспомощным, безответственным и порочным, чем попытка посушить пол кило вещества под водоструйным насосом. Я знал, что рано или поздно мы перейдем и на эту дрянь…»
Мне тут недавно доходчиво объяснили что лучше весго любить женщину под джаз. И правда лучше.

О том что было бы жаль…

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





А вообще это вирусная реклама второго президента Российской Федерации сделанная на деньги собранные краудфайндингом. Если кого-то заинтересовал саундтрек, то это примерно он. Если кто-то найдёт совсем его и поделится со мной, то это будет очень мило.

P.S: Я не несу ответственности если кому-то захотелось выпить водки, сходить в Большой театр или просто поиграть в Red Alert.

О том как у меня дела…

Недавно толкиенист forwe спрашивал как у кого дела. Воспользуюсь поводом рассказать о наболевшем и внести некоторую ясность в происходящее со мной в последнее время. Мои дела плохо. Я имел неосторожность полюбить женщину. Вот эту.



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

Мне бы хотелось попросить прощения у всех кто пострадал от моего невнимания и пренебрежения в последние пол года. Так получилось. Как обычно в таких ситуациях вы не можете сделать ничего.

P.S: Поскольку мне это признание не доставляет никакой радости, я выбрал именно ту фотографию женщины, которая ей особенно не нравится.

Об отдыхе…

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

О макаронах…

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

О числе e…

Четыре года назад, я радовался работе с бесконечными списками и вычислял e суммирую ряд Тейлора так. Случайно найдя предыдущий сниппет и смахнув слезу умиления, я переписал суммирование уже со знанием стандартной библиотеки.


e = sum $ takeWhile (/=0) $ map (\v -> 1 / product [1..v]) [0..]

О лунном языке…

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

Jolla — это тот самый линукс-смартфон который мы все так ждали. Здесь всё как на десктопе: искоропки ничего не работает, накатываешь обновления — становится лучше, дорабатываешь напильником — получается худо-бедно что-то работоспособное. Зато масса удовольствия от напильника и общения с разработчиками, а также очень неплохая звонилка и таймерная служба искоропки.

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

О мастере Левше…

Кажется понял что меня угнетает в перманентном левшизме всякого сколкова, ФАНО и прочих РАЕНов. Основная тенденция формулируется как «В жопу фундаментальные исследования, даёшь технологии», «Одна внедрённая технология лучше 100 публикаций». Проблема в том, что все современные технологии это десятки публикаций 20-30 летней давности (если публикации 10-15 летней давности то это уже рискованная инновация). Ничего нового и ценного для науки в технологиях как правило нет. Таким образом, если сейчас не писать сотни публикаций, то через 15 лет у нас закончатся инновации, а через 30 — технологии.

Метки:

О будничном…

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

P.S: А между тем я никак не могу охарактеризовать красивый продукт гидрирования (для масса он слишком мал, для хроматографии слишком полярен, а ЯМРа у меня временно нет, да и там единственный разумный способ охарактеризовать вещество — снять его в смеси с референсом) и думаю что дороже 5 грамм паладиевой черни или два килограмма трифенилфосфина.

Метки:

Прежде чем обсуждать недостатки такого безусловно примечательного инструмента следует определиться с таким самоочевидным понятием как скриптование. Речь пойдёт в первую очередь о так называемых скриптах пользователя: небольших программах обеспечивающих интерфейс взаимодействия пользователя и более сложной системы. Например скрипты emacs'а, vim'а или даже acpid'а. В определённой степени можно говорить и командной оболочке операционной системы в принципе с некоторыми оговорками. Следует различать пользовательские скрипты и приложения для одного запуска: последние могут сколь угодно сложны, громоздки, запутаны, не очевидны и нечитабельны, поскольку читать их никто не будет и пишутся они обычно на одном дыхание, а со своими скриптами вам скорее всего ещё долгое время жить. Итак пользовательский скрипт это программа:

  • предоставляющая интерфейс к более сложной системе чем система самого скрипта (в противном случае было бы проще поправить код системы)1;
  • небольшая (в противном случае кто кого скриптует и кто куда встроен2);
  • понятная (поскольку никто даже комментариев не пишет, не говоря уж про документацию);
  • как правило не критичная по производительности.

Для таких задач традиционно используются shell, lua, js, scheme и прочие языки поразительно схожие с этими синтаксисом и семантикой (хотя некоторые умудряются для этого сравнительно успешно использовать целый python). Что объединяет эти языки? Слабая (у всех кроме scheme) динамическая типизация и позднее связывание. Оно и понятно, считается что если убрать из программы аннотацию типов то она станет выглядеть проще. Однако на сдачу мы получаем невозможность проверить хотя бы наличие вызываемых функций и существование используемых переменных не говоря уж о разумности применения одного к другому. Поскольку покрывать тестами подобного рода код будут немного позже того как к нему напишут документацию, то ситуация выглядит так себе.

О крупицах рассудка…

«…— Это насадка Дина-Старка…
— А его в какой книге убили?…»




Многие знают, а некоторые почитав меня поняли, что Gilson это хорошо. И не потому что их лабораторное оборудование вне конкуренции или особо дёшево. Это хорошо потому что у них есть GSIOC который несмотря на свою анахроничность и прочие недостатки, позволяет человеку с документацией в одной руке и каким-нибудь питоном в другой собрать из кучи насосов, детекторов, ликвидхендлеров и какой-то матери собрать именно то устройство которое решает его задачи булькает пузырики в стаканчик и пишет трёхосевой рукой неприличные слова маркером на железном листе, а не задачи которые показались отделу маркетинга производителя важными и востребованными. Так вот внимание вопрос: знают ли граждане учёные ещё производителей лабораторного оборудования предоставляющего (это значит есть описание в документации, а не надо долго клянчить у саппорта доказывая нотариально заверенным скриншотом, что у тебя есть этот агрегат) к своему железу внятный API? Или переводя совсем на русский, к какому прибору вы видели достаточно подробную документацию позволяющую плюс минус напрямую вычитывать с прибора данные или задавать ему состояния?
Многие читатели задаются вопросом куда это я пропал и что же я столько времени там делаю. Обычно это настолько сложный вопрос что я и сам не берусь на него ответить. Однако время от времени я точно могу сказать что я делаю. Например сейчас я делаю шприцами «жжжжж», кранами «клац-клац», биперами «пик-пик», прочими безобразиями «тик-тик» и общаюсь с инопланетянином-неврастеником проведшим незнамо сколько лет в маленькой бежевой коробочке с надписью Gilson. Пока что он не рассердился.


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

Метки:

О капиллярах…

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


Метки:

О новогоднем…

Моя обычная переполняющая сердце ненависть к праздникам в этом году смогла выплеснуться наружу в виде таинственного костюмированного тёмного альтерэго. Его создание отняло у меня столько сил, что в остальном я был социально-удобоварим. Зато альтерэго смогло вволю поиздеваться над людьми.

О моменте работы…

Внезапно порешал на haskell'е задачи традиционно решаемые на perl'е: извлечение условно хороших данных из текста содержащего массу человеческих ошибок, выполнение над данными вычислений, формирование хорошего отчёта, грязный write-only код который должен быть написан очень быстро. Это охренительно, доложу я вам. Ни одной ошибки времени исполнения. Всё то с чем я в перле ковырялся бы часами в надежде понять почему моя программа ведёт себя именно так, тут выплёвывалась как ошибка компиляции. На задачах такого плана запас производительности компилируемого хаскеля вызывает эйфорию и позволяет без вреда для дела использовать решения не просто наивные, а откровенно тупые и вредные: я не помню как выкинуть последний символ строки если он точка и мне лень искать нужную функцию, давайте я просто переверну всю строку задом наперёд, паттерн-матчингом посмотрю голову строки и если надо верну её хвост перевёрнутый ещё раз. Отдельно стоит упомянуть то что в hackage нашлись парсер bib-формата, библиотека рендерящая latex-строки в юникод, библиотека вычисляющая расстояния Левенштайна и быстрый pdb парсер (последний к счастью мне не понадобился). Про то что весь ввод был сделан на parsec'е даже говорить не имеет смысла. Попутно узнал очень много нового о приблизительном сравнение текста.

Вывод: ковырять текст на perl'е даже write-only, даже once-run я больше не буду.

Метки:

О бытовом…

По дороге из Яндекса пошёл домой через фрунзенский мост и по набережной парка Горького. Видел чертову уйму по меньшей мере обнимающихся пар. Испытал приступ глубокой зависти и одиночества, замёрз и принялся чихать. К исходу суток я стал чувствовать себя вдобавок усталым и виноватым. А вот после полуночи ситуация поменялась, карета не стала тыквой и жить стало легче. Ну и как всегда, в минуты отчаяния наш ЯМРщик присылает мне письмо с хорошим спектром.