вівторок, 21 березня 2017 р.

Взлет / посадка Мельбурн Сидней | Melbourne takeoff, Sydney Landing

Посадка в Сиднее



Взлет в Мельбурне

вівторок, 7 березня 2017 р.

Вот "все" ругают Microsoft (майкрософт, мелкомягких) маздай, сакс и прочее. А я похвалю :)

Вот "все" ругают Microsoft (майкрософт, мелкомягких) маздай, сакс и прочее. А я похвалю :)

Имел сегодня с ними саппорт прецендент. По заполнению формочки прислали три идиотских письма, два моментально - одно чуть погодя. Дурацкие шрифты (и много их), какие-то таблички и мне пришлось напрячься чтобы наконец-то вникнуть что ничего эти три письма не делают. Первое это подтверждение запроса, второе что они таки им займутся и третье что им займется такой-то такой-то (почему-то там не просто шрифт менялся, но и его размер и цвета). Не вчитывался почему именно их три :) В связи с этим я упустил что в третьем письме некто с фамилией из Индии спрашивал может ли он мне позвонить. В общем спустя какое-то время, я ответил на письмо в стиле - "так че, решать будем?" и через минуты 3-4 раздался звонок. Этот чувак буквально в течении минуты ОЧЕНЬ грамотно рассказал в чем проблема, как ее решить и как избежать в будущем! Ну и провел меня по интерфейсу объясняя куда кликнуть. Супер эффективно! Через 10 минут позвонил опять, чтобы уточнить а может я хотел что-то немного другое. Успокоился узнав что все решено и спустя полчаса пришло еще два письма :)

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



Собственно сегодняшнее утро выступило в некоторой мере спусковым крючком набросать этот пост. Всю мою карьеру меня мучает вопрос - почему другие компании не могут сделать хелп настолько же удобный и эффективный как msdn / bol (sql)? вот недавно на C# немного покодил, а до того на питоне (python) - подзабыл немного и опять вспомнил какой все таки хороший msdn. Сейчас он уже менее подробно описывает какие-то вещи - но все равно. Даже гугл с его разными АПИ не дотягивает. Конкретно документация для АПИ Аналитики (Analytics API) практически не следует какому-то единому стандарту, примеры все крайне разношерстны и лучшие примеры это опять же отдельно стоящие их же сырцы на гитхабе (github). Хотя потуги к унификации таки есть. Еще забавный факт - о выходе супер крутой фичи для БигКвери (BigQuery - ответ гугла на тред бигдаты) сообщили исключительно публикацией вопросика на стэк оверфлоу и тут же ответом на него..

Сравнивать с документацией под мак (cocoa, obj-c, swift) где я тоже имел счастью кодировать регулярно - совершенно нельзя. Под свифт уже документация получше, а с Obj-C - лучшая документация это хидер файлы (кто в теме - поймет), которая собственно эпплом долгое время и рассматривалась как основной канал по технической коммуникации с программистами.
IBM это лютый писец. У них другие наименования для всего - даже для "патча" и потому чтобы иметь право осуществлять технический саппорт продуктам IBM - нужно сдавать общий продукто-независимый экзамен!

До недавнего времени документацией являлись исходные коды (где доступны и это НЕ для программистов) или PDF файлы. Сейчас вроде переводят помалу на веб документацию, но цитата "поиск тут очень плохо работает, поэтому лучше браузить по дереву в двадцать уровней, быстрее чем поиском". Это сертифицированный мужик (эксперт) из америки выписанный, вся работа которого это рассказывать как пользоваться продуктом в полный день.

Успехов :)

UPD:
Вот сегодня ловил багу и наткнулся на вот такую страницу. Это конечно не пример типичной документации Apple, но крайне характерно. Собственно я хотел узнать что произойдет, если в один из методов передать nil
https://developer.apple.com/reference/corefoundation/cfmutabledictionary

Как-то так.

Справедливости ради, через 10 минут нашел то, что нужно и даже аккуратно выглядящее.
https://developer.apple.com/reference/foundation/nsmutabledictionary/1411616-setobject


субота, 4 березня 2017 р.

Пропечатал в газете и шабаш! - Владислава выбрали вице-капитаном школы | Vladyslav - vice-captain of his school

Напечатали Владислава в газете Иллаварра Меркьюри Illawarra Mercury - местная главная коммерческая газета в разделе "Люди". Напечатали в связи с избранием Владислава вице-капитаном (президентом) школы! :)

Фотки внизу, по ссылке электронная версия, а видео его предвыборной речи и процедура избрания перед фотками.

http://my.illawarramercury.com.au/pages/captainsprincipals2017/ (страница 10-11 слева в центре)

Очень горжусь Владиславом - это действительно достижение! В купе с тем, что он ведет кружок программирования в школе это невероятно круто! Всего балотировалось 14 человек, а в школе учится примерно 200 человек.

Выдали значок и пиджак. Значок куда-то делся, боимся Ева его заткнула куда-то, хоть бы не в мусорное ведро, а пиджак по официальным датам Владислав одевает.
Здесь с седьмого класса старшая школа начинается и мы пытаемся попасть в selective school - по результатам вступительных экзаменов. Довольно сложные вопросы, экзамен длится 4 часа и сдавать его нужно в начале шестого класса. По моему мнению заставлять шестиклассников такие сложные экзамены савать как-то неправильно. Это ведь еще дети... Но об этом еще позже напишу.

Два года назад о нас писали в Advertiser - мы им специально фотку где и Владислав есть подсунули, а они его обрезали. Но так тоже ничего.

Так что - пропечатал в газете и шабаш!



Фотки

четвер, 2 березня 2017 р.

Как убрать реферал спамеров из Гугл Аналитики навсегда | Fighting Referral Spammers permanently

Спам в Гугл Аналитику (Google Analytics) набирает обороты. Спамят все кому не лень в надежде получить хотя бы пару секунд внимания от владельцев сайтов. Раньше спамили только в сайты источники, сейчас куда угодно, включая поле языки.
Я уже писал об этом, но в кратце - никто на ваш сайт не заходит. Спамеры тупо имитируют запрос похожий на тот, что шлет обычная Гугл Аналитика, но подставляют свои строки. У Гугл Аналитики есть шикарный Measurement Protocol ("измерительный протокол", для несведующих) отлично продокументированный - прям реферал спамерство для чайников :)

Предидущие посты по теме
http://blog.klimenko.kiev.ua/2015/05/event-trackingcom-referral-spam.html
http://blog.klimenko.kiev.ua/2016/11/blog-post.html

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



Стандартно в Гугл Аналитике выставляется галка игнорировать ботов и включаются фильтры в каждое Представление (Перегляд, View) использующееся для анализа. Спам эволюционирует, фильтры тоже. Регекс фильтра может включать в себя не более 255 символов, потому фильтры плодятся. Двенадцать их по последним данным.

Больше года назад Гугл обещал исправить эту проблему тем же способом, что он победил спам в gmail. Но до сих пор этого не произошло.
А можно ли раз и навсегда отфильтровать спам? Можно и это даже относительно не сложно.
Чаще всего спамеры не целятся непосредственно в вашу аналитику - работают сразу на сотни тысяч по одной схеме. Все что нужно сделать это с каждым легитимным (простите за слово) запросом к гугл аналитике с вашего сайта или приложения добавлять некий признак легитимности (ну вот, опять) данных. Ну например: добавляем некий символ в конец заголовка страницы (Page Title) и один (всего один!) фильтр в Представление (View) проверяющий есть ли этот символ в заголовке. Если есть - то пропускаем эти данные. Если же нет, то спамеры - идите гуляйте. Положим заголовок страницы не самое лучшее место для такого маркера - но принцип вы поняли, я надеюсь. Я бы рекомендовал использовать Пользовательский Параметр (Спеціальний Атрибут, Custom Dimension) - я еще не видел чтобы сайт использующий бесплатную Гугл Аналитику использовал все 20 параметров (ну а если у вас Аналитика 360, то этих параметров аж 200), а значит одним из них вполне можно пожертвовать. Итак - добавляем к каждому запросу Пользовательский Параметр с неким значением (можно даже вычисляемым для энтузиастов, для остальных и постоянное значение сойдет), а в фильтрах режем их.
Спамеры нервно курят в сторонке и совсем не в курсе, что вы их спам не видите.

Как это технически сделать? Небольшой плагин для Гугл Аналитики (если вы все еще в каменном веке и вставляете код аналитики непосредственно в html) или изменения в Тэг Менеджере (GTM - Google Tag Manager). Ну и фильтр представления.

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

Пример реализации плагина для Гугл Аналитики и ее конфигурации
An example of the referral spam filter using Custom Metric

Плагин для Гугл Аналитики / Google Analytics plugin

Как видите, ничего сложного. Регистрируем плагин, ставим хук на sendHitTask метод и добавляем нужный маркер. Теперь каждый запрос в гугл аналитику будет иметь этот маркер.
В строке cd1= единица это индекс Пользовательского Параметра. Если у вас они уже используются, то Гугл Аналитика выдаст вам следующий по счету, который и нужно подставить вместо единицы.

Как создать Пользовательский Параметр


Пример фильтра Представления


Успехов! :)