Как стать автором
Обновить
143
0
Ярослав Сергиенко @pallada92

Визуализация данных и frontend в ИСИЭЗ НИУ ВШЭ

Отправить сообщение

Магия тензорной алгебры: Часть 3 — Криволинейные координаты

Время на прочтение8 мин
Количество просмотров67K

Содержание


  1. Что такое тензор и для чего он нужен?
  2. Векторные и тензорные операции. Ранги тензоров
  3. Криволинейные координаты
  4. Динамика точки в тензорном изложении
  5. Действия над тензорами и некоторые другие теоретические вопросы
  6. Кинематика свободного твердого тела. Природа угловой скорости
  7. Конечный поворот твердого тела. Свойства тензора поворота и способ его вычисления
  8. О свертках тензора Леви-Чивиты
  9. Вывод тензора угловой скорости через параметры конечного поворота. Применяем голову и Maxima
  10. Получаем вектор угловой скорости. Работаем над недочетами
  11. Ускорение точки тела при свободном движении. Угловое ускорение твердого тела
  12. Параметры Родрига-Гамильтона в кинематике твердого тела
  13. СКА Maxima в задачах преобразования тензорных выражений. Угловые скорость и ускорения в параметрах Родрига-Гамильтона
  14. Нестандартное введение в динамику твердого тела
  15. Движение несвободного твердого тела
  16. Свойства тензора инерции твердого тела
  17. Зарисовка о гайке Джанибекова
  18. Математическое моделирование эффекта Джанибекова


Введение


Читая отзывы к своим статьям, понял, что я излишне перегрузил читателя теоретическими вводными. Прошу за это прощения, признаться честно, я сам далек от формальной математики.

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

А пока что рассмотрим некоторые теоретические основы. Добро пожаловать под кат.
Читать дальше →
Всего голосов 29: ↑29 и ↓0+29
Комментарии8

О тонкостях приватности в Telegram Bots API: «это не баг, это фича»

Время на прочтение2 мин
Количество просмотров51K
imageНеделю назад в мессенджере Telegram был запущен Bots API — платформа для создания ботов. Платформа пусть немного сыроватая, слегка костыльная, но тем не менее интересная — как для пользователей, так и для разработчиков, которые тут же ринулись писать (и портировать) разнообразных ботов. Но, как оказалось, в API есть как минимум одна особенность, которая может показаться довольно неожиданной (и даже неприятной) для конечных пользователей.

Сразу оговорюсь: данная заметка не является очередным нападком на защищенность Телеграма. Более того, учитывая дружеские отношения с некоторыми из разработчиков мессенджера, писать статью не особенно хотелось. Но предостеречь тех, кто планирует создавать и, главное, пользоваться ботами в Telegram, мне показалось важным. «Платон мне друг, но истина дороже».

Сначала вкратце для рядовых пользователей. Если вы отправляете какому-то боту в Телеграме фотографию (рассчитывая, что бот потом эту фотографию отправит другому человеку), — помните, что конечный получатель фото (при желании) легко сможет узнать ваше имя/фото/юзернейм (и сможет связаться с вами напрямую). Даже если бот предполагает приватность и анонимность. Этот интересный аспект крайне неочевиден даже для самих создателей ботов. И они (пока что!) ничего не могут с этим сделать. Строго говоря, это касается не только фотографий (а почти всех видов прикреплений), но увидеть ваш профиль в других случаях несколько сложнее.

В том числе этому подвержен приведенный в качестве примера в описании новой платформы @HotOrBot. В этом «аналоге Тиндера» можно легко подсматривать аккаунты тех, чьи фото вам предлагают оценить (и, собственно, писать им — даже если они ещё не ответили вам взаимностью).
Читать дальше →
Всего голосов 23: ↑20 и ↓3+17
Комментарии4

Каламбуры на css

Время на прочтение1 мин
Количество просмотров44K
Хабровчане, всех с пятницей! Сейчас у подавляющего большинства читателей хабра рабочий день уже закончился, поэтому можно расслабиться и немного отвлечься от серьезных тем. Вы знали, что на css можно каламбурить? На кдпв один из примеров, а под катом небольшая простыня специфических css шуток.
Читать дальше →
Всего голосов 109: ↑90 и ↓19+71
Комментарии44

Потоковая обработка данных при помощи Akka

Время на прочтение5 мин
Количество просмотров40K
Привет, Хабр! Все привыкли ассоциировать обработку больших данных с Hadoop (или Spark), которые реализуют парадигму MapReduce (или его расширения). В этой статье я расскажу о недостатках MapReduce, о том, почему мы приняли решение отказываться от MapReduce, и как мы приспособили Akka + Akka Cluster на замену MapReduce.


Читать дальше →
Всего голосов 47: ↑44 и ↓3+41
Комментарии50

Иерархическая классификация сайтов на Python

Время на прочтение8 мин
Количество просмотров27K
Привет, Хабр! Как упоминалось в прошлой статье, немаловажной частью нашей работы является сегментация пользователей. Как же мы это делаем? Наша система видит пользователей как уникальные идентификаторы cookies, которые им присваиваем мы или наши поставщики данных. Выглядит этот id, например, так:

42bcfae8-2ecc-438f-9e0b-841575de7479

Эти номера выступают ключами в различных таблицах, но первоначальным value является, в первую очередь, URL страниц, на которых данная кука была загружена, поисковые запросы, а также иногда некоторая дополнительная информация, которую даёт поставщик – IP-адрес, timestamp, информация о клиенте и прочее. Эти данные довольно неоднородные, поэтому наибольшую ценность для сегментации представляет именно URL. Создавая новый сегмент, аналитик указывает некоторый список адресов, и если какая-то кука засветится на одной из этих страничек, то она попадает в соответствующий сегмент. Получается, что чуть ли не 90% рабочего времени таких аналитиков уходит на то, чтобы подобрать подходящий набор урлов – в результате кропотливой работы с поисковиками, Yandex.Wordstat и другими инструментами.
logo
Получив таким образом более тысячи сегментов, мы поняли, что этот процесс нужно максимально автоматизировать и упростить, при этом иметь возможность мониторинга качества алгоритмов и предоставить аналитикам удобный интерфейс для работы с новым инструментом. Под катом я расскажу, как мы решаем эти задачи.
Читать дальше →
Всего голосов 36: ↑36 и ↓0+36
Комментарии18

Пять заблуждений об открытом ПО

Время на прочтение5 мин
Количество просмотров60K
image

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

Наша компания участвует в открытых проектах с 2005 года – и благодаря разработке собственных open source решений (проекты OpenVZ, CRIU), участвуя в других открытых проектах (QEMU, OpenStack, libvirt, libcontainer, и т.д.). За 10 лет мы собрали несколько наиболее распространённых мифов об открытом программном обеспечении. Я расскажу про каждое из заблуждений и объясню, почему оно ошибочно. Наверняка, вы вспомните еще столько же, но, на мой взгляд, эти пять самые «адовые».

Читать дальше →
Всего голосов 53: ↑47 и ↓6+41
Комментарии77

Cистема образования в США: Младшая и Средняя школа — чему и как учат? Часть 1

Время на прочтение4 мин
Количество просмотров37K
image

Как то несколько лет назад зашел разговор с сыном шестиклассником о русских дворовых поговорках и задачках.
Для затравки я взял классическую дворовую считалку:

А И Б сидели на трубе
А упала, Б пропала
Кто остался на трубе?


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

A N' B were on a tree.
A fell down, so did B.
Who is left on the tree?


Результат несколько меня ошеломил после чего я решил делать эти записки о системе общеобразовательной (очень хорошей школы) в США.
Читать дальше →
Всего голосов 27: ↑27 и ↓0+27
Комментарии55

Как сверстать фоновое HTML5-видео в email-сообщении

Время на прочтение7 мин
Количество просмотров15K


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

Видео проигрывалось в почтовых программах Apple Mail и Outlook 2011 для Mac. В остальных почтовых клиентах отображалось обычное изображение. Ниже представлено пошаговое руководство по созданию такого видео-письма.
Читать дальше →
Всего голосов 26: ↑15 и ↓11+4
Комментарии33

Поиск четырёхугольников документов на мобильных устройствах

Время на прочтение6 мин
Количество просмотров13K


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

Постановка задачи

Для начала определим, какую информацию мы можем использовать в своих целях.
В приложениях достаточно жёстко заданы предполагаемые типы документов. Будем считать, что никто всерьёз не пытается распознать паспорт приложением для банковских карт или наоборот, а значит нам известны, как минимум, пропорции искомого объекта. Также заметим, что абсолютное большинство мобильных девайсов имеет камеры с фиксированным фокусным расстоянием.
Читать дальше →
Всего голосов 17: ↑16 и ↓1+15
Комментарии4

Любовь и математика. Сердце скрытой реальности

Время на прочтение3 мин
Количество просмотров47K
Привет, Хаброжители!
У нас с фондом Династия недавно вышла книга Эдуарда Френкеля «Любовь и математика. Сердце скрытой реальности»

image

«Моя цель не в том, чтобы вас чему-то научить. Я хочу дать вам возможность почувствовать, что существует целый мир, который от нас старательно скрывается, — мир математики. Это портал в неизведанную реальность, ключ к пониманию глубинных тайн Вселенной и нас самих. Математика не единственный портал, есть и другие. Но в некотором смысле он самый очевидный. И именно поэтому он так закамуфлирован, как будто бы на нем прибита доска с надписью: «Вам сюда не надо». А на самом деле надо. И когда мы входим в него, мы вспоминаем, кто мы: не маленькие винтики большой машины, не одинокие души, прозябающие на отшибе Вселенной. Мы — Творцы этого мира, способные дарить друг другу красоту и любовь». — Эдуард Френкель.
Читать дальше →
Всего голосов 26: ↑24 и ↓2+22
Комментарии32

10 роковых ошибок юзабилити интернет-магазинов и кое-что ещё

Время на прочтение12 мин
Количество просмотров51K
«Не бойся первой ошибки, избегай второй», – учит нас народная мудрость. А другая прямолинейно указывает на то, кто учится на своих ошибках, а кто – на чужих. Тем не менее разрабатывая интернет-магазин ошибиться довольно просто. Особенности аудитории, нюансы в организации сайта и форм страниц порой только и можно постичь единственно верным методом проб и ошибок.


Читать дальше →
Всего голосов 28: ↑23 и ↓5+18
Комментарии8

Детский лагерь: биссектрально-пифагоровы треугольники, перепрограммирование мозга, радар-детектор и взлом наручников

Время на прочтение13 мин
Количество просмотров31K
Все события и имена вымышленные


Часть вещей, которые я взял с собой на смену

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

Вот как Алексей Савватеев анонсировал свою лекцию:
В журнале «Квант» номер 8 за 1983 год в статье «Вокруг биссектрисы» на странице 36 И.Ф.Шарыгин формулирует такую задачу:
«Про данный треугольник известно, что треугольник, образованный основаниями его биссектрис — равнобедренный. Можно ли утверждать, что и данный треугольник равнобедренный?»

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

С тех пор построены три примера. Последний пример выводит нас на теорию эллиптических кривых и операцию сложения точек.

В лекции мы построим ЦЕЛОЧИСЛЕННЫЙ треугольник, обладающий требуемым свойством. Вопрос о бесконечности таких треугольников пока ещё остаётся открытым. Школьная задача, таким образом, приведёт нас в самое сердце одной из красивейших ветвей современной математики.


Смена в самом разгаре, кое-что интересное мы уже успели сделать, а что-то еще в планах.
Читать дальше →
Всего голосов 34: ↑29 и ↓5+24
Комментарии5

EMC External Mentoring Program. Как мы работаем с талантливыми студентами

Время на прочтение3 мин
Количество просмотров4.9K
9 июня состоялся выпуск участников четвертого набора EMC External Mentoring Program, в рамках которой в 2014-2015 годах мы поставили сразу два рекорда: по количеству участвовавших — 21 подопечный и 20 инженеров-наставников. Здесь мы хотим рассказать о том, что собой представляет программа наставничества ЕМС, каких студентов мы приглашаем принять в ней участие и чем они занимаются в течение года.

image
Читать дальше →
Всего голосов 6: ↑5 и ↓1+4
Комментарии2

С нуля до миллиарда: Создатель Slack делится историей успеха

Время на прочтение13 мин
Количество просмотров27K


«Дорогой SlackHQ, я тебя люблю. Твой Дэн».

Вероятно, вы слышали про поразительный рост Slack. Вы, возможно, читали, что платформу для внутрикорпоративного общения (которой всего 2 года отроду), уже активно используют более 30000 команд и оценивают в 1 миллиард долларов. Но видели ли вы все эти сообщения о Slack в Twitter?

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

Как же компании удалось запустить продукт, вызвавший такой завидный резонанс, и быстро завоевать сердца пользователей? Когда основатель Slack Стюарт Баттерфилд (Stewart Butterfield) говорит про успех компании, то всегда упоминает в своей речи, что она возвела отзывы своих клиентов о продукте во главу угла.

В этом эксклюзивном интервью Баттерфилд (в прошлом один из основателей Flickr) рассказал, что стратегия выхода на рынок была успешной, быстрой и активной. Здесь он объясняет, насколько важно концентрировать свое внимание на уникальных особенностях проекта (и почему вы можете опустить остальное), и делится советами о том, как стать незаменимыми для своих клиентов.
Читать дальше →
Всего голосов 19: ↑17 и ↓2+15
Комментарии21

«pip -t» — простая альтернатива virtualenv

Время на прочтение4 мин
Количество просмотров19K

TL;DR


Чтобы просто установить и изолировать зависимости проекта, virtualenv часто оказывается слишком тяжелым решением. Предлагаем простую альтернативу:
  1. добавить ./.pip в переменную окружения PYTHONPATH,
  2. установить пакеты локально с помощью pip install -t .pip,
  3. запускать python из папки проекта.

Читать дальше →
Всего голосов 30: ↑27 и ↓3+24
Комментарии12

Почему научиться программировать так чертовски тяжело?

Время на прочтение14 мин
Количество просмотров426K
Привет, Хабр!

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

  • С чего начать обучение программированию?
  • У вас есть курс по Java для новичков, но я слышал, что нужно изучать Python, правда ли это?
  • На других сайтах все просто и понятно, а у вас какие-то компиляции и тесты!
  • Непонятно зачем нужен этот ваш курс по алгоритмам, в реальной жизни все алгоритмы уже реализованы в стандартных библиотеках

Но сложнее всего объяснить новичку, грубо говоря, во что он ввязывается. Благодаря очень простым, игровым образовательным проектам многие считают, что программирование это очень легко, а наши виртуальные машины, где нужно запускать тесты и компилировать код – это надуманная сложность. Давно хотелось найти такой материал, который бы подготовил новичка к длинному и сложному пути к карьере программиста. И недавно наши коллеги из Viking Code School такой материал написали! А мы его перевели для вас.




Квинси Ларсон был просто “офисным парнем в костюме”. Он решил научиться программировать. Начал спрашивать людей вокруг. Изучил немного Руби, потом быстренько посмотрел на другие языки вроде Scala, Clojure и Go. Он изучил Emacs, а потом Vim, а потом раскладку Dvorak. Он втыкал в Линукс, копался с Лиспом и кодил на Питоне, и жил при этом в командной строке больше полутора лет.

Его швыряло туда-сюда как листочек в торнадо. Каждый совет, который он слышал, тащил его то в одну, то в другую сторону, до тех пор пока он не прошел “каждый онлайн-курс по программированию во вселенной”. В конце концов, не смотря на то, что он получил работу разработчика ПО, Квинси:

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

Ох. Звучит знакомо?
Читать дальше →
Всего голосов 65: ↑55 и ↓10+45
Комментарии44

Почему программировать так тяжело?

Время на прочтение7 мин
Количество просмотров132K
Привет, Хабр!

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

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

Сегодня мы публикуем перевод заметки «Почему программировать так тяжело?». Тем, кто еще изучает основы программирования и разработки будет полезно узнать, что их ждет в будущем. А опытным разработчикам будет просто приятно взглянуть на реальность и покивать головой.




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

Вначале я думал, что программировать – это только указывать компьютеру, что делать, эта часть процесса относительно лёгкая. После двадцати с лишним лет опыта, я действительно пришёл к выводу, что эта часть программирования достаточно лёгкая.
Читать дальше →
Всего голосов 89: ↑73 и ↓16+57
Комментарии111

Сравнение производительности языков на примере простейшего классификатора

Время на прочтение10 мин
Количество просмотров33K
Доброго времени суток, хабр!


Моим основным ЯП является D. Всегда понимал, что он будет проигрывать C++ из-за сборщика, каких-то высокоуровневых плюшек и т.д. Но никогда не доходили руки проверить насколько. Решил написать простенький классификатор (даже не помню метод как называется) и проверить. Результат меня приятно удивил: версия C++ отработала за 5.47 сек, версия D — за 5.55 сек. «0.08 сек при обработке файла в 74Мб это не так уж и много» — подумал я. Но, на всякий случай, решил попробовать собрать код на D с помощью gdc (dmd как frontend, gnu backend) и тут уже в душу закрались сомнения, что я всё сделал правильно: код отработал за 4.01 сек, что более чем на 20% быстрее версии на С++. Решил собрать с помощью ldc2 (dmd frontend, llvm backend): 2.92(!!) сек. Тут я решил разобраться.
Читать дальше →
Всего голосов 27: ↑22 и ↓5+17
Комментарии34

Нетрадиционный обзор React

Время на прочтение7 мин
Количество просмотров51K
Привет, Хабр!

Мы в Хекслете любим свой стек технологий :) Когда рассказываем другим — многие завидуют: Rails, Docker, AWS, React JS. Реакт мы используем в первую очередь для создания веб-среды для разработки Hexlet-IDE, которая позволяет нашим пользователям выполнять упражнение по разработке приложений и взаимодействию с виртуальной машиной прямо в браузере.

Сегодня мы публикуем перевод статьи «An Unconventional Review of React» Джеймса Шора, ведущего проекта Let’s Code: Test-Driven JavaScript.



Он мне понравился. Я не ожидал такого.

Для специальных выпусков Let’s Code JavaScript в августе и сентябре я изучал Реакт.

На случай если вам не знаком Реакт: это библиотека для фронт-энд веб-разработки. С помощью него создаются компоненты: короткие, не-совсем-ХТМЛ теги, которые можно комбинировать для создания интерфейса.

Реакт знаменит своими нетрадиционными решениями: реализацией виртуального DOM’а, созданием элементов интерфейса в JavaScript вместо шаблонов, создание суперсета языка JavaScript — JSX, который позволяет вставлять не-совсем-ХТМЛ прямо в код JS.

С этими решениями разработка уходит от схемы манипуляции DOM’ом — добавить этот элемент, скрыть эффектом другой элемент, обновить это текстовое поле. Вместо этого вы описываете как сейчас должен выглядеть DOM. Реакт берет на себя сложную работу по определению необходимых действий чтобы DOM на самом деле стал выглядеть так, как вы сказали.
Читать дальше →
Всего голосов 50: ↑47 и ↓3+44
Комментарии34

Простыми словами о Twelve-Factor App

Время на прочтение5 мин
Количество просмотров67K
Известный провайдер heroku поддерживает манифест, который называется «12-факторное приложение» (Twelve-Factor App). Это набор лучших практик для разработки современных веб приложений на любой платформе. Практики описывают приложения, которые готовы:
  • к горизонтальному масштабированию;
  • к непрерывному развертыванию;
  • к современным облачным хостингам.

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

Манифест (на хабре есть отличный перевод) слишком подробен и хорош для детального изучения. В этой же статье, я коротко остановлюсь на основных преимуществах.
Читать дальше →
Всего голосов 11: ↑10 и ↓1+9
Комментарии2

Информация

В рейтинге
Не участвует
Откуда
Москва, Москва и Московская обл., Россия
Дата рождения
Зарегистрирован
Активность