RSS
Pages: 1 2 3 4 5 6 7 8 9 10
[>] Re: Google и x86_32
develop.16
Andrew Lobanov(tavern,1) — btimofeev
2016-07-12 12:45:02


> И на python'е плюс kivy.

Вроде, там какие-то проблемы с третьим питоном, но для себя именно такой вариант на будущее рассматриваю. Пайтон, киви и бульдозер =)

[>] Re: Android coding
develop.16
vit01(mira, 1) — btimofeev
2016-07-12 14:06:54


vit01>> На моём ящике с двумя гигами писать для андроида, мягко говоря, проблематично. На нетбуке же (1ГБ) невозможно в принципе (уже пробовал).

btimofeev> Я на нетбуке пользовался android studio в течении последних трех лет. Нетбук с 1 гб оперативки и 1.6 Ггц intel atom. Но конечно тормозит оно жестоко.

Пробовал запускать версию 1.4/1.5 буквально в прошлом году. Девайс виснет намертво (примерно на этапе компиляции проекта).

btimofeev> И на python'е плюс kivy.

У kivy есть существенные недостатки, как по мне. Во-первых, недостаёт важных модулей (например, ctypes). Во-вторых, kivy до сих пор не имеет достойного редактора форм (у Qt есть очень удобный Qt Designer), и их придётся писать вручную. Есть, конечно, Kivy Designer, но он настолько сильно тормозит и много падает, что ему даже альфа-статус присваивать рано.

Про поддержку Python3 Андрей уже сказал ранее.

С GoLang дел не имел пока. На текущий момент его осваивать как-то не хочется.

[>] Re: Android coding
develop.16
btimofeev(station13, 13) — vit01
2016-07-12 14:56:27


vit01> Пробовал запускать версию 1.4/1.5 буквально в прошлом году. Девайс виснет намертво (примерно на этапе компиляции проекта).

Я пользовался начиная с самых первых бета версий и до 2.* включительно. С зависаниями сталкивался если только помимо студии запустить еще что-то тяжелое, потипу браузера. Тогда не хватает ни памяти, ни свопа.

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

vit01> Про поддержку Python3 Андрей уже сказал ранее.

У них в бложике последние записи на тему того, что они добавляют поддержку 3 пайтона. https://kivy.org/planet/

vit01> С GoLang дел не имел пока. На текущий момент его осваивать как-то не хочется.

Язык по-моему достаточно хорош. Он маленький, простой и при этом напоминает помесь Си и скриптовых языков. Некоторые советуют учиться на этих простых примерах https://gobyexample.com/ Они покрывают (почти?) весь язык и часть стандартной библиотеки.

[>] Re: Android coding
develop.16
btimofeev(station13, 13) — vit01
2016-07-26 14:08:54


Что-то у меня тоже беда со сборкой. Так как нетбук мой умер, сегодня я скачал свой проект на старый комп с хубунтой. Запускаю сборку, а gradle виснет на стадии app:mergeDebugResources. Build tools все поставил 23 версии, так как они 32 битные. Причем виснет даже на сборке хелловорлда. И вот не понятно что теперь делать. Никто с таким не сталкивался?

[>] Re: Android coding
develop.16
vit01(mira, 1) — btimofeev
2016-07-26 15:38:05


btimofeev> Build tools все поставил 23 версии, так как они 32 битные. Причем виснет даже на сборке хелловорлда. И вот не понятно что теперь делать. Никто с таким не сталкивался?

Примерно сталкивался. У тебя есть Swap-раздел на старом ноуте? Последний раз, когда gradle зависал, его подключение помогло.
Версия SDK тоже 23 или другая? Могу заархивировать собственный и выложить на сервер, если надо.

[>] Re: Android coding
develop.16
btimofeev(station13, 13) — vit01
2016-07-26 17:30:05


vit01> У тебя есть Swap-раздел на старом ноуте? Последний раз, когда gradle зависал, его подключение помогло.

Да, был в виде файла. Здесь тоже есть, но как отдельный раздел. Так что дело в чем то другом видимо.

vit01> Версия SDK тоже 23 или другая? Могу заархивировать собственный и выложить на сервер, если надо.

SDK 23, build tools я пробовал 23.0.3 и 23.0.2, platform tools были 24 (они уже 64х разрядные) я на их место скачал тоже 23.

Если не сложно выложи пожалуйста.

[>] Re: Android coding
develop.16
vit01(mira, 1) — btimofeev
2016-07-26 19:16:56


btimofeev> Если не сложно выложи пожалуйста.

Мой рабочий SDK 24.0.0 с build-tools и platform-tools 23.0.1

http://ii-net.tk/ii/files/sdk-24-tools-23.tar.xz

[>] Re: Android coding
develop.16
btimofeev(station13, 13) — vit01
2016-07-26 20:41:14


vit01> Мой рабочий SDK 24.0.0 с build-tools и platform-tools 23.0.1

Напиши, пожалуйста, свои версию gradle плагина, и что ты пишешь в compileSdkVersion и в buildToolsVersion. Чего-то с твоим сдк у меня всякие разные ошибки валятся: то он обнаруживает что в папке с 24 build tools лежат 23, то когда я симлинк удалил gradle не может найти библиотеки firebase (думаю, может они не поддерживаются старым плагином).

[>] Re: Android coding
develop.16
vit01(mira, 1) — btimofeev
2016-07-27 05:12:21


btimofeev> Напиши, пожалуйста, свои версию gradle плагина, и что ты пишешь в compileSdkVersion и в buildToolsVersion.

    compileSdkVersion 23
    buildToolsVersion "23.0.1"

При этом в dependencies

    compile fileTree(dir: 'libs', include: ['*.jar'])
    testCompile 'junit:junit:4.12'
    compile 'com.android.support:appcompat-v7:24.0.0'
    compile 'com.android.support:support-v4:24.0.0'
    compile 'com.android.support:design:24.0.0'

Всё для gradle вот:

classpath 'com.android.tools.build:gradle:2.1.2'

distributionUrl=https\://services.gradle.org/distributions/gradle-2.10-all.zip

[>] Re: Android coding
develop.16
btimofeev(tavern,13) — vit01
2016-08-25 19:04:05


vit01> Мой рабочий SDK 24.0.0 с build-tools и platform-tools 23.0.1

Спасибо за помощь, но у меня оно так и не заработало. Проблему решил более кардинальным образом: покупкой новой материнской платы, процессора и памяти (правда всё бюджетное). Теперь у меня 64 разрядный проц и даже эмулятор андроида более-менее нормально работает, так что буду свою прогу портировать под планшетные разрешения экрана.

[>] Re: Android coding
develop.16
vit01(mira, 1) — btimofeev
2016-08-26 02:21:13


А я вот вчера пробовал завести Docker и обнаружил, что готовые 32-битные образы для него совсем не делают: собирайте, дескать, сами.

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

[>] Re: Android coding
develop.16
btimofeev(tavern,13) — vit01
2016-08-30 23:04:32


Сегодня попробовал Instant Run в Android Studio. Это офигительная штука! Перекомпиляция, загрузка на телефон и перезапуск приложения занимает около двух секунд. Раньше на это у меня в районе минуты уходило. Здорово время экономит когда нужно делать много мелких правок и постоянно смотреть на результат.

[>] Re: Android клиент
develop.16
vit01(mira, 1) — btimofeev
2016-08-31 01:54:57


Так, перейдём сюда, чтобы людей не смущать. Как раз эхотаг.

btimofeev> А в чем проблема с SharedPreferences (я с ними никогда не работал)?

1. Чтобы хранить вложенные значения, нужны костыли. Например, люди предлагают всё тот же JSON
2. PreferenceActivity, который работает в связке с этим делом, имеет скудный набор виджетов (например, те же кастомные списки для эхолиста не сделать вообще)
3. Надо реализовывать всё через PreferenceFragment; это довольно небыстро (для кодинга в том числе) и заставляет пользователя дольше кликать, чтобы добраться до нужной настройки

btimofeev> А с json просто работать через библиотеку https://github.com/google/gson

Да, уже слышал про гсон: люди на том же Stackoverflow его постоянно советуют. Но, во-первых, хочется обойтись без внешних библиотек на нижнем уровне (для GUI ещё можно), во-вторых, когда я мельком взглянул на исходники этого чуда, сразу поплохело :)

[>] Re: Android coding
develop.16
vit01(mira, 1) — btimofeev
2016-08-31 01:54:58


btimofeev> Сегодня попробовал Instant Run в Android Studio. Это офигительная штука!

Без неё вообще никак. Правда, есть баги: когда изменений всего на пару строк, то IDE может сообщить, что никаких изменений вовсе и не было. Тогда приходится нажимать "rebuild project" и ждать положенные несколько минут.

[>] Re: Android клиент
develop.16
btimofeev(tavern,13) — vit01
2016-08-31 07:13:41


vit01> Дал тебе RW-доступ в репозиторий; коль желание есть, можешь прикрутить самостоятельно.

Хорошо, займусь этим. Но я буду использовать библиотеку Material Drawer, вместо реализации из библиотеки Design, она проще в использовании, кода меньше, никаких xml файлов и она использует библиотеку Android-Iconics для отображения векторных и шрифтовых иконок (последнее оказалось удобной штукой, не нужно качать кучу иконок разных размеров, просто указываешь имя иконки в шрифте, а библиотека сама масштабирует).

[>] Re: Android клиент
develop.16
vit01(mira, 1) — btimofeev
2016-08-31 07:29:14


Хорошо, делай на своё усмотрение.

Кстати, RecyclerView, насколько видно по документации, довольно неплохая штука.
Попробую прикрутить его после того, как кое-какие свои баги наисправляю.

[>] Re: Android клиент
develop.16
btimofeev(tavern,13) — vit01
2016-08-31 08:04:16


По поводу версий sdk и библиотек: ты не можешь использовать buildtools выше 23.0.1? Support библиотеки 24 версии тоже не работают? Просто чтобы не получилось что я обновлю версии, а у тебя компилироваться не будет.

И у тебя есть jabber или что-то подобное, возможно некоторые вопросы было бы удобнее в чате решать. (мой jabber btimofeev@jabber.ru)

[>] Re: Android клиент
develop.16
vit01(mira, 1) — btimofeev
2016-08-31 08:34:16


btimofeev> По поводу версий sdk и библиотек: ты не можешь использовать buildtools выше 23.0.1? Support библиотеки 24 версии тоже не работают? Просто чтобы не получилось что я обновлю версии, а у тебя компилироваться не будет.

buildtools точно не получится.

Support-библиотеки (support, design, appcompat) только что поменял на 24 ради эксперимента. IDE сказала, что, дескать, неправильно разные build-tools под разные библиотеки ставить, но проект пересобрался и вроде работает.

На гитхаб оно только что ушло, посмотри build.gradle

// в джаббер тебя добавил, но ты вроде как оффлайн

[>] Re: Android клиент
develop.16
vit01(mira, 1) — vit01
2016-09-04 15:41:11


Текущий прогресс:

1. Сделал дизайн куска сообщения и впихнул его в EchoView-Activity
2. Написал топорный xml для полного просмотрщика сообщений

В планах:

1. Реализовать фрагмент и заодно отдельную активити для просмотрщика сообщений
2. Впихнуть его внутрь ViewPager, чтобы переключать сообщения свайпом
3. Сделать "бесконечную прокрутку" для уже более-менее рабочего RecyclerView
4. Приукрасить всё, чтобы более-менее прилично выглядело (нескучные иконки)
5. Починить баги с DebugActivity, с поиском в БД и c запросом одного отдельного сообщения

Не наступаю ли на где-нибудь на грабли? Можно ли сделать лучше? Вот особенно для пункта 3 сомнения.

В документации пишут, что лучше, дескать, сделать разные активити для разных размеров экранов.

[>] Re: Android клиент
develop.16
vit01(mira, 1) — vit01
2016-09-04 15:49:56


Если будет удача в исправлении багов, с конца следующей недели планирую выкладывать APK для тестирования.

[>] С этим надо бы в ru.humor.14, да тольно оно не на русском языке
develop.16
Andrew Lobanov(tavern,1) — All
2016-09-05 13:49:30


В очередном треде tabs vs. spaces было обнаружено прекрасное:

butlerpcnet * 5 years ago

YES! Another strong win for us Tab people! Thank you :) another disadvantage of space-indented code is what I call the "asshole" principle. If I were using spaces to indent? I could be an asshole and indent with 1 space per level! Any normal person thah opens the file would have to make sure his/her IDE or text editor is configured correctly to convert the spaces, and convert back (like you said with committing). It's just a mess.

butlerpcnet * 3 months ago

Comming back to reverse my opinion! I'm now a 4-spaces indenter!! Python 3 standard is 4 spaces, and PHP PSR-2 standard is also 4 spaces. Go away tabs!!

[>] Re: С этим надо бы в ru.humor.14, да тольно оно не на русском языке
develop.16
vit01(mira, 1) — Andrew Lobanov
2016-09-05 14:24:36


Как раз читал недавно новый холивар на Хабре на эту тему.

Мой главный аргумент, почему табы рулят - это то, что когда хочешь нажать Backspace/Delete для удаления пустого места, то надо сделать это всего 1 раз, а не 4.

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

В Android-studio (хоть и не на 100%) возню с пробелами компенсирует функция "code beautifier'а".

[>] Вопрос программистам
develop.16
vit01(tavern,10) — All
2016-09-13 08:27:08


Среди вас кто-нибудь использует на работе или в собственных проектах технологии или наработки на основе нейронных сетей?

Если да, то какие именно? Что интересного можете припомнить в этой практике?

[>] Re: Android клиент
develop.16
btimofeev(tavern,13) — vit01
2016-09-17 07:13:43


Я залил в твой репозиторий небольшой багфикс (вчера не досмотрел). Сделай у себя git pull.

[>] Re: Android клиент
develop.16
Difrex(mira, 14) — vit01
2016-09-27 06:41:08


vit01> Если будет удача в исправлении багов, с конца следующей недели планирую выкладывать APK для тестирования.

[>] Re: Android клиент
develop.16
vit01(mira, 1) — btimofeev
2016-10-04 15:06:40


Что-то неполадки были в жаббере, поэтому можно продолжить дискуссию здесь:

В фетчере я вообще ничего не менял, он работает по-старому, поэтому пока вот так:

1. Какие у тебя настройки были для каждой станции?
2. Увеличивал ли ты лимит /u/e, использовал ли автоконфигурацию?
3. Включал галочку "Качать сообщения дальше"? Не очень я это доработал, так что здесь косяк может быть.

[>] Re: Android клиент
develop.16
btimofeev(mira, 24) — vit01
2016-10-04 23:17:52


Я исправил тот самый баг с удалением свайпом в черновиках (сделай пулл) и добавил поясняющую иконку на фон при удалении. Можно еще и undo реализовать будет.

[>] Re: Android клиент
develop.16
vit01(mira, 1) — btimofeev
2016-10-05 07:16:55


btimofeev> Я исправил тот самый баг с удалением свайпом в черновиках (сделай пулл) и добавил поясняющую иконку на фон при удалении. Можно еще и undo реализовать будет.

Ура! Это очень круто, спасибо! Пересобрал только что и очень доволен.

Undo, наверное, будет лишним.

[>] Уведомления для IDEC Mobile
develop.16
vit01(mira, 1) — All
2016-10-09 09:36:31


Подумал тут насчёт продумывания сабжа и зашёл в тупик.

Есть несколько вариантов:

1. Как в ServerListener. Поступление новых сообщений отслеживается через /x/c. Если они имеются, то выводится уведомление: "Новых сообщений: <число>", но при этом ничего на устройство не скачивается. Когда пользователь жмёт на оповещение, то запускается фетчер.

Плюс подхода - избежание "неожиданных ситуаций". Предположим, в эхе ii://pipe.2032 решил нагадить бот/спамер и закинул туда 50000 сообщений. Пользователь смотрит на оповещение и думает: "Ага, что-то тут нечисто!". Потом идёт проверять станцию, а база на телефоне остаётся в чистоте от мусора.

Либо по-другому: любители разного чтива закинули куда-нибудь в ii://lit.14 сразу 50 огроменных рассказов. У пользователя на мобильном интернете остаётся мало трафика, и он осознанно решает не фетчить сообщения до прихода домой, чтобы сэкономить несколько мегабайт.

Минус подхода - использование /x/c. Не все ноды его поддерживают, а фичу хочется для любых станций сразу.

2. Подход "фонового фетча". Фетчер сам запускается и сам фетчит сообщения, а пользователю только говорит о результатах.

Плюсы - универсальность для всех нод и относительная простота реализации.
Минусы - незащищённость базы от спама и от большого трафика.

3. Смесь первого и второго подхода. Делаем проверки не по /x/c, а по индексу, то есть по /u/e.
// Можно даже сделать так, чтобы ноды c /x/c проверялись именно по нему, а ноды без /x/c - по индексу.

Плюсы - поддержка всех нод и защита от спама
Минусы - глюкавость при изменении настроек станций (особенно с расширенным /u/e); постоянный жор трафика независимо от наличия новых сообщений; надо где-то хранить и запоминать индекс вне базы; будет сложнее реализовать этот хитрый алгоритм.

[>] Re: Уведомления для IDEC Mobile
develop.16
vit01(mira, 1) — vit01
2016-10-09 09:39:51


Итак, за что проголосует народ? Может быть, есть, что предложить получше?

[>] Заполнение форм PDF или "Russian, s*ka! Do you speak it?!"
develop.16
vit01(mira, 1) — All
2017-01-23 15:51:09


Дали мне одно задание - используя API одного сервиса для получения исходных данных, автоматически заполнять бланки для Почты России, чтобы быстро отправлять их на печать. Грубо говоря, написать импровизированного бота, который будет с этим разбираться.

Услышав "PDF", я порадовался и подумал, что "для него уж точно кучу всего написали, проще некуда, найду что-нибудь". Но не тут-то было!

Поискав на Гитхабе, нашёл оригинальную библиотеку pdf-fill-form, написанную на NodeJS. Потратил достаточно времени на разборки с тем, дабы заставить её работать, но ничего хорошего из этого не вышло. Русские символы никак не отображались. Вместо них - кракозябры, либо пустота.

Посмотрел в сети, и выяснилось, что проблема библиотеки - в зависимости от libpoppler. Баг в poppler'е затрагивает многие другие приложения, например, Evince. И проблему в последнем до сих пор можно увидеть без особых усилий.

https://bugs.launchpad.net/ubuntu/+source/evince/+bug/1288182
Представьте себе, баг по этой ссылке висит с 2008 года, но так и не исправлен!

----------

Идём по Гитхабу дальше. Все остальные репозитории с нужным мне делом представлены обёртками для программного пакета pdftk.

pdftk имеет множество фич. Можно даже сказать, что это самая популярная вещь для автоматической обработки. Он может "инспектировать" PDF-файлы, декомпилировать их, изменять внутренности и так далее. Работает на основе файлов FDF и XFDF (XML-версия формата). Туда записываются данные для заполнения в декларативном виде, затем скармливаются pdftk, и тот выдаёт заполненный результат.

Но здесь я опять потерпел неудачу. Кириллица снова отказывается отображаться. В багтрекере уже появлялись люди с похожими проблемами, но их мягко посылали. Были люди, которые предлагали обходные пути вроде дополнительных параметров, но здесь они не помогли.

В чём же проблема с ним?

Оказывается, pdftk полностью перестраивает шрифты в выходном документе, полурандомным образом удаляя некоторые из них. Были товарищи, которые советовали подключать позднее свои шрифты через костыли к полям форм, но этот способ слишком ненадёжный и неочевидный. Баг до сих пор толком не исправлен, хотя поддержка юникода, говорят, улучшилась в pdftk с 2 версии (которую я и использовал). Пользователям из России говорят, что эта самая поддержка в pdftk сделана с существенными ограничениями.

-----------

Где же, наконец, простое и рабочее решение для автозаполнения PDF-форм?

Вот оно: https://sourceforge.net/projects/pdfformfiller2/?source=directory
Использует библиотеку iTextPdf 5 версии, написано на Java.

Установка после распаковки zip-а:

1. Требуется OpenJDK 7 или 8
2. Надо скачать iTextPdf отсюда: https://github.com/itext/itextpdf/releases/tag/5.5.10
3. Затем распаковать jar-файлы и положить их в lib/ к pdfformfiller-у
4. Компилируем обёртку
javac -d . -cp lib/itextpdf-5.5.10.jar PdfFormFiller.java

5. Делаем скрипт для запуска утилиты
java -classpath .:lib/itextpdf-5.5.10.jar PdfFormFiller.PdfFormFiller $1 $2 $3 etc

Всё, готово к использованию. Программа принимает в качестве ввода файл с названиями полей ввода и внешний шрифт (в формате ttf), которым надо их заполнять. Может брать данные в том числе из stdin.

Кстати, насчёт остального. Для выяснения, какие шрифты есть в документе, пригодится cli-утилита pdffonts из состава poppler.
Чтобы узнать id полей ввода в документе, можно использовать pdftk file.pdf dump_data_fields, либо сам pdfformfiller, в котором это предусмотрели (см. справка).

[>] Re: Заполнение форм PDF или "Russian, s*ka! Do you speak it?!"
develop.16
Andrew Lobanov(tavern,1) — vit01
2017-01-24 03:08:32


vit01> Услышав "PDF", я порадовался и подумал, что "для него уж точно кучу всего написали, проще некуда, найду что-нибудь". Но не тут-то было!

Вот меня как раз может ожидать работа с pdf, но из питона. И там может оказаться тоже весьма весело. По крайней мере беглое гугление показало, что граблей с PDF до сих пор много где есть, что на мой взгляд очень странно.

vit01> Где же, наконец, простое и рабочее решение для автозаполнения PDF-форм?

vit01> Вот оно: https://sourceforge.net/projects/pdfformfiller2/?source=directory
vit01> Использует библиотеку iTextPdf 5 версии, написано на Java.

Спасибо за наводку. Вполне допускаю отдавать данные сторонней штуке.

[>] Re: Заполнение форм PDF или "Russian, s*ka! Do you speak it?!"
develop.16
vit01(mira, 1) — Andrew Lobanov
2017-01-24 05:08:01


AL> Вот меня как раз может ожидать работа с pdf, но из питона. И там может оказаться тоже весьма весело.

Своего бота я как раз на питоне писал, а тулзу запускал через subprocess.Popen, и никаких проблем.
Если нужна работа в read-only (например, любой парсинг или анализ), то тут граблей быть не должно, библиотек куча рабочих как для питона, так и для других языков.

[>] Re: Android coding
develop.16
btimofeev(tavern,13) — vit01
2017-01-25 09:02:07


Подскажи, а у тебя телефон без play сервисов? Если так, то не мог бы ты посмотреть работает ли вот эта версия моего приложения https://github.com/btimofeev/UniPatcher/releases/download/0.13/UniPatcher-0.13.apk

[>] Re: Android coding
develop.16
vit01(mira, 1) — btimofeev
2017-01-25 12:39:53


btimofeev> Подскажи, а у тебя телефон без play сервисов?

Да. ОС 7.1.1
Уже давно приспособился жить совсем без гугла.

btimofeev> Если так, то не мог бы ты посмотреть работает ли вот эта версия моего приложения

Нормально установилось и запустилось. Ну а тестировать мне не на чем.

[>] Re: Android coding
develop.16
btimofeev(tavern,13) — vit01
2017-01-25 13:26:22


vit01> Нормально установилось и запустилось. Ну а тестировать мне не на чем.

Спасибо за помощь. Мне просто надо было знать не вылетает ли оно, а то там внутри аналитика и крэш-репорты от Google Firebase. Сейчас просто в Яндекс сторе видел кучу плохих отзывов на приложение BlaBlaCar, люди пишут что без гуглосервисов оно вылетает.

[>] Re: Android coding
develop.16
btimofeev(tavern,13) — btimofeev
2017-01-25 20:12:59


Выложил приложение в Amazon appstore, а при установке выдает "Приложение не установлено. Похоже пакет поврежден". Причем с двух телефонов такое. Они похоже мою apk-шку сломали, нехорошо это. Попробую перезалить новую версию, но блин опять полдня ждать придётся. Какие-то эти альтернативные сторы муторные.

[>] Re: Android coding
develop.16
vit01(mira, 1) — btimofeev
2017-01-26 10:41:53


btimofeev> Какие-то эти альтернативные сторы муторные.

Первый раз вижу упоминание Amazon AppStore.
Вот F-Droid у всех на слуху. Там, правда, за чистотой исходников следят тщательно, но из-за этого популярности и доверия у него больше.

[>] Re: Android coding
develop.16
btimofeev(tavern,13) — vit01
2017-01-26 18:10:22


vit01> Первый раз вижу упоминание Amazon AppStore.

Стор амазона второй по популярности в штатах. Он по умолчанию стоит на Kindle'ах. И народ там самый платежноспособный. Так что если делать приложения с целью заработать, то в первую очередь нужно смотреть на ранок США.

Еще у них есть Amazon Underground. Это стор в котором все приложения бесплатные и внутренние покупки тоже бесплатные, а амазон платит разработчику за время проведенное пользователем в приложении. Но это же приложение должно быть в другом сторе платным.

vit01> Вот F-Droid у всех на слуху. Там, правда, за чистотой исходников следят тщательно, но из-за этого популярности и доверия у него больше.

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

[>] Развлекаюсь с Arduino
develop.16
vit01(mira, 1) — All
2017-02-02 16:29:00


Прикупил себе китайскую Arduino Uno на али за 190 рублей.
Драйвера подошли стандартные из IDE, правда, приходится перед началом работы делать chmod 777 /dev/ttyUSB0, иначе ничего не прошьётся.
Сама IDE, кстати, не хотела сначала ничего компилировать, ругаясь на отсутствие libtinfo.so.5, но симлинком на libncurses проблема разрешилась.

Датчик нужный ещё не приехал, а светодиодами мигать как-то скучно, поэтому решил поразвлечься по-другому.

Порылся в закромах, нашёл раздолбанную игрушечную рацию и вытащил оттуда динамик.

Подключил к ардуине, нашёл примеры использования в сети и, о чудо, оно работает!

В общем, попробовал сделать кавер на кусок симфонии Виктора Аргонова (сюда постил уже когда-то). Автор молодец, что полные midi в открытый доступ выкладывает, экспериментировать удобно.

https://ii-net.tk/ii/ii-point.php?q=/x/file/constructing-sensations-arduino.ogg

И исходник на Гитхабе: https://github.com/vit1-irk/constructing-sensations-arduino

Оригинал для сравнения (3 часть, если что) доступен для скачивания здесь: http://argonov.ru/crossing.html

[>] Реализация IDEC протокола на Гошечке
develop.16
Difrex(mira, 14) — All
2017-02-09 20:32:59


Сегодня реализовал какую-то часть: https://gitea.difrex.ru/Umbrella/fetcher/src/master/idec

Скоро будет API ноды добавлено =)

ЗЫ: Всем привет, я в секте все еще, просто в ридонли Ж(

[>] Re: Реализация IDEC протокола на Гошечке
develop.16
vit01(mira, 1) — Difrex
2017-02-10 06:44:44


Сомневаюсь, что сабж есть перспективно, но зато хоть как-то современно :)

[>] Re: Реализация IDEC протокола на Гошечке
develop.16
Difrex(mira, 14) — vit01
2017-02-10 07:29:39


Я просто решил переписать свой убогий и тормозной фетчер с перла. А реализацию протокола тут по-любому делать надо =)

Кстати, немного статисти из эластика:

Документы
      "docs" : {
        "count" : 79614,
        "deleted" : 0
      },
      "store" : {
        "size_in_bytes" : 147104264,
        "throttle_time_in_millis" : 0
      },

Самое старое сообщение в индексе:
 curl http://127.0.0.1:9200/idec/_search?pretty -XPOST -d '{"fields" : ["_id", "author", "to", "echo", "subg", "message", "date"],"sort": [ { "date":   { "order": "acs" }}, { "_score": { "order": "asc" }}],"size":1}'
{
  "took" : 11,
  "timed_out" : false,
  "_shards" : {
    "total" : 5,
    "successful" : 5,
    "failed" : 0
  },
  "hits" : {
    "total" : 79614,
    "max_score" : null,
    "hits" : [ {
      "_index" : "idec",
      "_type" : "post",
      "_id" : "HuE2FzPk5A6ANa4vHtlA",
      "_score" : 1.0,
      "fields" : {
        "message" : [ "\n(я тоже ненастоящий сварщик)\n\nДа, спасибо, я про zfill думал, а как-то про подобное не догадался, исправлено.\n\nЧто касается хранилилища:\n\nу меня до сих пор основная цель - это африканские дети с компьютерами 1-2 гб hdd, с openbsd или haiku, где дорог каждый килобайт и каждый inode.\n\nПоэтому для клиентов планируется просто сделать один большой файл, в который просто дописывать сжатое содержимое сообщения. И отдельно - индекс, где указаны начальное и конечное смещение в файле.\n\nА для больших и крупных клиентов - всякие разные крутейшие распределённые базы данных. А сейчас мне хочется как можно более простую реализацию сделать." ],
        "to" : [ "All" ],
        "author" : [ "51t" ],
        "subg" : [ "про хэш и реализацию" ],
        "date" : [ "1394282165" ],
        "echo" : [ "to.lor.2014" ]
      },
      "sort" : [ "1394282165", 1.0 ]
    } ]
  }

Самое новое сообщение в индексе
curl http://127.0.0.1:9200/idec/_search?pretty -XPOST -d '{"fields" : ["_id", "author", "to", "echo", "subg", "message", "date"],"sort": [ { "date":   { "order": "desc" }}, { "_score": { "order": "desc" }}],"size":1}'
{
  "took" : 11,
  "timed_out" : false,
  "_shards" : {
    "total" : 5,
    "successful" : 5,
    "failed" : 0
  },
  "hits" : {
    "total" : 79614,
    "max_score" : null,
    "hits" : [ {
      "_index" : "idec",
      "_type" : "post",
      "_id" : "e3w8k49i3BcDvNS0MsLw",
      "_score" : 1.0,
      "fields" : {
        "message" : [ "\n Американская актриса Джуди Гарленд, сыгравшая Дороти в фильме «Волшебник страны Оз» 1939 года, подвергалась сексуальным домогательствам со стороны актеров-карликов во время съемок ленты. Об этом говорится в книге бывшего мужа артистки Сида Луфта «Джуди и я: моя жизнь с Джуди Гарленд». \nСсылка: https://lenta.ru/news/2017/02/10/wonderland/" ],
        "to" : [ "All" ],
        "author" : [ "Новостной_робот" ],
        "subg" : [ "СМИ узнали о домогательствах карликов-жевунов к звезде «Волшебника страны Оз»" ],
        "date" : [ "1486710015" ],
        "echo" : [ "lenta.rss" ]
      },
      "sort" : [ "1486710015", 1.0 ]
    } ]
  }
}

[>] Сигнализация для меломана на Arduino
develop.16
vit01(mira, 1) — All
2017-02-18 13:56:28


Когда у меня появилась ардуинка, я хотел приспособить её для какого-нибудь действительно полезного дела. В домашних условиях такая задача всё-таки нашлась :)

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

Цель: сделать установку на ардуине, которая будет ставить плеер на паузу, когда подходят к твоему "рабочему месту".

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

Нашёл в сети образцы скетчей для использования датчика движения, но они мне не очень понравились, и я решил взять один из них и максимально упростить:

#define pirPin 2  // наш датчик
#define ledPin 13 // светодиод

int wasMotion = false;

void setup() {
  Serial.begin(9600);
  pinMode(pirPin, INPUT);
  pinMode(ledPin, OUTPUT);

  delay(2000); // не активируем цикл сразу, а чуть-чуть подождём
}

void loop() {
  int pirVal = digitalRead(pirPin);

  //Если обнаружили движение
  if (pirVal == HIGH)
  {
    if (wasMotion == false) {
      digitalWrite(ledPin, HIGH);
      Serial.print("Motion detected\n");
      wasMotion = true;
    }
    delay(500); // пауза для прогорания светодиода и для следующей проверки
  } else if (wasMotion == true) {
    wasMotion = false;
    digitalWrite(ledPin, LOW);
  }
}

После заливки скетча надо добавить вашего пользователя в группу uucp, которая позволит считывать данные из виртуального USB-COM порта ардуины без root-прав.

# usermod -a -G uucp youruser

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

#include <stdio.h>
#include <string.h>
#include <unistd.h>
#include <fcntl.h>
#include <signal.h>
#include <stdlib.h>

int fd;
int should_exit = 0;

static void signal_handler(int sig) {
	// Обрабатываем нажатие Ctrl-C, чтобы корректно выходить

	switch (sig) {
		case SIGINT:
			close(fd);
			printf("Exiting\n");
			should_exit = 1;
			break;
		default:
			break;
	}
}

void stop_player() {
	// Главная вещь, ради которой всё затевалось
	// Для плеера Audacious, которым пользуюсь

	system("if [ \"`audtool playback-status`\" = \"playing\" ]; then audtool playback-pause; fi");
}

void main(int argc, char** argv) {
	char buf[15];
	int r;

	signal(SIGINT, signal_handler);

	// Открываем виртуальный USB COM-port девайса
	fd = open("/dev/ttyUSB0", O_RDONLY | O_NOCTTY | O_NDELAY);
	if (fd == -1) {
		perror("open_port: Unable to open /dev/ttyUSB0 - ");
		should_exit = 1;
	} else {
		fcntl(fd, F_SETFL, FNDELAY);
	}

	while(!should_exit) {
		r = read(fd, buf, 20);
		if (r > 0 && strncmp(buf, "Motion detected", 15) == 0) {
			puts("Works!");
			stop_player();
		}
		sleep(1);
	}
}

Всё, можно добавлять в автозагрузку и пользоваться!
И да, как это выглядит на фоточках:

https://ii-net.tk/ii/files/arduino-pir1.jpg
https://ii-net.tk/ii/files/arduino-pir2.jpg

[>] Re: Emacs
develop.16
btimofeev(tavern,13) — All
2017-03-11 08:37:55


btimofeev> Ещё org-mode в нем довольно крутой. Надо как-то познакомиться с ним поближе.

Вот и настало это время: я тоже начал осваивать emacs. Преимущественно из-за org-mode. Пока что перетащил туда почти все свои заметки и todo из разных программ и сервисов. Для андроид обнаружил программку Orgzly, простенькая, довольно удобная и недавно заопенсорсилась https://github.com/orgzly/orgzly-android

[>] Re: Emacs
develop.16
vit01(mira, 1) — btimofeev
2017-03-12 08:59:50


btimofeev> Для андроид обнаружил программку Orgzly

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

У самого для тудушек стоит приложение OpenTasks (уже упоминал его в ii://linux.14). Его плюс в том, что с OwnCloud/NextCloud обменивается и интерфейс с точки зрения кнопкотыкания удобен.

Другое дело, что следовать расписаниям и всяким спискам в целом - это неудобно и часто бессмысленно, потому что планы постоянно перекраиваются, а хотелки меняются. В итоге в конце дня смотришь и понимаешь, что события в реальности произошли совсем в другое время (не так, как предполагалось изначально). Или не произошли (отложились на завтра). Поэтому поигрался с календарями и TODO-шниками, да забросил.
Но это ИМХО.

[>] Re: Emacs
develop.16
vit01(mira, 1) — vit01
2017-03-12 09:32:01


На Хабре недавно промелькнула статья про технику помидора и Emacs.
https://habrahabr.ru/post/323576/

Ссылка на гитхаб со скриптом: https://github.com/TatriX/pomidor

Симпатичная штука для столь избитой методики повышения производительности :)

[>] Re: Emacs
develop.16
btimofeev(tavern,13) — vit01
2017-03-12 17:10:10


btimofeev>> Для андроид обнаружил программку Orgzly

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

Там есть еще Dropbox, но только в версии из Google Play (или если сам из исходников соберешь). Я, кстати, ей побольше попользовался и оказалось, что она поддерживает сильно ограниченный набор возможностей org-mode. И непонятно собирается ли автор этот набор расширять.

vit01> Другое дело, что следовать расписаниям и всяким спискам в целом - это неудобно и часто бессмысленно, потому что планы постоянно перекраиваются, а хотелки меняются.

А для меня нормально работает: память у меня не очень хорошая, так что постоянно приходится записывать todo'шки.

[>] Re: Emacs
develop.16
btimofeev(tavern,13) — vit01
2017-03-12 17:17:07


vit01> На Хабре недавно промелькнула статья про технику помидора и Emacs.
vit01> https://habrahabr.ru/post/323576/

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

[>] Re: Emacs
develop.16
Andrew Lobanov(Go!,0) — btimofeev
2017-03-13 04:32:07


btimofeev>>> Для андроид обнаружил программку Orgzly
btimofeev> Там есть еще Dropbox, но только в версии из Google Play (или если сам из исходников соберешь). Я, кстати, ей побольше попользовался и оказалось, что она поддерживает сильно ограниченный набор возможностей org-mode. И непонятно собирается ли автор этот набор расширять.

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

vit01>> Другое дело, что следовать расписаниям и всяким спискам в целом - это неудобно и часто бессмысленно, потому что планы постоянно перекраиваются, а хотелки меняются.
btimofeev> А для меня нормально работает: память у меня не очень хорошая, так что постоянно приходится записывать todo'шки.

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

Pages: 1 2 3 4 5 6 7 8 9 10