Сайт Романа ПарпалакаБлог

Круговая трактриса

29 января 2014 года, 12:22

Задача: по окружности небольшого радиуса едет трактор. К нему на жестком стержне прикреплен груз (например, прицеп). По какой траектории будет двигаться груз?

Всё зависит от длины стержня. Траектория может быть такой:

Смотрите в блоге о теоретической физике решение задачи и интерактивную анимацию ответа.

    Оставить комментарий

Латех в вебе

22 января 2014 года, 12:19

Постоянные читатели помнят, что у меня есть движок сайтов S2, и он с помощью расширения s2_latex ищет в тексте страницы формулы на латехе и заменяет их на картинки. Расширение обращается к сервису codecogs.com. Этот сервис зачастую глючит, и я уже давно сделал свой, с блек-дже… качественным SVG и выравниванием по базовой линии.

Мой сервис делает из формул картинки. Вот, для примера, знакомое всем решение квадратного уравнения в SVG и PNG:

На обычных мониторах преимуществ у SVG нет. Но на ретине или при большом увеличении SVG выглядит более чем достойно. А за ретиной будущее.

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

Символы в формулах крупнее и жирнее, чем в окружающем тексте. Они в буквальном смысле выпадают из окружающего текста. Меняем гротеск на антикву, увеличиваем кегль и добавляем выравнивание по базовой линии:

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

У svg-формул есть существенный недостаток: многие браузеры искажают их при печати. В последних версиях IE и FF получается удовлетворительный результат. В браузерах на хромиуме лучше не распечатывать текст с формулами.

Я подготовил описание сервиса и инструкцию. Посмотреть сервис в работе можно в блоге о теоретической физике. В следующий раз я расскажу о том, как всё это работает.

    2 комментария

C Новым годом

12 января 2014 года, 15:42

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

С Новым годом!

    1 комментарий

Однополые браки

2 января 2014 года, 19:26

Михаил Веллер в «Особом мнении» об однополых браках:

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

Так вот все социальные функции, которые берет на себя государство по части заботы о семье, вызваны и обоснованы только тем, что новые граждане должны встать на ноги и государство должно сделать всё, чтобы они выросли людьми, работниками, гражданами, здоровыми и так далее.

Ежели вот эти не собираются никого никак никогда заводить, а занимаются собственными удовольствиями, это их личное дело. Государство им не должно ничего. Пусть делают что хотят, если от этого никому не плохо, за закрытыми дверьми спальни, о чем говорилось миллионы раз.

Что значит брак? Все белены объелись. Нанюхались кокса, расширили сознание? Нет-нет, все следом за Австралией.

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

    Оставить комментарий

Что напечатает обезьяна

25 ноября 2013 года, 22:59

Утилита pwgen что-то пытается мне сообщить. Только вот что?

    Оставить комментарий

Научно-регилиозные заблуждения

16 ноября 2013 года, 15:07

Не могу пройти мимо в целом нейтральной статьи про кафедру теологии в МИФИ. Конечно, все вопросы о взаимоотношении науки и религии исчерпывающе разобрал Докинз в книге «Бог как иллюзия». К сожалению, эта книга сама по себе не может сразу искоренить распространенные заблуждения, поэтому приходится повторяться. Поехали.

С отцом Олегом мы говорили долго. Я силился понять, зачем теология студентам-ядерщикам. А батюшка все недоумевал: а почему бы и нет?!

— Например, все знают теорию Большого взрыва. А что было до взрыва? — вопрошал меня батюшка. — Что дало импульс? Или возьмем квантовую механику — законы вроде работают, а истолковать адекватно их ученые не могут!

— Может, пока не могут, святой отец? — осторожно спрашиваю.

На это батюшка отвечает, что нельзя отказываться от «взаимообогащающего синтеза науки и религии». Ведь и Эйнштейн, и Ньютон, и Галилей были людьми верующими («У Галилея был личный конфликт с Папой», — упредил мой иронический вопрос священник), да и сама наука началась с теологии, со стремления понять Бога. А сегодня, например, квантовую физику можно попытаться понять с помощью аппарата герменевтики**.

— То есть вы предлагаете изучать квантовую физику с помощью Библии?

— С помощью Священного Писания как раз нет, — пожимает плечами отец Олег. — Но возможно применить герменевтический аппарат, так как законы квантовой механики лежат вне поля объективной картины мира, а скорее в поле мира духовного… Пусть девять из десяти ученых скажут — чепуха! А один ученый попробует, и у него получится!

Большой взрыв

Я уже объяснял, что теории большого взрыва не существует. Большой взрыв — это представление о ранней горячей сверхплотной Вселенной, которое вытекает из наблюдения ее расширения.

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

Впрочем, об этом уже писал Шкловский в замечательной книги «Вселенная. Жизнь. Разум»:

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

Возникает естественный вопрос: не означает ли (в предположении, что изложенная гипотеза справедлива), что около 20 млрд. лет назад было «начало света»? Отсюда один шаг до представления, что 20 млрд. лет назад был сотворен мир… Надо сказать, что церковники широко использовали и используют описанное одно из возможных следствий наблюдаемого разлета галактик для религиозной пропаганды. На этом примере видно, как церковь пытается использовать выводы современной науки, предварительно исказив и извратив их.

Следует, однако, иметь в виду, что если вывод о том, что 20 млрд. лет назад вся Вселенная представляла собой сверхплотную «ядерную» каплю, является правильным (а это, по-видимому, так), всякие рассуждения о «начале» и тем более «сотворении» мира являются ненаучными. Вообще само понятие «время» при таких огромных плотностях может потерять всякий наглядный смысл. Столь же бессмысленно говорить в таких условиях о каком-то «начале времени». Здесь должны были действовать законы квантовой теории тяготения — науки, которая пока еще не создана.

Квантовая механика

Перейдем к вопросу о квантовой механике. С ней получается интересная история. Это проработанная область физики, которая прекрасно описывает явления в микромире при скоростях, малых по сравнению со скоростью света. Однако предсказываемое поведение микроскопических объектов принципиально отличается от привычного нам поведения обычных тел. У микрообъектов нет траектории, у них нельзя одновременно измерить скорость и положение. Вместе с тем математический аппарат квантовой механики не очень сложен (ее рассказывают всем студентам-физикам на третьем курсе). Поэтому находятся псевдоспециалисты, не способные заняться более серьезными вещами, и они пытаются «понять» необычные законы квантовой механики.

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

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

Отсутствие интерпретаций у квантовой электродинамики (примера квантовой теории поля) не мешает быть ей самой точной наукой и предсказывать измеряемые величины с точностью до 10 знаков после запятой. Ученые не занимаются истолкованием. Предскажите что-нибудь новое с точностью хотя бы в 10%. Тогда и поговорим.

Авторитеты

Эйнштейн, разумеется, не был верующим. Об этом убедительно писал Докинз. Конечно, бывают люди, которые не могут распознать шутку в фразе Эйнштейна «бог не играет в кости». Я вот тоже использовал выше фразу «слава богу». Я теперь тоже верующий?

Все мы слышали утверждение о том, что верующий человек не создал бы ядерное оружие:

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

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

Я искренне не понимаю, почему защитники религии критикуют манхэттенский проект? Им было бы лучше, если бы бомбу первым сделал Гитлер?

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

    Оставить комментарий

Ember и трудности отладки

4 ноября 2013 года, 16:47

Разрабатываю некий сайт, на котором должно быть много яваскрипта и аякса. Посмотрел модные JS-фреймворки и выбрал Ember — фреймворк для построения одностраничных веб-приложений.

Основные достоинства Эмбера по сравнению с обычным подходом (jQuery и нагромождение обработчиков аякс-запросов) проявляются в том, что программист пишет меньше рутинного кода, особенно по всевозможному преобразованию данных, что позволяет сконцентрироваться на логике работы самого приложения. Экономия достигается за счет следования декларативным соглашениям и богатой функциональности. Из коробки доступна обработка URL и маршрутизация, связывание данных и элементов DOM, шаблоны Handlebars и т. д.

Я еще не достиг той степени просветления, когда достигается экономия в 146%, и еще натыкаюсь на разные трудности. Вот забавный пример. Делал одну страницу по аналогии с уже готовой. Что-то не работает. Сообщение об ошибке в консоли:

Assertion failed: The value that #each loops over must be an Array. You passed Array

Обычно сообщения Эмбера помогают понять, что не в порядке. Но не в этот раз. Я и сам знаю, что в цикл нужно передать массив, и что я передал массив. Разобрался с проблемой, только когда посмотрел, какие данные присылает сервер. Как оказалось, я забыл обновить серверную часть и сделать сериализацию массива, и при сохранении в БД чудо-функция insert_or_update_assoc_array(), код которой приведен ниже, приводила массив к строке 'Array' и записывала ее в БД. Таким образом, под фразой «You passed Array» имеется в виду «вы передали строку 'Array', а не массив».

public function insert_or_update_assoc_array (array $params, $table)
{
	$values = array();
	foreach ($params as $name => $value)
		$values[] = ((string) $name) . '=' . ($value === null ? 'NULL' : (is_numeric($value) ? (string) $value : '\'' . $this->escape((string) $value) . '\''));

	$values = implode(', ', $values);

	$sql = 'INSERT INTO '.$table.' SET '.$values.' ON DUPLICATE KEY UPDATE '.$values;
	$this->query($sql);
}

К недостаткам Эмбера относится его размер. Фреймворк в несколько раз тяжелее jQuery. Впрочем, умные ребята давно настроили автоматическое сжатие, объединение и архивирование стилей и скриптов при развертывании сайта из систем контроля версий. В таком случае подключение Эмбера эквивалентно добавлению одной-двух картинок.

Еще я так и не понял, как обстоят дела с кроссбраузерностью. В документации об этом нет ни слова, и поиск по интернету ничего толкового не дает. У меня сайт не заработал в IE8, и я так и не понял: это так и должно быть, или я что-то делаю не так.

    Оставить комментарий

Опасно!

30 сентября 2013 года, 22:10

Военкомат в Дубне переехал в новое здание:

    Оставить комментарий
Смотрите также:  Свобода

Подслушано в столовой

29 сентября 2013 года, 22:34
— Это царский пирожок?
— Нет, это королевская ватрушка!

А потом еще этот парень назвал семгу в сухарях курицей.

    Оставить комментарий

Технологии, облака и хостинг

3 августа 2013 года, 22:10

Досмотрел трехчасовой доклад Ильи Григорика о клиентской оптимизации (первая часть и вторая часть). По итогам просмотра написал свои заметки.

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

Умные ребята давно поняли, что слово «облачный» в применении к информационным технологиям наполнено исключительно маркетинговым смыслом, и в «облачных технологиях» нет ничего принципиально нового. В то же время прорывные технологии появляются незаметно и со временем получают признание без особого пиара.

Отличный недавний пример — BitTorrent Sync. Это программа для синхронизации файлов на компьютерах и (теперь уже) мобильных устройствах. В ее основе лежит тот же протокол, что и в торентах, а по функциям программа ближе всего к дропбоксу. Интерфейс крайне прост, для подключения к папкам достаточно обменяться короткой хеш-строкой.

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

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

Перед описанием опыта использования я должен вспомнить о хостинге. Я использую и рекомендую виртуальные серверы Linode. За всё время использования этого хостинга сервер отключался один раз в ходе планового апргейда. Ссылка в этом абзаце с моим реферальным кодом. По нему зарегистрировались 6 человек, благодаря чему я заплатил за хостинг на 120 долларов меньше. Спасибо вам, добрые люди :)

Со времен прошлой заметки трехлетней давности тарифные планы Linode регулярно обновлялись. В 2011 году на самом дешевом тарифе за 20 долларов в месяц увеличили дисковое место с 16 до 20 гигабайт, потом снизили стоимость дополнительного трафика. Этой зимой дисковое место увеличилось до 24 гигабайт. Весной началось глобальное обновление: оперативная память удвоилась с 512 мегабайт до 1 гигабайта, включенный в тариф трафик увеличился с 200 гигабайт до 2 терабайт, и количество ядер процессора возросло с 4 до 8. Наконец, совсем недавно дисковое место снова увеличилось, с 24 гигабайт до 48.

Ясно, что мы видим не доброту владельцев хостинга, а проявление законов рынка и конкуренции. Я слышал отзывы о хостинге DigitalOcean. Самый дешевый тариф выглядит интересно, я бы поэкспериментировал: 512 мегабайт оперативки, 1 ядро, 20 гигабайт SSD, 1 терабайт трафика за 5 долларов в месяц.

Так вот, из образовавшихся 48 гигабайт на моем сервере занято от силы 5. Чтобы остальное место не простаивало, я запустил btsync и залил в «личное облако» музыкальную коллекцию. Под линуксом программа не требует настройки и управляется через веб-интерфейс на нестандартном порту. По соображениям безопасности его нужно закрывать в файерволе сразу же после добавления или удаления папок.

BitTorrent Sync — простой и мощный инструмент. Сценарии его использования на сервере гораздо шире «облачного диска». Самое простое — синхронизировать папку с резервными копиями. При добавлении бекапов туда они автоматически копируются на другие компьютеры. Или отказаться от загрузки файлов сайта через классический FTP и загружать их через btsync. Полет фантазии ничем не ограничен :)

Добавлено 20.12.2022: описываемая программа переименовывалась в resilio sync. Я от нее отказался в пользу открытой и более стабильной альтернативы — syncthing.

    Оставить комментарий

← сюда туда →

Поделиться
Записи