Pull to refresh
0
0
Andrey Khitryy @arkty

Android developer

Send message

9 лучших опенсорс находок за сентябрь 2019

Reading time2 min
Views52K

Доброго Хактоберфеста, дамы и господа. Подготовил для вас подборку самых интересных находок из опенсорса за сентябрь 2019.


За полным списком новых полезных инструментов, статей и докладов можно обратиться в мой телеграм канал @OpensourceFindings (по ссылке зеркало, если не открывается оригинал).


В сегодняшнем выпуске.
Технологии внутри: Python, C, Rust, Ruby, JavaScript, Go.
Тематика: веб разработка, администрирование, инструменты разработчика.


Прошлый выпуск.

Читать дальше →
Total votes 115: ↑112 and ↓3+109
Comments19

Фантастические плагины, vol. 1. Теория

Reading time14 min
Views8.4K

Жизнь с многомодульным проектом не так уж проста. Чтобы избежать рутины создания нового модуля мы создали собственный плагин для Android Studio. В процессе реализации мы столкнулись с отсутствием практической документации, перепробовали несколько подходов и откопали множество подводных камней. Получилось две статьи: “Теория” и “Практика”. Встречайте!


image

Читать дальше →
Total votes 24: ↑23 and ↓1+22
Comments11

Алексей Савватеев: Нобелевская премия Жана Тироля за анализ несовершенных рынков (2014) и коллективную репутацию

Reading time12 min
Views14K
image

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

Нобелевская премия


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

Я прошу прощения у экономистов в этом зале, я популярно изложу основы теории общего равновесия за 20 минут.

1950


Превалирует следующий взгляд, что экономическая система подчиняется строгим законам (как физическая реальность — законам Ньютона). Это было торжество подхода единения всей науки под некой общей крышей. Как выглядит эта крыша.
Total votes 44: ↑38 and ↓6+32
Comments53

SSLH: Прячем SSH/HTTPS/OpenVPN/Telegram за единым портом 443

Reading time3 min
Views117K
image

SSH/HTTPS/OpenVPN/Telegram и всё на одном порту?! Что?!
— Да!
  • Хотите скрыть наличее у вас некоторых сервисов?
  • В публичной wi-fi сети блокируется всё кроме 443 (https) порта?
  • Настроили Telegram Proxy/OpenVPN и не хотите его «светить» ?
  • SSH подключение к своему серверу из стран с цензурой?

На все эти вопросы ответ один — Мультиплексирование SSL/TLS соединений, или SSLH.

В посте мы рассмотрим как в 1 команду спрятать кучу сервисов за 1 портом.
Читать дальше →
Total votes 83: ↑79 and ↓4+75
Comments100

Осознание человеческой сущности через понимание ИИ. Часть 2. Замочная скважина

Reading time15 min
Views8.5K

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

В процессе разработки механизмов обработки информации поступающей с систем информации, механизмов обучения, хранения, принятия решений были определены некоторые особенности, которые повторяются во всех системах. Это своего рода оказалось связующим звеном, позволяющим строить многоуровневые системы выполняющие разные функции, но работающие по одним принципам. Эти принципы я попробую объяснить, и возможно, их понимание позволит по другому взглянуть на вашу жизнь, ваши решения и мотивацию.
Читать дальше →
Total votes 17: ↑14 and ↓3+11
Comments106

Переписываем приложение под Blockchain

Reading time6 min
Views11K

Before and after


Отмечу сразу, что данная статья не о том как писать код на Solidity, а как существующую классическую архитектуру вашего приложения можно перевести на рельсы blockchain и думать в ключе децентрализации.


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


В последнее время по роду деятельности мне довелось поработать с несколькими проектами связанными с криптовалютой и blockchain-технологиями. Познакомившись ближе с Ethereum и его идеологией децентрализованных приложений (ĐApp) я просто заболел этой идеей: никакой цензуры, никто не может прикрыть ваш бизнес, никто не может конфисковать ваши средства, невозможно просто взять и выключить сервер на котором работает ваше приложение. В определенный момент я пришёл к выводу, что именно в такой среде мой проект может иметь шансы на жизнь.


Итак, взглянем на фронт работ.

Читать дальше →
Total votes 14: ↑11 and ↓3+8
Comments71

Быстрая интеграция Google Chromecast в Android приложение

Reading time11 min
Views6K
Добрый день, я Android Team Lead в компании по разработке мобильных приложений Trinity Digital. Наша компания существует на рынке три года и в 2015-м мы вошли в топ-10 лучших разработчиков Москвы. Наш второй офис находится в Петрозаводске, там я и руковожу командой Android-разработчиков. В этой статье хочу рассказать о том, как быстро добавить в приложение возможность взаимодействовать с устройством Google Chromecast, а именно — отправлять один видео-файл на воспроизведение и управлять просмотром. Получить устройство удалось благодаря конкурсу Device Lab от Google.

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

Приложение, на примере которого я расскажу о технологии — «Рецепты Юлии Высоцкой».



Статья автора Андрея Хитрого, в рамках конкурса «Device Lab от Google».
Подробнее
Total votes 12: ↑11 and ↓1+10
Comments2

Кулуары VR. Библиотеки для отображения панорам 360*

Reading time9 min
Views8.1K


Всем привет! VR нынче в тренде, тема злободневная, различных проектов и способов реализовывать отображение трёхмерной картинки, кажется, скоро будет миллион. Сегодня у нас в гостях Михаил Вайсман, основатель компании по разработке мобильных приложений Trinity Digital. Он вызвался рассказать про работу с библиотеками для отображения 360-градусных панорам, за что мы выражаем ему признательность. Ладно, вы все пришли сюда за интересным опытом, а не за контентом до ката. ;)

Передаём слово Михаилу
Total votes 8: ↑7 and ↓1+6
Comments5

Евклидов алгоритм генерации традиционных музыкальных ритмов

Reading time17 min
Views19K
Перевод статьи Godfried Toussaint The Euclidean Algorithm Generates Traditional Musical Rhythms.

От переводчика


В Sonic Pi есть функция spread, которая принимает два числовых параметра и возвращает набор значений для генерации ритма. В описании этой функции есть ссылка на работу «The Euclidean Algorithm Generates Traditional Musical Rhythms». Эта блестящая статья, вышедшая аж в 2005 году, похоже, так и не была переведена на русский язык. Не будучи специалистом по переводам, я попытался, тем не менее, восполнить этот пробел.
Небольшое пояснения по поводу слова «ожерелье»: в тексте статьи «necklace» — в музыкальной теории такого термина нет, насколько мне известно. Я полагаю, что это просто некая визуальная интуиция автора, действительно ведь ритмическое кольцо, в том виде, в каком оно представлено на рисунках, напоминает ожерелье — поэтому так и перевожу.

Конспект


Евклидов алгоритм (дошедший до нас из «Начал» Евклида) подсчитывает наибольший общий делитель двух целых чисел. Настоящая работа демонстрирует, что структура евклидова алгоритма может быть использована для того, чтобы очень эффективно генерировать большое семейство ритмов, используемых в качестве пульсаций (остинато), в частности в музыке тропической Африки, и в традиционной музыке вообще. Эти ритмы, называемые здесь евклидовыми ритмами, имеют то свойство, что их ударные рисунки распределяются насколько возможно равномерно. Евклидовы ритмы также находят приложение в ускорителях в атомной физике и в компьютерных науках, и тесно связаны с несколькими семействами слов и последовательностями, изучаемыми комбинаторикой слов, такими как евклидовы строки, с которыми сравнивают евклидовы ритмы.
Читать дальше →
Total votes 23: ↑23 and ↓0+23
Comments17

Асинхронные операции и пересоздание Activity в Android

Reading time11 min
Views16K
В одной статье на хабре (274635) было продемонстрировано любопытное решение для передачи объекта из onSaveInstanceState в onRestoreInstanceState без сериализации. Там используется метод writeStrongBinder(IBInder) класса android.os.Parcel.

Такое решение корректно функционирует до тех пор, пока Android не выгрузит ваше приложение. А он вправе это сделать.
…system may safely kill its process to reclaim memory for other foreground or visible processes…
(http://developer.android.com/intl/ru/reference/android/app/Activity.html)

Читать дальше →
Total votes 12: ↑12 and ↓0+12
Comments1

Проект Reflecty: зеркало как часть умного дома

Reading time2 min
Views13K


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

После детального планирования проект по созданию умного зеркала начал реализовываться. Вначале появился видеоконцепт, а теперь — и первый прототип, который работает довольно неплохо. По словам автора, умное зеркало Reflecty позволяет пользователю управлять умным домом, плюс предоставляет необходимую человеку информацию по запросу. Для отслеживания действий пользователя зеркало оснащено детектором движения и модулем распознавания жестов Leap Motion. Эффективное рабочее расстояние для зеркала — около 20 сантиметров.
Читать дальше →
Total votes 10: ↑8 and ↓2+6
Comments21

Deep Reinforcement Learning (или за что купили DeepMind)

Reading time5 min
Views43K
Продолжаю рассказывать про успехи DeepMind. Этот пост про их первое известное публике достижение — алгоритм, который обучается играть в игры Atari, не зная об играх ничего, кроме пикселей на экране.

Вот, собственно, главный артефакт (если вы это видео не видели, посмотрите обязательно, оно взрывает мозг)


Вот столько примерно публично известно про компанию, когда ее покупают за полмиллиарда долларов.
Давайте разбираться, как это работает
Total votes 41: ↑40 and ↓1+39
Comments15

Dagger 2. Часть первая. Основы, создание графа зависимостей, Scopes

Reading time10 min
Views170K

Всем привет! В последнее время появилось много средств, библиотек, которые существенно облегчают написание кода под Android. Только успевай за всем следить и все пробовать. Одним из таких средств является библиотека Dagger 2.


В сети уже много различного материала, посвященного данной библиотеке. Но когда я только начинал ознакамливаться с Dagger 2, читал статьи, смотрел доклады, я во всем этом находил один общий недостаток — мне, как человеку, не работавшему со Springом и прочими подобными фреймворками/библиотеками, было довольно сложно понять, откуда берутся зависимости, как они "провайдятся" и что вообще там происходит. На слушателей/читателей обычно сразу "вываливается" большое количество кода с новыми аннотациями. И это как-то работало. В итоге, после доклада/статьи в голове все никак не могло сложиться в единую понятную картину.


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


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

Читать дальше →
Total votes 7: ↑7 and ↓0+7
Comments22

Plotti.co: самый простой микросервис для мониторинга графиков в реальном времени

Reading time2 min
Views18K
Привет, хабравчанин!

В этой заметке речь пойдет о Plotti.co — адски простом в использовании инструменте, который делает ровно одну вещь, но делает её быстро и хорошо. Речь пойдет об онлайн-рисовании графиков и их обновлении в реальном времени.

Создание живых графиков на лету, как мне кажется, не является той задачей, для решения которой нужно сперва прочесть 10 страниц документации, заплатить за подписку по $20 в месяц, а иногда — и то, и другое сразу. Так нельзя. Не в 2016 году.

image

В Plotti.co клиентская часть — это SVG-изображение, которое подписывается по EventSource на источник данных от сервера, и обновляет график в соответствии с ними. Интегрируется она в страницу элементарно:

<object data="http://plotti.co/U0N5G5FQigwC/plot.svg" type="image/svg+xml"></object>


Да, это всё. Здесь U0N5G5FQigwC — это хеш картинки. Чтобы картинка обновилась во всех браузерах, в которых она сейчас открыта, необходимо просто послать GET-запрос по соответствующему адресу. Например,

wget "http://plotti.co/U0N5G5FQigwC?d=1.5,3.6,7.8mbps" -O /dev/null


Читать дальше →
Total votes 32: ↑30 and ↓2+28
Comments15

История ещё одного 3д-куба 10х10х10

Reading time6 min
Views33K
В последнее время на портале появлялись статьи о создании светодиодных кубов. Это своего рода игрушки, которые могут формировать трёхмерную картинку, но сделать большое разрешение очень проблематично и трудоёмко. Большинство работ ограничивается форматом 3х3х3, или в лучшем случае 5х5х5. Спустя время я нашёл свой старый 10 “этажный” куб, немного восстановил его и решил написать о своём опыте создания устройства.

Первый куб я спаял где-то в 2012 году, на подарок, с разрешением 4x4x4, в нем использовалась готовая схемотехника и программа, найденная в интернете. Увлёкшись, решил сделать такой же себе, но, увеличив разрешение до 5x5x5. Схемотехнику, опираясь на готовое решение, сделал сам, полностью скопировав саму логику подачи напряжения на ноги светодиодов.
Читать дальше →
Total votes 58: ↑58 and ↓0+58
Comments39

ESP8266 прошивка, программирование в Arduino IDE

Reading time4 min
Views518K
И снова привет Хабр. Этот материал является продолжением моей предыдущей статьи — ESP8266 и Arduino, подключение, распиновка, и, должен сказать, что они взаимосвязаны. Я не буду затрагивать темы, которые уже раскрыты.

А сегодня, я поведаю, как же программировать ESP8266 при помощи Arduino IDE, так же прошивать другие прошивки, например NodeMcu… Вообщем, этот материал не ограничивается только одной темой Ардуино.

image

Тема ESP8266 — довольно таки непростая. Но, если работать с этими Wi-Fi модулями в среде разработки Arduino IDE — порог вхождения опускается до приемлемого для обычного ардуинщика уровня. Да и не только ардуинщика, а любого человека, у которого есть желание сварганить что-то по теме IoT(интернет вещей), причём не затрачивая много времени читая документацию для микросхемы и изучение API для этих модулей.



Данное видео, полностью дублирует материал, представленный в статье ниже.
Читать дальше...
Total votes 21: ↑20 and ↓1+19
Comments32

Построение Android приложений шаг за шагом, часть вторая

Reading time11 min
Views56K


В первой части статьи мы разработали приложение для работы с github, состоящее из двух экранов, разделенное по слоям с применением паттерна MVP. Мы использовали RxJava для упрощения взаимодействия с сервером и две модели данных для разных слоев. Во второй части мы внедрим Dagger 2, напишем unit тесты, посмотрим на MockWebServer, JaCoCo и Robolectric.
Читать дальше →
Total votes 15: ↑14 and ↓1+13
Comments0

Мои правила дизайна хорошего интерфейса

Reading time4 min
Views100K
image

В этой статье я привожу примеры основных принципов или концепций, которыми руководствуюсь при проектировании десктопных интерфейсов. Не планирую выступать новатором или поучителем, но с радостью поделюсь набором установок, который помогает мне в работе.
Читать дальше →
Total votes 59: ↑55 and ↓4+51
Comments27

Математика на пальцах: методы наименьших квадратов

Reading time8 min
Views225K

Введение




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

Но я научился говорить, что я не знаю, что такое умножение. Да, я не знаю, что такое подалгебра над алгеброй Ли. Да, я не знаю, зачем нужны в жизни квадратные уравнения. К слову, если вы уверены, что вы знаете, то нам есть над чем поговорить! Математика — это серия фокусов. Математики стараются запутать и запугать публику; там, где нет замешательства, нет репутации, нет авторитета. Да, это престижно говорить как можно более абстрактным языком, что есть по себе полная чушь.
Математика для программистов!
Total votes 125: ↑115 and ↓10+105
Comments398

Можно натренироваться обманывать тело, будто оно получило лекарство

Reading time9 min
Views57K
Маретт Флайс (Marette Flies) было 11 лет, когда её иммунная система восстала против неё. В 1983 году у девочки нашли волчанку. Системная красная волчанка — это аутоимунное заболевание, при котором антитела повреждают ДНК здоровых клеток. От иммуноподавляющих препаратов лицо Маретт опухло, а волосы выпадали. Позже начали воспаляться почки, появились судороги и поднялось кровяное давление.

В 1985 году антитела атаковали факторы свёртывания в крови. Маретт удалили матку — девочка могла истечь кровью во время месячных. Несмотря на множество препаратов кровяное давление росло. Появились проблемы с сердцем, и врачи решили применить Цитоксан, крайне токсичное лекарство, которое могло убить девочку.

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

image
Aaron Tilley and Kerry Hughes
Читать дальше →
Total votes 61: ↑58 and ↓3+55
Comments271

Information

Rating
Does not participate
Location
Петрозаводск, Карелия, Россия
Date of birth
Registered
Activity