Рубрика «open source» - 176

cover

На данный момент существует более 500 различных языков программирования. Следовательно, вполне нормально взять и начать учить новый язык прямо сейчас. Например, вы знаете C++ и Java, но на работе требуется Python, или наоборот. А может быть, вы просто хотите выучить какой-нибудь модный язык, чтобы повысить свою конкурентоспособность?..Читать полностью »

image

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

Статьи про нейрокурятник

Заголовок спойлера

  1. Вступление про обучение себя нейросетям
  2. Железо, софт и конфиг для наблюдения за курами
  3. Бот, который постит события из жизни кур — без нейросети
  4. Разметка датасетов
  5. Параллельное участие в соревнованиях, визуализации внутренностей нейросетей, развитие архитектур моделей
  6. Работающая модель для распознавания кур в курятнике

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

Когда мы начали рассказывать про свой OpenSource акторный фреймворк для C++ на Хабре, мы пообещали описывать некоторые особенности деталей реализации SObjectizer-а. Одна из новых фич, которая была реализована в недавно вышедшей версии 5.5.19, отлично подходит для такого рассказа. Кроме того, она интересна еще и тем, что нам пришлось взглянуть на сценарии использования SObjectizer с совершенно другой стороны. Можно даже сказать, что один из наших шаблонов оказался разорванным.

Речь идет о возможности SObjectizer-а выполнять все свои действия на одной единственной рабочей нити. Начиная с версии 5.5.19 использовать Actor- и Publish/Subscribe модели можно даже в однопоточном приложении. Понятное дело, что акторы должны будут работать в режиме кооперативной многозадачности, но в каких-то случаях именно это и требуется.

А где может потребоваться использовать акторов в однопоточном приложении?

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

Использование библиотеки stm32cube для создания платформо независимых драйверов - 1
Всем привет!
В данной статье я бы хотел поделиться опытом создания драйверов для платформ серии stm32. Идея заключается в том, чтобы в ОС Embox, не приходилось создавать драйвера для каждой серии платформ STM32F3, STM32F4 и так далее. Ведь кроме того, что это занимает время, новый код неизбежно будет содержать новые ошибки.
Читать полностью »

Состоялся релиз версии 0.5 кросслплатформенного XAML UI фреймворка AvaloniaUI (раннее назывался Perspex). Фреймворк сделан по тем же принципам, что и WPF/UWP, т. е. используется XAML, биндинги и шаблонизированные элементы управления. На текущий момент это единственный способ сделать UI на настоящем XAML, который будет работать на Windows, OS X и Linux (так же имеется экспериментальная поддержка iOS и Android). Каталог встроенных контролов (gif 3MB)

КПДВ

Начать работать с фреймворком можно скачав дополнение для Visual Studio 2017 и создав проект из шаблона. Так же стоит ознакомиться с документацией на wiki.

В этом релизе: Поддержка .NET Core, переход на GTK3 для *nix-систем, поддержка вывода через Linux fbdev, система расширений, исправлено множество ошибок.

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

Продолжаем переводы справочных материалов по лицензированию CMS с открытым исходным кодом. В этот раз предлагаю для чтения материал про Kooboo CMS — систему управления контентом, написанную на C#.Net китайскими товарищами из Yardi Technology Limited. Кстати, Хабру также она немного знакома (как в рамках отдельного поста, так и совсем эпизодически). Думаю, сделать дополнение о ней касательно информации о ее лицензировании будет делом не лишним, пускай этот текст и не такой объемный, каким были материалы про Plone или Drupal.

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

Тема по улучшению взаимодействия машин и человека сейчас актуальна как никогда. Появились технические возможности для перехода от модели «100 кликов» к парадигме «скажи, что ты хочешь». Да, я имею в виду различные боты, которые уже несколько лет разрабатывают все кому не лень. К примеру, многие крупные компании, не только технологические, но и retail, logistics, банки в данный момент ведут активный Research&Design в этой области.

Простой пример, как, например, происходит процесс выбора товаров в каком-либо интернет магазине? Куча списков, категорий, в которых я роюсь и что-то выбираю. It suck's. Или, допустим, заходя в интернет банк, я сталкиваюсь с различными меню, если я хочу сделать перевод, то я должен выбрать соответствующие пункты в меню и ввести кучу данных, если же я хочу посмотреть список транзакций, то опять таки, я должен напрягать как мозг, так и указательный палец. Гораздо проще и удобнее было бы зайти на страницу, и просто сказать: «Я хочу купить литр молока и пол-литра водки», или просто спросить у банка: «Что с деньгами?».

В список профессий, которым грозит вымирание в достаточно близкой перспективе, добавляются: теллеры, операторы call центров, и многие другие. И на простом примере, реализовать который у меня заняло часов 7, я покажу, как можно достаточно просто сделать интеграцию распознавания речи, и выявления сущностей, на примере открытого Wit.Ai (Google Speech API интеграция также включена)
Свой Bot за несколько часов, или поговорим о пиве с машиной - 1
Читать полностью »

image

Синопсис

Не секрет, что у многих из нас остался 1 Тб свободного места на MRU-Облаке со времён его бета-теста. Объём приличный по нынешним меркам — но что с ним делать? Фотографии и своё видео туда просто так заливать не очень хочется — взломы аккаунтов случаются нередко, да и в любом случае — облако это облако, и нельзя сбрасывать со счетов тот простой факт, что любое облачное хранилище принадлежит коммерческой компании, в интересах которой использовать его для собственной выгоды. А значит, нужен дополнительный слой защиты, например, EncFS. Полистаем хабр и гитхаб, вроде бы имеется решение о шифровании данных в своём облаке. Но есть неочевидное, но весьма важное неудобство, о котором в исходной статье не упоминается — для того, чтобы синхронизироваться, нужно локально хранить 600Гб шифрованных фотографий. Для скромных локальных хранилищ, в которых и нешифрованные 600Гб фотографий едва умещаются, это слишком много.

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

Я думал, что достиг желанного. Один из моих open-source проектов начал набирать небольшую аудиторию фолловеров на GitHub. Больше никакой нытливой неуверенности в себе, ведь около тысячи наблюдателей за звёздами следят за моим проектом — это всё, что нужно для подтверждения ценности. Это то, что можно вспоминать в моменты неуверенности. Напоминание, что я действительно достиг того, чего стою на самом деле. Никогда не думал, что звёзды могут отвернуться от меня.

* * *

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

Его ожидания от меня как мейнтейнера и моя собственная вера в своё желание делиться кодом — сочетание этих двух факторов привело к довольно невероятной череде событий, о которой я расскажу.
Читать полностью »

Picture 6

Недавно я проводил сравнение C# анализаторов PVS-Studio и SonarQube на базе кода проекта PascalABC.NET. Исследование оказалось довольно интересным, поэтому я решил продолжить работу в данном направлении. В этот раз я сравниваю C# анализатор PVS-Studio со статическим анализатором, встроенным в Visual Studio. На мой взгляд, это весьма достойный соперник. Несмотря на то, что анализатор из комплекта Visual Studio, в первую очередь, рассчитан не на поиск ошибок, а на улучшение качества кода, это вовсе не означает, что с его помощью нельзя найти реальные ошибки, хотя это и трудно. Давайте разберемся, какие же особенности работы анализаторов будут выявлены в ходе нашего исследования на этот раз. Вперёд!
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js