Search
Write a publication
Pull to refresh
2
0
Send message

Транскриптомный анализ: как посчитать гены?

Level of difficultyEasy
Reading time20 min
Views3.5K

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

Читать далее

Распознавание образов в мозге с помощью микроплееров

Level of difficultyMedium
Reading time8 min
Views3.7K

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

Здесь что то не так. Рассмотрим другой подход.

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

Читать далее

Создание алгоритма для мультиагентной системы

Level of difficultyEasy
Reading time5 min
Views3K

Интеллектуальный агент — это элемент в системе, выполняющий задачи, стоящие перед ним. Агент обладает следующими свойствами: активность, автономность, целенаправленность.

Существует 2 вида структуры агента: гетерогенное и гомогенное. Гомогенные агенты сконструированы идентично, то есть особо не отличаются друг от друга. А гетерогенный вид означает, что агенты отличаются друг от друга.

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

Существует 2 основных подхода управления роботами: централизованная и децентрализированная. Централизованная система означает, что есть один какой‑то агент, который руководит всем. А децентрализованная противоположна централизованной, то есть каждый агент действует независимо.

Мультиагентная система (МАС) — это система, состоящая из нескольких интеллектуальных агентов. Например, муравейник, он состоит из множества агентов, муравьев.

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

Цель работы — Создание математической модели и алгоритма для роботизированной системы. Задачи:

Читать далее

Что случилось с легковесными десктопными приложениями? История Electron

Level of difficultyEasy
Reading time7 min
Views39K

Electron — это один из самых известных инструментов современного разработчика. Если присмотреться, то это родственник React Native, манящий лозунгом «пиши один раз, запускай везде!», но с гораздо меньшими издержками по сборке и релизу, чем в случае мобильной разработки. Его уникальное преимущество заключается в комбинации Node.js и Chromium, создающей мощную десктопную среду для веб-технологий. Официальный блог Electron не так давно отметил своё десятилетие, что весьма удивляет с учётом того, насколько глубоко этот инструмент успел проникнуть в культуру разработки.
Читать дальше →

Что такое ООП (объектно-ориентированное программирование)

Reading time3 min
Views8.9K

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

Когда-то, лет 30 назад, мне посчастливилось поработать в одном очень продвинутом коллективе известного ВУЗа, и там один из научных руководителей регулярно приходил в бешенстве с конференций, на которых обсуждались видения ООП и подходы к реализациям, потому что его понимание сильно отличалось от коллег-участников конференций с других кафедр. Кстати сказать, он написал java-подобный язык, который вроде до сих пор с успехом используют. Этим воспоминанием я хочу подчеркнуть, что проблема не такая уж и новая, и не такая уж и надуманная.

В современных источниках об ООП-принципах вы непременно найдете тезис об инкапсуляции, наследовании и полиморфизме, тогда как на заре компьютерных наук ни один из разработчиков или компьютерных ученых ничего подобного вам бы не заявил. Наверняка здесь есть какая-то путаница.

Ну, посудите сами, парадигмы процедурного программирования основанные на теореме структурного программирования окончательно сформировались только к началу 70-х годов прошлого века, а первые языки ООП появились еще в начале 60-х годов. Но современное поколение, в основной своей массе, почему-то считает, что ООП - это что-то новое, и к тому же неудачное, и поэтому его надо срочно заменить чем-то типа Питона или на худой конец Скалы итп.

Читать далее

Исследование производительности свободных хранилищ LINSTOR, Ceph, Mayastor и Vitastor в Kubernetes

Reading time10 min
Views20K

Кажется это уже стало традицией: каждый раз, когда я выхожу на новое рабочее место, моя деятельность начинается с бенчмарков различных SDS-решений. Мой приход во «Флант» не стал исключением. Я попал в команду разработки Kubernetes-платформы Deckhouse, где решили развивать возможность запуска виртуальных машин в Kubernetes. Но для этого сначала потребовалось найти простое и надежное хранилище блочного типа, которое можно предложить клиентам платформы.

Я взял несколько свободных решений и протестировал, как они поведут себя в тех или иных условиях. В первую очередь интересовала производительность DRBD в различных конфигурациях и сравнение с Ceph.

Но рынок программно-определяемых хранилищ не стоит на месте и постоянно растёт. Появляются новые амбициозные проекты, включая недавно релизнутый Mayastor и pet-проект моего товарища-соратника Vitastor. Результаты оказались очень интересными.

Читать далее

Сказ о том, как я «умный дом» делал

Reading time6 min
Views30K

Давным-давно был такой фильм "Один дома". А в фильме был эпизод с автоматически включающимся светом в домах - имитация присутствия.
И вот тогда-то и захотелось сделать что-то подобное.

Времена были дикие, никаких "умных домов" тогда в наших краях не знали, не ведали, и пришлось городить колхоз лютый, самолепный.
За основу был взят старый компьютер, из тех, у которых были аппаратные LPT-порты.
Там было как минимум 8 проводов, на которых можно было выставить 0 или 1 (+5в), просто записав в порт соответствующий байт.
(забегая вперед - это почти то же самое что сейчас использовать Ардуино).

Читать далее

Запускаем советский процессор из журнала «Радио» с помощью Arduino

Level of difficultyHard
Reading time17 min
Views48K

Привет! Меня зовут Илья Мамай, я инженер-программист в группе разработки операционных систем YADRO. В этой статье я хочу поделиться опытом некромантии сборки советского компьютера по мотивам «Микро-80», схемы которого были опубликованы в журнале «Радио». Но собирать я буду не по этим схемам. Используя их как опору и источник вдохновения, я начну с запуска процессора КР580ВМ80А (советского клона Intel 8080), определения признаков жизни и продолжу постепенным наращиванием функционала и возможностей системы. Здесь мы займемся и радиотехникой, и DIY, и программированием как самого процессора, так и современных микроконтроллеров. Но перед этим поделюсь историей, как я, будучи студентом 4 курса, дошел до этого…

Читать далее

Программируем SFP-модули на программаторе CH341A

Reading time2 min
Views9K

Прошло уже более года с момента моей публикации о программаторе для CH341A под Linux - IMSProg и у меня возникло желание избавиться от еще одной программы, не дающей навсегда забыть о существовании Windows. Мой прежний программатор SFP собран на чипе FT232RL и имел софт только под Windows.

Каждый SFP-модуль имеет с своем составе стандартную микросхему 24C04 или 24C02, что натолкнуло меня на мысль использования простейшего переходника для программатора CH341 с использованием четырех проводов - земли, питания, I2C сигналов SDA и SCL. После просмотра разработок различных фирм я добавил в переходник джамперы на сигналы питания для снятия защиты от записи медных модулей - J1, J2 и J3 (контакты SFP TxPWR, RxPWR и TxEN). В результате получилась такая схема:

Читать далее

CMake: Настройка проекта, подключение библиотек и мучения с Vulkan

Level of difficultyEasy
Reading time10 min
Views5K

Oh, and the documentation: It's extensive but never tells me what I need to know.

Эта цитата взята из обсуждения CMake на Reddit, и она очень точно описывает большую часть моих проблем с CMake: когда я хочу что-то сделать, документация не помогает с этим вообще, - приходится искать решения в чужих проектах и статьях.

В этой статье будут разобраны проблемы, с которыми я столкнулся в процессе изучения Vulkan. Однако материал будет полезен и тем, кто настраивает любой другой проект.

Читать далее

Цикл в RegEx для поиска подстрок с условием

Level of difficultyEasy
Reading time7 min
Views2.8K

Я хочу поделиться своим изобретением, которое позволяет вам использовать только одно регулярное выражение, которое будет искать подстроку в строке с определенным условием. Если хотите, называйте это циклом в RegEx, которого раньше не существовало!

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

Посмотреть идеи и шаблоны

Безумные и забавные факты о SQLite

Level of difficultyMedium
Reading time5 min
Views32K

  1. SQLite — самая часто разворачиваемая и используемая база данных. На текущий момент активно используется более одного триллиона (1000000000000 или миллиона миллионов) баз данных SQLite.

    Её поддерживают три человека. Они не допускают внешних контрибьюторов.
Читать дальше →

Постквантовая криптография в Java

Level of difficultyEasy
Reading time4 min
Views2.2K

Команда Spring АйО перевела статью про новые возможности грядущей версии Java 24, в которой появятся два JEP — 496 и 497, посвященные алгоритмам, устойчивым к квантовым атакам. 

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

Читать далее

Небольшая переделка одного устройства

Level of difficultyMedium
Reading time3 min
Views15K

Понадобился мне на самолете цифровой компас, какое-то подобие привычному КИ-13.

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

Непосредственно в качестве индикатора выбрано довольно интересное устройство для умного дома - круглая шайба, диаметром 58 мм в алюминиевом корпусе с цветным дисплеем.

Читать далее

Как сгладить облачные турбулентности

Level of difficultyMedium
Reading time6 min
Views758

В условиях ограничения доступа к самым современным технологиям компании всё чаще стремятся переложить заботу о поддержании работоспособности ИТ-инфраструктуры на профессионалов. И вариантов тут два: либо консолидировать вычислительные ресурсы на собственной технологической площадке, развитием которой будут заниматься своя ИТ-служба, либо отдавать вычислительные ресурсы на аутсорсинг, то есть пользоваться услугами облачных провайдеров. Проще, конечно же, доверить управление ИТ-инфраструктурой сторонним профессионалам, однако надежнее и безопаснее развивать собственные компетенции за счет внедрения современных средств автоматизации управления Центрами обработки данных (ЦОД).

Читать далее

Портативное прототипирование электроники #02. Нужно больше STLink-ов

Level of difficultyMedium
Reading time10 min
Views4.9K

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

Читать далее

Массовый переход с AutoCAD и Civil 3D на nanoCAD в дорожном строительстве. Опыт АО «ДСК “АВТОБАН”»

Reading time2 min
Views4.8K

Рассказываем, как переход на Платформу nanoCAD и nanoCAD GeoniCS позволил АО ДСК “АВТОБАН”» реализовать импортозамещение САПР без сбоев в производственных процессах.

Читать далее

Git Stash: заначка в репозитории

Reading time5 min
Views5.4K

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

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

Читать далее

Реальная эффективность Qwen 2.5 Coder против ChatGPT (или можно ли сэкономить 20$?)

Level of difficultyEasy
Reading time8 min
Views20K

Можно ли сэкономить 20$ и заменить ChatGPT локальным Qwen 2.5 Coder? Попробуем проверить логику моделей!

Читать далее

Практическое обучение с подкреплением: от забав с MuJoCo'м до битв на арене

Level of difficultyMedium
Reading time14 min
Views3.7K

Добрый день, уважаемые хабровчане! Я хочу поделиться с вами очень интересным проектом, над которым работал в последнее время.

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

Готовы? Тогда — вперед!

Внимание! Тяжёлые гифки под катом.

На арену!

Information

Rating
Does not participate
Registered
Activity