24 Dec 2013

Save programmer's SSD

Recently, building project, I thought, how many file i/o operations happen during build process, and how terribly it reduces my SSD lifetime by consuming a limited number of write cycles. Immediately appeared a natural wish to link a build system's temporary files directory somewere in tmpfs. At first I wanted to write a shell script, but soon understood that it's a wrong way and decided to include according instructions in build project. As I wanted to make this easily reusable, a small SaveSSD plugin for Gradle was born. Source code is published at Github, and the compiled library can be included in project by referencing my maven repository at Bintray. Plugin was tested in Android Studio and Intellij IDEA with Android and Java projects, but it should work with any Gradle project on all *nix systems (on Windows it just does nothing). By the way, as RAM access is much faster, than HDD access, HDD owners also can gain profit from SaveSSD plugin usage - build process becomes faster. Nevertheless, there is an option to turn it on and off for every team member individually.

Спасаем программерские SSD

Недавно, ожидая завершения сборки проекта, я задумался, сколько операций файлового ввода-вывода происходит во время этого процесса: генерация файлов с байткодом, файлы ресурсов, одексированные файлы, оптимизация всего этого ProGuard'ом, выполнение тестов и т.п., а также отчёты и логи о каждом действии, и как это влияет на срок жизни моего SSD. И сразу захотелось прилинковать каталог с временными файлами системы сборки куда-нибудь в tmpfs. Сначала хотел написать shell-скрипт, но, быстро осознав негобкость такого подхода, решил включить соответствующие инструкции в сам проект, а также сделать их подходящими для повторного использования с минимумом усилий. В результате получился плагин SaveSSD для Gradle (системы сборки и управления зависимостями, используемой в качестве основной в Android Studio, а также поддерживаемой в некоторых других IDE). Полную инструкцию по использованию можно посмотреть на Github, где опубликованы исходники, а подключить скомпилированную библиотеку можно, сославшись на мой репозиторий в Bintray. Протестировано в Android Studio и Intellij IDEA на Android и Java проектах, но должно работать с любыми Gradle-проектами на *nix-системах (при запуске под Windows плагин просто ничего не делает). Кстати, поскольку скорость доступа к RAM существенно выше, чем к HDD, владельцы HDD тоже могут получить от этого плагина выгоду в виде ускорения сборки. Тем не менее, предусмотрена возможность включать и выключать его каждому участнику команды индивидуально, по желанию.

2 Nov 2013

TK Shrink - революционный сокращатель ссылок

TK Shrink сокращает URL-адреса с помощью сервиса dot.tk, превращая любую http:// ссылку в ваш персональный легко запоминающийся домен в зоне .TK.

Например, вы можете превратить длинный адрес http://ru.haunted-soft.com/apps/tk-shrink в простой http://url-shrink.tk


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


Согласно условиям предоставления сервиса dot.tk бесплатная регистрация домена производится на срок от 1 до 12 месяцев. За две недели до даты окончания действия домен можно продлить. Окончание срока действия домена можно посмотреть в списке ваших доменов.

Переименуй Интернет с TK Shrink!

TK Shrink - revolutionary URL shortener

TK Shrink shortens URLs using dot.tk service, turning any http:// url into personal and easy to remember domain in .TK zone.

For example you can turn long address http://en.haunted-soft.com/apps/tk-shrink into simple http://tk-shrink.tk

TK Shrink maintains the list of your domains and you can edit forwarding URL at any time. If you are not interested in your domain any more, you can delete it.


According to dot.tk service terms, domain can be registered for free for 1-12 months. Starting two weeks before expiration date you can update (prolongate) registration - you will see the expiration date in your domains list.

Rename the Internet with TK Shrink!

27 Oct 2013

ViewPagerIndicator AAR packaged

Many people, developing applications for Android, use ViewPagerIndicator library. It's nice and open-sourced (you can clone or fork sources at GitHub). But after Google introduced Gradle build system in Android Studio, that can resolve dependencies through maven central repository we all very lack of AAR packaged version of that library - it's published in maven central, but in other pakaging (jar, apklib, etc.), that can not be properly used by gradle. However, author of ViewPagerIndicator, Jake Wharton doesn't hurry to publish aar packaging. But our developer, Serge Populov already built and published ViewPagerIndicator AAR package for public use.

To add dependency to ViewPagerIndicator AAR:
repositories {
    maven { url "http://dl.bintray.com/populov/maven" }
    mavenCentral()
}
  • Use in your dependencies as usual:
dependencies {
    compile 'com.viewpagerindicator:library:2.4.1@aar'
}
Why priorior to mavenCentral?
Otherwise gradle will look first in mavenCentral, find viewpagerindicator artifact with the same version, but won't find aar package and will report an error, without looking for same artifact with another packaging in other repositories.

12 Oct 2013

Office Buzz v1.2

New in this version:
+ Feedback service: read usage advices, vote for new features and send your own ideas or support requests. Now inside application!
+ New icons

Other:
- Removed support for Android 2.2 and previous versions

View full version history or application description if you have never faced this application before.

You can download Office Buzz from the following applicaion markets:

Офисный будильник v1.2

Новое в этой версии:
+ Сервис обратной связи: читайте советы по использованию, голосуйте за новые возможности, предлагайте свои собственные идеи или отправляйте запросы в техподдержку. Теперь не выходя из приложения!
+ Новые иконки

Прочее:
- Болше не поддерживаются версии Android 2.2 и младше

Посмотрите полную историю версий или описание приложения, если вы с ним ещё не знакомы.

Загрузить офисный будильник можно из следующих магазинов приложений:

28 Sep 2013

Альфа-версия Yamaha WakeUp v0.7

Включит ваш AV-ресивер Yamaha по расписанию и поможет управлять им!

Функции, реализованные в α-версии:
  • Включить ресивер по расписанию, задаваемому пользователем
  • При включении выставить громкость и источник звука
  • Управление базовыми функциями: громкость, источник звука
  • Переключение радиостанций
Протестировано на Yamaha RX-V673

Полное описание приложения http://ru.haunted-soft.com/apps/yamaha-wakeup

Участвуйте в альфа-тестировании

Если хотите получить доступ к α-версиям, вам нужно:
  • Присоединиться к сообществу Haunted Soft α в Google+ (почему Google+?).
  • Посетите страницу тестировщика в Google Play и следуйте указаниям Google Play (если вы пропустили шаг 1, то увидите ошибку 404 - страница не найдена).
  • Если у вас установлена не-альфа версия, удалите её, чтобы Google Play предложил вам новейшую альфа-версию при установке.

Внимание:  α-версии могут быть не стабильны и содержать ошибки, которые будут исправлены в стабильных версиях, выпускаемых для массового пользователя.

Если вы хотите отказаться от альфа-тестирования, вы можете в любой момент посетить страницу тестировщика в Google Play и следуйте инструкциям Google Play.

Почему Google+?

Потому что Google Play предоставляет всего два способа обозначить группу тестировщиков: Google+ и Группы Google. Если вы предпочитаете Google Groups, напишите в комментариях, и я создам группу.

27 Sep 2013

Yamaha WakeUp v0.7 alpha

Wakes up your Yamaha AV-receiver on schedule and control it!

Functions of this α-version:
  • Turn on receiver on custom schedule
  • On wake up set volume and input source
  • Use basic controls at any time: volume, input source
  • Swith radio tuner presets
Tested against Yamaha RX-V673

View application description http://en.haunted-soft.com/apps/yamaha-wakeup

Join alpha-testing

If you want access to α-versions, you should:
Disclamer:  α-versions may be instable and contain some bugs, that will be improved in stable versions, released to all users.

If you want to leave alpha testing, at any time visit alpha testing page in Google Play and follow Google Play instructions.

Why Google+?

Because Google Play has only two ways of defining a set of testers: Google+ and Google Groups. If you prefer Google Groups, write in comments, and I will create one.

17 Jul 2013

Как тестируют Android приложения в магазине Samsung Apps

Решил опубликовать свой офисный будильник не только в Google Play, но и в самсунговском Samsung Apps. В отличие от большинства андроид-маркетов, у самсунга все приложения проходят обязательную сертификацию - ручную проверку на соответствие достаточно жёсткой политике. Если в Google Play ваше приложение появляется, как правило, в течение нескольких часов после публикации, то в самсунге процесс сертификации может занимать до недели (согласно регламенту). Мне ответ пришёл через 4 дня. Меня не столько удивило, что приложение "завернули", как то, насколько детально приложение тестируют. А именно, чтобы оно гарантированно работало на всех продаваемых Samsung'овских девайсах от low-end  до hi-end.

Если вкратце, то ответ пришёл примерно такой (вольный перевод с англицкого): "Мы проверили Ваше приложение, и обнаружили несколько косяков в юзабилити. Прежде, чем отправлять приложение на повторную сертификацию, исправьте их. Изучить ваши косяки можете в отчёте, который можно скачать из консоли разработчика". В прилагаемом отчёте оказались скриншоты и видео, наглядно демонстрирующие косяки. Вот эти видео из всего процесса мне и понравились больше всего! Далее присланные скриншоты и видео моих косяков.