Pull to refresh
6
33
Марат Цконян @OrkBiotechnologist

Системный аналитик и немного биолог

Send message

Зоопарк трансформеров: большой обзор моделей от BERT до Alpaca

Level of difficultyHard
Reading time59 min
Views22K

Авторский обзор 90+ нейросетевых моделей на основе Transformer для тех, кто не успевает читать статьи, но хочет быть в курсе ситуации и понимать технические детали идущей революции ИИ.

Читать далее
Total votes 28: ↑28 and ↓0+28
Comments15

Falang: Low-сode конструктор логики с экcпортом в C++, C#, Rust, Go, TypeScript

Level of difficultyEasy
Reading time3 min
Views6.2K

Полтора года назад я рассказывал про свой пет‑проект по визуальному программированию — falang.io. Основная его особенность состоит в том, что пользователь не управляет расположением икон на схеме, только их содержимым. Все остальные соединительные линии рисуются автоматически алгоритмом по строгим правилам. В т.ч. continue, break, return.

На данный момент, помимо обычных текстовых диаграмм, у меня появился Low‑code констркутор логики с упрощенной семантикой, который может экспортироваться в 5 современных языков программирования: C++, C#, Rust, Go, TypeScript.

Читать далее
Total votes 11: ↑11 and ↓0+16
Comments11

Шорт-листы «Технотекста 2023»: достойные из достойных

Reading time27 min
Views12K

Мы получили 1022 заявки, приняли из них 918, в шорт‑листы попало более 300 статей. Точной цифры по шорт‑листам нет неслучайно: поскольку наш естественный интеллект это вам не ChatGPT склонен уставать и ошибаться, несколько статей могут попасть в шорты, но, скорее всего, выпадут из них — так, во время подготовки этой статьи выяснилось, что из финала выбыли двое участников, скрывшие свои публикации в черновики.

Вообще, такого «Технотекста», как в этот раз, ещё не было: обычно мы сравнительно легко отсеивали участников и выбирали финалистов, разница в уровне материалов была очевидной. В этот раз номинанты сильные — и многие статьи не вышли в финал не потому, что они какие-то не такие, а потому что они объективно слабее лучших из лучших — но очевидно, что сильнее большей части статей на Хабре. Хотя участники «Технотекста» из года в год находят отличные способы добить нервную систему модераторов конкурса 😃

Читать далее
Total votes 83: ↑83 and ↓0+121
Comments41

KeyDB и Redis: в поисках серебряной пули — in-memory replicated DB (Replicated IMDB)

Level of difficultyMedium
Reading time19 min
Views13K

На кластерах клиентов, которые мы обслуживаем, есть как «одноголовые» инсталляции Redis (обычно для кэшей, которые не страшно потерять), так и более отказоустойчивые решения — Redis Sentinel или Redis Cluster. По нашему опыту, во всех трех вариантах можно безболезненно переключиться с Redis на KeyDB и получить прирост производительности. Точнее, избавиться от бутылочного горлышка Redis в одно ядро. Хотя в новых версиях Redis(r) появилась обработка I/O в отдельных тредах, иногда этого бывает недостаточно.

В то же время, если мы хотим использовать отказоустойчивые решениями вроде Sentinel и Cluster, нам понадобится поддержка этих технологий на уровне библиотеки, которую приложение использует для подключения в Redis. Причем лишь немногие библиотеки умеют читать из реплик Redis — в обоих вариантах (Sentinel и Cluster) чтение, как правило, происходит с мастеров. И запись, естественно, тоже происходит в мастеры. 

В итоге у нас есть несколько реплик довольно дорогого in-memory-хранилища, а в рабочем процессе используется только часть из них. Остальные — на подхвате. Хотя в большинстве кейсов операции с in-memory NoSQL DB — это именно операции чтения.

Однако если посмотреть в сторону KeyDB, то можно увидеть, что там есть киллер-фича — и даже две: я говорю о режимах Active Replica и Multi-Master. Использование этих режимов позволяет получить распределенный отказоустойчивый KeyDB, совместимый с Redis, писать в любую ноду, читать из любой ноды. И все это с точки зрения приложения выглядит как один экземпляр Redis без всяких Sentinel — то есть в коде приложения ничего менять не придется. 

Звучит как фантастика?

Читать далее
Total votes 40: ↑40 and ↓0+40
Comments21

Хочу ферму васаби в Подмосковье

Level of difficultyEasy
Reading time11 min
Views28K

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

Читать далее
Total votes 277: ↑275 and ↓2+338
Comments124

Как мы управляем инфраструктурой на более 1000 серверов при помощи Ansible

Level of difficultyMedium
Reading time12 min
Views18K

Привет, Хабр! Мы системные инженеры X5 Tech — Алексей Кузнецов и Борис Мурашин. У нас за плечами больше 15 лет опыта, в том числе поддержка сервисов Rapida, CyberPlat, TeleTrade, сопровождение стека BigData и внедрение кластеров Hadoop. В этой статье мы расскажем, как выбирали систему управления конфигурациями, какими критериями руководствовались, что в итоге выбрали, с какими проблемами столкнулись и как их решали.

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

Читать далее
Total votes 34: ↑34 and ↓0+34
Comments22

YouTube Shorts из терминала. Как автоматизировать создание видео с помощью FFMPEG и Bash. Часть 2

Reading time10 min
Views4K

Привет, Хабр! В прошлой части я рассказал, как автоматизировать простую нарезку YouTube-видео на Shorts, добавить туда текст и размытый фон. Сегодня займемся более комплексной задачей — генерацией вертикальных видео на основе записи с геймплеем и текстом. В тексте узнаете, как генерировать аудио с помощью библиотеки Bark и настроить анимацию ASCII-маскота. Подробнее — под катом.
Читать дальше →
Total votes 35: ↑35 and ↓0+51
Comments4

Разработка вредоносного ПО для MacOS: инъекция и закрепление шелл-кода на конечном устройстве

Level of difficultyHard
Reading time20 min
Views4.4K

Мы продолжаем тему о проектировании и разработке вредоносного ПО для macOS. Первую часть публикации вы можете прочитать здесь. 

В этой статье мы:

- Изучим методики инъецирования кода и то, как он применяется в вредоносном ПО;

- Затронем способы обеспечения постоянства хранения;

- В конце мы покажем простой процесс инъецирования шелл-кода и его постоянного хранения. 

Читать далее
Total votes 20: ↑20 and ↓0+24
Comments1

Как я разработал квадрокоптер на ESP32 с нуля (ушло 4 года)

Level of difficultyMedium
Reading time12 min
Views57K

При сборке квадрокоптеров и других БПЛА обычно используют готовую плату полетного контроллера, содержащую все необходимые датчики и периферию, и готовую полетную прошивку, например, Betaflight, ArduPilot или PX4. Полетный контроллер управляет моторами квадрокоптера и обеспечивает стабильный полет.

Занимаясь БПЛА с 2016 года, я решил разобраться в устройстве полетных контроллеров максимально глубоко и создать квадрокоптер с нуля, не используя готовый полетный контроллер и готовый софт. Спустя долгое время разработки мне удалось это сделать. Я написал прошивку с максимально простым исходным кодом и выложил ее на GitHub. В этой статье я расскажу о теории и практике разработки полетного софта для квадрокоптера и проиллюстрирую это на примере своего дрона на базе микроконтроллера ESP32, который можно увидеть на картинке выше.

Читать далее
Total votes 312: ↑312 and ↓0+371
Comments132

Моё лучшее вложение 13 тыс. рублей (какой ботаник без микроскопа?)

Level of difficultyEasy
Reading time11 min
Views20K


Сидел я тут недавно перед монитором и размышлял чем бы себя ещё порадовать, а надо сказать, что порадовать меня не так просто (смайл). Долго я размышлял и решил остановить свой выбор на… микроскопе. Почему бы и нет? У меня уже давно стояло в планах оснастить лабораторию подобным инструментом.

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

Далее я попробую простыми словами описать что это такое и приведу примеры фото и видео с этого микроскопа, после которых вы всё бросите закажете себе такой же (или даже лучше).
Читать дальше →
Total votes 75: ↑73 and ↓2+96
Comments62

Транскодирование — видеоконтент на диете. Часть 1

Level of difficultyEasy
Reading time6 min
Views2.7K

Привет, Хабр! С вами Матвей Мочалов. В этом посте я хочу кратко затронуть тему того, без чего не обходится любой стриминговый сервис от соцсетей до онлайн‑кинотеатров — о транскодировании.

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

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

Читать далее
Total votes 14: ↑9 and ↓5+6
Comments0

Интервью с создателем habrahabr — Денисом Крючковым

Reading time7 min
Views2.3K
С Денисом мы не могли побеседовать около двух месяцев, на каждой неделе по нескольку раз договариваясь о встрече. Не складывались обстоятельства: то один, то другой не мог подъехать. В итоге, мы все же встретились в баре Boozz, который находится неподалеку от офисов Тематических Медиа и Futurico.

Даня: Какие же кармические причины нам мешали встретиться месяца два, наверное?
Денис: Я думаю, что занятость.

Даня: Ты занимался сексом с детьми и строил свое казино с блек-джеком и шлюхами?
Денис: Нет, это было раньше, теперь я с этим завязал.

Читать дальше →
Total votes 132: ↑113 and ↓19+94
Comments118

Три жизни Дмитрия Зимина

Reading time5 min
Views14K

Дмитрий Зимин был великим человеком, прожившим три глубоких жизни: инженера, бизнесмена и филантропа. Легче всего его сравнить с Биллом Гейтсом.

Сначала родившийся в 1933 году потомок старообрядческого купеческого рода Дмитрий Зимин сделал блестящую инженерную карьеру, став к закату СССР лауреатом крупных премий, руководителем по разработкам в ведущем радиотехническом институте и замом главного конструктора системы противоракетной обороны вокруг Москвы. Ведь он отлично разбирался в фазированных антенные решётки + был сильным организатором. Тут немного воспоминаний коллеги из тех времён.

В посвободневшей России 58-летний Зимин занялся амбициозными стартапами.

Цитата из Википедии:

"На фоне резкого сокращения оборонных заказов, 6 марта 1991 года зарегистрировал на базе Радиотехнического института малое предприятие КБ «Импульс». Первой разработкой фирмы стала система спутникового телевидения, которая была запущена в серийное производство на Вильнюсском заводе радиоизмерительных приборов (ВЗРИП) и продавалась в московском магазине «Эфир» на Тверской улице, но почти никакой прибыли этот проект не принёс. Следующим проектом была система кабельного телевидения АС-600, она также была запущена в серию и уже принесла небольшой доход. В 1991 году организовал группу технических экспертов внутри Радиотехнического института по разработке сотовой телефонной связи. В 1992 году было создано акционерное общество «Вымпел-Коммуникации», где Зимин стал президентом и генеральным директором"

Ого, три пивота за 1991 год: из оборонки в спутниковое тв, потом в кабельное тв, потом в сотовую связь.

Но даже Билайн - не главная заслуга Зимина
Total votes 104: ↑97 and ↓7+117
Comments17

Linux, Git и базы данных: что почитать новичкам в Академии Selectel

Reading time4 min
Views11K

Источник.

Новичкам бывает сложно войти в администрирование. Комплексные курсы стоят дорого, а самостоятельный поиск информации заканчивается пополнением закладок, о которых вспоминают раз в год. В тексте собрали шесть бесплатных курсов по рекомендации от наших коллег. Их можно пройти сразу или постепенно — сохраним ваш прогресс, когда бы вы ни вернулись.
Читать дальше →
Total votes 42: ↑40 and ↓2+52
Comments5

Grafana — прошлое, настоящее, будущее и альтернативы

Level of difficultyEasy
Reading time4 min
Views17K
image

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

В этом году приложению исполняется десять лет, инструмент по-прежнему востребован в России. Поэтому мы решили поговорить об истории Grafana, а также обсудить роль этого открытого решения в развитии open source сообщества в целом.

Читать дальше →
Total votes 10: ↑9 and ↓1+9
Comments2

Сборка MS-DOS 4.0

Reading time6 min
Views25K

Совсем недавно на хабре появилась следующая новость: На GitHub опубликован исходный код MS-DOS 4.00 под лицензией MIT. Раз появились исходные коды, стало сразу интересно: а можно ли собрать эту операционную систему?
Читать дальше →
Total votes 112: ↑111 and ↓1+156
Comments73

Числа и байты: как работает память в Linux?

Level of difficultyHard
Reading time27 min
Views20K
image

Часть первая: физическая память


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

Также память включает в себя оперативное запоминающее устройство (ОЗУ) или RAM, где можно записывать и считывать информацию. Существует статическая ОЗУ (SRAM) и динамическая ОЗУ (DRAM), различающиеся в том, как хранится информация. В SRAM информация сохраняется до выключения питания, в то время как в DRAM используются транзисторы и конденсаторы, что позволяет хранить данные, но требует их периодического обновления. Разные типы ОЗУ имеют свои преимущества и недостатки, и выбор зависит от конкретных потребностей.

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

Но что такое физическая память, как она работает в Linux? Что такое сегментация, утечки памяти и некие «страницы»?

Все, что вы хотели знать, но боялись спросить о памяти пингвина — читайте здесь и сейчас!
Читать дальше →
Total votes 31: ↑31 and ↓0+35
Comments18

Сборка контейнеров без Docker

Reading time10 min
Views11K

Привет, Хабр. Очень много много сейчас слышно про Кубернетис и Docker. Про них не знает наверное, только ленивый. Но есть и другие варианты работы с контейнерами. Предлагаю перевод статьи одного энтузиаста, который решил изучить похожие инструменты.

Читать далее
Total votes 17: ↑17 and ↓0+17
Comments8

Реализация циклической генерации подземелий «изнутри»: да что тут сложного?

Level of difficultyEasy
Reading time14 min
Views10K

Вам нравятся старые Legend of Zelda времён SNES и GBA? Может быть, вам пришлась по вкусу Dark Souls? А, возможно, вы ещё и фанат Quake? Но что объединяет все эти игры? Для меня это в первую очередь дизайн уровней. Головоломки, удобные шорткаты и нелинейность исследования - вот то, что делает карту игры частью общего игрового процесса и вдыхает жизнь в процесс исследования мира.

В наше время расцвета жанра rogue-lite вопрос генерации игровых уровней актуален как никогда. Однако по-настоящему интересные уровни в жанре - большая редкость, я бы даже сказал, феноменальная. Чаще всего уровни представляют собой просто наборы заранее заготовленных комнат-коробок, случайным образом приставленных друг к другу, без какой-либо логичной высокоуровневой картины. Но, всё же, я знаю одну игру, которая взяла принципиально другой подход: Unexplored. На мой взгляд, она пересмотрела устоявшийся стереотип об ограничениях левелдизайна в рогаликах. Всё, что для этого понадобилось - циклическая генерация подземелий (Cyclic dungeon generation).

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

Каких же?
Total votes 28: ↑28 and ↓0+34
Comments15

Киберсани к адвенту: угадываем IT-города России и помогаем доставить подарки

Reading time1 min
Views3.6K

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

Но Хабраслизень и магические жители не справятся с этой задачей в одиночку. Им снова нужна ваша помощь!

Восстановить карту
Total votes 12: ↑9 and ↓3+15
Comments1

Information

Rating
243-rd
Location
Alicante/Alacant, Испания
Works in
Date of birth
Registered
Activity

Specialization

Systems Analyst, Technical Writer
Middle
Python
C++
Linux
English
Docker
Journalism
Technical director
Interview
Support projects
CIO