Новости проекта и другие мои заметки


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

Подобная проблема отмечается у всех приложений, которые используют официальное API ВКонтакте. Например в Kate Mobile для Android

 


Или же в хорошо проработанном плеере Meridian для Win10 с открытым исходным кодом

 

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

Подробнее




С сегодняшнего дня руководство мейл.ру перевело основной домен vk.com вместе со всеми его пользователями на новый дизайн. Счастье было недолгим, когда в течение 2.5 месяцев работал обходной способ вернуться на старый дизайн через кнопку на сайте. Но теперь уже, кажется, все. По идее поможет только создание нативного приложения для десктоп со старым дизайном, но кто этим станет заниматься - конечно же никто. Оригинал новости от самого руководства можете прочитать здесь

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

Всем счастья, здоровья и хорошего настроения, держитесь там.

Подробнее




Первое, что начинает коробить после запуска Android Studio на Ubuntu 16.04 - это ужасные нечитаемые шрифты. Это проблема будет в любом приложении, основанном на Swing.

Даже установка OracleJDK вместо OpenJDK не решает проблему. Точно так же пробовал играться с флагами при запуске, искать фонт-патчи для джавы. В итоге нашлось классное решение - TuxJDK. Это по сути OpenJDK, содержащий серию патчей для улучшения UX для Java-based приложений в Linux. В итоге после сборки по инструкции на странице readme.md c гитхаба все выглядит куда приятнее с классическим шрифтом Ubuntu

 

 

Подробнее




UPD от 17 августа Способ перестал работать, разработчики ВКонтакте наконец-то спустя 2.5 месяца прикрыли лазейку. Теперь больше нет поддомена new.vk.com, руководство мейл.ру запустило новый дизайн на основном домене vk.com. Очень жаль. Основная новость здесь

Оригинал статьи:

Сначала убрали рейтинг, потом убрали стену, потом убрали самого Дурова, а теперь и навязали уе*ищный новый дизайн вконтакте, в котором все просто нечитаемо. Если же раньше можно было опционально вернуть старый дизайн, то пару дней назад 10% пользователям навязали редирект на новый дизайн без возможности вернуться в старый. В итоге выглядит все примерно так:

— Cтарого дизайна нет, но вы держитесь там.

 Т.е. технически говоря, когда мы посылаем GET запрос на https://vk.com/feed, то нас через Location перебрасывает сразу же на https://new.vk.com/feed Но есть хитрожопая особенность, уеб-разработчики почему-то не делают редирект, если послать POST запрос на тот же адрес, поэтому для тех, кто больше не может держаться ВКонтакте с новым дизайном, я сделал волшебную кнопку
 

 

Не благодарите.

UPD: Кстати, пользуясь случаем, если кнопка Вам помогла, попробуйте заодно и мою бесплатную программу VkAudioSaver для скачивания музыки из ВК, она без каких-то подвохов и рекламы позволяет целиком скачать все песни сразу в один клик, подробное описание вот здесь

UPD2: Еще для пущего удобства я сделал страницу, которая автоматически шлет этот POST запрос, поэтому вам не обязательно сюда заходить что-то нажимать, а можете просто добавить вот эту страничку - http://bingosoft.info/vk/ в закладки (CTRL + D) и вывести ее на главную панель браузера. Расскажите всем, кто очень страдает от нового дизайна ВК

Вариант стартовой страницы для закладок
Подробнее




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

Выглядит все это как-то вот так:

func delay(seconds: Double, closure: () -> ())  {

dispatch_after(

dispatch_time(DISPATCH_TIME_NOW, Int64(seconds * Double(NSEC_PER_SEC))),

dispatch_get_main_queue(),

closure

);

}

 В итоге на практике все стало гораздо проще

print("Before");

delay(0.5) {

print("After delay");

}

print("After");

Подробнее




Раньше в стареньком Objective-С для локализации строк активно использовалась функция NSLocalizedString(@"myString", nil), которая затем мигрировала в свифт, но почему-то без optional параметра comment. Тягать такую конструкцию всякий раз стало крайне раздражительным и неуклюжим.

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

prefix func ~(s: String) -> String {
    return NSLocalizedString(s, comment: "");
}

Ну вот, теперь можно удобно определять, какие строки должны подвергнуться локализации

print(~"Hello world");

Список доступных операторов для перегрузки можно увидеть здесь
 

Подробнее




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

В общем, к делу. Создаем самоподписанный сертификат:

sudo mkdir /etc/apache2/ssl
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/apache2/ssl/apache.key -out /etc/apache2/ssl/apache.crt

После этого Вам будет задана порция вопросов, на которые надо бы ответить:

Подробнее




Т.к. в стране случился кризис (внезапно или совершенно закономерно), расходы на содержание хостинга (15 баксов между прочим), которым я пользовался раньше (NQHost), возрасли ровно аж в 2.5 раза, не смотря на то, что сервер вроде как находится в Москве. Если же 2 года назад 450 рублей было как-то терпимо, то выкладывать больше косаря стало, скажем так, как минимум нелогично, когда в стране на высочайшем уровне развито импортозамещение и Нанотехнологии®. Да и ведь плачу я из собственного кармана (лучше бы сходил попил пива с друзьями), т.к. денег за свои бесценные программы не беру. Немного, конечно, помогают редкие донаты от особо благодарных пользоваталей, и на этом спасибо) В итоге пришлось переехать на Firstvds, на котором за те же 450р получаем 1г оперативки, вместо 750, которой хватало совсем впритык, и виртуализация получше (вместо Xen - OpenVZ).

Что я этим хотел сказать: время на перенос сервера заняло чуть более 10 минут, а инструкция по полной настройке своего VDS с нуля находится полностью в актуальном состоянии.

С наступающими праздниками и каникулами!

UPD от 30 августа 2016:

На сайте firstvds появилась акция, где можно летом преобрести сервер (тариф VDS-start) вообще за 250р в месяц с гигом оперативки. Это значительно уменьшает расходны на хостинг, только правда пришлось заново переезжать на новый сервер :(

Подробнее




Нашел тут завалявшийся скрипт на bash, позволяющий автоматически загружать файлы в свой аккаунт на DepositFiles.com. Зачем это нужно? Ну к примеру этот сервис дает 5 баксов за 1000 скачиваний, а там можно прикрутить что угодно под этим соусом, ибо ручками грузить крайне неудобно.

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

Подробнее




Как-то недавно заметил (спустя полгода), что отвалился модуль обратной связи, в котором использовалась php-функция mail, которая в свою очередь работала через ssmtp, прокинутого через Яндекс.Почту. А глядя в логи выяснилось вот что:

Server didn't like our AUTH LOGIN (530 5.7.7 Email sending without SSL/TLS encryption is not allowed. Please see: http://help.yandex.ru/mail/mail-clients/ssl.xml)

А потом почитал, что с 16 сентября 2014 года Яндекс.Почта ввела принудительное шифрование, поэтому стандартные порты для smtp стали рефьюзиться. Поэтому, если вы читали мою статью про настройку своего VDS-сервера самостоятельно, то соответствующий конфиг придется изменить:

/etc/ssmtp/ssmtp.conf
Подробнее