Pull to refresh
@NikName91read⁠-⁠only

User

Send message

Javis v0.3 и анимация рядов Фурье

Reading time11 min
Views8.7K


Прошло уже достаточно времени с релиза Javis v0.2, что обсуждалось в соответствующем посте. Там я дал представление о потенциальном будущем этого графического пакета. Мы наконец-то выпустили v0.3, и будущее стало стандартом по умолчанию.


Просто перечислять все изменения, которые мы ввели, вероятно, было бы довольно скучно, так что лучше я создам аккуратную анимацию, а по пути буду объяснить некоторые удивительные штуки про ряды Фурье.

Как возникают электромагнитные волны

Reading time16 min
Views34K


Bremsstrahlung ("тормозное излучение") — ударная волна света, которая генерируется, когда заряженные частицы "застревают" в твердом теле (классический процесс генерации излучения в рентгеновских вакуумных трубках).


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

Читать дальше →

Самообучение в Data science, с нуля до Senior за два года

Reading time9 min
Views272K

Хочу поделиться методами освоения Data science с нуля человеком из другой ИТ специальности. Цель: дать понять, подходит ли Вам эта специальность в принципе, и рассказать про эффективные подходы к самообучению, которые мне помогли.

Отличные материалы уже существуют по большинству конкретных тем, я сам по ним учился. Думаю, многим будут полезны "мета" материалы о том, как выбирать курсы и статьи, по которым учиться.

Читать далее

Принципы эффективного самообучения для желающих изучить машинное обучение

Reading time10 min
Views44K

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

Мне эти принципы помогли относительно быстро перейти из 1С в дата-сайентиста и за два года вырасти до уровня синьора, по уровню ЗП и автономности в решение задач (ссылка на прошлую статью об этом)

Читать далее

Изучение data science c нуля: этапы и вехи

Reading time9 min
Views80K

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

Читать далее

Обзор платформ для изучения машинного обучения

Reading time10 min
Views30K

Один из главных вопросов у людей изучающих что-либо - выбор источников информации: курсов, книг, статей. Широта выбора вводит в ступор: курсов и книг просто море, особенно если рассматривать доступные на английском языке. В данной статье субъективный обзор платформ он-лайн обучения (спойлер: coursera.org и learning.oreilly.com мои фавориты).

Читать далее

Исследование системы магнитной левитации с модальным управлением

Reading time5 min
Views9.6K

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


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


image

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


Однако из-за нелинейных уравнений движения объекта, описывающих его динамику, сложно воспроизводить процесс управления объектом. Речь пойдёт именно про положение (расстояние) объекта относительно нулевой отметки.


Если коротко, то магнитная левитация – это устойчивое положение объекта на определенном расстоянии в гравитационном поле, когда, как правило, ускорение свободного падения компенсируется ускорением объекта, которое создаётся магнитным полем. При этом возникает подъёмная сила.


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


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

Читать дальше →

Свой сервер видеоконференций Jitsi. Часть 1 (Обновлено)

Reading time14 min
Views59K
Это первая статья, в которой я расскажу, как поднять свой собственный сервер видеоконференций Jitsi-meet. Я планирую выпустить три статьи на эту тему:

  1. Свой сервер видеоконференций Jitsi.
    Jitsi и все необходимые службы работают на одном сервере + сервис Jibri (для записи видеоконференций на отдельном сервере).
  2. Свой высоконагруженный сервис видеоконференций Jitsi.
    Jitsi и все необходимые зависимые службы работают на разных серверах для получения высокой производительности.
  3. Свой мессенджер Matrix-synapse в связке с Jitsi-meet.
    Настройка Matrix на своем сервере и объединение с Jitsi для видеозвонков.

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

Низкоуровневое программирование STM32: от включения питания до «Hello, World»

Reading time10 min
Views75K
В этом материале я хочу рассказать о том, как писать программы для микроконтроллеров (Microcontroller Unit, MCU) Cortex-M, вроде STM32, используя лишь набор инструментов ARM и документацию, подготовленную STMicroelectronics. У некоторых читателей может появиться вопрос о том, почему кому-то это может понадобиться. Если вам эта идея, на первый взгляд, не показалась очень уж страшной, то, возможно, вам будет интересно то, о чём пойдёт речь в этом материале. И, кстати, подумаем о том, кому и зачем это может пригодиться.

Конечно, разрабатывать программы для MCU STM32 можно с помощью существующих фреймворков. Это может быть ST HAL, обычный CMSIS, или даже что-то, более близкое к Arduino. Но… что тут увлекательного? Ведь, в итоге, тот, кто пользуется каким-то фреймворком, полностью зависим от документации к нему и от его разработчиков. И, с другой стороны, если документация к STM32 кажется кому-то, работающему с этой платформой, так сказать, бредом сивой кобылы, то можно ли говорить о том, что этот человек по-настоящему понимает данную платформу?



Поэтому давайте поговорим о низкоуровневом программировании STM32 и доберёмся от включения питания STM32 до «Hello, World».
Читать дальше →

Снова про шаблоны C++ в микроконтроллерах

Reading time5 min
Views11K

Идея использования шаблонов языка C++ для программирования контроллеров не является чем-то новым, в сети доступно большое количество материалов. Кратко напомню основные преимущества: перенос значительной части ошибок из runtime в compile-time за счет строгого контроля типов, а также приближение к объектно-ориентированному подходу, близкий и удобный многим, без необходимости хранения полей в статическом классе (все поля являются шаблонными параметрами). Однако стоит заметить, что практически все авторы по большому счету ограничиваются в своих работах примерами на работу с регистрами и портами ввода-вывода. В своей статье я хочу продолжить эти идеи.

Читать далее

Генная инженерия от A до Z часть 2

Reading time6 min
Views25K
Итак, настало время продолжения статьи о том, как все же сделать светящуюся елку к следующему новому году с применением настоящей генной инженерии, а не той, о которой вы до этого могли прочитать в новостях :)

Краткое содержание предыдущей серии:

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


У нас есть ген. Чего же мы ждем, спросят читатели, давайте засунем этот ген в елку и она начнет светиться?

Не все так просто, и вот, почему.
Читать дальше →

Доктор Вентер пытается запатентовать синтетическую бактерию

Reading time2 min
Views1.5K
Знаменитый генетик Крейг Вентер, который уже много лет работает над проблемой синтеза жизни, решился-таки запатентовать метод и набор ключевых генов, которые можно использовать для получения синтетических микроорганизмов, способных самостоятельно расти и размножаться.

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

Фолдинг белков превратили в компьютерную игру

Reading time2 min
Views16K
Потрясающую игру разработали учёные из Вашингтонского университета (США). Программа под названием Fold.it представляет собой модель сворачивания белков в трёхмерные конструкции. Геймер должен попытаться сделать это наиболее удачным образом. В программу будут загружаться реальные данные о настоящих, только что изобретённых протеинах, которые непонятно как сворачиваются. Результаты отправятся через интернет в центр обработки, где их проверят на суперкомпьютере (это будет с осени, а пока что в программу заложены уже решённые загадки, так что сейчас она выполняет роль тренажёра).



В самом деле, все геймеры нашего мира тратят миллиарды человеко-часов на бесполезные для человечества игры типа WoW, Counter-Strike или пасьянса «Косынка». В то же время они могли бы использовать интеллект более эффективно: например, сворачивая белки на экране своего монитора. Это ведь тоже по-своему интересно.
Читать дальше →

Теломераза: накрутка счётчика для хромосом

Reading time2 min
Views13K

Нобелевская премия 2009 по медицине и физиологии


Открытие защитных механизмов хромосом от концевой недорепликации с помощью теломер и теломеразы.
Элизабет Блекберн (Elizabeth Blackburn), Кэрол Грейдер (Carol Greider), Джек Шостак (Jack Szostack), все — США.

Суть изобретения. Трое американских учёных в 1984 году обнаружили теломеразу — уникальный фермент, он позволяет увеличить количество раз, которое хромосоме позволено копировать себя. В клетке роль счётчика делений выполняет теломера — специальный отросток хромосомы. С каждым делением он должен уменьшаться, пока совсем не закончится. Так вот, теломераза прикрепляет на кончик отростка фрагмент TTAGGG, который помогает восстановить длину теломеры после деления.



Самое важное, что каждая клетка изначально запрограммирована на то, сколько раз ей позволено делиться (фиксированный размер теломеры при отсуствии теломеразы). Когда срок выходит (достигнут предел Хейфлика) — клетка умирает, а вместе с ней и весь организм. У людей это называют «старость». А вот теломераза даёт бессмертие некоторым клеткам, например, 90% раковых клеток.
Читать дальше →

3D-модель рибосомы на атомном уровне

Reading time2 min
Views2.6K

Нобелевская премия 2009 по химии


Исследования функций и структуры рибосом.
Венкатраман Рамакришнан (Venkatraman Ramakrishnan), США; Томас Стейц (Thomas Steitz), США; Ада Йонат (Ada Yonath), Израиль.

Как известно, структура любого организма запрограммирована изначально в генетическом коде и сохраняется в ДНК. По этой программе (после её копирования в РНК) происходит производство каждой молекулы нашего организма. Непосредственно компиляцией протеинов занимаются рибосомы — своеобразные роботизированные мини-фабрики, которые присутствуют в каждой клетке. До XXI века наука не знала подробностей этого процесса, но он стал гораздо понятнее благодаря работе, которую нынешние нобелевские лауреаты практически параллельно выполнили и опубликовали в 2000 году. Они в малейших деталях засняли рибосому с помощью крио-электронного микроскопа и составили функциональную 3D-карту этого органоида. За что и получили Нобелевскую премию по химии 2009 года.


Читать дальше →

Как делают вакцины

Reading time15 min
Views45K

Появление векторной вакцины Sputnik V внесло некоторую сумятицу в типичное представление о вакцинах как о некой дозе ослабленных или дезактивированных патогенов, внедренных для тренировки иммунитета. Еще больше вопросов породил тот факт, что именно векторная вакцина появилась первой, а более простые и привычные варианты подоспели позднее. Ну и вопрос на засыпку: в чем проблема налаживания выпуска всех этих вакцин и почему в массовом доступе они только начинают появляться?

Под катом — расшифровка лекции специалиста по промышленным биотехнологиям, которая прошла при поддержке ярославской Точки при ЯрГУ. В ней — подробно о типах вакцин, механизмах их работы и способах массового производства.

Читать далее

Биоинформатика на минималках. Почему блохи родственники ледничков?

Reading time8 min
Views3K

Актуальность тренировки. 

Важный этап в развитии классификации отряда блох связан с развитием генномолекулярных исследований. В настоящее время благодаря этим методам подтверждается родственность отрядов блох и мекоптер. Активно изучаются гены рибосомальной ДНК, фактор элонгации белкового синтеза и митохондриального гена цитохромоксидаза II (COII), которые изучены у представителей большинства семейств отряда мекоптер, а также 128 видов 83 родов блох из 16 семейств (С.Г. Медведев.2009; Whiting 2002; Whiting et al. 2008). На основе данных по этим генам различными методами построения филогенетических деревьев и моделями подсчёта попарных расстояний реконструируется филогения блох, представленная за частую в виде консенсусного древа (strick consensus) (Whiting et al. 2008). Однако, в ряде случаев, результаты генномолекулярных исследований противоречат схеме родственных связей, полученных на основе филогенетического анализа. К тому же в соответствии с различными трактовками молекулярно-генетических данных могут по-разному трактоваться происхождения ключевых инфраотрядов блох. Так с точки зрения разных авторов одни и те же клады блох могут являться как полифилетическими, так и монофилетическими группами (Whiting et al. 2008, С.Г. Медведев.2019). Это может быть связано как с особенностями экологии современной фауны блох, так и с разного рода методическими проблемами работы с молекулярно-генетическими данными. В отношение первого пункта следует подчеркнуть, что обособление отдельных филетических линий блох, имеющих равный статус в таксономии, происходило в разные исторические промежутки времени. Это в свою очередь означает, что фауна блох являет собой разрозненные фрагменты обширной палеофауны, к настоящему моменту в значительной степени вымершей (С.Г. Медведев.2009, С.Г. Медведев.2019). Из этого следует, что при разных методических подходах к генно-молекулярным исследованиям мы можем упустить из вида конвергентную эволюцию нуклеотидных последовательностей (гомоплазия), что может привезти к ошибкам в определении топологии дерева и к низкой статистической поддержке ветвей. Так, например, используя данные, которые имеют разное отношение для разных таксонов и соответственно разное отношение к разным участкам генов, мы обнаружим пробелы в последовательностях, и отсутствие данных по разным локусам для разных образцов (С.Г. Медведев.2019, Лукашов В.В. 2006). Поэтому при выборе метода исследования следует учитывать все эти проблемы и подбирать образцы наиболее изученных и распространённых таксонов блох, чтобы потом сравнить их с наиболее изученными образцами мекоптер. Таким образом мы сможем построить более достоверное дерево с высокой поддержкой.

Читать далее

Телепортируем процесс на другой компьютер! 

Reading time12 min
Views15K
Однажды коллега поделился размышлениями об API для распределённых вычислительных кластеров, а я в шутку ответил: «Очевидно, что идеальным API был бы простой вызов telefork(), чтобы твой процесс очнулся на каждой машине кластера, возвращая значение ID инстанса». Но в итоге эта идея овладела мной. Я не мог понять, почему она такая глупая и простая, намного проще, чем любой API для удалённой работы, и почему компьютерные системы, кажется, не способны на такое. Я также вроде бы понимал, как это можно реализовать, и у меня уже было хорошее название, что является самой трудной частью любого проекта. Поэтому я приступил к работе.

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

На видео показано, что рендеринг на 64-ядерной VM в облаке завершается за 8 секунд (плюс 6 секунд на телефорк туда и обратно). Тот же рендеринг локально в контейнере на моём ноутбуке занимает 40 секунд:

Пишем загрузчик на Ассемблере и C. Часть 1

Reading time22 min
Views44K


Эта статья представляет собой ознакомительный материал о написании загрузчика на С и Ассемблере. Сразу скажу, что здесь я не буду вдаваться в сравнение производительности итогового кода, созданного на этих языках. В этой работе я просто вкратце изложу процесс создания загрузочного флоппи-образа путем написания собственного кода с последующим его внедрением в загрузочный сектор устройства. Все содержание будет разделено на цикл из трех статей, так как сразу сложно изложить всю нужную информацию и о компьютерах, и об устройствах загрузки, и о написании самого кода. В первой части я поясню наиболее общие аспекты компьютерной науки и суть процесса загрузки, а также обобщу значение и важность каждого этапа, чтобы упростить их понимание и запоминание.
Читать дальше →

Результат интеграции Pine A64 и TRS-80 Model 100

Reading time2 min
Views4.2K


В этой статье подводятся итоги установки компонентов одноплатного компьютера Pine A64 LTS SBC в корпус старинного компьютера TRS-80 Model 100. При этом подключается дополнительный дисплей, задействуется аппаратная клавиатура, и в целом в старое устройство вдохнули новую жизнь. Этому проекту было посвящено несколько статей, так что в случае интереса к материалу вашему вниманию будет предоставлен и их перевод. (прим.)
Читать дальше →

Information

Rating
Does not participate
Registered
Activity