28 апреля 2014

Yandex PDD в качестве Dynamic DNS для Linux / OS X

Снова про бесплатный Dynamic DNS своими руками. Пришло время прощаться с Dyn.com (бывший DynDNS). Началось всё с того, что благополучно работавший 15 лет DynDNS сначала перестал регистрировать бесплатных пользователей, сократил количество предлагаемых на выбор доменов, стал заставлять раз в 30 дней подтверждать активность аккаунта, заходя в него, а теперь и вовсе объявил о прекращении предоставления бесплатных услуг любителям халявы вроде меня.

Сначала я начал искать альтернативу вроде no-ip.com или dns.he.net. Но вспомнил, что есть замечательный DNS сервис от Яндекс, совмещённый с почтой для домена, которым я уже пользуюсь. Осталось только создать в нём субдомен и научиться обновлять для него свой IP адрес. В общем-то готовые решения для этого быстро нашлись на GitHub. Например, вот GUIёвое приложение на .NET для Windows, или расширение для PowerShell. Ещё нашлись клиенты на Ruby, Perl (12) и иже с ними, работающие по принципу "вот 30 строк кода на моём любимом языке, но для того, чтобы это заработало, скачайте фреймворк и 300 библиотек, которые требует мой код". Решения для Windows мне не подходят, т.к. у меня нет Windows. Наколенные реализации на ruby, perl и прочей экзотике меня тоже не порадовали. Нет, я, конечно, могу скачать руби и gem'ы для него, но не хочу. Я хочу, чтобы просто работало. Желательно в Linux, а ещё лучше - на роутере.

24 декабря 2013

Save programmers' 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 тоже могут получить от этого плагина выгоду в виде ускорения сборки. Тем не менее, предусмотрена возможность включать и выключать его каждому участнику команды индивидуально, по желанию.

02 ноября 2013

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

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

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



27 октября 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. So I have 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.

Read at Haunted Soft

23 сентября 2013

+10Gb для Google Drive бесплатно

Хочешь +10 гигабайт места на диске Google Drive?

Нужно всего лишь установить QuickOffice из Google Play или iTunes на свой Android или iPhone, соответственно, и залогиниться под своей учётной записью Google.

Два маленьких "но":
1. Это нужно сделать до 26 сентября
2. Размер места, предоставляемого гуглом, увеличится на 10Гб на 2 года (ну а там, глядишь, гугл сам увеличит лимит с сегодняшних 15Гб до новых объёмов).

QuickOffice - это бесплатное (с недавнего времени) приложение для мобильных устройств, которое позволяет редактировать документы в формате MS Office (Word, Excel, PowerPoint - локальные, на телефоне или хранящиеся в облаке гугл), что очень хорошо дополняет гугловское приложение Диск Google, которое умеет работать только с документами в формате Google.

16 сентября 2013

Динамический DNS с собственным доменом для домашнего пользования

Как сделать, чтобы к домашнему компьютеру можно было обращаться по адресу home.мой-домен.ru?

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