Авторский обзор 90+ нейросетевых моделей на основе Transformer для тех, кто не успевает читать статьи, но хочет быть в курсе ситуации и понимать технические детали идущей революции ИИ.
Системный аналитик и немного биолог
Falang: Low-сode конструктор логики с экcпортом в C++, C#, Rust, Go, TypeScript
Полтора года назад я рассказывал про свой пет‑проект по визуальному программированию — falang.io. Основная его особенность состоит в том, что пользователь не управляет расположением икон на схеме, только их содержимым. Все остальные соединительные линии рисуются автоматически алгоритмом по строгим правилам. В т.ч. continue, break, return.
На данный момент, помимо обычных текстовых диаграмм, у меня появился Low‑code констркутор логики с упрощенной семантикой, который может экспортироваться в 5 современных языков программирования: C++, C#, Rust, Go, TypeScript.
Шорт-листы «Технотекста 2023»: достойные из достойных
Мы получили 1022 заявки, приняли из них 918, в шорт‑листы попало более 300 статей. Точной цифры по шорт‑листам нет неслучайно: поскольку наш естественный интеллект это вам не ChatGPT склонен уставать и ошибаться, несколько статей могут попасть в шорты, но, скорее всего, выпадут из них — так, во время подготовки этой статьи выяснилось, что из финала выбыли двое участников, скрывшие свои публикации в черновики.
Вообще, такого «Технотекста», как в этот раз, ещё не было: обычно мы сравнительно легко отсеивали участников и выбирали финалистов, разница в уровне материалов была очевидной. В этот раз номинанты сильные — и многие статьи не вышли в финал не потому, что они какие-то не такие, а потому что они объективно слабее лучших из лучших — но очевидно, что сильнее большей части статей на Хабре. Хотя участники «Технотекста» из года в год находят отличные способы добить нервную систему модераторов конкурса 😃
KeyDB и Redis: в поисках серебряной пули — in-memory replicated DB (Replicated IMDB)
На кластерах клиентов, которые мы обслуживаем, есть как «одноголовые» инсталляции 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 — то есть в коде приложения ничего менять не придется.
Звучит как фантастика?
Хочу ферму васаби в Подмосковье
С детства люблю растения. Не скажу, что между нами было что-то серьезное, но связь поддерживалась всю жизнь. Вместо растений я с головой ушел в IT, программирование и ML. И так бы жил, пока однажды мне не попалась статья, пробросившая мостик от моих навыков к давней любви. Это запустило цепочку событий (посмотрите у меня в профиле последние посты), которая длится уже 3 года и привела к идее строительства фермы по выращиванию настоящего васаби в Подмосковье.
Как мы управляем инфраструктурой на более 1000 серверов при помощи Ansible
Привет, Хабр! Мы системные инженеры X5 Tech — Алексей Кузнецов и Борис Мурашин. У нас за плечами больше 15 лет опыта, в том числе поддержка сервисов Rapida, CyberPlat, TeleTrade, сопровождение стека BigData и внедрение кластеров Hadoop. В этой статье мы расскажем, как выбирали систему управления конфигурациями, какими критериями руководствовались, что в итоге выбрали, с какими проблемами столкнулись и как их решали.
Рассматривать вопрос, зачем вообще нужна система управления конфигурацией, не будем. Потому что считаем, что если у вас больше одного сервера, она уже необходима. Перейдём сразу к тому, почему мы выбрали именно Ansible.
YouTube Shorts из терминала. Как автоматизировать создание видео с помощью FFMPEG и Bash. Часть 2
Привет, Хабр! В прошлой части я рассказал, как автоматизировать простую нарезку YouTube-видео на Shorts, добавить туда текст и размытый фон. Сегодня займемся более комплексной задачей — генерацией вертикальных видео на основе записи с геймплеем и текстом. В тексте узнаете, как генерировать аудио с помощью библиотеки Bark и настроить анимацию ASCII-маскота. Подробнее — под катом.
Разработка вредоносного ПО для MacOS: инъекция и закрепление шелл-кода на конечном устройстве
Мы продолжаем тему о проектировании и разработке вредоносного ПО для macOS. Первую часть публикации вы можете прочитать здесь.
В этой статье мы:
- Изучим методики инъецирования кода и то, как он применяется в вредоносном ПО;
- Затронем способы обеспечения постоянства хранения;
- В конце мы покажем простой процесс инъецирования шелл-кода и его постоянного хранения.
Как я разработал квадрокоптер на ESP32 с нуля (ушло 4 года)
При сборке квадрокоптеров и других БПЛА обычно используют готовую плату полетного контроллера, содержащую все необходимые датчики и периферию, и готовую полетную прошивку, например, Betaflight, ArduPilot или PX4. Полетный контроллер управляет моторами квадрокоптера и обеспечивает стабильный полет.
Занимаясь БПЛА с 2016 года, я решил разобраться в устройстве полетных контроллеров максимально глубоко и создать квадрокоптер с нуля, не используя готовый полетный контроллер и готовый софт. Спустя долгое время разработки мне удалось это сделать. Я написал прошивку с максимально простым исходным кодом и выложил ее на GitHub. В этой статье я расскажу о теории и практике разработки полетного софта для квадрокоптера и проиллюстрирую это на примере своего дрона на базе микроконтроллера ESP32, который можно увидеть на картинке выше.
Моё лучшее вложение 13 тыс. рублей (какой ботаник без микроскопа?)
Сидел я тут недавно перед монитором и размышлял чем бы себя ещё порадовать, а надо сказать, что порадовать меня не так просто (смайл). Долго я размышлял и решил остановить свой выбор на… микроскопе. Почему бы и нет? У меня уже давно стояло в планах оснастить лабораторию подобным инструментом.
И вот этот девайс неожиданно не просто меня порадовал, а вызвал настоящий вау-эффект. Это реально просто обалденная штука (простите за мой французский) и у меня возник только один вопрос — почему я не купил его раньше?
Далее я попробую простыми словами описать что это такое и приведу примеры фото и видео с этого микроскопа, после которых вы всё бросите закажете себе такой же (или даже лучше).
Транскодирование — видеоконтент на диете. Часть 1
Привет, Хабр! С вами Матвей Мочалов. В этом посте я хочу кратко затронуть тему того, без чего не обходится любой стриминговый сервис от соцсетей до онлайн‑кинотеатров — о транскодировании.
Операторы в кино и блогеры в погоне за красивой картинкой в исходном виде готовы пойти на любые жертвы, используя наиболее быстрые и объёмные накопители. А также немалые вычислительные мощности, чтобы это всё банально воспроизвести. Но подобный подход, увы, слабо совместим с доставкой видеоконтента через интернет, особенно, если вы хотите, чтобы это было коммерчески выгодным. А если в один момент его потребляют миллионы пользователей, тогда ещё и под их потребности необходимы разные версии в различных разрешениях, с разной частотой кадров, озвучкой и т. д.
Чтобы улучшить положение, исходный контент подвергается облегчению посредством транскодирования. Как по своему объёму, так и по нагрузке, требуемой для его воспроизведения на клиентском устройстве.
Интервью с создателем habrahabr — Денисом Крючковым
Даня: Какие же кармические причины нам мешали встретиться месяца два, наверное?
Денис: Я думаю, что занятость.
Даня: Ты занимался сексом с детьми и строил свое казино с блек-джеком и шлюхами?
Денис: Нет, это было раньше, теперь я с этим завязал.
Три жизни Дмитрия Зимина
Дмитрий Зимин был великим человеком, прожившим три глубоких жизни: инженера, бизнесмена и филантропа. Легче всего его сравнить с Биллом Гейтсом.
Сначала родившийся в 1933 году потомок старообрядческого купеческого рода Дмитрий Зимин сделал блестящую инженерную карьеру, став к закату СССР лауреатом крупных премий, руководителем по разработкам в ведущем радиотехническом институте и замом главного конструктора системы противоракетной обороны вокруг Москвы. Ведь он отлично разбирался в фазированных антенные решётки + был сильным организатором. Тут немного воспоминаний коллеги из тех времён.
В посвободневшей России 58-летний Зимин занялся амбициозными стартапами.
Цитата из Википедии:
"На фоне резкого сокращения оборонных заказов, 6 марта 1991 года зарегистрировал на базе Радиотехнического института малое предприятие КБ «Импульс». Первой разработкой фирмы стала система спутникового телевидения, которая была запущена в серийное производство на Вильнюсском заводе радиоизмерительных приборов (ВЗРИП) и продавалась в московском магазине «Эфир» на Тверской улице, но почти никакой прибыли этот проект не принёс. Следующим проектом была система кабельного телевидения АС-600, она также была запущена в серию и уже принесла небольшой доход. В 1991 году организовал группу технических экспертов внутри Радиотехнического института по разработке сотовой телефонной связи. В 1992 году было создано акционерное общество «Вымпел-Коммуникации», где Зимин стал президентом и генеральным директором"
Ого, три пивота за 1991 год: из оборонки в спутниковое тв, потом в кабельное тв, потом в сотовую связь.
Linux, Git и базы данных: что почитать новичкам в Академии Selectel
Источник.
Новичкам бывает сложно войти в администрирование. Комплексные курсы стоят дорого, а самостоятельный поиск информации заканчивается пополнением закладок, о которых вспоминают раз в год. В тексте собрали шесть бесплатных курсов по рекомендации от наших коллег. Их можно пройти сразу или постепенно — сохраним ваш прогресс, когда бы вы ни вернулись.
Grafana — прошлое, настоящее, будущее и альтернативы
Grafana — популярное приложение для мониторинга и визуализации данных, которое широко используется облачными провайдерами для мониторинга различных компонентов облачной инфраструктуры, таких как виртуальные машины, контейнеры, базы данных, сети. Grafana позволяет отслеживать производительность и использование ресурсов в режиме реального времени.
В этом году приложению исполняется десять лет, инструмент по-прежнему востребован в России. Поэтому мы решили поговорить об истории Grafana, а также обсудить роль этого открытого решения в развитии open source сообщества в целом.
Сборка MS-DOS 4.0
Совсем недавно на хабре появилась следующая новость: На GitHub опубликован исходный код MS-DOS 4.00 под лицензией MIT. Раз появились исходные коды, стало сразу интересно: а можно ли собрать эту операционную систему?
Числа и байты: как работает память в Linux?
❯ Часть первая: физическая память
При создании операционных систем всегда уделяется внимание работе с памятью. Память — это компонент компьютера, где хранятся программы и данные, и без нее современные компьютеры не могли бы функционировать. Важной единицей хранения данных в памяти является бит, который может принимать два значения: 0 или 1. Память состоит из ячеек, каждая из которых имеет свой адрес. Ячейки могут содержать различное количество битов, и количество адресуемых ячеек зависит от количества бит в адресе.
Также память включает в себя оперативное запоминающее устройство (ОЗУ) или RAM, где можно записывать и считывать информацию. Существует статическая ОЗУ (SRAM) и динамическая ОЗУ (DRAM), различающиеся в том, как хранится информация. В SRAM информация сохраняется до выключения питания, в то время как в DRAM используются транзисторы и конденсаторы, что позволяет хранить данные, но требует их периодического обновления. Разные типы ОЗУ имеют свои преимущества и недостатки, и выбор зависит от конкретных потребностей.
Понимание работы с памятью в компьютере важно для всех, кто работает с техникой и программным обеспечением. Важно знать, как устроена память, какие ее типы существуют и как эти типы могут влиять на производительность и функционирование компьютера.
Но что такое физическая память, как она работает в Linux? Что такое сегментация, утечки памяти и некие «страницы»?
Все, что вы хотели знать, но боялись спросить о памяти пингвина — читайте здесь и сейчас!
Сборка контейнеров без Docker
Привет, Хабр. Очень много много сейчас слышно про Кубернетис и Docker. Про них не знает наверное, только ленивый. Но есть и другие варианты работы с контейнерами. Предлагаю перевод статьи одного энтузиаста, который решил изучить похожие инструменты.
Реализация циклической генерации подземелий «изнутри»: да что тут сложного?
Вам нравятся старые Legend of Zelda времён SNES и GBA? Может быть, вам пришлась по вкусу Dark Souls? А, возможно, вы ещё и фанат Quake? Но что объединяет все эти игры? Для меня это в первую очередь дизайн уровней. Головоломки, удобные шорткаты и нелинейность исследования - вот то, что делает карту игры частью общего игрового процесса и вдыхает жизнь в процесс исследования мира.
В наше время расцвета жанра rogue-lite вопрос генерации игровых уровней актуален как никогда. Однако по-настоящему интересные уровни в жанре - большая редкость, я бы даже сказал, феноменальная. Чаще всего уровни представляют собой просто наборы заранее заготовленных комнат-коробок, случайным образом приставленных друг к другу, без какой-либо логичной высокоуровневой картины. Но, всё же, я знаю одну игру, которая взяла принципиально другой подход: Unexplored. На мой взгляд, она пересмотрела устоявшийся стереотип об ограничениях левелдизайна в рогаликах. Всё, что для этого понадобилось - циклическая генерация подземелий (Cyclic dungeon generation).
К сожалению, описаний этого алгоритма в Сети мною было найдено всего лишь два, одно из которых слишком поверхностно, а другое ссылается на отсутствующие в свободном доступе инструменты. Попытка самостоятельно повторить алгоритм без таких инструментов приводит к ряду любопытных задачек.
Киберсани к адвенту: угадываем IT-города России и помогаем доставить подарки
Только вы помогли Хабраслизню разобраться с ловушками роботов, как из-за магнитной бури произошёл сбой в ЦОДе Навигационного центра Фабрики подарков. Киберсани могут доставить подарки даже без водителя, но для этого им нужна работающая навигационная система. Так что поднять сани в воздух можно, только настроив базу данных по новой, сопоставив описания городов с их реальной геопозицией.
Но Хабраслизень и магические жители не справятся с этой задачей в одиночку. Им снова нужна ваша помощь!