Как стать автором
Обновить
170.65
Рейтинг

Open source *

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

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

4 книги по цифровой трансформации для тимлидов, шпаргалка по Quarkus & Observability…

Блог компании Red Hat Open source *Виртуализация *Читальный зал Openshift *


Мы собрали для вас короткий дайджест полезных материалов, найденных нами в сети за последние две недели. Оставайтесь с нами – станьте частью DevNation!
Читать дальше →
Рейтинг 0
Просмотры 1.9K
Комментарии 0

Типы в рантайме: глубже в кроличью нору

Open source *Erlang/OTP *Elixir/Phoenix *
Recovery mode

Когда я начинал писать заметку «Типы, где их не ждали», мне казалось, что я осилил принести эрланговские типы в рантайм и теперь могу их использовать в клиентском коде на эликсире. Ха-ха, как же я был наивен.


Все, что предложено по ссылке, будет работать для явных определений типа по месту использования, наподобие use Foo, var: type(). К сожалению, такой подход обречен, если мы хотим определить типы где-нибудь в другом месте: рядом в коде при помощи атрибутов модуля, или, там, в конфиге. Например, для определения структуры мы можем захотеть написать что-то типа такого:


# @fields [foo: 42]
# defstruct @fields

@definition var: atom()
use Foo, @definition

Lighthouse in French Catalonia


Код выше не то, что не обработает тип так, как нам хочется — он не соберется вовсе, потому что @definition var: atom() выбросит исключение ** (CompileError) undefined function atom/0.

Но не все так плохо.
Всего голосов 8: ↑4 и ↓4 0
Просмотры 1.1K
Комментарии 0

Протоколы, а не Платформы: технологический подход к свободе слова — Часть 1

Блог компании Near Децентрализованные сети *Open source *Научно-популярное Криптовалюты
Перевод

Продвижение свободы слова за счет изменения экономической и цифровой инфраструктуры интернета 

БУДУЩЕЕ СВОБОДЫ СЛОВА

Серия статей, для переосмысления Первой поправки в эпоху цифровых технологий

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

Ситуация создала нечто вроде кризиса, как внутри, так и за пределами этих компаний. Платформы постоянно пытаются выполнять новые обязанности в качестве «арбитров правды и доброты» в интернете, несмотря на то, что исторически позиционируют себя защитниками свободы слова. Между тем, в США, политики из двух основных партий критикуют их, пусть даже и по совершенно разным причинам. Одни жалуются на то, что платформы потенциально допускают иностранное вмешательство в их выборы.3 Другие жалуются на то, что их использовали для распространения дезинформации и пропаганды.4 Третьи обвиняют платформы в том, что они просто слишком влиятельны.5 Следующие обращают внимание на неуместные аккаунты и удаление контента,6 в то время как другие рассуждают о попытках смягчения дискриминации по отношению к определенным политическим точкам зрения.7

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

Читать далее
Всего голосов 11: ↑11 и ↓0 +11
Просмотры 1.7K
Комментарии 6

Сканер для выявления слабых паролей в СУБД

Блог компании QIWI Информационная безопасность *Open source *Администрирование баз данных *
Сканеры уязвимостей есть в каждой компании, которая уделяет внимание информационной безопасности. Но далеко не каждый сканер умеет проверять пароли от локальных учетных записей в базе на стойкость.

Проблема в том, что локальные учетные записи чаще всего не имеют срока действия, не проверяются на сложность, и при этом имеют привилегированный доступ. Плюс ко всему парольные политики не всегда позволяют гибко настроить требования, к примеру, не запрещают использовать словарные пароли (вспомните всеми любимый P@ssw0rd).

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

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

В этом посте я расскажу о том, что мы использовали для своих задач и как в процессе пришли к выводу, что лучше и проще сделать своё. И поделюсь решением со всеми желающими.
Читать дальше →
Всего голосов 11: ↑11 и ↓0 +11
Просмотры 3.1K
Комментарии 0

Представлен cмартфон PinePhone с KDE Plasma Mobile, который можно использовать как десктоп

Блог компании Selectel Open source *Компьютерное железо Смартфоны Настольные компьютеры

О смартфоне PinePhone на базе Linux мы уже писали. Это модульный телефон, который можно использовать в качестве десктопа. Достоинств у него немало — например, пользователь может контролировать как ПО, так и железо, заменяя отдельные модули (например, камеру). Кроме того, устройство легко ремонтировать — это один из самых ремонтопригодных гаджетов.

Гаджет поставляется с postmarketOS, UBports/Ubuntu Touch и Manjaro.Теперь этот телефон получил еще одну версию — с KDE Plasma Mobile на борту. Над новой редакцией устройства работали представители сообщества Pine64 и проекта KDE. Соответственно, девайс получил название PinePhone KDE Community Edition. О характеристиках, цене и дате выхода в продажу — под катом.
Всего голосов 26: ↑26 и ↓0 +26
Просмотры 19K
Комментарии 47

Представляем PowerShell 7.1

Блог компании Microsoft Open source *.NET *PowerShell *C# *
Мы с гордостью объявляем о выпуске PowerShell 7.1, последнего крупного обновления для PowerShell 7. Этот выпуск включает в себя ряд улучшений и исправлений, которые основаны на мартовском выпуске PowerShell 7.0 и недавнем выпуске .NET 5 GA. С тех пор команда PowerShell (и многие из вас, участники нашего сообщества, спасибо!) Усердно работали над некоторыми основными репортами сообщества об ошибках и запросами функций.

В этой статье расскажем что нового в PowerShell 7.1.

Читать дальше →
Всего голосов 6: ↑5 и ↓1 +4
Просмотры 5.8K
Комментарии 6

bdshemu: эмулятор шелл-кода в Bitdefender

Блог компании SkillFactory Информационная безопасность *Open source *Assembler *C *
Перевод
Совсем скоро, 19 ноября, у нас стартует курс «Этичный хакер», а специально к этому событию мы подготовили этот перевод о bdshemu — написанном на языке C эмуляторе с открытым исходным кодом в Bitdefender для обнаружения эксплойтов на 32- и 64-битной архитектуре. Эмулятор очень прост, а благодаря нацеленности на уровень инструкций он работает с любой операционной системой. Кроме того, этот эмулятор зачастую сохраняет расшифрованный эксплойт в бинарный файл. Подробности и пример обнаружения Metasploit — под катом, ссылка на репозиторий проекта на Github — в конце статьи.


Приятного чтения!
Всего голосов 13: ↑13 и ↓0 +13
Просмотры 2.1K
Комментарии 0

Как монетизируется Open-Source

Блог компании Jitsu Open source *

Когда мы слышим слово open-source, на ум приходит сразу что-то связанное с благотворительностью и альтруизмом: талантливые программисты по ночам после работы пишут код, чтобы сделать мир лучше. Однако, жизнь устроена сложнее. Несмотря на то, что open-source действительно делает мир лучше, большая часть открытого кода пишется с исключительно коммерческими целями. Некоторые компании используют продукты с открытым исходным кодом как часть маркетинговой стратегии, или стратегии найма. Другие же компании основывают весь бизнес целиком на open-source ядре. Примеры таких компаний: RedHat (куплена IBM за $34млрд), mongoDB (капитализация - $14млрд), ElasticSearch ($9млрд), RedisLabs ($1млрд), Nginx (гордость отечественного опенсорса, $670 млн).

Мы в Jitsu тоже выбрали open-source стратегию. Мы строим наш бизнес на открытом ядре EventNative (о нем мы писали в предыдущем тексте). Прежде чем остановиться на такой модели мы исследовали рынок и много поняли про его устройство. В этой статье мы поделимся своими наблюдениями.

Читать далее
Всего голосов 11: ↑9 и ↓2 +7
Просмотры 6.9K
Комментарии 7

CrowdSec — современная альтернатива Fail2Ban и коллективный иммунитет для Интернета

Блог компании VDSina.ru Информационная безопасность *Open source *Серверное администрирование *Софт

CrowdSec

Инструмент Fail2Ban хорошо известен админам. Программа анализирует логи на сервере и подсчитывает количество попыток доступа с конкретных IP-адресов по указанным протоколам. В случае нарушения правила данный IP-адрес блокируется на заданный отрезок времени. Например, джейл для авторизации по SSH включён с дефолтными настройками 5 попыток авторизации за 10 минут, после чего происходит бан IP-адреса на 10 минут. Отличный способ отфильтровать мусорный трафик от разных сканеров и защита от DDoS.

Fail2Ban и SSHGuard — лучшие инструменты в своей области. Однако новый опенсорсный проект CrowdSec представляется интересной альтернативой. Это локальная замена Fail2Ban, а потенциально нечто большее — глобальная база репутации IP-адресов типа иммунной системы интернета.
Читать дальше →
Всего голосов 37: ↑35 и ↓2 +33
Просмотры 18K
Комментарии 64

FOSS News №42 – дайджест новостей и других материалов о свободном и открытом ПО за 9-15 ноября 2020 года

Open source **nix *


Всем привет!

Продолжаем дайджесты новостей и других материалов о свободном и открытом ПО и немного о железе. Всё самое главное про пингвинов и не только, в России и мире. Госорганы России начали переход на Astra Linux; Canonical Group Limited представила финансовые показатели за 2019 г.; ВКонтакте снова выкладывает KPHP; обсуждение факторов, улучшающих инновационный потенциал организации; описание попытки использовать Raspberry Pi 4 в качестве десктопа; произвол HP и многое другое.
Читать дальше →
Всего голосов 9: ↑9 и ↓0 +9
Просмотры 2.4K
Комментарии 0

Современный Web-UI для SVN в 2020 году

Open source *Системы управления версиями *
Tutorial

cSvn — это web-интерфейс к Subversion-репозиториям. Основу cSvn представляет CGI-скрипт написанный на языке С.


В мае 2020 года был опубликован релиз очередной версии Apache Subversion 1.14.0. В свете этого события, был создан новый, современный web-интерфейс для просмотра Subversion-репозиториев на любых устройствах. Это весьма позитивная новость для тех, кто использует централизованные системы версионного контроля по тому, что до вчерашнего дня существовал лишь один достойный web-UI (WebSVN), написанный на PHP и, к сожалению, отстающий от современных требований.


В данной статье рассматривается установка и настройка cSvn для работы с использованием Nginx + uWsgi. Настройка серверных компонентов достаточно проста и практически не отличается от настройки cGit.


На стороне клиента работает элементарный JavaScript составляющий не более 350 строк и таблица стилей размером 24K в распакованном виде. Markdown-тексты обрабатываются на стороне сервера с помощью библиотеки md4c, которая успешно зарекомендовала себя в проекте KDE Plasma.


Вместо screenshot-ов, лучше посмотреть на работающий cSvn-сервер.


Стоит заметить, что с помощью cSvn можно просматривать не только собственные репозитории, но и настроить просмотр сторонних ресурсов по протоколам HTTPS и SVN.


Читать дальше →
Всего голосов 8: ↑7 и ↓1 +6
Просмотры 5K
Комментарии 44

Как появилась на свет программа youtube-dl

Open source *Работа с видео *Законодательство в IT История IT Софт
Перевод
Как известно, в данный момент репозиторий youtube-dl на GitHub заблокирован по DMCA-запросу от RIAA. Хотя я не могу комментировать текущие планы мейнтейнеров или текущие дискуссии, но после сделанных обвинений RIAA я подумал, что мне как создателю программы и первому мейнтейнеру будет полезно рассказать о первых годах youtube-dl.

Сборщики меди


В любой хорошей истории должен быть злодей, и в качестве такого персонажа я решил выбрать сборщиков меди — воришек, которые собирали цветные металлы в округе. Именно они подтолкнули к созданию youtube-dl. В далёком 2006 году мой посёлок находился в 5-10 километрах от небольшого города Авилес на севере Испании. Жители Авилеса наслаждались хорошей инфраструктурой и услугами, включая кабельное телевидение и ADSL-доступ в интернет. В моём районе ничего такого не было: слишком далеко от телефонной станции с ADSL, а сборщики меди годами воровали медные провода по пути к ней, время от времени вызывая перебои в телефонной связи и заставляя телефонную компанию заменять эти провода более слабыми и тонкими, потому что их тоже, скорее всего, украдут. Это продолжалось несколько лет.

Единственным вариантом выхода в интернет из дома был модем 56k V.90. На самом деле качество связи было настолько плохим, что приходилось для стабильности снижать скорость до 33,6 Кбит/с. Фактическая скорость загрузки редко превышала 4 КБ/с. В то же время в интернете появился интересный видеосервис YouTube, он быстро набирал популярность, а в конце того же года его купила компания Google.
Читать дальше →
Всего голосов 111: ↑111 и ↓0 +111
Просмотры 27K
Комментарии 29

Релиз Apache Ignite 2.9.0 — что нового?

Блог компании Сбер Open source *Java *Apache *
Apache Ignite – это высокопроизводительная распределенная база данных с открытым исходным кодом, предназначенная для хранения и распределенной обработки больших объемов данных в кластере узлов. Мы в Сбере активно его используем, и у нас есть команда, занимающаяся разработкой этого продукта. 23 октября 2020 года вышла новая версия Apache Ignite 2.9.0. Как менеджер данного релиза от лица всей команды разработчиков Apache Ignite хочу поделиться информацией об основных нововведениях.

  • Snapshots (Резервное копирование)
  • Трэйсинг
  • Новые возможности тонких клиентов
  • Режим работы кластера «Только чтение»
  • Запуск пользовательского кода в «песочнице»
  • Прозрачное шифрование данных: ротация мастер ключа
  • Инструменты для прерывания пользовательских задач и запросов
  • Кэширование на стороне платформы (.NET)
  • Подключение клиентских узлов к серверным через NAT

Читать дальше →
Всего голосов 12: ↑11 и ↓1 +10
Просмотры 2.2K
Комментарии 5

Red Hat Advanced Cluster Management и управление приложениями, часть 1. Развертывание в нескольких средах

Блог компании Red Hat Open source *Git *Виртуализация *Openshift *
Мы начинаем серию постов, в которой покажем, как Advanced Cluster Management (ACM) предоставляет обширные возможности для управление жизненным циклом приложений, которые должны существовать сразу в нескольких средах, неважно, в облаке или в корпоративном дата-центре.

Сегодня мы сосредоточимся на тех аспектах ACM, которые относятся к категории GitOps, и разберем их, используя следующую модельную конфигурацию:


Читать дальше: Red Hat Advanced Cluster Management и управление приложениями, часть 1
Всего голосов 4: ↑4 и ↓0 +4
Просмотры 1.7K
Комментарии 0

Новая функциональность в RESTinio и опять с помощью C++ных шаблонов

Open source *Программирование *C++ *

Увидело свет очередное обновление небольшой библиотеки для встраивания асинхронного HTTP-сервера в C++ приложения: RESTinio-0.6.12. Хороший повод рассказать о том, как в этой версии с помощью C++ных шаблонов был реализован принцип "не платишь за то, что не используешь".



Заодно в очередной раз можно напомнить о RESTinio, т.к. временами складывается ощущение, что многие C++ники думают, что для встраивания HTTP-сервера в современном C++ есть только Boost.Beast. Что несколько не так, а список существующих и заслуживающих внимания альтернатив приведен в конце статьи.


О чем речь пойдет сегодня?


Изначально библиотека RESTinio никак не ограничивала количество подключений к серверу. Поэтому RESTinio, приняв очередное новое входящее подключение, сразу же делала новый вызов accept() для принятия следующего. Так что если вдруг на какой-то RESTinio-сервер придет сразу 100500 подключений, то RESTinio не заморачиваясь постарается принять их все.


На такое поведение до сих пор никто не жаловался. Но в wish-list-е фича по ограничению принимаемых подключений маячила. Вот дошли руки и до нее.


В реализации были использованы C++ные шаблоны, посредством которых выбирается код, который должен или не должен использоваться. Об этом-то мы сегодня и поговорим.

Читать дальше →
Всего голосов 13: ↑13 и ↓0 +13
Просмотры 2K
Комментарии 9

Типы, где их не ждали

Open source *Erlang/OTP *Elixir/Phoenix *
Recovery mode

Давайте представим себе реализацию модуля Scaffold, который генерирует структуру с предопределенными пользовательскими полями и инжектит ее в вызываемый модуль при помощи use Scaffold. При вызове use Scaffold, fields: foo: [custom_type()], ... — мы хотим реализовать правильный тип в Consumer модуле (common_field в примере ниже определен в Scaffold или еще где-нибудь извне).


@type t :: %Consumer{
  common_field: [atom()],
  foo: [custom_type()],
  ...
}

Было бы круто, если бы мы могли точно сгенерировать тип Consumer.t() для дальнейшего использования и создать соответствующую документацию для пользователей нашего нового модуля.


Lighthouse in French Catalonia

Генерация типа структуры без СМС
Всего голосов 15: ↑11 и ↓4 +7
Просмотры 1.4K
Комментарии 0

Как «подружить» инженеров и дата-сайентистов с помощью одной библиотеки

Блог компании SkillFactory Open source *Компиляторы *Машинное обучение *Искусственный интеллект
Перевод
Представьте, что у вас имеется большой проект по машинному обучению. Естественно, сначала над ним работали дата-сайентисты, а затем инженеры-программисты, которые оптимизировали модель для быстрого выполнения на определенных GPU. В итоге модель изменилась так сильно, что дата-сайентисты перестали в ней что-либо понимать. Специально к старту нового потока курса «Профессия Data Scientist» делимся материалом именно о том, как решить эту проблему. Конечно же, нужно буквально предоставить дата-сайентистам и инженерам общий язык. Подробности под катом.


Приятного чтения!
Всего голосов 13: ↑12 и ↓1 +11
Просмотры 2.2K
Комментарии 1

ВКонтакте снова выкладывает KPHP

Блог компании VK Open source *PHP *Программирование *Компиляторы *
Привет! Сейчас будет дежавю.

Мы снова выложили на GitHub наш PHP-компилятор — KPHP. Он проделал большой путь, и чтобы рассказать о нём, сначала телепортируемся на шесть лет назад.

Поясню для тех, кто не в теме: платформа ВКонтакте изначально была написана на PHP. Со временем нас перестала устраивать производительность, и мы решили ускорить VK. Сделали компилятор — KPHP, который поддерживал узкое подмножество PHP. Это было давно, и с тех пор мы о нём не рассказывали, так как KPHP почти не развивался до 2018-го года.

Но два года назад мы взялись за него, чтобы вдохнуть в эту разработку новую жизнь. Что сделали и какой получили результат — расскажу в этой статье. Она будет не о громком релизе, который можно прямо сейчас внедрять в свои проекты, а о внутренней разработке ВКонтакте, которую мы показываем сообществу и продолжаем развивать. Представлюсь: меня зовут Александр Кирсанов, я руковожу командой Backend-оптимизаций.

А теперь — телепортация.

delorean
Читать дальше →
Всего голосов 150: ↑145 и ↓5 +140
Просмотры 42K
Комментарии 182

Обсуждение: почему индустрия подкастов все больше походит на стриминг сериалов и фильмов

Блог компании Аудиомания Open source *Облачные сервисы *Финансы в IT Звук

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

Их стало так много, что не успеть не то что послушать, но и просто отследить выход новых записей, в том числе топовых передач. Масло в огонь подливают и стриминговые платформы, которые интегрируют все больше общедоступных программ в свои полузакрытые экосистемы.

К чему это нас приведет?

Давайте разберемся
Всего голосов 11: ↑9 и ↓2 +7
Просмотры 2.5K
Комментарии 1

Лёгкие приложения Linux для старого железа

Блог компании VDSina.ru Настройка Linux *Open source *Софт Настольные компьютеры

Окружение Xfce

Любую систему можно разогнать, есть стандартные способы оптимизации десктопа: минимум софта в автозагрузке, preload, оптимальное зеркало для пакетов, apt-fast вместо apt-get, настройки для оптимизации отдельных приложений и так далее.

Но всё это мелкие оптимизации по сравнению с фундаментальными столпами:

  1. Лёгкий дистрибутив
  2. Легковесное окружение рабочего стола
  3. Быстрый софт

Это в первую очередь актуально для старого железа, хотя в принципе на каждом ПК мы хотим, чтобы система работала максимально эффективно, разве нет? Даже на современном многоядерном CPU больно видеть запуск программы в несколько секунд или задержку интерфейса 100-200 миллисекунд после нажатия по клавиатуре. Всё должно реагировать мгновенно, со скоростью человеческого восприятия. В нативных приложениях нет места лагам, как у веб-интерфейсов.

Поэтому — легковесное окружение и быстрый софт.
Читать дальше →
Всего голосов 52: ↑50 и ↓2 +48
Просмотры 28K
Комментарии 43

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