Рубрика «open source»

31 февраля

Сейчас я изучаю отчёт очередной проверки проекта Chromium и используемых в нём библиотек, с помощью анализатора кода PVS-Studio. По итогам проверки у меня намечается цикл статей, посвященный разбору некоторых видов ошибок, и тому, как их можно избежать. Однако, одна ошибка так сильно понравилась, что я решил не откладывать её описание, а сразу написать маленькую заметку в блог.
Читать полностью »

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

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

Time-series in finance

“Мне не нужна TSDB, у меня уже есть Х”

Х может быть чем угодно, начиная с SQL базы данных и заканчивая плоскими файлами. На самом деле все это действительно можно использовать для хранения временных рядов, с одной оговоркой — у вас мало данных. Если вы делаете 10 000 вставок в свою SQL базу данных — все будет хорошо какое-то время, потом таблица вырастет в размерах настолько, что время выполнения операций вставки увеличится.

Читать полностью »

Привет.

На днях в комментариях к одному хабропосту я увидела фразу: "Думаю, будущее всё-таки за федерацией". Это, наконец, сподвигло меня на написание статьи, зреющей в течение года. Хотелось бы, чтобы все, кому интересны децентрализованные социальные сети, вынесли из неё что-то новое.

Не ходи в Fediverse, там тебя ждут неприятности. — Ну как же туда не ходить? Они же ждут - 1

Читать полностью »

«Один из самых важных уроков, который я узнал благодаря Википедии, заключается в том, что есть огромное количество людей, рвущихся сделать что-либо.»
— Джимми Уэйлс, со-основатель Википедии

Интервью 2014 года.

Вопрос: Что вдохновило вас на создание Википедии?

Ответ: Я наблюдал за ростом свободного программного обеспечения и программного обеспечения с открытым исходным кодом. Я видел, как программисты со всего света сотрудничают друг с другом, чтобы построить замечательное программное обеспечение, на котором держится интернет: GNU/Linux, Apache, Perl, MySQL, PHP.

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

Это заставило меня задуматься над тем, что еще можно создать таким образом.

У нас была замечательная возможность. Благодаря интернету мы можем легко общаться друг с другом. Так что же можно создать?

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

Я загорелся этой идеей, и вот что мы имеем сейчас.

В: Когда это было?
Читать полностью »

Автор статьи — Патрик "tyil" Спек

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

Перечислим платформы с поддержкой повторяющихся пожертвований. Это самый удобный способ обеспечить стабильный доход.
Читать полностью »

image

Исключительно хорошая новость: совместными усилиями компаний Ubisoft и шведской Massive Entertainment, в открытый доступ выложен рабочий сервер для игры World in Conflict. Данная стратегия в реальном времени (RTS) вышла в 2007 году; её официальный сервер Massgate был закрыт в 2016, после чего коммьюнити massgate.org решило вернуть игру к жизни, чем и вдохновило Ubisoft на данный шаг — теперь любой сможет поднять свой собственный сервер для мультиплеера и другого онлайн-функционала.

Исходный код бэкенда доступен по ссылке на Github по лицензии GPL-2.0. Сам игровой сервер написан на С++, поэтому для компиляции вам потребуются CMake и Visual Studio. Для запуска вам также понадобятся MySQL (в оригинале использовался MySQL 4.2.1, но всё должно работать и на более свежих версиях) и любой простейший веб-сервер (авторы рекомендуют SimpleHTTPServer).

Кстати, саму игру можно сейчас получить абсолютно бесплатно до 23 декабря по ссылке — правда, для этого вам может потребоваться завести аккаунт в Uplay.
Читать полностью »

В этой статье я расскажу как развернуть сервер ElectrumX для Emercoin под Ubuntu Server 16.04 LTS, который можно использовать, например, для работы приложений Emercoin Secure Wallet (iOS, Android, Linux, Windows, MacOS). Процесс развертывания ничем не отличается и для других поддерживаемых криптовалют (например, для Bitcoin), с той лишь разницей, что необходимо установить соответствующую ноду нужной криптовалюты и указать именно ее данные в конфиге сервера.
Читать полностью »

Ubuntu 17.10 повреждает BIOS на некоторых ноутбуках Lenovo, Acer и Toshiba - 1Компания Canonical отозвала вышедший в октябре дистрибутив Ubuntu 17.10 и спрятала ссылку на сайте для скачиваний. Причиной стал критический баг с повреждением BIOS в некоторых моделях ноутбуков Lenovo и одной модели Acer. Полный список пострадавших моделей в данный момент уточняется и пополняется.

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

Что ещё хуже, ломается загрузка с USB-флешки, поскольку USB не распознаётся.
Читать полностью »

Smart IDReader by Smart Engines

Мы, Smart Engines, продолжаем цикл статей про то, как встроить наши технологии распознавания (паспортов, банковских карт и других) в ваши приложения. Ранее мы уже писали про встраивание на iOS и Android, а сегодня мы расскажем про то, как работать с Python-интерфейсом библиотеки распознавания Smart IDReader и напишем простого Telegram-бота.

Кстати, список поддерживаемых нами языков программирования расширился и теперь включает C++, C, C#, Objective-C, Swift, Java, Python, а также такие эзотерические языки, как Visual Basic и, разумеется, PHP. Как и раньше, мы поддерживаем все популярные и многие непопулярные операционные системы и архитектуры, а наши бесплатные приложения доступны для скачивания из App Store и Google Play.

По традиции, демо-версия Smart IDReader SDK для Python вместе с исходным кодом реализации Telegram-бота выложены на Github и доступны по ссылке.

Читать полностью »

image

Мой инструментарий Социального Архитектора состоит из 20 инструментов, каждый из которых соответствует какому-либо аспекту сообщества или группы. Их можно использовать двумя способами.
Во-первых, с их помощью вы можете делать измерения существующего сообщества, оценивая его по шкале от нуля и выше.
Во-вторых, вы можете использовать их для создания сообщества, при этом прилагая усилия там, где они наиболее необходимы.

  • Четкая миссия — заявленная причина существования группы.
  • Свободное участие — насколько легко люди могут присоединиться к группе.
  • Прозрачность — насколько открыто и публично принимаются решения.
  • Бесплатные участники — как много можно платить людям за участие.
  • Свобода работы с материалами (ремиксабельность) — насколько свободно участники могут использовать работу друг друга.
  • Четкость протокола — насколько хорошо прописаны правила.
  • Компетентность власти — насколько хорошо следят за соблюдением правил.
  • Нон-трайбализм — насколько далеко распространяются права группы над своими участниками.
  • Самоорганизация — насколько свободно могут участники определять свои задачи.
  • Толерантность — как группа разбирается с конфликтами.
  • Измеримый успех — как хорошо группа может отслеживать свой прогресс.
  • Высокое награждение — как группа вознаграждает своих участников.
  • Децентрализация — насколько широко распределены участники группы.
  • Свободная рабочая среда — насколько легко создавать новые проекты.
  • Стандартная структура — насколько общая структура стабильна и предсказуема.
  • Плавность обучения — насколько легко начать и продолжить учиться.
  • Позитивность — насколько группа движима позитивными целями.
  • Чувство юмора — насколько серьезно группа себя воспринимает.
  • Минимализм — сколько лишней работы делает группа.
  • Разумное финансирование — как группа борется за выживание в экономическом плане.

Спасибо Сергею Даньшину за помощь с переводом.
Читать полностью »