Google that shit!
Вспомнилось на тему технической поддержки — те самые места, куда хотелось бы направить очень большое количество вопросов. Don’t ask me, bitch, google that shit.
Заметки и замечания, рассказы и пересказы
Вспомнилось на тему технической поддержки — те самые места, куда хотелось бы направить очень большое количество вопросов. Don’t ask me, bitch, google that shit.
Какую работу может предложить Avito с помощью рассылки? Конечно такую, которую сгенерировал «умный» алгоритм (читай рандом):
Входных данных предоставленных мной Avito нет, т. е. ни подключенных анкет, ни опросов, ни резюме. Иными словами подборка объявлений — натуральное искажение фактов. Я могу понять желание администрации сайта завлечь аудиторию с помощью рассылок и увеличить посещаемость, но текст-то хоть можно было бы чуть-чуть поправить? Зачем травить такую дикую чушь?
PS: Если добавить немного философии, то иногда кажется, что ассенизация — крест любого айтишника, прилагается к специальности, так сказать. (легкое оправдание роботам)
Кормить в пути никто не обещал.
В выходные удалось поучаствовать в занятном мероприятии, от которого так и тянет советскими временами — Лыжня строителей 2016. Профсоюзная организация собрала проектировщиков, строителей и связанных с ними и попыталась устроить спортивный семейный праздник. В целом получилось не так уж плохо, за исключением с небольшими организационными маразмами (выдача инвентаря, места регистрации и получения инвентаря, отсутствие указателей на территории).
Участвовать решил по большей части для того, чтобы проверить свои и силы и понять, насколько все плохо. Плохо оказалось очень и очень. Лет 15 не вставал на лыжи и навыки утратил чуть более чем полностью. Я уже молчу, что техника хождения выглядели совсем уж неприглядно. Наверно, удалось занять первое место среди мужчин по количеству падений на мягкие французские булки. Впрочем прошел кое-как до конца, равномерно размышляя на тему того, что зимой к лыжам необходимо присмотреться.
После заметки о проблемах установки VestaCP на серверах OVH, обнаружилось, что версия дистрибутива указывается не только в Debian, но в на других операционных системах: Ubuntu / CentOS. Почему оно так случилось в последних релизах ISOшников сказать сложно, но случилось и на эту тему придется что-то думать. Самый простой способ, скорее всего, административный — помимо универсального инсталлятора давать ссылки на инсталляторы для каждой операционной системы. Ничего позорного здесь в общем-то нет.
Второй вариант чуть более экзотический и попахивает чисто инженерным подходом. Есть мысль, что нужно при определении операционной системы использовать два источника: т. е. не только /etc/issue, но и скажем /etc/os-release. Сравнивая данные выбирать, в среде какой операционной системы мы находимся. Причем основным источником видимо придется считать именно os-release.
PS: Благодаря автоматическому выбору операционной системы сложности могут быть только у владельцев Debain/Ubuntu. Как видно из элегантного кода пользователи CentOS всегда в выигрыше:
# Detect OS
case $(head -n1 /etc/issue | cut -f 1 -d ' ') in
Debian) type="debian" ;;
Ubuntu) type="ubuntu" ;;
*) type="rhel" ;;
esacВот так иногда полезешь чинить моноблок, а там исключительные заметки мастеров, которые в нем уже успели полазать, а-ля «здесь был Вася».
Не так давно пришло письмо с форума Onlime. Не смотря на шаблонный текст, письмо попало в спам. Оно попало бы в спам почти гарантированно, и все потому, что компания не озаботилась даже элементарным при проведении рассылки. В письме было плохо практически все, наступили на все грабли, на которые могли.
Пример плохой рассылки от Onlime
Странная рассылка, которую в твиттере признали ошибкой, но даже, если ошибка и имела место быть, то письма с форума все равно отправляются не слишком корректно. Раз не хочется настраивать самостоятельно, хотя я уверен, что способных специалистов в Onlime достаточно, можно было бы делать рассылку через почтовые сервисы. В рамках большой компании получилось бы не слишком дорого.
В рамках поддержки проекта VestaCP занялся патчем для phpmyadmin. Основная проблема в том, что дополнительные функции из коробки не работают, также как и contoluser. Многим пользователям функционал по сути не нужен, он избыточен. Правда, не очень приятно видеть при входе сообщение о том, что у тебя часть функций отключено и не работает — «The phpMyAdmin configuration storage is not completely configured, some extended features have been deactivated».
За вечер пятницы удалось изобразить скрипт, который правит конфигурационный файл и добавляет недостающие таблицы. Чтобы не возиться с определением версии операционной системы, сделал 3 разных скрипта для centos/debian/ubuntu. И еще слегка упростил себе жизнь — не стал изобретать генератор паролей, использовал дополнительный пакет.
Интереснее было в процессе отладки. Выянил, что пихать много запросов в mysql из баша — это не очень хорошо, далеко не все отрабатывает. Гораздо правильнее разбить на несколько. Как оказалось, 3 и 4 ветка phpmyadmin имеют некоторые отличия. В четвертой ветке некоторые значения задаются явно и в дампе несколько больше таблиц, нежели в 3 версии. Довольно странное отличии в количестве нижних подчеркиваний в названии таблиц: в третьей — одно, в четвертой — два. Думаю, в следующих версиях увеличат :)
По моим прикидкам скрипт успели протестировать более чем на полусотне серверов, не считая мои и тестовые — все вроде ровненько прошло. На неделе, наверное, закинем на гитхаб прогоним тесты повторно.. возможно мой вроде-код даже появится в релизе VestaCP. Код добавил на Github, никакого терпения не хватило :)
PS: Слегка удивило, что фикс никто не сделал раньше и не сэкономил мне время (специально поискал в интернетах), вроде ничего сложного не было. Подозреваю, что все-таки пользователи тратят на это 5-10 минут и забывают или забивают вовсе :-)
VestaCP Forum — phpmyadmin fixer
Github — Fixes for phpmyadmin (configuration storage and some extended features)
Ubuntu
sudo wget --no-check-certificate
https://raw.githubusercontent.com/skurudo/phpmyadmin-fixer/master/pma-ubuntu.sh
&& chmod +x pma-ubuntu.sh && ./pma-ubuntu.shDebian
wget --no-check-certificate
https://raw.githubusercontent.com/skurudo/phpmyadmin-fixer/master/pma-debian.sh
&& chmod +x pma-debian.sh && ./pma-debian.shCentOS
wget --no-check-certificate
https://raw.githubusercontent.com/skurudo/phpmyadmin-fixer/master/pma-centos.sh
&& chmod +x pma-centos.sh && ./pma-centos.sh