Pull to refresh
0
garbager @garbager read⁠-⁠only

User

Send message

Выжимаем все соки: PGO Оптимизация ядра Linux

Reading time 9 min
Views 11K

Сложность вычислительных задач и систем растёт с каждым днём. Для бизнеса ускорение кода даже на пару процентов даёт улучшение производительности, заметное снижение издержек и уменьшение задержки(latency). В первую очередь это касается мобильных и встраиваемых систем, высоконагруженных серверов, научных вычислений и 3D-графики. Так был разработан относительно перспективный и молодой метод оптимизации — Profile-Guided Optimization, далее просто PGO-оптимизация. Данный метод эффективно используют такие известные компании, как Google, Mozilla Foundation, Intel, Oracle, IBM и другие. Практически ни один современный веб-браузер не обходится без PGO-оптимизации.

Не так давно компанией Google был предложен набор патчей, включающий PGO-оптимизацию в ядре Linux. Мною был протестирован этот набор патчей в работе и доработан. Мне хотелось бы рассказать об этом методе оптимизации ядра Linux, о том, с какими трудностями можно столкнуться, и как их решить.

Если вас заинтересовала эта тема, вам интересно развитие технологий и тренды крупных компаний, то добро пожаловать под кат.
Читать дальше →
Total votes 68: ↑62 and ↓6 +56
Comments 29

Аналог Moodle или как преподаватель-юрист создавал собственную систему дистанционного обучения. Часть 1. Начало

Reading time 7 min
Views 5.5K

Дисклеймер: система дистанционного обучения (СДО) в настоящее время введена в эксплуатацию (продакшн), апробирована, протестирована и успешно работает. Система бесплатна, имеет открытый исходный код и выложена в репозитории GitHub. С точки зрения стека технологий она построена на фреймворке Laravel 8.0 (PHP 7.4) с использованием библиотек и иных пакетов (программ): React (redux+router), SocketIo, Docker, NodeJs, Rest API, WebRTC, Leaflet и т.д.

В серии статей я расскажу, как устроена система, через что пришлось пройти при ее разработке и какие проблемы пришлось решать.

Читать далее
Total votes 14: ↑13 and ↓1 +12
Comments 11

Подшивка газеты «Комсомольская правда» за 1941—1945 годы опубликована на Викискладе по свободной лицензии

Reading time 5 min
Views 6.1K

21 ноября военная подшивка газеты «Комсомольская правда» появилась в интернете на сайте Викисклад — в фотобанке, который обслуживает Википедию и другие проекты фонда «Викимедиа». Выпуски с 22 июня 1941 года по 9 мая 1945 года переданы в свободный доступ. Их можно использовать по лицензии «Creative Commons Attribution ShareAlike». Читайте подробности в интервью, которое дал нам Станислав Козловский.

Нажимая на кнопку, вы соглашаетесь читать!
Total votes 20: ↑19 and ↓1 +18
Comments 13

Серьезная ошибка в процессорах Intel раскрывает ключи шифрования

Reading time 3 min
Views 6K

CVE-2021-0146, идентификатор уязвимости, возникающей при использовании функции отладки с чрезмерными привилегиями, в результате чего злоумышленники могут читать зашифрованные файлы.

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

Читать далее
Total votes 10: ↑8 and ↓2 +6
Comments 3

Как это устроено: видеоконференции ВКонтакте на безлимитное число участников

Reading time 20 min
Views 19K

Сервисы для онлайн-общения и всевозможная доставка — наверное, самые востребованные и активно развивающиеся отрасли 2020–21-го. Мы ВКонтакте тоже не остались в стороне: работая удалённо с первых месяцев пандемии, запустили групповые видеозвонки. Сперва они вмещали одновременно 128 человек, а теперь мы полностью сняли лимиты на число участников.

В этой статье рассказываем, с какими трудностями сталкивается большинство сервисов звонков. И показываем, что нам понадобилось сделать и изобрести, чтобы преодолеть ограничения по числу участников. Попутно отвечаем на вопросы, которые прилетали со всех сторон на волне интереса к технологиям real-time коммуникации: как устроены Zoom и Clubhouse, что взять для своего сервиса звонков из open source, как встроить звонки в приложение. Про эффективную доставку тоже будет — но не еды, а данных, аудио и видео.

Читать далее
Total votes 54: ↑54 and ↓0 +54
Comments 13

Работа с квалифицированными сертификатами в свете новой редакции Приказа №795 ФСБ РФ от 21.01.2021. Часть II

Reading time 5 min
Views 4.2K
imageПосле опубликования статьи, посвящённой требованиям Приказа №795 ФСБ России в редакции от 29 января 2021 года, меня не покидало чувство её незавершённости. Это чувство было связано с тем, что в статье ни слова не было сказано про утилиту CAFL63, которая позволяет разворачивать удостоверяющие центры. И естественным является то, что её тоже необходимо привести в соответствие с новыми требованиями.
Читать дальше →
Total votes 5: ↑4 and ↓1 +3
Comments 0

Telegram-бот Silero бесплатно переводит речь в текст

Reading time 3 min
Views 139K

header


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


Боту можно послать аудио как напрямую, так и добавить в группу. В группе бот будет реагировать на все аудиофайлы (но сообщения об ошибках выводиться не будут). Более подробно об ограничениях и особенностях работы можно узнать в методах /help и /faq.


Основная UX фишка работы бота — проработанный и удобный формат чтения и навигации по распознанным сообщениям и заметкам (а не стена текста).

попробовать
Total votes 51: ↑50 and ↓1 +49
Comments 56

Проактивные SIM-карты

Reading time 4 min
Views 9.2K

После столкновения с проактивными SMS-сообщениями от SIM-карты AT&T (перевод статьи тут) я решил проверить и другие SIM-карты. Не секрет, что практически все они поддерживают проактивные функции, но мне стало интересно, сколько карт используют их фактически.

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

«Магнитофон» для ZX Spectrum на базе Arduino

Reading time 6 min
Views 21K

Есть у меня аналог Спекки — персональный компьютер «Мастер». Он прошел несколько модернизаций, так что сейчас работает от обычного USB и с любым телевизором по SCART. Но вот с загрузкой программ есть небольшие сложности: магнитофона у меня уже нет, ноут для этих целей разворачивать лениво, а удобного софта для телефонов не нашел. В общем, хочется чего-то серьезного. На века. Залить всю библиотеку софта и игр, положить на полочку и не бояться, что лет через 10 это дело протухнет.

На просторах интернета ходит такой проект как TZXDuino. В этой статье я расскажу о моих модификациях в нем и итоговом результате.

Читать далее
Total votes 64: ↑63 and ↓1 +62
Comments 55

Apache Spark, объяснение ключевых терминов

Reading time 9 min
Views 18K

Как отмечено в статье Survey shows huge popularity spike for Apache Spark:

«Apache Spark - это Тейлор Свифт программного обеспечения в мире больших данных. Технология с открытым исходным кодом существует и популярна в течении нескольких лет. Но 2015 год стал важной вехой, когда Spark прошел путь от перспективной технологии до настоящей суперзвезды. 

Одна из причин, по которой Apache Spark стал таким популярным, заключается в том, что Spark предоставляет саентистам и инженерам данных мощный унифицированный движок, который является одновременно быстрым (в 100 раз быстрее, чем Apache Hadoop), так и простым в использовании. Это позволяет различным специалистам по данным решать разнообразные проблемы, например, задачи машинного обучения, вычисление графов, потоковая обработка и выполнение в режиме реального времени различных запросов в гораздо большем масштабе. 

Читать далее
Total votes 4: ↑1 and ↓3 -2
Comments 7

Красивые визуализации GitHub с помощью PyGraphistry

Reading time 7 min
Views 8.1K

В чёрную пятницу, пока у нас стартует флагманский курс Data Science, делимся интерактивными графами подписок веб-разработчиков и разработчиков моделей ML, а также знакомим читателей с инструментом визуализации больших графов — PyGraphistry.

Такие данные — косвенный индикатор конкуренции языков и технологий. К примеру, можно попробовать выяснить, сколько разработчиков C++ следят за разработчиками Rust и наоборот. За подробностями и кодом приглашаем под кат.

Читать далее
Total votes 10: ↑9 and ↓1 +8
Comments 1

Veeam Backup & «Penetration» — извлекаем максимум пользы для пентеста

Reading time 5 min
Views 5.8K

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

Читать далее

Читать далее
Total votes 8: ↑6 and ↓2 +4
Comments 15

Маленькие «малинки» в крупном дата-центре (часть 2 — iPXE + Buildroot)

Reading time 10 min
Views 13K

Привет всем, кто заинтересовался историей интеграции «малинок» в серверы! Многие хотели увидеть, как они выглядят в стойке, — вот они, представлены на заглавной иллюстрации.

Продолжим нашу историю о появлении одноплатников в выделенных серверах. В прошлой статье мы рассмотрели отличие процесса загрузки Raspberry Pi 4 от «‎обычных» серверов и подробно описали, какие файлы необходимы для ее успешного завершения. Теперь нужно научиться менять этот процесс под наши нужды.
Читать дальше →
Total votes 60: ↑59 and ↓1 +58
Comments 3

Mono и ОС МСВС

Reading time 6 min
Views 34K

Импортозамещение! Это очень популярное нынче слово затмило даже нанотехнологии! Оно несет как большие перспективы так и множество проблем. Не так давно это коснулось и меня. Мне была поставлена задача запустить наше программное обеспечение на операционной системе ОС МСВС. Очень интересное дело, учитывая, что Линукс я видел последний раз лет 8 назад, а наше ПО написано под .Net.
Читать дальше →
Total votes 2: ↑2 and ↓0 +2
Comments 5

Выключаем Intel ME 11, используя недокументированный режим

Reading time 11 min
Views 78K


В ходе исследования внутренней архитектуры Intel Management Engine (ME) 11-й версии был обнаружен механизм, отключающий эту технологию после инициализации оборудования и запуска основного процессора. О том, как мы нашли этот недокументированный режим, и о его связи с государственной программой построения доверительной платформы High Assurance Platform (HAP) мы расскажем в этой статье.

Авторы предупреждают, что использование данных знаний на практике может повлечь за собой повреждение вычислительной техники, и не несут за это никакой ответственности, а также не гарантируют работоспособность или неработоспособность чего-либо и не рекомендуют экспериментировать без наличия SPI-программатора.
Читать дальше →
Total votes 84: ↑83 and ↓1 +82
Comments 90

Боремся с майнером Kinsing на зараженных серверах Linux

Reading time 2 min
Views 14K

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

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

Как определить, что ваш сервер используется для майнинга малварью Kinsing?

Определите процессы, которые используют ресурсы процессора с помощью диспечера задач top или htop. В результате вы увидете, например, такие процессы: kdevtmpfsikinsing или dbused, которые максимально используют все ресурсы процессора.

Убить процессы отправкой сигнала KILL вы не сможете, так как со временем они запустятся снова.

Можно попытаться найти задания в запланировщике задач пользователей:

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

USB CDC Bootloader для STM32F103C8

Reading time 3 min
Views 11K

При проектировании устройства на микроконтроллере бывает встает вопрос об обновлении прошивки прибора. Причем сам процесс обновления прошивки должен быть простым и доступным для обыкновенного пользователя. И конкретно для микроконтроллера STM32F103C8 возможна загрузка прошивки по UART. То есть к схеме необходимо добавлять микросхему конвертера USB-UART. Либо воспользоваться аппаратными возможностями USB микроконтроллера, что я и сделал. Меня заинтересовал вопрос о возможности обновления прошивки по USB. На некоторых МК даже есть аппаратный USB-загрузчик, но только не на STM32F103C8, поэтому пришлось все программно реализовывать. По программной части для STM32 существует USB Library от STMicroelectronics с реализованными классами USB и примерами. В частности заинтересовал класс DFU т.е. загрузка прошивки по USB. В данном классе уже реализован свой набор команд для взаимодействия МК и приложения на ПК "STM32CubeProgrammer". Но мне хотелось что-то своё, кастомное и неограниченное данным набором команд. И пришла мысль "А почему бы не реализовать всё это в классе CDC?". Тут и размер загрузчика примерно таким же оказался, но главное можно реализовать свой набор команд, работать на ПК с последовательным портом и соответственно понятнее, как написать приложение для ПК. У меня есть небольшой опыт написания приложений с использованием библиотеки QT на С++, поэтому с ее помощью была создана программа для USB загрузчика.

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

Единая точка выхода в web, I2P, TOR и обход блокировок

Reading time 6 min
Views 25K

Коварный план


Преамбула… Даная статья была написана ещё летом но, по независящим от автора причинам, немножко подзадержалась...


Однажды, жарким летним вечером, после очередной введённой в консоли браузера команды вида :set content.proxy socks://localhost:9050, автор сего опуса понял, что дальше так жить нельзя и пора приводить выход во всякие скрытосети, а заодно и обход блокировок имени известной организации к какому-то единому, для любого софта вообще и браузера в частности, «общему знаменателю». А как приводить? Разумеется так, чтобы прокси сервер сам «понимал», через какой вышестоящий прокси отправлять и принимать трафик в зависимости от введённого адреса. Вторая цель, вытекающая из первой, вышестоящие прокси могут работать либо как http, либо как socks и оба протокола должны поддерживаться входным прокси. Ну и сам софт должен быть более менее актуальным, что б в случае ошибок или «хотения фич», не приходилось грустно смотреть на одинокую репу на гитхабе, а то и вообще на каком-нибудь сорсфорже.
Итак цели поставлены!

Пора переходить к реализации!
Total votes 62: ↑61 and ↓1 +60
Comments 63

История болгарских вирусов

Reading time 11 min
Views 8.7K

Попытка Болгарии сделать рывок в экономике за счёт "компьютеризации" детей стала причиной появления большого количества вирусов, атаковавших компьютеры во всём мире. Почему так произошло и кто из болгарских вирусописателей обрёл известность — в переводе статьи Виктора Петрова, профессора Университета Теннесси (США).

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

Распознание длинных аудио сервисом Yandex SpeechKit из командной строки bash/shell через API

Reading time 5 min
Views 7.3K

Довольно давно Яндекс предоставляет платные сервисы по синтезу и распознанию речи. К сожалению, интерфейса для регулярного использования сервисов нет, поэтому на досуге написал скрипт, который позволяет через консоль отправлять запросы и получать результаты.

Читать далее
Total votes 4: ↑4 and ↓0 +4
Comments 15

Information

Rating
Does not participate
Registered
Activity