Как начать создание Open Source проекта в новом году



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

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

Чей это текст, Линуса или Грега?

Праздник к нам приходит, все труднее писать и даже читать про планировщики и алгоритмы. Благо в мире открытого ПО есть и более отвлеченные темы. Почему бы например не сравнить стиль деловой переписки Линуса Торвальдса и Грега Кроа-Хартмана?


Линус и Грег


Предлагаю читателям Хабра поупражняться в физиогномике и задаться вопросом, с кем бы из двух командиров проекта Linux ядра вы бы предпочли обсуждать прогресс вашего патча?


Параметры Линус Торвальдс Грег Кроа-Хартман
Временной интервал 1995–2015 1995–2015
Количество емайлов 21,746 24,145
Количество слов в емайле 132 53
Лексическое разнообразие .08 .27

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

Читать дальше →

[Из песочницы] Определение формата файла с помощью Python

Предыстория


Всем привет. Совсем недавно я столкнулся с проблемой: по необьяснимым причинам карта памяти начала забрасывать все файлы в папку LOST.DIR без расширений. За долгое время там накопилось более 500 файлов разного типа: картинки, видео, аудио, документы. Самостоятельно понять формат файла было невозможным, по этому я стал искать способ решения этой проблемы программным путем.

Читать дальше →

Трехэтажные C++ные шаблоны в реализации встраиваемого асинхронного HTTP-сервера с человеческим лицом

Наша команда специализируется на C++ проектах. И нам время от времени приходилось создавать HTTP-точки входа в C++ компоненты. Для чего использовались разные инструменты. Тут были и старые-добрые CGI, и различные встраиваемые библиотеки, как сторонние, так и самописные. Все это работало, но всегда оставалось ощущение, что следовало бы делать такие вещи и проще, и быстрее, и производительнее. В итоге мы решили, что пора прекращать смотреть по сторонам и нужно попробовать сделать что-то свое, с преферансом и куртизанками кроссплатформенностью, асинхронностью, производительностью и человеческим отношением к конечному пользователю. В результате у нас получилась небольшая C++14 библиотека RESTinio, которая позволяет запустить HTTP-сервер внутри C++ приложения всего несколькими строчками кода. Вот, например, простейший сервер, который на все запросы отвечает «Hello, World»:
#include <restinio/all.hpp>

int main()
{
   restinio::run(
      restinio::on_this_thread()
         .port(8080)
         .address("localhost")
         .request_handler([](auto req) {
            return req->create_response().set_body("Hello, World!").done();
         }));

   return 0;
}
В реализации RESTinio активно используются C++ные шаблоны и об этом хотелось бы сегодня немного поговорить. Читать дальше →...Далее...

[Перевод] Как захватить/защитить open-source проект

image


На «Ars Technica» есть интересная статья о том, как Google понемногу закрывает Android. Это классическая игра Capture the Flag, которая ведется против open-source сообщества. Я собираюсь объяснить, как этот захват работает, и как его предотвратить.

Почему Capture the Flag?


Как говорит «Ars Technica»: «Легко отдать что-нибудь, когда ты на последнем месте с нулевой долей рынка, как это было с Android в начале. Когда же ты на первом месте, немного сложнее быть таким открытым и доброжелательным».

Android, если уж честно, вероятно, самая крупная инвестиция Google. Вы можете поспорить о том, имеют ли они право превращать открытую систему в закрытую, и вы будете правы. Однако это то же самое, что спорить о том, имеет ли право центральный банк печатать слишком много денежных знаков и создавать девальвацию. Конечно, на это он уполномочен. Но в то же время у этого существует цена, которую заплатят другие люди. Вопрос не в правомерности, а в приемлемости той цены, которую заплатит общество. А если она не приемлема, тогда как это предотвратить?
Читать дальше →

ONLYOFFICE 2017: итоги

Это был классный год. Мы сделали много вещей, которые давно хотели сделать, и даже вещей, которых сами от себя не ожидали. В этом посте мы поделимся самым главными итогами 2017-го.


Читать дальше →

Развертывание сервера ElectrumX

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

Smart IDReader SDK — как написать Telegram-бота на Python для распознавания документов за 5 минут

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 и доступны по ссылке: ...Далее...

Доклад — обзор возможностей и архитектуры комет сервера CppComet

Это текст доклада и видеозапись моего выступления с конференции rumeetup.ru приведённый в удобный для чтения вид. Так же я изъял часть вступления чтоб не отнимать время у читателей на лирические отступления о причинах побудивших меня начать разработку своего Open source комет сервера с нуля на C++.

Читать дальше →

Kubernetes 1.9: обзор основных новшеств



Очередной релиз системы Kubernetes, 1.9, должен случиться на этой неделе. Согласно текущему плану, это произойдёт сегодня (13 декабря). Об основных новшествах, которые принесёт этот выпуск, уже известно: как и в прошлый раз, их накопилось действительно много. Представляем обзор самых значимых изменений, которые приходят в Kubernetes с грядущим релизом 1.9. Читать дальше →


Последние посты