Переходим на онлайн-кассы на картодромах и новые требования закона 54-ФЗ

Скоро в силу вступает новая фаза закона 54-ФЗ, в рамках которой, компании будут обязаны печатать фискальные документы по-новому.

Давайте для начала посмотрим на общую картину:

С 15.07.2016 по 30.06.2017 — Можно использовать старые кассы, если не истек сроки их регистрации.

С 01.02.2017 — Налоговая зарегистрирует кассу только нового образца (онлайн-кассу).

С 01.07.2017 — Обязательный переход на онлайн-кассы для всех, кроме компаний, использующих ЕНДВ, патент (для ИП) и тех, кто оказывает услуги населению.

С 01.01.2018 — Переход на выдачу электронных чеков по-умолчанию. Бумажный чек необходимо выдавать только по просьбе клиента.

Таким образом, картодромам в частности до 1 июля необходимо в первую очередь модернизировать саму ККТ — вместо фискальной ленты, в неё должен быть встроен блок, который обменивается данными с ОФД (оператором фискальных данных). Но этого будет недостаточно, поскольку  в законе были добавлены обязательными реквизиты на чеках:

  • Наименование услуги.
  • Количество.
  • QR-код.

Что касаемо QR-кода — то тут все относительно просто. Если техника может самостоятельно его напечатать, то никаких телодвижений делать и не нужно. Но что касается наименования услуги и количества — здесь необходимо убедиться, что ваше ПО умеет это делать.

Также, если ранее вы использовали ФР, который просто печатал сумму, то теперь необходимо будет позаботиться о поиске нового ПО, которое умеет отправлять новый обязательные данные,

В Авенде мы уже перешли на работу с новыми онлайн-кассами. Мы в полном объеме поддерживаем новый закон. Фискальный чек печатается однократно при активации брони — параллельно со старым талоном на заезд.

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

Если у Вас нет вообще никакого ПО — самое время подумать о подключении к нам, поскольку с 1 июля печатать новые ФД без сторонней программы станет невозможным.

Узнать подробнее об Авенде можно на нашем сайте avenda.ru.

 

Программирование спасёт мир

Когда-нибудь, я уверен, программирование наведет шороху во всех наших жизненных сферах.

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

Возьмем тот же маркетинг. Все знают о том, что когда Вам звонит какой-нибудь очередной банк с предложением кредита или страховки, то на том конце провода никто особо не импровизирует перед Вами. Есть уже накопленный опыт получения и реагирования на самые разнообразные формы Вашего отказа. Не хотите брать кредит? Да и не надо, просто сейчас действует акция и получить кредит на таких условиях можно только до очередного а-а-цатого числа. Одобрение можно пройти сейчас, кредит получить в любое время. Ну и так далее.

Вот пример того, как отработка исключений — программистская штука, формирует процесс работы.

Здесь нет ничего творческого — я о том самом гнилом креативе, который мы привыкли видеть вроде «купи пирожок — стань свободным», или типография Икс — залог вашего успеха на рынке». Такой подход работает на перегруз мозга ерундой и противоречивой информацией. Его смысл — избежать смысла, но оставить в Вас впечатление.

Если подходить к той же рекламе типографии как к процессу программирования, то имеет смысл увидеть основную решаемую задачу в этом процессе, составить ТОП тех клиентов, которые к Вам приходили, что они от Вас получили — залог успеха на рынке или срочно напечатанных тираж до завтра? И так далее, самое простое машинное обучение — найти и проклассифицировать все успешные истории и сделать их еще более успешными.

Мышление программиста, пишущего простой, изящный и эффективный скрипт, если применять данный подход на другие сферы, дает позитивный эффект во всех бытовых вопросах.

Переехали от Майкрософта

Произошло то, о чем я давно думал, но боялся сказать. Хотелось перестать «кормить» Майкрософт.

Этот монополист настолько обленился делать вещи качественно, что еще год назад внутренняя изжога к Виндовсу привела меня к мысли, что от серверов на Винде надо уходить… Как это сделать, если C# на Линуксе через Mono в нашем случае прямо не заработает? Плюс еще MSSQL, от которого тоже нужно было уйти.

Не уложились мы в месяц, как было задумано изначально тут. Не уложились и в два. И даже в три не уложимся, потому что проблем оказалось сполна. Время и деньги потеряны… Но также к счастью мы больше не тратим по 15К в месяц на Ажуру. А имеем контейнер за меньшую цену, в котором можем разворачивать еще и несколько схожих по конфигурации с Ажурой VDS’ок для своей работы.

Мой ультиматум про «не уложимся с миграцией в 1 месяц — уходим с Шарпа» был вполне конкретным критерием, чтобы от слов перейти к действиям и инициировать перепись проекта на другой ЯП. Логика простая — если быстро получилось мигрировать, хорошо, давайте пока дальше наращивать функционал на том решение, что есть. Если быстро не получается — то сразу по окончания месяца я не трачу времени на раздумья как долго еще это продлится и сколько денег мы еще сольем на простой (была заблокирована полностью разработка нового функционала) — я ищу программистов для разработки нового бэк-энда. Что имеет смысл. Первое, сократить расход с Винды, раз уж начали, но одновременно с этим перестать тратить время впринципе на толкание трупа. Сейчас в коде имеется и лишний функционал, и структурные ошибки в проектировании помимо всего того что про миграцию. Все это «обслуживать» очень дорого. К слову, новое АПИ я сократил примерно на 40%. Более того, мы пошли дальше и планируем использовать конструктор запросов с фронт-энда, чтобы бек-энд вообще стал гибчайшим и не был завязан на конкретные методы.

Найти программеров оказалось непросто, в одном случае я ошибся с постановкой требований и связка Python/Django оказалась избыточной для решения моей задачи. Один программер проработал неделю, написал код и с ним решено было прекратить — результат получался не очень.

Сейчас успокоились и пришли к Python/Flask. Цель — построить новый бэк-энд более просто, чтобы задествовать принцип «меньше кодов — меньше багов» и чтобы код можно было поддерживать меньшему числу программистов.

Касаемо пункта про «высокую цену» за Windwos. Я косякнул, когда поставил задачу именно как миграцию на Linux. Никакого переезда на другую ОС можно было бы и не затевать. Расходы реально сократить иначе.

Изначально мы сливали на MSSQL Enterpirse, плату за которую нам включили из-под тишка, когда мы этого не ждали, и которую мы потом перенесли в Ажуру в облачный SQL сервер, который построил Джек Майкрософт. Шутка. Первая проблема была решена сразу. Вторая — количество баз — четыре. Каждая из которых съедала по тысячи с чем-то в месяц. Можно было две удалить, ибо девелоперские, вторую перенести в первую, приложение это позволяло. Итого расход уменьшался на 3 тысячи — на фоне 20-25К это конечно казалось смехом, так что я понимал, но не брал всерьез. Третье — мы периодически включали обратно девелоперский и прошлые серваки. Из-за этого расход в 20-25К был раздут, на деле вся требуемая конфигурация на Ажуре съедала 12К в месяц.

Соответственно сам Ажуровский сервак можно было бы заменить таким же по мощности с помощью Российских хостинг-провайдеров, по нашим конкурентным, рыночным ценам. Получилось бы 3000-4000 р за Винду плюс 1-1,5 тыс. за базу в облаке. Базу MSSQL перенести в Россию получалось или дорого, или геморно, потому что подход к лицензированию у MSSQL весьма своеобразный (можете почитать об этом на сайтах дата центров). Основной минус такого подхода — это то, что база и приложение были бы вынесены из одной сети на разные сервера, удаленные на существенное расстояние (следовательно получаем дополнительное время на коннект).

Но сделать такую миграцию стоило сразу, это бы сократило расходы быстро и существенно. Затем стоило продолжить работу на Винде и Шарпе, и параллельно начать кодить новый бэк-энд. Стоит ли вообще кодить новый бэк-энд? Работы на 4-5 месяцев минимум. Скорее да. Текущие программеры в виду того, что обстоятельства изменились, не могут полноценно уделять время разработке, а искать нового человека на Шарп или Пайтон, в свете того, что рефакторинг даже в нашем текущем решении — это назревшая необходимость, как-бы говорит — рискни и сделай как считаешь нужным. Вот я и делаю. Думаю, что получится лучше, чем было.

Один минус — некоторых людей я заставил ждать несколько месяцев того, о чем мы договаривались еще в конце 2016 года. К сожалению, сроки не выдержал. Но и откладывать миграцию больше не хотел, об этом я задумывался еще в конце 2015 года. Следующее поколение Avenda уже запущено. Скоро, на всех картодромах страны! :-)

Про онлайн-консультантов на сайтах

Что-то в мировой экономике пошло не так. На эти мысли меня наталкнула вот какая история. Заходишь такой на сайт, а тебе внезапно всплывайка, мол, «я — Анастасия, какой у Вас вопрос?» У меня как бы вопросов нет, я зашел почитать, а тут вы своим окном мне страницу загораживаете. Я, впринципе, и сам могу найти ответ, но раз уж Вам делать нечего, давайте поработайте со мной.

Итого, вписываю свой вопрос. Но как правило в ответ — тишина, а потом срабатывает триггер, который пылесосит мои контакты для связи со мной.

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

Вот вам пример, когда конкуренция и свободный рынок порождает мусор. Где-то такие чатико-консультанты работают должным образом, но где-то их хочется зарыть в песке. Грань тонкая, но если уж очеловечивать такую вещь, то надо писать, на выходные, во время отсутствия консультантов прямо и со смыслом: «Здравствуйте, я могу записать ваши контакты и перезвонить Вам в рабочее время, если Ваш вопрос несрочный». Четко и по делу. А не «Анастасия че-то занята и передумала чатиться…»

Размышления о деньгах

Пост не стоит воспринимать всерьез. Просто несколько набросков…

У денег есть заранее заложенная в них нестабильность — дефляция или инфляция.

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

Деньги можно накапливать. Соответственно, задумывая деньги как эквивалент, нужно было уточнить — эквивалент к количеству всего выпущенных денег или свободных в обращении денег? Тут есть проблема, если условно допустить что каждый гражданин своей страны отложит под подушку условные 25% своего дохода. Или положит их в банк. Цены не изменились, но деньги из оборота временно ушли. А если допустить, что человек начав накапливать скорее продолжает это делать — следовательно деньги уходят из оборота на бессрочный период. Что должно произвойти с ценами при неизменном количестве самих товаров и услуг?

Как вы себе можете представить капитализацию WhatsApp в 16 млрд. долларов? Это больше, чем ВВП Камбоджи, и немногим меньше ВВП Эстонии. Вы уверены, что деньги являются эквивалентом товаров и услуг? Деньги также являются эквивалентов пристижа (давайте не будем Вас дразнить словом «понты») — в хорошем/плохом смысле — это следующий вопрос в списке. Вы покупаете престиж за те же деньги, за которые бомж покупает себе хлеб. Престиж — это услуга или товар?

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

Деньги, по высказыванию Л. Н. Толстого — это мера рабства. Что тоже имеет смысл. Но в большей степени всё же деньги, это действительно мета-форма благ — эквивалент, но всегда устойчивый и не всегда в балансе с реальным миром.

Человек, обладающий деньгами и необладающий достаточной социальной ответственностью, без помощи товаров и услуг, может создать еще денег — что создает неравенство и расслоение в обществе. Это я сейчас не про богатых, это я про всех нас — у Вас же есть вклад в банке? То есть мы вынуждены катать на карусели, потому что так делают другие. А также потому что смысл денег до конца не определен. И нормы морали никто не зафиксировал с помощью буквы закона — где спекуляция, а где сохранение вложений. Это как с эротикой и порнографией.

Нужен ли антивирус на Маке?

Многие люди мыслят в таких категориях, как в заголовке. И я в их числе, считаю, что ставить антивирус на Мак — это ересь. И тут одна такая история…

Получаю несколько дней назад вот такое письмо:

Добрый день,

коллекторское агентство Сентинел Кредит Менеджмент напоминает вам о необходимости срочного погашения вашего долга до 2.03.2017.

В случае невозврата долга будет произведена процедура ареста с последующим изъятием имущества должника.

Подробную информацию о судебном решении по вашей задолженности и договор уступки имущественных прав нашей организации вы найдёте в документе: http://sentinelcredit.ru/documents/2017/02/8b8894c499…
С наилучшими пожеланиями,
ООО Сентинел Кредит Менеджмент.

Это письмо было сформировано автоматически, отвечать на него не нужно.

По любым вопросам вы можете обращаться по телефону горячей линии 8 800 289 47 25 (звонок бесплатный) либо через форму обратной связи на сайте http://www.sentinelcredit.ru.

Первую ссылку я намеренно сделал некликабельной, поскольку под ней лежало нечто, ведущее, не на сайт Сентинела… а на сторонний хост — rhinomerida.com. При этом, сайт донор вполне адекватный. Первое же предположение — похоже на то, что сайт взломали и положили туда зловредный скрипт.

Перехожу по ссылке в письме. Браузер скачивает файл с расширением *.doc.js — типа нормальный документ, а на деле — исполняемый скрипт. Внутри вот такая картина:

2017-02-27_23-21-21

Ищу JS-овые функции и нахожу разве что четыре блока с eval().

Ставлю брекйпоинты, запускаю, смотрю выхлоп. Оказывается, требуется ActiveX компонент, которого нет на Маке :-)

А на Винде эта ересь могла бы пойти в бой. Что там было до конца не раскопал. Искать финальные координаты и что там собирает скрипт в итоге я отложил, ибо профит от этого — только обучение, а нам еще кодить и кодить нашу Авенду…

* * *

Один из вариантов доказать состоятельность своей точки зрения — дать другому человеку возможность спокойной обосраться и всем это продемонстрировать. Особенно, когда другой человек предпринимает для этого все усилия. Зачем тормозить поезд на полном ходу?.. Это вопрос времени до первого серьезного поворота.

История про одного продажника, который ходил по квартирам

Собираюсь уходить на работу. Звонок в дверь.

Подходя к двери, слышу как человек на той стороне пытается выглядеть приветливо и что-то говорит доброжелательное.

Открываю дверь, возникает чудный диалог:

— Вас есть 18 лет?
— А почему Вы спрашиваете?
— Я могу озвучить Вам сообщение только если Вам есть 18 лет.
— Озвучивайте.
— Вас беспокоит мусор в почтовом ящике?
— Я его не проверяю.
— Счастливый Вы человек.

Два «да» я уже ответил, где же третье? Сейчас что-то будет!

— Мы сейчас решаем вопрос с мусором и раздаем всем жильцам вот… логотипы, — говорит мой собеседник, по всей видимости менеджер по продажам, и да, протягивает…
— Очень сложно, я ничего не понимаю.
— Что непонятно?
— Я программист, мне нужно четко что предлагаете и какая цель, блок-схема, понимаете?
— Мы даем Вам, чтобы Вы убедились в качестве.

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

— Я не беру.
— Логотипы хорошего качества…
— Не теряйте время, я не беру.

Очень нелогичный, но крайне заряженный собеседник с чувством растройства что-то буркает в ответ.

А я подумал, что наверное где-то его наглость всё-таки сработает. Например с теми людьми, которым трудно за себя постоять — пенсионерам и т.д. Наверняка им такое говно удается впарить.

Рекомендую погуглить в интернете истории таких продажников; эти истории выглядят одновременно смешно и ужасающе.

Немного личного опыта использования каршеринга в Москве

Забавный опыт у меня случился с одним из сервисов каршеринга. Предыстория такова — я зарегистрировался почти во всех сервисах в Москве — Делимобиль, YouDrive, Belka, Car5. Есть еще кто-то пятый, не помню кто :-).

Суть в том, что я использую поиск по всем сервисам, чтобы найти автомобиль поближе. С оговоркой, если я куда-то заведомо далеко еду — в этом случае выбираю не YouDrive, ибо он самый дорогой.

По-моему опыту Делимобиль — это рабочая лошадка. Есть много где, качество приложения, сервиса и автомобилей — очень на хорошем уровне. Больше всего мне нравится их поддержка в Телеграме. У Белок приятные машины и приложение. У остальных всё просто ОК.

Ну так вот, я отклонился от повествования. Один из сервисов порадовал меня своей «клиентоориентированностью». Вобщем, у этого сервиса меньше всего автомобилей, при этом когда мне понадобилось уехать из Ашана с покупками, в ближайшем километре не было никого, кроме ровно этой машины. Ну забукал, сел поехал. Поставил возле дома. На следующий день — эта же машина на месте. Далее, приехал какой-то парень и стал её вычищать до блеска. Ну понятно, обслуживают. Все для меня, не иначе.

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

Вывод, если сервис непопулярный, это не значит, что он плохой. И для него найдется своё применение.

* * *

Совсем ушло настроение что-то писать. Очень много мыслей о чем могу сказать и о чем хочу сказать, но излагать это крайне трудно.

За последнее время сам в себя вкопал в яму, в которой я все понимаю, все знаю, но выбираться не понятно как и, главное, зачем.

Конкретно.

Помните тот ролик про 7 красных линий? Так вот я не сказать, что тот самый эксперт. Я делаю скидку на человека, который ставит запрос, на сам запрос и могу принять его в работу, чтобы потом отказать с формулировкой «данная задача не решается». Почему? Потому что потом такой оверлоад всегда будет виден менеджеру. И тот рано или поздно сообразит, что его грузят ненужными задачами.

Как это коррелирует со мной? Да очень просто. Часто я оказывался, и сейчас также, в позиции Эксперт плюс Сам-себе-менеджер. Я могу справиться с проблемой. Мне нет необходимости ставить короткие небольшие указания. Я вполне могу взять на себя и решить крупную проблему. Ответственно и с гарантией. Так я работал всегда по найму. Проблем сказать «это не решит задачу», «это ошибка», «это нам не нужно», «нам необходимо вот это» в ситуации, когда я вижу булшит, для меня нет.

Я могу ответственно заявить, что со своей работы я управляюсь сам без внешнего контроллера или супервайзера. Так было всегда со мной, поэтому самостоятельность во мне выработана на все 99.99% согласно SLA :-)

Но тут начинается интересное. Также, у меня всегда присутствует начальник в работе. Куда ж без него? Без него как без кота, скучно и не интересно.

И вот этим начальникам регулярно от меня доставалась порция экспертизы. Если при строении Бывалый Начальник <> Менее опытный Подчинённый как взаимодействовать понятно, то в случае, давайте скажем так, Руководитель <> Самодостаточный Подчиненный встает вопрос — кем руководит руководитель? Вопрос не праздный, для меня. Управление получается реверсивное. Подчиненный выдает ту информацию и те заключения, которые ложатся в основу решений Начальника, и которым ему противопоставить практически нечего. В таких отношениях напрашивается наличие доверия. Тогда Подчиненный превращается в Уполномоченного представителя, действующего от имени Начальника и в его интересах. Итого, такой перекос, не несет в себе явных преимуществ, но требует работы над собой и над персональными качествами для обоих.

Вот в этой ситуации нахожусь я. Быть начальником — не означает избавление от всех проблем. Скорее наоборот, Начальник — это следующий уровень потенциальных трудностей, с которыми человек может столкнуться. С другой стороны любая неустойчивая система, а та, которая заведомо неустойчива, уж точно — всегда стремится прийти к равновесию. И к нему рано или поздно придет.

Про мошенничество при съеме жилья или несколько рецептов как не попасться на уловки мошенников

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

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

2017-01-26_00-53-54

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

Например, что касается минимальной цены, ее, как правило, видно сразу. Цена, тем не менее, конечно, может различается; для простеньких однушек за 30К допустимо колебание цены на 2-3 тысячи рублей. И вот то самое первое правило, о котором все знают и о котором всех регулярно предупреждают: мошенники, зачастую, предлагают квартиру по заниженной цене. Их цель — получить ваши отклики на объявление. Определенно, вы поедете на просмотр, куда без этого, и, определенно, на месте, качественному разводиле не составит труда навести вас на правильные мысли. И если нормальное объявление просматривает, условно скажем, 20 человек в день, то объявление вот такого недо-риэлтора могут просматривать около 80. Если они будут держать цену как у всех, то этого добиться, разумеется, будет сложнее.

И это наводит на понимание второго признака мошенничества — их объявления долго висят опубликованными с явными преимуществами, количество просмотров зашкаливает, но при этом их квартиры почему-то не сдаются. Спрашивается, что тут, черт возьми, у вас происходит? И оответ очевиден: эту квартиру даже и не собираются сдавать. Отказы риэлторов могут быть разными, мол, только вот вчера понизили цену и вы позвонили. Это все можно отправлять в булшит фильтр. Как проверить, для объявлений на Cian — смотрим вот такой вот график:

2017-01-26_00-49-50

Теперь немного погрузимся в мою историю. На глаза мне попалось объявление за 32К. Средняя цена по району была около 35К. Но могу сказать, что при этом были и разумные варианты за 32К — у одних, например, был небольшой метраж, у других — интерьер в стиле «бабушкин-вариант», у третьих — удаленное расположение от метро. Все эти факторы, несомненно, снижают стоимость аренды. Но в моем случае, метраж квартиры был 39 метров, что для однушки — больше обычного.

Я набрал по указанному в объявлении телефону, чтобы договориться о просмотре. На том конце провода меня прервали практически сразу, не дав закончить даже первый вопрос вопрос, и начали рассказывать подробно, как будто под диктовку, про состояние квартиры… про то, в квартире сейчас живет девушка, но она съезжает… Так, стоп, — подумал я. Какого хрена мне рассказывают историю, а не отвечают на мои вопросы? Все, что меня заинтересует, я обязательно спрошу.

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

— В квартире сейчас проживают?
— Ну вы мне не дали сказать! Да, проживает девушка, но она съедет, у нее что-то там по семейным обстоятельствам. Заселилась недавно, только вот начала снимать и сказала, что вынуждена съехать.

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

— Когда она съедет?
— Вот вы заедете и она сразу же переселяется к друзьям или куда там.

В тот момент меня еще не осенило послать подальше этого риэлтора.

Далее, мне говорят, что цена будет ниже на две тысячи рублей, если я сам сделаю ремонт. Какой ремонт, Карл?

— А вы потом не выселите? — типа троллю я.
— Нет, конечно. Там обои… <..>

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

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

Утром набираю…

— Скажите, а какой ремонт в квартире требуется? Я посмотрел фото, на них все хорошо.
— Вот, а вы мне не дали договорить! Нужно поклеить обои. Там жили с собакой, ободрали обои.
— Так, стойте, вы снижаете цену на 2К, чтобы я поклеил обои?
— Ну это я хозяйку уговариваю, мол Лена [например], давай цену уменьшим, пусть сами все сделают, зачем тебе кого-то нанимать.

<..>

— А документы на квартиру у вас будут?
— Конечно будут, вы позвоните собственнику, поговорите с ними по телефону?

Чё? Где тут причинно-следственная связь между сложно сочиненными предложениями?

— И договор будет?
— Да, договор.
— И залог попросите?
— Да, залог нужно будет оставить.
— Но подождите, как его оставлять, если в квартире еще проживает человек?
— Смотрите, вы въезжаете, она на следующий день освобождает квартиру.

Не въезжаю.

— Давайте так, пусть она освобождает квартиру, вы мне позвоните.

Для меня все становится на свои места. Еще мне удалось сорвать с языка этой тупой болванки, что до нее не могли дозвониться до 8 января, что хотят съехать. Но тут моя подготовка дает о себе знать, ведь я точно помню, как своими глазами, я видел, что объявление добавлено было 4 (четвертого, прописью) января.

Не вижу смысла грубить, поэтому отменяю просмотр. Говорю, что в следующий раз ничего отменять не буду, на просмотр я просто не приеду.

Множество деталей я опустил. В целом, они создают ощущение полноты истории. Я даже больше, чем уверен, что легенда шлифуется на каждом таком клиенте. Кто-то палит, рассказывает что не нравится, а говнюки улучшают свой «продукт».

С такой историей я сталкиваюсь второй раз. Для меня удивительно, что такое практикуется. У меня есть предположение, что это могут делать в сговоре или даже без ведома жильца. Например, хозяйка, желая подзаработать и имея второй комплект ключей может водить по своей заселенной квартире и сдавать её по второму кругу.

Мораль простая, еще не все жопошники вымерли, поэтому нужно быть начеку.

Подведем итог, что же мы узнали:

1) Минимальная цена относительно других предложений должна вызвать подозрения.
2) Длительность размещения объявления и статистика его показов говорят о том, насколько квартира реально хорошо уйдет за два дня, если прямо сейчас не оставить залог.
3) Никаких залогов, пока в квартире проживает человек. Жопошники легко могут заключить два договора, оба жильца даже могут оставить залог. Вопрос, с кем вы далее будете собачиться?
4) Не бояться включать задний ход и признавать, что вас пытались развести. Ай, как неприятна…
5) Мыслить логически, как Шерлок Холмс. И вести блог, как Доктор Ватсон.

Наелись Майкрософтом

Давным давно, когда мы только начинали работу над Авендой, передо мной и моим напарником встал вопрос выбора языка программирования. Первоначально я, рассматривал вариант создания решения в виде десктопного приложения, потому что считал, что могут возникнуть те или иные ограничения при работе из браузера (например, потребуется работа с внешним оборудованием и интеграция с другими программами). Но при этом есть также преимущества и для решения в виде веб-сайта (более массово с точки зрения выбора разработчиков, понятно для нас самих, кросс-браузерно, технологии непрерывно развиваются и т.п.). Мой напарник рассказал мне об SPA — Single Page Application — модном подходе в вебе, когда приложение реализуется в виде одной страницы, и где множество операций (навигация, рендеринг шаблонов и т.п.) выполняются на клиенте. Сервер же в этом случае отдает только нужные данные по запросу. На мой взгляд просто и гениально. Мы сделали ставку именно на такой подход и на такое решение.

Клиентским языком, разумеется, выбрали JavaScript и фреймворк Backbone, который практически сразу был заменен на Angular. Решение писать на Ангуларе, принятое в 2012 году было стратегически верным. А вот с серверным языком вышло все не так-то просто.

Мой напарник на тот момент знал несколько языков программирования. Его предложением было — писать на C#, поскольку это его фаворит. Я кодил на PHP и в 12-ом году у меня за плечами было уже несколько проектов. Для меня его предложение никак не шло в разрез моих интересов — в программистские дела я не хотел влезать вовсе, кроме базы данных и её архитектуры, потому что прекрасно понимал, что на все у меня не хватит времени; я хотел сосредоточиться на бизнес-задаче и интерфейсе. Для меня также был важен человек, с которым я работаю. Я искренне убежден, что у языка C# есть и преимущества, и хорошие программисты, и хорошие работодатели, и хорошие проекты. Но минусом, и в тот момент мы его озвучили, являлось то, что сервера на Windows стоят очень дорого по сравнению с Linux’овыми. Но к слову, дорого обходятся не только сервера — за те сюрпризы, которые Windows может вам преподнести, может тоже выйти лишняя копеечка.

Проект Mono, возникший по всей видимости из желания людей прекратить морочиться с Windows’ом, — это разработка для Linux, которая позволяет выполнять .NET приложения. На сколько мне известно Микромягкие тут же подали на них в суд. Чем закончился суд — увы не изучал. Знаю только, что Microsoft приобрела проект Mono, забрала его под себя, но не потопила, а заверила общественность, что даст ему развиваться. Что сейчас и происходит. На главной странице сайта так и написано: «Sponsored by Microsoft». Но на тот момент про Моно мы еще не знали.

Одной из вехой проекта стало то, что практически сразу мы подали и получили подтверждение на участие в Bizspark’е — программе от Microsoft по поддержке молодых проектов. На деле — пылесос тех проектов, кто не до конца понимает последствий сотрудничества с Microsoft, и создание таких условий для выбора, чтобы Microsoft не имела явного недостатка перед бесплатными продуктами — необходимость много и за все платить. Опять же, на тот момент — это выход из ситуации, поскольку поиск напарника в проект — задача непростая.

Первым звонком для меня стало осознание того, что проект прошел стадию эйфории, когда кажется что рынок твой, стоит только показать ему продукт. Более того, мы уже расстались с напарником и на горизонте светила перспектива расставания с другим человеком — на тот момент он в больше степени держал в себе концепцию и решение программной части проекта. Почему — по естественным причинам. Если у вас есть что-то, что приносит вам 1 миллион, станете ли вы тратить половину, треть, четверть своего рабочего времени на то, что приносит вам рубль? Соотношение может и завышено, но идея именно такая. Также у нас заканчивалась 3-хлетняя программа Bizspark, которая давала нам бесплатное ПО (любое от Microsoft) и кредит в $150 на каждого члена команды на облачные ресурсы. Так вот все это приближалось к отметке «сейчас Microsoft с нас все вернет».

Кстати, именно так все и случилось. Когда программа закончилась, Майкрософт прислал письмо об окончании программы, но лишь спустя месяцы у нас подписка перешла в платное состояние. Для меня, конечного пользователя, это крайне нелогично и запутанно — в апреле мы зарегались в Bizspark, в августе начали пользоваться Azure, спустя три года в октябре нам стали выставлять счета. Где логика — загадка. Вобщем, 19 октября Microsoft переводит нас на платную подписку, незадолго до этого у нас начинается новый отчетный период. Что усугубляет факт того, что я замечу происходящее, например просматривая списания с моей банковской карты — до списания пройдет полтора месяца. Но в день с нас списывают по 2500 рублей. Так продолжалось около 2-3 недель, пока мы это не заметили и еще около 2 недель пока мы искали решение. Оказалось, с нас списывали деньги за лицензию MSSQL Enterprise, которая стоит порядка $1000 в месяц. При этом по программе Bizspark нам полагалась одна такая лицензия бесплатно! Но, блин Карл! Я нашел телефон менеджера, который года 2 назад манил меня в акселерационную программу Microsoft, через него я вышел на кого-то из сотрудников нуженого мне отдела и узнал, нужно было заполнить какую-то информацию в профиле, просто заполнить, и лицензия была бы бесплатна! Чуть-чуть бюрократии и все будет! Таков Майкрософт. Принимаем и живем дальше. В тот момент я решаю, что надо выбрать любую другую технологию базы данных.

В конце месяца нам выставили счет на 90 000 рублей. Ситуацию удалось немного выправить. Пока мы разбирались с тех поддержкой откуда у нас такие списания, я привел свое видение ситуации и свои аргументы в пользу того, что списания навязаны нам. Мы не получали уведомлений накануне. Мы не нуждаемся в лицензии Enterprise. Майкрософт нашу позицию принял и скостил нам 65 000 рублей — выпилил все расходы по «аренде» лицензии Enterprise. За что им спасибо, точнее тому самому индусу, с которым мы общались. В Российском офисе сотрудники на нас забили и перестали отвечать практически сразу. Взаимно, вы нам тоже не особо в будущем нужны.

Была еще одна история. Примерно год назад я обратил внимание, что наше API пользовательской части сайта (авторизация, регистрация, бронирование и т.п.), немного говоря, странное. И я захотел его переделать — сделать проще и стандартизировать подход. Как оказалась, API у нас не настолько громоздкое. И его переработка заняла у нас несколько месяцев. То же самое я рассчитываю сделать и для бэк-офиса. Одна из причин такого рефакторинга — мы начинали разрабатывать iOS приложение в 2016 году и как выяснилось, для него в любом случае требовалось модифицировать или переписывать ряд API методов. Что вообще означало, что можно было начать писать все то же самое с нуля на другом языке программирования. Эту часть всего бэк-энда можно было сделать независимой и запустить, например, на поддомене api.avenda.ru вообще на отдельном сервере. Еще раз я осознал, что мы не сильно зависим от текущих технологий на бэк-энде.

Сейчас с нас списывают по 10-20 тыс. рублей в месяц за Azure. Одну из проблем мы решили — базу перевели в облачный сервер вместо развертывания своего сервера MSSQL. База нам обходится по 1000 р в месяц. Но сервера на Azure, которые нас устраивают, обходятся в 8000 р. При этом у меня есть мой личный сервер для проектов на PHP, за который я плачу 9000 р в год с производительностью немного ниже Ажуровского сервера.

Я вполне серьезно задумался, а что должно быть «решением» наших сложившихся проблем? Мне нужно научиться разбираться в технологиях Azure? Пойти на курсы? Каково должно быть стратегическое решение, которое позволит нам спокойно делать бизнес, а не топтаться на месте? И ответ напрашивается сам собой — нужно решение, которое работает на Linux, чтобы не связываться с Windows-серверами навсегда.

В конце 2015 года я искал ответ на вопрос «как перевести приложение на другой язык программирования». Мне посчастливилось случайно познакомиться (уже даже не помню как) с человеком из Яндекса и проконсультироваться у него на предмет того, какие технологии использует Я, как он видит перспективы развития языков и что думает об Окнах. Насчет последнего, я не сомневался, человек администрирующий сервера, без насилия не станет любить Windows. Вобщем, его ответ был таким, что и Pyton, и PHP не настолько страшны, как их шарписты малюют. Если я смотрю в сторону Linux, это хороший выбор.

Для меня показателем успешности языка является то, какие топовые компании его выбрали. Facebook и VK, Twitter, Инстаграм, Google, Яндекс. И мне становится понятным какими технологиями реально владеют крутейшие умы планеты. И где Windows в этой пищевой цепи. И почему аргумент «C# идеален для корпоративных систем» — не работает. C# хорошо проник в университеты, где ему обучают и где Майкрософт предлагает бесплатные продукты для студентов. Почему, Карл? Да вы подумайте. Этот как 3 года бесплатных ресурсов Ажуры и один месяц, который год кормит.

Короче, я поставил ультиматум нашим девелоперам, либо 19 февраля мы запускаемся в продакшене не на Майкрософте, либо я ищу людей, которые перепишут бэк-эенд на другой язык программирования. Ждем. Всем попкорна…

«За» Microsoft:

  • Все итак работает.
  • Изменения — это стресс, а если оставить все как есть, то людям не нужно будет подстраиваться.
  • Потеря времени.
  • «Microsoft много сейчас делает для .NET».

«Против» Microsoft:

  • Мне не нравится компания Microsoft и я не верю в её будушее.
  • Дорого и нерентабельно для бизнеса.
  • Лучшие умы планеты используют и развивают другие технологии.