Pull to refresh
0
0
arkadym @arkadym

User

Send message

Учимся понимать чертовски быструю английскую речь на примере выступлений Эдди Мерфи и Эминема

Reading time6 min
Views32K
Студенты, которые учат английский язык как второй, часто не готовы к реальной скорости речи носителей языка. Это на учебных пособиях и аудировании все предельно понятно, а когда нейтив начинает тараторить, ты такой «Чё?».

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


Total votes 14: ↑14 and ↓0+14
Comments25

Learn OpenGL. Урок 5.1 — Продвинутое освещение. Модель Блинна-Фонга

Reading time5 min
Views21K
OGL3

Продвинутое освещение


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


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

Пишем MVP приложение на Kotlin под Android

Reading time19 min
Views108K


Разработка приложений на Kotlin под Android набирает популярность среди разработчиков, однако статей в русскоязычном сегменте Интернета довольно мало. Я решил немного подправить ситуацию, и написать туториал по разработке приложения на Kotlin. Мы напишем полноценное приложение с использованием всех трендовых библиотек (кроме RxJava) в мире Android-разработки. В конце у нас должно получиться расширяемое и легко тестируемое приложение (сами тесты мы писать не будем).
Читать дальше →
Total votes 20: ↑19 and ↓1+18
Comments24

Побеждаем Android Camera2 API с помощью RxJava2 (часть 1)

Reading time21 min
Views37K


Как известно, RxJava идеально подходит для решения двух задач: обработки потоков событий и работы с асинхронными методами. В одном из предыдущих постов я показал, как можно построить цепочку операторов, обрабатывающую поток событий от сенсора. А сегодня я хочу продемонстрировать, как RxJava применяется для работы с существенно асинхронным API. В качестве такого API я выбрал Camera2 API.


Ниже будет показан пример использования Camera2 API, который пока довольно слабо задокументирован и изучен сообществом. Для его укрощения будет использована RxJava2. Вторая версия этой популярной библиотеки вышла сравнительно недавно, и примеров на ней тоже немного.


Для кого этот пост? Я рассчитываю, что читатель – умудрённый опытом, но всё ещё любознательный Android-разработчик. Очень желательны базовые знания о реактивном программировании (хорошее введение – здесь) и понимание Marble Diagrams. Пост будет полезен тем, кто хочет проникнуться реактивным подходом, а также тем, кто хочет использовать Camera2 API в своих проектах. Предупреждаю, будет много кода!


Исходники проекта можно найти на GitHub.

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

Shake Detector для Android на RxJava

Reading time9 min
Views16K


Вступление


Началось все с того, что была поставлена задача отменять последнее действие в приложении при встряхивании устройства. Но как понять, что случилось это самое встряхивание? Через пару минут изучения вопроса стало ясно, что надо подписываться на события от акселерометра и дальше пытаться как-то определить, что устройство встряхнули.
Обнаружились и готовые решения. Все они были довольно похожи, но в чистом виде они меня не устраивали, и я написал собственный «велосипед». Это был класс, который подписывался на события от сенсора и менял свое состояние по мере их поступления. Потом пару раз я и мои коллеги подкручивали шестеренки этого велосипеда, и в результате он стал напоминать нечто из «Безумного Макса». Я пообещал, что, как выдастся свободное время, приведу это безобразие в порядок.

И вот, читая недавно статьи по RxJava, я вспомнил про эту задачу. «Хм, — подумал я, — RxJava выглядит очень подходящим инструментом для такого рода проблем». Не откладывая в долгий ящик, взял и написал решение на RxJava. Результат меня поразил: вся логика заняла 8 (восемь!) строк! Я решил поделиться своим опытом с другим разработчикам. Так появилась на свет эта статья.

Надеюсь, этот простой пример поможет принять решение тем, кто размышляет о применении RxJava в своих проектах.

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

Приступим!
Читать дальше →
Total votes 26: ↑25 and ↓1+24
Comments11

Исследуем RxJava 2 для Android

Reading time25 min
Views210K

enter image description here


Меня зовут Аркадий, я Android-разработчик в Badoo. В последнее время в нашем блоге много постов про Go, PHP, JS, QA, и я решил разбавить их темами по мобильной разработке. Как раз занимался портированием одного Android-проекта с RxJava 1 на RxJava 2 и читал всё, что можно найти на эту тему в интернете. В частности, доклад Джейка Вортона с конференции GOTO Copenhagen 2016. Мне показалось, что это достойный кандидат на перевод – думаю, многие Android-разработчики задумываются о переходе на RxJava 2, и им интересно, что изменилось по сравнению с первой версией.


Джейк сделал достаточно объёмное введение о реактивном программировании, так что знание RxJava 1 не требуется для понимания статьи. Доклад был подготовлен, когда RxJava2 ещё только готовилась к выпуску (на текущий момент уже выпущена версия 2.1.0).

Читать дальше →
Total votes 42: ↑41 and ↓1+40
Comments5

Как установить Runtu 3.0 или Ubuntu 8.04 на Toshiba Satellite L300-11E — решение

Reading time2 min
Views839
Toshiba Satellite L300-11E PSLBCE отличный бюджетный ноут за смешные деньги, он поставляется без операционной системы, а значит специально для тех, кто предпочитает Открытое ПО! Для него отлично подойдет Runtu 3 (www.runtu.org) !!!

Остается исправить одну досадную мелочь — отсутствие драйверов беспроводной сети для Линукс.

Все остальное работает на ура. Итак приступим!

Основная проблема — не работает wi-fi на чипе RTL 8187B от Realtek

1. Для ubuntu 8.04 — перед началом выключить LAN через BIOS (нажать F2 при включении, найти LAN — Disable)

и не забыть включить после установки на диск.

Для Runtu 3 beta — все установилось и так, без проблем установилось путем выбора «Установить» при загрузке с LiveCD.

Не работает только WLAN адаптер RTL8187B.

2. Далее скачать драйвер вот этот rtl8187b-modified-804.tar.gz

можно отсюда linux.toshiba-dme.co.jp/linux/eng/pc/x/rtl8187b-modified-804.tar.gz.

Скачать в домашнюю папку!

3. Распаковать там же и скопировать в корень /wifi:

tar -xvzf rtl8187b-modified-804.tar.gz

sudo mkdir /wifi

cd rtl8187b-modified

sudo cp -r * /wifi

cd /wifi


4. А теперь будет трюк по доработке драйвера напильником.=).

Даем команду «lsusb |grep Realtek» и смотрим её вывод. У меня там выдала цифры

...0bda:8198 Realtek…

Нужно Запомнить последние 4 цифры и исправить 2 файла:

/wifi/rtl8187/r8187_core.c
/wifi/rtl8187/r8187_core.c.orig

в них найти 0x8189 и заменить на наши 4 цифры — у меня будет 0x8198

Для замены я пользовался «mc» — в нем находим наши файлы, правим их по F4, и еще раз F4 — функция замены.

В каждом файле будет всего по 2 замены.

5. Далее создаем драйвер и включаем его

cd /wifi

sudo ./makedrv
sudo ./wlan0up


Все! Сеть должна заработать.



Прописывем ее запуск при старте системы:

добавить эти строки в файл /etc/rc.local перед строкой exit 0:

/wifi/wlan0up

ifconfig wlan0 up

dhclient wlan0

exit 0




Добавляем 2 строчки в /etc/network/interfaces

правка — sudo nano /etc/network/interfaces

после чего этот файл должен выглядеть вот так:

auto lo

iface lo inet loopback

pre-up /wifi/wlan0up

post-down /wifi/wlan0down


Сохранить и перезагрузиться!

Проверять можно так:
ifconfig

iwconfig


на выходе должен быть виден wlan0, а так же в иконке Network Manager появляется список видимых сетей.
Total votes 53: ↑10.5 and ↓42.5-32
Comments10

Онлайн патентование в Бюро Патентов и Торговых Марок США

Reading time3 min
Views5.8K
Это возможно. Может быть, для кого-то это не новость, но для меня это стало почти открытием: можно запатентовать свое изобретение в Бюро Патентов и Торговых Марок США (United States Patent and Trademark Office), сокращенно — USPTO (именно там патентуются все Гуглы и Эплы) не вставая из-за компьютера. В буквальном смысле этого слова. У меня вся процедура заняла ровно 15 минут. Спешу поделиться.

Информация к размышлению:

1. USPTO — это американский Роспатент, только с мозгами.
2. USPTO принимает заявки на патентование у жителей любых стран, в т. ч. из РФ.
3. У них есть такая замечательная штука, как временная заявка (Provisional Application) — это приоритет на изобретение в упрощенной и ускоренной форме. Своего рода анонс вашего будущего патента.
4. Provisional Application (далее Provisional Application) действует 12 месяцев, после чего ее нужно подтвердить «настоящим патентом», иначе теряет силу.
5. Временная заявка нигде не публикуется.
6. Заявка может быть написана по-русски (но перевод должен быть предоставлен не позднее 16 месяцев с момента подачи).
7. Заявка стоит от 105 долларов. Можно и больше, но это зависит только от количества информации, которую вы попытаетесь запихнуть в заявку. Мне вполне хватило 105.
8. Оформление заявки делается с помощью веб-приложения EFS-Web. Оно может: добавлять заявку в базу USPTO, проверять эту заявку, принимать пошлину за прием заявки и высылать заявителю квитанцию о приеме заявки.
9. Я не патентный поверенный, не юрист и вообще не-не-не. Просто любитель. Поэтому если надумаете получать таким образом патент — проверяйте. Хотя у меня, вроде, все получилось.
10. Услуга по оформлению Provisional Application у патентных поверенных стоит в среднем 15 000 рублей. Не считая самих пошлин.

Итак, поехали
Читать дальше →
Total votes 67: ↑62.5 and ↓4.5+58
Comments37

Ничего лишнего — только фотографии

Reading time1 min
Views536
Довольно часто мне приходилось пользоваться поиском фотографий и избражений по Flickr для различных целей. Не смотря на солидность сервиса и достаточность критериев поиска, вывод результатов был для меня жутко не удобен.

Недавно натолкнулась..
Total votes 9: ↑9 and ↓0+9
Comments8

Собираем CarPC на Android: недостроенный долгострой

Reading time12 min
Views400K


Моя машина меня устраивает почти всем. Есть практически все, что нужно. В комплектации блютусный телефон, кнопочный климат-контроль, электростеклоподъемники на всех дверях, подогрев сидений, подогрев, регулировка и складывание зеркал, чип-ключ, CD-чейнджер на 6 дисков, но без MP3 и линейного входа. Вот этот прискорбный факт и привел меня к мысли начать собрать свой CarPC на базе андроида. Начал рассматривать варианты и покатился… появилось много идей.
Хочу поделиться с Вами!
Total votes 150: ↑142 and ↓8+134
Comments110

Работа с WMI. События для процессов

Reading time4 min
Views8.1K
Мониторить список процессов можно разными способами, мне понравился вариант с использованием WMI, с помощью которого, мы можем обработать событие создание процесса, изменения, удаления и т.п.

интересно, что же дальше?
Total votes 29: ↑24 and ↓5+19
Comments12

Выдаем тикеты при кешировании

Reading time1 min
Views656
Системы кеширования, с которыми я сталкивался, разработаны по принципу: задай объекту Cache параметры кеширования и работай с объектом Cache. До определенного времени меня устраивала подобная работа с кешем. Однако время не стоит на месте и однажды мне понадобился более удобный способ работы с кешем. В итоге появилась собственная реализация, основанная на тикетах. Суть ее состоит в том, что надо у объекта Cache запрашивать тикет, у тикета уже выставлять параметры (ключ, префикс и т.п.), и тикет должен уметь сохранять данные и извлекать их из кеша.
Это решило проблемы конфликтов при кешировании, когда кто-то начал работать с объектом Cache, выставлял какие-то параметры и передавал управление в метод, который тоже работает с кешем. Появилась возможность обмениваться тикетами.

Реализация для PHP, кеш ориентирован на хранение и извлечение данных из файловой системы: code.google.com/p/ewgra/source/browse/#svn/trunk/cache
Total votes 11: ↑8 and ↓3+5
Comments12

Домашний сервер: виртуализация на основе Xen

Reading time5 min
Views84K
Волей случая, пришлось обновить домашний сервер, в новом сервере оказался процессор core 2 duo и прилично памяти (3 гигабайта). Т.к. обычно сервер использовался в качестве файлопомойки, раутера и музыкального сервера, решил его чем-нибудь занять, чтобы не простаивали ресурсы, благо их теперь достаточно много. Решил настроить довольно популярную в последнее время технологию виртуализации, чтобы было возможно проводит различные опыты с настройкой и собирать пакеты в различных дистрибутивах/системах.
Читать дальше →
Total votes 78: ↑62.5 and ↓15.5+47
Comments70

Почему я не люблю российские коммерческие CMS

Reading time3 min
Views3.5K
Продолжение моего первого поста про CMSы.

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

Итак стал я все ковырять изучать и смотреть насколько предлагаемые рынком системы удовлетворяют моим потребностям. Изучал я российские коммерческие продукты. С каждой новой системой становилось все груснее и груснее.
Читать дальше →
Total votes 165: ↑119 and ↓46+73
Comments264

Information

Rating
Does not participate
Location
Россия
Date of birth
Registered
Activity