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

Open source *

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

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

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

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

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

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

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

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

Новости

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

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

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

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

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

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

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

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

Что нас ждет:

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

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

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

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

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

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

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

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

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

Истории

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

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

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

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

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

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

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

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


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


$ rustup update stable

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Погрузиться сполна
Всего голосов 46: ↑45 и ↓1 +44
Комментарии 30

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

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

Ну что теперь будем писать про 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‑адреса.

Читать далее
Всего голосов 155: ↑144 и ↓11 +133
Комментарии 123

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

Московский туристический хакатон
Дата 23 марта – 7 апреля
Место
Москва Онлайн
Геймтон «DatsEdenSpace» от DatsTeam
Дата 5 – 6 апреля
Время 17:00 – 20:00
Место
Онлайн

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

28 июля 2015 г.

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

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

Облачный апокалипсис. Файлохранилище на своём сервере

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


Компания Microsoft сегодня (или с 1 апреля) блокирует доступ к облачным сервисам для корпоративных клиентов из России. С этого дня хранилище OneDrive станет недоступно, как и 50 других сервисов Microsoft. Аналогичная ситуация может сложиться с сервисами Amazon и Google. Это вызовет некоторые проблемы у компаний, хранящих файлы в облаке.

Если у пользователей нет резервных копий, им придётся в экстренном порядке переносить их на другой сервер, спасая с «тонущего корабля». К счастью, на этот случай есть удобные инструменты вроде Rclone, который одной командой копирует файлы с популярных облачных хостингов на свой сервер.
Читать дальше →
Всего голосов 42: ↑37 и ↓5 +32
Комментарии 48

Понятный и неунылый open source — абсурдные, но занимательные лицензии на свободное программное обеспечение

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

В кризис open source вендоры коммерциализируют свои разработки активнее и все чаще переходят на формат распространения кода «source available». Резкие изменения в лицензиях — головная боль для руководителей и юристов, вынужденных разбираться в хитросплетениях новых условий. В качестве своеобразного ответа на подобные сложности появляются абсурдные тексты лицензий на открытые разработки.

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

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

Настройка SAMLv2 федерации в OpenAM

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

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

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

Cardoteka — техническая начинка и аналитика решений типобезопасной SP [кто любит вдаваться]

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

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

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

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