Как стать автором
Обновить
363.25

Open source *

Открытое программное обеспечение

Сначала показывать
Порог рейтинга
Уровень сложности

Деструктивный пакет everything напомнил об уязвимостях реестра npm

Время на прочтение4 мин
Количество просмотров3.1K


Пакетный менеджер npm попал в неприятную историю, которая снова возродила споры о принципах работы реестра с микрозависимостями для JavaScript (и Node.js).

Критики утверждают, что уровень зависимостей в npm слишком большой. Многие помнят историю 2016 года с микромодулем left-pad из нескольких строчек кода, которые реализуют примитивную функцию вставки пробелов в левой части строк. Он был установлен в качестве зависимости в React, Babel и других пакетах. Автор и мейнтейнер left-pad решил в знак протеста отозвать его, что вызвало массовый сбой в работе веб-сайтов. После этого компания npm Inc. запретила авторам отзывать свои пакеты без разрешения администрации.

Сейчас мы наблюдаем в каком-то смысле продолжение этой истории.
Читать дальше →
Всего голосов 40: ↑25 и ↓15+10
Комментарии7

Лучшие бесплатные курсы и ресурсы для изучения машинного обучения

Уровень сложностиПростой
Время на прочтение21 мин
Количество просмотров16K

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

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

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

Читать
Всего голосов 25: ↑19 и ↓6+13
Комментарии7

Препарируем Wazuh. Часть 1: Базовая установка

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров5.2K

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

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

Этой статьей мы начинаем цикл посвященный работе с Wazuh. Сегодня мы рассмотрим различные варианты развертывания Wazuh, а в последующих статьях поговорим о подключении источников под управлением Linux и Windows, о работе с правилами корреляции и другими основными моментами, связанными с использованием данного решения в качестве SIEM.

Читать далее
Всего голосов 12: ↑10 и ↓2+8
Комментарии0

Telegram Desktop и Compose Multiplatform

Уровень сложностиСредний
Время на прочтение12 мин
Количество просмотров4.5K

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

Читать далее
Всего голосов 5: ↑4 и ↓1+3
Комментарии0

Истории

Алгоритм Diffie-Hellman: Пишем приватный мессенджер на Go

Уровень сложностиСредний
Время на прочтение11 мин
Количество просмотров4.4K

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

Я уже описывал идею создания прозрачного Open-Source мессенджера на основе этого алгоритма и хочу представить вам его самую простую реализацию с примерами кода.

Кода будет много...

Читать далее
Всего голосов 16: ↑14 и ↓2+12
Комментарии4

Будьте в курсе развития RISC-V: обсуждаем обновления в разработке и изучаем бенчмарки серверов на открытой архитектуре

Время на прочтение2 мин
Количество просмотров2K

Если вы интересуетесь развитием открытой архитектуры или занимаетесь разработкой систем под нее, не пропустите бесплатный митап российского Альянса RISC-V. Он объединяет независимых разработчиков вычислительной техники и программного обеспечения на основе свободной архитектуры. 

15 апреля в 19:00 представители альянса соберутся, чтобы обсудить последние разработки и опыт работы с RISC-V-системами. Регистрируйтесь на митап, чтобы подключиться онлайн и быть в курсе развития экосистемы RISC-V в России. Узнаете о поддержке RISC-V в Linux и результатах анализа производительности доступных на рынке RISC-V-серверов. Подробнее о программе — под катом.

Читать далее
Всего голосов 15: ↑15 и ↓0+15
Комментарии2

Нормализация событий информационной безопасности и как ее можно выполнять с помощью языка eXtraction and Processing

Уровень сложностиПростой
Время на прочтение16 мин
Количество просмотров1.8K

Всем привет! На связи Михаил Максимов, я — ведущий эксперт департамента развития технологий в R&D Positive Technologies. За плечами у меня многолетний опыт по развитию экспертизы в нашей системе MaxPatrol SIEM и процессов вокруг нее. И сегодня я хочу поговорить про один из видов экспертизы в продуктах этого класса — правилах нормализации. Если вы новичок в этом направлении и ранее вам не приходилось сталкиваться на практике с SIEM-системами и правилами для нее — не пугайтесь, основы этой темы мы тоже затронем 😊

Что нас ждет:

🔻определимся с тем, что же это такое — событие информационной системы, какие разновидности событий бывают;

🔻узнаем, что такое нормализация событий и какие этапы можно в этом процессе выделить, рассмотрим нюансы, с которыми можно столкнуться;

🔻детально разберем язык eXtraction and Processing (XP) для задач нормализации, лежащий в основе правил MaxPatrol SIEM, и посмотрим на примеры кода правил разной сложности;

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

Итак, приступим
Всего голосов 8: ↑8 и ↓0+8
Комментарии1

Настройка OAuth2/OIDC федерации в OpenAM

Уровень сложностиСредний
Время на прочтение5 мин
Количество просмотров395

В данном руководстве мы настроим федерацию между двумя инстансами OpenAM по протоколу OAuth2/OIDC. Один инстанс будет являться OAuth2/OIDC сервером (Identity Provider), другой - клиентом (Service Provider). Таким образом, вы можете аутентифицироваться в клиентском инстансе OpenAM (SP) используя учетные данные инстанса OpenAM (IdP) по протоколу OAuth2/OIDC.

Читать далее
Всего голосов 2: ↑2 и ↓0+2
Комментарии0

Темная сторона Open Source

Время на прочтение7 мин
Количество просмотров16K

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

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

Читать далее
Всего голосов 33: ↑31 и ↓2+29
Комментарии62

Rust 1.77.0: C-подобные строки, offset_of!, рекурсивные async fn, strip в release-профилях

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров2.1K

Команда Rust рада сообщить о новой версии языка — 1.77.0. Rust — это язык программирования, позволяющий каждому создавать надёжное и эффективное программное обеспечение.


Если у вас есть предыдущая версия Rust, установленная через rustup, то для обновления до версии 1.77.0 вам достаточно выполнить команду:


$ rustup update stable

Если у вас ещё не установлен rustup, вы можете установить его с соответствующей страницы нашего веб-сайта, а также посмотреть подробные примечания к выпуску на GitHub.


Если вы хотите помочь нам протестировать будущие выпуски, вы можете использовать канал beta (rustup default beta) или nightly (rustup default nightly). Пожалуйста, сообщайте обо всех встреченных вами ошибках.

Читать дальше →
Всего голосов 17: ↑17 и ↓0+17
Комментарии0

LibreOffice под микроскопом: создаём одноклеточное расширение

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров3.5K

В своё время для создания расширения к LibreOffice (LO) мне пришлось перелопатить кучу форумов и документации. Информации много, но она разбросана про крупицам. А когда если не знаешь, с какой стороны подступиться, на завершение проекта может уйти много времени.

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

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

Давайте разберёмся, что к чему
Всего голосов 23: ↑23 и ↓0+23
Комментарии6

Что нужно для внедрения Apache Superset

Уровень сложностиСредний
Время на прочтение5 мин
Количество просмотров4.3K

Уже много написано о его развертывании и о функционале, поэтому мне бы хотелось поговорить об опыте внедрения Superset с организационной точки зрения, а также я постараюсь описать техническое окружение и важные отличия от Power BI. Отдельно остановлюсь на системе прав доступа, т.к. в нашей компании этот вопрос важен.

Читать далее
Всего голосов 6: ↑5 и ↓1+4
Комментарии12

Ассемблер: x86/x86_64/Arm32/Arm64

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров7.8K

Я достаточно давно решил ознакомится с ассемблером архитектуры Arm. По большей части для ознакомления и понимания внутренних процессов архитектуры. Чем больше я изучал литературу и различные источники, тем больше я понимал, что нужна практика. Я решил вспомнить ассемблер для x86-х машин и заодно потренироваться на архитектуре Arm.

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

Читать далее
Всего голосов 15: ↑14 и ↓1+13
Комментарии34

Ближайшие события

Исследование: какую долю занимает Joomla среди ru-сайтов в 2024 году?

Время на прочтение9 мин
Количество просмотров4.2K

В процессе работы как с самой Joomla, так и вместе с Joomla-сообществом периодически возникали вопросы о том "какую долю рынка CMS" занимает Joomla, каким общедоступным цифрам можно доверять и насколько они точны. Также, кроме уточнения самой доли рынка хотелось получить статистику по используемым версиям Joomla.

Ну и весомым фактором было желание попробовать сделать с Joomla что-то новое, выходящее за рамки обычной рабочей рутины - сделать собственное исследование 😀

Читать далее
Всего голосов 16: ↑13 и ↓3+10
Комментарии16

Генератор документов на OpenSource стэке

Уровень сложностиСредний
Время на прочтение2 мин
Количество просмотров4.8K

Приветствую, читатели Хабра! Сегодня я хочу поделиться с вами тем, как мы можем создать приложение для генерации документов с использованием CarboneJS, Minio и NodeJS. Приложение будет использовать CarboneJS для генерации документов, Minio в качестве сервера объектного хранилища и NodeJS как среду выполнения. Давайте начнем!

Читать далее
Всего голосов 13: ↑6 и ↓7-1
Комментарии6

Разработка цифровой аппаратуры нетрадиционным методом: Yosys, SpinalHDL, VexRiscv (ч.1)

Уровень сложностиСложный
Время на прочтение127 мин
Количество просмотров7.5K

Основная прелесть использования ПЛИС, на мой взгляд, состоит в том, что разработка аппаратуры превращается в программирование со всеми его свойствами: написание и отладка кода как текста на специализированных языках описания аппаратуры (HDL); код распространяется в виде параметризованных модулей (IP-блоков), что позволяет его легко переиспользовать в других проектах; распределенная разработка обширным коллективом разработчиков с системой контроля версий, такой же, как у программистов (Git); и, как и в программировании, ничтожно низкая стоимость ошибки.

Последнее очень важно, так как если при разработке устройства классическим методом разработчик несет вполне существенные затраты на сборку и производство изделия, и любая схемотехническая ошибка или ошибка трассировки печатной платы — это всегда выход на очередную итерацию и попадание на деньги, то при работе с ПЛИС ошибки ничтожны по своей стоимости и легко устранимы. И даже если в серийном изделии обнаруживается ошибка, то её во многих случаях можно устранить очередным апгрейдом прошивки «в поле» без замены изделия. Короче, с приходом ПЛИС разработка цифровой аппаратуры все больше и больше выглядит как программирование, а это, помимо всего прочего, существенно понижает порог вхождения в тему, и все больше программистов становятся разработчиками «железа». А новые люди, в свою очередь, приносят с собой в индустрию новые подходы и принципы.

В этой статье я хочу поделиться своим небольшим опытом «программирования» микросхем ПЛИС и тем, как я постепенно погружался в тему ПЛИСоводства. Изначально я собирался написать небольшую заметку про открытый тулчейн для синтеза Yosys. Потом — про язык SpinalHDL и синтезируемое микропроцессорное ядро VexRiscv, на нём написанное. Потом — про замену микроконтроллеров микросхемами ПЛИС на примере моей отладочной платы «Карно». Но в процессе я погрузился в историю появления Hardware Description Languages (HDL), и когда я начал писать, Остапа, как это часто бывает, понесло... В общем, получилось то, что получилось.

А еще эту статью можно рассматривать как глубокое погружение в то, что происходит вот на этом новогоднем видео.

Погрузиться сполна
Всего голосов 60: ↑59 и ↓1+58
Комментарии40

Ыыыы ыыыыыыыыыы с помощью AmneziaЫЫЫ

Время на прочтение3 мин
Количество просмотров59K

Ну что теперь будем писать про VPN вот так?

Кстати, в Китае вместо слова VPN вы часто можете встретить «Science Online»(科学上网), «ladder»(梯子), или «Internet accelerator»(上网加速器), все это обозначает VPN. В России, кажется еще все не так плохо, но это не точно. С первого марта писать о VPN на русскоязычных площадках нельзя, наказание для площадок — блокировка на территории России. При этом считаются как новые статьи, так и статьи, опубликованные до вступления в силу приказа о запрете. В скором времени, крупные ресурсы будут блокировать любую информацию о VPN, поэтому мы настоятельно советуем подписываться на телеграм каналы разных VPN, в том числе на наш. Мы не знаем сколько еще статей нам отведено на Хабре, и как хабр дальше будет показывать статьи со словом VPN в разных странах.

А теперь о хорошем.

Самый ожидаемый нашими пользователями бесплатный VPN AmneziaFree v.2 c защитой от блокировок наконец‑то готов. Должны признаться, последнее время мы много работали над self‑hosted приложением AmneziaVPN, а так же над протоколом AmneziaWG (или по простому — AWG, его мы используем в бесплатном VPN), поэтому работа над проектом AmneziaFree v.2 немного затянулась. В любом случае, мы очень рады, что наконец можем пригласить Вас присоединиться к числу пользователей нашего бесплатного сервиса. Все так же, как и раньше, без регистрации, рекламы и ограничении по сроку работы.

Бесплатный VPN AmneziaFree v.2, можно использовать только для популярных недоступных на территории России сайтов (не будем их перечислять, вы и сами их знаете), список достаточно большой, поэтому, скорее всего, то что вам надо в нем есть. При этом, не заблокированные в России сайты, будут открываться напрямую, без VPN. То есть напрямую с Вашего IP‑адреса.

Читать далее
Всего голосов 159: ↑147 и ↓12+135
Комментарии124

Калькулятор Конфигураций для Firebird SQL и 5 других новостей про Firebird

Уровень сложностиСредний
Время на прочтение2 мин
Количество просмотров1.5K

В последние месяцы в мире FirebirdSQL происходит значительное оживление: помимо релиза Firebird 5 было опубликовано много инструментов, статей и материалов, что я решил подготовить небольшой дайждест для читателей Хабра, которые, вероятно, соскучились по новостям о любимой СУБД.

Во-первых, вышла новая версия Калькулятора Конфигураций для Firebird, с поддержкой Firebird 5. В калькулятор (полностью бесплатный, доступен без регистрации) вводятся характеристики сервера, ...

Читать далее
Всего голосов 5: ↑5 и ↓0+5
Комментарии8

ETL c ChatGPT заменит BIM и такие концепции, как openBIM и closedBIM

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров2K

🔮 Как инструменты ChatGPT и реверсинжениринга для форматов CAD (BIM) заменят BIM и такие концепции, как openBIM и closedBIM?

📊 Ответ: с помощью методов ETL (ELT), которые давно и успешно используются во всех других отраслях (видео под постом).

Для разработки проектов в CAD‑программах самое важное — понять бизнес‑процессы, для которых они создаются. Эффективный проект требует четко сформулированных требований к данным, включая:

— Сбор данных (Extract извлечение).
— Создание и проверка требований (Transform преобразование)
— Загрузка в необходимые системы или форматы (Load загрузка)

Этот процесс тесно связан с процедурами ETL (Extract, Transform, Load). Во всех других отраслях (кроме строительной) ETL‑процессы играют ключевую роль в обработке и анализе данных, что крайне важно для оптимизации бизнес‑процессов и принятия обоснованных решений.

Читать далее
Всего голосов 6: ↑3 и ↓30
Комментарии12

Анализ форка Биткоина 2013 года: централизованное принятие решений спасло положение

Уровень сложностиСредний
Время на прочтение14 мин
Количество просмотров1.7K

28 июля 2015 г.

11 марта 2013 года Биткоин пережил технический кризис. Версии 0.7 и 0.8 программного обеспечения отличались друг от друга в поведении из-за ошибки, что привело к разделению цепочки блоков. Учитывая, насколько катастрофичным может быть хардфорк, кризис был быстро разрешен с удивительно малым ущербом благодаря исключительной компетентности ответственных разработчиков.

Читать далее
Всего голосов 6: ↑5 и ↓1+4
Комментарии2

Вклад авторов